一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

智能图像传感器堆叠的制作方法

2022-07-10 15:50:33 来源:中国专利 TAG:

智能图像传感器堆叠
1.相关申请
2.本技术主张于2020年10月19日提交的且标题为“智能图像传感器堆叠(intelligent image sensor stack)”的第17/074,410号美国专利申请以及2019年11月13日提交的且标题为“智能图像传感器堆叠(intelligent image sensor stack)”第62/934,635号临时美国专利申请的申请日期的优先权和权益,所述美国专利申请和所述临时美国专利申请的全部公开内容以引用的方式并入本文中。
技术领域
3.本文所公开的至少一些实施例大体上涉及用于图像感测的集成电路,并且更具体地,但不限于具有处理逻辑的智能图像传感器。


背景技术:

4.自动驾驶技术领域的最新发展允许计算系统至少在一些状况下操作机动车辆的控制元件而无需车辆的人类操作者的辅助。
5.例如,传感器(例如,相机和雷达)可安设在机动车上以检测在车道上行进的车辆的周围环境的条件。在具有或不具有来自车辆的人类操作员的任何输入的情况下,安装在车辆上的计算系统分析传感器输入以识别条件且产生用于车辆的方向和/或速度的自主调整的控制信号或命令。
6.在一些布置中,当计算系统识别出其中计算系统可能无法继续以安全方式操作车辆的情境时,计算系统向车辆的操作人员发出警报并且请求操作人员接管对车辆的控制并进行手动驾驶,而不是让计算系统自主驾驶车辆。
7.自主驾驶和/或高级驾驶辅助系统(adas)可以使用用于识别在传感器输入中所捕获的事件和/或对象的人工神经网络(ann)。传感器输入的实例包含来自数码相机、光达、雷达、超声声纳等的图像。
8.一般来说,人工神经网络(ann)使用神经元网络处理所述网络的输入并产生所述网络的输出。
9.例如,网络中的每一神经元接收一组输入。到神经元的输入中的一些可以是网络中的某些神经元的输出;并且到神经元的输入中的一些可以是提供到神经网络的输入。网络中的神经元当中的输入/输出关系表示网络中的神经元连接性。
10.例如,每一神经元可分别针对其输入具有偏置、激活函数和一组突触权重。激活函数可以呈阶跃函数、线性函数、对数s型(log-sigmoid)函数等形式。网络中的不同神经元可以具有不同激活函数。
11.例如,每一神经元可产生其输入与其偏置的加权和,并且接着产生作为加权和的函数的输出,所述输出是使用神经元的激活函数计算出的。
12.ann的输入与输出之间的关系一般来说由ann模型限定,所述ann模型包含表示网络中的神经元的连接性的数据,以及每一神经元的偏置、激活函数和突触权重。使用给定
ann模型,计算装置根据到网络的给定一组输入来计算网络的输出。
13.例如,可基于相机输入产生发到ann网络的输入;并且来自ann网络的输出可为例如事件或对象等项目的识别。
14.脉冲神经网络(snn)是一种紧密模仿自然神经网络的ann类型。当神经元的激活电平足够高时,snn神经元产生脉冲作为输出。snn神经元的激活电平模仿自然神经元的膜电位。snn神经元的输出/脉冲可改变接收输出的其它神经元的激活电平。作为时间的函数的snn神经元的当前激活电平通常使用微分方程来模型化且视为snn神经元的状态。来自其它神经元的传入脉冲可将所述神经元的激活电平推得更高,以达到产生脉冲的阈值。一旦所述神经元产生尖峰,其激活电平就复位。在产生脉冲之前,snn神经元的激活电平可随时间推移而衰减,如由微分方程所控制。snn神经元的行为中的时间元素使得snn适合于处理时空数据。snn的连接性通常是稀疏的,这有利于减少计算工作负载。
15.一般来说,可以使用监督方法来训练ann,其中调整ann中的参数以最小化或减少由相应输入产生的已知输出与通过将输入应用于ann而产生的计算出的输出之间的误差。监督学习/训练方法的实例包含强化学习,和具有误差校正的学习。
16.替代地或组合地,可使用无监督方法来训练ann,其中由给定一组输入产生的精确输出在训练完成之前是未知的。可训练ann将项分类成多个类别,或将数据点分类成集群。
17.可以采用多种训练算法用于复杂的机器学习/训练范例。
附图说明
18.实施例是借助于实例而非限制在附图的图中来说明的,在附图中相似参考指示类似元件。
19.图1示出根据一个实施例的具有图像传感器、图像信号处理电路和随机存取存储器的集成电路装置。
20.图2示出根据一个实施例的具有图像传感器和人工智能(ai)引擎的集成电路装置。
21.图3示出根据一个实施例的具有堆叠在图像传感器与人工智能(ai)引擎之间的存储器的集成电路装置。
22.图4示出根据一个实施例的具有图像传感器的固态驱动器集成电路装置。
23.图5示出根据一个实施例的具有固态数据驱动器接口和相机接口的集成电路装置。
24.图6示出根据一个实施例的具有相机接口和接入固态驱动器的接口的集成电路装置。
25.图7示出根据一个实施例的连接到主机系统的集成图像感测装置。
26.图8示出根据一些实施例的具有被配置成收集和处理传感器数据的车辆的系统。
27.图9示出根据一个实施例的自主车辆。
28.图10-12示出了根据一些实施例的用于预测的人工神经网络的训练。
29.图13示出根据一个实施例的具有神经网络加速器的集成图像感测装置。
30.图14示出根据一个实施例的用以加速神经网络计算的存储器组件。
31.图15示出根据一个实施例的被配置成支持神经网络计算的存储器容量。
32.图16示出了根据一个实施例的用于人工神经网络(ann)模型的存储器区的配置。
33.图17示出了根据一个实施例的用于人工神经元的输入的存储器区的配置。
34.图18示出了根据一个实施例的用于人工神经元的输出的存储器区的配置。
35.图19示出根据一个实施例的主机系统与集成图像感测装置之间的通信。
36.图20示出根据一个实施例的集成图像感测装置内的通信。
具体实施方式
37.本文所公开的至少一些实施例提供集成电路装置,所述集成电路装置具有图像感测元件、存储器和处理逻辑电路,所述处理逻辑电路被配置成执行图像信号处理和/或用于人工智能(ai)计算。
38.图1示出根据一个实施例的集成电路(ic)装置(101),其具有cmos(互补型金属氧化物半导体)图像传感器(103)、图像信号处理(isp)专用集成电路(asic)(105)以及动态随机存取存储器(dram)(107)。集成电路装置(101)的组件封装在单个集成电路封装内。
39.cmos图像传感器(103)包含感光元件的阵列。不同的感光元件被配置成产生用于由图像传感器(103)捕获的图像的不同像素的信号。由感光元件产生的图像信号由isp asic处理以产生表示经由图像传感器(103)捕获的图像的数字数据。
40.cmos图像传感器(103)和isp asic(105)可形成在集成电路裸片的不同层中。替代地,cmos图像传感器(103)和isp asic(105)可形成在(例如,经由导线或穿硅通孔(tsv))连接在集成电路装置(101)的封装内的不同集成电路裸片上。
41.dram(107)具有形成在集成电路裸片上的存储器单元集合,所述存储器单元集合与isp asic(105)和/或图像传感器(103)的集成电路裸片分开。替代地,dram(107)和isp asic(105)可形成在同一集成电路裸片的不同区域上。
42.集成电路装置(101)包含在isp asic(105)与dram(107)之间提供高带宽互连件的衬底(109)。dram(107)为isp asic(105)提供存储容量,使得isp asic(105)可被配置成执行高级图像处理,所述高级图像处理超出模拟信号到数字图像数据的转换以及有限的图像信号清理。使用由衬底/互连件(109)提供的isp asic(105)与dram(107)之间的高带宽、低能量连接,isp asic(105)可使用dram(107)来存储中间处理结果并且对邻近像素块执行图像处理以产生每一像素的输出。
43.例如,isp asic(105)可被配置成执行高级图像清理和增强操作,例如翘曲检测和校正、色彩校正、去模糊、降噪等。
44.任选地,集成电路装置(101)可分割成多个区段。每一区段可包含图像传感器(103)的感光元件的子阵列、isp电路和dram存储器单元的子集合。不同区段可被配置成并行地操作以处理相应区段内的像素以产生中间结果。
45.此外,isp asic(105)可被配置成对跨越区段边界的中间结果进行操作以全局地执行高级图像处理,例如,用于翘曲检测和校正、色彩校正、去模糊、降噪等。
46.例如,可基于含有像素的像素集合产生像素的输出。可选择或构造所述集合以使得所述像素大体上在区段的中心处。
47.例如,如由图像传感器(103)捕获的初始图像可由isp asic(105)以每像素为基础进行处理,以产生存储在dram中的图像的版本。随后,对于每一像素,选择相邻像素集合用
于进一步处理,例如,用于翘曲检测和校正、色彩校正、去模糊或降噪等以产生存储在dram中的图像的下一版本。不同的处理迭代可被配置成增强图像的不同方面。任选地,可针对增强或校正(例如,针对翘曲检测)执行对图像中的所有像素的全局分析。
48.任选地,可选择性地应用不同的图像处理/增强/校正选项。因此,集成电路装置(101)可被配置成基于偏好、响应时间、输出分辨率等应用不同的图像处理选项。
49.集成电路装置(101)可包含用于连接到主机系统的移动行业处理器接口(mipi)相机串行接口(csi)(111)。例如,主机系统可包含被配置在印刷电路板(113)上的一或多个处理器(115)和存储器(117)。在一些情况下,处理器(115)和存储器(117)被配置在芯片上系统(soc)中。
50.图2示出根据一个实施例的具有图像传感器(103)和人工智能(ai)引擎(121)的集成电路装置(101)。集成电路装置(101)的组件封装在单个集成电路封装内。
51.图2的集成电路装置(101)的图像传感器(103)和isp asic(105)可类似于图1中的那些。
52.在图2中,ai引擎(121)经由穿硅通孔(ts)(123)连接到存储器(125)。ai引擎(121)被配置成基于存储在存储器(125)中的人工神经网络(ann)(127)来处理已经由asic(105)校正和/或增强以用于高级图像处理的图像。
53.例如,ann(127)可用于检测可由图像信号处理asic(105)进一步校正的翘曲、去模糊或噪声。
54.例如,ann(127)可用于识别所关注的图像的一部分;并且isp asic(105)被配置成进一步增强或校正所识别的部分。
55.经由isp asic(105)和ai引擎(121)两者增强的所得图像(129)可由集成电路装置(101)经由mipi csi(111)提供到主机系统(例如,印刷电路板(113)上的处理器(115))。
56.一般来说,存储器(125)可包含易失性存储器(例如,dram(107))和/或非易失性存储器。
57.非易失性存储器的实例包含快闪存储器;基于“与非”(nand)逻辑门、“或非”(nor)逻辑门形成的存储器单元;相变存储器(pcm)、磁存储器(mram);电阻式随机存取存储器;交叉点存储装置和存储器装置。交叉点存储器装置可以使用无晶体管存储器元件,所述无晶体管存储器元件中的每一个具有在一起堆叠成列的存储器单元和选择器。存储器元件列经由在垂直方向上铺设的两个线路排布来连接,其中在层中的一个方向上铺设的一个排布的线路位于存储器元件列上方,且另一排布的线路在另一方向上,且在位于存储器元件列下方的层中。可个别地在两个层中的每一层上的一个线路的交叉点处选择每一存储器元件。交叉点存储器装置是快速且非易失性的,且可用作通用存储器池以用于处理和存储。非易失性存储器的另外的实例包含只读存储器(rom)、可编程只读存储器(prom)、可擦除可编程只读存储器(eprom)和电子可擦除可编程只读存储器(eeprom)存储器等。易失性存储器的实例包含动态随机存取存储器(dram)和静态随机存取存储器(sram)。
58.图3示出根据一个实施例的具有堆叠在图像传感器(103)与人工智能(ai)引擎(121)之间的存储器(125)的集成电路装置(101)。图3的图像传感器(103)可包含图1和2中所示的isp asic(105)。集成电路装置(101)的组件封装在单个集成电路封装内。
59.在图3中,存储器(125)的一或多个集成电路裸片可夹在图像传感器(103)的集成
电路裸片与ai引擎(121)的集成电路裸片之间。穿硅通孔(tsa)(123)可用于为图像传感器(103)提供超高带宽以将图像数据存储到存储器(125)中,并且供ai加速器(125)处理并且将图像数据馈送到ann(127)中。
60.控制器(131)被配置成在图3的集成电路装置(101)中,用于控制ai引擎(121)的操作、管理存储器(125)以及控制与主机系统(例如,印刷电路板(113)上的处理器(115))通信的主机接口(133)。
61.例如,主机系统可经由存储器总线或外围总线与集成电路装置(101)通信。例如,控制器(131)和主机接口(133)可被配置成根据用于外围组件互连高速(pcie)总线、串行高级技术附件(sata)总线、通用串行总线(usb)总线和/或存储区域网络(san)的通信协议与主机系统通信。
62.控制器(131)和主机接口(133)可形成在ai引擎(121)的同一集成电路裸片或单独集成电路裸片上。
63.任选地,集成电路装置(101)的图像传感器(103)、存储器(125)和ai引擎(121)可竖直地配置为可彼此独立并行地操作的多个区段。此外,控制器(131)可跨越区段控制和/或执行计算。
64.集成电路装置(101)的ann(127)可被配置成产生用于主机系统(例如,印刷电路板(113)上的处理器(115))的推断结果(135)。因此,不需要将图像(129)传输到主机系统。
65.例如,集成电路装置(101)可配置在自主车辆的相机中以辨识车辆的环境中的对象。因此,ann(127)可用以识别对象、辨识对象和/或在高分辨率下使用图像(129)确定用于主机系统的对象的分类。例如,图像传感器(103)可在高分辨率和/或高刷新速率(例如,高帧速率)下产生图像以允许ai引擎(121)以高准确性产生推断结果(135)。由于推断结果(135)的数据体积显著小于图像(129),因此可通过传输推断结果(135)而不是高分辨率图像(129)来减小集成电路装置(101)与主机系统(例如,印刷电路板(113)上的处理器(115))之间的连接的通信带宽要求。
66.任选地,集成电路装置(101)还可以主机系统的减少的分辨率和/或减少的刷新速率产生图像。可按需要由主机系统从集成电路装置(101)请求高分辨率图像。
67.任选地,ai引擎(121)可从图像识别对象并且基于图像中的对象的大小提取含有所述对象的图像的一部分并且根据预定大小和分辨率产生所述对象的图像。例如,集成电路装置(101)可在所关注的对象中按数字方式放大以填充预定数目的像素的图像中的对象。因此,以预定分辨率在放大图像中呈现所述对象。
68.图4示出根据一个实施例的具有图像传感器(103)的固态驱动器(ssd)集成电路装置(101)。图4的图像传感器(103)可包含图1和2中所示的isp asic(105)。集成电路装置(101)的组件封装在单个集成电路封装内。
69.ssd集成电路装置(101)具有非易失性存储器(nvm)(147),所述非易失性存储器(nvm)可在ssd集成电路装置(101)未被供电时保持数据。存储器(125)可包含易失性存储器(例如,dram、sram)和非易失性存储器(nvm)(147)(例如,nand快闪存储器、nor快闪存储器、交叉点存储器)两者。例如,ssd集成电路装置(101)可被封装成具有球栅阵列(bga)固态驱动器(ssd)的形状因数。
70.图4的集成电路装置(101)包含nvm表达(nvme,或非易失性存储器主机控制器接口
规格(nvmhcis))接口(143),其允许主机系统(例如,印刷电路板(113)上的处理器(115))使用ssd的通信协议将数据写入存储器(125)和/或nvm(147)并从中读取数据。
71.不同于常规ssd,图4的集成电路装置(101)包含图像传感器(103)。
72.此外,如图3所示,图4的集成电路装置(101)具有ai引擎(121),其可以将来自图像传感器(103)的全分辨率图像(129)减少为推断结果(135)、对象的提取图像和/或减少分辨率的图像。控制器(141)管理从非易失性存储器(147)中的图像(129)产生的数据的存储,和/或背景维护操作,例如垃圾收集、耗损均衡等。
73.在垃圾收集过程中,ssd的控制器搜索已经被标记为过时的存储媒体的页,重新定位与过时页位于相同块中的页的有效数据,并且擦除所述块以使所述块准备好写入操作。在耗损均衡操作中,ssd的控制器将数据从擦除频率较高的页移动到擦除频率较低的页。
74.由于图像(129)和/或推断结果(135)以在ssd中存储数据的方式存储在图4的集成电路装置(101)的存储器(125)中,因此主机系统可以通过将读取命令发送到集成电路装置(101)的nvme接口(143)来检索数据。由于数据由ssd控制器(141)自动写入到存储器(125)中,因此主机系统可检索数据而无需将写入命令发布到nvme接口(143)以存储待检索的数据。
75.因此,图4的集成电路装置(101)不使用相机协议(例如,mipi csi)与主机系统通信,而是将来自图像传感器(103)的图像(129)和/或来自ai引擎(121)的参考结果(135)存储在存储器(125)中作为固态驱动器(ssd)。
76.例如,ssd集成电路装置(101)可被配置在自主车辆(例如,图8和9中所示的211)的相机中。存储器(125)的存储能力可充当黑匣子(或黑匣子系统的一部分)以用于记录导致事故或险些发生的事故事件的信息。
77.例如,存储器(125)可被配置成具有存储容量以至少存储在预定时长(例如,30秒)的最近时间段中产生的图像(129);如果存在事故或险些发生的事故事件,则可以类似于从配置在车辆上的黑匣子数据记录器检索数据的方式检索和分析保存在存储器(125)中的图像(129)以进行事故调查。
78.一般来说,存储器(125)可包含易失性存储器(例如,dram(107)或sram)和非易失性存储器(nvm)(147)(例如,nand/nor快闪存储器、交叉点存储器)。响应于事故或险些发生的事故事件,集成电路装置(101)至少在一段时间内(例如,经由电容器,或备用电源,例如电池)配备有足够电力;并且事故或险些发生的事故事件可使集成电路装置(101)将当前在易失性存储器(例如,dram(107))中的图像(129)复制到nvm(147)中。
79.在预定时长(例如,30秒)的最近时间段中产生的图像(129)可以循环方式存储到存储器(125)中,使得最新图像覆盖来自图像传感器(103)的最旧图像。此布置减少了对存储器(125)的存储容量要求。此外,ai引擎(121)在本地处理来自图像传感器(103)的图像(129)并且产生可能由主机计算机(例如,图9所示的自主车辆(211)的计算机系统(231))使用的推断结果(135);并且由于推断结果(135)的大小减小,ssd集成电路装置(101)将推断结果(135)存储一段时间(例如,小时),所述时段远长于用于记录图像(129)的预定时长(例如,30秒)。
80.例如,集成电路装置(101)的主机系统可为印刷电路板(113)上的处理器(115)或自主车辆(211)的计算机系统(231)中的处理器(233))。由于可能由主机系统使用的数据与
存储器(125)一起存储,因此集成电路装置(101)不必响应于来自图像传感器(103)的连续图像流连续地将数据流式传输到主机系统以供处理。替代地,主机系统可在由主机系统确定的时间使用nvme协议从存储器(125)读取数据。主机系统可使用nvme接口(143)和ssd控制器(141)来存取存储器(125),就好像集成电路装置(101)是主机系统先前向其发布写入命令以在其中存储图像和/或推断结果的ssd或黑匣子一样。
81.在一些实施例中,主机系统可将触发条件存储在存储器(125)中,使得当推断结果(135)满足触发条件时,集成电路装置(101)的控制器(141)和/或ai引擎(121)可产生对主机系统的警报,从而使得主机系统读取符合触发条件的推断结果(135)。例如,警报可包含在存储器(125)中存储推断结果(135)的位置的存储器地址和/或引起警报的图像(129)中对象的属性,例如对象的识别/分类。
82.任选地,图4的集成电路装置(101)可封装为球栅阵列(bga)固态驱动器(ssd)。由图像传感器(103)产生的图像可循环地缓冲/存储在存储器(125)和/或nvm(147)中。ai引擎(121)应用ann(127)以处理来自图像传感器(103)的图像(129)以产生神经网络输出,例如从图像(129)辨识的对象的识别、对象的属性(例如大小、分类、地理位置、标准化分辨率的对象的提取图像)。
83.由于在集成电路装置(101)中内部分析图像数据并且将其转换成推断结果(135),因此减少或基本上消除了需要检索图像(129)的主机系统的可能性。主机系统可将读取命令发布到nvme接口(143)以检索推断结果(135)。读取命令可以由主机系统周期性地产生,或者在存储器(125)中存储的触发条件得到满足时,响应于来自集成电路装置(101)的警报而产生。
84.由于集成电路装置(101)可以存储来自图像传感器(103)的图像流的最新片段和/或从来自图像传感器(103)的图像(129)产生的推断结果的时间段,因此集成电路装置(101)可以被配置为自主车辆(211)的黑匣子系统的一部分。例如,响应于与事故或险些发生的事故相关联的事件,主机系统可指示集成电路装置(101)停止记录新图像。在已经检索到与事故或险些发生的事故事件相关联的图像和/或推断结果并将其存储在安全位置中之后,主机系统可以指示集成电路装置(101)恢复记录新图像的黑匣子功能。
85.任选地,存储器(125)可被配置成具有存储与多个事故和/或险些发生的事故事件相关联的图像和/或参考结果的容量。因此,在事故或险些发生的事故事件之后,集成电路装置(101)可以使用新的存储容量槽位处理黑匣子数据时以最小延迟恢复正常操作。当已经使用所有槽位时,新数据可存储到先前用于记录最早事故或险些发生的事故事件的槽位中。
86.图5示出根据一个实施例的具有固态数据驱动器接口(例如,143)和相机接口(例如,111)的集成电路装置(101)。图5的图像传感器(103)可包含图1和2中所示的isp asic(105)。集成电路装置(101)的组件封装在单个集成电路封装内。
87.图5的集成电路装置(101)可被配置成具有图像传感器(103)、存储器(125)、ann处理逻辑(例如,121和/或141)、ssd主机接口(例如,nvme接口(143))以及相机接口(例如,mipi csi(111))。图像传感器(103)以高帧速率和高分辨率产生图像流。通过ann处理逻辑(例如,121和141)处理高帧速率、高分辨率图像流以产生存储在存储器(125)和/或nvm(147)中的推断结果(135)。集成电路装置(101)对从图像传感器(103)获得的原始图像流进
行下采样以产生用于相机接口(111)的输出图像流。可按定制帧速率和分辨率定制下采样。集成电路装置(101)可连接到主机系统,例如印刷电路板(113)上的处理器(115)、自主车辆(211)的计算机系统(231)的处理器(233)等。主机系统可以类似于图4的方式经由ssd主机接口(143)存取推断结果(135)。此外,主机系统还可经由相机接口(111)获得输出图像流。在相机接口(111)处输出图像流的可用性降低了对存储器(125)的存储容量要求。ai引擎(121)被配置成通过从来自图像传感器(103)的原始图像流移除不太有用的图像数据来提供更有效的图像流。ssd主机接口(例如,143)可用于定制下采样操作,和/或在需要时检索高分辨率图像。
88.如图3和4所示,图5的集成电路装置(101)具有ai引擎(121),其可以将全分辨率图像(129)减少为推断结果(135)、对象的提取图像和/或减少分辨率的图像。
89.如图4所示,图5的集成电路装置(101)可以在存储器(125)和/或nvm(147)中存储来自图像传感器(103)的图像(129)的最近流区段和/或来自ai引擎(121)的推断结果(135)的最近流区段。主机系统可通过将读取命令发布到nvme接口(143)来存取图像(129)和推断结果(135)。
90.此外,图5的集成电路装置(101)具有将经处理图像数据提供到主机系统的移动工业处理器接口(mipi)相机串行接口(csi)(111)接口(111)。
91.经由mipi csi接口提供的图像数据由ai引擎(121)从图像传感器(103)的原始图像(129)产生。
92.例如,图像传感器(103)可以高帧速率和高分辨率产生图像流(129),使得流的图像数据的速率超出mipi csi接口(111)所允许的通信带宽。ai引擎(121)通过降低例如印刷电路板(113)上的处理器(115)、自主车辆(211)的计算机系统(231)的处理器(233)等主机系统不太可能关注的帧速率、分辨率和/或内容,智能地减小图像流(129)的大小。
93.例如,ai引擎(121)可分析图像(129)以识别所关注的对象,一次对一个对象进行数字放大,并使用不同的帧呈现被放大的不同对象。因此,ai引擎(121)通过移除主机系统不关注的信息、减少冗余信息并放大到主机系统关注的对象,在mipi csi接口(111)中呈现图像。
94.例如,当mipi csi接口(111)呈现正在放大的对象时,主机系统可通过向nvme接口(143)发布读取命令来读取对象的参考结果。任选地,主机系统可进一步分析正在被放大并经由mipi csi接口(111)在图像流中提供的对象的图像。
95.例如,mipi csi接口(111)可提供示出由图像传感器(103)捕获的场景的初始图像(降低或不降低分辨率)。主机系统可根据ai引擎(121)产生的推断结果(135)分析初始图像,并且指示集成电路装置(101)以数字方式放大到场景中的对象或区中。因此,mipi csi接口(111)中提供的后续图像示出所关注的对象或区,其中其它区被裁减。
96.例如,主机系统可对推断结果中识别的对象进行优先级排序,并且指示集成电路装置(101)一次放大一个经优先级排序的对象。在经由mipi csi接口(111)传输的图像流中,可经由一或多个连续帧呈现经优先级排序的列表中的每一对象;并且经由相机接口(111)呈现的图像流可在经优先级排序的列表中识别的对象的呈现上循环,直到对象中的一些移动离开场景为止,其它对象移动到场景中,和/或优先级排序列表由ai引擎(121)和/或主机系统调节。
97.图6示出根据一个实施例的具有相机接口(111)和接入固态驱动器(109)的接口(145)的集成电路装置(101)。图6的图像传感器(103)可包含图1和2中所示的isp asic(105)。集成电路装置(101)的组件封装在单个集成电路封装内。
98.图6的集成电路装置(101)可包含图像传感器(103)、存储器(125)、ann处理逻辑(例如,121和/或141)、到集成电路装置(101)外部的ssd(149)的接口(145)。任选地,图6的集成电路装置(101)还可具有相机接口(例如,mipi csi接口(111))以实时导出图像流(例如,以如上文结合图5所论述的方式)。任选地,图6的集成电路装置(101)的存储器(125)包含nvm(147)和nvme接口(143),所述nvm和所述nvme接口允许主机系统以与存取ssd相同的方式存取存储器(125)。
99.在图6中,集成电路装置(101)的接口(145)允许集成电路装置(101)经由外部ssd(149)扩张其存储器(125)的存储容量。接口(145)充当将数据写入到外部ssd中的主机/发起者。例如,外部ssd(149)可经由nvdimm-p或/或nvme存取。集成电路装置(101)可将数据写入到外部ssd(149)中,例如,来自ann(127)的推断结果/输出、根据预定规则或配置参数选择和/或缩小的图像。外部ssd(149)在配置系统中的存储/存储器容量时提供灵活性。主机系统可存取外部ssd(149),以获取由集成电路装置(101)存储到ssd(149)中的推断结果和/或图像,而无需主机系统的帮助。
100.任选地,可在图6中省略相机接口(111)。
101.如图3、4和5所示,图5的集成电路装置(101)具有ai引擎(121),其可以将全分辨率图像(129)减少为推断结果(135)、对象的提取图像和/或减少分辨率的图像。
102.在图6中,到nvme装置(例如ssd(149)和/或存储器(117)的接口(145)允许集成电路装置(101)使用nvme协议充当nvme装置(例如ssd(149)、存储器(117))的主机。因此,集成电路装置(101)可将图像(例如,129)和/或推断结果(135)存储到外部ssd(149)中,而无需主机系统(例如,处理器(115))的帮助。随后,主机系统(例如,处理器(115、233))可从外部ssd(149)检索图像(129)和推断结果(135)。
103.例如,ssd(149)可被配置为自主车辆(211)的黑匣子数据记录器。响应于事故或险些发生的事故事件,集成电路装置(101)可使用接口(145)将图像(129)和与事件相关的推断结果直接存储到黑匣子数据记录器(例如,149),而无需经过主机系统(例如,处理器(115))。
104.图1-5中的集成电路装置可用作例如配置在机动车或其它车辆上的图像传感装置之类的集成图像感测装置,以在带有或不带有高级驾驶辅助系统(adas)的情况下减少到主机系统的数据业务。
105.例如,图2、3、4、5或6的集成图像感测装置可包含图像传感器(103)、存储器装置(125),以及推断引擎(例如,121和/或131),所述推断引擎被配置成将由图像传感器产生的图像转换为推断结果(135)以发送到主机系统以进行进一步分析和/或产生相机接口(111)中提供的更有效的图像流。由推断引擎(例如,121和/或131)提供的智能可减少或消除在典型情境期间传输到主机系统以供处理的图像数据的量。
106.例如,图像传感器可形成于集成电路裸片上。推断引擎可经由形成在另一集成电路裸片上的逻辑电路实施;并且存储器装置的存储器单元可形成在一或多个另外的集成电路裸片上。推断引擎的集成电路裸片和存储器装置的集成电路裸片可堆叠在图像传感器的
集成电路裸片的背面上,使用硅通孔(tsv)(或通过引线键合或其它互连技术)连接,且围封在集成电路封装内。任选地,集成图像感测装置的集成电路封装的引脚可被配置成使用存储器装置或存储装置的标准化通信协议与主机系统通信,如同集成图像感测装置是存储装置或存储器芯片一样。例如,集成图像感测装置可被封装成具有球栅阵列(bga)固态驱动器(ssd)的形状因数和/或接口。
107.替代地,图像传感器、推断引擎和/或集成电路存储器可被围封在分开的集成电路封装中,所述分开的集成电路封装经由配置于图像感测装置的外壳内的印刷电路板连接。图像感测装置可经由存储器总线或外围总线连接到主机系统,如同图像感测装置是存储器装置或存储装置一样。
108.配置于图像感测装置内的高数据通信带宽允许图像传感器以每秒高帧数捕获图像,所述帧数比允许通过从外围装置到主机系统的传统连接传输的帧数更高。推断引擎处理图像和/或执行分析以产生数据大小显著小于由图像传感器产生的像素图像的大小的推断结果。因此,可减少图像感测装置到主机系统的上游数据业务。
109.例如,根据本文公开的一个实施例的图像感测装置可在车辆(例如,自主驾驶系统)的adas中使用。图像感测装置的分析功能允许车辆将其基于图像的ann处理的一部分卸载到图像感测装置,且因此释放其处理能力和通信带宽用于其它任务。车辆可基于每秒帧数高于由图像感测装置与车辆处理器之间的连接的通信带宽限制的帧数的图像来作出驾驶决策。
110.在汽车和其它应用中使用的相机中的图像传感器可产生每帧数百万像素和每秒若干帧。此数据业务通常被路由到中央处理单元(cpu)以供处理。此类布置会阻塞cpu,并最终导致对每秒可处理的帧数的限制。本文公开的图像感测装置的技术消除或减少此类限制。
111.当使用具有存储器和与图像传感器堆叠的推断引擎的集成图像感测装置时,图像数据被简化为可由cpu(例如,在另一ann中)进一步处理的推断结果。例如,用于adas的ann可包含被配置成处理来自相机的图像的部分。此部分可在集成图像感测装置的推断引擎中配置成产生从集成图像感测装置传送的神经元输出。代替图像数据,神经元输出可以从集成图像感测装置传输,以允许adas的ann的剩余部分完成其推断。
112.例如,在集成图像感测装置的推断引擎中实施的ann的部分可执行基于机器学习的分析,例如像素分段、特征提取、对象检测和/或对象分类,使得可减少或消除将关于个别像素的数据传输到主机系统的必要性。
113.优选地,集成图像感测装置中的存储器装置具有宽输入/输出连接,以通过针对机器学习任务优化的图像传感器和推断引擎提供高带宽。任选地,存储器装置可包含用于加速例如点积和张量存取等某些ann运算的内置函数。
114.图7示出根据一个实施例的连接到主机系统(204)的集成图像感测装置(201)。
115.在图7中,集成图像感测装置(201)具有图像传感器(209)、存储器装置(207)、推断引擎(208)和通信接口(206)。
116.在一个实施例中,图像传感器(209)、存储器装置(207)、推断引擎(208)和通信接口(206)形成在多个集成电路裸片上,所述多个集成电路裸片堆叠以形成三维集成电路(3dic)。穿硅通孔(tsv)可用于在图像传感器(209)、存储器装置(207)和推断引擎(208)当
中实施高通信带宽。此外,存储器装置(207)可被配置成加速和/或优化推断引擎(208)的操作,如下文中进一步论述。
117.任选地,集成图像感测装置(201)可被围封在具有到主机系统(204)的控制器(202)的输入/输出连接的一个集成电路封装中。例如,集成图像感测装置(201)可被封装成具有图像传感器(209)和推断引擎(208)的bga ssd。例如,集成图像感测装置(201)与主机系统(204)之间的连接可根据用于外围组件互连高速(pcie)总线、串行高级技术附件(sata)总线、通用串行总线(usb)总线和/或存储区域网络(san)的通信协议。
118.在一些实施方案中,推断引擎(208)包含可编程处理单元;并且用于处理单元的指令可存储在存储器装置(207)中以定制推断引擎(208)的操作。
119.例如,ann模型可存储在存储器装置(207)中;并且推断引擎(208)被配置成将ann模型应用于来自图像传感器(209)的图像以产生推断结果且将推断结果存储在存储器装置(207)中。主机系统(204)具有一或多个处理装置(203)和控制器(202)以经由集成图像感测装置(201)与主机系统(204)之间的通信链路接入通信接口(206)。主机系统(204)可发布读取命令以检索存储在存储器装置(207)中的推断结果。例如,通信接口(206)可包含根据非易失性存储器主机控制器接口规格(nvmhcis)或nvm高速(nvme)的接口。例如,集成图像感测装置(201)的nvme接口可用于从主机系统(204)接收数据和命令。例如,主机系统(204)可发送写入命令以将ann模型存储到集成图像感测装置(201)的存储器装置(207)中,并且可发送读取命令以根据nvme协议从存储器装置(207)检索推断引擎(208)的推断结果。例如,通信接口(206)可被配置成允许主机系统(204)作为固态驱动器(ssd)存取集成图像感测装置(201)的存储器装置(207)。任选地,通信接口(206)(或另一接口)可包含nvme接口,其用于与外部固态驱动器(ssd)(例如,与集成图像感测装置(201)和主机系统(204)分开)通信,以存储由推断引擎(208)产生的推断结果和/或由图像传感器(209)产生或来源于由图像传感器(209)产生的图像的图像数据。
120.例如,集成图像感测装置(201)可配置在图8所示的车辆中。
121.图8示出根据一些实施例的具有被配置成收集和处理传感器数据的车辆(211)的系统。
122.图8中的车辆(211)具有数据存储装置(212)、图像感测装置(201)(例如,如图7所示)、ann(225)和adas(205),其被配置成处理传感器数据,包含来自图像感测装置(201)的输入,以产生用于车辆(211)的控制信号。
123.一般来说,可在车辆(211)上配置一或多个传感器(例如,201)以产生输入到adas(205)和/或数据存储装置(212)的传感器数据。数据存储装置(212)和/或adas(205)可被配置成使用ann(225)来产生推断结果。所述推断结果可包含用于操作或驱动车辆(211)的控制信号、对车辆(211)的维护服务的建议等。
124.在一些实施方案中,传感器(例如,201)所产生的数据的至少一部分在adas(205)中用于驾驶辅助且在ann(225)中用于维护预测。任选地,ann(224)的输出可在数据存储装置(212)中以及adas(205)中使用。ann(225)可为adas(205)的部分。
125.图像感测装置(201)可配置在数码相机、激光雷达、雷达、超声波声纳等中。图像感测装置(201)的推断引擎(208)被配置成处理感测装置(201)内的图像且将其推断结果传送到adas(205)、ann(225)和/或数据存储装置(212)。
126.任选地,可当来自感测装置(201)的推断输出满足某些要求时或当adas(205)或ann(225)确定需要进一步分析产生来自感测装置(201)的推断结果的图像时,adas(205)选择性地请求感测装置(201)以从感测装置(201)传输所选择的图像。此类图像可为传感器数据(221)的一部分,其进一步经分析以进一步训练服务器(219)上的ann(225)以产生期望推断结果(例如,223)。
127.例如,当感测装置(201)中和/或adas(205)中的对象辨识或分类遇到未知、困难、不确定性时,或当将进一步分析情境时,adas(205)可请求感测装置(201)传输对应图像以存储在数据存储装置(212)中。所存储的数据可随后由服务器(219)和/或维护服务设施(227)进一步处理。
128.一般来说,车辆(211)可以具有为adas(205)提供输入的其它传感器,例如制动传感器、速度传感器、加速度传感器、安全气囊传感器、gps(全球定位系统)接收器、音频传感器/麦克风、振动传感器、力/应力传感器、变形传感器、运动传感器、温度传感器等。一些传感器(201)可主要被配置成监测车辆(211)的环境以进行驾驶决策和/或辅助;并且其它传感器(201)可主要被配置成监测例如内燃机、排气系统、电动机、制动器、轮胎、电池等车辆(211)的一或多个组件的操作和/或稳定性。
129.一般来说,随时间变化的传感器(例如,201)的输出作为传感器数据流提供给adas(205)和/或ann(225),以提供驾驶辅助(例如,自主驾驶)和维护预测。在图8中,图像感测装置(201)进一步被配置成提供从其图像产生的推断结果作为传感器数据流的一部分,而不是将图像传输到实施ann(225)的车辆(211)的主处理器。因此,可减小传感器数据流的数据大小,可减小从感测装置(201)到adas(205)和/或数据存储装置(212)的通信带宽,并且可减小adas(205)和/或数据存储装置(212)上的计算负载。
130.ann(225)可包含snn,其被配置成对传感器数据的基于时间的变化进行分类和/或检测与车辆(211)的传感器数据的已知模式的偏差。当ann(225)检测到与已知模式的偏差时,对应于所述偏差的传感器数据可存储在数据存储装置(212)中,以用于进一步分析和/或用于ann(225)的进一步训练。
131.车辆(212)的数据存储装置(211)可被配置成记录传感器数据保持一段时间,所述传感器数据可以在ann(225)中用于预测性维护和/或用于进一步训练ann(225)。维护服务设施(例如,227)可从数据存储装置(212)下载传感器数据(221),并且将传感器数据(221)和对应的推断结果数据(223)提供给服务器(219),以促进ann(225)的训练。
132.任选地或组合地,数据存储装置(212)配置有机器学习模块以定制和/或训练安装于车辆(211)中的ann(225)。
133.车辆(211)可具有无线通信装置,以经由无线信号(213)和通信网络(217)与远程服务器(219)通信。远程服务器(219)通常配置在远离车辆(211)在其上服务的道路(214)的位置处。例如,车辆(211)可提供一些传感器数据(221)给服务器(219),并且接收来自服务器(219)的对ann(225)的更新。
134.通信网络(217)可为具有一或多个基站(例如,215)以接收无线信号(例如,213)的蜂窝式电话网络。替代地或组合地,通信网络(217)可包含因特网,其中由车辆(213)传输的无线局域网信号(例如,213)在接入点(例如,215)中接收,以进一步传送到服务器(219)。在一些实施方案中,车辆(211)使用到卫星(218)或通信气球的通信链路(216),以与服务器
(219)通信。
135.服务器(219)还可与一或多个维护服务设施(例如,227)通信来接收车辆(例如,211)的传感器数据(221)和/或期望推断结果数据(223)。
136.例如,期望推断结果数据(223)可由检查车辆(211)的传感器数据(221)(例如,来自图像感测装置201的图像)和/或相关条件的操作人员产生。例如,期望推断结果数据(223)可包含车辆(例如,211)的组件的检查记录和/或服务记录。例如,检验记录和/或服务记录可指示在组件在维护服务设施(例如,227)处的服务期间检验到的所述组件的磨损程度、故障或失灵组件的识别等。在某一时间周期内获得的与期望推断结果数据(223)相关的车辆(例如,211)的传感器数据(221)可用以训练服务器(219)处的ann(225),来改进ann(225)的推断能力。
137.更新后的ann(225)可在维护服务设施(227)处安装在车辆(211)中。替代地,可将更新的ann(225)传输到车辆(211),以无线更新车辆(211)。
138.负责处理图像感测装置(201)中产生的图像的ann(225)的一部分可配置在用于图像感测装置(201)的推断引擎(208)的存储器装置(207)中。推断引擎(208)处理在图像感测装置中产生的图像(例如,由图像传感器(209)产生的图像)并且使从图像产生的推断结果从图像感测装置(201)传输到adas(205)。因此,可减少从感测装置(201)到adas(205)的数据业务而不牺牲从图像推断的数据的质量。
139.图9示出根据一个实施例的自主车辆(211)。例如,图8的系统中的车辆(211)可使用图9的自主车辆(211)来实施。
140.一般来说,车辆(211)可包含信息娱乐系统(249)、通信装置(239)、一或多个传感器(例如,201)和计算机系统(231),所述计算机系统连接到车辆(211)的一些控制件,例如用于车辆(211)的方向的转向控制件(241)、用于车辆(211)的停止的制动控制件(243)、用于车辆(211)的速度的加速控制件(245)等。在一些实施例中,图8的系统中的车辆(211)具有类似配置和/或类似组件。
141.图9的车辆(211)配置有高级驾驶辅助系统(adas)(205)。车辆(211)的adas(205)可具有人工神经网络(ann)(225),用于基于图像感测装置(201)中所产生的图像,进行对象检测、辨识、识别和/或分类。可使用图7的集成图像感测装置(201)来实施ann(225)的图像处理部分。
142.使用其集成推断引擎(208)在图像感测装置(201)中实施ann(225)的至少一部分。
143.例如,基于图像感测装置(201)中产生的图像而操作的ann(225)的一部分可存储在图像感测装置(201)中。推断引擎(208)根据ann(225)的部分执行通信,使得从成像感测装置(201)到车辆(211)的计算机系统(231)的通信量包含来自在图像感测装置(201)中实施的ann(225)的部分的神经元输出和/或推断结果,而非个别像素的图像数据。
144.在一些实施方案中,对在图像感测装置(201)中实施的ann(225)的部分的计算并不取决于未在图像感测装置(201)中产生的传感器数据。
145.替代地,对在图像感测装置(201)中实施的ann(225)的部分的计算可进一步基于未在图像感测装置(201)中产生的传感器数据。例如,计算机系统(231)将传感器数据提供到图像感测装置(201)(例如,通过经由通信接口(206)将传感器数据写入到存储器装置(207)中)。通过根据在图像感测装置(201)中存储/实施的ann(225)的部分组合由计算机系
统(231)提供的传感器数据和由图像感测装置(201)产生的图像数据,可减少来自图像感测装置(201)的推断结果的量(例如,以划分ann(225)的一些方式)。在将相关传感器数据发送到图像感测装置(201)的数据业务小于推断结果中的数据大小的减小时,发送用于在图像感测装置(201)中进行处理的相关传感器数据可有益于减少图像感测装置(201)与车辆(211)的计算机系统(231)之间的总体通信业务。任选地,用于在图像感测装置(201)中实施的ann(225)的部分的选择可至少部分地基于图像感测装置(201)与计算机系统(231)之间的数据业务的最小化。
146.车辆(211)的计算机系统(231)可包含一或多个处理器(233)、数据存储装置(212),以及存储固件(或软件)(247)(包含用于adas(205)的计算机指令和数据模型)的存储器(235)。
147.车辆(211)的传感器可包含可见光相机、红外相机、光达、雷达或声纳系统、外围传感器、全球定位系统(gps)接收器、卫星定位系统接收器、制动传感器和/或安全气囊传感器。另外,车辆(211)的传感器可包含音频传感器(例如,麦克风),其被配置成监测来自车辆(211)中的各种组件和位置的噪声、振动传感器、压力传感器、力传感器、应力传感器,和/或变形传感器(其被配置成测量车辆(211)的组件上的负载)、加速计和/或陀螺仪传感器,其测量车辆(211)的一些组件的运动,等等。这种传感器可用于监测组件的操作状态和/或健康以用于预测性维护。
148.传感器(例如,201)可将实时传感器数据流提供到计算机系统(231)。由车辆(211)的图像感测装置(201)产生的传感器数据可包含使用利用人类眼睛可见的光进行拍摄的相机,或使用红外灯进行拍摄的相机,或声纳、雷达或lidar系统来捕获对象的图像。优选地,图像由图像感测装置(201)的推断引擎(208)处理以产生作为图像感测装置(201)的输出的推断结果,并且因此减少或消除将像素图像数据传输到计算机系统(231)的需要。
149.例如,具有图像感测装置(201)的相机可用于获得车辆(211)行进的车道信息,其可由ann(225)处理以产生针对车辆(211)的控制信号。例如,可使用具有图像感测装置(201)的相机来监测车辆(211)的组件的操作状态/稳定性,其可由ann(225)处理以预测或安排维护服务。
150.车辆(211)的信息娱乐系统(249)可用于呈现来自图像感测装置(201)的数据和/或推断结果。例如,可在图像感测装置(201)中产生具有减小的分辨率和刷新频率的经压缩图像,并且将其传输到信息娱乐系统(249)以供呈现给车辆(211)的乘客。任选地,通信装置(239)可建立到车辆(211)的乘客的移动装置的连接,以进行所述呈现。
151.当车辆(211)配置有adas(205)时,adas(205)的输出可用于在自主驾驶期间控制(例如,241、243、245)车辆(211)的加速度、车辆(211)的速度和/或车辆(211)的方向。
152.图10-12示出了根据一些实施例的用于预测的人工神经网络(225)的训练。
153.在图10中,使用监督机器学习的模块(271)来训练人工神经网络(225),以最小化从传感器数据(221)产生的预测(229)与期望推断结果数据(223)之间的差异。
154.例如,传感器数据(221)可包含示出对象的图像;并且期望/预期推断结果数据(223)可识别被对象占用的图像区、对象的特征、对象的分类、对象的身份等等。
155.例如,传感器数据(221)可包含车辆(211)周围环境的图像;并且期望/预期推断结果数据(223)可包含用于转向控制件(241)、制动控制件(243)和加速控制件(245)的优选控
制输入。
156.期望/预期推断结果数据(223)可由操作人员产生。例如,传感器数据(221)可用于建构车辆(211)所遇到的情境的虚拟现实演示,包含来自图像感测装置(201)的示出车辆(211)的环境的图像;并且期望/预期推断结果数据(223)可包含由操作人员响应于所述情境的虚拟现实演示而产生的响应。
157.监督机器学习模块(271)可调整人工神经网络(225)以减少/最小化基于传感器数据(221)产生的预测(229)与由操作人员产生的期望/预期推断结果数据(223)之间的差异。
158.图9的监督学习(271)可基于一群车辆的传感器数据和对应的期望/预期推断结果数据(223)而应用在服务器(219)中,以产生用于这一群车辆的通用ann。
159.图9的监督学习(271)可基于车辆的传感器数据和推断结果数据(223)应用于车辆(211)中,以产生定制/个性化ann(225)。例如,通用ann(225)可最初用于车辆(211)中;并且车辆(211)的传感器数据以及特定针对车辆(211)的期望/预期推断结果数据(223)可用以进一步训练车辆的ann(225),以用于车辆(211)中的ann(225)的定制/个性化。
160.在图11中,使用非监督机器学习的模块(275)来训练或优化人工神经网络(225)以促进异常检测(273)。非监督机器学习模块(275)被配置成调整ann(例如,snn),以产生传感器数据(221)中的正常分类、群集或所辨识模式,使得可使用与传感器数据(221)中的正常分类、群集或所辨识模式的偏离程度,来发信号通知异常的检测(273)。
161.例如,可使用异常检测(273)来保留与异常相关联的传感器数据(221),以供进一步分析。响应于车辆(211)中的异常检测(273),计算机系统(231)可将读取命令发布到图像感测装置(201)以从图像感测装置(201)检索与异常相关联的图像数据且将检索到的图像数据存储在数据存储装置(212)中。与异常相关联的图像数据可临时保存在图像感测装置(201)的存储器装置(207)中,并且在一段时间内使用图像感测装置(201)与数据存储装置(212)之间的可用通信带宽加载到数据存储装置(212),而不影响adas(205)的正常操作。
162.当车辆(211)处于维护服务设施(227)时,可以从数据存储装置(212)检索与异常相关联的图像数据(和其它传感器数据)以产生期望/预期推断结果数据(223),从而使用图10的监督学习(271)进一步训练ann(225)。
163.任选地,可以使用监督机器学习(271)训练ann(225),如图12所示。监督学习(271)可用于最小化根据传感器数据(221)使用ann(225)做出的预测(279)与预期分类(277)之间的分类差异。
164.例如,在没有事故、险些发生的事故事件或指示异常条件的用户输入的情况下,可采用“正常”分类。可使用事故、险些发生的事故事件或用户输入来识别导致所述事故、事件或用户输入的传感器数据的“异常”的预期分类。可使用监督机器学习(271)来训练人工神经网络(225),以进行与预期分类(277)具有减小/最小化的差异的分类(279)。
165.任选地,集成图像感测装置(201)可被配置成加速经由推断引擎(208)实施的人工神经网络(ann)(225)的一部分的计算。
166.例如,推断引擎(208)可包含神经网络加速器(259),其专用于执行涉及人工神经网络(ann)(225)的计算的至少一部分,例如向量和张量的点积、乘法和累加运算等。任选地,还可在集成图像感测装置(201)中执行不涉及由图像传感器(209)产生的图像的一些ann处理(例如,以减少车辆(211)的计算机系统(231)上的计算负载)。
167.被配置成在集成图像感测装置(201)中的计算可用于减少将发射到一或多个处理器(233)以使用或应用ann(225)的数据量和/或在评估ann(225)的输出和/或训练ann(225)时减少一或多个处理器(233)的计算任务。此类布置可产生来自集成图像感测装置(201)的较快输出和/或较低能量使用,这是因为数据将不必移动进出集成图像感测装置(201)到专用的独立神经网络加速器。集成图像感测装置(201)在处理与ann(225)相关的数据时的计算能力使得机动车辆(211)的计算机系统(231)能够具有计算资源和通信带宽以用于任务关键型任务(例如,由adas(205)自主驾驶)。
168.图13示出根据一个实施例的具有神经网络加速器(259)的集成图像感测装置(201)。例如,图13的集成图像感测装置(201)可用于实施图8或9中所示的车辆(211)的图像感测装置(201)。
169.在图13中,集成图像感测装置(201)具有被配置成与主机处理器(例如,图9中的233)或主机系统(例如,图7中的204)通信的主机接口(257)。例如,主机处理器(例如,233或204)与主机接口(257)之间的通信可至少部分地根据用于外围组件互连高速(pcie)总线、串行高级技术附件(sata)总线、通用串行总线(usb)总线和/或存储区域网络(san)的通信协议。
170.例如,主机接口(257)可被配置成类似于数据存储装置(例如,212)的主机接口。
171.例如,主控计算机系统(231或204)可与主机接口(257)通信以从来自图像传感器(209)的图像检索由集成图像感测装置(201)而不是图像产生的推断结果,以减少通过主机接口(257)的数据业务。
172.任选地,主机接口(257)可进一步用于在图像感测装置(201)中接收车辆(211)的其它传感器产生的传感器数据(221);并且传感器数据(221)和来自图像传感器(209)的图像组合在实施于集成图像感测装置(201)中的ann(225)的一部分中以产生推断结果。
173.在图13中,存储器组件(261到263)中的每一个可以是配置成存储数据的存储器集成电路。存储器组件(261到263)的集成电路裸片可堆叠到图像传感器(209)的背面,并且图像传感器(209)与存储器组件(261到263)的集成电路裸片之间的穿硅通孔可用于提供用于将由图像传感器(209)产生的图像存储到存储器组件(261到263)中的至少一些中以用于由控制器(251)和/或神经网络加速器(259)处理的高通信带宽。例如,图像传感器(209)的不同区段可使用穿硅通孔将图像数据存储到不同存储器组件(261到263)或存储器组件(例如,261或263)的不同区段。
174.神经网络加速器(259)和控制器(251)可经由形成于进一步堆叠在存储器组件(261到263)的集成电路裸片上的一或多个集成电路裸片上的逻辑电路来实施。神经网络加速器(259)的一或多个集成电路裸片与控制器(251)和存储器组件(261到263)的集成电路裸片之间的穿硅通孔可用于提供高通信带宽,以用于处理存储在存储器组件(261到263)中的图像以产生推断结果。推断结果可存储在控制器(251)的本地存储器(253)和/或存储器组件(261到263)中的一些中,以供主机系统(204),例如车辆(211)的计算机系统(231)检索。例如,不同存储器组件(261到263),或存储器组件(例如,261或263)的不同区段可使用穿硅通孔来促进对神经网络加速器(259)的不同部分、控制器(251)和图像传感器(209)的并行存取。
175.一般来说,一些存储器集成电路是易失性的且需要电力来维持所存储的数据;而
一些存储器集成电路是非易失性的且即使在不被供电时仍可保持所存储的数据。存储器组件(261到263)可包含易失性存储器和/或非易失性存储器。存储器组件(261到263)可实施不同类型的存储器或相同类型的存储器。
176.非易失性存储器的实例包含快闪存储器;基于“与非”(nand)逻辑门、“或非”(nor)逻辑门形成的存储器单元;相变存储器(pcm)、磁存储器(mram);电阻式随机存取存储器;交叉点存储装置和存储器装置。交叉点存储器装置可以使用无晶体管存储器元件,所述无晶体管存储器元件中的每一个具有在一起堆叠成列的存储器单元和选择器。存储器元件列经由在垂直方向上铺设的两个线路排布来连接,其中在层中的一个方向上铺设的一个排布的线路位于存储器元件列上方,且另一排布的线路在另一方向上,且在位于存储器元件列下方的层中。可个别地在两个层中的每一层上的一个线路的交叉点处选择每一存储器元件。交叉点存储器装置是快速且非易失性的,且可用作通用存储器池以用于处理和存储。非易失性存储器的另外的实例包含只读存储器(rom)、可编程只读存储器(prom)、可擦除可编程只读存储器(eprom)和电子可擦除可编程只读存储器(eeprom)存储器等。易失性存储器的实例包含动态随机存取存储器(dram)和静态随机存取存储器(sram)。
177.集成图像感测装置(201)可具有控制器(251),所述控制器包含易失性本地存储器(253)和至少一个处理装置(255)。
178.控制器(251)的本地存储器可为嵌入式存储器,其被配置成存储用于执行控制处理装置(255)的操作的各种过程、操作、逻辑流程和例程的指令,包含处置集成图像感测装置(201)与车辆(211)的一或多个处理器(例如,233)之间的通信和本文中所描述的其它功能。任选地,控制器(251)的本地存储器(251)可包含用于存储微码的只读存储器(rom),和/或存储例如存储器指针、所获取数据等的存储器寄存器,和/或易失性存储器,例如动态随机存取存储器(dram)和静态随机存取存储器(sram)。
179.在图13中,集成图像感测装置(201)包含耦合到控制器(251)和/或存储器组件(261到263)的神经网络加速器(259)。
180.例如,神经网络加速器(259)可被配置成比控制器(251)的处理装置(255)更高效地执行矩阵算术计算。涉及ann(225)的计算具有矩阵相乘和累加运算,这对于通用处理器(例如,233、255)来说可为计算密集的。使用神经网络加速器(259)来执行矩阵算术计算可减少将发射到车辆(211)的一或多个处理器(233)的数据,并且减少一或多个处理器(233、255)的计算工作负载。
181.当ann(225)包含脉冲神经网络(snn)时,用于控制snn神经元的激活电平的微分方程的模拟对于通用处理器(例如,233、255)可为计算密集的。任选地,神经网络加速器(259)可使用特殊硬件来模拟一或多个微分方程,并且因此改进实施snn时的计算效率。
182.在一些实施方案中,神经网络加速器(259)是与控制器(251)和/或存储器组件(261到263)分开的集成电路装置。替代地或组合地,神经网络加速器(259)与集成电路裸片中的控制器(251)集成。替代地或组合地,神经网络加速器(259)的一部分可集成在存储器组件(261到263)中的至少一个的一或多个集成电路裸片上,如图14所示。
183.图14示出根据一个实施例的用以加速神经网络计算的存储器组件(260)。例如,图13中的存储器组件(261到263)中的每一个或一些可使用图14的存储器组件(260)来实施。
184.在图14中,存储器组件(260)可形成在集成电路裸片上。存储器组件(260)的输入/
输出(i/o)接口(269)被配置成为存储器组件(260)处理输入/输出信号。例如,输入/输出信号可包含地址信号以指定媒体单元(265)中的位置以及表示将在经由所述地址信号指定的位置处写入媒体单元(265)中的数据,或从媒体单元(265)中的位置检索到的数据的数据信号。
185.在图14中,神经网络加速器(259)与控制逻辑(267)和/或媒体单元(265)耦合,以执行用于评估ann(225)的一部分的输出和/或训练ann(225)的计算。
186.例如,输入/输出接口(269)可接收识别矩阵的地址,所述矩阵存储在媒体单元中,并且将经由神经网络加速器(259)操作。存储器组件(260)可提供神经网络加速器(259)的计算结果作为响应于所述地址的输出数据,将所述输出数据存储在缓冲器中以进行进一步操作,将所述输出数据存储到媒体单元(265)中经由所述地址信号指定的位置中。因此,由神经网络加速器(259)执行的计算可在存储器组件(260)内,其靠近其中存储矩阵数据的媒体单元(265)。
187.例如,snn神经元的状态数据可根据预定模式存储在媒体单元(265)中。神经网络加速器(259)可根据用于随时间推移控制snn神经元的激活电平的一或多个微分方程来自动更新snn神经元的状态。任选地,神经网络加速器(259)被配置成处理神经网络中的神经元的脉冲。替代地,集成图像感测装置(201)和/或一或多个处理器(233)的神经网络加速器(259)可被配置成处理神经元的脉冲和/或到snn的输入的累积。
188.例如,图像传感器(209)以预定频率产生图像。每一图像以循环方式存储到存储器组件(261到263)中,其中最新的图像写入在最旧的图像之上。存储器组件(261到263)进一步存储车辆(211)的ann(225)的负责处理来自图像传感器(209)的图像的部分。控制器(251)根据ann(225)的部分来处理存储器组件(261到263)中的图像以产生推断结果。推断结果存储在存储器组件(261到263)中和/或控制器(251)的本地存储器(253)中,以供主机系统(204)(例如车辆(211)的计算机系统(231))读取。
189.任选地,集成图像感测装置(201)进一步从被配置在车辆(211)上的至少一个传感器接收传感器数据流,并且根据存储在存储器组件(261到263)中的ann(225)的部分基于来自图像传感器(209)的传感器数据流和图像而产生推断结果。
190.被配置在集成图像感测装置(201)内的神经网络加速器(259)基于人工神经网络(225)、来自图像传感器(209)的图像,和传感器数据流,执行计算的至少一部分。
191.任选地,神经网络加速器(259)可配置在与控制器(251)分开和/或与存储器组件(261到263)分开的集成电路裸片上。
192.任选地,神经网络加速器(259)可被配置在集成电路裸片上,所述集成电路裸片包含集成图像感测装置(201)的控制器(251)或集成图像感测装置(201)的存储器组件(260、261或263)。
193.神经网络加速器(259)可被配置成使用存储在集成图像感测装置(201)中的数据执行计算,例如用于ann的矩阵算术计算和/或用于snn的微分方程模拟。
194.矩阵算术计算的实例包含矩阵相乘和累加运算。在用于使用存储在集成图像感测装置(201)中的数据产生矩阵算术计算的结果的计算之后,神经网络加速器(259)可在数据检索操作(例如,响应于读取命令)中提供结果作为集成图像感测装置(201)的输出。替代地或组合地,矩阵算术计算的结果可在集成图像感测装置(201)中缓冲,作为组合经由主机接
口(257)中接收到的读取命令从非易失性存储器检索的数据矩阵而执行的下一矩阵计算的运算数。
195.当人工神经网络(ann)(225)包含脉冲神经网络(snn)时,神经网络加速器(259)可被配置成模拟控制脉冲神经网络(snn)中的神经元的激活电平的微分方程。任选地,存储器组件(260)被配置成根据预定模式存储脉冲神经网络中的神经元的状态;并且神经网络加速器被配置成根据微分方程随时间推移自动更新神经元的状态。例如,神经网络加速器(259)可被配置成经由非监督机器学习来训练脉冲神经网络(snn)以检测异常。
196.由神经网络加速器(259)根据人工神经网络(ann)(225)执行的计算涉及具有对集成图像感测装置(201)的不同使用模式的不同数据类型。
197.例如,使用人工神经网络(ann)(225)进行预测包含使用指定人工神经网络(ann)(225)的模型的数据、提供给人工神经元的输入数据,以及人工神经元产生的输出数据。
198.可将集成图像感测装置(201)的存储器容量分区成用于不同类型的ann相关数据的不同部分。不同部分可单独被配置成根据其由其中配置集成图像感测装置(201)的计算机系统(231)的神经网络加速器(259)和/或一或多个处理器(233)的使用模式来优化对应数据的存取和存储。
199.人工神经网络(ann)(225)的模型可包含指定ann(225)中的个别人工神经元的静态属性以及ann(225)中的神经元连接性的参数。ann(225)的模型数据是静态的,并且在使用ann(225)进行的预测计算期间不改变。因此,模型数据的使用模式大部分被读取。然而,ann(225)的模型数据可在更新后的ann(225)安装时改变。例如,车辆(211)可从服务器(219)下载更新后的ann(225)到车辆(211)的集成图像感测装置(201)以更新其预测能力。ann(225)的模型数据还可在ann(225)的训练期间或之后使用机器学习技术(例如,271或275)来改变。优选的是配置集成图像感测装置(201)的存储器单独分区或区来存储模型数据,其中分区或区根据为模型数据的具体使用模式(例如,大部分读取、不频繁更新)优化存储器单元的配置参数来操作。例如,在使用基于nand逻辑门的快闪存储器来实施存储器单元时,ann模型分区/区中的存储器单元可配置成在多层级单元(mlc)模式、三层级单元(tlc)模式或四层级单元(qlc)模式下操作,其中每一存储器单元存储两个、三个或四个位以增加存储能力。
200.提供到ann(225)中的人工神经元的输入数据可包含外部输入和内部输入。外部输入通常由车辆(211)的传感器(例如,209)而不是由ann(225)中的人工神经元产生。外部输入可以循环方式保存,使得驱动的预定时长的最近时间周期的输入数据可在集成图像感测装置(201)中找到。因此,优选的是配置集成图像感测装置(201)的单独存储器分区或区来存储外部输入数据,其中分区或区根据为外部输入数据的存储模式(例如,增强的持久性、循环覆写)优化存储器单元的配置参数来操作。例如,在使用基于nand逻辑门的快闪存储器来实施存储器单元时,ann输入分区/区中的存储器单元可配置成在单层级单元(slc)模式下操作,其中每一存储器单元存储一个数据位,以在循环覆写操作中获得改进的持久性。
201.在一些实施方案中,人工神经元可具有在预测计算期间响应于输入而随时间推移改变的状态变量。例如,脉冲神经元的激活水平可随时间推移而改变,并且被视为脉冲神经元的动态状态变量。在一些实施方案中,人工神经元的这类状态变量数据具有与外部输入数据类似的存储使用模式;并且因此,状态变量数据可存储在配置成用于外部输入数据的
分区或区中。在其它实施方案中,人工神经元的状态变量数据保持在缓冲器中,并且没有外部输入存储频繁;并且因此,另一分区/区可被配置成用于存储人工神经元的动态状态变量数据。
202.ann(225)中的人工神经元所产生的输出数据可经缓冲以供计算机系统(231)的神经网络加速器(259)和/或处理器(233)进一步存取。输出数据可包含外部输出和内部输出。外部输入由人工神经元产生,作为来自ann(225)的输出,例如ann(225)所进行的分类或预测的结果。ann(225)的输出通常由计算机系统(231)的一或多个处理器(233)进一步处理。外部输入可周期性地保存(例如,以类似于状态变量数据的存储的方式)。内部输出和/或外部输出中的一些可为到ann(225)中的人工神经元的内部输入。一般来说,可能不必将来自数据存储装置的缓冲器的内部输出存储到存储器组件。在一些实施方案中,在集成图像感测装置(201)的缓冲容量不足以保持整个状态变量数据和/或内部输出时,集成图像感测装置(201)可使用调换分区/区来扩展缓冲器的容量。调换分区/区可配置成用于优化的随机存取且用于改进的持久性。
203.外部输出和/或神经元的动态状态可以循环方式保存于单独输出分区或区中,使得可周期性地存储神经元的外部输出数据和/或动态状态,并且可在集成图像感测装置(201)中发现最新集合的外部输出和/或动态状态。可选择性地存储外部输出和/或神经元的动态状态,因为这些数据中的一些可由ann根据存储在输入分区或区中的外部输入重新产生。优选地,输出分区或区配置成存储无法根据存储在输入分区或区中的外部输入创建的外部输出和/或动态状态的一或多个集合。在以循环方式将数据存储在输入/输出分区或区中时,擦除最旧的所存储数据集合以为最新的数据集合腾出空间。ann输入/输出分区/区可配置成用于优化的循序写入流,以用于将来自数据存储装置的缓冲器的数据复制到数据存储装置的存储器组件中的存储器单元中。
204.图15示出根据一个实施例的被配置成支持神经网络计算的存储器容量(281)。例如,图13的集成图像感测装置(201)的存储器组件(261到263)的存储器容量(281)可根据图15配置以支持神经网络计算。
205.图15的存储容量(281)可使用集成图像感测装置(201)的存储器组件(例如,261到263)的集合来实施。
206.可在集成图像感测装置(201)的存储容量(281)上创建一组区(283、285、287...)。区(例如,283、285或287)中的每一者对应于存储容量(281)的命名部分。逻辑地址定义在每一区内。地址映射(291)被配置成在区(283、285、287...)中定义的逻辑地址到存储器组件(例如图13中示出的261到263)中的存储器单元的物理地址之间映射。
207.地址映射(291)可包含用于区(283、285和287)的区优化设置(292)。
208.例如,ann模型区(283)可为被配置成用于人工神经网络(ann)(225)的模型数据的存储器/存储分区。区优化设置(292)根据ann模型的数据使用模式(例如,大部分读取、不频繁更新中心)来优化ann模型区(283)中的存储器操作。
209.例如,神经元输入区(285)可为被配置成用于到人工神经网络(ann)(225)的外部输入数据的存储器/存储分区。区优化设置(292)根据外部输入数据的数据使用模式来优化神经元输入区(285)中的存储器操作(例如,用于支持连续输入数据流的循环覆写以进行循序写入的增强的持久性)。
210.例如,神经元输出区(287)可为存储器/存储分区/被配置成用于从人工神经网络(ann)(225)提供的外部输出数据。区优化设置(292)根据外部输出数据的数据使用模式来优化神经元输出区(287)中的存储器操作(例如以随机读取/写入存取周期性地覆写数据而得到的改进的持久性)。
211.集成图像感测装置(201)包含缓冲器,其被配置成存储人工神经网络(ann)(225)的临时/中间数据,例如ann(225)中的人工神经元的内部输入/输出。
212.任选地,调换区可配置在存储容量(281)中以扩展缓冲器(252)的容量。
213.任选地,地址映射(291)包含主机接口(257)中接收到的逻辑存储器地址到人工神经元的存取数据和人工神经元的身份之间的映射。因此,存取一个区中的人工神经元的一种数据的读取或写入命令可致使控制器251存取另一区中的人工神经元的另一类型的数据。
214.例如,响应于对将神经元的外部输入数据写入到数据存储装置(285)的存储容量(281)中的请求,可使用地址映射(291)来计算ann模型区(283)中的神经元的模型参数的地址,并且将所述模型参数读取到缓冲器(252)中,以允许神经网络加速器(259)执行对所述神经元的输出的计算。神经元的输出可保存在缓冲器(252)中,作为到其它神经元的内部输入(例如为了减少写入放大)。另外,连接到所述神经元的其它神经元的身份还可从ann型号区(283)检索到缓冲器(252)中,这允许神经网络加速器(259)和/或处理器进一步处理ann(225)中的输出的传播。从ann模型区(283)检索模型数据可与将外部输入数据存储到神经元输入区(285)中并行执行。因此,车辆(211)的计算机系统(231)的处理器(233)不必在读取命令中明确地发送从ann模型区(283)检索模型数据。
215.类似地,响应于读取神经元的输出数据,地址映射(291)可用以计算存储在ann模型区(283)中的神经元的模型参数的地址,并且将模型参数读取到缓冲器(252)中,以允许神经网络加速器(259)应用缓冲器(252)中的内部输入来执行神经元的输出的计算。计算出的输出可以作为对读取神经元的输出数据的响应而提供,而集成图像感测装置(201)不必将输出数据存储在存储器组件(例如,261到263)中。因此,处理器(233)和/或神经网络加速器(259)可经由将输入写入到神经元和/或从神经元读取输出来控制神经元的计算。
216.一般来说,到ann(225)的传入外部输入数据可为由传感器(例如,209)直接产生而不经处理器(233)和/或神经网络加速器(259)处理的原始传感器数据(221)。替代地,已由ann(225)的处理器(233)从来自传感器(201)的信号处理的间接传感器数据(221)可作为外部输入数据提供。传入的外部输入数据可在主机接口(257)中被接受,并且以循环方式写入到神经元输入区(285)中,且在用于神经网络加速器(259)的缓冲器(252)中自动缓冲,以使用存储在ann模型区(283)中的模型产生神经元输出。神经网络加速器(259)所产生的输出可进一步缓冲为内部输入,以用于所述模型在ann模型区(283)中的进一步应用。当外部输出变为可用时,集成图像感测装置(201)可用外部输出的可用性的指示来报告写入请求的完成。任选地,控制器(251)和/或神经网络加速器(259)可产生内部读取命令,以在ann(225)中传播信号以产生外部输出。替代地,主机处理器(233)可通过选择性地读取神经元的输出来控制信号在ann(225)中的传播;并且集成图像感测装置(201)可主动缓冲缓冲器(252)中可能需要的数据以加速ann计算。
217.图16示出根据一个实施例的用于人工神经网络(ann)模型的存储器区(283)的配
置。例如,图16的配置可在具有图13的逻辑存储器容量(281)的图15的集成图像感测装置(201)中实施。例如,图16的设置(293)可为图15的区优化设置(292)的部分。
218.图16的配置将ann模型区(283)映射到至少一个存储器组件a(261)。优选的是,与托管ann数据的其它区(例如,285和287)的存储器组件(例如,263)并行地,所述至少一个存储器组件a(261)可由控制器(251)使用。例如,存储器组件a(261)可在与其它区(例如,285和287)的集成电路封装不同的集成电路封装中。替代地,存储器组件(261到263)形成于嵌入在同一集成电路封装中的单独集成电路裸片上。替代地,存储器组件(261到263)可形成在集成电路裸片的单独区上,其中所述单独区可大体上并行操作(例如用于读取、用于擦除和/或用于写入)。
219.在图16中,将设置(297)优化为大部分读取和不频繁更新的使用模式。
220.图17示出了根据一个实施例的用于人工神经元的输入的存储器区(285)的配置。例如,图16的配置可以在图13和/或15所示的集成图像感测装置(201)中实施。例如,图16的设置(295)可为图15的区优化设置(292)的部分。
221.图17的配置将神经元输入区(285)映射到至少一个存储器组件b(263)。优选的是,与托管ann数据的其它区(例如,283和287)的存储器组件(例如,261)并行地,所述至少一个存储器组件b(263)可由控制器(251)使用。例如,存储器组件b(263)可在与其它区(例如,283和287)的集成电路封装不同的集成电路封装中。替代地,存储器组件(261到263)形成于嵌入在同一集成电路封装中的单独集成电路裸片上。替代地,存储器组件(261到263)可形成在集成电路裸片的单独区上,其中所述单独区可大体上并行操作(例如用于读取、用于擦除和/或用于写入)。
222.在图17中,在记录以固定时间间隔采样的连续输入数据流时,设置(297)被优化为在循环顺序覆写中增强耐久性的使用模式。
223.图18示出了根据一个实施例的用于人工神经元的输出的区(287)的配置。例如,图16的配置可以在图13和/或15所示的集成图像感测装置(201)中实施。例如,图16的设置(297)可为图15的区优化设置(292)的部分。
224.图18的配置将神经元输出区(287)映射到至少一个存储器组件c(262)。优选的是,与托管ann数据的其它区(例如,283和285)的存储器组件(例如,261和263)并行地,所述至少一个存储器组件c(262)可由控制器(251)使用。例如,存储器组件c(262)可在与其它区(例如,283和285)的集成电路封装不同的集成电路封装中。替代地,存储器组件(261到263)形成于嵌入在同一集成电路封装中的单独集成电路裸片上。替代地,存储器组件(261到263)可形成在集成电路裸片的单独区上,其中所述单独区可大体上并行操作(例如用于读取、用于擦除和/或用于写入)。
225.在图18中,将设置(297)优化为用于结合随机存取的周期性覆写的经缓冲数据的使用模式。例如,存储器单元经由优化设置(293到297)配置,以便以高于ann模型区(283)中但低于神经元输入区(285)中的频率在神经元输出区(287)中更新/覆写。
226.通信协议/接口可被配置成允许集成图像感测装置在减少到主机系统(204)的数据业务的情况下执行动态神经网络加速。
227.例如,车辆(211)的主处理器(例如,233)可以向集成图像感测装置(201)提供写入命令,以将人工神经网络的模型存储在模型分区(例如,283)中。
228.为了在分类和/或预测中使用ann模型,车辆(211)的主机处理器(例如,233)可任选地将用于ann(225)的输入数据流式传输到神经元输入分区(例如,285)中。存储装置(212)的神经网络加速器(259)可以根据地址映射(291)自动地将来自图像传感器(209)的图像和来自主机处理器(233)的输入数据(如果存在)应用到存储在ann模型分区(例如,283)中的模型。集成图像感测装置(201)使得计算出的输出可用于在ann(225)中传播。优选的是,通过缓冲器(252)使所计算的输出可供神经网络加速器(259)使用,而无需将中间输出存储到存储器组件(例如,261到263)中。因此,可以减少主机处理器(例如,233)与集成图像感测装置(201)之间用于输送神经元的输出的数据通信。当输出已经传播到ann(225)中的输出神经元时,集成图像感测装置(201)可提供对来自主机处理器(例如,233)的请求的响应。所述响应指示来自ann(225)中的神经元的外部输出可用。作为响应,车辆(211)的主机处理器(例如,233)可任选地发出读取命令,以检索所述外部输出以供进一步处理。
229.图19示出根据一个实施例的主机系统(例如,204)与集成图像感测装置(201)之间的通信。例如,如图19所示的通信可实施于具有图7或13所示的集成图像感测装置(201)的图8或9的车辆(211)中。
230.在图19中,主机系统(例如,204)的处理器(233)可配置有一组简化的指令(301)以执行神经网络计算,因为涉及ann(225)的一些计算是由集成图像感测装置(201)内的神经网络加速器(259)执行的。在将ann(225)用于预测和/或分类期间,不必将图像流(305)和模型数据输送回到处理器(233)。
231.图像传感器(209)可以产生连续图像流(305),作为车辆(211)的传感器数据(221)的一部分。流(305)中的图像可以固定的预定时间间隔(例如,在车辆(211)的操作期间)产生。
232.将图像流(305)应用于ann(225)中的输入神经元。ann(225)中的输入神经元被配置成接受到ann(225)的外部输入;并且输出神经元被配置成提供来自ann(225)的外部输出。
233.任选地,车辆(211)可具有被配置成产生传感器数据(221)的其它传感器(303)。
234.处理器(233)可执行指令(301)以处理来自集成图像感测装置(201)和传感器数据(221)的输出数据(307)。
235.任选地,处理器(233)可将传感器数据(221)写入到神经元输入区(285)中以获得基于传感器数据(221)和图像流(305)两者的输出数据(307)。
236.集成图像感测装置(201)以循环方式将图像流(305)(和任选地,传感器数据(221))存储到神经元输入区(285)中,其中擦除与对目前存储于神经元输入区(285)中的数据集的数据采样的最早时间实例相对应的最旧输入集以存储最新输入集。
237.对于每一输入数据集,神经网络加速器(259)应用存储在ann模型区(283)中的ann(225)的模型。神经网络加速器(259)(或处理器(233))可控制信号在神经网络内的传播。当ann(225)的输出神经元响应于输入数据集而产生其输出时,集成图像感测装置(201)可向处理器(233)提供神经元输出准备好检索的指示。所述指示可响应于来自处理器(233)的请求而配置,以将输入数据集写入到神经元输入区(285)中。处理器(233)可任选地检索输出数据(307)(例如根据编程在指令中的条件和/或准则)。
238.在一些实施例中,在集成图像感测装置(201)中配置触发参数。当外部输出(317)
中的输出参数满足触发参数所指定的要求时,数据存储装置提供对来自处理器(233)的请求的响应,以将输入数据集写入到神经元输入区(285)中。
239.图20示出根据一个实施例的集成图像感测装置(201)内的通信。例如,结合如图7所示的与主机系统(204)的通信,图20的通信可以由图7或13所示的集成图像感测装置(201)来实施。
240.在图20中,模型区(283)存储ann(225)的模型(313)。响应于从缓冲器(252)中的输入流(305)接收针对某一时间实例的一组外部输入(315),集成图像感测装置(201)可以将外部输入(315)写入输入区(285)中,同时检索包含与输入神经元的参数和/或连接到输入神经元的神经元的身份相对应的ann模型(313)的一部分的神经元模型(312)。缓冲器(252)允许神经网络加速器(259)组合神经元模型(312)和外部输入(325),以产生输入神经元的输出(327)。
241.一般来说,神经元输出(327)可包含即用于在ann(225)内进一步传播的内部输出(316)的部分和/或即用于处理器(233)的外部输出(317)的部分。
242.内部输出(316)存储在缓冲器(252)中,作为内部输入(316)以便以类似于从外部输入(315)产生神经元输出(327)的方式在ann(225)中进一步传播。例如,内部输入(316)的一部分可致使控制器(251)和/或神经网络加速器(259)检索与内部输入相关的对应神经元模型(312),使得内部输入在神经网络加速器(259)中施加到对应神经元模型(312),以产生其神经元输出(327)。
243.当整个一组外部输出(317)在缓冲器(252)中可用时,外部输出(317)可以存储到输出区域(287)中。
244.任选地,存储装置(212)不存储与在某一时间实例处采样的一组所存储外部输入(315)相对应的每组外部输出(317)。例如,存储装置(212)可被配置成每当已经对预定数量组外部输入(例如,315)进行计数时存储一组外部输出(317)。替代地或组合地,处理器(233)可确定是否存储外部输出(317)。例如,存储装置(212)可被配置成响应于处理器(233)检索外部输出(317)以供进一步处理而存储外部输出(317)。例如,存储装置(212)可被配置成在处理器(233)中对外部输出(317)的处理之后,响应于来自处理器(233)的写入命令而存储外部输出(317)。
245.服务器(219)、计算机系统(231)、主机系统(204)、数据存储装置(212)和/或集成图像感测装置(201)可各自实施为一或多个数据处理系统。
246.本公开包含执行上文所描述的方法的方法和设备,包含执行这些方法的数据处理系统,以及含有在数据处理系统上执行时使所述系统执行这些方法的指令的计算机可读媒体。
247.在本文所公开的一个实例中,一种集成电路装置包含:图像传感器;图像信号处理(isp)专用集成电路(asic);动态随机存取存储器(dram);衬底,其具有isp asic与dram之间的互连件;以及相机串行接口。所述isp asic被配置成将中间图像处理数据存储在所述dram中,并且对于每一相应像素,基于所述像素周围的像素区段的中间图像处理数据产生图像数据;并且所述相机串行接口被配置成提供所述相应像素的所述图像数据。例如,所述isp asic被配置成执行翘曲检测、翘曲校正、色彩校正、去模糊或降噪,或其任何组合。
248.在另一实例中,一种集成电路装置包含:图像传感器,其被配置成产生第一图像
流;人工智能(ai)引擎,其被配置成从所述第一图像流产生第二图像流;存储器,其耦合在所述ai引擎与所述图像传感器之间;以及相机串行接口,其被配置成提供所述第二图像流。所述ai引擎可任选地被配置成识别所述第一图像流中的图像的部分并且通过放大所述部分来产生所述第二图像流。例如,可使用人工神经网络经由对象辨识来识别所述部分。
249.在另外实例中,一种固态驱动器包含:图像传感器,其被配置成产生图像流;人工智能(ai)引擎,其被配置成从所述图像流产生推断结果;存储器,其被配置成存储所述推断结果;以及非易失性存储器表达(nvme)接口,其被配置成从主机系统接收读取命令以从所述存储器检索推断结果而无需所述主机系统发布写入命令以将所述推断结果写入到所述存储器中。所述固态驱动器可任选地被配置成具有球栅阵列形状因数和/或被配置成单芯片固态驱动器。例如,所述存储器的至少一部分可为非易失性的;并且所述固态驱动器可任选地被配置成具有自主车辆的黑匣子数据记录器的功能的一部分。任选地,所述固态驱动器可包含被配置成在所述固态驱动器中执行垃圾收集和耗损均衡的控制器。
250.在又另一实例中,一种集成电路装置包含:图像传感器,其被配置成产生第一图像流;人工智能(ai)引擎,其被配置成从所述第一图像流产生第二图像流和推断结果;存储器,其耦合在所述ai引擎与所述图像传感器之间以存储所述推断结果;相机串行接口,其被配置成提供所述第二图像流;以及主机接口,其被配置成接收读取命令以检索推断结果。
251.在另外实例中,一种集成电路装置包含:图像传感器,其被配置成产生图像流;人工智能(ai)引擎,其被配置成从所述图像流产生推断结果;存储器,其耦合在所述ai引擎与所述图像传感器之间;以及接口,其使用nvme协议到外部固态驱动器。例如,所述集成电路装置可任选地包含被配置成提供由ai引擎产生的图像流的相机串行接口。例如,外部固态驱动器可为自主车辆的黑匣子数据记录器。
252.典型数据处理系统可包含包含互连件(例如,总线和系统核心逻辑),其互连一或多个微处理器和存储器。微处理器通常耦合到高速缓冲存储器。
253.互连件将一或多个微处理器和存储器互连在一起,并且还将其经由一或多个输入/输出(i/o)控制器互连到一或多个i/o装置。i/o装置可包含显示装置和/或外围装置,例如鼠标、键盘、调制解调器、网络接口、打印机、扫描器、相机和所属领域中已知的其它装置。在一个实施例中,在数据处理系统是服务器系统时,i/o装置中的一些(例如打印机、扫描器、鼠标和/或键盘)是任选的。
254.互连件可包含通过各种桥、控制器和/或适配器彼此连接的一个或多个总线。在一个实施例中,i/o控制器包含用于控制usb(通用串行总线)外围装置的usb适配器,和/或用于控制ieee-1394外围装置的ieee-1394总线适配器。
255.存储器可包含以下中的一或多个:只读存储器(rom)、易失性随机存取存储器(ram),和非易失性存储器,例如硬盘驱动器、快闪存储器等。
256.易失性ram通常实施为要求持续功率以便刷新或维持存储器中的数据的动态ram(dram)。非易失性存储器通常是磁性硬盘驱动器、磁性光盘驱动器、光盘驱动器(例如,dvd ram),或即使在从系统移除电力之后也维持数据的其它类型的存储器系统。非易失性存储器也可为随机存取存储器。
257.非易失性存储器可为与数据处理系统中的其余组件直接耦合的本地装置。还可使用远离系统的非易失性存储器,例如通过例如调制解调器或以太网接口的网络接口耦合到
数据处理系统的网络存储装置。
258.在本公开中,一些功能和操作被描述为由软件代码执行或由软件代码引起以简化描述。然而,这种表达也用于表示所述功能是由例如微处理器的处理器执行代码/指令产生。
259.替代地或组合地,如此处所描述的功能及操作可使用具有或不具有软件指令的专用电路实施,例如使用专用集成电路(asic)或现场可编程门阵列(fpga)。可使用并无软件指令的固线式电路或结合软件指令实施实施例。因此,技术不限于硬件电路和软件的任何特定组合,也不限于由数据处理系统执行的指令的任何特定来源。
260.虽然一个实施例可实施于全功能计算机及计算机系统中,但各种实施例能够分布为多种形式的计算产品,且能够不论实际上用于实现分布的机器或计算机可读媒体的特定类型如何都适用。
261.所揭示的至少一些方面可至少部分体现于软件中。也就是说,这些技术可响应于其处理器(例如微处理器)执行存储器(例如rom、易失性ram、非易失性存储器、高速缓冲存储器或远程存储装置)中所含的指令序列而在计算机系统或其它数据处理系统中执行。
262.经执行以实施实施例的例程可实施为操作系统或特定应用程序、组件、程序、物件、模块或称作“计算机程序”的指令序列的部分。计算机程序通常包含计算机中的各种存储器及存储装置中在各种时间处的一或多个指令集,且所述指令集在由计算机中的一或多个处理器读取及执行时导致计算机执行必需操作以执行涉及各种方面的元件。
263.机器可读媒体可用于存储当由数据处理系统执行时使系统执行各种方法的软件和数据。可执行软件和数据可存储于包含例如rom、易失性ram、非易失性存储器和/或高速缓冲存储器的各处。此软件和/或数据的部分可以存储在这些存储装置中的任何一个中。此外,数据和指令可从集中式服务器或对等网络获得。数据和指令的不同部分可在不同时间且在不同通信会话中或同一通信会话中从不同集中式服务器和/或对等网络获得。可在执行应用程序之前获得全部数据和指令。替代地,可动态地、及时地在需要执行时获得数据和指令的部分。因此,并不要求数据及指令在特定时刻全部处于机器可读媒体上。
264.计算机可读媒体的实例包含但不限于非暂时性的可记录和不可记录类型的媒体,例如易失性和非易失性存储器装置、只读存储器(rom)、随机存取存储器(ram)、快闪存储器装置、软性和其它可装卸式磁盘、磁盘存储媒体、光学存储媒体(例如,光盘只读存储器(cd rom)、数字多功能盘(dvd)等)等。计算机可读媒体可存储指令。
265.指令还可体现在数字和模拟通信链路中以用于电学、光学、声学或其它形式的传播信号,例如载波、红外信号、数字信号等。然而,例如载波、红外信号、数字信号等的传播信号并非有形机器可读媒体且不能被配置成存储指令。
266.大体来说,机器可读媒体包含以可由机器(例如,计算机、网络装置、个人数字助理、制造工具、具有一组一或多个处理器的任何装置等)存取的形式提供(即,存储和/或发射)信息的任何机构。
267.在各种实施例中,硬接线电路系统可与软件指令组合使用以实施技术。因此,技术既不限于硬件电路和软件的任何特定组合,也不限于由数据处理系统执行的指令的任何特定来源。
268.以上描述和图式是说明性的,并且不应理解为限制性的。描述许多具体细节以提
供透彻理解。然而,在某些情况下,不描述众所周知的或常规的细节以免混淆描述。本公开中对一个或一实施例的参考未必参考同一实施例;并且此类参考意味着至少一个。
269.在前述说明书中,已参考本公开的具体示例性实施例描述了本公开。将显而易见的是,可在不脱离如所附权利要求书中阐述的更广精神和范围的情况下进行各种修改。因此,应在说明性意义上而非限制性意义上看待说明书及图式。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献