360° 全景拼接相机 产品规格书
1 产品概述
360° 全景拼接相机是一套面向机器人、无人车、智能装备与工业视觉场景的实时全景视频采集与拼接系统。设备以树莓派 5 为主控平台,接入两路 Sony IMX477 高清传感器与两枚 220° 鱼眼镜头,镜头沿光轴背靠背反向安装,构成分辨率为 2048 × 1024 的标准 2:1 等距柱状(Equirectangular)全景画面。
与常见的多相机拼接方案不同,本机的差异点集中在三处:不布物理同步线、计算全程发生在显存、拼接过程低延迟。这三个特征直接决定了它在移动与振动工况下的可用性——没有线缆就没有接头松脱与走线牵拽,显存直读则把 CPU 从像素搬运的任务里彻底解放出来,低延迟让全景画面可以直接进入避障、识别等实时链路,而不必停留在「录下来再看」的阶段。
2 核心亮点
01 不依靠物理连接
两路相机之间无任何同步线缆、无外触发芯片。主从相机通过 libcamera 软件锁相环动态微调帧周期,使曝光时间中心严格重合,动态画面不再出现拼接断层。
同步时差 < 100 μs
02 计算全程发生在显存
NV12 原始帧按 Y / UV 双平面直接绑定 GPU 纹理单元,颜色转换、Y 轴翻转、BGR 通道排列全部下沉到着色器完成,帧数据不落地到 CPU 内存做二次处理。
零 CPU 格式重排
03 低延迟全景拼接
单 Pass 融合 + 显存直读 + 硬件步长对齐,整条 GPU 管线单帧 27~29.5 ms,端到端渲染延迟 33 ms,稳态输出 28.05 FPS。
端到端 33 ms
04 球面 / 平铺双视图
同一份全景数据可同时输出 360° 球面视角与 2D 平铺展开图,适配 VR 头显浏览、网页嵌入与算法二次开发三类使用方式。
2:1 标准等距柱状
3 数据链路
① 双路相机采集 —— NV12 原生帧 · 零拷贝映射
② 软件锁相环同步 —— 主从 PLL · 无物理连线
③ 球面网格烘焙 —— 反投影 UV · 接缝羽化权重
④ GPU 显存融合渲染 —— 单 Pass YUV2RGB · 27~29.5 ms
⑤ 曝光 / 色彩基准 —— 重叠区增益平衡
⑥ Web MJPEG 推流 —— 8080 端口 · 浏览器即开即看
⑦ V4L2 虚拟摄像头直写 —— /dev/videoX · OBS 可用
⑧ 算法 / 录像消费 —— 直接取帧 · 避障与识别
4 技术参数
4.1 核心性能指标
| 指标 | 实测 / 规格 | 技术实现途径 |
|---|---|---|
| 指标 | 实测 / 规格 | 技术实现途径 |
| 稳态实时帧率 | 28.05 FPS(额定 30 FPS) | 着色器单 Pass 融合 + 显存直读 + 64 字节步长对齐 |
| GPU 单帧渲染延迟 | 27.0 ~ 29.5 ms | VideoCore VII 无头 DRM/EGL 离屏渲染(FBO) |
| 端到端渲染延迟 | 33 ms | 从纹理上传到全景帧可用的完整链路 |
| 双摄同步时差 | < 100 μs(实测最小 -2 μs) | 基于 libcamera 的软件主从锁相环(PLL) |
| 镜头视场 FOV | 220° 超广角 | 双镜头背靠背安装,空间重叠区 40° |
| 输入分辨率 | 1536 × 1536(高速档) / 2028 × 1520(原画档) | IMX477 2×2 Binning / 原生全画幅双模式 |
| 输出全景分辨率 | 2048 × 1024(标准 2:1 等距柱状) | 原画档可按需配置 4096 × 2048 |
| 经纬球面网格 | 180 × 360,共 65,341 顶点 | 球面网格剖分 |
| 接缝处理 | 距离变换高斯羽化 55 px(高速档)/ 50 px(原画档) | 自动定位最优拼接中线 |
| 推流与访问 | Web HTTP MJPEG(端口 8080)、V4L2 虚拟摄像头节点 | 现代 PC / 手机 / VR 浏览器即开即看 |
4.2 硬件配置
| 部件 | 规格 |
|---|---|
| 部件 | 规格 |
| 运算平台 | 树莓派 5(Broadcom BCM2712,VideoCore VII GPU,8 GB RAM) |
| 图像传感器 | 双路 Sony IMX477 HQ 摄像头,CSI-2 直连主控双 CAM 端口 |
| 光学镜头 | 双路 M12 接口 220° 鱼眼镜头,13 mm 基线背靠背安装 |
| 镜头畸变模型 | 等距鱼眼(r = f·θ)+ Kannala-Brandt 四阶径向多项式 |
| 视频采集格式 | NV12(Y / UV 双平面),libcamera 原生 DMABUF 零拷贝映射 |
| 渲染输出格式 | BGRA / BGR(通道顺序由着色器直出),2048 × 1024 |
| 操作系统 | Raspberry Pi OS Bookworm 64 位(Linux 6.6 内核) |
| 渲染上下文 | DRM/GBM 纯无头 EGL,无需启动任何桌面图形界面 |
4.3 两档运行 Profile
| 配置维度 | 高速实时档 | 高清原画档 |
|---|---|---|
| 配置维度 | 高速实时档 | 高清原画档 |
| 相机输入分辨率 | 1536 × 1536 | 2028 × 1520 |
| 硬件 Stride 特性 | 1536 字节(64 字节完美对齐,零填充开销) | 2048 字节(含 20 字节行尾填充) |
| 全景输出分辨率 | 2048 × 1024 | 2048 × 1024(可按需配置为 4096 × 2048) |
| 实测稳态帧率 | 28.05 FPS | 18 ~ 20 FPS |
| GPU 单帧耗时 | 27.0 ~ 29.5 ms | 45.0 ~ 50.0 ms |
| 羽化平滑宽度 | 55 像素 | 50 像素 |
| 主要适用场景 | 实时视频推流、低延迟全景图传、机器人全向避障导航 | 高清静态全景拍摄、离线录制与高质量建图 |
选型建议:涉及避障、跟随、远程操控等实时闭环场景,选高速实时档;以画质换帧率可接受、主要做静态建模或录像留存,选高清原画档。两档共用同一套拼接架构,可通过启动参数直接切换。
5 功能清单
5.1 采集与同步
| 能力 | 说明 |
|---|---|
| 能力 | 说明 |
| 双路原生采集 | libcamera 原生 C++ 驱动接管双路 CSI 摄像头,DMABUF 零拷贝内存映射,NV12 格式直出 |
| 软件锁相环同步 | 主从相机帧周期动态微调,曝光时间中心严格重合,实测偏差稳定收敛于 |Δt| < 100 μs |
| 硬件跨度自适应 | 自动探测 64 字节行对齐 stride 并传递给 OpenGL,消除画面水平拉丝与 CPU 重排 |
| ISP 色彩调校 | 自动挂载 IMX477 专用调色文件,解决非红外滤光片条件下的画面偏红问题 |
5.2 拼接与渲染
| 能力 | 说明 |
|---|---|
| 能力 | 说明 |
| 360° 球面视角输出 | 完整 360° 全向球面视角,可直接用于 VR 头显沉浸浏览与全景回放 |
| 2D 平铺展开输出 | 标准 2:1 等距柱状平铺展开图(2048 × 1024),可直接嵌入网页、二次开发与算法取帧 |
| 无缝接缝融合 | 基于 40° 重叠区距离变换自动定位最优拼接中线并做高斯羽化过渡 |
| 动态曝光与白平衡 | 重叠区增益平衡,消除两路镜头因光照差异产生的亮度断层 |
6 交付说明
| 机型状态 | 原型机 |
| 文件用途 | 本文件用于商务选型与技术对接 |
| 配套文档 | 详细安装调试请参阅《产品使用说明书》与《全景拼接系统说明文档》 |
| 文档版本 | V1.0 |
PDF 下载
本文档对应的完整 PDF 可直接下载: