数据采集、清洗与标注 课件 第6章数据清洗任务实施_第1页
数据采集、清洗与标注 课件 第6章数据清洗任务实施_第2页
数据采集、清洗与标注 课件 第6章数据清洗任务实施_第3页
数据采集、清洗与标注 课件 第6章数据清洗任务实施_第4页
数据采集、清洗与标注 课件 第6章数据清洗任务实施_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第6章数据清洗任务实施[]目录[]CONTENTS

01文本数据清洗

02图像数据清洗

03视频数据清洗

04语音数据清洗

01文本数据清洗在第5章我们已经知道,数据清洗是确保数据质量的关键步骤,是数据处理全过程中的关键一环。数据清洗的任务就是要提高数据的准确性、一致性和完整性,从而确保后续分析的有效性。本章内容将立足这个目标,围绕文本、图像、视频和语音四种文件类型,通过具体实例展开,详细介绍针对各种文件类型实施清洗任务时的相关概念、常用工具,以及技术技能等。通过本章的学习,读者将能够:理解不同文件类型数据清洗的基本概念,掌握其基本流程和步骤。识别常见数据清洗对象,如数据集中存在的缺失值、异常值、重复数据和不一致性等问题。掌握文本数据、图像数据、视频数据和语音数据的清洗技术和常用工具。独立完成数据清洗的整个流程。具备解决实际项目中“脏”数据的能力数据清洗是一个迭代的过程。读者要根据应用场景的不同,灵活运用各种技术手段进行数据清洗,在此过程中,不断培养和提升敏锐的数据质量意识。

01文本数据清洗6.1文本数据清洗【任务描述】小张在第5章学习了数据清洗的有关知识后,敏锐地意识到通过不同渠道采集到的数据存在着不少问题,在使用这些数据进行分析之前,必须做适当清洗。在本章,他准备针对四种数据开展清洗工作。首先是文本数据清洗,他将学习如何使用Python相关库和OpenRefine工具完成任务,以达成以下能力:能描述结构化和非结构化文本数据存在的问题。能熟练使用Python库进行文本数据清洗。能熟练使用OpenRefine工具进行文本数据清洗。

01文本数据清洗【任务实施】6.1.1理清文本清洗的相关概念文本清洗是指将文本数据中不符合要求的数据清洗掉,以提高文本数据的质量。这些不符合要求的数据通常被称为“脏”数据,其产生的原因可依据数据来源细分为很多种类型;针对不同类型的脏数据,其清洗方法又可分为基于模式层和基于实例层两种。1.“脏”数据产生的原因

(1)单源数据缺少完整性约束:数据不在约束范围内。唯一性冲突:两个不同记录的主键重复。参照完整性冲突:超出设定的值范围,没有相应的对象数据。拼写错误:数据输入错误、数据传输过程中发生的错误。重复/冗余记录:现实中的同一个实体在数据集合中用多条不完全相同的记录来表示,由于它们在格式、拼写上的差异,导致数据库管理系统不能正确识别;或者未做规范化处理。空值:字段空值设计不合理,或者用户不愿意填写。数据失效:原有数据经过一段时间后变成无效数据。噪声数据:由于采集设备异常,造成接收的数据取值不合理。

01文本数据清洗(2)多源数据命名冲突:同一实体在不同的来源中存在不同的名称结构冲突:属性类型不一致、一个代码有不一致的含义、相同的意义不同的代码,格式不同。时间不一致:不同时间层次上的数据在同一层次进行比较与计算。粒度不一致:不同层次上的数据在同一层次进行比较与计算。数据重复:相同的数据在合并后的数据库中出现两次及以上。2.清洗方法

(1)模式层属性约束:人工干预法和函数依赖法。避免冲突:数据重构,元数据方法。(2)实例层拼写错误:拼写检查器来检错和纠错。重复/冗余记录:基于字段和基于记录的重复检测后删除重复值。空值:忽略元组,人工填写空缺值,使用一个全局变量填充空缺值,使用属性的中心度量(均值、中位数等),复杂的概率统计函数值填充空缺值。数据不一致:指定简单的转换规则,使用领域特有的知识(如,邮政地址)对数据作清洁。噪声数据:分箱(Binning)法、回归(regression)法、计算机和人工检查相结合处理、使用简单规则库检测和修正错误、使用不同属性间的约束检测和修正错误、使用外部数据源检测和修正错误。

