CN116962886A - 用于rgb-ir传感器的智能自动曝光控制 - Google Patents
用于rgb-ir传感器的智能自动曝光控制 Download PDFInfo
- Publication number
- CN116962886A CN116962886A CN202210373846.4A CN202210373846A CN116962886A CN 116962886 A CN116962886 A CN 116962886A CN 202210373846 A CN202210373846 A CN 202210373846A CN 116962886 A CN116962886 A CN 116962886A
- Authority
- CN
- China
- Prior art keywords
- rgb
- image
- processor
- module
- sensor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000004044 response Effects 0.000 claims abstract description 96
- 238000012545 processing Methods 0.000 claims abstract description 43
- 238000005259 measurement Methods 0.000 claims abstract description 17
- 238000000034 method Methods 0.000 claims description 86
- 238000001514 detection method Methods 0.000 claims description 54
- 238000001727 in vivo Methods 0.000 claims description 14
- 238000012805 post-processing Methods 0.000 claims description 13
- 238000005286 illumination Methods 0.000 claims description 8
- 230000035945 sensitivity Effects 0.000 claims description 6
- 230000001815 facial effect Effects 0.000 claims description 5
- 238000013527 convolutional neural network Methods 0.000 description 71
- 230000015654 memory Effects 0.000 description 65
- 238000000605 extraction Methods 0.000 description 53
- 230000004438 eyesight Effects 0.000 description 53
- 238000013461 design Methods 0.000 description 37
- 238000004891 communication Methods 0.000 description 29
- 230000033001 locomotion Effects 0.000 description 25
- 238000010586 diagram Methods 0.000 description 20
- 238000013528 artificial neural network Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 16
- 238000004458 analytical method Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 14
- 238000005096 rolling process Methods 0.000 description 12
- 238000003860 storage Methods 0.000 description 12
- 238000012549 training Methods 0.000 description 11
- 230000001965 increasing effect Effects 0.000 description 8
- 230000000007 visual effect Effects 0.000 description 8
- 239000000872 buffer Substances 0.000 description 7
- 230000004927 fusion Effects 0.000 description 7
- 239000011159 matrix material Substances 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 6
- 238000012937 correction Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 239000013598 vector Substances 0.000 description 5
- 125000002015 acyclic group Chemical group 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 238000004566 IR spectroscopy Methods 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 3
- 238000004220 aggregation Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000007613 environmental effect Effects 0.000 description 3
- 230000006641 stabilisation Effects 0.000 description 3
- 238000011105 stabilization Methods 0.000 description 3
- 241001465754 Metazoa Species 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000000153 supplemental effect Effects 0.000 description 2
- 230000001629 suppression Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 238000012952 Resampling Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000011217 control strategy Methods 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000011049 filling Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000020169 heat generation Effects 0.000 description 1
- 238000003706 image smoothing Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000004297 night vision Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000001429 visible spectrum Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/70—Circuitry for compensating brightness variation in the scene
- H04N23/72—Combination of two or more compensation controls
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/56—Cameras or camera modules comprising electronic image sensors; Control thereof provided with illuminating means
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/10—Cameras or camera modules comprising electronic image sensors; Control thereof for generating image signals from different wavelengths
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/10—Cameras or camera modules comprising electronic image sensors; Control thereof for generating image signals from different wavelengths
- H04N23/12—Cameras or camera modules comprising electronic image sensors; Control thereof for generating image signals from different wavelengths with one sensor only
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/65—Control of camera operation in relation to power supply
- H04N23/651—Control of camera operation in relation to power supply for reducing power consumption by affecting camera operations, e.g. sleep mode, hibernation mode or power off of selective parts of the camera
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/69—Control of means for changing angle of the field of view, e.g. optical zoom objectives or electronic zooming
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/70—Circuitry for compensating brightness variation in the scene
- H04N23/73—Circuitry for compensating brightness variation in the scene by influencing the exposure time
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/70—Circuitry for compensating brightness variation in the scene
- H04N23/76—Circuitry for compensating brightness variation in the scene by influencing the image signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/90—Arrangement of cameras or camera modules, e.g. multiple cameras in TV studios or sports stadiums
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Studio Devices (AREA)
Abstract
一种包括光投影仪、传感器以及处理器的装置。所述光投影仪可以被配置为:切换光图案。所述传感器可以被配置为:生成像素数据。所述处理器可以被配置为:对布置为视频帧的所述像素数据进行处理;从所述视频帧中提取具有所述光图案的IR图像、不具有所述光图案的IR图像以及RGB图像;响应于具有所述光图案的IR图像和所述RGB图像生成控制信号;响应于不具有所述光图案的IR图像和所述RGB图像计算IR干扰测量;以及响应于所述IR干扰测量而选择用于IR通道控制和RGB通道控制的操作模式。所述控制信号可以被配置为:调整所述传感器的曝光。
Description
技术领域
概括地说,本发明涉及视频和图像捕获,并且更具体地说,本发明涉及用于实现用于RGB-IR传感器的智能自动曝光控制的方法和/或装置。
背景技术
机器视觉、光学技术和人工智能得到了快速发展。由于机器人技术和深度学习技术的进步,三维(3D)重构已成为机器视觉的一个重要分支。主动3D重构的一种方法是通过使用单目散斑结构光***生成深度图来执行的。RGB-IR传感器可用于捕获红外数据、颜色数据和单目散斑结构光。
RGB-IR传感器是可暴露于可见(RGB)光和红外(IR)光二者的单个相机传感器。RGB和IR图像由单个传感器捕获。由于物理限制,相机的传感器控制(即快门和增益)由RGB和IR通道共享。在各种环境下,可见光和IR光的光照条件不同,导致同时捕获的RGB图像和IR图像具有不一致的亮度。固定自动曝光(AE)调整方法在处理不同RGB和IR通道上的不同照明条件时存在缺点。
此外,IR通道对IR干扰非常敏感。如果AE控制不当,则少量红外光(即来自阳光)很容易导致IR图像过度曝光。在没有适当的AE控制的情况下,当快门值太小时,RGB通道可能会曝光不足。在各种光照条件下,RGB图像通道和IR图像通道的亮度之间的平衡成为RGB-IR传感器的一个问题。
实现RGB-IR传感器的智能自动曝光控制将是期望的。
发明内容
本发明涉及一种装置,所述装置包括结构光投射器、图像传感器以及处理器。所述结构光投射器可以被配置为:响应于定时信号切换结构光图案。所述图像传感器可以被配置为:生成像素数据。所述处理器可以被配置为:对被布置为视频帧的所述像素数据进行处理;从所述视频帧中提取具有所述结构光图案的IR图像、不具有所述结构光图案的IR图像以及RGB图像;响应于具有所述结构光图案的IR图像和所述RGB图像生成传感器控制信号;响应于不具有所述结构光图案的IR图像和所述RGB图像计算IR干扰测量;以及响应于所述IR干扰测量选择用于IR通道控制和RGB通道控制的操作模式。所述传感器控制信号可以被配置为:对用于具有所述结构光图案的IR图像和所述RGB图像二者的所述图像传感器的曝光进行调整。所述IR通道控制可以被配置为:对具有所述结构光图案的IR图像的曝光进行调整。所述RGB通道控制可以被配置为:对所述RGB图像和不具有所述结构光图案的IR图像的所述曝光进行调整。
附图说明
通过下面的详细描述以及所附的权利要求书和附图,本发明的实施例将变得显而易见。
图1是示出根据本发明的示例实施例的、可以利用被配置为实现用于RGB-IR传感器的智能自动曝光控制的处理器的边缘设备的示例的图。
图2是示出实现本发明的示例实施例的示例相机的图。
图3是示出相机***的框图。
图4是示出了实现被配置为执行3D重构的卷积神经网络的摄像头***的处理电路的图。
图5是示出智能自动曝光控制***的框图。
图6是示出被配置为对具有结构光图案的IR视频帧、不具有结构光图案的IR视频帧和RGB视频帧进行提取的处理器的图。
图7是示出被配置为确定环境中的IR干扰量的IR干扰模块的框图。
图8是示出响应于从视频帧测量的统计来对IR通道控制和RGB通道控制进行调整的框图。
图9是示出视频帧的曝光结果的图。
图10是示出用于执行针对RGB-IR传感器的智能自动曝光控制的方法的流程图。
图11是示出用于执行IR干扰测量的方法的流程图。
图12是示出用于在快门优先操作模式中自动曝光控制的方法的流程图。
图13是示出用于在数字增益优先操作模式中自动曝光控制的方法的流程图。
具体实现
本发明的实施例包括提供RGB-IR传感器的智能自动曝光控制,其可以(i)自动地调整传感器控制、IR通道和RGB通道,(ii)生成关于IR图像通道和RGB图像通道的统计,(iii)跨各种照明条件提供IR图像和RGB图像的一致亮度,(iv)使得能够根据用户输入来调谐参数,(v)防止由于IR干扰而对IR图像的过度曝光,(vi)响应于检测到的IR干扰量而选择不同的自动曝光操作模式,(vii)将不具有结构光图案的IR图像与RGB图像进行比较,以确定环境中的IR干扰量,(viii)克服RGB-IR传感器的物理限制和/或(ix)实现为一个或多个集成电路。
本发明的实施例可以被配置为:实现用于RGB-IR传感器的智能和动态自动曝光(AE)调整***。代替单独对每个通道执行自动曝光,所实现的AE调整可以响应于RGB统计和IR统计来自动调整各种曝光设置。实现的AE调整可以被配置为:同时协调传感器控制、RGB通道调整和IR通道调整。
可以通过将AE调整划分为传感器控制、IR通道控制和RGB通道控制来实现本发明的实施例。RGB通道和IR通道可以共享相同的传感器控制逻辑。RGB通道和IR通道可以各自具有单独的通道控制逻辑。通道控制逻辑可以被配置为:自动调整曝光参数(例如,数字增益、色调曲线调整、其他后处理参数等)。通过针对RGB通道和IR通道实现单独的通道控制逻辑,即使在具有不同可见光和IR光的条件下,RGB图像和IR图像也可以被调谐到相似的亮度水平。
本发明的实施例可以被配置为:在多种不同的操作模式下操作以避免IR干扰灵敏度的问题。可以检测IR干扰量。响应于检测到的IR干扰量,AE调整可以被配置为:确定是在数字增益优先操作模式还是快门优先操作模式下操作。可以接收进取值(aggressivenessvalue)作为用户输入以用于额外的手动调谐以确定操作模式如何被应用和/或起作用。
在示例中,在阳光充足的条件下(例如,来自阳光的IR干扰可能导致未实现智能AE调整的RGB-IR传感器的过度曝光),AE调整***可以选择数字增益优先操作模式。数字增益优先操作模式可以将快门时间调整为低值(例如,取决于进取值)并允许数字增益首先增加图像亮度。数字增益优先模式可以使IR通道能够减少来自太阳光的IR干扰的影响。可能具有高输出功率的IR补光(例如,结构光图案)可能仍会暴露在IR通道中。减少太阳光的量可能会导致暗RGB图像。但是,AE调整***可以实现数字增益和色调曲线调整,以增强RGB图像通道中的亮度。一旦数字增益达到最大值,如果单独调整数字增益不足,则可能会增加快门时间。
在另一示例中,在低IR干扰环境中,AE调整***可以选择快门优先操作模式。快门优先操作模式可以调整快门时间,使其比数字增益优先操作模式的快门时间更长。例如,快门时间越长,RGB-IR传感器暴露于IR补光(例如,结构光图案)的行就越多。一旦快门时间达到最大值,如果单独调整快门时间不够,则可以执行数字增益和色调映射。
AE***可以被配置为:响应于检测到的IR干扰量来确定何时在数字增益优先操作模式和快门优先操作模式之间切换。本发明的实施例可以被配置为:测量环境中的IR干扰量。在示例中,RGB图像和IR图像(例如,当结构光图案被关闭时捕获的)可以用作输入来确定IR干扰量。可以计算这两个图像的平均强度。例如,如果IR图像的强度除以RGB图像的强度超过了预定阈值,则可以将IR干扰确定为高值。响应于IR干扰是否被确定为高值,发射***选择操作模式。通过基于IR干扰条件来选择合适的操作模式,AE***可以使RGB-IR传感器能够在可见光和IR光的各种照明条件下都具有一致的性能。在各种IR和可见光条件下提供一致的性能可以克服RGB-IR传感器的物理限制。
本发明的实施例可为RGB和IR通道二者提供自动曝光控制。自动曝光控制可以基于通道统计。对于不同的照明场景(例如,视觉光强度与IR光强度的对比),可以选择不同的自动曝光控制策略。自动曝光可以为RGB-IR传感器提供智能自动曝光控制。
参考图1,图1示出了根据本发明的示例实施例的、可以利用被配置为实现用于RGB-IR传感器的智能自动曝光控制的处理器的边缘设备的示例的图。示出了区域50的俯视图。在所示示例中,区域50可以是室外位置。显示了街道、车辆和建筑物。
在区域50中的不同位置处示出了装置100a-100n。装置100a-100n中的每个可以各自实现边缘设备。边缘装置100a-100n可以包括智能IP摄像头(例如,摄像头***)。边缘装置100a-100n可以包括被设计为部署在网络边缘处的嵌入式平台中的低功率技术(例如,在传感器、摄像头或其他电池供电设备上运行的微处理器),其中功耗是关键问题。在示例中,边缘装置100a-100n可以包括各种交通摄像头和智能交通***(ITS)解决方案。
边缘装置100a-100n可以被实现用于各种应用。在所示示例中,边缘装置100a-100n可以包括自动车牌识别(ANPR)摄像头100a、交通摄像头100b、车辆摄像头100c、访问控制摄像头100d、自动柜员机(ATM)摄像头100e、子弹头摄像头100f、圆顶摄像头100n等。在示例中,边缘装置100a-100n可以实现为交通摄像头和智能交通***(ITS)解决方案,旨在利用人员和车辆检测、车辆品牌/型号识别以及自动车牌识别(ANPR)功能的组合来增强道路安全。
在所示示例中,区域50可以是室外位置。在一些实施例中,可以在各种室内位置处实现边缘装置100a-100n。在示例中,边缘装置100a-100n可以结合卷积神经网络以便在安全(监视)应用和/或访问控制应用中被使用。在示例中,实现为安全摄像头和访问控制应用的边缘装置100a-100n可以包括电池供电的摄像头、门铃摄像头、室外摄像头、室内摄像头等。根据本发明的实施例,安全摄像头和访问控制应用可以从卷积神经网络的应用中实现性能优势。在示例中,利用根据本发明实施例的卷积神经网络的边缘设备可以获取大量图像数据并进行设备上推断以获得有用信息(例如,每个网络执行的多个图像时间实例),从而减少带宽和/或减少功耗。由边缘装置100a-100n执行的设计、类型和/或应用可以根据特定实现的设计标准而变化。
参考图2,示出了说明实现本发明的示例实施例的示例边缘设备摄像头的图。示出了摄像头***100a-100n。每个摄像头装置100a-100n可以具有不同的风格和/或用例。例如,摄像头100a可以是运动摄像头,摄像头100b可以是安装在天花板上的安全摄像头,摄像头100n可以是网络摄像头等。可以实现其他类型的摄像头(例如,家庭安全摄像头、电池供电摄像头、门铃摄像头、立体摄像头等)。摄像头100a-100n的设计/风格可以根据特定实现的设计标准而变化。
摄像头***100a-100n中的每一个可以包括块(或电路)102、块(或电路)104和/或块(或电路)106。电路102可以实现处理器。电路104可以实现捕获设备。电路106可以实现结构光投射器。摄像头***100a-100n可以包括其他组件(未示出)。可以与图3相关联地来描述摄像头100a-100n的组件的细节。
处理器102可以被配置为实现人工神经网络(ANN)。在示例中,ANN可以包括卷积神经网络(CNN)。处理器102可以被配置为实现视频编码器。处理器102可以被配置为对像素数据进行处理,所述像素数据被布置为视频帧。捕获设备104可被配置为:捕获可由处理器102使用以生成视频帧的像素数据。结构光投射器106可以被配置为:生成结构光图案(例如,散斑图案)。结构光图案可以投射到背景(例如,环境)上。捕获设备104可以捕获包括具有散斑图案的背景图像(例如,环境)的像素数据。
摄像头100a-100n可以是边缘设备。由摄像头100a-100n中的每一个摄像头实现的处理器102可以使摄像头100a-100n能够在内部(例如,在本地级别)实现各种功能。例如,处理器102可以被配置为:在设备上执行对象/事件检测(例如,计算机视觉操作)、3D重构、活体检测、深度图生成、视频编码和/或视频转码。例如,处理器102甚至可以执行诸如计算机视觉和3D重构之类的高级过程,而无需将视频数据上传到云服务以卸载计算量大的功能(例如,计算机视觉、视频编码、视频转码等)。
在一些实施例中,可以实现多个摄像头***(例如,摄像头***100a-100n可以彼此独立地操作)。例如,摄像头100a-100n中的每一个可以单独地对捕获的像素数据进行分析并且在本地执行事件/对象检测。在一些实施例中,摄像头100a-100n可以被配置为摄像头网络(例如,安全摄像头,其将视频数据发送到诸如网络附加存储和/或云服务之类的中央源)。摄像头100a-100n的位置和/或配置可以根据特定实现的设计标准而变化。
摄像头***100a-100n中的每一个的捕获设备104可以包括单个镜头(例如,单目摄像头)。处理器102可以被配置为:加速用于单眼3D重构的散斑结构光的预处理。可以在不使用立体摄像头的情况下执行单目3D重构以生成深度图和/或视差图像。
参考图3,示出了说明示例实现的摄像头***100的框图。摄像机***100可以是结合图2示出的摄像机100a-100n的代表性示例。摄像机***100可以包括处理器/SoC 102、捕获设备104以及结构光投射器106。
摄像头***100还可以包括块(或电路)150、块(或电路)152、块(或电路)154、块(或电路)156、块(或电路)158、块(或电路)160、块(或电路)162、块(或电路)164和/或块(或电路)166。电路150可以实现存储器。电路152可以实现电池。电路154可以实现通信设备。电路156可以实现无线接口。电路158可以实现通用处理器。块160可以实现光学镜头。块162可以实现结构光图案镜头。电路164可以实现一个或多个传感器。电路166可以实现人机接口设备(HID)。在一些实施例中,摄像头***100可以包括处理器/SoC102、捕获设备104、IR结构光投射器106、存储器150、镜头160、IR结构光投射器106、结构光图案镜头162、传感器164、电池152、通信模块154、无线接口156和处理器158。在另一示例中,摄像头***100可以包括处理器/SoC102、捕获设备104、结构光投射器106、处理器158、镜头160、结构光图案镜头162以及传感器164作为一个设备,并且存储器150、电池152、通信模块154和无线接口156可以是单独设备的组件。摄像头***100可以包括其他组件(未示出)。摄像头***100的组件的数量、类型和/或布置可以根据特定实现的设计标准而变化。
处理器102可以实现为视频处理器。在示例中,处理器102可以被配置为:利用高速SLVS/MIPI-CSI/LVCMOS接口接收三传感器视频输入。在一些实施例中,处理器102可以被配置为:除了生成视频帧之外还执行深度感测。在示例中,可以响应于在视频帧中捕获的深度信息和/或向量光数据来执行深度感测。
存储器150可以存储数据。存储器150可以实现各种类型的存储器,包括但不限于高速缓存、闪存、存储卡、随机存取存储器(RAM)、动态RAM(DRAM)存储器等。存储器150的类型和/或大小可以根据特定实现的设计标准而变化。存储在存储器150中的数据可以对应于视频文件、运动信息(例如,来自传感器164的读数)、视频融合参数、图像稳定参数、用户输入、计算机视觉模型、特征集和/或元数据信息。在一些实施例中,存储器150可以存储参考图像。参考图像可用于计算机视觉操作、3D重构等。在一些实施方式中,参考图像可以包括参考结构光图像。
处理器/SoC102可以被配置为:执行计算机可读代码和/或处理信息。在各种实施例中,计算机可读代码可以存储在处理器/SoC102内(例如,微代码等)和/或存储器150中。在示例中,处理器/SoC102可以被配置为:执行存储在存储器150中的一个或多个人工神经网络模型(例如,面部识别CNN、对象检测CNN、对象分类CNN、3D重构CNN、活体检测CNN等)。在示例中,存储器150可以存储一个或多个有向无环图(DAG)以及定义一个或多个人工神经网络模型的一组或多组权重和偏置。处理器/SoC102可以被配置为:从存储器150接收输入和/或向存储器150呈现输出。处理器/SoC102可以被配置为:呈现和/或接收其他信号(未示出)。处理器/SoC102的输入和/或输出的数量和/或类型可以根据特定实现的设计标准而变化。处理器/SoC102可以被配置用于低功率(例如,电池)操作。
电池152可以被配置为:为摄像头***100的组件存储和/或供电。用于卷帘式快门传感器的动态驱动器机制可以被配置为节省功耗。降低功耗可以使摄像头***100能够使用电池152在延长的时间段内操作而无需再充电。电池152可以是可充电的。电池152可以是内置的(例如,不可更换的)或可更换的。电池152可以具有用于连接到外部电源(例如,用于充电)的输入。在一些实施例中,装置100可由外部电源供电(例如,电池152可以被不实现或者实现为备用电源)。可以使用各种电池技术和/或化学物质来实现电池152。所实现的电池152的类型可以根据特定实现的设计标准而变化。
通信模块154可以被配置为实现一种或多种通信协议。例如,通信模块154和无线接口156可以被配置为实现以下中的一个或多个:IEEE102.11、IEEE102.15、IEEE102.15.1、IEEE102.15.2、IEEE102.15.3、IEEE102.15.4、IEEE102.15.5、IEEE102.20、和/或在一些实施例中,通信模块154可以是硬连线数据端口(例如,USB端口、迷你USB端口、USB-C连接器、HDMI端口、以太网端口、显示端口接口、闪电端口等等)。在一些实施例中,无线接口156还可以实现与蜂窝通信网络相关联的一种或多种协议(例如,GSM、CDMA、GPRS、UMTS、CDMA2000、3GPPLTE、4G/HSPA/WiMAX、SMS等)。在其中摄像头***100被实现为无线摄像头的实施例中,由通信模块154和无线接口156实现的协议可以是无线通信协议。由通信模块154实现的通信协议的类型可以根据特定实现的设计标准而变化。
通信模块154和/或无线接口156可以被配置为生成广播信号作为来自摄像头***100的输出。广播信号可以向外部设备发送视频数据、视差数据和/或控制信号。例如,可以将广播信号发送到云存储服务(例如,能够按需扩展的存储服务)。在一些实施例中,通信模块154可以不发送数据,直到处理器/SoC102已经执行了视频分析以确定对象在摄像头***100的视场中。
在一些实施例中,通信模块154可以被配置为生成手动控制信号。手动控制信号可以响应于由通信模块154接收到的来自用户的信号而生成。手动控制信号可以被配置为激活处理器/SoC102。无论摄像头***100的电源状态如何,处理器/SoC102都可以响应于手动控制信号而被激活。
在一些实施例中,通信模块154和/或无线接口156可以被配置为接收特征集。接收到的特征集可用于检测事件和/或对象。例如,特征集可用于执行计算机视觉操作。特征集信息可以包括用于处理器102的指令以用于确定哪些类型的对象对应于感兴趣的对象和/或事件。
在一些实施例中,通信模块154和/或无线接口156可以被配置为接收用户输入。用户输入可以使用户能够调整由处理器102实施的各种特征的操作参数。在一些实施例中,通信模块154和/或无线接口156可以被配置为与应用(例如app)对接(例如,使用应用编程接口(API))。例如,应用可以在智能手机上实施,以使终端用户能够为由处理器102实施的各种特征调整各种设置和/或参数(例如,设置视频分辨率、选择帧速率、选择输出格式、为3D重构设置容差参数等)。
可以使用通用处理器电路来实现处理器158。处理器158可操作用于与视频处理电路102和存储器150交互以执行各种处理任务。处理器158可以被配置为执行计算机可读指令。在示例中,计算机可读指令可由存储器150存储。在一些实施例中,计算机可读指令可以包括控制器操作。通常,来自传感器164和/或人机接口设备166的输入被示为由处理器102接收。在一些实施例中,通用处理器158可以被配置为:接收和/或分析来自传感器164和/或HID 166的数据并且响应于输入做出决定。在一些实施例中,处理器158可以向摄像头***100的其他组件(例如,电池152、通信模块154和/或无线接口156)发送数据和/或从其接收数据。处理器102和通用处理器158执行摄像头***100的哪个功能可以根据特定实现的设计标准而变化。
镜头160可以附接到捕获设备104。捕获设备104可以被配置为经由镜头160接收输入信号(例如,LIN)。信号LIN可以是光输入(例如,模拟图像)。镜头160可以实现为光学镜头。镜头160可以提供变焦特征和/或聚焦特征。在示例中,捕获设备104和/或镜头160可以实现为单个镜头组件。在另一个示例中,镜头160可以是与捕获设备104分开的实现。
捕获设备104可以被配置为将输入光LIN转换成计算机可读数据。捕获设备104可以捕获通过镜头160接收的数据以生成原始像素数据。在一些实施例中,捕获设备104可以捕获通过镜头160接收的数据以生成比特流(例如,生成视频帧)。例如,捕获设备104可以接收来自镜头160的聚焦光。镜头160可以被定向、倾斜、平移、缩放和/或旋转以提供来自摄像头***100的目标视图(例如,视频帧的视图、使用多个摄像头***100a-100n捕获的全景视频帧的视图、针对立体视觉的目标图像和参考图像视图,等等)。捕获设备104可以生成信号(例如,视频)。信号VIDEO可以是像素数据(例如,可用于生成视频帧的像素序列)。在一些实施例中,信号VIDEO可以是视频数据(例如,视频帧序列)。信号VIDEO可以被呈现给处理器102的输入中的一个。在一些实施例中,由捕获设备104生成的像素数据可以是未压缩的和/或响应于来自镜头160的聚焦光而生成的原始数据。在一些实施例中,捕获设备104的输出可以是数字视频信号。
在示例中,捕获设备104可以包括块(或电路)180、块(或电路)182以及块(或电路)184。电路180可以是图像传感器。电路182可以是处理器和/或逻辑单元。电路184可以是存储器电路(例如,帧缓冲器)。镜头160(例如,摄像头镜头)可以被引导以提供摄像头***100周围环境的视图。镜头160可以旨在捕获环境数据(例如,光输入LIN)。镜头160可以是广角镜头和/或鱼眼镜头(例如,能够捕获宽视场的镜头)。镜头160可以被配置为捕获和/或聚焦用于捕获设备104的光。通常,图像传感器180位于镜头160的后面。基于从镜头160捕获的光,捕获设备104可以生成比特流和/或视频数据(例如,信号VIDEO)。
捕获设备104可以被配置为捕获视频图像数据(例如,由镜头160收集和聚焦的光)。捕获设备104可以捕获通过镜头160接收的数据以生成视频比特流(例如,视频帧序列的像素数据)。在各个实施例中,镜头160可以被实现为定焦镜头。定焦镜头通常有利于较小尺寸和较低功率。在示例中,定焦镜头可用于电池供电、门铃和其他低功率摄像头应用。在一些实施例中,镜头160可以被定向、倾斜、平移、缩放和/或旋转以捕获摄像头***100周围的环境(例如,从视场捕获数据)。在示例中,专业摄像头型号可以使用有源镜头***来实现,以用于增强功能、远程控制等。
捕获设备104可以将接收到的光转换成数字数据流。在一些实施例中,捕获设备104可以执行模数转换。例如,图像传感器180可以对由镜头160接收的光执行光电转换。处理器/逻辑单元182可以将数字数据流转换成视频数据流(或比特流)、视频文件和/或多个视频帧。在示例中,捕获设备104可以将视频数据呈现为数字视频信号(例如,VIDEO)。数字视频信号可以包括视频帧(例如,连续数字图像和/或音频)。在一些实施例中,捕获设备104可以包括用于捕获音频的麦克风。在一些实施例中,麦克风可以实现为单独的组件(例如,传感器164中的一个)。
由捕获设备104捕获的视频数据可以表示为信号/比特流/数据VIDEO(例如,数字视频信号)。捕获设备104可以向处理器/SoC102呈现信号VIDEO。信号VIDEO可以表示视频帧/视频数据。信号VIDEO可以是由捕获设备104捕获的视频流。在一些实施例中,信号VIDEO可以包括可由处理器102(例如,视频处理管线、图像信号处理器(ISP)等)操作的像素数据。处理器102可以响应于信号VIDEO中的像素数据来生成视频帧。
信号VIDEO可以包括被布置为视频帧的像素数据。信号VIDEO可以是包括背景(例如,捕获的对象和/或环境)以及由结构光投射器106生成的散斑图案的图像。信号VIDEO可以包括单通道源图像。可以响应于使用单目镜头160捕获像素数据来生成单通道源图像。
图像传感器180可以从镜头160接收输入光LIN并将光LIN转换成数字数据(例如,比特流)。例如,图像传感器180可以对来自镜头160的光执行光电转换。在一些实施例中,图像传感器180可以具有不用作图像输出的一部分的额外边距。在一些实施例中,图像传感器180可能没有额外的余量。在各种实施例中,图像传感器180可以被配置为生成RGB-IR视频信号。在仅红外光照射的视场中,图像传感器180可以生成单色(B/W)视频信号。在由IR光和可见光二者照射的视场中,图像传感器180可以被配置为:除了生成单***信号之外还生成颜色信息。在各种实施例中,图像传感器180可以被配置为:响应于可见光和/或红外(IR)光而生成视频信号。
在一些实施例中,摄像头传感器180可以包括卷帘式快门传感器或全局快门传感器。在示例中,卷帘式快门传感器180可以实现RGB-IR传感器。在一些实施例中,捕获设备104可以包括卷帘式快门IR传感器和RGB传感器(例如,实现为单独的组件)。在示例中,卷帘式快门传感器180可以被实现为RGB-IR卷帘式快门互补金属氧化物半导体(CMOS)图像传感器。在一个示例中,卷帘式快门传感器180可以被配置为:断言指示第一行曝光时间的信号。在一个示例中,卷帘式快门传感器180可以将掩模施加到单色传感器。在示例中,掩模可以包括多个单元,该单元包含一个红色像素、一个绿色像素、一个蓝色像素和一个IR像素。IR像素可以包含红色、绿色和蓝色滤波器材料,这些滤波器材料可以高效地吸收可见频谱中的所有光,同时允许更长的红外波长从而以最小的损失通过。在卷帘式快门的情况下,随着传感器的每一排(或每一行)开始曝光,该排(或行)中的所有像素可以同时开始曝光。
处理器/逻辑单元182可以将比特流转换成人类可见的内容(例如,无论图像质量如何,普通人都可以理解的视频数据,例如视频帧和/或可由处理器102转换为视频帧的像素数据)。例如,处理器/逻辑单元182可以从图像传感器180接收纯(例如,原始)数据并且基于原始数据生成(例如,编码)视频数据(例如,比特流)。捕获设备104可以具有存储器184以存储原始数据和/或经处理的比特流。例如,捕获设备104可以实现帧存储器和/或缓冲器184以存储(例如,提供临时存储和/或高速缓存)一个或多个视频帧(例如,数字视频信号)。在一些实施例中,处理器/逻辑单元182可以对存储在捕获设备104的存储器/缓冲器184中的视频帧执行分析和/或校正。处理器/逻辑单元182可以提供关于捕获的视频帧的状态信息。
结构光投射器106可以包括块(或电路)186。电路186可以实现结构光源。结构光源186可以被配置为:生成信号(例如,SLP)。信号SLP可以是结构光图案(例如,散斑图案)。信号SLP可以被投射到摄像头***100附近的环境上。结构光图案SLP可以由捕获设备104捕获作为光输入LIN的一部分。
结构光图案镜头162可以是用于结构光投射器106的镜头。结构光图案镜头162可以被配置为使得由结构光投射器106的结构光源186产生的结构光SLP能够被发射,同时保护结构光源186。结构光图案镜头162可以被配置为:将由结构光源186产生的激光图案分解成图案阵列(例如,用于散斑图案的密集点图案阵列)。
在示例中,结构光源186可以被实现为垂直腔体表面发射激光器(VCSEL)的阵列和镜头。然而,可以实现其他类型的结构光源以满足特定应用的设计标准。在示例中,VCSEL的阵列通常被配置为生成激光图案(例如,信号SLP)。镜头通常被配置为将激光图案分解为密集点图案阵列。在示例中,结构光源186可以实现近红外(NIR)光源。在各种实施例中,结构光源186的光源可以被配置为发射波长大约为940纳米(nm)的光,该光对于人眼是不可见的。然而,可以利用其他波长。在示例中,可以利用在大约为800nm-1000nm的范围内的波长。
传感器164可以实现多个传感器,包括但不限于运动传感器、环境光传感器、接近传感器(例如,超声波、雷达、激光雷达等)、音频传感器(例如,麦克风)等。在实现运动传感器的实施例中,传感器164可以被配置为:检测由摄像头***100监测的视场中的任何地方(或视场外的一些位置)的运动。在各种实施例中,运动的检测可以用作用于激活捕获设备104的一个阈值。传感器164可以被实现为摄像头***100的内部组件和/或摄像头***100外部的组件。在示例中,传感器164可以被实现为被动红外(PIR)传感器。在另一个示例中,传感器164可以被实现为智能运动传感器。在又一示例中,传感器164可以被实现为麦克风。在实现智能运动传感器的实施例中,传感器164可以包括被配置为检测运动和/或人的低分辨率图像传感器。
在各种实施例中,传感器164可以生成信号(例如,SENS)。信号SENS可以包括由传感器164收集的各种数据(或信息)。在示例中,信号SENS可以包括响应于在被监测的视场中检测到的运动、被监测视场中的环境光水平和/或在被监测视场中拾取的声音而收集的数据。然而,可以基于特定应用的设计标准来收集和/或生成其他类型的数据。信号SENS可以呈现给处理器/SoC102。在示例中,当在由摄像头***100监测的视场中检测到运动时,传感器164可以生成(断言)信号SENS。在另一示例中,当由摄像头***100监测的视场中的音频触发时,传感器164可以生成(断言)信号SENS。在又一个示例中,传感器164可以被配置为:提供关于在视场中检测到的运动和/或声音的方向信息。方向信息也可以经由信号SENS传送到处理器/SoC102。
HID 166可以实现输入设备。例如,HID 166可以被配置为:接收人类输入。在一个示例中,HID 166可以被配置为:接收来自用户的密码输入。在另一示例中,HID 166可以被配置为接收用户输入以便向处理器102和/或存储器150提供各种参数和/或设置。在一些实施例中,摄像头***100可以包括键盘、触摸板(或屏幕)、门铃开关和/或其他人机接口设备(HID)166。在示例中,传感器164可以被配置为:确定对象何时接近HID 166。在摄像头***100被实现为访问控制应用的一部分的示例中,可以开启捕获设备104以提供图像以用于识别尝试访问的人,并且可以打开锁定区域和/或针对访问触摸板166的照明。例如,来自HID166的输入(例如,密码或PIN码)的组合可以与由处理器102执行的活性判断和/或深度分析相结合以实现双因素认证。
处理器/SoC102可以接收信号VIDEO和信号SENS。处理器/SoC102可以基于信号VIDEO、信号SENS和/或其他输入来生成一个或多个视频输出信号(例如,VIDOUT)、一个或多个控制信号(例如,CTRL)和/或一个或多个深度数据信号(例如,DIMAGES)。在一些实施例中,信号VIDOUT、DIMAGES和CTRL可以基于对信号VIDEO和/或在信号VIDEO中检测到的对象的分析来生成。
在各种实施例中,处理器/SoC102可以被配置为执行以下各项中的一项或多项:特征提取、对象检测、对象跟踪、3D重构、活体检测以及对象识别。例如,处理器/SoC102可以通过分析来自信号VIDEO的帧并且将该帧与先前的帧进行比较来确定运动信息和/或深度信息。比较可以用于执行数字运动估计。在一些实施例中,处理器/SoC102可以被配置为:从信号VIDEO生成包括视频数据的视频输出信号VIDOUT和/或包括视差图和深度图的深度数据信号DIMAGES。视频输出信号VIDOUT和/或深度数据信号DIMAGES可以呈现给存储器150、通信模块154和/或无线接口156。在一些实施例中,视频信号VIDOUT和/或深度数据信号DIMAGES可以由处理器102内部使用(例如,不呈现为输出)。
信号VIDOUT可以被呈现给通信设备156。在一些实施例中,信号VIDOUT可以包括由处理器102生成的编码的视频帧。在一些实施例中,编码的视频帧可以包括完整的视频流(例如,表示由捕获设备104捕获的所有视频的编码的视频帧)。编码的视频帧可以是从信号VIDEO接收的像素数据的编码、裁剪、拼接和/或增强版本。在示例中,编码的视频帧可以是信号VIDEO的高分辨率、数字、编码、去扭曲、稳定、裁剪、混合、拼接和/或滚动快门效果校正版本。
在一些实施例中,信号VIDOUT可以基于由处理器102对生成的视频帧执行的视频分析(例如,计算机视觉操作)来生成。处理器102可以被配置为:执行计算机视觉操作以检测视频帧中的对象和/或事件,然后将检测到的对象和/或事件转换为统计数据和/或参数。在一个示例中,由计算机视觉操作确定的数据可以由处理器102转换为人类可读格式。来自计算机视觉操作的数据可用于检测对象和/或事件。计算机视觉操作可由处理器102本地执行(例如,无需与外部设备通信以卸载计算操作)。例如,本地执行的计算机视觉操作可以使计算机视觉操作能够由处理器102执行并且避免在后端服务器上运行的繁重的视频处理。避免在后端(例如,远程定位)服务器上运行视频处理可以保护隐私。
在一些实施例中,信号VIDOUT可以是由处理器102生成的数据(例如,视频分析结果、音频/语音分析结果等),该数据可以传送到云计算服务以便聚合信息和/或为机器学习提供训练数据(例如,以改进对象检测、改进音频检测、改进活体检测等)。在一些实施例中,信号VIDOUT可以被提供给用于大容量存储的云服务(例如,以使用户能够使用智能电话和/或桌面式计算机取回编码的视频)。在一些实施例中,信号VIDOUT可以包括从视频帧中提取的数据(例如,计算机视觉的结果),并且可以将结果传送到另一个设备(例如,远程服务器、云计算***等)以将结果的分析卸载到另一个设备(例如,将对结果的分析卸载到云计算服务,而不是在本地执行所有分析)。由信号VIDOUT传送的信息类型可以根据特定实现的设计标准而变化。
信号CTRL可以被配置为:提供控制信号。信号CTRL可以响应于由处理器102做出的决定而产生。在示例中,可以响应于检测到的对象和/或从视频帧中提取的特征来生成信号CTRL。信号CTRL可以被配置为启用、禁用、改变另一设备的操作模式。在一个示例中,可以响应于信号CTRL来锁定/解锁由电子锁控制的门。在另一示例中,设备可以响应于信号CTRL而被设置为睡眠模式(例如,低功率模式)和/或从睡眠模式被激活。在又一示例中,可以响应于信号CTRL而产生警报和/或通知。由信号CTRL控制的设备的类型和/或由设备响应于信号CTRL而执行的反应可以根据特定实现的设计标准而变化。
信号CTRL可以基于由传感器164接收的数据(例如,温度读数、运动传感器读数等)而生成。信号CTRL可以基于来自HID 166的输入而产生。信号CTRL可以基于由处理器102在视频帧中检测到的人的行为来生成。信号CTRL可以基于检测到的对象的类型(例如,人、动物、车辆等)生成。可以响应于在特定位置检测到特定类型的对象来生成信号CTRL。可以响应于在特定位置检测到特定类型的对象来生成信号CTRL。可以响应于用户输入生成信号CTRL,以便向处理器102和/或存储器150提供各种参数和/或设置。处理器102可以被配置为:响应于传感器融合操作(例如,对从不同源接收的信息进行聚合)来生成信号CTRL。处理器102可以被配置为:响应于由处理器102执行的活体检测的结果来生成信号CTRL。用于生成信号CTRL的条件可以根据特定实现的设计标准而变化。
信号DIMAGES可以包括由处理器102生成的深度图和/或视差图中的一个或多个。可以响应于对单目单通道图像执行的3D重构来生成信号DIMAGES。可以响应于对捕获的视频数据和结构光图案SLP的分析来生成信号DIMAGES。
可以实现用于基于运动传感器164的输出和/或摄像头***100的任何其他功耗特征来激活和/或禁用捕获设备104的多步骤方式以降低摄像头***100的功耗并延长电池152的使用寿命。传感器164中的运动传感器可以在电池152上具有低消耗(例如,小于10W)。在示例中,传感器164的运动传感器可以被配置为:保持开启(例如,始终活动),除非响应于来自处理器/SoC102的反馈被禁用。由处理器/SoC102执行的视频分析可能对电池152具有相对较大的消耗(例如,大于运动传感器164)。在示例中,处理器/SoC102可以处于低功率状态(或断电),直到由传感器164的运动传感器检测到一些运动。
摄像头***100可以被配置为:使用各种电源状态来进行操作。例如,在断电状态(例如,睡眠状态、低功率状态)中,传感器164和处理器/SoC102的运动传感器可以开启,并且摄像头***100的其他组件(例如,图像捕获设备104、存储器150、通信模块154等)可以关闭。在另一示例中,摄像头***100可以在中间状态下操作。在中间状态下,图像捕获设备104可以开启,并且存储器150和/或通信模块154可以关闭。在又一示例中,摄像头***100可以在通电(或高功率)状态下操作。在通电状态下,传感器164、处理器/SoC102、捕获设备104、存储器150和/或通信模块154可以开启。摄像头***100可以在断电状态下消耗来自电池152的一些电力(例如,相对小的和/或最小量的电力)。在通电状态下,摄像头***100可以消耗来自电池152的更多电力。电源状态的数量和/或摄像头***100的在摄像头***100在每个电源状态中操作时开启的组件的数量可以根据特定实现的设计标准而变化。
在一些实施例中,摄像头***100可以被实现为片上***(SoC)。例如,摄像头***100可以被实现为包括一个或多个组件的印刷电路板。摄像头***100可以被配置为:对视频的视频帧执行智能视频分析。摄像头***100可以被配置为:对视频进行裁剪和/或增强。
在一些实施例中,视频帧可以是由捕获设备104捕获的某个视图(或某个视图的派生)。像素数据信号可由处理器102增强(例如,颜色转换、噪声过滤、自动曝光、自动白平衡、自动对焦等)。在一些实施例中,视频帧可以提供一系列经裁剪和/或增强的视频帧,这些视频帧改进了从摄像头***100的角度来看的视图(例如,提供夜视、提供高动态范围(HDR)成像、提供更多查看区域、突出显示检测到的对象、提供附加数据(例如到检测到的对象的数字距离)等等),以使处理器102能够比人用人类视觉所能看到的更好地看到位置。
编码的视频帧可以在本地进行处理。在一个示例中,经编码的视频可以由存储器150本地存储以使处理器102能够在内部促进计算机视觉分析(例如,无需首先将视频帧上传到云服务)。处理器102可以被配置为:选择视频帧以被封装为可以通过网络(例如,带宽受限网络)发送的视频流。
在一些实施例中,处理器102可以被配置为执行传感器融合操作。由处理器102执行的传感器融合操作可以被配置为:对来自多个源(例如,捕获设备104、传感器164和HID166)的信息进行分析。通过对来自不同来源的各种数据进行分析,传感器融合操作可能能够做出关于数据的推断,而这可能无法仅从数据源中的一个进行推断。例如,由处理器102实现的传感器融合操作可以对视频数据(例如,人的嘴部运动)以及来自定向音频的语音模式进行分析。不同的来源可用于开发场景模型以支持决策制定。例如,处理器102可以被配置为:将检测到的语音模式的同步与视频帧中的嘴部运动进行比较以确定视频帧中的哪个人正在说话。传感器融合操作还可以提供正在接收的数据当中的时间相关性、空间相关性和/或可靠性。
在一些实施例中,处理器102可以实现卷积神经网络能力。卷积神经网络功能力可以使用深度学习技术来实现计算机视觉。卷积神经网络能力可以被配置为:使用通过多层特征检测的训练过程来实现模式和/或图像识别。计算机视觉和/或卷积神经网络能力可由处理器102在本地执行。在一些实施例中,处理器102可以从外部源接收训练数据和/或特征集信息。例如,外部设备(例如,云服务)可以访问各种数据源以用作摄像头***100可能无法获得的训练数据。然而,使用特征集执行的计算机视觉操作可以使用摄像头***100内的处理器102的计算资源来执行。
处理器102的视频管线可以被配置为:在本地执行去扭曲、裁剪、增强、卷帘式快门校正、稳定、缩小、打包、压缩、转换、混合、同步和/或其他视频操作。处理器102的视频管线可以启用多流支持(例如,并行生成多个比特流,每个比特流包括不同的比特率)。在示例中,处理器102的视频管线可以实现具有320M像素/秒输入像素速率的图像信号处理器(ISP)。处理器102的视频管线的架构可以使得能够实时和/或接近实时地对高分辨率视频和/或高比特率视频数据执行视频操作。处理器102的视频管线可以实现对4K分辨率视频数据的计算机视觉处理、立体视觉处理、对象检测、3D降噪、鱼眼镜头校正(例如,实时360度去扭曲和镜头畸变校正)、过采样和/或高动态范围处理。在一个示例中,视频管线的架构可以实现具有以双实时速度(例如,60fps)的H.264编码的4K超高分辨率、具有以30fps的H.265/HEVC和/或4KAVC编码(例如,支持多流的4KP30AVC和HEVC编码)的4K超高分辨率。视频操作的类型和/或由处理器102对其操作的视频数据的类型可以根据特定实现的设计标准而变化。
摄像头传感器180可以实现高分辨率传感器。使用高分辨率传感器180,处理器102可以将图像传感器180的过采样与经裁剪区域内的数字缩放相结合。过采样和数字缩放中的每个均可以是由处理器102执行的视频操作中的一个。可以实现过采样和数字缩放以在经裁剪区域的总尺寸限制内提供更高分辨率的图像。
在一些实施例中,镜头160可以实现鱼眼镜头。由处理器102实现的视频操作中的一个可以是去扭曲操作。处理器102可以被配置为:对生成的视频帧进行去扭曲。去扭曲可以被配置为:减少和/或去除由鱼眼镜头和/或其他镜头特性引起的严重失真。例如,去扭曲可以减少和/或消除凸出效应以提供直线式图像。
处理器102可以被配置为:从完整视频帧中裁剪(例如,修剪为)感兴趣区域(例如,生成感兴趣区域视频帧)。处理器102可以生成视频帧并选择区域。在示例中,对感兴趣区域进行裁剪可以生成第二图像。经裁剪的图像(例如,感兴趣区域视频帧)可以小于原始视频帧(例如,经裁剪图像可以是所捕获视频的一部分)。
可以基于音频源的位置动态地调整感兴趣区域。例如,检测到的音频源可能正在移动,并且检测到的音频源的位置可能随着视频帧的捕获而移动。处理器102可以更新所选择的感兴趣区域坐标并且动态地更新经裁剪的部分(例如,实现为传感器164中的一个或多个传感器的定向麦克风可以基于捕获的定向音频动态地更新位置)。经裁剪部分可以对应于所选择的感兴趣区域。随着感兴趣区域的变化,经裁剪部分可能会发生变化。例如,感兴趣区域的所选择的坐标可以逐帧改变,并且处理器102可以被配置为在每一帧中对所选择区域进行裁剪。
处理器102可以被配置为:对图像传感器180进行过采样。图像传感器180的过采样可以产生更高分辨率的图像。处理器102可以被配置为:以数字方式放大视频帧的区域。例如,处理器102可以以数字方式放大感兴趣的经裁剪区域。例如,处理器102可以基于定向音频来建立感兴趣区域、对感兴趣区域进行裁剪,并且然后以数字方式放大经裁剪的感兴趣区域视频帧。
由处理器102执行的去扭曲操作可以调整视频数据的视觉内容。由处理器102执行的调整可以使视觉内容看起来自然(例如,看起来就像由观看与捕获设备104的视场相对应的位置的人所看到的那样)。在示例中,去扭曲可以改变视频数据以生成直线式视频帧(例如,校正由镜头160的镜头特性引起的伪影)。可以实现去扭曲操作以校正由镜头160引起的失真。可以生成经调整的视觉内容以实现更准确和/或可靠的对象检测。
各种特征(例如,去扭曲、数字缩放、裁剪等)可以在处理器102中实现为硬件模块。实现硬件模块可以增加处理器102的视频处理速度(例如,比软件实现更快)。硬件实现可以使视频能够被处理同时减少延迟量。所使用的硬件组件可以根据特定实现的设计标准而变化。
处理器102被示为包括多个块(或电路)190a-190n。块190a-190n可以实现由处理器102实现的各种硬件模块。硬件模块190a-190n可以被配置为:提供各种硬件组件来实现视频处理管线。电路190a-190n可以被配置为:接收像素数据VIDEO,从像素数据生成视频帧,对视频帧执行各种操作(例如,去扭曲、卷帘式快门校正、裁剪、放大、图像稳定、3D重构、活体检测等),准备视频帧以用于与外部硬件通信(例如,编码、封装、色彩校正等),对特征集进行解析,实现针对计算机视觉的各种操作(例如,对象检测、分割、分类等)等。硬件模块190a-190n可以被配置为:实现各种安全特征(例如,安全引导、I/O虚拟化等)。处理器102的各种实现可能不一定利用硬件模块190a-190n的所有特征。硬件模块190a-190n的特征和/或功能可以根据特定实现的设计标准而变化。硬件模块190a-190n的细节可以结合于2020年4月16日递交的美国专利申请No.16/831,549、于2019年2月28日递交的美国专利申请No.16/288,922、于2017年5月12日递交的美国专利申请15/593,493(现为美国专利No.10,437,600)、于2020年5月14日递交的美国专利申请No.15/931,942、于2020年8月12日递交的美国专利申请No.16/991,344、于2021年9月20日递交的美国专利申请No.17/479,034来描述,上述各申请的适当部分通过引用的方式整体并入本文。
硬件模块190a-190n可以实现为专用硬件模块。与软件实现相比,使用专用硬件模块190a-190n实现处理器102的各种功能可以使处理器102能够被高度优化和/或定制以限制功耗、减少热量产生和/或提高处理速度。硬件模块190a-190n可以是可定制的和/或可编程的以实现多种类型的操作。实现专用硬件模块190a-190n可以使用于执行每种类型计算的硬件能够针对速度和/或效率进行优化。例如,硬件模块190a-190n可以实现在计算机视觉操作中经常使用的多个相对简单的操作,这些操作一起可以使得计算机视觉操作能够被实时执行。视频管线可以被配置为:识别对象。可以通过对数字和/或符号信息进行解释以确定视觉数据代表特定类型的对象和/或特征来识别对象。例如,视频数据的像素数量和/或像素颜色可用于将视频数据的一些部分识别为对象。硬件模块190a-190n可使计算密集型操作(例如,计算机视觉操作、视频编码、视频转码、3D重构、深度图生成、活体检测等)能够由摄像头***100在本地执行。
硬件模块190a-190n中的一个(例如,190a)可以实现调度器电路。调度器电路190a可以被配置为:存储有向无环图(DAG)。在示例中,调度器电路190a可以被配置为:响应于接收到(例如,加载)的特征集信息来生成和存储有向无环图。有向无环图可以定义要执行以用于从视频帧中提取数据的视频操作。例如,有向无环图可以定义各种数学加权(例如,神经网络权重和/或偏置)以便在执行计算机视觉操作时应用以将各种像素组分类为特定对象。
调度器电路190a可以被配置为:对无环图进行解析以生成各种操作符。操作符可以由其他硬件模块190a-190n中的一个或多个硬件模块中的调度器电路190a调度。例如,硬件模块190a-190n中的一个或多个硬件模块可以实现被配置为执行特定任务的硬件引擎(例如,被设计为执行重复用于执行计算机视觉操作的特定数学操作的硬件引擎)。调度器电路190a可以基于操作符何时准备好被硬件引擎190a-190n处理来调度操作符。
调度器电路190a可以基于硬件模块190a-190n执行工作的可用性将任务时间复用到硬件模块190a-190n。调度器电路190a可将有向无环图解析为一个或多个数据流。每个数据流可以包括一个或多个操作符。一旦有向无环图被解析,调度器电路190a就可以将数据流/操作符分配给硬件引擎190a-190n,并发送相关操作符配置信息以启动操作符。
每个有向无环图二进制表示可以是有向无环图的有序遍历,其中描述符和操作符基于数据相关***织。描述符通常提供寄存器,该寄存器将数据缓冲器链接到相关操作符中的特定操作数。在各种实施例中,操作符可能不会出现在有向无环图表示中,直到针对操作数声明所有相关描述符之后。
硬件模块190a-190n(例如,190b)中的一个硬件模块可以实现人工神经网络(ANN)模块。人工神经网络模块可以实现为全连接神经网络或卷积神经网络(CNN)。在示例中,全连接网络是“结构不可知”的,因为不需要对输入做出任何特殊假设。全连接神经网络包括一系列全连接层,这些全连接层将一层中的每个神经元连接到另一层中的每个神经元。在全连接层中,对于n个输入和m个输出,存在n*m个权重。每个输出节点也存在一个偏差值,导致总共有(n+1)*m个参数。在已经训练好的神经网络中,在训练过程期间已经确定了(n+1)*m个参数。已经训练好的神经网络通常包括架构规范和训练过程期间确定的一组参数(权重和偏差)。在另一示例中,CNN架构可以明确假设输入是图像,以便能够将特定属性编码到模型架构中。CNN架构可以包括层的序列,每层通过可微函数将一个激活量转换为另一个激活量。
在所示示例中,人工神经网络190b可以实现卷积神经网络(CNN)模块。CNN模块190b可以被配置为:对视频帧执行计算机视觉操作。CNN模块190b可以被配置为:通过多层特征检测来实现对对象的识别。CNN模块190b可以被配置为:基于执行的特征检测来计算描述符。描述符可以使处理器102能够确定视频帧的像素对应于特定对象(例如,车辆的特定品牌/型号/年份、将人识别为特定个体、检测动物类型、检测面部的特性等)的可能性。
CNN模块190b可以被配置为:实现卷积神经网络能力。CNN模块190b可以被配置为:使用深度学习技术来实现计算机视觉。CNN模块190b可以被配置为:使用通过多层特征检测的训练过程来实现模式和/或图像识别。CNN模块190b可以被配置为:针对机器学习模型进行推断。
CNN模块190b可以被配置为:仅在硬件中执行特征提取和/或匹配。特征点通常代表视频帧中感兴趣的区域(例如,角、边等)。通过在时间上跟踪特征点,可以生成捕获平台的自我运动的估计或场景中观察对象的运动模型。为了跟踪特征点,匹配操作通常由硬件合并在CNN模块190b中,以找到参考视频帧和目标视频帧中的特征点之间最可能的对应关系。在匹配参考特征点和目标特征点对的过程中,每个特征点可以由描述符(例如,图像补丁、SIFT、BRIEF、ORB、FREAK等)表示。使用专用硬件电路实现CNN模块190b可以实现实时计算描述符匹配距离。
CNN模块190b可以被配置为执行面部检测、面部识别和/或活体判断。例如,面部检测、面部识别和/或活体判断可以基于由CNN模块190b实现的经训练的神经网络来执行。在一些实施例中,CNN模块190b可以被配置为:从结构光图案生成深度图。CNN模块190b可以被配置为:执行各种检测和/或识别操作和/或执行3D识别操作。
CNN模块190b可以是被配置为执行视频帧的特征检测的专用硬件模块。由CNN模块190b检测到的特征可用于计算描述符。CNN模块190b可以响应于描述符来确定视频帧中的像素属于特定对象和/或一些对象的可能性。例如,使用描述符,CNN模块190b可以确定像素与特定对象(例如,人、一件家具、宠物、车辆等)和/或对象的特性(例如,眼睛的形状、面部特征之间的距离、车辆引擎盖、身体部位、车辆牌照、面部、人穿的衣服等)相对应的概率。将CNN模块190b实现为处理器102的专用硬件模块可以使装置100能够在本地(例如,片上)执行计算机视觉操作,而无需依赖远程设备的处理能力(例如,将数据传送到云计算服务)。
由CNN模块190b执行的计算机视觉操作可以被配置为:对视频帧执行特征检测以生成描述符。CNN模块190b可以执行对象检测以确定视频帧中的具有匹配特定对象的高可能性的区域。在一个示例中,要进行匹配的对象的类型(例如,参考对象)可以使用开放操作数栈来定制(使处理器102的可编程性能够实现由有向无环图定义的各种人工神经网络,每个有向无环图提供用于执行各种类型的对象检测的指令)。CNN模块190b可以被配置为:对具有匹配特定对象的高可能性的区域执行局部掩蔽以检测对象。
在一些实施例中,CNN模块190b可以确定检测到的对象的各种特征(例如,特性)的位置(例如,3D坐标和/或位置坐标)。在一个示例中,可以使用3D坐标来确定人的手臂、腿、胸部和/或眼睛的位置。可以存储身体部位在3D空间中的垂直位置的第一轴上的一个位置坐标以及身体部位在3D空间中的水平位置的第二轴上的另一个坐标。在一些实施例中,距镜头160的距离可以表示3D空间中身体部位的深度位置的一个坐标(例如,第三轴上的位置坐标)。使用各种身体部位在3D空间中的位置,处理器102可以确定检测到的人的身***置和/或身体特性。
可以对CNN模块190b进行预训练(例如,被配置为基于被接收以训练CNN模块190b的训练数据来执行计算机视觉以检测对象)。例如,训练数据的结果(例如,机器学习模型)可以被预编程和/或加载到处理器102中。CNN模块190b可以对机器学习模型进行推断(例如,以执行对象检测)。训练可以包括确定神经网络模型的每一层的权重值。例如,可以针对特征提取(例如卷积层)和/或针对分类(例如全连接层)的每个层确定权重值。由CNN模块190b所学习到的权重值可以根据特定实现的设计标准而变化。
CNN模块190b可以通过执行卷积操作来实现特征提取和/或对象检测。卷积操作可以是硬件加速的,以用于可以在消耗低功率的同时执行的快速(例如,实时)计算。在一些实施例中,由CNN模块190b执行的卷积操作可被用于执行计算机视觉操作。在一些实施例中,由CNN模块190b执行的卷积操作可被用于由处理器102执行的可能涉及计算卷积操作的任何功能(例如,3D重构)。
卷积操作可以包括:在执行计算(例如,矩阵操作)的同时沿层滑动特征检测窗口。特征检测窗口可以对像素应用滤波器和/或提取与每一层相关联的特征。特征检测窗口可以被应用于一个像素和多个周围像素。在示例中,这些层可以被表示为:表示这些层中的一个层的像素和/或特征的值的矩阵,并且由特征检测窗口应用的滤波器可以被表示为矩阵。卷积操作可以在由特征检测窗口覆盖的当前层的区域之间应用矩阵乘法。卷积操作可以沿层的区域滑动特征检测窗口以生成表示每个区域的结果。区域的大小、应用滤波器的操作类型和/或层数可以根据特定实现的设计标准而变化。
使用卷积操作,CNN模块190b可以在每个提取步骤中计算输入图像的像素的多个特征。例如,每一层都可以从位于前一层(例如,局部接收域)的小邻域(例如,区域)中的一组特征接收输入。卷积操作可以提取基本的视觉特征(例如,定向边缘、端点、角等),然后由更高层对这些基本的视觉特征进行组合。由于特征提取窗口对像素及其附近的像素(或子像素)进行操作,因此操作的结果可能具有位置不变性。这些层可以包括卷积层、池化层、非线性层和/或全连接层。在示例中,卷积操作可以学习从原始像素(例如,第一层)检测边缘,然后使用来自前一层的特征(例如,检测到的边缘)来检测下一层中的形状,并且然后使用这些形状来检测更高层中的更高级别特征(例如,面部特征、宠物、车辆、车辆部件、家具等),并且最后一层可能是使用更高级别特征的分类器。
CNN模块190b可以执行针对特征提取和匹配的数据流,包括两阶段检测,变形操作符,操纵分量列表的分量操作符(例如,分量可以是共享公共属性的向量的区域并且可以与边界框组合在一起),矩阵求逆操作符,点积操作符,卷积操作符,条件操作符(例如,复用和解复用),重映射操作符,最小-最大-约简操作符,池化操作符,非最小、非最大抑制操作符,基于扫描窗口的非最大抑制操作符,聚集操作符,分散操作符,统计操作符,分类操作符,积分图像操作符,比较操作符,索引操作符,模式匹配操作符,特征提取操作符,特征检测操作符,两阶段对象检测操作符,得分生成操作符,块减少操作符,以及上采样操作符。由CNN模块190b执行的用于从训练数据提取特征的操作类型可以根据特定实现的设计标准而变化。
硬件模块190a-190n中的每一个可以实现处理资源(或硬件资源或硬件引擎)。硬件引擎190a-190n可以用于执行特定的处理任务。在一些配置中,硬件引擎190a-190n可以并行并且彼此独立地操作。在其他配置中,硬件引擎190a-190n可以在彼此之间共同操作以执行分配的任务。硬件引擎190a-190n中的一个或多个硬件引擎可以是同构处理资源(所有电路190a-190n可以具有相同能力)或异构处理资源(两个或更多个电路190a-190n可以具有不同能力)。
参考图4,示出了说明实现被配置为执行3D重构的卷积神经网络的摄像头***的处理电路的图。在示例中,摄像头***100的处理电路可以被配置用于各种应用,这些应用包括但不限于:自主和半自主车辆(例如,汽车、卡车、摩托车、农业机械、无人机、飞机等)、制造、和/或安全和监视***。与通用计算机相比,摄像头***100的处理电路通常包括硬件电路,该硬件电路被优化以在最小面积并利用最小功耗来提供高性能图像处理和计算机视觉管线。在示例中,用于执行针对计算机(或机器)视觉的图像处理、特征检测/提取、3D重构、活体检测、深度图生成和/或对象检测/分类的各种操作可以使用被设计成降低计算复杂度和有效使用资源的硬件模块来实现。
在示例实施例中,处理电路100可以包括处理器102、存储器150、通用处理器158和/或存储器总线200。通用处理器158可以实现第一处理器。处理器102可以实现第二处理器。在示例中,电路102可以实现计算机视觉处理器。在示例中,处理器102可以是智能视觉处理器。存储器150可以实现外部存储器(例如,电路158和102外部的存储器)。在示例中,电路150可以被实现为动态随机存取存储器(DRAM)电路。摄像头***100的处理电路可以包括其他组件(未示出)。摄像头***100的处理电路的组件的数量、类型和/或布置可以根据特定实现的设计标准而变化。
通用处理器158可以操作用于与电路102和电路150交互以执行各种处理任务。在示例中,处理器158可以被配置为电路102的控制器。处理器158可以被配置为执行计算机可读指令。在一个示例中,计算机可读指令可由电路150存储。在一些实施例中,计算机可读指令可以包括控制器操作。处理器158可以被配置为与电路102通信和/或访问由电路102的组件产生的结果。在示例中,处理器158可以被配置为:利用电路102来执行与一个或多个神经网络模型相关联的操作。
在示例中,处理器102通常包括调度器电路190a、块(或电路)202、一个或多个块(或电路)204a-204n、块(或电路)206以及路径208。块202可以实现有向无环图(DAG)存储器。DAG存储器202可以包括CNN模块190b和/或权重/偏置值210。块204a-204n可以实现硬件资源(或引擎)。块206可以实现共享存储器电路。在示例实施例中,电路204a-204n中的一个或多个电路可以包括块(或电路)212a-212n。在所示示例中,电路212a和电路212b被实现为相应硬件引擎204a-204b中的代表性示例。电路202、电路204a-204n和/或电路206中的一个或多个电路可以是与图3相关联地示出的硬件模块190a-190n的示例实现。
在示例中,处理器158可以被配置为:利用一个或多个经预训练的人工神经网络模型(ANN)对电路102进行编程,人工神经网络模型包括具有根据本发明的实施例的多个输出帧的卷积神经网络(CNN)190b以及由CNN模块190b使用的权重/内核(WGTS)210。在各种实施例中,CNN模块190b可以被配置(训练)用于在边缘设备中操作。在示例中,摄像头***100的处理电路可以耦合至被配置为生成数据输入的传感器(例如,视频摄像头等)。摄像头***100的处理电路可以被配置为:基于通过使用权重/内核(WGTS)210执行经预训练的CNN模块190b做出的一个或多个推断,响应于来自传感器的数据输入生成一个或多个输出。由处理器158执行的操作可以根据特定实现的设计标准而变化。
在各种实施例中,电路150可以实现动态随机存取存储器(DRAM)电路。电路150通常可操作用于存储输入数据元素和各种形式的输出数据元素的多维阵列。电路150可以与处理器158和处理器102交换输入数据元素和输出数据元素。
处理器102可以实现计算机视觉处理器电路。在示例中,处理器102可以被配置为:实现用于计算机视觉的各种功能。处理器102通常可操作用于执行由处理器158布置的特定处理任务。在各种实施例中,处理器102的全部或部分可以单独以硬件实现。处理器102可以直接执行涉及CNN模块190b的执行并且由指定处理(例如,计算机视觉、3D重构、活体检测等)任务的软件(例如,有向无环图等)生成的数据流。在一些实施例中,处理器102可以是由摄像头***100的处理电路实现并被配置为一起操作的众多计算机视觉处理器的代表性示例。
在示例中,电路212a可以实现卷积操作。在另一个示例中,电路212b可以被配置为提供点积操作。卷积和点积操作可用于执行计算机(或机器)视觉任务(例如,作为对象检测过程的一部分等)。在又一示例中,电路204c-204n中的一个或多个电路可以包括用于提供多维的卷积计算的块(或电路)212c-212n(未示出)。在又一示例中,电路204a-204n中的一个或多个电路可以被配置为执行3D重构任务。
在示例中,电路102可以被配置为从处理器158接收有向无环图(DAG)。从处理器158接收的DAG可以存储在DAG存储器202中。电路102可以被配置为:使用电路190a、204a-204n和206执行针对CNN模块190b的DAG。
可以在电路190a和相应的电路204a-204n之间交换多个信号(例如,OP_A-OP_N)。信号OP_A-OP_N中的每个信号可以传达执行操作信息和/或让步操作信息。多个信号(例如,MEM_A-MEM_N)可以在各个电路204a-204n和电路206之间交换。信号MEM_A-MEM_N可以携带数据。信号(例如,DRAM)可以在电路150和电路206之间交换。信号DRAM可以在电路150和190a之间(例如,在传输路径208上)传输数据。
调度器电路190a通常可操作用于在电路204a-204n当中调度任务以执行由处理器158定义的各种计算机视觉相关任务。单独的任务可以由调度器电路190a分配给电路204a-204n。调度器电路190a可以响应于对由处理器158提供的有向无环图(DAG)进行解析来分配各个任务。调度器电路190a可以基于电路204a-204n用于执行工作的可用性将任务时间复用到电路204a-204n。
每个电路204a-204n可以实现处理资源(或硬件引擎)。硬件引擎204a-204n通常可操作用于执行特定处理任务。硬件引擎204a-204n可以被实现为包括专用硬件电路,该硬件电路在执行特定处理任务的同时针对高性能和低功耗进行优化。在一些配置中,硬件引擎204a-204n可以并行并且彼此独立地操作。在其他配置中,硬件引擎204a-204n可以在彼此之间共同操作以执行分配的任务。
硬件引擎204a-204n可以是同构处理资源(例如,所有电路204a-204n可以具有相同的能力)或异构处理资源(例如,两个或更多个电路204a-204n可以具有不同的能力)。硬件引擎204a-204n通常被配置为执行操作符,这些操作符可以包括但不限于重采样操作符,变形操作符,操纵分量列表的分量操作符(例如,分量可以是共享公共属性的向量区域并且可以与边界框被分组在一起),矩阵求逆操作符,点积操作符,卷积操作符,条件操作符(例如,复用和解复用),重映射操作符,最小-最大-约简操作符,池化操作符,非最小、非最大抑制操作符,聚集操作符,分散操作符,统计操作符,分类操作符,积分图像操作符,上采样操作符,以及两个下采样操作符的幂,等等。
在示例中,硬件引擎204a-204n可以包括存储在各种存储器缓冲器中的矩阵。存储在存储器缓冲器中的矩阵可以实现对卷积操作符进行初始化。卷积操作符可以被配置为有效地执行对卷积函数重复执行的计算。在示例中,实现卷积操作符的硬件引擎204a-204n可以包括多个数学电路,这些数学电路被配置为处理多比特输入值并且并行地操作。卷积操作符可以通过使用一维或更高维核来计算卷积(也被称为互相关)来为计算机视觉和/或3D重构提供有效且通用的解决方案。卷积可用于计算机视觉操作,诸如对象检测、对象识别、边缘增强、图像平滑等。由本发明实现的技术和/或架构可操作用于计算输入阵列与核的卷积。卷积操作符的细节可以关联于2017年1月11日递交的美国专利No.10,310,768来进行描述,其适当部分通过引用并入本文。
在各个实施例中,硬件引擎204a-204n可以单独实现为硬件电路。在一些实施例中,硬件引擎204a-204n可以被实现为通用引擎,其可以通过电路定制和/或软件/固件被配置为作为专用机器(或引擎)操作。在一些实施例中,硬件引擎204a-204n可以替代地被实现为在处理器158和/或一个或多个处理器102上执行的程序代码的一个或多个实例或线程,这些处理器包括但不限于向量处理器、中央处理单元(CPU)、数字信号处理器(DSP)或图形处理单元(GPU)。在一些实施例中,可以由调度器190a为特定进程和/或线程选择硬件引擎204a-204n中的一个或多个。调度器190a可以被配置为:响应于对存储在DAG存储器202中的有向无环图进行解析,将硬件引擎204a-204n分配给特定任务。
电路206可以实现共享存储器电路。共享存储器206可以被配置为:响应于输入请求来存储数据和/或响应于输出请求(例如,来自处理器158、DRAM150、调度器电路190a和/或硬件引擎204a-204n的请求)来呈现数据。在示例中,共享存储器电路206可以实现用于计算机视觉处理器102的片上存储器。共享存储器206通常可操作用于存储由硬件引擎204a-204n生成和/或利用的输入数据元素和输出数据元素的多维阵列(或向量)的全部或部分。输入数据元素可以经由存储器总线200从DRAM电路150传输到共享存储器206。输出数据元素可以经由存储器总线200从共享存储器206发送到DRAM电路150。
路径208可以实现处理器102内部的传输路径。传输路径208通常可操作用于将数据从调度器电路190a移动到共享存储器206。传输路径208也可以可操作用于将数据从共享存储器206移动到调度器电路190a。
处理器158被示为与计算机视觉处理器102通信。处理器158可以被配置为计算机视觉处理器102的控制器。在一些实施例中,处理器158可以被配置为:向调度器190a传输指令。例如,处理器158可以经由DAG存储器202向调度器190a提供一个或多个有向无环图。调度器190a可以响应于对有向无环图进行解析来初始化和/或配置硬件引擎204a-204n。在一些实施例中,处理器158可以从调度器190a接收状态信息。例如,调度器190a可以向处理器158提供来自硬件引擎204a-204n的输出的状态信息和/或准备状态,以使处理器158能够确定要执行的一个或多个下一指令和/或要做出的决定。在一些实施例中,处理器158可以被配置为:与共享存储器206通信(例如,直接或通过调度器190a,调度器190a经由路径208从共享存储器206接收数据)。处理器158可以被配置为:从共享存储器206取回信息以做出决定。由处理器158响应于来自计算机视觉处理器102的信息而执行的指令可以根据特定实现的设计标准而变化。
参考图5,示出了说明智能自动曝光控制***的框图。示出了自动曝光***250。自动曝光***250可以包括处理器102和捕获设备104。镜头160被示为接收光输入LIN。通常,智能自动曝光控制逻辑可由处理器102实现。
处理器102可以包括块(或电路)260、块(或电路)262、块(或电路)264和/或块(或电路)266。电路260可以实现自动曝光模块(例如,AE模块)。电路262可以实现传感器控制逻辑。电路264可以实现IR通道控制逻辑。电路266可以实现RGB通道控制逻辑。处理器102可以包括其他组件(未示出)。用于执行智能自动曝光控制的处理器102的组件的数量、类型和/或布置可以根据特定实现的设计标准而变化。
AE模块260可以将信号(例如,SENCTL)传送到传感器控制逻辑262。AE模块260可以将信号(例如,IRSLCTL)传送到IR通道控制逻辑264。AE模块260可以将信号(例如,RGBCTL)传送到RGB通道控制逻辑266。其他通信信号可以在AE模块260、传感器控制逻辑262、IR通道控制逻辑264和/或RGB通道控制逻辑266(未示出)之间传送。在处理器102的各种组件之间传送的数据可以根据特定实现的设计标准而变化。
AE模块260可以被配置为:使RGB-IR传感器180能够在各种光照条件下具有一致的性能。AE模块260可以取决于环境中的可见光和/或IR光为传感器控制逻辑262、IR通道控制逻辑264和/或RGB通道控制逻辑266提供调整。由AE模块260提供的调整可以帮助克服RGB-IR传感器180的物理限制。
AE模块260可以被配置为:对用于RGB-IR传感器180、IR图像通道和/或RGB图像通道的传感器设置的单独的控制参数进行提供和/或调整。AE模块260可以被配置为:确定信号SENCTL的参数并提供信号SENCTL以使传感器控制逻辑262能够对用于RGB-IR传感器180的控制参数进行调整。AE模块260可以被配置为:确定信号IRSLCTL的参数并提供信号IRSLCTL以使IR通道控制逻辑264能够对IR图像通道的参数进行调整。AE模块260可以被配置为:确定信号RGBCTL的参数并提供信号RGBCTL以使RGB通道控制逻辑266能够对RGB图像通道的参数进行调整。由AE模块260确定的单独调整可以使装置100能够动态地对环境条件作出反应,以确保生成的图像质量一致。例如,AE模块260可以确定参数和/或操作模式,用于为各种控制模块(例如,传感器控制逻辑262、IR通道控制逻辑264和RGB通道控制逻辑266)选择参数以启用调谐,该调谐可以提供在不同可见光和IR光条件下生成的图像的相似亮度。
AE模块260可以被配置为:补偿环境中变化量的IR干扰。AE模块260可以被配置为:在两种或更多种操作模式之间进行选择,以便克服IR对干扰的敏感性。AE模块260可以在数字增益优先操作模式和快门优先操作模式之间进行选择。AE模块260还可以接收可影响各种操作模式的用户输入(例如,进取值)。
传感器控制逻辑262可以被配置为:接收信号SENCTL并生成信号(例如,SENPRM)。可以将信号SENPRM传送到捕获设备104。传感器控制逻辑262可以被配置为:对捕获设备104的操作的物理特性进行调整。在示例中,传感器控制逻辑262可以被配置为:控制镜头160的DC光圈、RGB-IR传感器180的曝光时间、镜头160的快门时间等。传感器控制逻辑262可以被配置为:调整至少三个因素:光圈(或孔径)、曝光时间和/或模拟增益控制(AGC)。AGC可用于放大RAW输入数据的电信号。
由于RGB-IR传感器180对光输入LIN的响应可以影响作为装置100的输入接收的物理特性,因此由传感器控制逻辑262进行的调整可以影响由RGB图像通道和IR图像通道接收的输入。在示例中,更长的曝光时间可以使结构光图案SLP的曝光区域更大,这可以提供从IR图像通道中的图像生成的深度图的更大区域。但是,较长的曝光时间也可能会使RGB图像通道中的图像过度曝光。例如,传感器控制逻辑262可以被处理器102实现的每个图像通道共享。传感器控制逻辑262可以是可由AE模块260控制的调整的一个源。
IR通道控制逻辑264可以被配置为:接收信号IRSLCTL。IR通道控制逻辑264可以被配置为:生成如下信号(未示出),该信号可以被配置为对具有结构光的IR图像通道中的图像的特性进行调整。在示例中,由IR通道控制逻辑264调整的特性可以是后处理调整,例如数字增益和色调曲线调整。信号IRSLCTL可以被配置为:动态地和单独地控制IR图像通道(具有结构光)中的像素数据。
IR通道控制逻辑264可以被配置为:对已经捕获到结构光图案SLP的所生成的IR图像提供调整。例如,当定时信号SL_TRIG开启(toggle)结构光图案SLP时,所捕获的IR图像可以包括由结构光图案SLP投射的补光点图案。可以使用IR通道控制逻辑264来调整具有结构光的IR图像通道。例如,由于IR图像通道可能对IR干扰敏感,因此为了提供一致的亮度,IR通道控制逻辑264可以为包括结构光图案SLP的IR图像提供单独调整。
RGB通道控制逻辑266可以被配置为:接收信号RGBCTL。RGB通道控制逻辑266可以被配置为:生成如下信号(未示出),该信号可以被配置为对不具有结构光的IR图像通道和RGB图像通道中的图像的特性进行调整。在示例中,由RGB通道控制逻辑266调整的特性可以是后处理调整,例如数字增益和色调曲线调整。信号RGBCTL可以被配置为:动态地和单独地控制IR图像通道(不具有结构光)和RGB图像通道中的像素数据。
RGB通道控制逻辑266可以被配置为:提供对RGB图像的调整。RGB通道控制逻辑266可以被配置为:提供对不具有结构光图案SLP的所生成的IR图像的调整。例如,当定时信号SL_TRIG关闭结构光图案SLP时,所捕获的IR图像可以不包括由结构光图案SLP投射的点图案。可以使用RGB通道控制逻辑266来调整不具有结构光的IR图像通道。例如,由于不具有结构光图案的IR图像通道可以不被IR干扰影响,因此为了提供一致的亮度,RGB通道控制逻辑266可以提供对不包括结构光图案SLP的IR图像和RGB图像的单独调整。
传感器控制逻辑262、IR通道控制逻辑264和RGB通道控制逻辑266可以使每个图像通道能够被调整。例如,IR通道(具有结构光)可能对IR干扰非常敏感。来自外部光源(例如阳光)的少量红外光可能会导致过度曝光的IR图像。在另一个示例中,如果降低快门值以防止IR干扰,则当快门值较小时,RGB图像通道可能曝光不足。即使在不同的可见光和IR光条件下,由装置100实现的单独通道控制也可以使RGB图像和IR图像能够被调谐到相似的亮度。
AE模块260可以包括块(或电路)270、块(或电路)272和/或块(或电路)274。电路270可以实现IR统计。电路272可以实现RGB统计。电路274可以实现IR干扰模块。AE模块260可以包括其他组件(未示出)。AE模块260的组件的数量、类型和/或布置可以根据特定实现的设计标准而变化。
IR统计270可以被配置为:提取关于IR图像的信息。在示例中,AE模块260可以被配置为:接收IR图像并分析关于IR图像的各种参数。IR统计270可用于确定各种参数以针对IR通道控制逻辑264进行调整。AE模块260可以被配置为:响应于由IR统计270提取的数据来生成信号IRSLCTL。
RGB统计272可以被配置为:提取关于RGB图像的信息。在示例中,AE模块260可以被配置为:接收RGB图像(例如,可见光图像)并分析关于RGB图像的各种参数。RGB统计272可用于确定各种参数以针对RGB通道控制逻辑266进行调整。AE模块260可以被配置为:响应于由RGB统计272提取的数据来生成信号RGBCTL。
IR干扰模块274可以被配置为:检测环境中的IR干扰量。IR干扰模块274可以被配置为:基于检测到的IR干扰量来确定AE模块260应该在哪种操作模式下操作。在示例中,IR干扰模块274可以被配置为:在快门优先操作模式和数字增益优先操作模式之间改变AE模块260。由IR干扰模块274选择的操作模式可以影响信号SENCTL、信号IRSLCTL和/或信号RGBCTL中呈现的参数。可以关联于图7来描述IR干扰模块274的细节。
捕获设备104可以被配置为:将信号VIDEO呈现给处理器102。信号VIDEO可以包括由RGB-IR传感器180捕获的像素数据。在示例中,信号VIDEO可以包括来自RGB-IR传感器180的RAW输入数据的电信号。处理器102可以被配置为:将像素数据排列为视频帧。视频帧可以由AE模块260进行分析。
处理器102可以被配置为:将信号SENPRM呈现给捕获设备104。信号SENPRM可以由传感器控制逻辑262生成。捕获设备104可以被配置为:响应于信号SENPRM来调整镜头160和/或RGB-IR传感器180的物理操作。
捕获设备104被示为包括块(或电路)280。电路280可以实现致动器和/或控制逻辑。致动器和/或控制逻辑280可以被配置为:对捕获设备104的物理操作进行调整。例如,致动器/控制逻辑280可以响应于信号SENPRM来执行调整。可以响应于信号SENPRM来调整捕获设备104的其他组件(例如,RGB-IR传感器180、处理器/逻辑182和/或帧缓冲器184)的操作和/或功能。在示例中,致动器/控制逻辑280可以被配置为:调整捕获设备104的DC光圈、AGC、焦点、变焦、倾斜和/或平移。例如,可以响应于信号SENPRM来调整到达RGB-IR传感器180的光输入LIN的量和/或光输入LIN被施加到RGB-IR传感器180的时间长度。
RGB-IR传感器180的物理约束可以是:同一RGB-IR传感器180同时提供RGB图像和IR图像的像素数据。由于RGB图像和IR图像的像素数据是同时捕获的,因此由传感器控制逻辑262生成的传感器控制参数可以影响来自RGB图像的像素数据和来自IR图像的像素数据二者。单独调谐传感器控制参数可能无法克服RGB-IR传感器180的物理限制以在各种光照条件下平衡RGB图像通道和IR图像通道的亮度。AE模块260可以被配置为:单独调谐IR通道控制逻辑264和/或RGB通道控制逻辑266,以便提供可以克服RGB-IR传感器180的物理约束的附加调谐。例如,传感器控制逻辑262可以提供一层调整(例如,以影响RGB-IR传感器180的光输入LIN),并且IR通道控制逻辑264和RGB通道控制逻辑266可以提供附加层调整(例如,后处理,其可以单独调谐RGB通道、IR通道(无结构光)和IR通道(有结构光)中的视频帧)。
参考图6,图6示出了说明被配置为提取具有结构光图案的IR视频帧、不具有结构光图案的IR视频帧和RGB视频帧的处理器的图。显示了示例RGB/IR分派300。示例RGB/IR分派300可以说明从处理器102生成的视频帧中提取RGB视频帧和IR视频帧。示例RGB/IR分派300可以包括处理器102、块(或电路)302、块(或电路)304、块(或电路)306、块(或电路)308和/或块(或电路)310。电路302可以实现IR提取模块。电路304可以实现RGB提取模块。块306可以表示IR结构光图像通道(例如,IRSL图像通道)。块308可以表示不具有结构光的IR图像通道(例如,IR图像通道)。块310可以表示RGB图像通道。示例RGB/IR分派300可以包括其他组件(未示出)。RGB/IR分派300的组件的数量、类型和/或布置可以根据特定实现的设计标准而变化。
处理器102可以包括视频帧320a-320n。视频帧320a-320n可以包括从由捕获设备104呈现的信号VIDEO接收的像素数据。处理器102可以被配置为:生成从像素数据排列的视频帧320a-320n。虽然视频帧320a-320n被示为在处理器102内,但IR提取模块302、RGB提取模块304、IRSL图像通道306、IR图像通道308和/或RGB图像通道310中的每一个都可以在处理器102和/或CNN模块190b之内实现。电路302-310可以被实现为离散的硬件模块和/或硬件引擎204a-204n的组合,其被组合以执行特定任务。电路302-310可以是说明由处理器102和/或CNN模块190b实现的各种技术的概念块。
处理器102可以被配置为接收信号VIDEO。信号VIDEO可以包括由RGB-IR图像传感器180生成的RGB-IR像素数据。像素数据可以包括捕获到的设备104附近的环境和/或对象的信息以及投射到环境和/或对象上的结构光图案SLP。信号VIDEO中的像素数据是否包括结构光图案SLP可取决于结构光图案SLP当前是否有效。结构光图案SLP可以响应于定时信号SL_TRIG来在开启或关闭之间切换。处理器102可以生成信号(例如,FRAMES)。信号FRAMES可以包括视频帧320a-320n。处理器102可以被配置为:对布置为可以包括结构光图案SLP的视频帧320a-320n的像素数据进行处理。在一些实施例中,视频帧320a-320n可以呈现给CNN模块190b(例如,由处理器102使用CNN模块190b在内部进行处理)。处理器102能够使用视频帧320a-320n来执行其他操作(例如,生成编码视频帧用于显示,将视频帧320a-320n打包以使用通信模块154进行传送等)。
在所示示例中,可以通过结构光投射器106在输入帧的三分之一中生成结构光图案SLP来生成视频帧320a-320n。例如,定时信号SL_TRIG可以被配置为:针对视频帧320a-320n中的一个开启结构光图案SLP,然后针对视频帧320a-320n中的接下来的两个视频帧关闭结构光图案SLP,再然后针对视频帧320a-320n中的接下来的一个视频帧开启结构光图案SLP,等等。可以结合于2020年4月28日递交的美国申请No.16/860,648来描述关于使用定时信号SL_TRIG生成结构光图案SLP和/或用于生成结构光图案SLP的定时的细节,上述申请的适当部分通过引用并入本文。在视频帧320a和视频帧320d(例如,每三个视频帧)中示出了点322作为结构光图案SLP的说明性示例。尽管出于说明性目的以相同的图案示出了点322,但是点图案对于捕获到结构光图案SLP的视频帧320a-320n中的每个视频帧可以是不同的(例如,取决于图像被捕获到时结构光图案SLP被投射到的对象)。通过将结构光图案SLP定时投影到三分之一的输入帧中,可以在每三个视频帧320a-320n中捕获点图案322。虽然示出了三分之一结构光图案投影定时,但是装置100可以用其他规则来实现以从视频帧320a-320n分派和/或提取IR图像和RGB图像。
包括视频帧320a-320n的信号FRAMES可以被呈现给IR提取模块302和RGB提取模块304。IR提取模块302和RGB提取模块304可以被配置为:从视频帧320a-320n中提取适当的内容以用于由处理器102实现的后续模块。在所示的示例中,IR提取模块302和RGB提取模块304可以从视频帧320a-320n中提取适当的内容以用于IRSL图像通道306、IR图像通道308和RGB图像通道310。
IR提取模块302可以接收视频帧320a-320n。IR提取模块302可以被配置为:从RGB-IR视频帧320a-320n提取IR数据(或IR视频帧)。IR提取模块302可以被配置为:生成信号(例如,IRSL)和信号(例如,IR)。信号IRSL可以包括在结构光图案SLP被开启时从视频帧320a-320n提取的IR通道数据。信号IR可以包括在结构光图案SLP被关闭时从视频帧320a-320n提取的IR通道数据。信号IRSL可以包括结构光图案SLP。信号IR可以不包括结构光图案SLP。信号IRSL和信号IR二者都可以包括全分辨率IR图像。信号IRSL可以被呈现给IRSL图像通道306。信号IRSL可以传送IRSL图像通道306(例如,具有有效结构光图案SLP的视频帧320a-320n的IR子集)。信号IR可以呈现给IR图像通道308。信号IR可以传送IR图像通道308(例如,具有无效结构光图案SLP的视频帧320a-320n的IR子集)。
RGB提取模块304可以接收视频帧320a-320n。RGB提取模块304可以被配置为:从RGB-IR视频帧320a-320n提取RGB数据(或RGB视频帧)。RGB提取模块304可以被配置为生成信号(例如,RGB)。信号RGB可包括从视频帧320a-320n提取的RGB通道数据。信号RGB可以包括不具有结构光图案SLP的RGB信息(例如,可见光数据)。信号RGB可以被呈现给RGB图像通道310。信号RGB可以传送RGB图像通道310(例如,视频帧320a-320n的RGB子集)。
IRSL图像通道306可以包括IRSL图像330a-330k。IRSL图像330a-330k可以各自包括点图案322。IRSL图像330a-330k可以各自包括具有有效的结构光图案SLP的全分辨率IR图像。IRSL图像330a可以对应于视频帧320a(例如,具有相同的点图案322)并且IRSL图像330b可以对应于视频帧320d。由于结构光图案SLP是针对视频帧320a-320n的子集投影和捕获的,因此IRSL图像通道306可以包括比所生成的视频帧320a-320n的总数更少的IRSL图像330a-330k。在所示示例中,IRSL图像通道306可以包括视频帧320a-320n中的三分之一。
结构光图案SLP可以显露在IRSL通道数据上。IRSL数据可以由IR提取模块302从RGB-IR传感器180的输出中提取。IRSL图像330a-330k可以被格式化为IR YUV图像。包括IRYUV图像格式的点图案322的IRSL图像330a-330k可以被呈现给AE模块260和/或处理器102的其他组件。
IR图像通道308可以包括IR图像332a-332m。IR图像332a-332m可以不包括点图案322。例如,结构光投射器106可以定时在IR图像332a-332m的捕获期间关闭。IR图像332a-332m可以各自包括具有无效结构光图案SLP的全分辨率IR图像。IR图像332a可以对应于视频帧320b(例如,具有与之相同的IR像素数据),IR图像332b可以对应于视频帧320c,IR图像332c可以对应于视频帧320e,IR图像332d可以对应于视频帧320f,等等。由于结构光图案SLP是针对视频帧320a-320n的子集(例如,IRSL图像330a-330k)投影和捕获的,并且针对视频帧320a-320n的另一个子集(例如,IR图像332a-332m)关闭,因此IR图像通道308可以包括比所生成的视频帧320a-320n的总数更少但比IRSL图像330a-330k的总数更多的IR图像332a-332m。
结构光图案SLP可以针对IR通道数据关闭。IR数据可以由IR提取模块302从RGB-IR传感器180的输出中提取。IR图像332a-332m可以被格式化为IR YUV图像。不具有结构光图案SLP的IR YUV图像格式的IR图像332a-332m可以被呈现给AE模块260和/或处理器102的其他组件。
RGB图像通道310可以包括RGB图像334a-334m。RGB图像334a-334m可以不包括点图案322。例如,结构光投射器106可以定时在RGB图像334a-334m的捕获期间关闭。RGB图像334a-334m可以各自包括具有无效结构光图案SLP的全分辨率RGB图像。RGB图像334a可以对应于视频帧320b(例如,具有与之相同的RGB像素数据),RGB图像334b可以对应于视频帧320c,RGB图像334c可以对应于视频帧320e,RGB图像334d可以对应于视频帧320f,等等。由于结构光图案SLP是针对视频帧320a-320n的子集(例如,IRSL图像330a-330k)投影和捕获的,并且针对视频帧320a-320n的另一个子集(例如,RGB图像334a-334m)关闭,因此RGB图像通道310可以包括比所生成的视频帧320a-320n的总数更少但比IRSL图像330a-330k的总数更多的RGB图像334a-334m。
RGB数据可以由RGB提取模块304从RGB-IR传感器180的输出中提取。RGB图像334a-334m可以被格式化为RGB图像格式。RGB图像334a-334m可以被呈现给AE模块260和/或处理器102的其他组件。
IRSL图像通道306、IR图像通道308和RGB图像通道310可以实现来自RAW图像320a-320n的三个不同的虚拟通道。由于结构光图案SLP被关闭比开启更频繁,因此IRSL图像通道306可以包括比IR图像332a-332m或RGB图像334a-334m更少的IRSL图像330a-330k。例如,IR图像通道308和RGB图像通道310可以包括相同的帧编号,但不同的图像内容(例如,分别为IR光数据和可见光数据)。
来自IRSL图像通道306、IR图像通道308和/或RGB图像通道310的数据可用于装置100、处理器102和/或CNN模块190b的各种功能。在示例中,图像通道306-310中的数据的各种子集可用于3D重构和/或深度图生成。在另一示例中,图像通道306-310中的数据的各种子集可用于生成用于执行智能自动曝光的统计。在又一示例中,图像通道306-310中的数据的各种子集可用于生成输出视频(例如,信号VIDOUT)以供显示。在再一示例中,图像通道306-310中的数据的各种子集可用于检测对象、对对象进行分类和/或分析对象的特性。由图像通道306-310中的数据的各种子集提供的数据的使用场景可以根据特定实现的设计标准而变化。
参考图7,图7示出了说明被配置为确定环境中的IR干扰量的IR干扰模块的框图。示出了IR干扰组件350。IR干扰组件350可以包括可以被装置100用来执行IR干扰测量的各种硬件、概念块、输入和/或输出。IR干扰测量可用于在快门优先操作模式和数字增益优先操作模式之间进行选择。IR干扰组件350可以被表示为框图,该框图说明了由装置100执行的以用于选择操作模式以便为各个通道306-310提供一致的亮度输出的操作。
IR干扰组件350可以包括处理器102、视频帧320a-320n、IR提取模块302、RGB提取模块304和/或IR干扰模块274。出于说明的目的,处理器102、IR提取模块302、RGB提取模块304和IR干扰模块274被示为单独的组件。然而,IR提取模块302、RGB提取模块304和/或IR干扰模块274可以是由处理器102实现的组件。IR干扰模块274可以是AE模块260的组件(未示出)。
处理器102可以被配置为接收信号VIDEO。信号VIDEO可以包括由图像传感器180生成的RGB-IR像素数据。处理器102可以生成可以包括视频帧320a-320n的信号FRAMES。处理器102可以被配置为:对像素数据进行处理,该像素数据被布置为可以包括结构光图案SLP(取决于定时信号SL_TRIG是否已经开启结构光投射器106)的视频帧320a-320n。视频帧320a-320n可以被呈现给(例如,由处理器102使用IR提取模块302和RGB提取模块304内部处理)IR提取模块302和RGB提取模块304。
IR干扰模块274可以被配置为:接收信号RGB(例如,来自RGB图像通道310的数据)、信号IR(例如,来自IR图像通道308的数据)和/或信号(例如,AGGR)。IR干扰模块274可以被配置为:输出信号(例如,SF)和/或信号(例如,DGF)。虽然IR提取模块302可以针对IRSL图像通道306生成数据,但是具有结构光330a-330k的IR图像可以不用于测量环境中的IR干扰量。IR干扰模块274可以使用可见光数据(例如,RGB图像334a-334m)和不具有结构光图案SLP的红外光数据(例如,IR图像332a-332m)来测量环境中的IR干扰量。IR干扰模块274可以发送或接收其他数据(未示出)。由IR干扰模块274传送的输入/输出的数量和/或数据的类型可以根据特定实现的设计标准而变化。
信号AGGR可以是进取值。信号AGGR可以是可配置的值。在一个示例中,信号AGGR可以是用户输入值。例如,可以使用HID 166将信号AGGR输入到IR干扰模块274。在另一示例中,信号AGGR可以是预先配置的值(例如,预先存储在存储器150中)。信号AGGR可以提供从0%到100%的百分比值。信号AGGR的百分比值可以提供用于捕获设备104的可以应用于智能自动曝光的快门调节量的除法或比率的设置。例如,信号AGGR可以提供用户输入以提供快门控制量和用于自动曝光调整的数字增益量之间的定制平衡。信号AGGR可以使用户输入能够以数字增益优先操作模式和/或快门优先操作模式被应用。
信号SF和信号DGF可以由IR干扰模块274选择用于AE模块260的操作模式。IR干扰模块274可选择信号SF用于快门优先操作模式或选择信号DGF用于数字增益优先操作模式。提供信号SF或信号DGF的选择可以取决于由IR干扰模块274检测到的IR干扰量。
响应于由IR干扰模块274生成的信号DGF,AE模块260可以在数字增益优先操作模式下操作。在数字增益优先操作模式中,AE模块260可以生成信号SENCTL、信号IRSLCTL和/或信号RGBCTL,这些信号可以提供参数以将捕获设备104的快门时间保持在低值(例如,取决于信号AGGR中的进取值)并启用数字增益以首先增加图像亮度。在数字增益优先操作模式中,IR图像通道308可能具有减少的IR干扰影响,而IR补光(例如,结构光图案SLP)可能具有高输出功率,但该高输出功率仍可能在IRSL图像通道306中曝光。在数字增益优先操作模式中,RGB图像334a-334m可能看起来很暗,但是RGB通道控制逻辑266可以应用数字增益和/或色调曲线调整来增强RGB图像通道310的亮度。在示例中,太阳光可以提供强红外光,这可能会使IRSL图像330a-330k和/或IR图像332a-332m过度曝光。可以在高IR干扰环境中选择数字增益优先操作模式。
数字增益可以具有最大值。在示例中,最大数字增益可以是用户定义的限制(例如,基于可能导致看起来不自然的视频帧的数字增益量、没有提供用于活体检测的足够深度数据的视频帧和/或没有为计算机视觉操作提供准确颜色表示的视频帧的限制)。在数字增益优先操作模式中,可以增加数字增益直至达到最大数字增益值。在达到最大数字增益值之后,AE模块260可以调整信号SENCTL以使快门时间能够增加。数字增益优先操作模式可以优选先执行调整以增加数字增益和/或色调映射,然后再增加快门时间(如果基于IR统计270和/或RGB统计272确定是有益的)。
响应于由IR干扰模块274生成的信号SF,AE模块260可以在快门优先操作模式下操作。在快门优先操作模式中,AE模块260可以生成信号SENCTL、信号IRSLCTL和/或信号RGBCTL,这些信号可以提供参数以将捕获设备104的快门时间保持在高值(例如,取决于信号AGGR中的进取值)以增加所生成图像的亮度。增加快门时间可以使RGB-IR传感器190的更多行能够被曝光用于IR补光(例如,结构光图案SLP)。在快门优先操作模式中启用更长的曝光时间可以为结构光图案SLP提供更大的曝光区域。在IRSL图像通道306具有更大曝光区域的情况下,可以生成更大的深度区域(这可以提供更大的区域来覆盖对象以确定深度)。然而,增加曝光时间可能导致RGB图像通道310中的RGB图像334a-334m的过度曝光,这可以由RGB通道控制逻辑266校正。可以在低IR干扰环境中选择快门优先操作模式。
快门时间可以具有最大值。在示例中,最大快门时间可以是捕获设备104和/或RGB-IR传感器180的物理限制。在快门优先操作模式中,可以增加快门时间直至达到最大快门时间值。在达到最大快门时间值之后,AE模块260可以调整信号IRSLCTL和信号RGBCTL以启用IR通道控制逻辑264和/或RGB通道控制逻辑266来改变数字增益和色调映射。快门优先操作模式可以优选首先执行调整以增加快门时间,然后再执行数字调整(如果基于IR统计270和/或RGB统计272确定是有益的)。
IR干扰模块274可以包括块(或电路)352和/或块(或电路)354。电路352可以实现平均强度模块。电路354可以实现自动曝光决策模块。IR干扰模块274可以包括其他组件(未示出)。电路352-354可以被实现为被组合以执行特定任务的离散的硬件模块和/或硬件引擎204a-204n的组合。电路352-354可以是说明由处理器102和/或CNN模块190b实现的各种技术的概念块。IR干扰模块274的组件的数量、类型和/或布置可以根据特定实现的设计标准而变化。
平均强度模块352可以被配置为:接收信号RGB和信号IR。平均强度模块352可以响应于信号RGB和信号IR来生成信号(例如,AVGINT)。自动曝光决策模块354可以接收信号AVGINT和信号AGGR。自动曝光决策模块354可以响应于信号AVGINT和/或信号AGGR来生成信号SF或信号DGF。
平均强度模块352可以被配置为:计算两个图像的平均强度(例如,亮度量)。可以基于IR图像通道308中的IR图像332a-332m和RGB图像通道310中的RGB图像334a-334m的亮度分量来确定平均强度。信号AVGINT可以输出由平均强度模块352测量的平均强度。平均强度模块352可以被配置为:将IR图像(不具有结构光)332a-332m中的一个与RGB图像334a-334m中的一个进行比较。由于IR图像332a-332m和RGB图像334a-334m是同时捕获的(例如,当结构光图案SLP被关闭时),IR图像332a-332m和RGB图像334a-334m中的环境条件可以是相同的。平均强度模块352可以被配置为:使用RGB图像334a-334m的强度和相对应的IR图像332a-332m的强度执行除法运算以确定平均强度。在示例中,可以通过将IR图像332a-332m中的一个的强度除以RGB图像334a-334m中的相对应一个的强度来确定平均强度。平均强度可用于确定环境中的IR干扰量。除法的结果可以被表示为信号AVGINT。
自动曝光决策模块354可以被配置为:对由平均强度模块352计算的平均强度进行分析。在示例中,自动曝光决定模块354可以被配置为:执行计算机可读指令以在数字增益优先操作模式和信号优先操作模式之间进行选择。在一个示例中,计算机可读指令可由存储器150存储。自动曝光决策模块354可以被配置为:接收信号AVGINT并将平均强度值与预定阈值进行比较。在一个示例中,如果平均强度值超过预定阈值,则自动曝光决策模块354可以确定IR干扰较高。当IR干扰被确定为较高时,自动曝光决策模块354可以选择数字增益优先操作模式(例如,可以生成信号DGF)。当IR干扰被确定为较低时,自动曝光决策模块354可以选择快门优先操作模式(例如,可以生成信号SF)。
可以基于装置100的校准来确定预定阈值。各种因素可以影响对预定阈值的选择。在一个示例中,可以被分析用于校准IR干扰模块274的预定阈值的一些因素可以是结构光投射器106的能量强度、结构光投射器106的最大占空比和/或SLP源186的最大持续时间。在另一示例中,可以被分析用于校准预定阈值的一些因素可以是RGB-IR传感器180的RGB通道的灵敏度。在又一示例中,可以被分析用于校准预定阈值的一些因素可以是RGB-IR传感器180的IR通道的灵敏度。当IR图像332a-332m中的一个的平均强度高于RGB图像334a-334m中的一个的平均强度时(例如,IR/RGB>=阈值),则自动曝光决策模块354可以将AE模块260切换到数字增益优先操作模式。当IR图像332a-332m中的一个的平均强度低于RGB图像334a-334m中的一个的平均强度时(例如,IR/RGB<阈值),则自动曝光决策模块354可以将AE模块260切换到快门优先操作模式。可用于校准预定阈值的各种因素可以根据特定实现的设计标准而变化。
随着IR干扰测量结果的改变,自动曝光决策模块354可以在数字增益优先操作模式和快门优先操作模式之间切换。通过随着IR干扰测量结果改变实时调整操作模式,AE模块260可以被配置为:适应改变的照明环境,以确保各个通道306-310的输出图像的亮度一致。由信号AGGR提供的进取值可以由自动曝光决策模块354用来确定在每个操作模式中对参数的调整量。
参考图8,图8示出了说明响应于从视频帧测量的统计来调整IR通道控制和RGB通道控制的框图。示出了具有处理器102的组件和/或模块的一部分的处理器102。示出了AE模块260、IR通道控制逻辑264、RGB通道控制逻辑266、IRSL图像通道306、IR图像通道308和RGB图像通道310。AE模块260可以被配置为:从各个通道306-310接收反馈数据。由各种通道306-310提供的反馈可以由AE模块260使用,以便为传感器控制逻辑262、IR通道控制逻辑264和/或RGB通道控制逻辑266提供调整。对传感器控制逻辑262、IR通道控制逻辑264和/或RGB通道控制逻辑266的调整可以影响在各个通道306-310中分派的视频帧320a-320n。
处理器102可以被配置为执行计算机可读指令。在一些实施例中,由处理器102执行的计算机可读指令可以存储在存储器150中。在示例中,由处理器102执行的计算机可读指令可以对布置为视频帧的信号VIDEO中的像素数据进行处理,并提取具有结构光图案330a-330k的IR图像,提取不具有结构光图案332a-332m的IR图像,并提取RGB图像334a-334m。在另一示例中,由处理器102执行的计算机可读指令可以响应于IRSL图像330a-330k和RGB图像334a-334m来生成传感器控制信号SENCTL。在又一示例中,由处理器102执行的计算机可读指令可以响应于IR图像332a-332m和RGB图像334a-334m来计算IR干扰测量,并响应于IR干扰测量来选择IR通道控制逻辑264和RGB通道控制逻辑266的操作模式(如关联于图7所示)。响应于执行计算机可读指令而执行的处理器102的功能可以根据特定实现的设计标准而变化。
由处理器102生成的视频帧320a-320n可以由IR提取模块302和/或RGB提取模块304提取,以向IRSL图像通道306提供具有点图案322的IRSL视频帧330a-330k、向IR图像通道308提供没有点图案322的IR视频帧332a-332m以及向RGB图像通道310提供RGB视频帧334a-334m。IRSL图像通道306可以将信号(例如,IRSTAT)呈现给AE模块260。信号IRSTAT可以包括关于由IRSL图像通道306生成的IRSL图像330a-330k的统计。RGB图像通道310可以将信号(例如,IRSTAT)呈现给AE模块260。信号RGBSTAT可以包括关于由RGB图像通道310生成的RGB图像334a-334m的统计。IR图像通道308可以类似地能够生成关于IR图像332a-332m的统计,但是统计可能不用于AE模块260的目的。
IR统计270可以被配置为:响应于信号IRSTAT来提取关于IRSL图像330a-330k的信息。IR统计270可由AE模块260用来确定用于调整传感器控制逻辑262、IR通道控制逻辑264和/或RGB通道控制逻辑266的各种参数。AE模块260可以被配置为:响应于由IR统计270提取的数据和/或由IR干扰模块274选择的操作模式来生成信号IRSLCTL。
RGB统计272可以被配置为:响应于信号RGBSTAT来提取关于RGB图像334a-334m的信息。AE模块260可使用RGB统计272来确定用于调整传感器控制逻辑262、IR通道控制逻辑264和/或RGB通道控制逻辑266的各种参数。AE模块260可以被配置为:响应于由RGB统计272提取的数据和/或由IR干扰模块274选择的操作模式来生成信号RGBCTL。
IR统计270和RGB统计272可以包括在各种照明条件下生成的对视频帧320a-320n的分析。在一个示例中,IR统计270和/或RGB统计272所使用和/或提取的统计可以包括视频帧320a-320n中一个分片中所有像素的亮度值之和。每个视频帧320a-320n(例如IRSL视频帧330a-330k和RGB视频帧334a-334m)可以被划分为具有M列和N行的块,每个块可以提供亮度值。在另一示例中,由IR统计270和/或RGB统计272使用和/或提取的统计可以包括RGB-IR传感器180的每个通道(例如,R通道、G通道、B通道和亮度通道)的64比特直方图数据。IRSL图像通道306、IR图像通道308和RGB图像通道310中的每一个可以具有单独的统计数据。IRSL图像通道306、IR图像通道308和RGB图像通道310的统计数据可以包括多个数据条目,例如亮度值总和、直方图等。通道306-310中的每一个可以使用一些(或所有)基于特定用例和/或功能生成的统计。对于由AE模块260实现的智能自动曝光,可以使用IR统计270和RGB统计272。由AE模块260使用的关于视频帧320a-320n的统计类型可以根据特定实现的设计标准而变化。
响应于IR统计270、RGB统计272和/或由IR干扰模块274选择的操作模式,AE模块260可以确定各种传感器参数并将信号SENCTL呈现给传感器控制逻辑262(未示出)。响应于IR统计270、RGB统计272和/或由IR干扰模块274选择的操作模式,AE模块260可以确定各种IR参数并将信号IRSLCTL呈现给IR通道控制逻辑264。响应于IR统计270、RGB统计272和/或由IR干扰模块274选择的操作模式,AE模块260可以确定各种RGB参数并将信号RGBCTL呈现给RGB通道控制逻辑266。所选择的各种参数可以使装置100能够对变化的光照条件做出实时反应,从而为RGB-IR传感器180提供智能自动曝光控制。
IR通道控制逻辑264可以被配置为:响应于信号IRSLCTL来生成信号(例如,DGAIN-IR)。信号DGAIN-IR可包括可由IR通道控制逻辑264使用以提供后处理调整的参数。信号DGAIN-IR可以提供给IRSL图像通道306。信号DGAIN-IR可以被配置为:调整IRSL图像通道306中的IRSL图像帧330a-330k的亮度和/或色调曲线。IRSL图像通道306可以连续向AE模块260提供关于IRSL图像帧330a-330k的统计,以响应于关于由IR通道控制逻辑264(和传感器控制逻辑)做出的调整的反馈来启用实时调整262。
RGB通道控制逻辑266可以被配置为:响应于信号RGBCTL来生成信号(例如,DGAIN-RGB)。信号DGAIN-RGB可包括可由RGB通道控制逻辑266使用以提供后处理调整的参数。可以将信号DGAIN-RGB提供给IR图像通道308和RGB图像通道310二者。由于IR图像通道308和RGB图像通道310二者都包括来自在结构光图案SLP被关闭时生成的视频帧320a-320n的像素数据,因此类似的调整可以应用于IR图像通道308和RGB图像通道310二者。信号DGAIN-RGB可以被配置为:调整IR图像通道308中的IR图像帧332a-332m的亮度和/或色调曲线,以及RGB图像通道310中的RGB图像帧334a-334m的亮度和/或色调曲线。RGB图像通道310可以连续向AE模块260提供关于RGB图像帧334a-334m的统计,以响应于关于由RGB通道控制逻辑266(和传感器控制逻辑262)做出的调整的反馈来启用实时调整。
可以响应于传感器控制信号SENCTL对调整传感器控制逻辑262进行调整,以便自动调整RGB-IR传感器180的曝光。对RGB-IR传感器180的曝光的调整可以影响IRSL图像330a-330k、IR图像332a-332m和RGB图像334a-334m中的每一个的性能(例如,亮度)。可以响应于IR控制信号IRSLCTL对IR通道控制逻辑264进行调整,以便自动调整IRSL图像330a-330k的曝光。可以响应于RGB控制信号RGBCTL对RGB通道控制逻辑266进行调整,以便自动调整IR图像332a-332m和RGB图像334a-334m的曝光。由AE模块260执行的自动调整可以使RGB-IR传感器180能够在可见光和红外光的各种照明条件下提供一致的性能(例如,生成包括IR像素数据和RGB像素数据二者的视频帧,该IR像素数据和RGB像素数据可以被调整以具有一致的亮度)。
参考图9,图9示出了说明视频帧的曝光结果的图。示出了曝光结果370。曝光结果可以包括输入视频帧320i、智能自动曝光输出372以及固定自动曝光输出374。输入视频帧320i可以是输入视频帧320a-320n的代表性示例。响应于使用自动曝光模块260、传感器控制逻辑262、IR通道控制逻辑264和RGB通道控制逻辑266来实现装置100,智能自动曝光输出372可以提供示例输出视频帧(例如,信号VIDOUT)。固定自动曝光输出374可以响应于执行自动曝光来提供示例输出视频帧,而无需实现自动曝光模块260、传感器控制逻辑262、IR通道控制逻辑264和RGB通道控制逻辑266。
视频帧320i被示为由RGB-IR传感器180生成并布置为视频帧的像素数据的代表性示例。为了说明的目的,视频帧320i被示为单个视频帧。然而,包括具有结构光图案SLP的IR数据的视频帧320a-320n可以具有与包括RGB数据的视频帧320a-320n不同的帧编号,如关联于图6所描述的。通常,可以使用IR提取模块302和RGB提取模块304来分派多个视频帧320a-320n以生成IRSL视频帧330a-330k和RGB视频帧334a-334m。
视频帧320i可以包括人380的图像。视频帧320i可以包括从RGB-IR传感器180输入的数据。在视频帧320i中示出了人380的脸。点图案322被示为在视频帧320i中捕获。当视频帧320i的像素数据被RGB-IR传感器180捕获时,结构光图案SLP可以被投射到人380的脸上。在一个示例中,可以捕获人380的面部的像素数据来向装置100提供输入,以便执行面部检测-面部识别(FDFR)。在另一示例中,可以捕获具有点图案322的人380的面部的像素数据来向装置100提供输入,以便生成用于活体检测和/或3D重构的深度信息。响应于视频帧320a-320n执行智能自动曝光之后而执行的装置100的各种特征和/或功能可以根据特定实现的设计标准而变化。
智能自动曝光输出372可以包括RGB图像334i和IRSL图像330i。RGB图像334i和IRSL图像330i的智能自动曝光可以部分基于为传感器控制逻辑262选择的操作模式和信号SENCTL的参数来执行。可以响应于RGB提取模块304从视频帧320i中提取RGB像素数据(例如,基于结构光图案SLP的定时),以及RGB图像通道310响应于由RGB通道控制逻辑266响应于为AE模块260选择的操作模式所选择的信号DGAIN-RGB而执行后处理调整,来生成RGB图像334i。可以响应于IR提取模块302从视频帧320i中提取IRSL像素数据(例如,基于结构光图案SLP的定时,与RGB图像334i不同的帧编号),以及IRSL图像通道306响应于由IR通道控制逻辑264响应于为AE模块260选择的操作模式所选择的信号DGAIN-IR执行后处理调整,来生成IRSL图像330i。
RGB图像334i可以包括人380的彩色图像。RGB图像334i可以包括颜色382。在所示示例中,人380的衬衫被显示为加阴影的以指示颜色382。RGB图像334i中未示出点图案322。IRSL图像330i可以包括人380的红外图像。点图案322可以显示在IRSL图像330i中。
固定的自动曝光输出374可以包括RGB图像334i’和IRSL图像330i’。RGB图像334i'和IRSL图像330i’的自动曝光可以在没有AE模块260、传感器控制逻辑262、IR通道控制逻辑264或RGB通道控制逻辑266的情况下执行。RGB图像334i’可以包括人380的彩色图像。RGB图像334i’可以包括颜色382’。在所示示例中,人380的衬衫被显示为加阴影的以指示颜色382’。RGB图像334i'中未示出点图案322。IRSL图像330i’可以包括人380’的红外图像。点图案322’可以显示在IRSL图像330i’中。
对于智能自动曝光输出372,RGB图像334a-334m可以是曝光良好的并且颜色382可以是正确的(例如,准确地表示的)。类似地,对于固定的自动曝光输出374,RGB图像334a’-334m’可以是曝光良好的并且颜色382'可以是正确的。智能自动曝光输出372的RGB图像334a-334m和固定自动曝光输出374的RGB图像334a’-334m’二者都可以是可以由处理器102和/或CNN模块190b执行的面部检测-面部识别和/或其他对象检测操作的合适输入。在所示示例中,RGB图像334i的颜色382可能比RGB图像334i’的颜色382’稍暗(或由于模拟增益控制(AGC)而具有更多噪声)。然而,RGB图像334i的颜色382和RGB图像334i’的颜色382’的微小差异可能不足以对由处理器102执行的FDFR和/或其他计算机视觉操作产生影响。
IRSL图像330i可以是具有点图案322的单色图像。IRSL图像330i’可以是具有点图案322’的单色图像。IRSL图像330i可以被很好地曝光并且所有的结构光图案SLP可以在点图案322中被捕获。通过由装置100实现的智能AE控制,IRSL图像330a-330k可以被很好地曝光以获得深度信息并且可以被处理器102用于活体检测。
IRSL图像330i’被示为具有过度曝光区域390a-390n。过度曝光区域390a-390n可能没有细节(例如,人380’的面部部分可能缺失)并且点图案322’的部分可能缺失(例如,结构光图案SLP可能没有被完全捕获)。由于过度曝光区域390a-390n,固定自动曝光输出374的IRSL图像330a’-330k’可能无法为处理器102提供足够的信息来生成深度信息和/或执行活体检测。
在一些实施例中,可以调整固定自动曝光输出374以防止IRSL图像330a’-330k’中的过度曝光区域390a-390n。然而,当使用固定自动曝光时,对过度曝光区域390a-390n进行校正可能会牺牲RGB图像334a’-334m’的亮度,这可能会影响FDFR和/或其他计算机视觉操作。固定自动曝光输出374可以包括准确生成的RGB图像和准确生成的IRSL图像之间的折衷。
智能自动曝光输出372可以使曝光良好的RGB图像334a-334m能够与曝光良好的IRSL图像330a-330k同时生成(或基于分派到各个图像通道306-310的特定帧编号几乎同时生成)。基于所选择的操作模式进行操作的AE模块260、传感器控制逻辑262、IR通道控制逻辑264和RGB通道控制逻辑266可以使RGB图像334a-334m和IRSL图像330a-330k二者被生成而无需在RGB图像334a-334m和IRSL图像330a-330k之间的精度和/或亮度上进行折衷。使用RGB-IR传感器180的智能自动曝光,装置100可以提供适合FDFR和/或其他计算机视觉操作以及生成深度信息和/或执行活体检测二者的输出。
参考图10,示出了方法(或过程)400。方法400可以对RGB-IR传感器执行智能自动曝光控制。方法400一般包括步骤(或状态)402、决策步骤(或状态)404、步骤(或状态)406、步骤(或状态)408、步骤(或状态)410、步骤(或状态)412、步骤(或状态)414、步骤(或状态)416、步骤(或状态)418、步骤(或状态)420以及步骤(或状态)422。
步骤402可以开始方法400。接下来,方法400可以移动到决策步骤404。在决策步骤404中,处理器102可以确定结构光投射器106是否被开启。在示例中,处理器102可以基于定时信号SL_TRIG来开启或关闭结构光图案SLP。如果结构光图案SLP被开启,则方法400可以移动到步骤406。在步骤406中,RGB-IR传感器180可以生成具有暴露的结构光图案SLP的像素数据,并且具有结构光图案SLP的像素数据可以由处理器102接收。接下来,方法400可以移动到步骤410。在决策步骤404中,如果结构光图案SLP被关闭,则方法400可以移动到步骤408。在步骤408中,RGB-IR传感器180可以生成不具有结构光图案SLP的像素数据,并且该像素数据可以由处理器102接收。接下来,方法400可以移动到步骤410。
在步骤410中,处理器102可以对布置为视频帧320a-320n的像素数据进行处理。接下来,方法400可以执行提取步骤412-416。尽管提取步骤412-416被顺序地示出,但可以由处理器102并行地执行将视频帧提取到各个通道306-310中。在步骤412中,IR提取模块302可以将具有点图案322的IRSL视频帧330a-330k提取到IRSL图像通道306。在步骤414中,IR提取模块302可以将没有点图案322的IR视频帧332a-332m提取到IR图像通道308。在步骤416中,RGB提取模块304可将RGB视频帧334a-334m提取到RGB图像通道310。在执行各种提取之后,方法400可以移动到步骤418。
在步骤418中,AE模块260可以响应于RGB图像334a-334m的RGB统计272和IRSL图像330a-330k的IR统计270生成传感器控制信号SENCTL。接下来,在步骤420中,IR干扰模块274可以响应于RGB图像334a-334m和IR图像332a-332m来计算IR干扰测量。例如,平均强度可以由平均强度模块352计算。在步骤422中,IR干扰模块274可以通过生成信号SF或信号DGF来选择操作模式(例如,快门优先操作模式或数字增益优先操作模式)。可以基于执行的IR测量为传感器控制逻辑262、IR通道控制逻辑264和RGB通道控制逻辑266选择操作模式。接下来,方法400可以返回到决策步骤404(例如,生成更多视频帧并基于进入的输入像素数据执行智能自动曝光)。
参考图11,示出了方法(或过程)450。方法450可以执行IR干扰测量。方法450通常包括步骤(或状态)452、步骤(或状态)454、步骤(或状态)456、步骤(或状态)458、决策步骤(或状态)460、步骤(或状态)410状态)462、步骤(或状态)464以及步骤(或状态)466。
步骤452可以开始方法450。在步骤454中,IR干扰模块274可以接收RGB图像334a-334m,RGB图像334a-334m可以呈现给平均强度模块352。在步骤456中,IR干扰模块274可以接收IR图像332a-332m(没有点图案322),涉模块274可以接收可以呈现给平均强度模块352。虽然步骤454和步骤456被顺序显示,但IR干扰模块274可以同时接收步骤454-456中的像素数据。接下来,在步骤458中,平均强度模块352可以将IR图像332a-332m的亮度除以RGB图像334a-334m的亮度以确定平均强度。平均强度可以经由信号AVGINT呈现给自动曝光决策模块354。接下来,方法450可以移动到决策步骤460。
在决策步骤460中,自动曝光决策模块354可以确定计算的平均强度是否小于预定阈值。在一个示例中,AE决策模块354可以将信号AVGINT中的平均强度与预定阈值进行比较。如果平均强度小于预定阈值,则方法450可以移动到步骤462。在步骤462中,AE决策模块354可以选择快门优先操作模式。例如,AE决策模块354可以提供信号SF。接下来,方法450可以移动到步骤466。在决策步骤460中,如果平均强度大于或等于预定阈值,则方法450可以移动到步骤464。在步骤464中,AE决策模块354可以选择数字增益优先操作模式。例如,AE决策模块354可以提供信号DGF。接下来,方法450可以移动到步骤466。
在步骤466中,AE模块260可以基于所选择的操作模式提供针对传感器控制逻辑262(例如,信号SENCTL)、IR通道控制逻辑264(例如,信号IRSLCTL)和RGB通道控制逻辑266(例如,信号RGBCTL)的自动曝光调整。接下来,方法450可以返回到步骤454。方法450可以基于RGB图像334a-334m和IR图像332a-332m的平均强度连续地测量IR干扰,以动态调整适合环境的操作模式。
参考图12,示出了方法(或过程)500。方法500可以在快门优先操作模式下实现自动曝光控制。方法500一般包括步骤(或状态)502、决策步骤(或状态)504、步骤(或状态)506、步骤(或状态)508、决策步骤(或状态)510、决策步骤(或状态)512、步骤(或状态)514、步骤(或状态)516、步骤(或状态)518、步骤(或状态)520以及步骤(或状态)522。
步骤502可以开始方法500。接下来,方法500可以移动到决策步骤504。在决策步骤504中,AE模块260可以确定AE决策模块354是否已经选择了快门优先操作模式。例如,可以响应于信号SF来选择快门优先操作模式。如果AE模块260在快门优先操作模式下操作,则方法500可以移动到步骤506。在步骤506中,AE模块260可以接收进取值AGGR。接下来,在步骤508中,AE模块260可以接收统计。AE模块260可以并行地从IRSL图像通道306和RGB图像通道310接收统计。AE模块260可以经由信号IRSTAT从IRSL图像通道306接收IR统计270,并且经由信号RGBSTAT从RGB图像通道310接收RGB统计272。接下来,方法500可以移动到决策步骤510。
在决策步骤510中,AE模块260可以确定是否应该调整输出。在一个示例中,可以调整输出以实现一致的亮度。AE模块260可以分析IR统计270、RGB统计272和/或进取值AGGR以确定是否要调整输出。如果对输出的调整对性能没有益处,则方法500可以返回到决策步骤504。如果调整输出可以对性能有益,则方法500可以移动到决策步骤512。
在决策步骤512中,AE模块260可以确定快门时间是否已达到最大值。在示例中,存储器150和/或反馈可以跟踪当前快门时间和/或最大快门时间值。如果快门时间没有增加到最大值,则方法500可以移动到步骤514。在步骤514中,AE模块260可以增加传感器控制信号SENCTL的快门时间,以便调整在IRSL图像通道306、IR图像通道308和RGB图像通道310的每一个中提取的视频帧的曝光。接下来,方法500可以返回到决策步骤504。
在决策步骤512中,如果快门时间已经增加到最大值,则方法500可以移动到步骤516。在步骤516中,AE模块260可以生成信号IRSLCTL供IR通道控制逻辑264对IRSL图像通道306中的IRSL图像330a-330k执行后处理。例如,IR通道控制逻辑264可以经由信号DGAIN-IR来控制IRSL图像330a-330k的增益。接下来,在步骤518中,AE模块260可以生成信号RGBCTL以供RGB通道控制逻辑266对IR图像通道308中的IR图像332a-332m和RGB图像通道310中的RGB图像334a-334m执行后处理。例如,RGB通道控制逻辑266可以经由信号DGAIN-RGB来控制IR图像332a-332m和RGB图像334a-334m的增益。例如,一旦快门时间达到最大值,就可以执行数字增益和/或色调映射以进行进一步调整。虽然步骤516-518被顺序地示出,但可以并行地执行步骤516-518中的调整。接下来,方法500可以返回到决策步骤504。
在决策步骤504中,如果AE模块260不是在快门优先操作模式下操作,则方法500可以移动到步骤550。在步骤550中,AE模块260可以在数字增益优先操作模式下操作(将结合图13进行描述)。接下来,方法500可以移动到步骤522。步骤522可以结束方法500。
参考图13,示出了方法(或过程)550。方法550可以在数字增益优先操作模式下实现自动曝光控制。方法550一般包括步骤(或状态)552、决策步骤(或状态)554、步骤(或状态)556、步骤(或状态)558、决策步骤(或状态)560、决策步骤(或状态)562、步骤(或状态)564、步骤(或状态)566、步骤(或状态)568、步骤(或状态)570、步骤(或状态)572、步骤(或状态)574以及步骤(或状态)576。
步骤552可以开始方法550。接下来,方法550可以移动到决策步骤554。在决策步骤554中,AE模块260可以确定AE决策模块354是否已经选择了数字增益优先操作模式。例如,可以响应于信号DGF来选择数字增益优先操作模式。如果AE模块260在数字增益优先操作模式下操作,则方法550可以移动到步骤556。在步骤556中,AE模块260可以接收进取值AGGR。接下来,在步骤558中,AE模块260可以接收统计。AE模块260可以并行地从IRSL图像通道306和RGB图像通道310接收统计。AE模块260可以经由信号IRSTAT从IRSL图像通道306接收IR统计270,并且经由信号RGBSTAT从RGB图像通道310接收RGB统计272。接下来,方法550可以移动到决策步骤560。
在决策步骤560中,AE模块260可以确定是否应该调整输出。在一个示例中,可以调整输出以实现一致的亮度。AE模块260可以分析IR统计270、RGB统计272和/或进取值AGGR以确定是否要调整输出。如果对输出的调整对性能没有益处,则方法550可以返回到决策步骤554。如果调整输出可以对性能有益,则方法550可以移动到决策步骤562。
在决策步骤562中,AE模块260可以确定数字增益是否已经达到最大值。在示例中,存储器150和/或反馈可以跟踪当前数字增益和/或最大数字增益值。如果数字增益没有增加到最大值,则方法550可以移动到步骤564。在步骤564中,AE模块260可以为传感器控制信号SENCTL选择低快门时间,以便调整在IRSL图像通道306、IR图像通道308和RGB图像通道310的每一个中提取的视频帧的曝光。接下来,在步骤566中,AE模块260可以增加IR通道控制逻辑264和RGB通道控制逻辑266的数字增益值。在步骤568中,AE模块260可以生成信号IRSLCTL供IR通道控制逻辑264对IRSL图像通道306中的IRSL图像330a-330k执行后处理。例如,IR通道控制逻辑264可以经由信号DGAIN-IR来控制IRSL图像330a-330k的增益。在步骤570中,AE模块260可以生成信号RGBCTL供RGB通道控制逻辑266对IR图像通道308中的IR图像332a-332m和RGB图像通道310中的RGB图像334a-334m执行后处理。例如,RGB通道控制逻辑266可以经由信号DGAIN-RGB来控制IR图像332a-332m和RGB图像334a-334m的增益。接下来,方法550可以返回到决策步骤554。
在决策步骤562中,如果数字增益已经增加到最大值,则方法550可以移动到步骤572。在步骤572中,AE模块260可以增加传感器控制信号SENCTL的快门时间,以便调整在IRSL图像通道306、IR图像通道308和RGB图像通道310的每一个中提取的视频帧的曝光。接下来,方法550可以返回到决策步骤554。
在决策步骤554中,如果AE模块260不是在数字增益优先操作模式下操作,则方法550可以移动到步骤574。在步骤574中,AE模块260可以在快门优先操作模式下操作(将结合图12进行描述)。接下来,方法550可以移动到步骤574。步骤574可以结束方法550。
可以使用以下各项中的一项或多项来实现由图1-图13的图执行的功能:常规通用处理器、数字计算机、微处理器、微控制器、RISC(精简指令集计算机)处理器、CISC(复杂指令集计算机)处理器、SIMD(单指令多数据)处理器、信号处理器、中央处理单元(CPU)、算术逻辑单元(ALU)、视频数字信号处理器(VDSP)和/或类似的运算机器根据说明书的教导进行编程,如对于相关领域技术人员来说将显而易见的。适当的软件、固件、编码、例程、指令、操作码、微码和/或程序模块可以由熟练的程序员基于本公开内容的教导容易地准备,这对于相关领域的技术人员来说也是显而易见的。软件通常由机器实现的一个或多个处理器从一种介质或几种介质执行。
本发明还可以通过准备ASIC(专用集成电路)、平台ASIC、FPGA(现场可编程门阵列)、PLD(可编程逻辑器件)、CPLD(复杂可编程逻辑器件)、门海、RFIC(射频集成电路)、ASSP(专用标准产品)、一个或多个单片集成电路、排列为倒装芯片模块和/或多芯片模块的一个或多个芯片或裸片来实现,或者通过对传统元件电路的适当网络进行互连来实现,如本文所描述的,其修改对于本领域技术人员来说将是显而易见的。
因此,本发明还可以包括一种计算机产品,其可以是存储介质或介质和/或传输介质或介质,包括可用于对机器进行编程以执行根据本发明的一个或多个过程或方法的指令。机器执行包含在计算机产品中的指令以及周围电路的操作,可以将输入数据转换为存储介质上的一个或多个文件和/或代表物理对象或物质的一个或多个输出信号,例如音频和/或视觉描述。存储介质可以包括但不限于任何类型的盘,包括软盘、硬盘、磁盘、光盘、CD-ROM、DVD和磁光盘以及诸如ROM(只读存储器)、RAM(随机存取存储器)、EPROM(可擦除可编程ROM)、EEPROM(电可擦除可编程ROM)、UVPROM(紫外线可擦除可编程ROM)、闪存、磁卡、光卡等电路和/或适用于存储电子指令的任何类型的介质。
本发明的元件可以形成一个或多个设备、单元、组件、***、机器和/或装置的部分或全部。这些设备可能包括但不限于服务器、工作站、存储阵列控制器、存储***、个人计算机、膝上型计算机、笔记本计算机、掌上计算机、云服务器、个人数字助理、便携式电子设备、电池供电设备、机顶盒、编码器、解码器、转码器、压缩器、解压缩器、预处理器、后处理器、发射机、接收机、收发机、密码电路、蜂窝电话、数码摄像头、定位和/或导航***、医疗设备、抬头显示器、无线设备、音频记录、音频存储和/或音频播放设备、视频记录、视频存储和/或视频播放设备、游戏平台、***设备和/或多芯片模块。相关领域的技术人员将理解,本发明的元件可以在其他类型的设备中实现以满足特定应用的标准。
术语“可以”和“一般”在本文中与“是(是)”和动词一起使用时旨在传达以下意图:描述是示例性的并且被认为足够广泛以涵盖本公开内容中呈现的具体示例以及可以基于本公开内容得出的替代示例这二者。本文中使用的术语“可以”和“一般”不应被解释为必然暗示省略相应元素的可取性或可能性。
各种组件、模块和/或电路的标记“a”-“n”,当在本文中使用时,公开了单个组件、模块和/或电路或多个这样的组件、模块和/或电路,其中,“n”标记用于意指任何特定的整数。每个具有标记为“a”-“n”的实例(或事件)的不同组件、模块和/或电路可指示不同组件、模块和/或电路可以具有匹配数量的实例或不同数量的实例。指定为“a”的实例可以表示多个实例中的第一个,并且实例“n”可以指代多个实例中的最后一个,而不暗示特定数量的实例。
虽然已经参考本发明的实施例具体地示出和描述了本发明,但是本领域技术人员将理解,可以在不脱离本发明的范围的情况下对形式和细节进行各种改变。
Claims (20)
1.一种装置,其包括:
结构光投射器,其被配置为:响应于定时信号而切换结构光图案;
图像传感器,其被配置为:生成像素数据;以及
处理器,其被配置为:(i)对布置为视频帧的像素数据进行处理,(ii)从所述视频帧中提取(a)具有所述结构光图案的IR图像,(b)不具有所述结构光图案的IR图像以及(c)RGB图像,(iii)响应于具有所述结构光图案的IR图像和所述RGB图像生成传感器控制信号,(iv)响应于不具有所述结构光图案的IR图像和所述RGB图像而计算IR干扰测量,以及(v)响应于所述IR干扰测量而选择用于IR通道控制和RGB通道控制的操作模式,其中
(a)所述传感器控制信号被配置为:针对具有所述结构光图案的IR图像和所述RGB图像二者,对所述图像传感器的曝光进行调整,
(b)所述IR通道控制被配置为:对具有所述结构光图案的IR图像的曝光进行调整,并且
(c)所述RGB通道控制被配置为:对所述RGB图像和不具有所述结构光图案的IR图像的曝光进行调整。
2.根据权利要求1所述的装置,其中,所述操作模式包括数字增益优先操作模式或快门优先操作模式。
3.根据权利要求2所述的装置,其中,所述数字增益优先操作模式基于进取值来选择低快门时间并且增加数字增益值。
4.根据权利要求3所述的装置,其中,在所述数字增益优先操作模式中,(i)所述IR通道控制被配置为:曝光具有所述结构光图案的IR图像的结构光图案,并且所述RGB通道控制被配置为:调整数字增益和色调曲线以增加亮度,以及(ii)所述低快门时间在所述数字增益达到最大值之后增加。
5.根据权利要求2所述的装置,其中,所述快门优先操作模式(i)基于进取值选择高快门时间以增加亮度并且曝光所述结构光图案,以及(ii)在所述高快门时间达到最大值之后调整数字增益和色调曲线。
6.根据权利要求2所述的装置,其中,(i)所述处理器被配置为:接收进取值,并且(ii)所述进取值是用户输入,所述用户输入被配置为:针对所述数字增益优先操作模式和所述快门优先操作模式二者选择快门调整量和数字增益值的除法或比率。
7.根据权利要求1所述的装置,其中,所述处理器被配置为:使所述图像传感器在可见光和红外光的各种光照条件下能够具有一致的性能。
8.根据权利要求1所述的装置,其中,所述IR干扰测量包括(i)确定不具有所述结构光图案的IR图像中的一个和所述RGB图像中的一个的平均强度,以及(ii)将所述平均强度与预定阈值进行比较。
9.根据权利要求8所述的装置,其中,所述平均强度是响应于以下各项而确定的:(i)确定不具有所述结构光图案的IR图像中的一个的强度,(ii)确定所述RGB图像中的一个的强度以及(iii)将不具有所述结构光图案的IR图像中的一个的强度除以所述RGB图像中的一个的强度。
10.根据权利要求8所述的装置,其中,所述预定阈值是基于以下各项而确定的:(i)所述结构光投射器的能量强度、最大占空比和最大持续时间,(ii)所述图像传感器的RGB通道的灵敏度,以及(iii)所述图像传感器的IR通道的灵敏度。
11.根据权利要求8所述的装置,其中,所述处理器(i)当所述平均强度大于或等于所述预定阈值时选择数字增益优先操作模式并且(ii)当所述平均强度小于所述预定阈值时选择快门优先操作模式。
12.根据权利要求1所述的装置,其中,所述装置被配置为:提供针对所述图像传感器的自动曝光调整。
13.根据权利要求1所述的装置,其中,所述图像传感器是RGB-IR传感器,所述RGB-IR传感器被配置为同时针对具有所述结构光图案的IR图像、不具有所述结构光图案的IR图像和所述RGB图像生成所述像素数据。
14.根据权利要求1所述的装置,其中,所述传感器控制信号被配置为:通过控制快门值来调整所述图像传感器的曝光,以控制用于捕获设备的光圈以及用于所述图像传感器的曝光时间和增益值。
15.根据权利要求1所述的装置,其中,所述处理器还被配置为:(i)响应于具有所述结构光图案的IR图像来确定IR统计,以及响应于所述RGB图像来确定RGB统计,以及(ii)响应于所述IR统计和所述RGB统计来生成所述传感器控制信号。
16.根据权利要求15所述的装置,其中,所述IR统计包括来自具有所述结构光图案的IR图像的一个分片中的所有像素的亮度值的总和以及具有所述结构光图案的IR图像的每个通道的直方图。
17.根据权利要求15所述的装置,其中,所述RGB统计包括来自所述RGB图像的一个分片中的所有像素的亮度值的总和以及所述RGB图像的每个通道的直方图。
18.根据权利要求1所述的装置,其中,所述传感器控制信号通过调整到达所述图像传感器的光量来调整所述图像传感器的曝光。
19.根据权利要求1所述的装置,其中,具有所述结构光图案的IR图像的曝光以及所述RGB图像的曝光和不具有所述结构光图案的IR图像的曝光包括由所述处理器执行的后处理技术。
20.根据权利要求1所述的装置,其中,所述处理器被配置为:提供自动曝光调整以(i)调整具有所述结构光图案的IR图像的曝光来防止导致细节丢失的过度曝光以确保用于活体检测的足够的深度信息,以及(ii)调整所述RGB图像的曝光以确保用于面部检测和面部识别(FDFR)的正确颜色。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210373846.4A CN116962886A (zh) | 2022-04-07 | 2022-04-07 | 用于rgb-ir传感器的智能自动曝光控制 |
US17/834,327 US11924555B2 (en) | 2022-04-07 | 2022-06-07 | Intelligent auto-exposure control for RGB-IR sensor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210373846.4A CN116962886A (zh) | 2022-04-07 | 2022-04-07 | 用于rgb-ir传感器的智能自动曝光控制 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116962886A true CN116962886A (zh) | 2023-10-27 |
Family
ID=88239050
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210373846.4A Pending CN116962886A (zh) | 2022-04-07 | 2022-04-07 | 用于rgb-ir传感器的智能自动曝光控制 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11924555B2 (zh) |
CN (1) | CN116962886A (zh) |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7566855B2 (en) * | 2005-08-25 | 2009-07-28 | Richard Ian Olsen | Digital camera with integrated infrared (IR) response |
US10484623B2 (en) * | 2016-12-20 | 2019-11-19 | Microsoft Technology Licensing, Llc | Sensor with alternating visible and infrared sensitive pixels |
JP2018117309A (ja) * | 2017-01-20 | 2018-07-26 | ソニーセミコンダクタソリューションズ株式会社 | 撮像装置、画像処理方法および画像処理システム |
US20180295336A1 (en) * | 2017-04-11 | 2018-10-11 | Himax Imaging Limited | IMAGING SYSTEM FOR SENSING 3D image |
JP6564421B2 (ja) * | 2017-05-17 | 2019-08-21 | キヤノン株式会社 | 画像処理装置、撮像装置、画像処理方法、及びプログラム |
CN108965654B (zh) * | 2018-02-11 | 2020-12-25 | 浙江宇视科技有限公司 | 基于单传感器的双光谱摄像机***和图像处理方法 |
WO2020051898A1 (zh) * | 2018-09-14 | 2020-03-19 | 浙江宇视科技有限公司 | 双光图像自动曝光方法、装置、双光图像相机及机器存储介质 |
EP4033535A4 (en) * | 2019-09-30 | 2023-03-01 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | IMAGE SENSOR, CAMERA ASSEMBLY AND MOBILE TERMINAL |
CN113271414B (zh) * | 2020-02-14 | 2022-11-18 | 上海海思技术有限公司 | 图像获取方法和装置 |
JP2023516410A (ja) * | 2020-03-03 | 2023-04-19 | ホアウェイ・テクノロジーズ・カンパニー・リミテッド | イメージセンサおよびイメージ光感知方法 |
CN111464733B (zh) * | 2020-05-22 | 2021-10-01 | Oppo广东移动通信有限公司 | 控制方法、摄像头组件和移动终端 |
-
2022
- 2022-04-07 CN CN202210373846.4A patent/CN116962886A/zh active Pending
- 2022-06-07 US US17/834,327 patent/US11924555B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20230328386A1 (en) | 2023-10-12 |
US11924555B2 (en) | 2024-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11146747B1 (en) | Dynamic driver mechanism for rolling shutter sensor to acquire the structured light pattern | |
US11935257B2 (en) | Adding an adaptive offset term using convolution techniques to a local adaptive binarization expression | |
CN114093142B (zh) | 通过组合视觉传感和热传感的对象感知的温度异常监控和预警 | |
US11843760B2 (en) | Timing mechanism to derive non-contaminated video stream using RGB-IR sensor with structured light | |
US12002229B2 (en) | Accelerating speckle image block matching using convolution techniques | |
US11563927B2 (en) | Mounting calibration of structured light projector in mono camera stereo system | |
US20240029285A1 (en) | Adaptive face depth image generation | |
US11696039B2 (en) | Smart IP camera with color night mode | |
US20230237383A1 (en) | Methods and apparatus for performing analytics on image data | |
US20230419505A1 (en) | Automatic exposure metering for regions of interest that tracks moving subjects using artificial intelligence | |
US11924555B2 (en) | Intelligent auto-exposure control for RGB-IR sensor | |
US11284022B2 (en) | Driver mechanism for rolling shutter sensor to acquire structured light pattern | |
WO2023067557A1 (en) | Efficient video execution method and system | |
US11574484B1 (en) | High resolution infrared image generation using image data from an RGB-IR sensor and visible light interpolation | |
US11743450B1 (en) | Quick RGB-IR calibration verification for a mass production process | |
US20230206476A1 (en) | Accelerated alignment of high-resolution image and depth map for low-bit-width floating-point representation | |
US11935377B1 (en) | Security cameras integrating 3D sensing for virtual security zone | |
US11922697B1 (en) | Dynamically adjusting activation sensor parameters on security cameras using computer vision |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |