当前位置:
文档之家› 《视频图像技术原理与案例》第8章 视频图像数据预处理——数据增强与标注
《视频图像技术原理与案例》第8章 视频图像数据预处理——数据增强与标注
2020/12/12
8
8.4.1 常用图像预处理方法
随机比例缩放
图8-2 随机比例缩放
imgResize = transforms.Resize((300, 600)(imgOriginal) # 进行比例缩放 print(f'{imgOriginal.size}---->{imgResize.size}') # 输出图像缩放前后的大小 imgResize.show()
2020/12/12
9
8.4.1 常用图像预处理方法
随机位置裁剪
图8-3(a) 随机位置裁剪
图8-3(b) 中心位置裁剪
imgRandomCrop = transforms.RandomCrop(400)(imgOriginal) # 裁剪出200*200的区域 imgCenterCrop = transforms.CenterCrop(400)(imgOriginal)
2020/12/12
(参考实验文档)
19
8.5.1编写代码实现对图像的批量处理
(1)在GitHub上下载工具(https:///zssjh/KITTI-yolov2-tiny); (2)对图片进行预处理; (3)导出预处理后的图片。
2020/12/12
20
8.5.2 使用VGG Image Annotator (VIA)对图像进行标注
第8章 视频图像数据的预处理 ——数据增强与标注
目录
8.1 学习目的
8.2 实践内容
8.3 准备材料 8.4 预备知识 8.5 实施步骤
2020/12/12
2
8.1 学习目的
(1)了解常用图像预处理方法; (2)掌握常用的图像标注工具。
2020/12/12Biblioteka 38.2 实践内容
(1)编程实现图像数据的批量预处理; (2)对图片进行批量在线标注,导出标注文件。
2020/12/12
4
8.3 准备材料
准备材料 待处理的图片 待标注的图片
计算机
数量(单位) 1批 1批 1台
2020/12/12
5
8.4 预备知识
8.4.1 常用图像预处理方法 8.4.2 图像标注工具VGG Image Annotator (VIA)使用教程
2020/12/12
6
8.4.1 常用图像预处理方法
色度、亮度、 饱和度、对比
度的变化
图8-6 对比度的变化
imgHue = transforms.ColorJitter(hue=0.5)(imgOriginal) # 色度 imgBrightness = transforms.ColorJitter(brightness=1)(imgOriginal) # 亮度 imgSaturation = transforms.ColorJitter(saturation=0.5)(imgOriginal) # 饱和度 imgContrast = transforms.ColorJitter(contrast=0.5)(imgOriginal) # 对比度 imgContrast.show()
imgHorizontalFlip = transforms.RandomHorizontalFlip(p=1)(imgOriginal) # p表示概率,水平翻转 imgVerticalFlip = transforms.RandomVerticalFlip(p=1)(imgOriginal) # 垂直翻转 imgHorizontalFlip.show() imgVerticalFlip.show()
15
8.4.1 常用图像预处理方法
生成 PiPeLine
data_transform={'train':pose([ transforms.RandomHorizontalFlip(), transforms.Resize(image_size), transforms.CenterCrop(image_size), transforms.ToTensor(), transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225]) ]),
图 8-9 VIA-version2 Source:/~vgg/software/via/
2020/12/12
17
8.4.2 图像标注工具VGG Image Annotator (VIA)使用教程
添加图片
定义 Attributes
标注
导出 标注文件
2020/12/12
13
8.4.1 常用图像预处理方法
色度、亮度、 饱和度、对比
度的变化
图8-7 图片灰度化
imgGray = transforms.RandomGrayscale(p=1)(imgOriginal) # 以1的概率进行灰度化 imgGray.show()
2020/12/12
14
8.4.1 常用图像预处理方法
图 8-15 添加图片 2020/12/12
图 8-16 Attributes定义
图 8-20 Toggle attributes editor
图 8-23 导出标注文件
18
8.5 实验步骤
8.5.1 编写代码实现对图像的批量处理 8.5.2 使用VGG Image Annotator (VIA)对图像进行标注
imgCenterCrop.save(pictureFile+ '图8-3(b).jpg') imgRandomCrop.show() imgCenterCrop.show()
2020/12/12
10
8.4.1 常用图像预处理方法
随机 水平/垂直翻转
图8-4(a) 随机水平翻转
图8-4(b) 随机垂直翻转
2020/12/12
11
8.4.1 常用图像预处理方法
随机角度旋转
图8-5 随机角度旋转
imgRotation = transforms.RandomRotation(45)(imgOriginal) #随机旋转45度 imgRotation.show()
2020/12/12
12
8.4.1 常用图像预处理方法
扩充
图8-8 将原始图padding成正方形
imgPad = transforms.Pad((0, (imgOriginal.size[0]-imgOriginal.size[1])//2))(imgOriginal) # 原图的宽和 长为(646,1200) imgPad.show())
2020/12/12
(1) 批量读入图片数据; (2) 对图片按照要求进行标注; (3) 导出不同格式标注文件,对比标注信息。
2020/12/12
21
谢谢!
(在上面输入你自己的创意标志行)
读取图片
随机 比例缩放
随机 位置裁剪
随机水平/ 垂直翻转
随机
色度、亮度、
饱和度、对
灰度化
扩充
角度旋转
比度变化
生成 PiPeLine
2020/12/12
7
8.4.1 常用图像预处理方法
读取图片
图8-1 读取图片
imgOriginal = Image.open('中山大学校训.png') # 打开图片 imgOriginal.show()
2020/12/12
16
8.4.2 图像标注工具VGG Image Annotator (VIA)使用教程
VGG Image Annotator (VIA)是一款开源的图像标注工具,由Visual Geometry Group开发。可以在线和离线使用,可标注矩形、圆、椭圆、 多边形、点和线。标注完成后,可以导出为csv和json文件格式。