01文本数据清洗6.1.2熟悉文本清洗工具

目前,文本数据清洗工具有许多,例如基于Re、Numpy、Pandas等的Python工具包可通过编写程序进行数据清洗;第5章介绍的基于ETL技术的清洗工具可通过可视化界面方便完成清洗工作;还有一些以SmartBI为代表的具有综合分析功能的大型软件等。下面介绍前两种工具。1.Python工具包

(1)Re:Re(Regularexpression)通常称之为“正则表达式”,是Python处理文本的一个标准库,主要用于根据一个定义好的“规则字符串”,在一个目标字符串中进行查找、替换、截取等操作。Re的基本语法是re.F(pattern,string[,string],flags),其中F表示re库的函数,如search()、match()、findall()、split()、sub()、finditer()等;pattern表示定义的正则表达式;string表示待查找(或替换)的字符串;flags表示正则表达式使用时的控制标记,如re.I、re.M、re.S等。2.OpenRefine工具 OpenRefine(前身为GoogleRefine)是一款功能强大的开源数据处理工具,专为数据清洗、转换和探索而设计。它以其直观的用户界面和强大的数据处理能力,在数据预处理和分析领域得到了广泛应用。

01文本数据清洗6.1.3掌握文本清洗方法【实例6-4】使用Python工具包清洗文本数据集MotorcycleData.csv。【实例6-5】利用OpenRefine清洗文本数据realEstate_trans_dirty.csv。

02图像数据清洗6.2图像数据清洗【任务描述】

图像清洗是图像处理和计算机视觉任务中的一个重要步骤。低质的图像会降低图像标注的精度,进而在很大程度上拉低目标检测、跟踪等AI模型的性能。小张认为在图像标注前,对数据集中不可读的图像文件、模糊的图像、相似重复的图像,以及发生畸变的图像进行清洗很有必要。因此,在本节,他将学习如何使用Python库以及OpenCV工具,对图像进行清洗,以达成以下能力:能描述图像数据的常见问题。熟悉视频数据清洗的一般步骤。会使用相关工具清洗图像数据。

02图像数据清洗【任务实施】6.2.1理清图像清洗的相关概念

图像清洗是指处理图像数据中的各种问题,以提高图像数据的质量。它对于提高图像识别、分类、检测和跟踪的准确性至关重要。下面先介绍图像数据的常见问题有哪些?再讨论有哪些针对性的方法解决这些问题。1.影响图像质量的问题

影响图像质量的问题多种多样,这些问题可能会导致图像中的信息丢失或失真,进而影响图像处理和分析的准确性。

(1)光照不均匀:光照强度的变化会影响图像的亮度和对比度。例如,一张室内拍摄的照片,窗户一侧光线明亮,而远离窗户的部分则显得暗淡。(2)阴影:阴影会使图像的某些区域变暗,造成信息损失。例如,室外拍摄的照片中,树木或建筑物的阴影遮挡了一部分物体。(3)噪点:图像中出现的随机像素点,可能是由于传感器灵敏度不足或信号干扰造成的。例如,低光条件下拍摄的照片会出现颗粒状的噪点。(4)模糊:由于相机抖动、聚焦不准或运动等原因导致图像边界不清晰。例如,手持相机拍摄移动物体时,由于相机抖动而导致的模糊图像。(5)色彩失真:图像的颜色与真实颜色不符,可能是由于白平衡设置不当或光源色温不同造成的。例如,室内白炽灯下拍摄的照片呈现出黄色调。

02图像数据清洗(6)畸变:镜头畸变会使图像的几何形状发生扭曲。例如,广角镜头拍摄的照片中,画面边缘的物体看起来被拉伸变形。(7)曝光不足或过度曝光:曝光不足导致图像太暗,而过度曝光则会导致图像过亮,细节丢失。例如。逆光拍摄的照片中,背景过亮而主体过暗。(8)对比度过低:图像的明暗对比不明显,使得图像看起来平淡无奇。例如,阴天拍摄的照片,天空和地面的对比度较低。(9)图像压缩伪影:图像经过压缩后出现的块状或模糊效果。例如,JPEG格式的图像在高压缩比下出现的块状伪影。(10)图像配准问题:多张图像之间的位置不匹配,这在多视图融合或多模态图像配准时尤为重要。例如,红外图像与可见光图像在叠加时位置不准确。

