第十二篇—HSV数据增强(YOLOv5专题) 焦点热门

哔哩哔哩   2023-05-06 21:56:31

对于HSV色彩空间:H表示Hue(色调),S表示Saturation(饱和度),V表示Value(亮度);

H(色调)取值范围为0~180,0表示红色,如果H超过180,则会从红色重新开始循环;


【资料图】

S(饱和度)取值范围为0~255,0表示颜色最浅,255表示颜色最深;

V(亮度)取值范围为0~255,0表示最暗,255表示最亮;

如下图:

通过CV2.cvtColor()函数实现将图片从BGR色彩空间转换到HSV色彩空间,代码实现如下:

YOLOv5通过augment_hsv()函数实现对640*640*3的图片数据增强,不需要对标签坐标进行调整,代码实现如下:

完整版代码实现如下:

结果如下:

最后,YOLOv5对640*640*3的图片进行随机上下翻转和随机左右翻转。当随机上下翻转时,需要调整标签的Y轴坐标;当随机左右翻转时,需要调整标签的X轴坐标。我们先将标签从(x1,y1,x2,y2)转换成(x,y,w,h)的格式,并进行归一化,完成标签格式转换后,再对标签坐标进行调整,注意使用np.flipud()和np.fliplr()函数后,需要将内存不连续存储的图像转换为内存连续存储的图像,代码实现如下:

标签(x1,y1,x2,y2)转为(x,y,w,h)格式,代码如下:

完整版代码实现如下:

结果如下:

猜你喜欢

[ 最近更新 ]