1.ROI pooling 和 ROI align的区别
ROI pooling第一步根据候选区域找特征图的位置,可能不是刚好对应,需要一次量化,如上图所示,第二次是特征图需要转化为特定的大小,这时候pooling可能也不能正好整除,所以第二次量化,这两次量化在像素级的任务上会有很大的误差。而align则不会量化,是直接取小数部分,最后每个格子分四块,求一个maxpooling,这四块区域的特征是通过双线性插值得到的。这样就没有量化导致的较大的损失。
2.YOLO3-YOLO5模型结构与正负样本分配策略
yolov3的网络结构DarkNet53和FPN的结构,多尺度预测,三个不同分辨率的特征图。
yolov5的输入端:mosaic数据增强,将四张图片随即缩放裁剪排布放在一起。
自适应锚框计算:根据不同数据集自适应的得到锚框的大小。
自适应图片缩放:不同分辨率的图片会变为同样的,进行黑边填充
模型端:
首先是FOCUS切片操作,降低计算量。
CSPNet结构:降低计算量,丰富梯度传播,将特征channel分为两份,不同的传播下去。
FPN+PAN的neck结构,相当于又将特征图传播上去了。
使用的CIOU-loss,GIOU-loss加上最大外接矩形,DIOU-loss加入中心点距离,CIOU-loss加入长宽比。
正负样本分配策略
yolov3的话是一个GT只有一个正样本,只在一个分辨率特征图上的一个网格里选择一个anchor为正。剩下的IOU小于阈值为负。
yolov4里面把GT先分到一个分辨率特征图里,每一个特征图分别进行正负样本计算,只要IOU大于阈值,就为正样本。
yolov5里面一个GT分给三个特征图,GT落在一个网格里,再找相近的两个网格,一个GT跟27个anchor匹配,只要宽高比小于阈值就为正。