深度学习【59】物体检测:yoloV2笔记之预测

yoloV2的预测代码在examples/detector.c中的test_detector函数中。具体步骤为:

1、模型、参数、待检测图片等信息的加载
2、图片resize,这里使用的是letterbox_image函数。与opencv的resize函数不同的是letterbox不会使物体变形。这边是移植到手机端的一个坑。
3、前向传播,获取网络输出,大小为13*13*425(假设,输入为416*41680类,5个候选框)
4、根据网络预测的候选框与anchor的xy偏移量和w,h比值,求出候选框的bbox。get_region_boxes函数。
5、利用非极大值抑制去除重叠的候选框

letterbox_image

image letterbox_image(image im, int w, int h)//w,h:要resize的大小
{
    int new_w = im.w;
    int new_h = im.h;
    //计算保持宽高比的新宽高
    if (((float)w/im.w) < ((float)h/im.h)) {
        new_w = w;
        new_h = (im.h * w)/im.w;
    } else {
        new_h = h;
        new_w = (im.w * h)/im.h;
    }
    //直接resize
    image resized = resize_image(im, new_w, new_h);
    //创建一个大小为w*h的空图片
    image boxed = make_image(w, h, im.c);
    //将空图片用【0.5,0.5,0.5】填充
    fill_image(boxed, .5);
    //int i;
    //for(i = 0; i < boxed.w*boxed.h*boxed.c; ++i) boxed.data[i] = 0;
    
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值