首页 > 编程知识 正文

嵌入式产品开发(嵌入式项目实践)

时间:2023-05-04 02:17:51 阅读:85433 作者:4061

FGA软件、定制处理器、单板计算机和紧凑视觉系统的发展为设计师构建嵌入式视觉系统提供了许多选择。

随着更高速的处理器、基于FPGA的知识产权(IP )、定制图像处理器、开源软件和模块化紧凑的视觉系统的出现,设计师在开发嵌入式视觉系统时有了许多选择, 但是,嵌入式视觉系统的定义可以宽松地描述为嵌入式计算机和视觉系统的组合,但是嵌入式视觉系统的具体结构取决于制造的最终产品。

例如,为汽车APP设计智能蜂窝移动设备和视觉系统的设计者们需要高度集成、牢固、可靠、紧凑的视觉处理器和图像传感器; 内窥镜等医疗图像形成系统的开发者,有可能需要能够集成到终端用户产品的壳体中的不太紧凑的板级系统。 在面向机器视觉市场的集成系统中,智能摄像机可能被视为这样的嵌入式机器视觉系统。 但是,许多机器视觉系统的开发人员认为,嵌入式视觉系统是强健、可扩展的产品,可以使用现成的软件部署各种摄像机接口。

硬件和软件产品的组合

在开发任何类型的嵌入式视觉系统的产品时,开发人员必须意识到可用的各种硬件和软件产品的最佳组合。 例如,移动设备开发者可以利用包括多个处理单元的嵌入式视觉处理器来执行图像形成任务。 类似地,相机和图像捕获板的设计者也可以利用FPGA供应商的知识产权(IP ),执行相机的标准接口转换、拜耳插值、镜头失真校正等功能。

嵌入式视觉处理器可能包括多个超长指令字(VLIW )、指令集简化) CPU和定制的硬件,但嵌入式视觉处理器的设计者就是这样例如,Synopsys公司的EV61、EV62和EV64嵌入式视觉处理器组合了带DSP的32位标量核和优化的卷积神经网络(CNN )引擎。 为了加快软件开发,这些设备基于Khronos集团设计的免版税计算机视觉APP平台的加速标准opencv(3358opencv.org )和OpenVX )

同样,Movidius的Myriad 2处理器也包含12个128位VLIW处理器和2个32位RISC处理器的混合处理单元。 除了软件开发工具包(SDK )将独特的功能集成到开发人员中之外,Movidius还提供了参考设计,如摄像头和MEM )传感器(参见图1 )。

图1 )使用Movidius“Myriad 2”处理器的开发者可以享受参考设计,包括该公司提供的软件开发工具包SDK、摄像机和微机电传感器。

可以将单个图像处理器集成到嵌入式系统中,但也可以选择加快视觉处理任务的速度。 这包括将嵌入式“软核”处理器或IP嵌入到系统使用的FPGA中。 这些产品可以用于开发智能相机、无人机、基于FPGA的图像采集卡等产品。

这样的软核IP处理器的一个例子是CEVA公司的vector blox mxp矩阵处理器。 作为为FPGA设计的可伸缩软核心处理器,该IP可以作为插件IP块在FPGA上实现,在图像处理中常见的2D矩阵和3D矩阵上执行并行向量处理器算法。 根据CEVA的说法,这个软核处理器内核可以将Xilinx标准微处理器的性能提高至少1~2个数量级。 利用这一优势,台湾的Altek公司最近获得了CEVA的IP许可,通过公司的无人机和智能摄像机执行目标探测、跟踪和3D深度传感器任务。

FPGA库

正如摄像头和图像采集卡的开发人员可以利用软核处理器的强大功能一样,嵌入式视觉系统的开发人员也可以利用FPGA IP库执行专用的图像处理任务。 这些任务包括图像预处理功能,如摄像机界面、拜耳插值、图像压缩、立体视觉、面部检测和运动检测。

