CNN将赋予CMOS图像传感器更多的智慧

视觉传感器正在日益成为数据采集的重要边缘设备 。 最初用于摄影应用的简单图像传感器 , 今天也将服务于人工智能和机器学习系统的高质量输入 。 这些系统利用新的和创新的处理器架构已经成为复杂的决策实体 。
CNN将赋予CMOS图像传感器更多的智慧文章插图
边缘数据采集
虽然边缘数据采集设备在本质上主要是模拟的 , 图像传感器的独特住处在于:
输出通过连续的动态光输入进行时间多路复用;
需要有能力维持转换光输入的完整性 , 同时处理 , 以交付图像输出;
输出的图像质量最佳 , 可进行有意义的处理;
这些需求和随后的结果可能会对视觉系统所做决策的准确性产生重大影响 , 而视觉系统的决策结果决定了整个自动化系统的安全性、可靠性和盈利能力;
基于机器学习的视觉系统
机器学习的出现推动了图像传感器的创新 , 并提高了性能水平 , 这是为了支持各种应用程序 。 你所看到输入到系统中的数据是通过视觉输入的高保真度数据 。 如今 , 人工智能算法能够检测、识别和分类这些输入 , 并生成准确的决策输出 。 这些输出的可靠性取决于输入的质量 , 也取决于它们的算法的准确性 , 以及用于处理这些算法的神经网络 。
基于机器学习和深度学习的视觉系统主要使用卷积神经网络(CNN)算法来创建一个强大的自动识别的专用系统 。 增加CNN的深度层可以提高推理精度, 但更多的层也会对这些网络在训练阶段的学习时间以及系统中完成推断的延迟产生不利影响 。 同样 , 高质量的图像输出使视觉系统能够携带最小的CNN层集 , 同时产生高度准确的推断 。 这在获得一个快速部署的智能系统方面带来了显著的好处 , 同时提供高性能和低功耗 。
CNN如何看懂图像
图像分类是对输入图像的操作 , 最终输出一组最好地描述了图像内容的分类(如猫、狗等)或分类的概率 。 对人类来说 , 识别是打出生便开始学习的技能之一 , 对成人来说更是信手拈来 , 毫不费力 。 我们只需一眼便能快速识别我们所处的环境以及环绕在我们身边的物体 。 当我们看到一张图片或是环看四周的时候 , 无需刻意观察 , 多数时候也能立即描述出场景特征并标记出每一个对象 。 快速识别不同模式、根据早前知识进行归纳、以及适应不同的图像环境一直都是人类的专属技能 , 机器尚未享有 。
CNN将赋予CMOS图像传感器更多的智慧文章插图
当计算机看到一张图像(输入一张图像)时 , 它看的是一大堆像素值 。 根据图片的分辨率和尺寸 , 它将看到一个 32 x 32 x 3 的数组(3 指代的是 RGB 值) 。 为了讲清楚这一点 , 假设我们有一张 JPG 格式的 480 x 480 大小的彩色图片 , 那么它对应的数组就有 480 x 480 x 3 个元素 。 其中每个数字的值从 0 到 255 不等 , 其描述了对应那一点的像素灰度 。 当我们人类对图像进行分类时 , 这些数字毫无用处 , 可它们却是计算机可获得的唯一输入 。 其中的思想是:当你提供给计算机这一数组后 , 它将输出描述该图像属于某一特定分类的概率的数字(比如:80% 是猫、15% 是狗、5% 是鸟) 。
我们想要计算机做什么
现在我们知道了问题所在以及输入与输出 , 就该考虑如何处理了 。 我们想要计算机能够区分开所有提供给它的图片 , 以及搞清楚猫猫狗狗各自的特征 。 这也是我们人类的大脑中不自觉进行着的过程 。 当我们看到一幅狗的图片时 , 如果有诸如爪子或四条腿之类的明显特征 , 我们便能将它归类为狗 。 同样地 , 计算机也可以通过寻找诸如边缘和曲线之类的低级特点来分类图片 , 继而通过一系列卷积层级建构出更为抽象的概念 。 这是 CNN(卷积神经网络)工作方式的大体概述 。
典型的卷积神经网络
CNN将赋予CMOS图像传感器更多的智慧文章插图
像CNN这种深度学习算法是极其耗费资源的 。 现在有各种各样的处理引擎 , 有CPU、GPU、FPGA、专用加速器和最近的微控制器 。 设计一个基于CNN的视觉系统还需要强大的优化库的支持 。 这可以从专有的(如MVTec的HALCON & MERLIC, MATLAB的深度学习工具箱或Cognex ViDi)到标准工具(OpenCV)和软硬件的集成能力 。 这些选择直接关系到产品的上市时间 。
CNN将赋予CMOS图像传感器更多的智慧文章插图
源密集型处理器通常需要更大的形式因素、散热附加组件(如散热器) , 或者只是大的空体积空间来通过对流散热 。 提供高质量输出的图像传感器可以消除对昂贵处理器、第三方库或创建新库的需求 , 以及优化软硬件资源所需的昂贵工具 。 换句话说 , 这些传感器极大地降低了总拥有成本(TCO) , 并增加了广泛应用程序和市场的采用 。