前期做数据可视化,发现标签数据存在一些孤立点(噪声点),影响kmeans聚类。
处理方法如下:
使用kmeans迭代10次得到聚类中心
计算所有数据到其聚类中心的欧式距离均值和方差
通过拟合正态分布,把到聚类中心距离大于均值+1.96*方差的点剔除训练集(根据正态分布0.95面积算的)
得到新的训练集以及anchor
以上方法并不完全适应yolo计算anchor的需求(与yolo网络本身有关)
建议使用darknet自带的anchor计算工具,而非opencv的kmeans工具。