在大多数之前的系统中,图像捕获和处理模块被分离为两个独立的部分,不存在交互。视觉芯片将两层集成的交互行为提高了速度(并行传输带宽增加,传输信息冗余减少),增加了局部光强自适应(DR)。
局限:
- 现有的仿生原理基于对视角表层机制的研究,其余是基于针对外界刺激的响应。
- 生物视觉行为的严格数学公式大多基于经验和实验。计算模型考虑了图像、噪声等假设和约束,过于复杂,难以实时运行。
硬件实现的挑战和困难
- 基本问题
动态范围、失配,数字噪声,固有噪声 - 中级问题
多组件可用性?用于图像的时空处理的光电探测器和电路 - 高级问题
算法选择,设计方法,系统级集成(eg. 多芯片数据传输协议) - 生物机理和电路实现
互联密度限制,三维集成。
90年代进入狂潮,但是很少模拟神经网络芯片商业化。缺少实际系统设备的基础。
模拟VLSI设计框架
- 生理意义上的神经网络的复杂度和精度较低,并具有大规模互连结构。
- 基于神经元网络的模拟VLSI硬件能够实现视觉的低精度简单功能单元。
亚阈值CMOS无法完全代替模拟和数字的原因和问题(??似乎是我在这方面没理解?这个CMOS不是就是应用在具体电路里面的吗)
- 电路互连受技术限制,只有二维结构。生物系统运行反之,受基本的物理和数学限制。
- 上述设计框架没有定义评估功能受限的有限规模神经网络性能。
- 上述框架没有回答特殊功能层,以及多层间接口问题。(噪声和失配是否对下一功能层产生影响)
- 实际使用。和数字处理器的接口处采用ADC和DAC,引入的噪声影响实际效果;同时需要考虑的是,这种设计是否让我们想要的仿生信号处理偏离正轨。
模拟神经网络芯片和视觉芯片具有相似的处理信息的原理,唯一区别在于光感受器和处理电路。该部分的成分的增加导致视觉芯片的效果更差。
回顾了低水平运动检测和对比度增强的模型和算法
介绍VLSI技术和实现算法的能力
介绍像素级物理设计和细分策略(处理器结构,系统级同学方法)
光感受器相关电路电路级设计
时空处理电路电路级设计
AVLSI电路设计的影响因素(失配,数字噪声)
大量视觉芯片(没有完全介绍其具体细节)
三个案例研究,分别是电路设计和对比度增强。
早期水平运动检测和对比度增强的模型和算法
The two most recognized observations are the parallel nature of the visual wetware, and the relative simplicity of the processing elements in the visual pathways.
几乎没有针对模拟VLSI的视觉算法,即便假设模拟VLSI的本质和生物视觉模型存在相似性,但是得不到根本性帮助。在由运动检测元件构成的系统规模扩张时,硬件视觉系统仍然存在严重的电路失配和非理想因素。
- 运动检测算法
可用于图像分割,深度估计等。运动检测不等同于速度估计,速度估计可辅助用于光流计算。
运动检测算法分类:
强度。空间和实践梯度确定光流。需要邻域信息,适合AVLSI。H-S算法,亮度恒定方程,定义误差函数得出光流估计。亮度恒定仅适用部分情况,时空导数产生非真实信号(如噪声)。在此基础上存在诸多算法层面的改进,但是约束越多,越难以使用AVLSI实现。
特征匹配。角、点灯特征。需要全局搜索,特征存储。减少信息冗余,但是需要检测区分和跟踪不同特征的运动情况。包含纯空间特征和时空特征。经典边缘检测数学方法如LoG。
相关性。前后帧关联,或处理后的图像(如边缘检测),高算力需求。较难在AVLSI实现。计算机视觉有减少该类计算量的方法。
生物模型多为局部模型,考虑近邻元素的作用。大多源自Reichard检测器,本质是两个延迟分支做比较,通过抑制和兴奋描述基本功能。
线性侧抑制,乘法侧抑制(非线性),感受野形状和大小受光强度变化。
对比度增强。消除直流电平(减去平均值)放大剩余感兴趣的信号。
对数算子LoG(高斯算子)。G(x) LoG DoG DoE。
Gabor算子。偶数和奇数算子。
正则化理论,曲面重建。
生物学对比增强模型。
视网膜侧抑制。线性横向抑制(LLI),细胞抑制其相邻细胞
LoG,DoG,偶数Gabor在频率响应中都具有带通滤波特性。
由于视网膜和皮质层的典型对比敏感度类似于Gabor函数,所以常用Gabor。(呃呃)
计算机视觉的AVLSI实现,从硬件角度看算法问题,并区分视觉芯片和模拟神经网络。
电流/电压模式,充电模式,混合模式
相比模拟器件,所有视觉算法都可以在通用并行数字硬件中实现。因此,其实我们关注的是效率(速度和大小)问题。例如数字通用并行硬件受数据存储等问题。
实际硬件实现:
数据传输尽量小。并行处理架构,为每个像素合并一个处理器。图像压缩。
模拟还是数字
系统实现的哲学观点:暂且抛开模拟和数字不谈。如果是工程方面的系统实现,如功率、面积、速度、鲁棒性,文章会主要阐述可用技术,设计,如何实现。反之如果是科学方面会有更多想法和自由度。针对silicon retina,作者认为初期应该从科学的角度尝试,但现在技术发展,也应该从更成熟的工程设计着手。
在特定设计背景下,模拟和数字具有比较意义。
信号表示:
模拟,连续电平;数字,量化电平,通过更多位表示更大的范围。
运算:
模拟,通过导线电流实现电流模式中的加减法,不过电压模式会更复杂,并取决于设计者。模拟具有较好的计算效率,数字相反。
动态范围:
模拟受电源电压,热、失真噪声的干扰。典型动态范围40-100dB。数字的DR受位数和字类型限制,动态范围远高于模拟。
噪声:
模拟受热噪声,散粒噪声等。逐层级联导致噪声被累积放大,严重影响信号质量。数字由于高低电平量化和再生恢复信号的特性,只会存在量化噪声和舍入误差。A-D-A也可以对模拟系统再生,但需要额外电路成本。
速度和功率、动态范围成正比。若上述两个指标类似,则数字和模拟在速度方面无较大差别。
面积:
超过8位精度的模拟实现,其面积不再具有优势,与数字相当。
生物合理性:
脉冲编码信号是数模表示的混合,同时减少了噪声和失真。
当前技术,实现数字的视觉芯片不可行。当前存在的像素级数字处理视觉芯片使用布尔运算符操作。神经网络相对宽松。
CNN(细胞神经网络)
VLSI设计要素
- 互连
- 神经元数目
- 处理单元
- 权重存储
- 反馈或学习(存在诸多针对模拟的片上学习实现)
光检测
将光电流转为电压会降低动态范围。
互连
受芯片的二维特性,基本局限在最近邻和次近邻。
自适应
较难实现,存在低级别的适应,如偏移和失配,增益控制等。
面积
计算
跨线性电路可实现大部分数学函数。大多数计算功能可通过单设备的电学和物理特性实现。
AVLSI设计方法学
应该选择CMOS技术。
- 电流/电压模式
电流模式呈现更大动态范围。 - 混合信号
模拟实现在小区域内有低功耗,大动态范围。数字信号具有抗噪性和稳定性。脉冲模式传输也是其中较有效的方式之一。
像素级ADC,sigma-delta ADC,列级或单ADC架构
像素面积受互连限制
系统及数据读出和通信
主动和被动信息传输
数据读出方法
- 使用decoder扫描。
- 使用以为寄存器扫描,保证可连续选择行或列。
- 同步地址时间表示(SAER)。通过额外电路检测事件,通过多路复用器检测激活标志,只读取那些事件相关的输出。