yolov3 修改 只识别一类(person)

yolov3可以识别多种目标,但是我们可能只需要识别一类物体,例如person。

在编译yolov3之后,默认可以识别多种目标

 

 

之前在网上看其他人修改yolov2版本,可以只识别person

具体参考该博客:

https://blog.csdn.net/weixin_42183449/article/details/80472069

 

 

但是yolov3版本的代码有变化,需要做出其他修改。在网上找了一下,没有发现yolov3的相关修改,于是自己修改了一下

修改文件:darknet-master\src\image.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; i < selected_detections_num; ++i) { 后插入:

for (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

你可能感兴趣的:(图像处理,目标识别)