- 10/17
- 2017
-
QQ扫一扫
-
Vision小助手
(CMVU)
FPGA软件、定制处理器、单板计算机和紧凑型视觉系统的发展,为设计者在构建嵌入式视觉系统时提供了多种选择。
随着更快速的处理器、基于FPGA的知识产权(IP)、定制图像处理器、开源软件和模块化紧凑型视觉系统的出现,设计人员在开发嵌入式视觉系统时有了诸多选择。然而,尽管嵌入式视觉系统的定义可以被松散地描述为嵌入式计算机和视觉系统的组合,但是嵌入式视觉系统的具体组成会根据制造的最终产品而变化。
例如,为汽车应用设计智能蜂窝移动设备或视觉系统的设计者们,需要高度集成、牢固可靠和紧凑型的视觉处理器和图像传感器;而医疗成像系统(如内窥镜)开发者,可能需要一个可以集成到终端用户产品外壳中的、不太紧凑的板级系统。对于那些针对机器视觉市场的集成系统,智能相机可能被视为这样的嵌入式机器视觉系统。然而,很多机器视觉系统的开发人员,认为嵌入式视觉系统是坚固的、可扩展的产品,允许使用现成的软件部署各种相机接口。
软硬件产品的组合
在为任何类型的嵌入式视觉系统开发产品时,开发人员必须意识到可用的各种硬件和软件产品之间的优化组合。例如,移动设备开发人员可以利用包含多个处理单元的嵌入式视觉处理器来执行成像任务。类似地,相机和图像采集卡设计者也可以利用FPGA供应商的知识产权(IP),来执行诸如相机标准接口转换、拜耳插值和镜头失真校正等功能。
虽然嵌入式视觉处理器可能包含多个超长指令字(VLIW)、精简指令集(RISC)CPU和定制硬件来执行图像处理功能,但是嵌入式视觉处理器的设计人员已经意识到编程这样的器件必须易于使用。例如,Synopsys公司的EV61、EV62和EV64嵌入式视觉处理器,将带有DSP的32位标量核与优化的卷积神经网络(CNN)引擎相结合。为了加快软件开发速度,这些器件得到了基于OpenCV和OpenVX的软件编程环境的支持,其中OpenVX是Khronos集团设计的一个免版税的计算机视觉应用跨平台加速标准。
同样,Movidius公司的Myriad 2处理器也包含混合处理单元,包括12个128位VLIW处理器和两个32位RISC处理器。除了能使开发人员整合专有功能的软件开发工具包(SDK)外,Movidius公司还提供了一个参考设计,包括相机和微机电(MEM)传感器(见图1)。
图1:使用Movidius“Myriad 2”处理器的开发人员,可以享受该公司提供的软件开发工具包SDK和一套包含相机与微机电传感器的参考设计。
虽然可以将单个图像处理器可以集成到嵌入式系统中,但是还有其他选项来加速视觉处理任务。这些包括将嵌入式“软核”处理器或IP嵌入到系统中使用的FPGA中。这些产品可用于开发智能相机、无人机和基于FPGA的图像采集卡等产品。
这种软核IP处理器的一个例子是CEVA公司的VectorBlox MXP Matrix处理器。作为一种专为FPGA设计的可扩展软核处理器,该IP可以作为一种插件式IP块在FPGA上实施,其在图像处理中通常出现的2D和3D矩阵上执行并行向量处理器算法。据CEVA表示,该软核处理器内核可以将Xilinx的标准MicroBlaze处理器的性能提升至少1-2个数量级。利用这一优势,台湾Altek公司最近获得了CEVA的IP授权,在公司的无人机和智能相机中执行目标探测与跟踪以及3D深度传感任务。
FPGA库
如同相机和图像采集卡的开发人员可以利用软核处理器的强大功能一样,嵌入式视觉系统开发者们也可以利用FPGA IP库来执行专门的图像处理任务。这些任务包括相机接口、图像预处理功能,如拜耳插值、图像压缩、立体视觉、人脸检测和运动检测等。
对于包含GigE Vision、CameraLink和CoaXPress等标准相机接口的机器视觉系统开发者而言,可以使用FPGA供应商和第三方供应商提供的IP来执行这些任务。例如,Xilinx公司已经开发了一款FPGA内核——GigEVCore1.2,其能将GigE Vision控制和消息通道映射到诸如MicroBlaze之类的软核嵌入式处理器上。德国Sensor toImage公司开发的FPGA IP核,支持Xilinx和Altera公司的FPGA,允许设计者在FPGA上实现Camera Link、GigE Vision和CoaXPress(CXP)接口。
在使相机接口更加容易的同时,高密度FPGA的出现也将许多图像预处理功能集成到了FPGA中。虽然可以在CPU上执行诸如拜耳插值、坏像素校正和色彩平衡等预处理算法,但是在FPGA上执行这些任务会更加高效。过去,相机和图像采集卡开发者需要开发这些算法;现在供应商们提供IP库来执行这些任务。
德国CoSynth公司提供了多种专为在“支持Bayer图案去马赛克、色彩空间转换、图像分割和形态运算等图像处理功能的”FPGA中使用而优化的IP核。
为了与基于相机的系统一起使用,可以提供通过LVDS和以太网集成相机的IP核。类似地,克罗地亚Xylon公司的Logic Bricks IP核,提供从Bayer图案去马赛克、透视变换到镜头校正以及MJPEG解码的诸多图像处理功能。
具体应用
正如许多IP厂商着力于执行这些基本的图像处理功能一样,也有其他一些公司(包括Xylon)已经意识到,需要开发更多的针对特定应用的专用FPGA IP,以加速他们的客户的产品上市时间。例如Xylon公司除了提供上述提到的基本功能外,该公司还开发了用于执行诸如面部检测和跟踪、车辆检测和车辆驾驶员嗜睡检测等任务的专用IP核,其瞄准的全都是某个特定的利基市场。
Xylon并不是唯一开发专用IP核的公司。对于地面、表面和空中物体的运动检测,白俄罗斯的Riftek公司提供的FPGA IP核,可以对物体进行跟踪和运动检测。例如,该公司的T-COR-30跟踪IP核,可以在Xilinx和Altera的FPGA中使用。
对于立体视觉应用,德国Nerian Vision Technologies公司和日本Fujisoft公司,都提供FPGA IP核来执行立体对象匹配,尽管使用不同的算法。
首先调整图像以补偿镜头畸变和相机对准误差,然后Nerian VisionTechnologies公司的立体视觉IP核,通过一种半全局匹配(SGM)算法在两个灰度级输入图像上执行立体匹配。
也有其他的立体方法可以执行这个任务,最有名的是东京工业大学副教授KeijiSaneyoshi博士所使用的绝对偏差(SAD)算法。Fujisoft公司与Altera合作,在Fujisoft的Stereo Vision IP Suite套件中部署了这种算法,从而能够在FPGA硬件和软件的组合中执行立体匹配任务。
不同于使用单独的IP内核,开发人员还可以使用图形编程接口来编程FPGA。这样就允许以数据流的方式实现许多图像处理功能。这些图形编程接口的两个例子是Silicon Software公司的Visual Applets和NI公司的Vision Development Module,后者可以与NI的LabVIEW FPGA模块一起使用,在FPGA上进行图像处理。使用这些图形化接口函数,例如像素处理、图像变换、色彩空间转换和形态操作等功能,能以图形化的方式嵌入到FPGA中。
板级设计
如同图像采集卡和智能相机可能包含FPGA一样,使用板级产品(如现成的CPU、图像采集卡和I/O外设)的嵌入式视觉系统设计人员,甚至面临着更广泛的产品选择。在这里,许多基于OpenVPX、VME、CompactPCI、cPCI Express、PC 104、PC/104 Plus、EPIC、EBX和COM Express板等标准的板级产品,都可以用于构建具有不同相机接口和I/O选项的视觉系统。
对于选择使用板级产品的嵌入式视觉系统开发人员而言,许多标准化组织会提供有价值的信息和制造商的产品列表。这些组织包括VITA标准化组织,其已经定义和开发了VMEbus(及其各种变体)、VPX和夹层卡标准,如PCI夹层卡(PMC)、交换夹层卡(XMC)和FPGA夹层卡(FMC),所有这些主要用于军事和航空航天应用。作为VME标准的最新扩展,VPX标准保留了6U和3U的欧洲标准卡外形尺寸,并支持PMC和XMC夹层卡。
十多年来,业界已经开发了许多图像采集卡和相机接口板卡,以支持PMC夹层卡。随着所谓的“交换结构”接口的出现,许多这些相机接口板卡已经迁移到XMC设计。像较早的基于PMC的设计一样,它们支持多种类型的相机接口。
其中许多这些板卡支持成熟的相机到计算机的接口标准(如Camera Link)以及近期的新标准(如CoaXPress)。例如,美国EIZO Rugged Solutions公司的Condor 4100 XMC系列,是基于AMD Radeon E8860 GPU的XMC设计,支持3G-SDI、HDMI、NTSC和CoaXPress等相机输入标准(见图2)。
图2:支持交换式夹层卡(XMC)格式,EIZO RuggedSolutions公司的Condor 4100 XMC系列,基于AMD的Radeon E8860 GPU,并支持诸如3G-SDI、HDMI、NTSC和CoaXPress(CXP)等相机输入标准。
类似地,外围组件互连特殊兴趣小组负责指定外围组件互连(PCI)、PCI-X、PCI Express(PCIe)和PCI Express迷你卡标准。实施PCIe标准的附加板卡包括基于CompactPCI和COM Express的板卡;COM Express是由PCI工业计算机制造商协会定义的。
虽然许多公司支持PCIe标准、允许具有不同输出的相机与主机连接,但是希望降低系统成本和尺寸的嵌入式视觉系统设计人员,现在可以利用多种小尺寸PCI Express迷你卡的功能执行此任务。
生产这种PCI Express迷你板卡的公司和相应的产品包括:英国AdvancedMicro Peripherals公司的八通道NTSC/PAL图像采集卡AVC8000nano;台湾AVerMedia公司的支持单一3G-SDI输入的CM313BW;美国Imperx公司的HD-SDI VCE-HDmPCIe01;以及美国EPIX公司的PIXCI EB1mini Base Camera Link卡。
COM Express
嵌入式系统设计人员还有其他选择。根据要实现的应用,计算机模块(COM)板卡的使用,为开发人员提供了一种实现嵌入式单板计算机或将这种处理器模块与包含其他特定应用I/O的载板相结合的手段。通常,这种COM Express板卡由处理器、存储器、图形显示单元以及包括以太网、USB 3和VGA功能在内的多种类型的I/O组成。
使用USB3或以太网接口相机的开发人员,可以利用这些接口标准、使用COM Express板卡来构建相对便宜的成像系统。COM Express板卡的一个例子是研华公司的SOM-6898,它是一款配有Intel i7处理器的Type 6 COM Express紧凑型模块,具备使用小型双列直插式内存模块的高达32GB的内存、以太网、USB和图形接口(见图3)。在需要其他相机接口标准的地方,COM Express载板可以增加嵌入式视觉系统的功能。
图3:COM Express板卡为设计人员提供了一种实现嵌入式单板计算机或与载板一起使用这种处理器模块来增加系统功能的方法。研华的SOM-6898 Type 6 COM Express紧凑型模块,具有Intel i7处理器、32GB内存、以太网,USB和图形接口,可以独立使用或与载板一起使用。
凌华科技的Express-BASE6就是一款ATX尺寸的COM Express Type 6载板,可与COM Express Type 6模块一起使用,并且可以根据需要增加1个、4个或16个PCI Express附加卡。
小尺寸
适用于嵌入式系统的其他包含PCIe总线的板卡还包括基于PCI/104-Express外形尺寸的板卡。这些电路板的规格由PC/104联盟控制。市面上有很多图像采集卡能够经由不同的相机接口捕获图像。
像XMC夹层卡一样,PCI/104-Express支持多种类型的模拟和数字输入,包括Camera Link和CoaXPress(CXP)标准。也许PCI/104-Express板卡是市面上第一个在这种外形尺寸级别支持CXP标准的板卡,Euresys公司的Coaxlink Duo PCIe/104-EMB板卡,具有两个CoaXPress CXP-6通道,每个通道具有1250MBytes/s的带宽(见图4)。
图4:PCI/104-Express板卡支持多种类型的模拟和数字相机与接口。Euresys的Coaxlink Duo PCIe/104-EMB板卡,堪称是首款支持CXP标准的产品,其具有两个CoaXPress CXP-6通道,每个通道的带宽为1250MBytes/s。
正如使用COM Express处理器板的设计人员可以使用载板扩展他们的系统一样,使用图像采集卡的开发人员,也可以使用多个PCI/104 Express模块和载板,为基于PCI/104-Express的系统增加处理和I/O功能。这里,称为EPIC(面向工业计算的嵌入式平台)和EBX(可扩展的嵌入式板卡)的两种不同外观尺寸的单板,允许将不同类型的PC/104模块添加到主单板计算机中。
例如,Diamond Systems公司的Atlas PCI/104-Express SBC板卡,是带有Intel Atom N2800 CPU的PCI/104-Express单板计算机,其允许增加PCI-104和PCIe/104板卡。通过这种方式,使用PCIe/104图像采集卡的视觉系统,可以加入USB 2.0、千兆以太网、SATA和数字I/O功能。
众多选择
选择哪种类型的处理器、IP、内插板卡或视觉系统可能起初会比较困难,目前已经有几个组织致力于使这个选择过程更加容易。虽然嵌入式视觉联盟提供了用于构建嵌入式视觉系统的处理器、相机、视觉算法和开发工具等方面的信息,但是最近由Basler推出的Imaginghub,为开发人员提供了参与和创建嵌入式项目的机会。
此类项目的一些例子包括如何在研华的使用Basler dart相机的AIIS-1200P视觉系统上,用OpenCV和Python 3创建人脸检测脚本。作为Basler Imaginghub的一部分,德国Dream Chip Technologies公司已经开发出可以使用的基于Cyclone V的BCON相机接口IP,用于轻松集成到客户的FPGA设计中。
通过使用定制处理器、基于FPGA的软件、现成的板级产品以及开源和商业化软件,开发人员可以更快速、更经济地构建产品。由于这种发展,嵌入式视觉系统将在工厂自动化、医疗成像、军事和消费应用等各种不同应用中更快地部署。