彻底搞懂VOC/YOLO标注格式《补充》

引言:在深度学习中,标注格式占据了半壁江山,没有这些标注,深度学习就是盲人摸象(只针对有监督学习哦!!!),就像是深度学习网络的先验知识,或者说是‘考试时,老师画的重点’。在很长一段时间处于迷茫状态,像个无头苍蝇到处乱飞,到处学习,没有进行系统性的学习,今天索性再学习一下题目的内容吧!!!
1.YOLO与VOC标注格式间的关系。 1》首先看一下YOLO标注格式(一般为一个txt文本文件,里面存放着一些数字,小琼表示:看不懂) YOLO标注格式 <annotation> <folder>video_pic</folder> <filename>1111.png</filename> <path>D:pic1111.png</path> <source> <database>Unknown</database> </source> <size> <width>438</width> <height>655</height> <depth>3</depth> </size> <segmented>0</segmented> <object> <name>bottle</name> <pose>Unspecified</pose> <truncated>0</truncated> <difficult>0</difficult> <bndbox> <xmin>233</xmin> <ymin>176</ymin> <xmax>414</xmax> <ymax>467</ymax> </bndbox> </object> <object> <name>dog_head</name> <pose>Unspecified</pose> <truncated>0</truncated> <difficult>0</difficult> <bndbox> <xmin>55</xmin> <ymin>72</ymin> <xmax>242</xmax> <ymax>210</ymax> </bndbox> </object> <object> <name>dog_body</name> <pose>Unspecified</pose> <truncated>0</truncated> <difficult>0</difficult> <bndbox> <xmin>29</xmin> <ymin>209</ymin> <xmax>267</xmax> <ymax>644</ymax> </bndbox> </object> </annotation> VOC数据集标注格式 2》YOLO标注格式讲解: 每行总共有5个数字,总共有四行。 2.1》首先是第一列数字,表示的是类别标签,在此处0-2,总共有3类(bottle-0dog_head-1dog_body-2),也就是这张图片包含三类数据。(每一行对应一类的标签) 2.2》每一行的后四个数字代表的是一个矩形框(x,y,w,h)(x,y)代表矩形的中心坐标,(w,h)代表矩形的宽度和高度,(这里的坐标值都是经过归一化处理的,什么意思?就是在原图像上的坐标值都经过除以长宽后得到的,还是不懂,举个例子!!) 由上面的VOC标注数据格式可以知道狗头的标注位置为(55,72,242,210)次坐标表示的是狗头的 左上角的坐标(2处)与右下角 3,两个点的坐标: <name>dog_head</name> <pose>Unspecified</pose> <truncated>0</truncated> <difficult>0</difficult> <bndbox> <xmin>55</xmin> <ymin>72</ymin> <xmax>242</xmax> <ymax>210</ymax> 然而在YOLO数据集中的表示我们可以通过下面计算得到: 中心点1坐标:x=(xmin+xmax)/2 / 438 =0.339041095890411; y=(ymin+ymax)/2/ 655=0.2152671755725191 txt文件标注为: 1 0.339041 0.215267 0.426941 0.210687 (惊呆了,一模一样!!!)同理宽度和长度一样,只不过都除以一个宽和高 #
N.结束: GAME OVER 欢迎和小伙伴梦一起学习,共同努力,加油!!!
经验分享 程序员 微信小程序 职场和发展