AI驱动的设计应用
汽车、机场、火车站、马路、工厂、电子产品…摄像头可以说随处可见。汽车上的摄像头可以帮我们探测路况,建筑内的摄像头可以保护我们的安全,自动化工厂内的摄像头可以帮助提高货物的质量和吞吐量。无论是哪种应用场景,相机制造商和发烧友们都在追求更高的图像分辨率,也就等同于更贵的镜头。
人工智能(AI)算法正在为大家提供一种追求更高分辨率的全新方式。AI算法能够显著提高拍摄图像的清晰度和整体质量,而且成本更低。这项技术适用于所有摄像头,包括普通相机、单反、汽车、无人机、监控系统,甚至门铃和ATM机。
现在几乎所有电子系统中都会嵌入摄像头,那么在摄像头中引入人工智能技术无疑是个好消息。今天我们将一起探讨用于摄像头中的各种神经网络,以及摄像头、镜头与神经网络网络之间应该如何匹配以达到最佳效果。
随着数字成像技术的出现,比特和字节取代了胶片,像素数成为衡量图像质量的指标。图像中的微小色点越多,图像分辨率就越高。在传统相机上,镜头将光聚焦到胶片上,从而形成图像。而在数码相机中,则由图像传感器将光转换为电荷,其中图像传感器通常为互补金属氧化物半导体(CMOS)或电荷耦合器件(CCD)。
CMOS图像传感器通常用在智能手机中,它由彩色滤光片层提供颜色,同时由光电二极管将光转换为电信号,最终形成数字图像。在人工视觉和图像识别等部分应用中,CMOS传感器与片上图像处理电路配合使用来生成视觉图像。而CCD图像传感器多见于机器视觉系统中。CCD是集成电路上的晶体管光传感器,它负责整合接收到的光,并将电子转换为电信号,然后由相机最终以视频或静态图像格式输出。
维也纳工业大学(TU Wien)研发了一款内置神经网络的超高速图像传感器,在经过训练后,该传感器可在几纳秒时间内识别某些对象。研发人员指出,该芯片无需电脑来读取和处理任何图像数据,因而在科研或其他专业领域中具有很大的应用潜力。目前,神经网络通常在嵌入式视觉处理器或神经处理单元(NPU)上运行,用来改进图像质量、面部识别等各种功能。
深度学习神经网络用于多种不同的应用:智能扬声器的语音识别、移动设备的面部识别、自动驾驶汽车的行人检测等等。它们的价值在于能够灵敏地识别数据集内的模式,而且常常优于人工方式。有多种不同类型的神经网络适用于摄像头应用,借助这些神经网络,可让模糊图像变得清晰,提供更鲜明的色彩,以及消除图像黑边。
此外,它还有一个非常先进的功能,即可以针对人们感兴趣区域进行分隔和自动计算,执行特定的任务,比如,在监控系统中,神经网络能够生成特征图,突出显示图像的最相关部分,以及提供人脸的清晰显示;神经网络还可以在街景图像中对行人进行计数,而不会对天空图像执行这一操作。通过仅处理图像中用户感兴趣的区域,这些算法可以帮助减少所需的内存和计算资源数量,这也是边缘应用的一项重要考虑因素。
适用于视觉应用的几种主要神经网络包括:
对于摄像头应用而言,每种神经网络都各有优劣。过去几年的实践表明,CNN是最适合大规模应用的神经网络,特别是在边缘应用中。目前,结合使用CNN和Transformer神经网络来处理感兴趣区域的方案可以获取更准确的结果。
决定使用哪种类型的神经网络,并选择摄像头镜头,是一个非常复杂的命题,需要在功耗和成本方面进行一些权衡。
镜头价格越贵,提供的分辨率就越高。如今智能手机可以提供超过100MP+的分辩率,从而为机器视觉系统提供更高的精度,使其能够在更远距离之外看到更多物体。人工智能也能够在这个领域发挥作用。开发者无需采用成本高昂的100MP+分辩率镜头,而是可以选择成本更低、分辨率更低的镜头,再结合使用神经网络来提升图像,从而提高图像清晰度。
在决定使用哪种神经网络和镜头时,可以先参考下以下几个比较关键的问题:
通常,通过试验和试错,以及建模和模拟,开发者们可以选择出最适合最终应用的神经网络和镜头。
要对神经网络进行功耗估算,首先要了解相关硬件的性能表现。在这方面,开发者们可以使用建模,不过要注意,建模必须尽可能接近于最终产品,这一点非常重要。有些开发者会运用大量的定制和行业标准算法来了解特定硬件的一系列不同功耗值。
为了更好地了解系统性能,原型和仿真技术能够为建模工作提供支持。比如,新思科技的ZeBu®仿真系统就可以为运行神经网络的SoC系统的功耗进行精确建模。
神经网络的复杂度不断提高,这些系统的输入数据量也在不断增加(例如像素数和色彩分辨率)。为了满足对更高带宽、高效数据传输、大型计算和内存阵列的需求,新思科技凭借在人工智能开发领域的深厚知识,提供了一系列的底层技术产品组合:
从能够拍摄精美人像照片的智能手机,到能够密切监控路况的汽车,再到视觉敏锐的监控系统,以及支持高效生产的自动化工厂,越来越多的应用都要使用摄像头。摄像头应用也在更多地利用人工智能算法来提高图像质量。各种神经网络相继问世,以满足各种嵌入式视觉需求,它们能够达到以前只有高成本镜头才能提供的高图像分辨率。除此之外,开发者们需要在神经网络类型、摄像头镜头、传感器、内存接口、高效处理器和其他底层技术之间取得平衡。
人们越来越离不开高分辨率的图像识别,而开发者们也在一直为此而努力。通过神经网络与硬件之间的优化组合,用户最终能够拍摄的照片会更精美,汽车和建筑可以更安全,自动化工厂内的货物也能更高质量地高效生产。