CN117812240A - 一种基于arm和fpga的双目3d相机系统和控制装置 - Google Patents
一种基于arm和fpga的双目3d相机系统和控制装置 Download PDFInfo
- Publication number
- CN117812240A CN117812240A CN202410024190.4A CN202410024190A CN117812240A CN 117812240 A CN117812240 A CN 117812240A CN 202410024190 A CN202410024190 A CN 202410024190A CN 117812240 A CN117812240 A CN 117812240A
- Authority
- CN
- China
- Prior art keywords
- fpga
- processor
- arm
- projection image
- camera
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000007774 longterm Effects 0.000 claims description 3
- 238000007781 pre-processing Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000003384 imaging method Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
Landscapes
- Length Measuring Devices By Optical Means (AREA)
Abstract
本发明涉及一种基于ARM和FPGA的双目3D相机系统和控制装置。其中,所述双目3D相机系统包括第一相机、第二相机和投影仪和控制装置;所述控制装置包括:ARM处理器和FPGA处理器;所述FPGA处理器控制所述投影仪投影结构光图像;所述ARM处理器控制所述第一相机拍摄第一投影图像,控制所述第二相机拍摄第二投影图像;所述FPGA处理器根据所述第一投影图像和第二投影图像,生成3D点云数据;所述ARM处理器将所述3D点云数据上传至上位机。本发明在ARM和FPGA的嵌入式平台上实现了快速准确地生成3D点云数据,合理安排了ARM处理器和FPGA处理器的分工,进一步提高了生成3D点云数据的速度和准确度。
Description
技术领域
本发明涉及3D相机领域,特别是涉及一种基于ARM和FPGA的双目3D相机系统和控制装置。
背景技术
双目3D相机是一种用于获取三维(3D)物体和场景的深度信息和形状的设备。双目3D相机系统通常包括一个光源和两个相机,其工作原理是:向物体投射已知的结构光模式(例如条纹、光环等),然后令两个相机从不同的角度拍摄物体的图像;通过比较两个相机捕捉到的图像之间的差异,可以分析结构光模式在物体表面的变形和扭曲,从而计算出物体与相机之间的距离,最终生成表述物体的深度信息和形状的3D点云数据。
现有的双目3D相机系统存在生成的3D点云数据准确度较低、计算速度较慢的缺陷。其技术难点在于,3D点云数据生成算法需要消耗大量算力,通用的嵌入式计算设备的性能无法满足快速准确地生成3D点云数据的需求。
发明内容
基于此,本发明的目的在于,提供一种基于ARM和FPGA的双目3D相机系统和控制装置,其具有快速准确地生成3D点云数据的优点。
一种基于ARM和FPGA的双目3D相机系统,包括第一相机、第二相机和投影仪,其特征在于:包括控制装置;所述控制装置包括:ARM处理器和FPGA处理器;所述FPGA处理器控制所述投影仪投影结构光图像;所述ARM处理器控制所述第一相机拍摄第一投影图像,控制所述第二相机拍摄第二投影图像;所述FPGA处理器根据所述第一投影图像和第二投影图像,生成3D点云数据;所述ARM处理器将所述3D点云数据上传至上位机。
本发明所述的双目3D相机系统,在ARM和FPGA的嵌入式平台上实现了快速准确地生成3D点云数据;合理安排了ARM处理器和FPGA处理器的分工,进一步提高了生成3D点云数据的速度和准确度。
进一步地,所述FPGA处理器包括LVDS接口;所述FPGA处理器通过控制总线和LVDS接口连接所述投影仪;所述FPGA处理器通过所述LVDS接口将结构光图案数据传输至所述投影仪,通过所述控制总线向所述投影仪发送投影控制信号;所述投影仪根据所述结构光图案数据和投影控制信号,投影结构光图案。
进一步地,所述ARM处理器通过高速总线连接所述FPGA处理器;所述ARM处理器控制所述第一相机拍摄第一投影图像后,将所述第一投影图像通过所述高速总线传输至所述FPGA处理器;所述ARM处理器控制所述第二相机拍摄第二投影图像后,将所述第二投影图像通过所述高速总线传输至所述FPGA处理器;所述FPGA处理器生成3D点云数据后,将所述3D点云数据通过所述高速总线传输至所述ARM处理器。
进一步地,所述ARM处理器获取到所述第一投影图像和第二投影图像后,还对所述第一投影图像和第二投影图像进行预处理,得到预处理图像;然后将所述预处理图像通过高速总线传输至所述FPGA处理器;所述FPGA处理器根据所述预处理图像生成3D点云数据。
进一步地,所述ARM处理器还包括DDR内存;所述ARM处理器获取到所述第一投影图像和第二投影图像后,将所述第一投影图像和第二投影图像保存在所述DDR内存中;所述ARM处理器接收到所述FPGA处理器传输的所述3D点云数据后,将所述3D点云数据保存在所述DDR内存中。
进一步地,所述ARM处理器包括第一以太网接口、第二以太网接口和第三以太网接口;
所述ARM处理器通过所述第一以太网接口连接所述第一相机,通过所述第二以太网接口连接所述第二相机,通过所述第三以太网接口连接所述上位机。
进一步地,所述控制装置还包括存储器;所述存储器通过存储总线与所述ARM处理器连接,用于保存长期数据。
进一步地,所述ARM处理器还包括若干调试接口;所述ARM处理器还通过控制总线连接所述投影仪。
进一步地,所述存储器为EMMC和Q Flash;所述控制总线为I2C总线。
基于同一发明构思,本发明还提供一种基于ARM和FPGA的双目3D相机系统控制装置,包括ARM处理器和FPGA处理器;所述FPGA处理器控制投影仪投影结构光图像;所述ARM处理器控制第一相机拍摄第一投影图像,控制第二相机拍摄第二投影图像;所述FPGA处理器根据所述第一投影图像和第二投影图像,生成3D点云数据;所述ARM处理器将所述3D点云数据上传至上位机。
为了更好地理解和实施,下面结合附图详细说明本发明。
附图说明
图1为双目3D相机生成3D点云的原理示意图;
图2为本发明实施例1的基于ARM和FPGA的双目3D相机系统模块示意图;
图3为本发明实施例2的基于ARM和FPGA的双目3D相机系统模块示意图。
具体实施方式
现有的双目3D相机系统中,通用的嵌入式计算设备的性能无法满足快速准确地生成3D点云数据的需求,为此本发明提供一种基于ARM和FPGA的双目3D相机系统,其能够在嵌入式计算设备上实现快速准确地生成3D点云数据。本发明还合理安排了ARM处理器和FPGA处理器的分工,进一步提高了生成3D点云数据的速度和准确度。
实施例1
请参阅图1和图2,图1为双目3D相机生成3D点云的原理示意图,图2为本发明实施例1的基于ARM和FPGA的双目3D相机系统模块示意图。本发明实施例1的基于ARM和FPGA的双目3D相机系统,包括第一相机1、第二相机2、投影仪3和控制装置4。
所述投影仪3在被测物体的表面投影结构光图案。所述第一相机1和第二相机2分别从不同的角度拍摄表面投影有结构光图案的被测物体,获得第一投影图像和第二投影图像。所述控制装置4根据所述第一投影图像和第二投影图像重建3D点云数据,并将所述3D点云数据上传至上位机。所述控制装置4还控制所述投影仪投影结构光图案,以及控制所述第一相机1和第二相机2拍摄被测物体。
具体地,在本实施例中,所述投影仪3为DLP成像投影仪。所述DLP成像投影仪包括光源、光路组件、数字光芯片、输出透镜和光控制单元。所述光源发射初始光束,所述初始光束经过所述光路组件的处理后,投射在所述数字光芯片上。所述数字光芯片按照一定的程序反射所述初始光束,其反射光束经过所述输出透镜的整形,在被测物体的表面投影出预设图案。
所述数字光芯片的反射面包括若干角度不同的子反射面,所述数字光芯片按照一定的程序改变若干子反射面的角度,即可改变反射光束所对应的投影图案。可见,在所述DLP成像投影仪中,所述光源决定了预设图案的亮度;所述数字光芯片反射所述初始光束的程序,决定了预设图案的具体形态。所述光控制单元,控制所述光源的亮度和所述数字光芯片的程序,从而控制了所述预设图案的亮度和图案。
在本实施例中,所述预设图案为结构光图案。所述控制装置4保存有结构光图案数据,并将所述结构光图案数据传输给所述投影仪3的光控制单元。所述光控制单元根据所述结构光图案数据控制所述光源的亮度和所述数字光芯片的程序,从而使结构光图案投影在被测物体的表面。
具体地,请参阅图2,所述控制装置4包括:ARM处理器41和FPGA处理器42。所述ARM处理器41接收外部上位机的指令,控制所述FPGA处理器42、第一相机1和第二相机2。所述FPGA处理器42根据所述第一相机1和第二相机2拍摄的图像重建3D点云数据。所述ARM处理器41将所述FPGA处理器42生成的3D点云数据传输至上位机。
其中,所述ARM处理器41通过高速总线连接所述FPGA处理器42。所述ARM处理器包括第一以太网接口、第二以太网接口、第三以太网接口和DDR内存。所述ARM处理器41通过所述第一以太网接口连接所述第一相机1,控制所述第一相机1的拍摄,并接收所述第一相机1拍摄的第一投影图像。所述ARM处理器41通过所述第二以太网接口连接所述第二相机2,控制所述第二相机2的拍摄,并接收所述第二相机2拍摄的第二投影图像。所述ARM处理器41通过所述第三以太网接口连接外部上位机,接收外部上位机的控制指令,以及将3D点云数据传输至上位机。所述DDR内存用于保存临时数据。
其中,所述FPGA处理器42通过高速总线与所述ARM处理器41连接,接收所述ARM处理器41发送的控制信号。所述FPGA处理器41包括LVDS(Low-Voltage DifferentialSignaling,低电压差分信号)接口。所述FPGA处理器41通过控制总线和LVDS接口连接所述投影仪3的光控制单元。在本实施例中,所述控制总线是指I2C(Inter-IntegratedCircuit)总线。
所述FPGA处理器42内部保存有结构光图案数据。所述FPGA处理器42通过LVDS接口将所述结构光图案数据传输给所述投影仪3的光控制单元;然后通过控制总线向所述投影仪3的光控制单元传输投影控制信号。所述投影仪3的光控制单元,根据所述结构光图案数据和投影控制信号,控制所述投影仪3的光源的亮度和数字光芯片的程序,从而使结构光图案投影在被测物体的表面。所述FPGA处理器42还根据所述ARM处理器41传输的第一投影图像和第二投影图像,重建3D点云数据,并将所述3D点云数据通过高速总线传输给所述ARM处理器41。
本发明实施例1的基于ARM和FPGA的双目结构光3D相机系统的正常工作流程为:
所述上位机通过所述第三以太网接口向所述ARM处理器41发出点云生成指令。所述ARM处理器41接收到所述点云生成指令后,通过高速总线向所述FPGA处理器42发送控制指令。
所述FPGA处理器42接收到所述ARM处理器41发送的控制指令后,将保存的结构光图案数据通过LVDS传输至所述投影仪3的光控制单元;然后通过控制总线向所述投影仪3的光控制单元传输投影控制信号。
所述光控制单元根据所述结构光图案数据和投影控制信号,控制所述投影仪3的光源和数字光芯片,使得结构光图案投影在被测物体表面。
所述ARM处理器41通过所述第一以太网接口和第二以太网接口,分别控制所述第一相机1和第二相机2拍照,获得第一投影图像和第二投影图像,并将所述第一投影图像和第二投影图像保存至所述DDR内存中。在一个实施例中,所述第一投影图像和第二投影图像分别包括若干张投影图像;若干张投影图像对应的结构光图案不相同。每次结构光图案变化时,所述FPGA处理器42都向所述光控制单元发送结构光图案数据和投影控制信号,然后所述ARM处理器41控制所述第一相机1和第二相机2拍摄一次投影图像。每次结构光图案变化都拍摄一次投影图像,多个不同的结构光图案就对应了多张第一投影图像和第二投影图像。
所述ARM处理器41对所述第一投影图像和第二投影图像进行预处理,得到预处理图像,并将所述预处理图像通过高速总线传输至所述FPGA处理器42。
所述FPGA处理器42根据所述预处理图像执行3D点云生成算法,获得3D点云数据。所述FPGA处理器42将所述3D点云数据通过高速总线传输至所述ARM处理器41的DDR内存中。
所述ARM处理器41通过所述第一以太网接口将所述3D点云数据传输至所述上位机。
实施例2
请参阅图3,图3为本发明实施例2的基于ARM和FPGA的双目3D相机系统模块示意图。本发明实施例2的基于ARM和FPGA的双目3D相机系统与实施例1基本相同,其区别在于:本发明实施例2的基于ARM和FPGA的双目3D相机系统具有调试模式。
在本实施例中,所述控制装置4还包括存储器43。所述存储器43通过存储总线与所述ARM处理器41连接,用于保存长期数据,以供工作人员查看和调试。在一个实施例中,所述存储器为EMMC和Q Flash。
所述ARM处理器41还包括若干调试接口。所述调试接口包括HDMI(HighDefinition Multimedia Interface,高清多媒体接口)接口、UART(UniversalAsynchronous Receiver/Transmitter,通用异步收发器)接口、USB(Universal SerialBus,通用串行总线)接口和Micro SD接口。工作人员可以通过所述调试接口,对所述ARM处理器41进行调试。例如,所述ARM处理器41获得第一投影图像和第二投影图像后,可以将所述第一投影图像和第二投影图像通过存储总线保存至所述存储器43,并通过HDMI接口将图像输出至外部显示器,以供工作人员查看和调试。
所述ARM处理器41还通过控制总线(I2C总线)连接所述投影仪3的光控制单元。在正常工作流程中,所述FPGA处理器42通过控制总线将所述光控制单元传输投影控制信号,所述ARM处理器41与所述光控制单元没有直接联系。而在调试模式下,工作人员能够通过ARM处理器直接控制所述光控制单元,从而方便了工作人员调试所述光控制单元。
本发明的基于ARM和FPGA的双目3D相机系统具备以下有益效果:
1、本发明在ARM+FPGA的嵌入式平台上实现了快速准确地生成3D点云数据,克服了现有的嵌入式计算设备生成的3D点云数据准确度较低、计算速度较慢的缺陷。
2、本发明合理安排ARM处理器和FPGA处理器的分工,进一步提高了生成3D点云数据的速度和准确度。由于FPGA处理器擅长并行计算,而3D点云数据重建算法存在着大量重复运算,因此令所述FPGA处理器执行3D点云数据重建算法。由于ARM处理器上运行的是实时性较差的操作系统,且ARM处理器不具备LVDS接口,因此令所述FPGA处理器存储并传输结构光图案数据。由于传输结构光图案数据和控制投影仪投影的步骤需要保证严格的时序,所以由所述FPGA处理器来发送投影控制信号。由于投影和拍摄的时间间隔尽量小,能够提高3D点云数据的生成速度,因此令ARM处理器和FPGA处理器分别控制投影仪投影和相机拍摄。本发明针对双目3D相机系统的特性,合理安排了ARM处理器和FPGA处理器的分工,提高了生成3D点云数据的速度和准确度。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,则本发明也意图包含这些改动和变形。
Claims (10)
1.一种基于ARM和FPGA的双目3D相机系统,包括第一相机、第二相机和投影仪,其特征在于:包括控制装置;所述控制装置包括:ARM处理器和FPGA处理器;
所述FPGA处理器控制所述投影仪投影结构光图像;
所述ARM处理器控制所述第一相机拍摄第一投影图像,控制所述第二相机拍摄第二投影图像;
所述FPGA处理器根据所述第一投影图像和第二投影图像,生成3D点云数据;
所述ARM处理器将所述3D点云数据上传至上位机。
2.根据权利要求1所述的基于ARM和FPGA的双目3D相机系统,其特征在于:
所述FPGA处理器包括LVDS接口;所述FPGA处理器通过控制总线和LVDS接口连接所述投影仪;
所述FPGA处理器通过所述LVDS接口将结构光图案数据传输至所述投影仪,通过所述控制总线向所述投影仪发送投影控制信号;所述投影仪根据所述结构光图案数据和投影控制信号,投影结构光图案。
3.根据权利要求2所述的基于ARM和FPGA的双目3D相机系统,其特征在于:
所述ARM处理器通过高速总线连接所述FPGA处理器;
所述ARM处理器控制所述第一相机拍摄第一投影图像后,将所述第一投影图像通过所述高速总线传输至所述FPGA处理器;所述ARM处理器控制所述第二相机拍摄第二投影图像后,将所述第二投影图像通过所述高速总线传输至所述FPGA处理器;
所述FPGA处理器生成3D点云数据后,将所述3D点云数据通过所述高速总线传输至所述ARM处理器。
4.根据权利要求3所述的基于ARM和FPGA的双目3D相机系统,其特征在于:
所述ARM处理器获取到所述第一投影图像和第二投影图像后,还对所述第一投影图像和第二投影图像进行预处理,得到预处理图像;然后将所述预处理图像通过高速总线传输至所述FPGA处理器;所述FPGA处理器根据所述预处理图像生成3D点云数据。
5.根据权利要求4所述的基于ARM和FPGA的双目3D相机系统,其特征在于:
所述ARM处理器还包括DDR内存;
所述ARM处理器获取到所述第一投影图像和第二投影图像后,将所述第一投影图像和第二投影图像保存在所述DDR内存中;
所述ARM处理器接收到所述FPGA处理器传输的所述3D点云数据后,将所述3D点云数据保存在所述DDR内存中。
6.根据权利要求5所述的基于ARM和FPGA的双目3D相机系统,其特征在于:
所述ARM处理器包括第一以太网接口、第二以太网接口和第三以太网接口;
所述ARM处理器通过所述第一以太网接口连接所述第一相机,通过所述第二以太网接口连接所述第二相机,通过所述第三以太网接口连接所述上位机。
7.根据权利要求6所述的基于ARM和FPGA的双目3D相机系统,其特征在于:
所述控制装置还包括存储器;所述存储器通过存储总线与所述ARM处理器连接,用于保存长期数据。
8.根据权利要求7所述的基于ARM和FPGA的双目3D相机系统,其特征在于:
所述ARM处理器还包括若干调试接口;
所述ARM处理器还通过控制总线连接所述投影仪。
9.根据权利要求8所述的基于ARM和FPGA的双目3D相机系统,其特征在于:
所述存储器为EMMC和Q Flash;
所述控制总线为I2C总线。
10.一种基于ARM和FPGA的双目3D相机系统控制装置,其特征在于:
包括ARM处理器和FPGA处理器;
所述FPGA处理器控制投影仪投影结构光图像;
所述ARM处理器控制第一相机拍摄第一投影图像,控制第二相机拍摄第二投影图像;
所述FPGA处理器根据所述第一投影图像和第二投影图像,生成3D点云数据;
所述ARM处理器将所述3D点云数据上传至上位机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410024190.4A CN117812240A (zh) | 2024-01-05 | 2024-01-05 | 一种基于arm和fpga的双目3d相机系统和控制装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410024190.4A CN117812240A (zh) | 2024-01-05 | 2024-01-05 | 一种基于arm和fpga的双目3d相机系统和控制装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117812240A true CN117812240A (zh) | 2024-04-02 |
Family
ID=90431564
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410024190.4A Pending CN117812240A (zh) | 2024-01-05 | 2024-01-05 | 一种基于arm和fpga的双目3d相机系统和控制装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117812240A (zh) |
-
2024
- 2024-01-05 CN CN202410024190.4A patent/CN117812240A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI668997B (zh) | 產生全景深度影像的影像裝置及相關影像裝置 | |
KR102243499B1 (ko) | 중앙 처리 장치와 그래픽 처리 장치와 필드 프로그램 가능 게이트 어레이가 결합된 아키텍처 기반의 자동 광학 탐지 시스템 | |
CN106550228B (zh) | 获取三维场景的深度图的设备 | |
US10630884B2 (en) | Camera focusing method, apparatus, and device for terminal | |
US6930685B1 (en) | Image processing method and apparatus | |
CN113514008B (zh) | 三维扫描方法、三维扫描系统和计算机可读存储介质 | |
CN111678459B (zh) | 三维扫描方法、三维扫描系统和计算机可读存储介质 | |
JP2010113720A (ja) | 距離情報を光学像と組み合わせる方法及び装置 | |
CN110544273B (zh) | 运动捕捉方法、装置以及系统 | |
CN204902786U (zh) | 可降低被测物表面反光的三维测量系统 | |
CN103985157A (zh) | 一种结构光三维扫描方法及系统 | |
Castaneda et al. | Stereo time-of-flight | |
EP3832601A1 (en) | Image processing device and three-dimensional measuring system | |
JP2019190974A (ja) | キャリブレーション装置、キャリブレーション方法、及びプログラム | |
CN204302650U (zh) | 一种可自动校正几何失真的投影机 | |
US20210375064A1 (en) | Three-dimensional measurement device | |
CN105136059A (zh) | 可降低被测物表面反光的三维测量系统 | |
JP2019215811A (ja) | 投影システム、画像処理装置および投影方法 | |
JP2016040520A (ja) | 物体検出装置 | |
CN110044266B (zh) | 基于散斑投影的摄影测量系统 | |
CN109753158B (zh) | 一种vr设备延时的确定方法及控制终端 | |
CN108873595B (zh) | 超高速飞行模型前光及阴影成像装置 | |
CN117812240A (zh) | 一种基于arm和fpga的双目3d相机系统和控制装置 | |
CN112565733A (zh) | 基于多相机同步拍摄的三维成像方法、装置及拍摄系统 | |
US11143499B2 (en) | Three-dimensional information generating device and method capable of self-calibration |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |