[Mono Depth/3DOD]单目3D检测基础

1.数据增强

  • 图像放缩和裁剪后,相机内参要做相应变化
import random
def random_scale(image, calib, scale_range=(0.8, 1.2)):
    scale = random.uniform(*scale_range)

    width, height = image.size
    image = image.resize((int(width * scale), int(height * scale)))

    calib[:2, :] *= scale
    return image, calib


def random_crop(image, left, w_out, upper, h_out, calib):
    right = left + w_out
    lower = upper + h_out
    image = image.crop((left, upper, right, lower))

    calib[0, 2] -= left  # cx - du
    calib[1, 2] -= upper # cy - dv
    calib[0, 3] -= left * calib[2, 3] # tx - du * tz 
    calib[1, 3] -= upper * calib[2, 3] # ty - dv * tz

2. 数据集

  • KITTI
    [Mono Depth/3DOD]单目3D检测基础_第1张图片
    • Rotation_y(全局航向角
    • 车头方向与相机的x轴正方向的夹角
    • 描述目标在现实世界中的朝向,不随目标的位置和采集车的位置变化而变化
  • theta:目标方位角
  • Alpha:目标观测角,Alpha = theta + Rotation_y

[Mono Depth/3DOD]单目3D检测基础_第2张图片

  • 单目3D学习alpha角,因为alpha是跟图像特征相关的

你可能感兴趣的:(3D目标检测,深度估计)