拿到新的数据,修改roi_rename.py里文件的路径、名称等;
新建resource-Annotations文件夹;
然后打开anaconda、activate Labelimg、labelimg,就打开了labelimg就做标注。(先把图像名称改好就是上一步,再做标记,生成xml文件。);
修改XML_.py并run;
分别修改imgflip.py image_shift.py gasuss.py三个文件中的path、newpath,图片个数,并运行。
讲resource-annotations文件夹复制三份,更改名字为imgflip-annotations、image_shift-annotations、gasuss-annotations,分别修改correct_imgflip_xml.py……这三个文件里的文件名称路径和要改的名称里的数字,并运行;
最后将所有图像放在同一文件夹JPEGImages下,所有xml文件放在同一文件夹Annotations下,后面待用。
到此,数据集制作完毕。
执行create_4_txt.py
打开服务器
将原来的数据集文件夹里的voc2007重新命名(备份),把新的数据集替换过去。
7.5.0 cudnn
10.0 cuda
出错解决:
cd /usr/local/cuda-10.0/lib64
sudo mv libcudnn.so.7 libcudnn.so.7.bak
sudo ldconfig /usr/local/cuda-10.0/lib64
发现用原来训练好的网络去测试新的图像数据demo.py不能自动跳出结果图,应该要重新训练。
就是删掉:
“在开始训练之前,需要把cache删除掉,分别在tf-faster-rcnn/data/cache和tf-faster-rcnn/data/VOCdevkit2007/annotations_cache路径下,(首次训练没有,可不管)。
如果是重新开始训练,删除tf-faster-rcnn/output/vgg16/voc_2007_trainval/default路径下所有文件”
然后:cd ~/tf-faster-rcnn-master #路径执行修改
./experiments/scripts/train_faster_rcnn.sh 0 pascal_voc vgg16
训练完之后:
cd ~/tf-faster-rcnn-master#可以没有,因为本来就在这个路径下
GPU_ID=0
CUDA_VISIBLE_DEVICES=${GPU_ID} python ./tools/demo.py
demo时候没有跳出结果的图像说明没有detect到缺陷。
我一开始train trainval都设置为0.3,训练样本很少。(在create_4_txt.py文件里),000002 000005 000006 000007这几张图片都没有结果。
因此删掉原来的ImageSet里面的Main文件夹里的内容,修改create_4_txt.py里面的训练样本比例为0.7,得到新的Main文件夹里的内容,拷贝到服务器的相应位置。然后删掉cache(两个地方)和output default下的东西,重新训练,看看结果怎么样。