澳大利亚国家信息通信技术研究院(NICTA)的Yu Shi在《Smart Cameras: A Review》一文中所指出的,智能相机将会越来越多地部署到医疗、娱乐和教育等领域。在这些领域,每种应用都需要不同类型的智能相机。在过去的十年中,机器视觉应用领域对智能相机的需求稳步增长。
在空间受限的工业过程监控中,使用与基于PC的机器视觉系统连接的大量相机,并不是一种可行性方案。在这种情况下,使用包含了相机和PC功能的智能相机,能为系统集成商提供局部通过/失败判定、I/O零件剔除和联网的管理能力等选项,同时还能减少系统所占用的空间。
对于那些希望为工业应用部署智能相机的用户而言,市场上存在一系列智能相机产品可供选择,这些产品中包含不同类型的图像传感器、CPU、DSP、FPGA、I/O、软件以及内部和外部照明功能。
多处理器架构在提供机器视觉应用所需的图像处理吞吐量方面非常有用,因为这种架构可以在不同处理器之间分配视觉任务。例如,FPGA能最有效地执行诸如直方图均衡和图像过滤等处理任务;而对于统计模式识别这样的任务,则最好交给通用CPU来执行。通过在多个处理器之间分配这些任务,可以有效地执行图像处理任务,从而减少延迟和处理时间。
瑞典中部大学的Abdul Waheed Malik在他的论文《用于实时机器视觉系统的三种智能相机架构的比较》(Comparison of Three Smart CameraArchitectures for Real-Time Machine Vision System)一文中表示,基于软件的商用智能相机可能会比其他类型的设计展现出更高的延迟,并消耗更多的功率,但是它们可以获益于更轻松的软件编程。
在这种智能相机设计中,FPGA可以执行低级图像处理功能,例如在CPU、DSP或GPU处理图像之前的缺陷像素校正、伽马校正或拜耳插值。通过将这些任务卸载到FPGA上,相机中的处理器可以更好地执行更高级别的图像处理任务。
正如智能相机的架构非常重要一样,智能相机的易用性或可编程性、用以按照需要的速度执行特定的任务,对于系统集成商而言也非常关键。虽然智能相机可以使用各种不同类型的图像传感器、I/O和照明配置,但是供应商通常提供用于执行某种特定成像任务(如条形码读取)的智能相机产品。这些特定功能通常已经定制到相机的板载FPGA和CPU上,相机已经不能配置为执行其他任务。
然而,许多系统集成商需要能够执行多个图像处理操作的智能相机,例如图像增强、特征位置、对象测量、存在/不存在检测或其他机器视觉任务。在这种情况下,开发人员将面临多种选择。为了满足这些需求,许多智能相机供应商提供具有自身软件和图形用户界面(GUI)开发系统的智能相机产品。虽然使用这种相机可能仅限于使用供应商自己的软件,但是供应商对智能相机及其使用的视觉软件都有深入的了解,这一点对系统开发人员也是一种支持保证。
虽然许多智能相机在设计上都较为相似,但是制造商已经认识到,要让这些智能相机产品实现增值,是通过它们可以执行的机器视觉任务来实现的。将这样的软件定制到特定的设备中,使得供应商能够更紧密地控制其产品和他们的客户需要执行的任务。
由于很多智能相机都是基于Intel或AMD处理器的,朗锐智科适时推出基于Intel处理器智能相机,支持多种软件包,可执行用于目标检测、零件定位、特征测量和缺陷分析等任务。