Yolo训练技巧:Rectangular training/inference

YOLOv3的训练通常要求输入尺寸为32的倍数,但Rectangular训练/推理避免了冗余信息,通过设定较长边为416,按比例缩放短边并少量填充,以适应模型要求。这种方法减少了非目标区域的影响,提高了训练效率。
摘要由CSDN通过智能技术生成

Rectangular training/inference 矩形训练/推理

参考:https://www.cnblogs.com/pprp/p/12432540.html

YOLOv3中是下采样32倍,长宽也必须是32的倍数,所以在进入模型前,数据需要处理到416×416大小,这个过程称为仿射变换

实现代码:

# 来自 https://zhuanlan.zhihu.com/p/93822508
def cv2_letterbox_image(image, expected_size):
    ih, iw = image.shape[0:2]
    ew, eh = expected_size
    scale = min(eh / ih, ew / iw)
    nh = int(ih * scale)
    nw = int(iw * scale)
    image = cv2.resize(image, (nw, nh), interpolation=cv2.INTER_CUBIC)
    top = (eh - nh) // 2
    bottom = eh - nh - top
    left = (ew - nw) // 2
    right = ew - nw - left
    new_img = cv2.copyMakeBorder(image, top, bottom, left, right, cv2.BORDER_CONSTANT)
    return new_img

输入图片放射变化后变为正方形,非正方形图片通过补灰padding来变为正方形的图。如下图,缩放为416*416</

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值