机器视觉究竟指什么?简而言之,这是一项深度融合了图像处理、机械工程、光学成像、传感器技术以及计算机软硬件等多个领域的综合性技术。一套典型的机器视觉应用系统,通常由图像采集、光源系统、图像数字化模块、数字图像处理模块、智能决策判断模块以及机械控制执行模块等部分构成。
机器视觉在工业市场的应用
用机器视觉替代人工,其最大优势在于能够同步提升生产效率与产品质量。正因如此,该技术被广泛应用于工业检测(如机械零部件的尺寸与位置测量)、机器人视觉、人脸识别、车牌识别、自动光学检测、无人驾驶汽车、目标追踪与定位等众多场景。
如何实现机器视觉
一套完整的工业机器视觉系统,硬件组成通常包括:光源、镜头(定焦、变倍、远心、显微等类型)、相机(CCD或CMOS)、图像处理单元(也称为图像采集卡)、图像处理软件、显示器,以及通讯/输入输出单元等。
这里需要特别说明图像处理单元,也就是图像采集卡。尽管它只是整个系统中的一个组件,但扮演着至关重要的角色——它直接决定了摄像头的接口类型(黑白、彩色、模拟、数字)、图像处理方式以及最终的图像输出格式。
工业机器视觉——双目图像采集处理实例
下面我们通过一个具体的双目图像采集处理实例,详细展示硬件平台如何支撑机器视觉功能的实现。
一、实例功能
本实例的核心功能是:利用Video In to AXI4-Stream IP核,将两路摄像头(640×480@70)采集的视频数据,通过VDMA缓存至PS端的DDR内存中,再借助OSD IP核将两路图像叠加到1080P60的视频画面,最后通过VGA接口输出显示。
二、原理框图

三、实例说明
本实例采用BlockDesign设计方法,主要包含以下几个核心环节:
1)摄像头视频采集
视频采集环节使用Video In to AXI4-Stream IP核。在本例程中,该IP核配置为Mono/Sensor模式,每时钟周期处理1个像素(1 pixels per clk),每个色彩数据位宽为8bits。我们采用了两个此类IP核,分别采集两路摄像头的图像,具体配置如下:


2)视频数据传输缓存
视频数据传输缓存环节采用VDMA(AXI Video Direct Memory Access)IP核。其工作原理较为直观:S2MM通道将视频流数据写入DDR内存进行缓存,而MM2S通道则从DDR中读取图像数据。本例程使用两个VDMA核,每个核配置了4个帧缓冲(framebuffer),数据流宽度为8bits。

3)视频拼接控制
视频拼接控制环节由OSD(Video On Screen Display)IP核实现。该OSD配置了AXI4-Lite接口,通过配置寄存器可以设定输出分辨率(本实例为1080P)、叠加图层数量(两个640×480的图层)以及各图层显示位置。不过本例中并未实际使用AXI4-Lite接口。


4)视频显示输出(VGA)
最后是视频显示输出(VGA)环节,采用AXI-Stream to Video Out IP核。其视频格式配置为RGB,每时钟周期输出1个像素,每个色彩数据位宽为8bits。

四、硬件连接
五、运行效果
用户完全可以在这一套框架的基础上,根据自己的实际需求,对视频图像进行更丰富的配置与处理。例如,通过加入边缘检测算法,即可将其应用于双目立体视觉、虚拟现实等更先进的场景。
