囿篓· YOLO⑽
——「明道如“費”, 进道如“退” ,夷道如“類”」
副标题:帛书《老子》著作名句。
囿篓·YOLO发明者提出了一种利用现有大量分类数据的新方法:【基于锚框的K维度聚类法】。
K维度聚类(K Dimension Clusters),“聚类”是如下分析处理过程:如果待检测对象事先还没有做“标签”,通过某种汇聚成团的分析方法找出事物对象之间存在聚集性规律。即在没有划分类别的情况下,根据数据的相似度进行样本分组,参见附图“聚类”。
囿篓·YOLO的【基于锚框的K维度聚类法】是对图像数据集做边框聚类运算,求出锚框尺度分布的统计规律。
囿篓·YOLOv2使用K均值聚类方法(K-means)训练求取边箱各框维度K,YOLO算法自动找到较好的高宽维度值K用于锚箱初始化。传统的K均值聚类法使用的是欧氏距离函数,这会出现较大的锚箱会比稍小的锚箱有较多的漏锚情况,聚类结果就可能会偏离源图本真(Ground Truth)。由于聚类目的是确定更精准的初始锚框参数,即提高交并比的值(IoU),这就应该与锚箱边框的大小无关,因此YOLOv2采用了交并比之值作为判据,并且,囿篓·YOLO的K均值聚类采用的“图心距离函数”(Centroid distance)为:
d(box,centroid) = 1 - IoU(box,centroid)
YOLOv2通过先验性锚箱模型运算,对锚箱尺寸做了K均值聚类运算。如“图.基于VOC和COCO数据集的框聚类尺度分布”。
图左边曲线图是锚框聚类的簇数和交并比的关系,两条曲线分别代表两个不同的数据集VOC和COCO。分析聚类结果并权衡模型复杂度、召回率、交并比值等后,YOLOv2选择框维度K=5,即选择了5种大小的“锚框维度K”来进行定位预测。
图的右侧显示了VOC和COCO数据集的聚类图形和“图心”(centroid)。聚类运算结果发现,两数据集的锚框聚类显示,其中的“瘦高体”较多,而COCO 内的边框尺度分布又显得比VOC更散杂一些。
图中紫色和浅灰色区域分别表示两个数据集的不同的锚框聚类。显然,抽象地看,基本形状都是类似的;具象地看,聚类的结果中扁长框特征与汽车贴切,而瘦高的框更符合道路行人的特征。
YOLO,“只瞄一回!”
囿篓,一篓捞尽。
———————
且待下回分解“囿篓”……