YOLO源码详解(五)-追本溯源7*7个grid

作者:木凌
时间:2016年11月。
文章连接:http://blog.csdn.net/u014540717
QQ交流群:554590241


最近一直有人在问,把图像分为7*7个网格,每个网格推荐两个框是什么意思,一直没搞明白,今天我们就从源码入手,追本溯源,彻底理解7*7个grid
YOLO源码详解(三)- 前向传播(forward)里,我们分析了detection_layer.c层的代码,我们来看一下truth_index是怎么定义的:

int truth_index = (b*locations + i)*(1+l.coords+l.classes);

这里参数意义如下:
locations:7*7
b :batch size的索引
i :locations的索引
1 :置信度
l.coords :值为4,分别表示x,y,w,h
l.classes : 20

然后在下面我们可以看到如下代码段

//l.n就是一个网格要推荐几个框,论文中l.n=2
for(j = 0; j < l.n; ++j){
                    int box_index = index + locations*(l.classes + l.n) + (i*l.n + j) * l.coords;
                    box out = float_to_box(l.output + box_index);
                    out.x /= l.side;
                    out.y /= l.side;

                    if (l.sqrt){
                        out.w = out.w*out.w;
                        out.h = out.h*out.h;
                    }

                    //计算iou的值
                    float iou  = box_iou(out, truth);
                    //iou = 0;
                    //计算均方根误差(root-mean-square error)
                    float rmse = box_rmse(out, truth);
                    //选出iou最大或者均方根误差最小的那个框作为最后预测框~
                    if(best_iou > 0 || iou > 0){
                        if(iou > best_iou){
                            best_iou = iou;
                            best_index = j;
                        }
                    }else{
                        if(rmse < best_rmse){
                            best_rmse = rmse;
                            best_index = j;
                        }
                    }
                }

上述代码中最重要的是box_iou(out, truth);这句代码,这句代码是要计算你输出的框和真实框的IOU,truth的定义如下:

box truth = float_to_box(state.truth + truth_index + 1 + l.classes);<
  • 4
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 25
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值