本文介绍的是 FPGA VR 相机的第二个版本,第一个版本是下面这样:
第一版地址:
❝https://hackaday.io/project/26974-vr-camera-fpga-stereoscopic-3d-360-camera
❞
本文主要介绍第二版本,第二版本的 VR 摄像机,能够以 30fps 的速度拍摄 4k(3840 x 1920)立体 360 度视频,同时在摄像机上实时拼接和编码。除了最终的 H.264 编码将在 Nvidia Jetson TX2 上执行之外,所有图像处理功能都将在 FPGA 上执行。
硬件组成
友晶DE10-Nano
8×Aptina AR0330 摄像头模块,带 12 毫米镜头卡口
2×四摄像头接口PCB
1×NVIDIA Jetson TX2
下面显示的是相机的主数据流和硬件连接图。
以下是迄今为止已成功实现的功能:
相机I2C控制
去马赛克模块
相机图像变形矫正模块
摄像头接口PCB
灰度图像到单位像素
3D 图像拼接/块匹配/光流
将灰度图像分成 3 个垂直部分:左、中、右。这三分之一都是完整 360 度水平图像的 45 度切片。因为我们有 8 个均匀分布的摄像机,这意味着我们的摄像机彼此之间的角度为 360/8 = 45 度。由此,我们知道,如果我们将摄像机 A、B、C 排列如下:
那么摄像机 A 的右三分之一、摄像机 B 的中心和摄像机 C 的左三分之一必须都指向同一方向。如果他们都在看无限远的东西,那么所有三个切片都应该是完全相同的图像。然而,我们希望在输出图像中显示深度。因此,我们将使用摄像机 C 的左三分之一和摄像机 A 的右三分之一来分别提供当观看者面向该方向时的右眼和左眼的图像。当观看者将头转向左侧时,他们的右眼将从看到摄像机 C 的左侧三分之一转向摄像机 B 的左侧三分之一。
开源地址
❝https://github.com/colinpate
❞
❝https://github.com/colinpate/fpga-vr-remap
❞
CAD外形:
❝https://cad.onshape.com/documents/e230395963de661bfa5c14c7/w/05d75a95b60ee2972e714205/e/a708f4a0d0e872dd361e0a75
❞