当一项技术实现三大里程碑时,我们就称它达到了临界点:首先,它具备完成重要任务的技术可行性;其次,它的成本足够低廉来实现这些任务;第三也是最重要的是,非专业人员用它来构建产品也非常容易。这些里程碑可以作为指标,表明一项技术已准备好从星星之火变为燎原之势。在今年的嵌入式视觉峰会上,我们看到明确的证据,表明嵌入式视觉已达到其临界点。
不久前,嵌入式视觉刚刚实现了前两个里程碑。深度神经网络的出现促成了技术可行性这一里程碑,它彻底改变了视觉可以完成的任务。于是乎,在混乱的现实世界场景中对图像进行分类或检测物体成为了可能,在某些情况下,其准确性甚至超过了人类。可以肯定的是,这并不容易,但确实可行。
摩尔定律、市场经济学和特定领域的架构创新则促成了第二个里程碑。现在,只需4.99美元就可以买到一个微型ESP32-CAM开发板,搭载一个240-MHz双核处理器以及一个带有板载图像信号处理器和JPEG编码器的2-MP摄像头模块;这将大大挤压计算机视觉的生存空间,但确实有可能做到,也很难再有比这更低的价格了。如果资金富余,则选择范围会大很多。例如,花99美元可以买到一个具有四核1.4 GHz CPU、128核Maxwell GPU和4 GB内存的Nvidia Jetson Nano开发人员工具包,完成一些更高端的嵌入式视觉处理将绰绰有余。
最重要的是,每个月都有新的处理器出现,其价格、功率和性能点都不同,而且通常采用专门的体系架构来提高计算机视觉和神经网络推理任务的性能。例如赛灵思、Cadence和Synaptics的新产品。
第三个里程碑比较麻烦——易用性,实现它是个难题。深度学习的确从根本上改变了视觉系统的功能;但开发人员必须变成一个超人,要能设计神经网络,收集所需的数据并进行训练,更不用说随后还要在资源有限的嵌入式系统上实现它。不过,在过去几年中这种状况发生了改变,主要有两大原因。
首先,高质量、支持良好的视觉工具和库的广泛可用,让开发人员不再需要从头开始构建嵌入式视觉系统。这其中最著名的是TensorFlow或PyTorch之类的框架以及诸如OpenCV之类的库。但应用广泛的专用神经网络,例如Yolov4或Google Inception,则改变了游戏规则。大多数开发人员已不再设计神经网络;相反,他们更愿意选择一个免费现成的神经网络,针对特定任务对其进行训练。(当然,训练神经网络需要数据。尽管可用的开源数据集不断增多,增加数据或减少所需数据量的技术也不断发展,但根据应用的不同,数据收集仍然是一个极具挑战性的任务。)
这些构件库和工具可能绑定了芯片供应商,例如英伟达的DeepStream SDK,其简化了视频分析管道的创建。尽管DeepStream必须与英伟达的Jetson处理器一起使用,但它仍是供应商提供的最接近完整的解决方案(相对于“仅提供一个芯片”而言)。BDTI和Tryolabs最近刚刚采用DeepStream和YoloV4开发出一款口罩检测智能摄像头产品。
其次,专门用于简化创建嵌入式视觉和边缘AI系统设计过程的工具也越来越多。例如Edge Impulse,这款工具简化了嵌入式机器学习和视觉系统的开发。举例来说,Edge Impulse平台可为上述4.99美金的ESP32-CAM处理器训练并编程图像识别神经网络;同样,对于功能更强大的处理器,英特尔的DevCloud for Edge和OpenVINO工具可以使嵌入式视觉应用更容易在边缘端实现。
回想1990年代,当时的无线通信还是个“新事物”。最开始,它还是一群RF魔术师才能实现的高档魔术。但它跨过了临界点后,如今任何人都可以只花几美元就买到RF模块,在嵌入式产品中实现无线通信。在此过程中,不夸张地说有数十亿个无线单元被销售,其经济影响是巨大的。
如今,嵌入式视觉也处于类似的临界点,让我们期待并见证实这一时刻的到来。
编按:本文作者菲尔·拉普斯利(Phil Lapsley)是咨询公司BDTI的联合创始人
本文为《电子工程专辑》2021年7月刊杂志文章,版权所有,禁止转载。点击申请免费杂志订阅