02图像数据清洗2.解决图像质量问题的方法

针对不同的图像质量问题,可以采用不同的方法来解决或减轻这些问题的影响。必须提醒的是:每种方法都有其适用场景和技术限制,实际应用时可能需要结合多种技术才能达到比较好的效果。(1)调整图像分辨率上采样:通过插值法,增大图像分辨率。下采样:通过均值、最大值和最近邻等下采样方法,减少图像分辨率。(2)调整色彩空间色彩空间转换:将图像从一种色彩空间转换到另一种色彩空间,例如从RGB转换到灰度图像。归一化:调整图像的像素值范围,使之适应模型的要求。(3)去噪高斯滤波:使用高斯核平滑图像,减少图像中的噪点。中值滤波:通过中值滤波器去除图像中的盐椒噪声。(4)图像增强对比度增强:增加图像的对比度,使细节更加清晰。锐化:增强图像的边缘,使图像更加清晰。(5)图像分割阈值分割:通过设定阈值将图像分为前景和背景。区域生长:基于种子点,通过像素间的相似性将图像分割成多个区域。(6)特征提取:边缘检测:使用Sobel或Canny算子检测图像中的边缘。角点检测:识别图像中的角点,如Harris角点检测或Shi-Tomasi角点检测。

02图像数据清洗6.2.2熟悉图像清洗工具

机器学习模型的质量取决于用于训练的数据的质量,但是手动识别大型数据集中所有的低质量数据是非常困难的。我们可以利用Python库,通过编程来自动清洗图像数据集。此外还可以通过专门的清洗软件,如CleanVision,帮助我们自动识别隐藏在图像数据集中的各种常见类型的数据问题。1.OpenCV OpenCV是一个开源的计算机视觉库,提供了丰富的图像处理功能,支持多种图像处理操作,如图像变换、滤波、特征检测等。2.PIL(PythonImagingLibrary)Pillow是PIL的一个分支,是一个用于处理图像的Python库,支持多种图像格式,提供了丰富的图像处理功能,如裁剪、旋转、滤镜等。3.Scikit-imageScikit-image是一个基于NumPy的图像处理库,提供了高级的图像处理功能,支持广泛的图像处理算法,能与NumPy和SciPy紧密集成,适用于科研和工程应用。4.CleanVisionCleanVision是一个简单易用的数据清洗工具包,专注于检查图像数据集中的常见问题,例如模糊、重复、曝光过度或不足等。

02图像数据清洗6.2.3掌握图像清洗方法

【实例6-10】先使用Python工具包清洗图像数据集,再用CleanVision工具对清洗后的数据集进行检验。需清洗的图像数据集如图6-32所示。

03视频数据清洗6.3视频数据清洗【任务描述】

随着计算机视觉技术的发展,视频数据在智能监控、自动驾驶、娱乐媒体等领域扮演着越来越重要的角色。然而,视频数据往往伴随着复杂多变的环境因素和硬件限制,这使得视频数据的清洗成为一项具有挑战性的任务。小张在顺利完成图像数据清洗任务后信心大增,毅然决然地要挑战视频清洗的任务,希望达成以下能力:能描述视频数据常见的问题。熟悉视频数据清洗的一般步骤。会使用相关工具清洗视频数据

03视频数据清洗【任务实施】6.3.1理清视频清洗的相关概念

视频清洗是指在视频数据处理过程中,对视频文件进行优化、修复或整理的一系列操作,以提升视频数据的整体质量或满足特定的使用需求。这个过程可能包括转换视频格式、调整视频码率、去除水印、删除异常帧、重复帧或无效内容等。视频数据清洗有助于提高模型训练效率、改进模型准确性以及降低存储成本。清洗后的数据能够更好地满足机器学习算法的需求,从而提高预测性能。下面先介绍视频数据的特点和常见的问题,再介绍视频数据清洗的一般步骤。1.视频数据的特点

在本书的2.4节,我们已经了解了视频文件的常见格式及其编码,知道视频数据是由一系列连续的图像帧组成的,每帧图像代表了视频的一个瞬间。视频数据的主要特点包括:(1)分辨率:分辨率决定了视频图像的清晰度。(2)帧率:帧率影响视频的流畅度。(3)视频格式:常见的视频格式包括MP4、AVI、MOV等。(4)视频编码:视频通常采用不同的编码标准进行压缩,如H.264、H.265等。

