“让ZYNQ走的更远”:适用于ZYNQ的机器视觉开发软件

作者:清风流云

机器视觉
机器视觉,是人工智能的一个重要分支,与之相关的学科涉及图像处理、计算机图形学、模式识别、人工神经元网络等。自上世纪70年代,MIT人工智能实验室正式开设“机器视觉”课程以来,开始了全球性的研究热潮,机器视觉获得蓬勃发展,新概念,新理论也不断涌现,随之而来的不仅是大学和研究所中一些图像处理和模式识别实验室的增加,机器视觉类的公司也如雨后春笋般涌现,开发了第一代的图像处理产品,例如基于ISA总线的灰度级图像采集卡,和一些简单的图像处理软件库等,从2000年至今,主要的国际机器视觉厂商也开始进入中国,诸如:DVT,Omron,Matsushita,Cognex等。

机器视觉是指利用相机,摄像机等传感器,配合机器视觉算法赋予智能设备人眼的功能,对物体进行识别、检测、测量等功能。应用范围涵盖了工业、农业、医药、军事、航天、气象、天文、公安、交通、安全、科研等国民经济的各行各业。如今,随着中国成为世界机器视觉发展最活跃地区之一,机器视觉对我们的工业生产和日常生活将产生深刻影响。

图1 机器视觉系统的基本组成

图1 机器视觉系统的基本组成

适用于嵌入式的机器视觉应用开发的开发软件
大家都知道,机器视觉处理的软件复杂繁复,几乎都运行在PC机上。但是上周MVtec 发布了一版主流的视觉软件HALCON Embedded,它拥有大量的2D和3D图像处理函数库,兼容多种视频设备,支持使用C,C++以及其他开发语言开发自己的机器视觉程序,最主要的是它支持在PC机上开发应用程序,但是应用程序可以直接运行在用户自己的嵌入式系统上,比如基于Xilinx Zynq-7000 SoC的嵌入式硬件上。

图2、HALCON Embedded

图2、HALCON Embedded

图3、HALCON Embedded 在Xilinx Zynq-7000上运行

图3、HALCON Embedded 在Xilinx Zynq-7000上运行

为什么是Zynq?
机器视觉库往往较庞大,运行算法较复杂,虽然很难在功能简单的单片机、树莓派、arduino系统上顺利运行,但是可以选择实现复杂功能的ARM、DSP等高级芯片。但是我认为此款软件首选Zynq的主要原因主要有几点,首先,复杂的机器视觉算法主要运行在ARM处理上起,在Xilinx Zynq-7000 SoC中集成了双核的ARM Cortex-A9处理器,此外,视觉算法有大量重复的复杂运算,这些运算经过提取转换可以实现硬件并行处理,这就需要在FPGA上实现软件程序的硬件化,而Zynq中集成了规模可观的可编程逻辑部分,完全可以完成算法的硬件加速,同时也提供了丰富的可配置逻辑接口,可见实现视觉数据的算法处理,选择Zynq完全是上上之选。

总结
Xilinx Zynq SoC采用ARM+FPGA的架构,解决了大量开发者软件硬件均可编程的愿望,也完美解决了许多软件算法的硬件加速,越来越多的开发者发现其强大的开发价值,Xilinx Zynq SoCs也将应用在越来越多的应用中。

声明:本文为原创文章,转载需注明作者、出处及原文链接,否则,本网站将保留追究其法律责任的权利