1. mosaic 介绍
YOLOv5(You Only Look Once version 5)是一种目标检测算法,它在图像中检测和定位物体,同时识别物体的类别。YOLOv5中的 "Mosaic" 函数是一种数据增强技术,用于增强模型的训练数据。它的主要目的是将多个图像合并成一个大图像,然后将这个大图像用于训练。这有助于模型更好地理解不同物体之间的相对位置和背景信息,从而提高检测性能。
"Mosaic"数据增强有助于提高模型的鲁棒性,因为它要求模型能够处理不同物体之间的交叠和背景信息。这种数据增强技术通常用于YOLO系列中的目标检测任务,以改善模型的性能和泛化能力。
2. 原理步骤
图1. Mosaic 算法原理图
1. 随机选择四张不同的图像,将图像的长边 resize 成640,并保持图像比例不变。
2. 生成一张1280*1280的大图,在大图中随机生成中心点。
3. 基于大图中的中心点,将四张图像拼接在一起。
4. 数据增强:对拼接的图像进行 M 矩阵变换 M=T@S@R@P@C (augmentations 源码内容)。
5. 基于大图左上角裁剪 640 * 640 的区域出来。
6. 标签的变换: 从每张独立图像的标签坐标,转变为基于大图的标签坐标,再经过 M 矩阵变换后得到最终的坐标;在第 5 步裁剪 640 * 640 区域后,超过该区域的坐标进行限制,越界了就截断。
7. 最后,将合成的 640 * 640 图像和相应的标签框用于模型的训练。