03视频数据清洗2.视频数据常见问题

视频数据在采集过程中,由于人为因素和设备原因,会出现许多问题,例如:

(1)噪声:包括压缩噪声、运动模糊、光照变化等。(2)不一致的数据质量:不同摄像机记录的视频可能在分辨率、色彩饱和度等方面存在差异。(3)异常帧:由于设备故障等原因导致的黑屏或静止画面。(4)无关内容:视频中包含不需要的信息或场景。(5)隐私保护:视频中可能包含个人隐私信息,需要进行适当的处理。3.视频数据清洗步骤

针对视频数据常见的问题,可以采集以下步骤进行清洗:(1)预处理转换格式:确保所有视频都使用相同的编码和格式。帧率标准化:统一所有视频的帧率。尺寸调整:将视频调整到统一的分辨率。(2)质量检查去除噪声:使用滤波器减少噪声。剔除异常帧:检测并移除连续重复帧或完全黑暗/过亮的帧。(3)内容筛选移除无关内容:例如,如果目标是检测行人,则去除没有行人的视频片段。数据平衡:确保不同类别的样本数量均衡。(4)隐私保护脱敏处理:对人脸等敏感信息进行遮挡或模糊处理

03视频数据清洗6.3.2熟悉视频清洗工具视频清洗的工具多种多样,包括Python的视频处理库、专业的视频编辑软件、在线视频处理平台等。以下是一些常见的视频清洗工具及其功能特点:1.Python视频处理库 Python在视频处理领域拥有多个强大的库,这些库提供了丰富的功能和灵活的工具,帮助开发者高效地处理视频数据。以下是一些常用的Python视频处理库:(1)OpenCV(OpenSourceComputerVisionLibrary)OpenCV是一个非常流行的开源计算机视觉库,支持多种编程语言,但其Python接口尤其受到欢迎。(2)MoviePyMoviePy是一个用于视频剪辑的纯Python模块,易于使用且功能强大。(3)FFmpegFFmpeg是一套能够录制、转换以及流化音视频的跨平台解决方案。它包含了一系列的工具和库,可以用来处理音视频数据,包括编码、解码、转码、分割、合并等。FFmpeg本身是一个命令行工具,但也可以通过其提供的库(如libavformat、libavcodec等)在程序中使用。

03视频数据清洗【实例6-11】利用OpenCV显示视频文件video.mp4的每一帧图像。【实例6-12】利用MoviePy对视频文件video.mp4进行裁剪。【实例6-13】利用ffmpeg抽取视频文件中的音频、截取视频片段。【实例6-14】利用MoviePy获取数据集中视频文件的时长、大小、帧率、总帧数。【实例6-15】利用MoviePy将数据集中的视频文件转为mp4格式。【实例6-16】利用MoviePy将数据集中的视频文件的帧率统一成30帧,大小为800x600。【实例6-17】利用MoviePy去除数据集中某指定视频文件(video2.mp4)中的噪声。【实例6-18】利用MoviePy移除数据集中某指定视频文件(video2.mp4)中的重复帧或完全黑暗/过亮的帧。

04语音数据清洗6.4语音数据清洗【任务描述】

在数字化转型与人工智能高速发展的今天,语音数据作为人机交互的关键媒介,在智能客服、语音助手、智能家居等多个领域展现出了巨大的潜力。然而,与视频数据类似,语音数据同样面临着来自复杂环境、录音设备差异及人为干扰等多种因素带来的挑战,这些都直接影响了语音处理系统的性能和准确性。因此,语音数据的清洗工作变得至关重要。基于小张在图像数据清洗方面积累的宝贵经验及展现出的进取精神,公司希望其再接再厉,继续承担起“语音数据清洗”的任务,达成以下能力:能描述语音数据常见的问题。熟悉语音数据清洗的一般步骤。会使用相关工具清洗语音数据。

04语音数据清洗【任务实施】6.4.1理清语音清洗的相关概念