具有GigE Vision、CameraLink、CoaXPress等标准摄像头接口的机器视觉系统开发人员可以使用FPGA供应商和第三方供应商提供的IP执行这些任务。 例如,Xilinx公司已经开发了FPGA内核——GigEVCore1.2,可以将GigE Vision的控制和消息通道映射到诸如MicroBlaze之类的软核心嵌入式处理器上。 德国传感器至图像公司开发的FPGA IP内核支持Xilinx和Altera的FPGA,设计者通过FPGA使用相机链路、千兆视频和CoaXPress(CXP )接口

在使摄像机接口更加简单的同时,高密度FPGA的出现将许多图像预处理功能集成到了FPGA中。 虽然CPU可以执行拜耳插值、缺陷像素校正、颜色平衡等预处理算法,但是在FPGA中执行这些任务更有效率。 以前,照相机和图像采集卡的开发者需要开发这些算法; 目前,供应商为执行这些任务提供了IP库。

德国的CoSynth公司提供了几个优化的IP内核,用于“支持拜尔模式的去马赛克、颜色空间转换、图像分割和形态学运算等图像处理功能”的FPGA中。

为了与基于照相机的系统一起使用,可以提供通过LVDS和以太网集成照相机的IP核心。 同样,克罗地亚Xylon公司的逻辑积木IP内核从拜尔模式中去除马赛克后,可以透明地看到

视变换到镜头校正以及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标准化组织(www.vita.com),其已经定义和开发了VMEbus(及其各种变体)、VPX和夹层卡标准,如PCI夹层卡(PMC)、交换夹层卡(XMC)和FPGA夹层卡(FMC),所有这些主要用于军事和航空航天应用。作为VME标准的最新扩展,VPX标准保留了6U和3U的欧洲标准卡外形尺寸,并支持PMC和XMC夹层卡。欲了解支持VPX标准的公司列表,可登录http://www.vita.com/vpx。

十多年来,业界已经开发了许多图像采集卡和相机接口板卡,以支持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-SIG,https://pcisig.com)负责指定外围组件互连(PCI)、PCI-X、PCI Express(PCIe)和PCI Express迷你卡标准。实施PCIe标准的附加板卡包括基于CompactPCI和COM Express的板卡;COM Express是由PCI工业计算机制造商协会(PICMG,www.picmg.org)定义的。

虽然许多公司支持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附加卡。关于COM Express标准的更多信息,可以访问http://bit.ly/VSD-COMX和http://bit.ly/VSD-COMX2。

小尺寸

适用于嵌入式系统的其他包含PCIe总线的板卡还包括基于PCI/104-Express外形尺寸的板卡。这些电路板的规格由PC/104联盟(http://pc104.org)控制。市面上有很多图像采集卡能够经由不同的相机接口捕获图像。

像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、内插板卡或视觉系统可能起初会比较困难,目前已经有几个组织致力于使这个选择过程更加容易。虽然嵌入式视觉联盟(www.embedded-vision.com)提供了用于构建嵌入式视觉系统的处理器、相机、视觉算法和开发工具等方面的信息,但是最近由Basler推出的Imaginghub(https://imaginghub .com),为开发人员提供了参与和创建嵌入式项目的机会。

此类项目的一些例子包括如何在研华的使用Basler dart相机的AIIS-1200P视觉系统上,用OpenCV和Python 3创建人脸检测脚本。作为Basler Imaginghub的一部分,德国Dream Chip Technologies公司已经开发出可以使用的基于Cyclone V的BCON相机接口IP,用于轻松集成到客户的FPGA设计中。

通过使用定制处理器、基于FPGA的软件、现成的板级产品以及开源和商业化软件,开发人员可以更快速、更经济地构建产品。由于这种发展,嵌入式视觉系统将在工厂自动化、医疗成像、军事和消费应用等各种不同应用中更快地部署。

关于我们

《视觉系统设计》国内视觉行业最好的技术期刊之一,以美国领先媒体品牌Vision System Design为蓝本,主要致力于报道国内外机器视觉及图像处理系统领域的相关内容,包括新闻、新产品、技术、市场动态及应用报道、业内怕孤单的往事采访等,为中国超过9000名工程师、经理人及企业高管提供最新资讯。双月刊,同步有电子快讯及网站内容。

点击 阅读原文 获取更多信息。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。