当前位置: 首页 > news >正文

自动泊车技术—相机模型

一、相机分类及特性

传感器类型深度感知原理有效工作范围环境适应性功耗水平典型成本区间数据丰富度
单目相机运动视差/几何先验1m~∞光照敏感1-2W5−5−502D纹理中
双目相机立体匹配 (SGM/SGBM算法)0.3m~20m纹理依赖3-5W50−50−3002D+稀疏深度
多摄像头系统多视角三角测量0.1m~50m标定敏感10-20W200−200−10002D全景
RGB-D传感器结构光/ToF (Time-of-Flight)0.1m~5m室外失效4-8W100−100−5003D点云高
全景相机多镜头拼接全向覆盖动态物体鬼影5-10W500−500−3000360° 2D
事件相机异步光强变化检测理论无限低光增强0.1-0.5W1000−1000−5000时空事件流

二、相机的针孔模型

1. 基本概念

  • 针孔模型原理:光线通过一个无限小的孔(光心)投射到成像平面,形成倒立的实像。

  • 关键组成部分

    • 光心(Optical Center):相机透镜的中心点,所有光线通过此处。

    • 成像平面(Image Plane):光线投影形成的二维平面,位于光心后方,距离为焦距 ff。

    • 光轴(Optical Axis):垂直于成像平面并通过光心的直线。

2. 坐标系定义

  1. 世界坐标系(World Coordinate)
    三维空间中的绝对坐标系,表示为 (Xw,Yw,Zw)(Xw​,Yw​,Zw​)。

  2. 相机坐标系(Camera Coordinate)

    • 原点位于光心 OcOc​。

    • ZcZc​ 轴沿光轴指向场景,XcXc​ 和 YcYc​ 轴与成像平面平行。

    • 点 PP 的坐标为 (Xc,Yc,Zc)(Xc​,Yc​,Zc​)。

  3. 成像平面坐标系(Image Plane Coordinate)

    • 原点位于光轴与成像平面的交点。

    • 坐标 (x,y)(x,y) 表示投影点,单位为物理尺度(如毫米)。

  4. 像素坐标系(Pixel Coordinate)

    • 原点位于图像左上角。

    • 坐标 (u,v)(u,v) 表示像素位置,单位为像素。


3. 投影过程

步骤1:世界坐标 → 相机坐标

通过刚体变换(旋转矩阵 RR 和平移向量 tt)将世界坐标系中的点转换到相机坐标系:

矩阵变换公式可表示为:

$$ \begin{bmatrix} X_c \ Y_c \ Z_c \ 1 \end{bmatrix}

\begin{bmatrix} R & t \ 0 & 1 \end{bmatrix} \begin{bmatrix} X_w \ Y_w \ Z_w \ 1 \end{bmatrix} $$

其中:

  • $[X_c, Y_c, Z_c, 1]^T$ 表示相机坐标系下的齐次坐标
  • $[X_w, Y_w, Z_w, 1]^T$ 表示世界坐标系下的齐次坐标
  • $R$ 为旋转矩阵
  • $t$ 为平移向量
步骤2:相机坐标 → 成像平面坐标

根据相似三角形原理,投影到成像平面:

$$x=f⋅XcZc,y=f⋅YcZcx=f⋅Zc​Xc​​,y=f⋅Zc​Yc$$​​

其中 ff 为焦距。

步骤3:成像平面坐标 → 像素坐标

考虑像素缩放和主点偏移:

$$u=xdx+u0,v=ydy+v0u=dxx​+u0​,v=dyy​+v0​$$

  • $$dx,dydx,dy$$:每个像素的物理尺寸(如毫米/像素)。

  • $$(u0,v0)(u0​,v0​)$$:主点(光轴与成像平面的交点的像素坐标)。


4. 内参矩阵与外参矩阵

  • 内参矩阵(Intrinsic Matrix, KK)
    包含相机固有参数:

