yolov 3修正は1種類のみ認識(person)


yolov 3は複数のターゲットを識別することができるが、personのような物体を識別するだけでよい可能性がある.
yolov 3をコンパイルすると、デフォルトでは複数のターゲットを識別できます.
 
 
以前はネットで他の人がyolov 2バージョンを修正するのを見て、personだけを識別することができます
詳細については、ブログを参照してください.
https://blog.csdn.net/weixin_42183449/article/details/80472069
 
 
しかしyolov 3バージョンのコードは変化しており、他の修正が必要です.ネットで探してみましたが、yolov 3に関する修正が見つからず、自分で修正しました
修正ファイル:darknet-mastersrcimage.c
関数の変更:draw_detections_v3
287行:const int best_class = selected_detections[i].best_class;後に挿入:
if(strcmp(names[best_class], "person") !=0 )
        {
            continue;
        }

306行:for(i=0;ifor (i = 0; i < selected_detections_num; ++i) { if(strcmp(names[selected_detections[i].best_class], "person") !=0 ) { continue; }
再コンパイルしてください
 
アルゴリズムがすべてのカテゴリを識別した後にpersonクラスのみを出力することに相当する.もちろん自分で訓練し直してpersonだけを認識させることもできます
 
参考ブログ:https://blog.csdn.net/weixin_42183449/article/details/80472069