YOLO v3 中关于 anchor 的 k-means 聚类代码

1. k-means 聚类代码

我使用的代码是:https://github.com/lars76/kmeans-anchor-boxes
其他的k-means 代码(没用过)是:

  1. https://github.com/qqwweee/keras-yolo3/blob/master/kmeans.py
  2. https://github.com/AlexeyAB/darknet/blob/master/scripts/gen_anchors.py
    输入是存放 xml标签文件的文件夹:
    只需要更改 example.py 中的一行代码:
ANNOTATIONS_PATH = "xmlLabel/train"  # 更改自己的路径(存放训练标签 xml 的文件路径)
  1. 运行 example.py 计算当前数据集的需要设置的 anchor 的大小(相对于416输入而言)

在我的数据集上的输出结果如下:

rows =  8607  #  我的 label 目标的数量
[[0.01416016 0.015625  ]  # 每一个 anchor的宽/图像的宽 ,高/高
 [0.00830078 0.00927734]
 [0.06542969 0.06982422]
 [0.03417969 0.03662109]
 [0.01123047 0.01220703]
 [0.02685547 0.02832031]
 [0.01757812 0.01953125]
 [0.04443359 0.04833984]
 [0.02148438 0.0234375 ]]
Accuracy: 83.41%
Boxes:
 [ 5.890625  3.453125 27.21875  14.21875   4.671875 11.171875  7.3125   18.484375  8.9375  ]-  # 每个 anchor 的宽
 [ 6.5       3.859375 29.046875 15.234375  5.078125 11.78125   8.125    20.109375  9.75    ]  # # 每个 anchor 的高
Ratios:
 [0.89, 0.9, 0.91, 0.92, 0.92, 0.92, 0.93, 0.94, 0.95]  # 每个 anchor 的 宽/高
  1. 对输入anchor 进行排序后的结果是(取整数是为了好看):
[3, 4, 5, 7, 8, 11, 14, 18, 27]
[3, 5, 6, 8, 9, 11, 15, 20, 29]
anchor_416 = 3, 3, 4, 5, 5, 6,   7, 8, 8, 9, 11, 11,   14, 15, 18, 20, 27, 29 
anchor_416_2 = 6, 7, 9, 10, 11, 13,   14, 16, 17, 19, 22, 23,   28, 30, 36, 
  • 29
    点赞
  • 67
    收藏
    觉得还不错? 一键收藏
  • 16
    评论
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值