对YOLOv3算法的原理理解(一):k-means得到了什么?

##对YOLOv3算法的原理理解(一):k-means得到了什么?

YOLO利用k-means算法对anchors进行聚类后,最终选择了5种不同尺寸的anchors(而非Faster-RCNN中的九个)作为bounding box输入。思路如下:

  1. 提供训练集,训练集中包括N张图片。每张图片包含C个标记框(我理解为ground-truth bounding box),这些标记框的(x, y, w, h)信息都在该图片的注释信息里。
  2. 读取训练集中每张图片的标记框信息,即读取C个(x, y, w, h)。由于k-means学习是为了选出适合的anchors形状,所以主要使用 w 和 h 。
  3. 所以k-means需要分类的数据一共NC个,每个数据都是(w, h)的形式。利用k-means算法,将这NC个标注框,按形状进行分类,YOLO的作者经过权衡,选择将其分为5类。即选择k=5。
  4. 最后返回的值,是这五个类型的centroid所代表的 w 和 h (取的是平均值,所以未必会是训练集中的某种 w 和 h),并在网络中对每个ROI使用这五种形状的anchors。

k-means具体的实现代码可参考:
https://blog.csdn.net/DaVinciL/article/details/100519521
https://blog.csdn.net/hrsstudy/article/details/71173305

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值