YOLO5调试和语义分割调试

首先是YOLO5训练

数据集的准备:把图片和标签放到同一文件夹,然后把整个文件夹放到data文件夹下YOLO5调试和语义分割调试_第1张图片

然后打开训练函数更改路径

YOLO5调试和语义分割调试_第2张图片

468行,pt文件自己下载

469行,需要找到对应的文件,以记事本形式打开进行更改,大概是第二行,自己有多少种类就改成相应的数值nc: 16  # number of classes

470 行,打开对应的文件夹,找到coco128.yaml,复制到桌面,重命名carbird.yaml.然后重新编辑一下,然后放到data文件夹下YOLO5调试和语义分割调试_第3张图片

然后是图片尺寸320*320 训练速度非常快可精度就打折扣了,所以改成640*640,4千照片训练300次就是97%了。耗费一两天的时间,看显卡性能了。

这里附上训练结果


     Epoch   gpu_mem       box       obj       cls     total    labels  img_size
   297/299    0.849G   0.02672      0.02   0.01111   0.05783         8       640: 100%|██████████| 609/609 [06:13<00:00,  1.63it/s]
               Class     Images     Labels          P          R     [email protected] [email protected]:.95: 100%|██████████| 305/305 [01:44<00:00,  2.92it/s]
                 all       2435       4718      0.949      0.909      0.971      0.743

     Epoch   gpu_mem       box       obj       cls     total    labels  img_size
   298/299    0.849G   0.02738   0.01965   0.01044   0.05747        10       640: 100%|██████████| 609/609 [06:14<00:00,  1.63it/s]
               Class     Images     Labels          P          R     [email protected] [email protected]:.95: 100%|██████████| 305/305 [01:44<00:00,  2.92it/s]
                 all       2435       4718      0.956      0.908      0.971      0.744

     Epoch   gpu_mem       box       obj       cls     total    labels  img_size
   299/299    0.849G   0.02712   0.01992   0.01052   0.05756         7       640: 100%|██████████| 609/609 [06:14<00:00,  1.63it/s]
               Class     Images     Labels          P          R     [email protected] [email protected]:.95: 100%|██████████| 305/305 [01:53<00:00,  2.69it/s]
                 all       2435       4718      0.954      0.909      0.971      0.744
      person_Frontal       2435       1968      0.981      0.926      0.981      0.806
         person_Rear       2435        422       0.95      0.948      0.982      0.764
         person_Left       2435        553      0.965       0.92      0.984      0.774
        person Right       2435        539      0.962      0.901      0.968      0.746
       birn_Frontal        2435         86      0.987       0.87      0.952      0.737
           bird Rear       2435         30          1      0.724      0.949      0.709
           bird Left       2435        136       0.96       0.88      0.952      0.718
          bird Right       2435        185      0.888      0.897      0.951      0.687
   aeroplane Frontal       2435         35       0.96      0.971      0.988      0.778
      aeroplane Rear       2435         32      0.967      0.906       0.98      0.696
      aeroplane Left       2435        104      0.945      0.894       0.97      0.723
     aeroplane Right       2435         99      0.945      0.919      0.978      0.745
         car Frontal       2435        108      0.963      0.962      0.992      0.785
            car Rear       2435        120      0.906      0.967      0.982      0.748
            car Left       2435        159      0.934      0.925      0.964      0.722
           car Right       2435        142      0.957      0.937      0.971      0.771
300 epochs completed in 39.970 hours.

Optimizer stripped from runs\train\exp33\weights\last.pt, 14.4MB
Optimizer stripped from runs\train\exp33\weights\best.pt, 14.4MB

Process finished with exit code 0

训练好的网络在runs\train\exp33\weights\best.pt, 14.4MB他这个33文件夹自动生成,下一次就自动生成34文件夹,非常给力。然后就是批量识别了

打开识别函数detect.py

YOLO5调试和语义分割调试_第4张图片

在127行手动输入save_txt=True,否则识别结果文件夹没有标签记录,只有识别图像。

然后就是各种配置了,特别注意第188行 图片尺寸640。这个是和train.py训练里的尺寸640*640一一对应的。如果训练是320*320,识别也是320.

YOLO5调试和语义分割调试_第5张图片

识别结果也是自动生成文件夹uns/detect/exp45/

=================================================================

                                              语义分割部分

=================================================================

打开trian_yyfg.py,改成自己的路径即可。还有36 ,112,158行也得改

YOLO5调试和语义分割调试_第6张图片

然后就是识别了,打开detect_yyfg.py文件,改成自己的路径即可,4千张图片识别需要好几个小时。然后将yyfg文件夹剪贴到runs文件夹下

YOLO5调试和语义分割调试_第7张图片

===============================================================

                                YOLO结合语义分割

===============================================================

首先要在runs文件夹下新建一个fianal文件夹,然后检查一下上一步yyfg文件夹已经剪贴到runs文件夹下

YOLO5调试和语义分割调试_第8张图片

如果你想在识别过程显示每个对象的面积可以注释掉第40行

YOLO5调试和语义分割调试_第9张图片

YOLO5调试和语义分割调试_第10张图片

在runs/final文件夹下生成结果图片和标签txt.

YOLO5调试和语义分割调试_第11张图片

=

 
  

 
  

你可能感兴趣的:(PYTHON,pytorch)