语音清洗是指对收集到的语音数据进行预处理的过程,旨在去除或修正其中的噪音、杂音、冗余信息、识别错误等,以提高语音数据的质量和可用性,为后续的语音识别、语音合成、声纹识别等应用提供高质量的数据支持。下面先介绍语音数据的特点和常见的问题,再介绍语音数据清洗的一般步骤。1.语音数据的特点

在本书的2.5节,我们已经了解了语音文件的常见格式及其编码,认识到语音数据具有多个鲜明的特点,这些特点在语音处理、识别、合成等应用中起着关键作用。

(1)时间序列性质连续性:语音信号是一种随时间连续变化的信号。非平稳性:语音信号的统计特性随时间而变化,例如音素、音节、单词的持续时间不固定。(2)频谱特征频谱形状:语音信号在频域内有不同的频谱形状,这些形状与不同的发音器官状态有关。基频:对应于声带振动频率,通常用于区分浊音和清音。共振峰:语音信号中的共振峰(formants)表示的是声道的自然频率,反映了不同的元音和辅音的特性。

04语音数据清洗(3)音素和音节结构音素:语音的基本单位,可以分为元音和辅音两大类。音节:由一个或多个音素组成的语音单位,通常包括一个中心的元音和围绕它的辅音。词:由一个或多个音节组成,是语音中最基本的意义单位。(4)发音变体方言:不同地区的人们在发音上的差异。口音:个人发音习惯的不同,可以反映说话者的地域、文化和教育背景。语速:说话的速度,不同人或不同情境下语速会有所不同。重音模式:不同语言中重音放置的位置不同,甚至同一语言中也可能存在不同的重音模式。(5)非言语成分停顿:说话过程中自然的停顿,可以用来分隔句子或表达意义。语调:说话时的音高变化,用于表达疑问、惊讶等情感或语气。噪音:背景噪音、呼吸声、咳嗽声等,这些都会影响语音的质量和理解。(6)个人特征性别:男性和女性的声音通常在音高、强度等方面存在差异。年龄:不同年龄段的人在语音上有明显的区别。情感:情绪状态会影响说话人的音高、音量和语速等。

04语音数据清洗2.语音数据常见问题

与视频数据类似,语音数据同样面临着来自复杂环境、录音设备差异及人为干扰等多种因素带来的挑战,这些都直接影响了语音数据的采集质量。

(1)噪音干扰:包括背景噪音(如风声、车辆声)、设备噪音(如电流声、麦克风杂音)等。(2)语音识别误差:如语音识别软件将特定语音误识别为其他内容,导致数据失真。信号中断与丢失:录音过程中可能出现的信号不稳定、中断或部分数据丢失问题。(3)音频格式不一致:不同来源的语音数据可能采用不同的编码格式和采样率,影响后续处理。(4)语音质量差异:由录音设备质量、录音环境差异导致的音质不一致。(5)通道失真:录音设备的硬件问题导致的信号失真,如增益不匹配、相位偏移等。

04语音数据清洗3.语音数据清洗步骤

针对语音数据常见的问题,可以采集以下步骤进行清洗:(1)数据预处理统一格式:将所有音频文件转换为统一的格式,如WAV。标准化采样率:将所有音频文件的采样率标准化,如16kHz。量化位数:确保所有音频文件的量化位数相同,如16位。通道数:处理单声道或多声道问题,如将立体声转换为单声道。(2)去除噪声背景噪声:使用降噪算法去除背景噪声,如谱减法、深度学习模型等。通道失真:校正由录音设备引起的失真,如增益不匹配、相位偏移等。(3)语音活动检测(VAD)去除静默段:识别并去除长时间的静默段,提高数据的有效利用率。分割语音段:将音频分成含有语音的片段,去除非语音部分。异常值处理:识别并剔除异常或无效的语音数据片段。(4)文本转录验证手动校对:对照原始音频文件,校对文本转录的准确性。自动校对:使用自动语音识别(ASR)系统初步校正,随后人工审核。(5)数据质量评估信噪比(SNR):测量语音数据的清晰度。音频质量:确保音频文件的总体质量符合要求。

04语音数据清洗6.4.2熟悉语音清洗工具

在处理语音数据时,有许多Python库和工具可以帮助清洗语音数据。下面是一些常用的库和工具:1.Python音频处理库(1)LibrosaLibrosa是一个强大的音频信号处理库,主要功能有:音频特征

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论