![2fcee24b699a699d7b42ad346a3bcd78.png](https://i-blog.csdnimg.cn/blog_migrate/0b333a971b646c8390eb137fa348952a.jpeg)
水果识别 | SDU.LIN
- 水果识别-搭建框架 | SDU.LIN
- 水果识别-数据集制作 | SDU.LIN
- 水果识别-训练 | SDU.LIN
- 水果识别-测试 | SDU.LIN
数据集制作包括:
1. 图片获取
2. 图片标注
3. 处理成VOC数据集格式
1. 图片获取
因为需要很多的照片,所以为了效率也为了不把快门按到手软,于是先拍个视频然后把视频转化成图片。用ffmpeg工具。
安装ffmpeg工具
sudo apt install ffmpeg
将视频转成图片
ffmpeg -i ./test/video.mp4 -r 10 -f image2 ./destination/%05d.jpg
./test/video.mp4
表示要转化的视频
10
表示每秒保存10帧
./destination
表示转的的图片存储目录
%05d.jpg
图片命名规则,表示5位数不够用0补足,除了.jpg还可以是.png、.bmp等格式
2. 图片标注,使用labelImg
安装labelImg
sudo apt-get install pyqt4-dev-tools # 安装PyQt4
sudo pip install lxml # 安装lxml,如果报错,可以试试下面语句
sudo apt-get install python-lxml
git clone https://github.com/tzutalin/labelImg.git
cd labelImg
make all
运行labelImg
./labelImg.py # 或者 python labelImg.py
然后在图形用户界面标记图片,标记后会生成xml文件。
操作界面:
![8a370092725dee4e4c04c527996249e7.png](https://i-blog.csdnimg.cn/blog_migrate/911996b80e81e5f6985774d5913c0bcc.jpeg)
相应图片与生成的xml文件如下所示:
![ee0702ca0d89ffdf8ec76025f129fa14.png](https://i-blog.csdnimg.cn/blog_migrate/5a26753379d01f8511a0dbd15725a8b0.jpeg)
![cc8c2734c3aa5ed4192d908029480730.png](https://i-blog.csdnimg.cn/blog_migrate/0ea13b5959c0dfc5abb48e9afede7edb.jpeg)
3. 然后把标记后的图片保存成VOC数据集的格式
数据集结构为:
--VOC
--Annotations
--ImageSets
--Main
--Layout
--Segmentation
--JPEGImages
--SegmentationClass
--SegmentationObjec
在水果识别中只用到了Annotations,ImageSets,JPEGImages这三个文件夹。把第二步生成的xml文件放在Annotations文件夹中,把原图放在JPEGImages文件夹中,并且让每个jpg图片对应一个xml文件。ImageSets中在这里只用到了Main文件夹,其他的在识别水果中都用不到。Main文件夹中存放train.txt,test.txt等文件,指定哪些数据用来训练哪些数据用来测试,里面保存不带后缀的图片名称列表,在这里只要训练用到的train.txt文件。所以这里用到的数据集是修改过得VOC数据集,结构为:
--VOC
--Annotations
--ImageSets
--Main
--JPEGImages
同时注意外层文件夹命名成VOC2007(一定是名字+年份,因为后面作为参数输入是直接输入的年份)。这样数据集就做好了,做好的训练集放在/darknet/scripts/VOCdevkit目录下,然后准备训练。
原文地址水果识别-数据集制作 | |www.linmao.dev
![597daaa115581cf74044d33b5041e0a6.png](https://i-blog.csdnimg.cn/blog_migrate/ab87eea180058d1538014fd74b72b8b2.jpeg)