嵌入式视觉征服市场,在紧凑型设备上实现工业图像处理
在工业图像处理领域,嵌入式视觉,即在嵌入式系统中实现工业图像处理已呈现出明显的增长趋势。对于嵌入式视觉而言,更有意义的做法是:将深度学习 (Deep Learning) 等先进的人工智能技术整合到相应的解决方案中。这样做能让识别率更加稳定,从而满足新应用场景的需求。事实证明,将人工智能程序和基于规则的系统巧妙结合能发挥出巨大的优势。
嵌入式系统的市场蓬勃发展。究其原因,主要在于集成有相应系统的移动设备正在迅速普及。移动设备的普及既影响消费品领域,也波及到了工业领域。很明显,市场对功能更强大的移动电话、智能手机和平板电脑的需求大幅增长。制造商对此做出了反应,开发出功能更强大的设备,并迅速将其推向市场。
工业应用场景也从这一发展中受益匪浅,智能相机、移动视觉传感器、SoM(模块上的系统)和 SoC(芯片上的系统)等紧凑型设备在性能方面丝毫不逊色于消费品领域中的那些移动设备。然而,工业领域的要求与消费品领域的要求仍然有很大的不同:市场上的工业设备必须长期供应,这就要求产品的生命周期也必须相应地延长,至少要维持十年。而且它们还应当拥有高度的故障安全性,能应对恶劣的工业条件。
嵌入式设备优势明显
然而值得注意的是,在工业背景下,嵌入式设备的竞争对手往往是基于 PC 的固定式系统。但前者已凭借一系列优势脱颖而出:除了毫不逊色的强大性能,嵌入式设备占用面积更小,用电量更低,大大减少了废热排放。而且它们在市场上的价格比固定式系统低得多。最后,与工业 PC 相比,嵌入式设备能够更好地应对恶劣的工业条件。有了这些优点,市场对嵌入式设备的需求自然是水涨船高。
因此,如何在嵌入式设备上完成工业图像处理(机器视觉)成为了迫在眉睫的重要课题。机器视觉系统,如 MVTec 公司的标准软件 HALCON,早就被成功运用在常规的固定式工业 PC 上,承担起各种图像处理任务。这种系统仅凭外部特征就能自动识别各种物体,准确度极高。在系统中,如照相机或三维传感器等图像采集设备将被放置在不同的位置,以记录生产过程。在此过程中生成的数字图像数据可以在集成式的机器视觉软件中进行处理,并用于自动化工业价值链中的进一步应用。除物体识别外,系统还能实现产品及工件的缺陷检测和精确搬运等功能。
嵌入式视觉需要高性能的硬件
应用在嵌入式领域的机器视觉被称为嵌入式视觉。如前所述,大多数嵌入式设备已经拥有了性能强大的 CPU 和 GPU,足以使强大的机器视觉功能发挥作用。那么此时,软件方面的问题就变得尤为突出,因为图像处理软件应当与重要且常见的嵌入式平台普遍兼容。例如 Arm® 处理器架构就是重要且常见的嵌入式平台之一,现在大多数智能手机和其他不少移动设备都内置有该架构。只有做到与之兼容,嵌入式设备才能拥有强大的图像处理功能,否则这些功能将只能在固定式 PC 系统上发挥作用。
基于人工智能 (AI) 的技术在嵌入式视觉方面正变得越来越重要。在这些方法中,尤为重要的是深度学习法 (Deep Learning),这种方法以神经网络(卷积神经网络,CNN)为基础架构而成。嵌入式系统之所以能做到性能不断壮大、发展日新月异,人工智能技术正是其最重要的驱动力之一。深度学习的核心是一种综合性的训练,需要对大量数字图像数据进行分析评估。在训练过程中,深度学习算法学习的是那些典型的属性,在这些典型属性的基础上,可以把待识别的对象明确地分配到特定类别中。这就实现了更稳定的识别率,并大大简化了机器视觉过程。此外,深度学习还能实现全新的应用,而这种形式的应用在以前看来是无法想象的。
深度学习加速器加快节奏
然而,像所有人工智能技术一样,深度学习对计算性能有着极高的要求。为了实现高速算法,相应的嵌入式系统需要性能非常强大的硬件。除了 CPU 和 GPU 之外,硬件中还需要有所谓的深度学习加速器。这些特殊模块(例如布置在 SoM 上),可以显著提高深度学习过程的速度。
深度学习加速器的优势是决定性的,这在对比 CPU 和 GPU 的功能时体现得尤为明显:CPU 在处理进程时采用的是串行处理。而 GPU 则有超过 1000 个并行内核,因此它可以对神经网络进行并行处理。这大大缩短了深度学习过程的时间,也就是所谓的“推理”时间。
专用的深度学习加速器除了对神经网络的并行处理外,还具有其他优势,正好符合嵌入式领域的需求:即,尽管性能相当,但它们比 GPU 小得多,而且更节能。这意味着它们可以直接集成到紧凑的嵌入式设备(如智能相机)中。此外,它们通常比高性能 GPU 更便宜。
采用深度学习后的应用性能飞跃
这些优势导致市场对深度学习加速器的需求急剧上升。因此,众多制造商全力以赴,开发出了各种规格的系统并将其推向市场。这股市场热潮不足为奇,因为正是有了这样的加速器,才首次在嵌入式系统上实现了性能堪与中端 PC 相媲美的深度学习推理过程。也就是说,采用了深度学习的应用在性能上的表现可谓是一飞冲天。不比不知道:若是采用在 CPU 上执行图像处理的这种传统方式,嵌入式设备通常要比中端 PC 多花大约五到十倍的时间。
尽管深度学习在嵌入式视觉方面的优势是显而易见的,但人工智能技术并不总是所有应用场景的最佳选择。深度学习固然非常适合分类、(像素精确的)物体识别和缺陷识别等经典应用领域,但在其他领域,这项技术很快就达到了它的极限。究其原因,主要是因为深度学习神经网络的设计本质上存在黑盒问题 (Black Box)。人们无法窥得其内部过程的奥秘,因此也难以理解它做出的种种行为。此外如前所述,深度学习需要非常高性能且专业的硬件平台。然而,紧凑的工业级嵌入式设备并不总是拥有这些能力。最后,对于有些应用场景来说,使用深度学习多少有点小题大做了。在这些情况下,在 CPU 上执行图像处理的传统方法往往才是更为有效的解决方案。
将深度学习与传统算法的系统巧妙结合
出于这些原因,对于嵌入式领域而言更有意义的做法是:将深度学习和基于规则的传统机器视觉方法巧妙地结合起来,变为一种“混合”式的方法。后者可以弥补深度学习功能上的不足,为连续的端到端解决方案铺平道路。例如,基于规则的方法可以使深度学习过程中的决策标准更加透明。毕竟对于某些行业而言,能够完全理解做出具体决策的原因是至关重要的。而在基于规则的系统中,人们就可以有针对性地查看对象分类的具体决策标准。此外,这种混合式的方法也可以加快系统在进行图像处理时的评估速度:当集成在嵌入式设备中的深度学习加速器执行推理时,CPU 压力得到缓解,可以同时执行其他基于规则的处理步骤(例如,图像数据的预处理或后处理)。因此,基于规则的方法与深度学习可谓是天作之合,正好可以弥补深度学习的弱点。这样一来,就可以在嵌入式视觉的应用环境下取得更精确、更快速和更易理解的结果。
总结
在消费品领域不断发展壮大的嵌入式系统让工业应用也受益匪浅。性能的提高意味着现在我们可以在嵌入式系统上解决更广泛的机器视觉任务。当这些解决方案将深度学习方法与基于规则的图像处理算法巧妙地结合起来时,就能帮助用户发挥出巨大的优势。通过这两项技术合二为一所形成的“混合”式方法,可以构建出一套非常平衡的嵌入式视觉系统,一方面能够精确地充分利用硬件,另一方面又确保了整个过程是易于理解的。