$$K=[fxsu00fyv0001]K=​fx​00​sfy​0​u0​v0​1​​$$

  • $$fx=f/dxfx​=f/dx, fy=f/dyfy​=f/dy$$:以像素为单位的焦距。

  • ss:轴倾斜因子(通常为0)。

  • (u0,v0)(u0​,v0​):主点坐标。

  • 外参矩阵(Extrinsic Matrix)
    描述相机在世界坐标系中的位姿:

$$[R∣t]=[r11r12r13txr21r22r23tyr31r32r33tz][R∣t]=​r11​r21​r31​​r12​r22​r32​​r13​r23​r33​​tx​ty​tz​​​$$

  • RR:3×3旋转矩阵。

  • tt:3×1平移向量。


5. 齐次坐标下的投影公式

将三维点 $Pw=(Xw,Yw,Zw,1)Pw​=(Xw​,Yw​,Zw​,1)$ 投影到像素坐标 $p=(u,v,1)p=(u,v,1)$:

$$p=K⋅[R∣t]⋅Pwp=K⋅[R∣t]⋅Pw​$$

展开后:

$$[uv1]=[fxsu00fyv0001][r11r12r13txr21r22r23tyr31r32r33tz][XwYwZw1]​uv1​​=​fx​00​sfy​0​u0​v0​1​​​r11​r21​r31​​r12​r22​r32​​r13​r23​r33​​tx​ty​tz​​​​Xw​Yw​Zw​1​​$$


6. 畸变矫正(非针孔模型部分)

实际相机因透镜存在畸变,需额外矫正:

  • 径向畸变
    $$xcorrected=x(1+k1r2+k2r4+k3r6)xcorrected​=x(1+k1​r2+k2​r4+k3​r6)$$
    $$ycorrected=y(1+k1r2+k2r4+k3r6)ycorrected​=y(1+k1​r2+k2​r4+k3​r6)$$

  • 切向畸变
    $$xcorrected+=2p1xy+p2(r2+2x2)xcorrected​+=2p1​xy+p2​(r2+2x2)$$
    $$ycorrected+=p1(r2+2y2)+2p2xyycorrected​+=p1​(r2+2y2)+2p2​xy$$

 

 

相关文章:

  • DNS服务实验
  • Python百库指南:数据科学到Web开发全解析
  • Spring事务融入(REQUIRED)具体实现步骤解析
  • 游戏引擎学习第269天:清理菜单绘制
  • 互联网大厂Java面试实录:从基础到微服务的深度考察
  • 使用 JAX-RS 创建 REST 服务/微服务
  • 5大B2B数字营销社群营销标杆案例TOB企业数字化营销内容营销AI营销培训讲师培训师专家顾问唐兴通分享
  • KTOR for windows:無文件落地HTTP服务扫描工具
  • SaaS场快订平台项目说明【持续更新】
  • window 显示驱动开发-AGP 类型伸缩空间段
  • [白话文] 从百草园RLHF到三味书屋DPO
  • HTTP 请求中 Content-Type 头部
  • GitHub 趋势日报 (2025年05月09日)
  • 部署dify
  • Web3 实战项目项目部署到 GitHub 和上线预览的完整指南
  • 数据库实验10
  • 多线程获取VI模块的YUV数据
  • ISP(Image Signal Processor)处理流程及不同域划分
  • 【计算机视觉】OpenCV实战项目:Deep Machine Learning Tutors:基于OpenCV的实时面部识别系统深度解析
  • Flink 运维监控与指标采集实战
  • 14岁女生瞒报年龄文身后洗不掉,法院判店铺承担六成责任
  • 视频丨雄姿英发!中国仪仗队步入莫斯科红场
  • 康子兴评《文明的追求》|野人脚印:鲁滨逊的恐惧与文明焦虑
  • 上海:企业招用高校毕业生可享受1500元/人一次性扩岗补助
  • 专访|高圆圆:像鸟儿一样,柔弱也自由
  • 最新研究:基因编辑治疗晚期胃肠道癌显成效