技术前沿:ISP芯片终极进化——VP芯片(AI视觉处理器)
1.计算机视觉的定义
广义与狭义
从广义上说,计算机视觉就是“赋予机器自然视觉能力”的学科。自然视觉能力,就是指生物视觉系统体现的视觉能力。
从狭义上讲,计算机视觉是以图像(视频)为输入,以对环境的表达和理解为目标,研究图像信息组织、物体和场景识别、进而对事件给予解释的学科。
狭义
定义:一个通过技术帮助计算机“看到”并理解数字图像内容的研究领域,例如理解照片和视频的内容。
2.与计算机视觉密切相关的概念与计算机视觉密切相关的概念有机器视觉,图像处理与分析,图像和视频理解。
3.计算机视觉的应用
物体识别和检测
给定一张输入图片,算法能够自动找出图片中的常见物体,并将其所属类别及位置输出出来。当然也就衍生出了诸如人脸检测、车辆检测等细分类的检测算法。
3.1 人脸检测
大多数的数字照相机和智能手机都有这个功能
智能对焦,曝光补偿和裁剪。
3.2 人脸识别
通过人脸识别,将图片分类,可以向朋友推荐我的照片,当照片看起来像我,建议标记我。这个功能通过比较你被标记的照片来建议朋友在新照片中标记你。这可以帮助你的朋友给照片贴上标签并分享他们的照片,而且更容易发现你的照片何时被发布。
人脸识别(Face Recognition),就是通过人的面部照片实现身份认证的的技术。
认证方式:身份确认和身份辨认。
身份确认:这个人是不是Ta(海关身份认证、ATM 刷脸取款)
身份辨认:哪个人是Ta(刑侦领域的嫌疑人排查)
人脸识别系统的基本组成
图像采集:通过光学设备采集包含人面部区域的图像。
数据预处理:对采集到的图像做前期处理,主要包括人脸定位和正则化。人脸定位是从图中找到面部区域;正则化是对定位到的人脸图像进行调整,以减少光照、位置、姿态等干扰因素的影响。
特征提取:从面部图像中提取出对人脸具有较强表达能力和较强区分能力的典型特征。这些特征可以是局部各部件(如眼、口、鼻)的局部特征,也可以是轮廓、灰度等整体特征。
模式匹配:基于特征向量对不同图片进行对比,最终会给出一个匹配分数,代表两幅图的相似程度。
4.计算机视觉的应用方向
语义分割
让计算机根据图像的语义来进行分割语义在语音识别中指的是语音的意思,在图像领域,语义指的是图像的内容,对图片意思的理解。
目前语义分割的应用领域主要有:地理信息系统、无人车驾驶、医疗影像分析、机器人等领域。
运动和追踪
视觉跟踪是指对图像序列中的运动目标进行检测、提取、识别和跟踪,获得运动目标的运动参数,如位置、速度、加速度和运动轨迹等,从而进行下一步的处理与分析,实现对运动目标的行为理解,以完成更高一级的检测任务。
视觉问答
系统需要将图片和问题作为输入,结合这两部分信息,产生一条人类语言作为输出。针对一张特定的图片,如果想要机器以自然语言处理(NLP)来回答关于该图片的某一个特定问题,我们需要让机器对图片的内容、问题的含义和意图以及相关的常识有一定的理解。
三维重建
通过摄像机获取场景物体的数据图像,并对此图像进行分析处理,再结合计算机视觉知识推导出现实环境中物体的三维信息。
计算机视觉(机器视觉)硬件实现——ISP图像信号处理器
ISP是Image Signal Processor 的简称,也就是图像信号处理器。
DSP是Digital Signal Processor 的缩写,也就是数字信号处理器。
ISP一般用来处理Image Sensor(图像传感器)的输出数据,如做AEC(自动曝光控制)、AGC(自动增益控制)、AWB(自动白平衡)、色彩校正、Lens Shading、Gamma 校正、祛除坏点、Auto Black Level、Auto White Level等等功能的处理。
而DSP功能就比较多了,它可以做些拍照以及回显(JPEG的编解码)、录像以及回放(Video 的编解码)、H.264的编解码、还有很多其他方面的处理,总之是处理数字信号了。ISP是一类特殊的处理图像信号的DSP。
ISP架构方案:分为独立(外置)与集成(内置)两种形式。
CPU处理器包括:AP、BP、CP。其中BP:基带处理器、AP:应用处理器、CP:多媒体加速器。
ISP的主要内部构成
如下图所示,ISP内部包含 CPU、SUP IP、IF 等设备,事实上,可以认为 ISP 是一个 SOC(system of chip),可以运行各种算法程序,实时处理图像信号。
CPU:CPU 即中央处理器,可以运行 AF、LSC 等各种图像处理算法,控制外围设备。现代的 ISP 内部的 CPU 一般都是 ARM Cortex-A 系列的,例如 Cortex-A5、Cortex-A7。
SUB IP:SUB IP 是各种功能模块的通称,对图像进行各自专业的处理。常见的 SUB IP 如 DIS、CSC、VRA 等。
图像传输接口:图像传输接口主要分两种,并口 ITU 和串口 CSI。CSI 是 MIPI CSI 的简称,鉴于 MIPI CSI 的诸多优点,在手机相机领域,已经广泛使用 MIPI-CSI 接口传输图像数据和各种自定义数据。外置 ISP 一般包含 MIPI-CSIS 和 MIPI-CSIM 两个接口。内置 ISP 一般只需要 MIPI-CSIS 接口。
通用外围设备:通用外围设备指 I2C、SPI、PWM、UART、WATCHDOG 等。ISP 中包含 I2C 控制器,用于读取 OTP 信息,控制 VCM 等。对于外置 ISP,ISP 本身还是 I2C 从设备。AP 可以通过 I2C 控制 ISP 的工作模式,获取其工作状态等。
ISP的控制结构
ISP包括:1、ISP逻辑 2、运行在其上的firmware
lens 将光信号投射到sensor 的感光区域后,sensor 经过光电转换,将Bayer 格式的原始图像送给ISP,ISP 经过算法处理,输出RGB空间域的图像给后端的视频采集单元。在这个过程中,ISP通过运行在其上的firmware(固件)对ISP逻辑,从而对lens 和sensor 进行相应控制,进而完成自动光圈、自动曝光、自动白平衡等功能。其中,firmware的运转靠视频采集单元的中断驱动。PQ Tools 工具通过网口或者串口完成对ISP 的在线图像质量调节。
ISP 由ISP逻辑及运行在其上的Firmware组成,逻辑单元除了完成一部分算法处理外,还可以统计出当前图像的实时信息。Firmware 通过获取ISP 逻辑的图像统计信息,重新计算,反馈控制lens、sensor 和ISP 逻辑,以达到自动调节图像质量的目的。
ISP上的Firmware包含三部分
ISP 的Firmware包含三部分,一部分是ISP 控制单元和基础算法库,一部分是AE/AWB/AF 算法库,一部分是sensor 库。Firmware 设计的基本思想是单独提供3A算法库,由ISP控制单元调度基础算法库和3A 算法库,同时sensor 库分别向ISP 基础算法库和3A 算法库注册函数回调,以实现差异化的sensor 适配。ISP firmware 架构如图所示。
不同的sensor 都以回调函数的形式,向ISP 算法库注册控制函数。ISP 控制单元调度基础算法库和3A 算法库时,将通过这些回调函数获取初始化参数,并控制sensor,如调节曝光时间、模拟增益、数字增益,控制lens 步进聚焦或旋转光圈等。
AP对ISP的操控方式
CPU处理器包括:AP、BP、CP。BP:基带处理器、AP:应用处理器、CP:多媒体加速器
这里所说的控制方式是AP 对 ISP 的操控方式 。
I2C/SPI:这一般是外置 ISP 的做法。SPI 一般用于下载固件、I2C 一般用于寄存器控制。在内核的 ISP 驱动中,外置 ISP 一般是实现为 I2C 设备,然后封装成 V4L2-SUBDEV。
MEM MAP:这一般是内置 ISP 的做法。将 ISP 内部的寄存器地址空间映射到内核地址空间,
MEM SHARE:这也是内置 ISP 的做法。AP 这边分配内存,然后将内存地址传给 ISP,二者实际上共享同一块内存。因此 AP 对这段共享内存的操作会实时反馈到 ISP 端。
ISP 处理流程
图像产生过程:景物通过 Lens 生成的光学图像投射到 sensor 表面上, 经过光电转换为模拟电信号, 消噪声后经过 A/D 转换后变为数字图像信号, 再送到数字信号处理芯片( DSP) 中加工处理。
所以,从 sensor 端过来的图像是 Bayer 图像,经过黑电平补偿 (black level compensation)、镜头矫正(lens shading correction)、坏像素矫正(bad pixel correction)、颜色插值 (demosaic)、Bayer 噪声去除、 白平衡(awb) 矫正、 色彩矫正(color correction)、gamma 矫正、色彩空间转换(RGB 转换为 YUV)、在YUV 色彩空间上彩噪去除与边缘加强、色彩与对比度加强,中间还要进行自动曝光控制等, 然后输出 YUV(或者RGB) 格式的数据, 再通过 I/O 接口传输到 CPU 中处理。
1.Bayer(拜耳滤波器得到彩色)
图像在将实际的景物转换为图像数据时, 通常是将传感器分别接收红、 绿、 蓝三个分量的信息, 然后将红、 绿、 蓝三个分量的信息合成彩色图像。该方案需要三块滤镜, 这样价格昂贵,且不好制造, 因为三块滤镜都必须保证每一个像素点都对齐。
通过在黑白 cmos 图像传感器的基础上, 增加彩色滤波结构和彩色信息处理模块就可以获得图像的彩色信息, 再对该彩色信息进行处理, 就可以获得色彩逼真的彩色图像。通常把彩色图像传感器表面覆盖的滤波称为彩色滤波阵列(Color Filter Arrays,CFA)。
目前最常用的滤镜阵列是棋盘格式的, 已经有很多种类的, 其中绝大多数的摄像产品采用的是原色贝尔模板彩色滤波阵列(Bayer Pattern CFA)。R、G、B 分别表示透红色、透绿色和透蓝色的滤镜阵列单元。由于人的视觉对绿色最为敏感,所以在 Bayer CFA 中G分量是 R和B 的二倍,在每个像素点上只能获取一种色彩分量的信息,然后根据该色彩分量的信息通过插值算法得到全色彩图像。
2.BLC(Black level Correction)(黑电平补偿)
a.暗电流
物理器件不可能是理想的, 由于杂质、 受热等其他原因的影响, 即使没有光照射到象素,象素单元也会产生电荷, 这些电荷产生了暗电流。而且, 暗电流与光照产生的电荷很难进行区分。公众号:OpenFPGA
b.Black Level
Black Level 是用来定义图像数据为0时对应的信号电平。由于暗电流的影响, 传感器出来的实际原始数据并不是我们需要的黑平衡(数据不为0)。所以,为减少暗电流对图像信号的影响,可以采用的有效的方法是从已获得的图像信号中减去参考暗电流信号。一般情况下, 在传感器中,实际像素要比有效像素多, 如下图所示, 像素区头几行作为不感光区( 实际上,这部分区域也做了RGB 的 color filter),用于自动黑电平校正,其平均值作为校正值, 然后在下面区域的像素都减去此矫正值,那么就可以将黑电平矫正过来了。
做了black level 矫正与没做black level 矫正的对比,没做black level矫正的图片会比较亮,影响图像的对比度。
3.LSC(Lens Shading Correction)(镜头矫正)
由于镜头本身的物理性质, 造成图像四周亮度相对中心亮度逐渐降低,以及,由于图像光照在透过镜头照射到 pixel 上时,边角处的焦点夹角大于中心焦点夹角,造成边角失光。表现在图像上的效果就是亮度从图像中心到四周逐渐衰减, 且离图像中心越远亮度越暗。为了补偿四周的亮度, 需要进行 Lens Shading 的矫正。
Lens Shading 的矫正的方法是根据一定的算法计算每个像素对应的亮度矫正值,从而补偿周边衰减的亮度。
矫正方法有二次项矫正、 四次项矫正。
4.BPC(Bad Pixel Correction)(坏点矫正)
a.坏点
坏点为全黑环境下输出图像中的白点,高亮环境下输出图像中的黑点。
b.坏点修复方法
一般情况下, RGB 信号应与景物亮度呈线性响应关系, 但由于 Senor 部分 pixel 不良导致输出的信号不正常, 出现白点或黑点。
坏点修复方法通常有两种:
一种是自动检测坏点并自动修复, 另一种是建立坏点像素链表进行固定位置的坏像素点修复, 这种方式是 OTP 的方式。
5.Demosaic颜色插值 (抵马赛克)
当光线通过 Bayer型 CFA(Color Filter Arrays) 阵列之后, 单色光线打在传感器上,每个像素都为单色光,从而理想的Bayer 图是一个较为昏暗的马赛克图。
首先需要说明的就是demosaiced并不是和字面的意思一样是为了去除电影中的一些打马赛克的图像,而是数字图像处理中用来从不完整的color samples插值生成完整的color samples的方法(因为bayer pattern看起来像一个个马赛克,因此称为去马赛克)。在sensor端通常需要使用CFA滤镜来得到Bayer pattern,而在后面的处理中需要把bayer pattern变成完整的RGB444(真彩色)图像。在ISP中需要有这么一个模块来做。
在传统的ISP中有很多算法可以来做这个插值,包括最近邻域法,bilinear 插值,cubic 插值等。
6.Bayer Denoise(去噪声)
使用 cmos sensor获取图像,光照程度和传感器问题是生成图像中大量噪声的主要因素。同时, 当信号经过ADC 时, 又会引入其他一些噪声。这些噪声会使图像整体变得模糊, 而且丢失很多细节, 所以需要对图像进行去噪处理空间去噪传统的方法有均值滤波、 高斯滤波等。
但是, 一般的高斯滤波在进行采样时主要考虑了像素间的空间距离关系, 并没有考虑像素值之间的相似程度, 因此这样得到的模糊结果通常是整张图片一团模糊。所以, 一般采用非线性去噪算法, 例如双边滤波器, 在采样时不仅考虑像素在空间距离上的关系, 同时加入了像素间的相似程度考虑, 因而可以保持原始图像的大体分块, 进而保持边缘。
7.AWB(Automatic White Balance)(自动白平衡)
白平衡的基本原理是在任意环境下, 把白色物体还原成白色物体, 也就是通过找到图像中的白块, 然后调整R/G/B 的比例, 如下关系:
R’= R * R_Gain
G’ = G * G_Gain
B’ = B * B_Gain
R’ = G’= B’
AWB 算法通常包括的步骤如下:
(1)色温统计:根据图像统计出色温;
(2)计算通道增益:计算出R 和B 通道的增益;
(3)进行偏色的矫正:根据给出的增益, 算出偏色图像的矫正。
8.Color Correction(颜色矫正)
由于人类眼睛可见光的频谱响应度和半导体传感器频谱响应度之间存在差别,还有透镜等的影响, 得到的RGB 值颜色会存在偏差, 因此必须对颜色进行校正, 通常的做法是通过一个3x3 的颜色变化矩阵来进行颜色矫正。
9.Gamma Correction(伽马矫正)
人眼对外界光源的感光值与输入光强不是呈线性关系的, 而是呈指数型关系的。在低照度下,人眼更容易分辨出亮度的变化, 随着照度的增加,人眼不易分辨出亮度的变化。而摄像机感光与输入光强呈线性关系, 为方便人眼辨识图像, 需要将摄像机采集的图像进行gamma 矫正。
Gamma 矫正是对输入图像灰度值进行的非线性操作, 使输出图像灰度值与输入图像灰度值呈指数关系:
out = Vin ^ gamma
这个指数就是 gamma, 横坐标是输入灰度值, 纵坐标是输出灰度值, 蓝色曲线是 gamma 值小于 1 时的输入输出关系, 红色曲线是 gamma 值大于 1 时的输入输出关系。可以观察到, 当 gamma 值小于 1 时(蓝色曲线), 图像的整体亮度值得到提升, 同时低灰度处的对比度得到增加, 更利于分辩低灰度值时的图像细节。
10.色彩空间转换
YUV 是一种基本色彩空间, 人眼对亮度改变的敏感性远比对色彩变化大很多, 因此, 对于人眼而言, 亮度分量Y 要比色度分量U、V 重要得多。所以, 可以适当地抛弃部分U、V分量, 达到压缩数据的目的。
YCbCr 其实是YUV 经过缩放和偏移的改动版,Y 表示亮度,Cr、Cb 表示色彩的色差,RGB信号亮度值之间的差异,分别是红色和蓝色的分量。在YUV 家族中,YCbCr 是在计算机系统中应用最多的成员, 其应用领域很广泛,JPEG、MPEG 均采用此格式。一般人们所讲的YUV 大多是指YCbCr。YCbCr有许多取样格式,如 4∶4∶4,4∶2∶2, 4∶1∶1和 4∶2∶0。
Cb:反映的是RGB输入信号蓝色部分与RGB信号亮度值之间的差异。
Cr:反映了RGB输入信号红色部分与RGB信号亮度值之间的差异。
在以下两个公式中RGB和YCbCr各分量的值的范围均为0-255。
RGB转换为Ycbcr公式:
Y = 0.257*R+0.564*G+0.098*B+16
Cb = -0.148*R-0.291*G+0.439*B+128
Cr = 0.439*R-0.368*G-0.071*B+128
YCbCr转换为RGB公式:
R = 1.164*(Y-16)+1.596*(Cr-128)
G = 1.164*(Y-16)-0.392*(Cb-128)-0.813*(Cr-128)
B =1.164*(Y-16)+2.017*(Cb-128)
色彩空间转换这个模块, 是将RGB 转换为 YUV444, 然后在YUV 色彩空间上进行后续的彩色噪声去除、 边缘增强等, 也为后续输出转换为jpeg 图片提供方便。
11.Color Denoise
为了抑制图像的彩色噪声, 一般采用低通滤波器进行处理。例如使用M×N的高斯低通滤波器在色度通道上进行处理。
ISP主要构成
如下图所示,ISP 内部包含 CPU、SUP IP、IF 等设备,事实上,可以认为 ISP 是一个 SOC,可以运行各种算法程序,实时处理图像信号。
ISP 架构
CPU
CPU 即中央处理器,可以运行 AF、LSC 等各种图像处理算法,控制外围设备。现代的 ISP 内部的 CPU 一般都是 ARM Cortex-A 系列的,例如 Cortex-A5、Cortex-A7。
SUB IP
SUB IP 是各种功能模块的通称,对图像进行各自专业的处理。常见的 SUB IP 如 DIS、CSC、VRA 等。
图像传输接口
图像传输接口主要分两种,并口 ITU 和串口 CSI。CSI 是 MIPI CSI 的简称,鉴于 MIPI CSI 的诸多优点,在手机相机领域,已经广泛使用 MIPI-CSI 接口传输图像数据和各种自定义数据。外置 ISP 一般包含 MIPI-CSIS 和 MIPI-CSIM 两个接口。内置 ISP 一般只需要 MIPI-CSIS 接口。
通用外围设备
通用外围设备指 I2C、SPI、PWM、UART、WATCHDOG 等。ISP 中包含 I2C 控制器,用于读取 OTP 信息,控制 VCM 等。对于外置 ISP,ISP 本身还是 I2C 从设备。AP 可以通过 I2C 控制 ISP 的工作模式,获取其工作状态等。
ISP主要功能特性
ISP 作为图像处理的核心器件,拥有十分重要的功能,下图展示了 ISP 处理图像数据的基本流程。
ISP 处理流程
下面针对 ISP 的主要功能特性进行下介绍。
DEMOSAIC
DEMOSAIC 是 ISP 的主要功能之一。SENSOR 的像素点上覆盖着 CFA,光线通过 CFA 后照射到像素上。CFA 由 R、G、B 三种颜色的遮光罩组成,每种遮光罩只允许一种颜色通过,因此每个像素输出的信号只包含 R、G、B 三者中的一种颜色信息。SENSOR 输出的这种数据就是 BAYER 数据,即通常所说的 RAW 数据。显而易见,RAW 数据所反映的颜色信息不是真实的颜色信息。DEMOSAIC 就是通过插值算法将将每个像素所代表的真实颜色计算出来。
FOCUS
根据光学知识,景物在传感器上成像最清晰时处于合焦平面上。通过更改 LENS 的位置,使得景物在传感器上清晰的成像,是 ISP FOCUS 功能所需要完成的任务。FOCUS 分为手动和自动两种模式。ISP 可以运行 CONTRAST AF、PDAF、LASER AF 等算法实现自动对焦。
EXPOSURE
曝光。EXPOSURE 主要影响图像的明暗程度。ISP 需要实现 AE 功能,通过控制曝光程度,使得图像亮度适宜。
WB
白平衡。白平衡与色温相关,用于衡量图像的色彩真实性和准确性。ISP需要实现 AWB 功能,力求在各种复杂场景下都能精确的还原物体本来的颜色。
LSC
用于消除图像周边和图片中心的不一致性,包含亮度和色度两方面。ISP 需要借助 OTP 中的校准数据完成 LSC 功能。
GAMMA CORRECTION
伽玛校正。传感器对光线的响应和人眼对光线的响应是不同的。伽玛校正就是使得图像看起来符合人眼的特性。
CROP/RESIZE
图像剪裁,即改变图像的尺寸。可用于输出不同分辨率的图像。
VRA
视觉识别。用于识别特定的景物,例如人脸识别,车牌识别。ISP 通过各种 VRA 算法,准确的识别特定的景物。
DRC
动态范围校正。动态范围即图像的明暗区间。DRC 可以使得暗处的景物不至于欠曝,而亮处的景物不至于过曝。ISP 需要支持 DRC 功能。
CSC
颜色空间转换。例如,ISP 会将 RGB 信号转化为 YUV 信号输出。
IS
图像稳定。IS 的主要作用是使得图像不要因为手持时轻微的抖动而模糊不清。IS 有很多种,例如 OIS、DIS、EIS。ISP 可以实现 DIS 和 EIS。
事实上,ISP 除了上面提到的主要功能外,还需要支持 DENOISE、CONTRAST、SATURATION、SHARPNESS 等调整功能。
ISP控制方式
这里所说的控制方式是 AP 对 ISP 的操控方式。
I2C/SPI
这一般是外置 ISP 的做法。SPI 一般用于下载固件、I2C 一般用于寄存器控制。在内核的 ISP 驱动中,外置 ISP 一般是实现为 I2C 设备,然后封装成 V4L2-SUBDEV。
MEM MAP
这一般是内置 ISP 的做法。将 ISP 内部的寄存器地址空间映射到内核地址空间,
MEM SHARE
这也是内置 ISP 的做法。AP 这边分配内存,然后将内存地址传给 ISP,二者实际上共享同一块内存。因此 AP 对这段共享内存的操作会实时反馈到 ISP 端。
ISP 架构方案
上文多次提到外置 ISP 和内置 ISP,这实际上是 ISP 的架构方案。
外置 ISP 架构
外置 ISP 架构是指在 AP 外部单独布置 ISP 芯片用于图像信号处理。外置 ISP 的架构图一般如下所示:
外置 ISP 架构图
外置 ISP 架构的优点主要有:
能够提供更优秀的图像质量
在激烈的市场竞争下,能够存活到现在的外置 ISP 生产厂商在此领域一般都有很深的造诣,积累了丰富的影像质量调试经验,能够提供比内置 ISP 更优秀的性能和效果。因此,选用优质的外置 ISP 能提供专业而且优秀的图像质量。
能够支援更丰富的设计规划
外置 ISP 的选型基本不受 AP 的影响,因此可以从各个优秀 ISP 芯片供应商的众多产品中甄选最合适的器件,从而设计出更多优秀的产品。
能够实现产品的差异化
内置 ISP 是封装在 AP 内部的,是和 AP 紧密的联系在一起,如果 AP 相同,那么 ISP 也就是一样的。因此基于同样 AP 生产出来的手机,其 ISP 的性能也是一样的,可供调教的条件也是固定的,这样就不利于实现产品的差异化。而如果选择外置 ISP,那么同一颗 AP,可以搭配不同型号的 ISP,这样可以实现产品的差异化,为给用户提供更丰富和优质的产品。
外置 ISP 架构的缺点主要有:
成本价格高
外置 ISP 需要单独购买,其售价往往不菲,而且某些特殊功能还需要额外支付费用。使用外置 ISP,需要进行额外的原理图设计和 LAYOUT,需要使用额外的元器件。
开发周期长
外置 ISP 驱动的设计需要多费精力和时间。使用外置 ISP 时,AP 供应商提供的 ISP 驱动就无法使用,需要额外设计编写外置 ISP 驱动。另外,为了和 AP 进行完美的搭配,将效果最大化,也往往需要付出更多的调试精力。上文也提到,使用外置 ISP,需要进行额外的原理图设计和 LAYOUT,需要使用额外的元器件,这也是需要花费时间进行处理的。
内置 ISP 架构
内置 ISP 架构是指在 AP 内部嵌入了 ISP IP,直接使用 AP 内部的 ISP 进行图像信号处理。内置 ISP 的架构图一般如下所示:
内置 ISP 架构图
内置 ISP 架构的优点主要有:
能降低成本价格
内置 ISP 内嵌在 AP 内部,因此无需像外置 ISP 一样需要额外购买,且不占 PCB 空间,无需单独为其设计外围电路,这样就能节省 BOM,降低成本。鉴于大多数用户在选购手机时会将价格因素放在重要的位置,因此降低成本能有效的降低终端成品价格,有利于占领市场。
能提高产品的上市速度
内置 ISP 和 AP 紧密结合,无需进行原理图设计和 LAYOUT 设计,因此可以减小开发周期,加快产品上市的速度。
能降低开发难度
如果使用内置 ISP,那么 AP 供应商能在前期提供相关资料,驱动开发人员可以有充足的时间熟悉相关资料,而且不会存在软件版本适配问题,也不存在平台架构兼容性问题。但是,如果使用外置 ISP,那么 ISP 供应商往往都不能提供针对某个平台的代码/资料,而且一般都存在软件版本兼容问题,这就需要驱动开发人员付出额的经历和时间。
模拟摄像机ISP芯片,成像质量的决定者
图像信号处理芯片(ISP)性能决定摄像机画质。ISP芯片的主要作用是对视频监控摄像机前端的图像传感器(CCD或CMOS)所采集的原始图像信号进行处理,使图像得以复原和增强,经ISP芯片处理后的输出图像可直接在显示器显示或通过数字硬盘录像机(DVR)进行压缩、存储。ISP芯片的性能好坏直接决定了视频监控摄像机的成像质量。
ISP图像信号处理技术是视频监控领域中的关键技术。图像信号处理技术用来对图像传感器采集的信号进行处理,包括高性能的空间域时间域噪声消除、镜头暗角/畸变校正、色度空间变换、宽动态合成和映射、数字稳像、去雾以及自动曝光(AE)、自动白平衡(AWB)、自动聚焦(AF)的数据统计和控制策略等。良好的清晰度、色彩还原度、低照度下图像分辨能力、动态范围以及稳定准确的AE/AWB/AF控制是衡量安防视频监控摄像机产品性能的关键因素。
近年来,行业对于监控画质的要求越来越高,图像信号处理技术快速发展,一些新兴的图像处理技术开始广泛应用,对ISP芯片提出了更高的要求:
1)3D数字降噪技术开始普及。相比于传统降噪,3D数字降噪通过对比前后几帧的图像,可以准确找到图像噪点并进行消除,即使在图像传感器不变的情况下,画面纯净度也能得到极大提升。尤其是在安防监控经常出现的场景:如低照度环境和运动物体拍摄,此技术可以使得画面更加细腻清晰。
2)同轴高清图像信号处理技术中短期内需求旺盛。尽管网络摄像机近年来替代趋势明显,但模拟摄像机仍然占据市场主要份额。同轴高清摄像机是普通模拟高清摄像机的升级版,在使用原有视频线的条件下也能实现720P/1080P高清画质,升级效果明显且成本较低。因此作为从模拟摄像系统到网络摄像系统的重要过渡,同轴高清系统中短期内市场需求明显,相应的ISP处理芯片需求旺盛。
3)WDR宽动态处理,清晰还原复杂光线环境。安防监控拍摄画面经常会出现明暗对比强烈的场景,比如画面中存在强光源照射或者逆光环境,直接成像容易出现暗部过黑,细节丢失以及亮部过曝的情况。WDR宽动态处理可以通过算法对明暗部进行不同的曝光处理使得画面各部分都能够清晰显现,极大地增加了安防监控的适用范围。
安防监控领域ISP芯片主要厂商是富瀚微。公司开发了基于CMOS传感器的ISP芯片,加速了“CIS+ISP”方案替代传统的“CCD+ISP”方案,成为模拟摄像机市场的主流方案。公司目前是海康威视最大的ISP芯片供应商。该领域的其他参与者是以NextChip为代表的韩国企业。
ISP+AI=VP芯片(AI视觉)
AI ISP 是这两年ISP行业中的一个火热的话题.如何能够将AI 技术引入ISP并将图像质量进一步提升以及引入新的功能成为每个相关公司的重要研究方向。
早期AI的应用更多是在相机拍照功能中,不过随着AI算力和芯片行业的发展.从2020年开始,AI功能使用趋势开始走向视频. 将之前拍照上的功能逐渐导入到了视频功能上.典型的是今年几个手机旗舰芯片中的AI能力在逐渐增加,且都这些芯片大多提到都特地提到在AI 图像方面处理方面有所提升.但是简单的算力提升并不能解决所有的ISP 中AI功能的需求。
是不是NPU+ISP 就能叫做AI ISP 了呢?其实不然,如果只是考虑拍照或者小分辨率视频的情况下,简单的NPU+ISP 也许可以满足基本需求了. 因为这两种情况处理的数据量要远少于大分辨率高帧率视频.简单的NPU+ISP的组合往往无法实现大分辨率,高帧率下视频功能的AI 增强,往往能达到1080P 30fps就已经很难了.因此普通的NPU+ISP只能说是 AI ISP的雏形.在当前显示走向8K,1亿像素的camera sensor的现实情况,这样的分辨率和帧率明显是不够用的. 起码视频要做到4K30fps~60fps才能满足用户的基本视频需求.
要实现ISP 视频处理的的AI化的其中一个重点就是ISP系统中那些功能需要AI化,这会影响整个ISP的系统设计.目前主流的 AI ISP 结构多数都不是learning to see in the dark 形式的端到端的神经网络模拟ISP全流程,而是类似google的思路将最能体现AI算法提升效果的模块进行AI化.这样主要是因为需要AI 实现的功能可以保证有限的算力能够更好的用在刀刃上. 我们会在后面的文章中重点介绍这部分可以实现的功能和差别.
一个真正的AI ISP需要考虑更多的问题,才能产品化
1 首先需要考虑 NPU 和 ISP的通信和融合. 传统的ISP和NPU在图像的使用方式并不同,ISP在在线模式运行的时候基本传输的单位是以行或者帧内分块进行的.但是目前常见的NPU使用的是整张图,如果只是按照传统的ISP+NPU的模式,整张图像需要经过ISP输出到DDR之后才能进入NPU处理然后需要再次输出到DDR处理然后才能再次回到ISP中处理. 这导致了每次ISP和NPU之间的通信至少要增加一帧的延迟,并且带来了很大的内存带宽消耗. 如果ISP中需要有多个功能通过NPU处理这样带来的带宽和延迟问题就不得不解决.下图中是麒麟9000中实现的通信模式,这种使用帧内分块和smart cache 就是一种解决方式.
2 针对对应的图像运算的NPU优化,以及功耗优化.
提升图像质量需要大量的AI 算力.相同的技术水平下越大的算力带来的图像质量提升就越多. 用户对于图像质量的需求是不会停止的. 因此如何能够在相同的芯片面积上提供更大的算力就成为了主要的问题. 其中使用更好的芯片制程比如7nm和5nm的制程,以及提升对应的算子的运行效率成为主要的主要方向.这可以简单有效的提高算力和功耗比.除了这两点之外,还有利用混合精度提升NPU算力的方法. 这种方式可以大幅提高算力的能力,例如int8下面的1TOPS算力在int4精度下可以大致于4TOPS,具体可以参考下图中不同bit 数据下乘法器的实现. 目前多款AI ISP芯片中都已经有使用这种技术. 例如麒麟9000中使用了FP16和低bit混合精度.爱芯科技的630A使用了Int8和低bit混合精度的设计. 这样不仅可以解决算力问题,也可以大幅提高算力和功耗比.
3 AI 算法量产化,工具和多项目支持的考虑.这部分并不是ISP硬件设计的部分.但是这部分是AI ISP最终能实际量产中更重要的部分.也是 AI ISP是否能够量产化的关键.
Tuning和训练中的关系
Tuning 一直在ISP中使用中有很大的部分. Tuning 除了客观的图像质量提升很大的一部分工作和图像质量风格的把握有关. 在传统的ISP中,即使是相同的硬件,很多场景下,也有不同的tuning 风格选择. AI 的模型训练也会带来不同画质优势和风格.如何协调两者就成为一个重要的问题.
AI ISP的使用情况下除了常规的tuning还同时有深度学习模型训练的问题.这中间对于tuning工程师的能力需求也有很大的提升要求.短期来看tuning 工程师至少要掌握如何协调传统tuning和AI训练之间的互补问题.长期来看训练模型会成为提升图像效果的重要一环,懂得一部分训练知识对于tuning工程师也很重要.大家需要拥抱变化.
训练数据获取的问题
训练数据的获取是训练的一部分.但是ISP面对硬件不一致问题更多:不同的sensor,不同的镜头,不同的滤波片……. 这要比多数的学术论文中AI 算法研究使用的数据集要复杂的多.为每个产品在不同场景大量采集数据集可能是不太现实的,如何能解决对应的数据集获得是AI ISP产品化的关键.否则获取训练数据将成为AI ISP普及的障碍。
ISP技术小结
一个ISP其实是一个SoC核心,内部包含CPU、SUP IP、IF 等单元,可以运行各种算法程序,实时处理图像信号。ISP的控制结构由ISP逻辑和运行在上面的Firmware两个部分组成,逻辑单元除了完成一部分算法处理外,还可以统计出当前图像的实时信息。Firmware 通过获取ISP 逻辑的图像统计信息进行重新计算,反馈控制Lens、Sensor和ISP逻辑,以达到自动调节图像质量的目的。
ISP的具体处理流程是这样:Lens 将光信号投射到sensor 的感光区域后,sensor经过光电转换,将Bayer 格式的原始图像送给ISP,ISP经过算法处理,输出RGB空间域的图像给后端的视频采集单元。在这一过程中,ISP通过运行在其上的Firmware固件对ISP逻辑,从而对Lens 和sensor进行相应控制,进而完成自动光圈、自动曝光、自动白平衡等功能。其中,Firmware的运转靠视频采集单元的中断驱动。PQ Tools工具通过网口或者串口完成对ISP 的在线图像质量调节。
ISP的算法处理,可以对Bayer图像进行黑电平补偿 (black level compensation)、镜头矫正(lens shading correction)、坏像素矫正(bad pixel correction)、颜色插值、Bayer 噪声去除、 白平衡(AWB) 矫正、 色彩矫正(color correction)、gamma 矫正、色彩空间转换(RGB 转换为YUV)、在YUV 色彩空间上进行彩噪去除与边缘加强、色彩与对比度加强,中间还要进行自动曝光控制等,然后输出YUV或者RGB格式的数据, 再通过I/O接口传输到CPU中处理,进行图像的存储和显示。
随着数码相机和摄像机的广泛应用,ISP技术也得到了快速发展。在推进高清视频、图像产品的过程中,ISP技术的创新发挥了巨大作用,ISP也从高清摄像机的辅助技术逐步演变为关键核心技术。一些高清监控硬件厂商为进一步提升画质,开始将CCD传感器替换为CMOS图像传感器,这样就将ISP内置到CMOS中,在节约空间的同时也降低了功耗。
因此,这一创新使得高清摄像机市场实现了从模拟到数字信号的升级。一般来说,不同的ISP匹配不同厂商的CMOS图像传感器,大部分内置ISP功能的视频芯片对CMOS芯片的支持都比较完善,可以直接对接各主要厂商的主要产品,使得摄像机体积更小、产品形态更多,不仅推动在高清摄像机上高清SoC芯片的研发,也让CMOS和ISP的组合在移动智能设备中广泛普及。
ISP的技术壁垒
首先,ISP中大量模块的算法是相互影响的,其众多算法需要诸多的调校工作在其中,这需要大量而长期的经验积累。
其次,作为商用的ISP,需要众多的新功能模块,比如X-talk串扰,VSM等模块的加入,这也增加了ISP的技术壁垒。
另外,ISP的技术需要长期积累,需求少、学习周期长,人才匮乏。因此ISP人才团队组建也是一个考验公司投入力度、技术积累的刚性条件。
人工智能技术作为全新的技术变革要素进入到成像产业领域,使得图像的处理和计算迎来更多的挑战,现在除了ISP芯片之外,还需要加入具有AI能力的视觉处理器(VP)芯片。
未来,图像信号处理和AI视觉处理正在协同发展,既要“可看”又要“看懂”的图像处理,成为未来视觉设备发展的关键。
应用举例:ARM为ADAS开发车载ISP芯片
虽然市场上有大量的 ISP 供应商,这是一个不断增长、也是竞争非常激烈的市场。
2016 年, ARM 收购成像技术开发商 Apical,后者专门从事 ISP 和计算机视觉技术开发——这是两个快速增长的市场,又能与 ARM 既有产品线很好地融合在一起。随着 ARM 新近成立的成像部门(new imaging division),这使得 Apical 以前的产品路线图成为现实。
ADAS 是一个「有利可图」的市场。据市场研究公司 Strategy Analytics 公司的数据,未来几年,中型车(如大众高尔夫)将至少配置 3 个摄像头;而到 2023 年,绝大部分市售高端汽车将装有至多 12 个摄像头。
ARM 的期望——实际上也是行业大部分公司的期望:汽车将拥有越来越多的处理器,汽车电子化程度将越来越高。虽然自动驾驶汽车是最终目标,但现实情况是,大规模量产的自动驾驶汽车离消费者还有相当长的时间。因此,ARM 更加直接关注处理器的设计,以此提高 Level 1 和 Level 2 级别辅助驾驶的某些功能。ARM 希望在汽车上搭载摄像头的数量成倍增长,ARM 的目的很明确:成为处理这些摄像头数据的供应商或为这些供应商提供 IP。
从功能的角度看,在某些情况下,所提供的细节甚至超出了人眼所能辨识的范围。这意味着在如 ADAS(高级驾驶辅助系统)中能更容易区分日光中的阴影。
为了在光线充足的情况下探测物体,摄像头必须具备足够的动态范围来对所获取的情景中的所有元素进行辨识
动态范围和可靠性特性是 ARM 专注的两个重点。前者对 ADAS 应用非常有用,后者在行驶过程中对物体识别至关重要。
最好的单反相机只能达到大约 15 档的动态范围,车载ISP芯片则可以通过多次曝光来处理相当于 24 档相机的动态范围,对采集的数据进行去噪与合成,从而得到一幅超宽动态范围的图像,并将它发送到显示设备或计算机视觉引擎。
汽车需要在黑暗以及日光下「看」得清晰——由于行业中许多人的最终目标是做全视觉(无激光雷达/雷达)自动驾驶--C71 需要支持足够的档位去捕捉这些动态范围。
将智能手机或者消费级视频摄像机中所使用的标准摄像技术整合到汽车内是不可行的,因为这一类复杂摄像技术必须能够在极端条件下对图像进行快速的处理和分析,并且符合严苛的汽车安全标准的设计要求。
当摄像头被用作 ADAS 的输入时——例如,作为行人保护或者驾驶员疲劳检测系统的一部分时——它需要满足最严苛的可靠性和功能性安全标准。
此外,ARM 提供用于控制图像信号处理器、传感器、自动白平衡以及自动曝光的所有参考软件,并计划开发完整的、ASIL 合规的汽车软件。
从硬件上看,大多数汽车厂家认为目前的汽车电子硬件使用周期要比消费类电子产品周期长很多,比如手机是 2 到 3 年,而汽车是 5 到 8 年。从使用环境看,汽车处于动态使用,手机的使用则偏静态。汽车要保证生命安全,而手机在面临极寒或者极热产生的不正常状态下不涉及生命安全。
VP芯片(AI视觉处理器)主要困难
(1)稳定性问题
现实中的环境因素是多变的,场景中的诸多因素,包括照明、物体形状、表面颜色、摄像机以及空间关系变化都会对生成的图像有影响。比如用于智能交通检测的设备,如何保证其在恶劣天气下依旧保持较高的稳定性就是一个很难解决的问题。
(2)构造出性能良好的识别算法
图像处理与分析技术是机器视觉的核心,所以构造出一个良好的、适应相关领域应用的识别算法显得尤为重要。而且现在的应用领域越来越要求检测设备具有准确、高速地识别出目标的能力,如果我们不能构造出一个更好的识别算法,就不能适应不断增长的需求。
(3)数据量大
机器视觉所获取的数据量非常非常大的。比如用于手机上的人脸识别功能,识别一次要投射多大几万个红外线点,这是一个庞大的数据。再比如交通检测方面看,一天累积下来的数据量也是惊人的。所以如何处理如此大的信息量是个难题。不过随着硬件技术的发展,这个问题将来会逐步得到解决。
VP芯片(AI视觉处理器)在工业领域的应用
人工智能最终将改变游戏规则,几乎在每个领域中都有无数的应用程序。现在,它正在进入生产和制造领域,从而可以利用深度学习的力量,并在此过程中提供更快,更便宜,更优越的自动化。本文旨在简要介绍自动视觉评估以及深度学习方法如何节省大量时间和精力。
什么是外观检查?
它涉及对生产线上的产品进行分析以达到质量控制的目的。目视检查还可以用于生产设施中各种设备(例如储罐,压力容器,管道和其他设备)的内部和外部评估。
这是一个定期进行的过程,例如每天。反复表明,目视检查会在生产过程中发现大多数隐藏的缺陷。
什么时候需要目视检查?
目视检查在制造中用于质量或缺陷评估时,但在非生产环境中,可以用来确定是否存在指示“目标”的特征并防止潜在的负面影响。
在许多需要目视检查的行业中,有一些行业认为视力检查具有很高的后果,并且是高度优先的活动,因为通过视力检查可能产生的任何错误(例如伤害,死亡,损失)的潜在成本很高昂贵的设备,报废的物品,返工或客户流失。优先检查视力的领域包括核武器,核电,机场行李检查,飞机维修,食品工业,医药和制药。
使用外观检查的行业细分
为什么不只坚持手工检查呢?
尽管旧的可能是黄金,但人们可能会争辩说,使用旧式的检查方法有一些限制。
手动检查需要一个人在场,一名检查员对所涉实体进行评估并根据一些培训或先前的知识对它进行判断。除了训练有素的检查员的肉眼之外,不需要任何设备。
根据研究,目视检查错误的范围通常为20%至30%(Drury&Fox,1975)。一些缺陷可以归因于人为错误,而其他缺陷则归因于空间的限制。某些错误可以通过培训和实践来减少,但不能完全消除。
检验过程(来源:视觉检查在21世纪的作用(See&Drury,2017)
影响检验绩效的因素
制造中的外观检查错误采取以下两种形式之一:遗漏现有缺陷或错误地标识不存在的缺陷(误报)。与误报相比,未命中的发生率要高得多(请参阅2012)。遗漏会导致质量下降,而误报会导致不必要的生产成本和整体浪费。
手动检查的局限性
此外,人工检查还受到其他限制,例如这些:
仍然存在这样一个事实,即人眼虽然比任何机械摄像机都具有更高的技术先进性,但也很容易被愚弄。考虑一下与外观检查相关的一些弱点:
一种视觉错觉,黑点似乎在白线的交点处出现并消失。
单凭人眼是不可靠的-像左图这样的错觉可以证明人眼的可靠性如何。这并不一定意味着手动检查是完全没有用的,但是完全依靠它是不明智的。
平行线似乎在倾斜。
视力不精确 -人眼无法进行精确的测量,尤其是在很小的规模上。即使在比较两个相似的对象时,眼睛可能也不会注意到一个对象比另一个对象稍小或更大。该概念也适用于特性,例如表面粗糙度,尺寸和任何其他需要测量的因素。
劳动力成本 -由于任命了(多名)训练有素的人员,人工检查仍然是一项昂贵的工作。从成本角度来看,人工检查操作员的年薪可能在50,000至60,000美元之间。
资料来源:Glassdoor
新时代的替代
自动化的外观检查可以通过使外观检查的整个过程独立于任何人工干预来克服这些问题。使用自动化系统通常会超过手动检查的标准。
使用深度学习和机器视觉,不仅可以而且很容易实现构建智能系统,该系统执行彻底的质量检查,直到最精细的细节。我们不需要走路说话的android机器人来自动进行检查等生产。需要最少的物理设备来自动化外观检查过程。相反,由于使用了深度学习,该过程变得更加智能。该方法通常涉及诸如图像采集,预处理,特征提取,分类等步骤。这也被分类为广义图像识别。
什么是深度学习?它是什么因素?
深度学习技术使用包含数千层的神经网络,这些神经网络擅长模仿人类智能,以区分异常,零件和特征,同时容忍复杂模式下的自然变化。通过这种方式,深度学习将人类视觉检查的适应性与计算机系统的速度和鲁棒性融合在一起。
深度学习教机器如何做对人类自然的事情:以身作则。新的低成本硬件使部署模拟人脑神经元网络的多层“深度”神经网络变得切实可行。这使制造技术具有惊人的新功能,可以识别图像,区分趋势以及做出明智的预测和决策。深度神经网络从初始训练期间开发的核心逻辑开始,可以随着新图像,语音和文本的出现而不断完善其性能。
深度学习过程的逐层分解(Source)
那么什么是机器视觉?
机器视觉是用于提供基于图像的自动检查的技术和方法。它是一个使用视觉计算技术的系统,以机械方式“看到”生产线上一个接一个的活动。自动检查系统的组件通常包括照明,摄像机或其他图像获取设备,处理器,软件和输出设备。
在结构化场景的定量和定性测量中,机器视觉的速度,准确性和可重复性优于人类视觉。机器视觉系统可以轻松评估太小而无法被人眼看到的物体细节,并以更高的可靠性和更少的误差对其进行检查。在生产线上,机器视觉系统可以每分钟可靠且重复地检查数百或数千个零件,远远超出了人类的检查能力。
光学字符识别(左)和缺陷检测(右)是AVI中机器视觉的常见方面
传统的自动化系统在最小化成本和提高效率的同时,还没有人类所具有的灵活性或容忍度。手工检查员能够区分细微的,外观上的和功能上的缺陷,并且可以解释可能影响感知质量的零件外观变化。尽管人们处理信息的速度受到限制,但是人类具有独特的概念化和概括能力。人类擅长通过示例学习,并且可以区分各部分之间的轻微异常真正重要的部分。这就引出了一个问题,即在许多情况下,机器视觉如何才能为复杂,无结构的场景(尤其是那些具有细微缺陷和无法预测的缺陷的场景)的定性解释做出最佳选择。
为什么机器视觉和深度学习可以在这种情况下携手并进
尽管机器视觉系统可以承受因缩放,旋转和姿势变形而导致的零件外观变化,但复杂的表面纹理和图像质量问题仍然带来了严峻的检查挑战。单凭机器视觉系统就无法评估视觉上非常相似的图像之间存在巨大差异和偏差的可能性。
资料来源:康耐视
基于深度学习的系统非常适合本质上更复杂的视觉检查:以细微但可容忍的方式变化的模式。深度学习擅长解决复杂的表面和外观缺陷,例如在车削,刷过或发亮的零件上的划痕和凹痕。无论是用来定位,阅读,检查或分类感兴趣的特征,基于深度学习的图像分析在概念化和泛化零件外观的能力上都与传统的机器视觉有所不同。
使用深度学习可以有效应对的挑战性情况(来源:Cognex)
更好的感知
机器视觉具有非常高的光学分辨率,这取决于用于图像采集的技术和设备。与人的视觉相比,机器视觉具有“更广泛”的视觉感知范围,并且能够在该范围的紫外线,X射线和红外区域进行观察。
更快—观察和结论都非常快,其速度以FLOPs为单位来衡量计算机的速度,并且还可以进行精确的计算。
该系统具有与更高处理速度相关联的所有功能以及潜在的无限存储容量。
可靠—按照说明,毫无疑问,系统无偏见且可根据需要进行编程。
准确—自动化系统能够以标准化方式测量绝对尺寸。
不依赖于环境—这样的系统可以部署在危险和危险的条件下,或者可能被人类冒险的环境中。
如何开始自动外观检查
在需求方面,AVI并不需要太多的物理设备。开始自动化外观检查所需的设备可以分为硬件和软件资源。
硬件
这些资源由主要设备(例如照相机,光度计,色度计)和可选的辅助设备(例如分级或分选所需的辅助设备)组成,这取决于工业和自动化流程。
我们本质上是在拍照并分析图像,您只需一台照相机!
根据使用设备的行业,实际可以将物理设备分为三个子系统。
进纸系统—均匀地散布物品并以恒定速度移动它们,以便光学系统可以捕获单个物品的框架。
光学系统—由专门调整的光源和传感器(通常是数码相机)组成。光学系统捕获被检物品的图像,以便软件可以处理和分析它们。
分离系统—清除有缺陷的项目和/或等级,并根据产品的质量将其分为几类。
自动外观检查的处理流程
软件
AVI的主要要求是软件层,其核心是计算机视觉技术,该技术可帮助检查产品或任何感兴趣的对象是否存在缺陷以及某些部件是否存在。自动化视觉检查系统的软件部分需要高级图像分析算法和繁重的编程。这些算法处理图像以调整其质量,找到有趣的点和区域,最后根据这些区域中发现的特征进行决策。
深度学习技术使自动视觉检查系统的性能优于人类或传统机器视觉过程
由于深度学习模型在解决检查问题方面取得了巨大的成功,因此已被证明是该软件不可或缺的一部分。可以在螺栓的数千个图像上对它们进行训练,深度学习算法会逐渐学会检测与螺栓“标准”外观的任何有意义的偏差。根据您的用例,可以使用一个或多个不同任务(例如对象检测,语义分割和图像分类)来解决您的检查问题。它还可能涉及OCR模型以读取序列号或条形码。
为了维持高图像处理速度,通常必须在高资源计算机上部署经过训练的深度学习模型。例如,必须有GPU才能实时获取结果。
在最终的检查模型准确性和性能中,有几个因素起作用—照明条件,要检查的产品数量,要查找的缺陷类型,缺陷/物体的大小,图像的分辨率等。因此,一个自动化的外观检查系统需要一支由熟练的研发工程师组成的团队,他们能够构建这种复杂的系统。
每个制造单位都有不同且通常唯一的数据(图像),这可能是由于不同的相机类型,室内照明或产品本身。因此,AVI的软件部分始终是为特定检查需求量身定制的定制解决方案。
技术前沿:ISP芯片终极进化——VP芯片(AI视觉处理器)的更多相关文章
- zz2017-2018年AI技术前沿进展与趋势
2017年AI技术前沿进展与趋势 人工智能最近三年发展得如火如荼,学术界.工业界.投资界各方一起发力,硬件.算法与数据共同发展,不仅仅是大型互联网公司,包括大量创业公司以及传统行业的公司都开始涉足人工 ...
- OTP语音芯片和掩模语音芯片(mask)的区别
OTP(One Time Programable)是MCU的一种存储器类型,意思是一次性可编程:程序烧入IC后,将不可再次更改和:因此OTP语音芯片就是指一次性烧录的语音IC. 从OTP定义上来看,只 ...
- 射频识别技术漫谈(20)——RC系列射频接口芯片
目前基于13.56MHz的射频识别技术主要有ISO14443A.ISO14443B.ISO15693和FELICA技术.针对13.56MHz的射频识别技术,NXP开发了一系列名字以RC(Radio C ...
- mt8665芯片怎么样?联发科mt8665芯片参数介绍
MediaTek的MT8665是一款高度集成的LTE片上系统(SoC),它包含了先进的功能,例如LTE cat.4.Octa HMP核心在1.5GHz下工作.3D图形(OpenGLES 3.0).13 ...
- CS5213高性价比替代AG6200芯片|兼容台湾AG6200芯片|CS5213Capstone
CS5213是一款HDMI转VGA带音频信号转出的芯片方案,CS5213支持HDCP协议,且外围电路比台湾安格AG6200要少,且本身CS5213芯片成本比AG6200要低,整个方案设计简单性价比较高 ...
- 探索云网络技术前沿,Sigcomm 2019 阿里云参会分享
Sigcomm 2019简介 一年一度的网络顶级学术峰会Sigcomm于8月20日至22日在北京举行.作为ACM Special Interest Group on Data Communicatio ...
- 2V升5V的升压芯片,两款芯片电路图
2V的输入电压,是可以用来做5V输出的升压电路,但是2V的供电设备很少,不知道还有什么东西是2V电压的,还需要升压到5V的电路系统. 两款2V升5V的芯片电路图: 第1, PW5100升压芯片,输出电 ...
- 同类型芯片资源对比-CH32x芯片快速应用说明
CH32Fx 系列芯片是基于 Cortex-M3 内核设计的微控制器,所以与大部分 ARM 工具和软件兼容. 此外,其外设和硬件设计兼容市场上一些主流微控制器,并在性能和功能上有所增强, 方便用户快速 ...
- HT4936S锂电池充放电芯片,充电宝芯片
应用电路 引脚定义 参考 http://www.hotchip.com.cn/products/
- 王晶:华为云OCR文字识别服务技术实践、底层框架及应用场景 | AI ProCon 2019
演讲嘉宾 | 王晶(华为云人工智能高级算法工程师王晶) 出品 | AI科技大本营(ID:rgznai100) 近期,由 CSDN 主办的 2019 中国AI 开发者大会(AI ProCon 2019) ...
随机推荐
- chatGPT帮助开发实战解答问题和反思
问题来自.Net开发群友 问题 我想做一个自动生成单据号的功能,但是在EFCORE里没有行级锁,请有什么等价方案吗? ChatGPT回答 在 EF Core 中确实没有提供行级锁(row-level ...
- idea导入tomcat8源码搭建源码调试环境
从apache tomcat下载tomcat8源码 1.下载到源码后,tomcat默认使用ant作为包管理工具,本地调试时创建pom.xml, 手动创建一个pom.xml放入源码根目录 <?xm ...
- 【研究生学习】SNR、Eb/N0和Es/N0的关系
SNR.Eb/N0与Es/N0的关系 在模拟通信中,SNR是一个非常有用的指标 实例说明
- 1223. 掷骰子模拟 (Hard)
问题描述 1223. 掷骰子模拟 (Hard) 有一个骰子模拟器会每次投掷的时候生成一个 1 到 6 的随机数. 不过我们在使用它时有个约束,就是使得投掷骰子时, 连续 掷出数字 i 的次数不能超过 ...
- 2.2 在resources目录下,新建applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?> <beans> <!-- 这个bean标签的作用是, ...
- csp201503-2(数字排序)
问题描述 给定n个整数,请统计出每个整数出现的次数,按出现次数从多到少的顺序输出. 输入格式 输入的第一行包含一个整数n,表示给定数字的个数. 第二行包含n个整数,相邻的整数之间用一个空格分隔,表示所 ...
- FileChannel 数据传输(文件拷贝)
import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import ...
- Redis Stack(生产适配-仅提供 Redis Stack 服务器) (6.2.4-v2版本)
一.使用docker安装(生产适配-仅提供 Redis Stack 服务端) (6.2.4-v2版本) 简介 安装命令根据实际部署情况调整 版本地址:官方镜像主页 | 发布版Tags 指定版本命令-推 ...
- 2022-06-01内部群每日三题-清辉PMP
1.采购部门要求项目经理提供一个项目的招标文件.这些文件中应该包含哪些内容? A.变更请求 B.选择的卖方 C.质量测量指标 D.建议邀请书 2.作为一个大型组织中关键项目的组成部分,阀门制造业务被外 ...
- Telnet 连接smtp协议手动发邮件
下面实验以QQ邮箱为例(比较多人用,其它邮箱也一样) Step1.打开CMD 输入:telnet SMTP服务器 SMTP端口地址 连接smtp服务器 Step2. 输入:helo 内容 (向它( ...