darknet-yolov3后续使用问题

4 篇文章 1 订阅
4 篇文章 0 订阅

1、测试标签上添加置信值

问题:由于官方代码测试只标注了类别,标签文字较大。使用过程中希望减小标签,并加上检测的置信值。

1)修改src/image.c文件draw_detections函数,前面部分代码修改如下

    int i,j;
 
    for(i = 0; i < num; ++i){
        char labelstr[4096] = {0};
        int class = -1;
	char possible[2];//存放检测的置信值
        for(j = 0; j < classes; ++j){
	  sprintf(possible,"%.2f",dets[i].prob[j]);//置信值截取小数点后两位赋给possible
            if (dets[i].prob[j] > thresh){
                if (class < 0) {
                    strcat(labelstr, names[j]);
		    strcat(labelstr, possible);//标签中加入置信值
                    class = j;
                } else {
                    strcat(labelstr, ", ");
                    strcat(labelstr, names[j]);
		    strcat(labelstr, possible);//标签中加入置信值
                }
                printf("%s: %.0f%%\n", names[j], dets[i].prob[j]*100);
            }
        }
///后面保持不变//

 2)修改src/image.c文件draw_detections函数中get_label函数调用的参数

image label = get_label(alphabet, labelstr, (im.h*.02));

源码中为0.03,修改为0.02后,标签文字减小,可以根据需要调整。

修改代码后需要使用make cleanmake重新编译。

加入置信值,减小标签大小后的检测效果图!
 

2、修改训练过程中的保存次数

问题:  训练过程中修改多少次保存一次权重

修改example/detector.c文件中的第148行:

if(i%10000==0 || (i<1000 && i%100==0))     //迭代小于1000次,每100次保存模型,大于1000次,每10000次保存模型。

可以根据需要修改训练多少轮保存一个模型。

3、darknet的python接口

1)修改darknet下的 python/darknet.py 的最后4行

2)解决依赖文件 libdarknet.so文件

find / -name libdarknet.so    //找到libdarknet.so 的文件路径信息,一般在 ~/darknet/libdarknet.so

ln -s ~/darknet/libdarknet.so /usr/lib    // 假设上步的路径为~/darknet/libdarknet.so(以实际为准),建立软链接  

或者: 在darknet.py,把libdarknet.so的路径信息加入lib  

3)运行darknet.py

python python/darknet.py

若出现 如下信息说明运行成功:

参考:

YOLOv3学习笔记

darknet 的python接口使用

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值