在竞赛代码中,为了追求正确率,图像缩放的时候需要按图像原始比例将图像的长或宽缩放到640.假设长被放大到640,宽按照长的变换比例无法达到640,则在图像的两边填充黑边确保输入图像总尺寸为640*640....竞赛代码中使用了该种缩放方式,需要注意的是如果使用该种缩放方式,在获取结果时需要将结果转换为在原始图像中的坐标....这部分主要是使用c++将yolov5代码中的detect层内容重新实现一下,主要代码实现如下:
//注意此处的阈值是框和物体prob乘积的阈值
bool Detector::parse_yolov5(...,一开始我也试了很多次,最后才得到了正确的输出....NMS获取最终结果
经过以上步骤,原始的框信息存储在origin_rect变量中,还需要通过NMS去除同一个物体多余的框.