关于目标检测中预测后如何选择最终目标

yolo部分算是顺利地复现了代码,记录一下学习过程中的几个点:

  • 全图是被分成7*7个部分,并不是一个格子7*7大小,这里我老是忘记!
  • 数据标签中bbox的边框是[x,y,w,h]表示形式,在此基础上随同图像进行一系列的变化。
  1. 图像因为大小不同,且还不是正方形,所以要预处理到448*448大小。网上代码有两种处理方式:一是先给图像短的一边加上value=0的pad,使图像变成正方形,再缩小或扩大至448,一是直接将图像拉伸成448。这里我选择了第一种方法,觉得不会破坏图像的真实特征。
  2. 跟随图像的变化,bbox也进行变化,图像先加了边框,对bbox的影响是中心点x,y坐标也要加上pad的值;接下来图像扩大至448,按照比例,中心点变化,宽高也变化。至此边框和图像一致。
  3. 以bbox中心点来寻找真正用来检测的格子,全图共有7*7个格子,中心点坐标在448图中的位置以比例来表示,即中心xy除以448,得到比例之后乘7则得到了这个点在7*7格网内的哪个格。比如,xy在448中是0.5的位置(中间),乘7后为3.5,看,也是在7*7格网的中间吧,这里娶个整是第几个格子。这是找到了格网,但是在格网中的具体什么位置呢?则是xy*7-int(xy*7),这是在负责检测的那个格子中的比例位置。ok,现在的坐标和宽高值就是真实送入训练的,得到的预测值也是这样的模式
  4. 预测结束后,得到的bbox并不是可展示的,要按照之前的计算方式反向复原回去。预测结果为7*7*30,[i,j]为7*7中的索引,[i,j]/7得到中心坐标在全图的粗糙位置比例, 预测中的中心坐标/7得到在格子中的精确比例,相加得到真正的比例。再中心坐标和宽高乘以448,恢复到以448为基础的框坐标。
  5. 如果只是展示的话,展示448的图像和第4步得到的框就行,要是得到对应真正图片的bbox,则中心坐标除以原正方形与448的比例,再加上原图成为正方形所增加的pad
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值