当前位置: 首页 > 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$$

 

 

http://www.xdnf.cn/news/377965.html

相关文章:

  • OSPF综合实验报告
  • SpringCloud之Ribbon基础认识-服务负载均衡
  • vue3 无缝列表循环
  • 深圳SMT贴片加工厂制造流程解析
  • PaddleOCR本地部署
  • 【Linux系统调试】内存错误检测工具AddressSanitizer (ASan)
  • 基于协同过滤的音乐推荐系统(源码+lw+部署文档+讲解),源码可白嫖!
  • Duplicati:一款跨平台的备份客户端,支持加密、增量、压缩的备份存储在云存储服务和远程文件服务器
  • VBA即用型代码手册:字体Font与插入Insert
  • 卡尔曼滤波算法简介与 Kotlin 实现
  • en_text_100_words
  • leetcode504.七进制数
  • 联邦学习图像分类实战:基于FATE与PyTorch的隐私保护机器学习系统构建指南
  • cadence -- allegro汉化
  • UE5 PCG学习笔记
  • C++笔记-set和map的使用(包含multiset和multimap的讲解)
  • Spring boot 简单开发接口
  • 2025年全新 GPT 4.5 AI 大模型 国内免费调用
  • 缓存理论到实战:技术选型与七层架构设计
  • 工厂节能新路径:精准节能的深度剖析
  • LabVIEW多通道并行数据存储系统
  • [C++] 大数减/除法
  • C++之多态
  • Linux基础(文件权限和用户管理)
  • VBA —— 学习Day5
  • JVM 逃逸分析
  • 怎么免费下载fbx格式模型、和blender格式文件模型,还可以在线编辑修改
  • AVL树实现
  • LLMs之ChatGPT:《Connecting GitHub to ChatGPT deep research》翻译与解读
  • 湖北理元理律师事务所:债务优化如何实现还款与生活的平衡?