CN115222782A - 对单目相机立体系统中的结构光投射器的安装校准 - Google Patents
对单目相机立体系统中的结构光投射器的安装校准 Download PDFInfo
- Publication number
- CN115222782A CN115222782A CN202110410126.6A CN202110410126A CN115222782A CN 115222782 A CN115222782 A CN 115222782A CN 202110410126 A CN202110410126 A CN 202110410126A CN 115222782 A CN115222782 A CN 115222782A
- Authority
- CN
- China
- Prior art keywords
- disparity
- image
- processor
- speckle pattern
- structured light
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/521—Depth or shape recovery from laser ranging, e.g. using interferometry; from the projection of structured light
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/128—Adjusting depth or disparity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
- G06T7/33—Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
- G01B11/24—Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
- G01B11/25—Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures by projecting a pattern, e.g. one or more lines, moiré fringes on the object
- G01B11/2504—Calibration devices
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
- G01B11/24—Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
- G01B11/25—Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures by projecting a pattern, e.g. one or more lines, moiré fringes on the object
- G01B11/2513—Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures by projecting a pattern, e.g. one or more lines, moiré fringes on the object with several lines being projected in more than one direction, e.g. grids, patterns
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C25/00—Manufacturing, calibrating, cleaning, or repairing instruments or devices referred to in the other groups of this subclass
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C3/00—Measuring distances in line of sight; Optical rangefinders
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
- G06T7/593—Depth or shape recovery from multiple images from stereo images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/122—Improving the 3D impression of stereoscopic images by modifying image signal contents, e.g. by filtering or adding monoscopic depth cues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
- G06T2207/10012—Stereo images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
- G06T2207/10021—Stereoscopic video; Stereoscopic image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20228—Disparity calculation for image-based rendering
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Optics & Photonics (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Manufacturing & Machinery (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Electromagnetism (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
一种装置包括接口和处理器。接口可以被配置为接收像素数据。处理器可以被配置为:(i)根据所述像素数据生成参考图像和目标图像,(ii)对参考图像和目标图像执行视差操作,以及(iii)响应于视差操作而构建视差角度图。视差操作可以包括:(a)选择多个网格像素,(b)针对每个网格像素测量视差角度,(c)通过求解网格像素的视差角度图的表面公式来计算多个系数,以及(d)利用系数针对像素数据生成视差角度图中的值。
Description
技术领域
本发明总体上涉及立体视觉,并且更具体地涉及一种用于实现对单目相机立体系统(mono camera stereo system)中的结构光投射器的安装校准的方法和/或装置。
背景技术
结构光投射器是将光斑点散布到对象上的点光源。当对象朝向相机或远离相机移动时,由相机传感器捕获的斑点图案将水平移位(shift)。如果在一定距离(R)处捕获到对象上的斑点图案的参考图像,并且对象从距离R移动到第二距离(X),则可以通过测量由相机传感器捕获的斑点图案的移位来计算移动距离(M=X-R)。对两个捕获的图像之间的斑点图案的移位的测量是单目相机立体系统操作的原理。斑点图案的移位偏移通常被称为视差(disparity)。
与利用双相机的立体解决方案相比,单目相机立体系统通常以较低的成本、较小的尺寸和较低的功率执行。尽管单目相机立体系统具有以上优点,但是单目相机立体系统限制了结构光投射器相对于相机的安装位置。
期望实现对单目相机立体系统中的结构光投射器的安装校准。
发明内容
本发明涵盖涉及一种装置的方面,该装置包括接口和处理器。接口可以被配置为接收像素数据。处理器可以被配置为:(i)根据像素数据生成参考图像和目标图像,(ii)对参考图像和目标图像执行视差操作,以及(iii)响应于视差操作而构建视差角度图。视差操作可以包括:(a)选择多个网格像素,(b)针对每个网格像素测量视差角度,(c)通过求解网格像素的视差角度图的表面公式来计算多个系数,以及(d)利用系数针对像素数据生成视差角度图中的值。
在上面描述的装置方面的一些实施例中,处理器还可以被配置为通过使用视差角度图执行图案移位匹配来构建视差图。在其中处理器使用视差角度图执行图案移位匹配的一些实施例中,处理器还可以被配置为通过利用视差角度图应用定向块匹配过程来执行图案移位匹配。
在上面描述的装置方面的一些实施例中,处理器还可以被配置为通过执行离线校准程序来构建视差角度图,该离线校准程序包括:捕获包含被投射到在第一距离处的墙壁上的斑点图案的第一图像,以及捕获包含被投射到在第二距离处的所述墙壁上的斑点图案的第二图像。
在上面描述的装置方面的一些实施例中,处理器还可以被配置为通过执行在线校准程序来构建视差角度图,该在线校准程序包括:捕获包含被投射到在第一距离处的对象上的斑点图案的第一图像,以及捕获包含被投射到在第二距离处的对象上的斑点图案的第二图像。
在上面描述的装置方面的一些实施例中,处理器还可以被配置为通过对包含网格像素的参数表面应用回归算法来求解网格像素的视差角度图的表面公式,从而计算多个系数。在一些实施例中,回归算法包括最小二乘回归算法。在一些实施例中,参数表面包括三次参数表面。
在上面描述的装置方面的一些实施例中,装置还可以包括被配置为生成像素数据的相机和被配置为投射斑点图案的结构光投射器。在其中装置还包括相机和结构光投射器的一些实施例中,处理器还可以被配置为:生成包括被投射到距相机第一距离处的对象上的斑点图案的参考图像,生成包括被投射到距相机第二距离处的对象上的斑点图案的目标图像,以及通过确定参考图像中的斑点图案与目标图像中的斑点图案之间的图案移位来针对每个网格像素测量视差角度。
本发明还涵盖涉及一种对单目相机立体系统中的结构光投射器的安装校准的方法的方面,该方法包括:(i)在接口处接收像素数据,(ii)使用处理器根据像素数据生成参考图像和目标图像,(iii)对参考图像和目标图像执行视差操作,以及(iv)响应于视差操作而构建视差角度图,其中视差操作包括:(a)选择多个网格像素,(b)针对每个网格像素测量视差角度,(c)通过求解网格像素的视差角度图的表面公式来计算多个系数,以及(d)利用系数针对像素数据生成视差角度图中的值。
在上面描述的方法方面的一些实施例中,方法还包括通过使用视差角度图执行图案移位匹配来使用处理器构建视差图。在一些实施例中,方法还包括通过利用视差角度图应用定向块匹配过程来执行图案移位匹配。
在上面描述的方法方面的一些实施例中,方法还包括通过执行离线校准程序来构建视差角度图,该离线校准程序包括:捕获包含被投射到在第一距离处的墙壁上的斑点图案的第一图像,以及捕获包含被投射到在第二距离处的墙壁上的斑点图案的第二图像。
在上面描述的方法方面的一些实施例中,方法还包括通过执行在线校准程序来构建视差角度图,该在线校准程序包括:捕获包含被投射到在第一距离处的对象上的斑点图案的第一图像,以及捕获包含被投射到在第二距离处的对象上的斑点图案的第二图像。
在上面描述的方法方面的一些实施例中,方法还包括通过对包含网格像素的参数表面应用回归算法来求解网格像素的视差角度图的表面公式,从而计算多个系数。在一些实施例中,回归算法包括最小二乘回归算法。在一些实施例中,参数表面包括三次参数表面。
在上面描述的方法方面的一些实施例中,方法还包括使用相机生成像素数据以及使用结构光投射器将斑点图案投射到对象上。在一些实施例中,方法还包括:(i)生成包括被投射到距相机第一距离处的对象上的斑点图案的参考图像,(ii)生成包括被投射到距相机第二距离处的对象上的斑点图案的目标图像,以及(iii)使用处理器针对每个网格像素测量视差角度,以确定参考图像中的斑点图案与目标图像中的斑点图案之间的图案移位。
附图说明
通过下面的详细描述以及所附的权利要求书和附图,本发明的实施例将变得显而易见。
图1是示出根据本发明的示例实施例的单目相机立体系统的图。
图2是示出根据本发明的示例实施例的单目相机立体系统的元件的图。
图3是示出单目相机立体系统的示例几何形状的图。
图4是示出由图3的结构光投射器投射到墙壁上的结构光(或斑点)图案的图。
图5是示出使用良好安装的结构光投射器的单目相机立体系统的视差确定的图。
图6是示出当结构光投射器安装偏离x轴时,单目相机立体系统的视差确定如何改变的图。
图7是示出当结构光投射器沿着z轴移动时,单目相机立体系统的视差确定如何改变的图。
图8是示出在局部范围内的块匹配的图。
图9是示出根据本发明的另一示例实施例的校准过程的流程图。
图10是示出用于针对网格像素测量视差角度的过程的流程图。
图11是示出用于针对目标图像中的所有像素生成视差角度图的过程的流程图。
图12是示出根据本发明的示例实施例的在执行典型的块匹配例程与执行定向块匹配例程之间的结果的图。
图13是示出根据本发明的另一示例实施例的装置的图。
具体实施方式
本发明的实施例包括提供对单目相机立体系统中的结构光投射器的安装校准,其可以(i)克服安装限制,(ii)减少视差测量对结构光投射器安装的依赖性,(iii)生成视差角度图,(iv)实现定向块匹配(OBM)算法,和/或(v)被实现为一个或多个集成电路。
参考图1,示出了说明根据本发明的示例实施例的单目相机立体系统的示例实现方式的装置的框图。在示例中,系统100可以实现3D感测平台,该3D感测平台包括使用具有结构光投射器的红外(IR)或RGB-IR图像传感器的单目相机立体系统。在示例中,系统100可以包括块(或电路)102、块(或电路)104、块(或电路)106和/或块(或电路)108。电路102可以被实现为控制电路(例如,专用电路、嵌入式控制器、处理器、微处理器等)。电路104可以实现红外结构光投射器。电路106可以实现安全/监控相机(或模块)(security/surveillancecamera(or module))。电路108可以实现图像信号处理(ISP)电路(或处理器或前端)。在示例中,电路108可能能够执行多通道ISP。
在示例中,电路102可以包括块(或电路)110。块110可以实现结构光(SL)控制电路(或功能)。在另一示例中,电路102和110可以被实现为单独的电路核心,其可以在单个集成电路衬底(或管芯)上或在多芯片模块(MCM)中被实例化。在示例中,电路102和108(以及当与电路102分离时的电路110)可以在单个集成电路或片上系统(SOC)112中实现。
在各种实施例中,电路102可以被配置为实现根据本发明的示例实施例的视差角度图生成(DAMG)技术114。在示例中,可以使用硬件、软件或硬件和软件的组合来实现视差角度图生成(DAMG)技术114。在以软件或作为硬件和软件的组合来实现视差角度图生成(DAMG)技术114的实施例中,实现视差角度图生成(DAMG)技术114的计算机可执行指令可以存储在电路102上或与电路102相关联的存储器中。在各种实施例中,电路102还可以被配置为实现根据本发明的示例实施例的定向块匹配(OMB)技术116。在示例中,可以使用硬件、软件或硬件和软件的组合来实现定向块匹配(OMB)技术116。在以软件或作为硬件和软件的组合来实现定向块匹配(OMB)技术116的实施例中,实现定向块匹配(OMB)技术116的计算机可执行指令可以存储在电路102上或与电路102相关联的存储器中。
在各种实施例中,电路102可以连接到IR结构光投射器104、相机106和ISP电路108。相机106还可以连接到ISP电路108。在示例中,电路102通常提供中央控制机制以使IR投射器104和相机106的时序同步。在示例中,电路102可以被配置为控制IR投射器104的结构光源120。在各种实施例中,电路102还可以被配置为利用由相机106捕获的图像来执行结构光投射器安装校准例程(算法)。在一个示例中,可以使用墙壁的图像离线地执行安装校准,一个图像在近(例如,20cm)距离处,并且另一图像在远(例如,50cm)距离处。在另一示例中,可以使用对象的图像实时地(例如,在部署之后在线地)执行安装校准,一个对象在近距离处,并且第二对象在远距离处。在另一示例中,可以周期性地执行安装校准以维持和/或更新系统100的性能。
在示例中,电路102还可以被配置为控制相机106的红外(IR)或RGB-IR传感器130。在示例中,电路102还可以被配置为控制ISP电路108以与相机106的输出同步。在各种实施例中,电路102可以被配置为生成一个或多个视频输出信号(例如,VIDOUT)以及信号(例如,DISPARITY MAP)。在示例中,信号DISPARITY MAP可以用于确定深度信息。
在各种实施例中,电路102可以被配置为执行根据本发明的实施例的校准过程。在示例中,电路102可以被配置为生成视差角度图,该视差角度图包括由相机106捕获的图像的每个像素的视差角度信息。在各种实施例中,电路102可以被配置为执行可以与校准过程协作的定向块匹配(OBM)算法。在示例中,OBM算法可以使用在校准过程期间生成的视差角度图通过图案移位匹配来构建视差图。在一些实施例中,电路102还可以被配置为输出在校准期间生成的视差角度图。
在各种实施例中,由处理器102生成的视频输出信号VIDOUT可以编码用于不同目的的各种视频流。在一个示例中,没有结构光图案污染并且没有附加的IR照明的IR通道数据可以在白天模式下用于面部检测、面部识别和/或实时视频馈送。在另一示例中,没有结构光图案污染并且具有附加的IR照明的IR通道数据可以在夜间模式下用于面部检测、面部识别和/或实时视频馈送。在又一个示例中,具有结构光图案并且没有附加的IR照明的IR通道数据可以在白天模式和夜间模式两个模式下用于深度分析和存在性(liveness)确定。在利用RGB-IR传感器的实施例中,没有结构光图案污染的RGB通道数据可以在白天模式下用于面部检测和面部识别和/或实时视频馈送。在示例中,具有结构光图案污染的RGB通道数据可以被丢弃。
在一些实施例中,电路106可以被配置为呈现信号(例如,ES)。信号ES可以指示传感器130何时开始曝光(或提供使用传感器130何时开始曝光的预定义的公式来促进计算的信息)。在一个示例中,卷帘式快门传感器130的闪光销(flash pin)可以被配置为生成信号ES。在另一示例中,来自电路106的其他传感器信号可以用于(例如,使用预定义的公式等)计算何时开始曝光。电路110可以利用来自电路106的信号ES以控制电路104。在另一示例中,信号ES可以被配置为响应于传感器130开始曝光而生成中断。该中断可以使得电路110开始IR投射器104的结构光源120的预定义的开启时段。在示例中,电路110可以被配置为以预定义的开启时段对计时器进行编程。响应于接收到信号ES,电路110可以启动计时器以在预定义的时间段内开启结构光源。
在示例中,电路102可以具有可以接收信号ES的输入端、可以经由信号(例如,ISP_SYNC)与电路108的第一输入/输出端通信的第一输入/输出端、可以与电路108的第二输入/输出端传送红外图像通道(例如,IR DATA)的第二输入/输出端、可以与电路108的第三输入/输出传送彩色图像通道(例如,RGB DATA)的可选的第三输入/输出端、可以呈现信号(例如,SL_TRIG)的第一输出端、可以呈现一个或多个视频输出信号VIDOUT的第二输出端以及可以呈现信号DISPARITY MAP的第三输出端。在示例中,电路104可以具有可以接收信号SL_TRIG的输入端。电路104可以被配置为基于信号SL_TRIG来生成结构光图案。
在示例中,电路106可以具有可以呈现信号ES(或者可以用于计算曝光的开始的另一信号通信信息)的输出端,以及可以向电路108的第四输入/输出端传送信号(例如,RAWVIDEO)的输入/输出端。在示例中,信号RAW VIDEO可以将视频像素信息的单个通道(例如,IR)传送到电路108。在另一示例中,信号RAW VIDEO可以将视频像素信息的四个通道(例如,R、G、B和IR)传送到电路108。在示例中,电路106和108还可以经由携带信号RAW VIDEO的连接交换控制和/或状态信号。
在示例中,电路108可以被配置为将从电路106接收到的四通道RGB-IR视频信号RAW VIDEO划分为单独的IR图像数据通道和RGB图像数据通道。在使用RGB-IR传感器的实施例中,电路108可以被配置为响应于信号RAW VIDEO而生成具有信号IR DATA的第一图像通道和具有信号RGB DATA的第二图像通道。第一图像通道IR DATA通常包括单色图像数据。第二图像通道RGB DATA通常包括彩色图像数据。在示例中,彩色图像数据可以包括RGB彩色空间数据或YUV彩色空间数据。当结构光图案由电路104投射时,第一图像通道IR DATA通常包括IR图像数据和由电路104投射的结构光图案两者。当结构光图案未由电路104投射时,第一图像通道IR DATA通常包括IR图像数据,而没有结构光图案。当结构光图案由电路104投射时,第二图像通道RGB DATA通常也包括由电路104投射的结构光图案,并且因此通常被忽略。
在示例中,由第一图像通道IR DATA携带的结构光图案数据可以由电路102分析以获得针对相机106的视场的3D(例如,深度)信息。电路102还可以被配置为基于由第一图像通道IR DATA携带的结构光图案数据来进行存在性确定。在示例中,电路102可以分析RGB(或YUV)数据以及IR数据,以辨别(例如,检测、识别等)在相机106的视场中的一个或多个特征或对象。在示例中,电路110可以被配置为生成信号SL_TRIG。电路110可以实现结构光控制时序协议。在示例中,电路110可以以硬件、软件(或固件、微编码等)或硬件和软件的组合来实现。
在示例中,电路120可以被实现为结构光源。在示例中,电路120可以被实现为垂直腔表面发射激光器(VCSEL)的阵列和镜头。然而,可以实现其他类型的结构光源以满足特定应用的设计标准。在示例中,VCSEL的阵列通常被配置为生成激光图案。镜头通常被配置为将激光图案分解为密集的点(或斑点)图案阵列。在示例中,电路120可以实现近红外(NIR)光源。在各种实施例中,电路120的光源可以被配置为发射波长大约为940纳米(nm)的光,该光对于人眼是不可见的。然而,可以利用其他波长。在示例中,可以利用在大约为800nm-1000nm的范围内的波长。在示例中,电路120可以被配置为响应于信号SL_TRIG而发射结构光图案。在示例中,可以由电路102控制(例如,编程)由电路120发射的光的时段和/或强度。在示例中,电路102可以在断言信号SL_TRIG之前配置电路120。
在示例中,可以利用全局快门图像传感器或卷帘式快门图像传感器来实现电路130。当利用全局快门图像传感器实现电路130时,传感器的所有像素可以同时开始曝光。当利用卷帘式快门图像传感器实现电路130时,随着传感器的每一排(或行)开始曝光,该排(或行)中的所有像素可以同时开始曝光。在示例中,可以利用红外(IR)传感器或RGB-IR图像传感器来实现电路130。在示例中,RGB-IR图像传感器可以被实现为RGB-IR互补金属氧化物半导体(CMOS)图像传感器。
在一个示例中,电路130可以被配置为响应于开始曝光而断言信号ES。在另一示例中,电路130可以被配置为断言另一信号,该信号可以用于使用预定义的公式来计算传感器的曝光的开始。在示例中,电路130可以被配置为生成信号RAW VIDEO。在示例中,电路130可以将掩模应用到单色传感器。在示例中,掩模可以包括多个单元,这些单元包含一个红色像素、一个绿色像素、一个蓝色像素和一个IR像素。IR像素可以包含红色、绿色和蓝色滤波器材料,这些滤波器材料可以有效地吸收可见频谱中的所有光,同时允许更长的红外波长以最小的损失通过。由于硬件限制,红色、绿色和蓝色像素也可以接收(响应于)更长的红外波长。因此,红外结构光图案(如果存在)会污染RGB通道。由于结构光污染,当存在红外结构光图案时,通常可以忽略RGB帧。
参考图2,示出了说明根据本发明的示例实施例的单目相机立体系统的元件的图。在示例中,单目相机立体系统100可以包括壳体140和处理器102。红外(IR)结构光投射器104(包括第一镜头和结构光源120)和相机106(包括第二镜头和电路130的IR图像传感器或RGB-IR图像传感器)可以安装在壳体104中。在一个示例中,处理器102也可以安装在壳体140内。在另一示例中,处理器102可以位于壳体140的外部或远程。IR结构光投射器104可以被配置为在开启时将结构光图案(SLP)投射到相机106的视场中的对象上。电路130的IR图像传感器可以用于获取针对相机106的视场中的对象的IR图像数据(具有和不具有结构光图案)。电路130的RGB-IR图像传感器(如果被实现的话)可以用于获取针对相机106的视场中的对象的IR图像数据(具有和不具有结构光图案)和RGB图像数据(不具有结构光图案)两者。单目相机立体系统100通常提供优于常规的双相机3D感测系统的优点。通过利用RGB-IR图像传感器获得具有和不具有结构光图案(SLP)的RGB图像数据和IR图像数据两者,相对于常规系统,单目相机立体系统100可以降低系统成本和系统复杂度(例如,一个传感器和一个镜头对两个传感器和两个镜头)。
在示例中,处理器102可以利用来自电路130的RGB-IR传感器的RGB-IR数据,该RGB-IR数据已经被分开为(划分为)第一图像数据通道和第二图像数据通道,该第一图像数据通道包括具有存在的结构光图案的IR图像数据,该第二图像数据通道包括不具有存在的结构光图案的RGB图像数据和/或IR图像数据。在示例中,第一图像数据通道和第二图像数据通道可以由处理器102处理以用于3D(例如,深度)感知、存在性确定、3D面部识别、对象检测、面部检测、对象识别和面部识别。在示例中,包括具有存在的结构光图案的IR图像数据的第一图像数据通道可以用于执行根据本发明的示例实施例的结构光投射器安装校准过程。包括具有存在的结构光图案的IR图像数据的第一图像数据通道也可以用于执行深度分析、存在性确定和/或3D面部识别。在示例中,处理器102可以被配置为基于在投射器安装校准期间生成的视差角度图来生成视差图输出。包括不具有存在的结构光图案的IR图像数据和不具有存在的结构光图案的RGB图像数据的第二图像数据通道可以用于生成编码的(或压缩的)视频信号、位流或多个位流,并且用于执行对象检测、面部检测、对象识别和/或面部识别。
参考图3,示出了说明单目相机立体系统的元件的示例布置的示意图。在各种实施例中,相机传感器130的平面150与相机106的镜头154的平面152垂直分离。在理想的安装位置,结构光投射器104的中心被限制为与相机106的镜头154的光学中心水平(例如,在X轴上)且垂直(例如,在Z轴上)对齐。由于该限制,可能由于以下原因而限制单目相机立体系统的使用。在生产中,为了确保理想的对齐,需要结构光投射器104的高安装准确度,这可能增加生产成本并降低效率。在设计中,结构光投射器104的高安装准确度标准可能会限制组件分布并引起尺寸问题。在各种实施例中,通常提供一种解决方案,该解决方案克服了在将结构光投射器104安装在单目相机立体系统中时的安装限制并且允许了在将结构光投射器104安装在单目相机立体系统中时的灵活性(例如,较低的准确度)。
参考图4,示出了说明由图3的结构光投射器104投射到对象上的结构光(或斑点)图案的图。在示例中,结构光投射器104生成散布光的点光源,从而在对象(例如,墙壁等)160上形成点或斑点图案。当对象160朝向相机106或远离相机106移动时,对象160上的斑点图案通常水平移位。在根据本发明的实施例的校准过程期间,对象160上的斑点图案的参考图像可以在第一(例如,近)距离(R)处被捕获,并且对象160上的斑点图案的目标图像可以在第二(例如,远)距离(X)处被捕获。在示例中,参考图像的距离可以是20厘米(cm),并且目标图像的距离可以是50cm。可以相应地使用其他近距离和/或远距离。可以通过测量由相机传感器130捕获的斑点图案的移位(例如,M=X-R)来计算移动距离(M)。也可以确定两个捕获的图像之间的斑点图案的移位的角度。斑点图案的移位偏移的角度可以被称为视差角度。
参考图5,示出了说明与具有良好(准确地)安装的结构光投射器104的单目相机立体系统100的视差的图170。在示例中,相机传感器130的矩形平面150可以平行于包含相机106的镜头154和结构光投射器104的XY平面152,并且传感器130的像素行(例如,由虚线表示)可以与X轴方向对齐。点A可以用于表示镜头154的光学中心,点B可以用于表示结构光投射器104的安装点。点H和点G可以用于分别表示距相机106不同距离处的目标墙壁172和参考墙壁174上的斑点中的一个。斑点G可以由相机传感器130在点C处捕获,并且斑点H可以由相机传感器130在点D处捕获。视差值通常被定义为线CD的长度(例如,当对象从H移动到G时,斑点图案从D移位到C)。
平面ABG通常由三个点A、B和G定义。平面ABG在视差线CD处与图像传感器130的平面150相交并且在X轴处与XY平面152相交。因为平面ABG在视差线CD处与图像传感器130的平面150相交并且在X轴处与XY平面152相交,所以视差线CD总是平行于X轴。在诸如块匹配(BM)和半全局块匹配(SGBM)之类的现有的视差算法中,视差线CD必须保持与X轴方向对齐,而与X轴没有任何夹角。因此,现有的视差算法限制了结构光投射器104相对于相机106的安装。
参考图6,示出了说明当结构光投射器104的安装在XY平面152中被移位时与单目相机立体系统100的视差的图180。给定与图5中相同的条件,当结构光投射器104的安装点从X轴上的点B移位到XY平面152内的点(B’)时,线AB’与X轴之间出现角度Theta。平面AB’G在视差线CD处与图像传感器130的平面150相交,并且在线AB’处与XY平面152相交。由于视差线CD总是平行于线AB’,因此视差线CD也与图像传感器130的像素行成角度Theta。在图6中示出的其中结构光投射器104在XY平面152中被移位的示例中,图像传感器130中的所有像素通常具有相同的视差角度Theta。
参考图7,示出了说明当结构光投射器104的安装沿Z轴被移位时与单目相机立体系统100的视差的图190。给定与图6中相同的条件(除了结构光投射器104沿Z轴从点B到B’进行上/下移位之外),平面AB’G在视差线CD处与图像传感器130的平面150相交,并且在线AF处与XY平面152相交。线AF与X轴之间出现角度Theta。因为视差线CD总是平行于线AF,所以视差线CD也与图像传感器130的像素行成角度Theta。在图7中的其中结构光投射器104沿着Z轴被移位的示例中,不同的像素可以具有不同的视差角度。
概括而言,结构光投射器104的安装点不仅可以如图6中那样移位,而且也可以如图7中那样移位。与图5中的示例相比,视差角度通常如图6和图7所示。当结构光投射器104的安装点的移位是图6和图7的组合时,当对象160从点H移动到点G时,斑点图案通常以倾斜角从D移位到C。对于诸如块匹配(BM)和半全局块匹配(SGBM)之类的现有的立体算法,视差角度应严格为零。当视差角度不为零时,现有的立体算法无法正常工作,因为现有的立体算法只能在一行中通过水平移位来执行图案匹配。
在根据本发明的示例实施例的算法中,可以为每个像素指派视差角度(例如,视差角度图)。当为每个像素指派视差角度时,可以定义新的块匹配方案(例如,定向BM或SGBM算法),该新的块匹配方案可以通过在每个像素的指派的视差角度处的移位来引导图案匹配。根据本发明的示例实施例的校准技术通常被配置为帮助针对由图像传感器130捕获的图像中的像素中的每一个像素建立视差角度的图。新的块匹配方案可以利用视差角度图来生成不依赖于理想的安装限制的视差图。
参照图8,示出了说明根据本发明的示例实施例的利用局部搜索范围的块匹配操作的图200,该块匹配操作可以是校准过程(或程序)的一部分。在各种实施例中,可以执行多个校准步骤以针对捕获的图像的像素建立视差角度图。在其中结构光投射器104被灵活地(或不那么理想地)安装在单目相机立体设备上的示例中,结构光投射器104可能与相机镜头154的光学中心未对齐(例如,如图6和7中示出的,在X/Y/Z轴上具有移位偏移)。
在校准过程的第一步骤中,可以将相机放置在白色墙壁前方,可以打开结构光投射器的电源,并且可以捕获两个斑点图案图片,在近距离(例如,20cm)处捕获的第一(例如,参考)图片202以及在远距离(例如,50cm)处捕获的第二(例如,目标)图片。在校准过程的下一步骤中,可以在参考图片202中选择网格像素(例如,在图8中示为黑点)。通过使用以下子步骤针对每个网格像素测量视差角度,可以继续进行校准过程。
在第一子步骤中,可以针对目标图片204中的网格像素估计局部搜索范围206(例如,由图8中的长划线框轮廓示出)。在示例中,可以建议矩形搜索范围。在下一个子步骤中,可以在参考图片202中的网格像素周围裁剪图案块。在示例中,可以在参考图片202中位于(x0,y0)处的网格像素周围裁剪图案块。在下一个子步骤中,可以在目标图片204中的局部搜索范围206中的像素上移位图案块,并且可以执行块匹配操作以将图案块与局部搜索范围206中的像素进行匹配,以找到具有最佳图案匹配(例如,由图8中的短划线框轮廓示出)的块208(例如,在目标图片204中位于(x1,y1)处)。在下一个子步骤中,可以确定连接位于坐标(x0,y0)处的点和位于坐标(x1,y1)处的点的线。连接两个点的线是视差线(例如,由图8中的虚线示出)。在示例中,视差角度的正切可以被确定为(y1-y0)/(x1-x0)。在示例中,可以通过填充针对每个网格像素计算出的正切值来将视差角度图生成为二维(2D)矢量。通常针对参考图片202中的网格像素中的每一个重复该过程。
此时,可能仍然存在要解决的一些问题:(i)仅获得了网格像素的视差角度,而不是像素的完整的图;(ii)即使匹配标准是最佳匹配,但是由于非常低的匹配置信度,因此网格像素中的一些的视差角度可能尚未获得;(iii)由于某些不匹配,可能已经获得视差角度的错误测量结果。在校准过程的下一个步骤中,可以校正错误的视差角度,并且可以生成完整的(密集)视差角度图。在第一子步骤中,视差角度图的矩阵可以被视为参数表面。在示例中,可以使用以下等式1表示参数表面的表面公式:
z=ax^3+bx^2y+cxy^2+dy^3+ex^2+fxy+gy^2+hx+my+n 等式1
其中,z是视差角度的正切值,并且(x,y)是传感器平面150中的像素坐标。当确定了十个系数a、b、c、d、e、f、g、h、m和n时,通常就针对图确定(固定)了表面。
基于网格像素的测量结果,可以使用回归方法容易地获得最佳拟合表面。在示例中,可以利用最小二乘回归(LSR)方法。在具有N个测量结果对(xi,yi)->zi(其中(xi,yi)是网格像素的轴,并且zi是网格像素的正切值)的示例中,系数a、b、c、d、……、m和n可以通过求解以下公式计算出:
当已经计算出系数时,就固定了表面公式。求解出的公式可以用于预测所有网格像素的更新后的视差角度图。所有网格像素的更新后的视差角度图通常包括对任何错误的视差线和任何丢失的视差线的校正。在第二子步骤中,可以使用以下公式预测非网格像素的视差角度:
当已经预测了非网格像素的视差角度时,就已经获得了视差角度的完整图。
在已经执行了校准过程之后,视差角度的图是完整的并能够使用。在示例中,可以根据本发明的实施例修改典型的块匹配(BM)算法,以获得可以与根据本发明的实施例的校准过程协作的定向块匹配(OBM)过程。OBM过程可能与典型的BM算法相似,除了典型的BM过程通过在水平行中的图案移位匹配来构建视差,而OBM过程则使用在校准过程期间生成的视差角度的图中的视差角度通过图案移位匹配来建立视差。
在示例中,校准过程可以利用上面由等式2描述的三次参数表面:
z=ax^3+bx^2y+cxy^2+dy^3+ex^2+fxy+gy^2+hx+my+n 等式2
然而,校准过程不限于使用三次参数表面。可以使用其他阶的参数表面来满足特定实现方式的设计标准。另外地,参数表面的回归不限于LSR回归方法。可以相应地实现其他回归算法以满足特定实现方式的设计标准。在各种实施例中,可以使用上面描述的校准过程来构建视差角度图,并将其应用于修改后的块匹配算法(例如,上面描述的定向块匹配(OBM)算法)。然而,可以应用根据本发明的实施例的视差角度图以修改其他立体算法(例如,SGBM等)。在示例中,已经描述了使用对两张墙壁图片的捕获的离线校准过程,其中一张图片是在近距离处捕获的,并且另一图片是在远距离处捕获的。然而,还可以利用根据本发明的实施例的校准过程以通过捕获对象的两张图片来执行在线校准,其中一张图片是在对象处于近距离处时捕获的,并且另一图片是在对象处于远距离时捕获的。
参考图9,示出了过程300的流程图。过程(或方法)300可以执行根据本发明的另一示例实施例的安装校准过程。过程300通常包括步骤(或状态)302、步骤(或状态)304、步骤(或状态)306、步骤(或状态)308、步骤(或状态)310、步骤(或状态)312、步骤(或状态)314、决策步骤(或状态)316、步骤(或状态)318和步骤(或状态)320。过程300通常在步骤302中开始并且移动到步骤304。在步骤304中,可以将相机106放置在白色墙壁前方。在步骤306中,可以打开结构光投射器104的电源。在步骤308中,在近距离(例如,20cm)处捕获由结构光投射器104投射到墙壁上的斑点图案的第一(例如,参考)图片202。在步骤310中,在远距离(例如,50cm)处捕获投射到墙壁上的斑点图案的第二(例如,目标)图片204。在步骤312中,可以选择参考图片202中的网格像素。在步骤314中,可以测量针对所选择的网格像素的视差角度。在步骤316中,过程300检查是否已经针对所有网格像素测量了视差角度。如果尚未测量针对所有网格像素的视差角度,则过程300返回到步骤314以处理下一个网格像素。当已经测量了针对所有网格像素的视差角度时,过程300移动到步骤318。
此时,可能仍然存在要解决的一些问题:仅获得了网格像素的视差角度,而不是像素的完整的图;即使匹配标准是最佳匹配,但是由于非常低的匹配置信度,因此网格像素中的一些的视差角度可能尚未获得;由于某些不匹配,可能获得视差角度的错误测量结果。在步骤318中,过程300校正错误的视差角度,并且生成非网格像素的完整的(密集)视差角度图。当已经生成完整的(密集)视差角度图时,过程300移动到步骤320并终止。
参考图10,示出了过程400的流程图。过程(或方法)400总体上示出了根据本发明的另一示例实施例的用于针对网格像素测量视差角度的过程。过程400通常包括步骤(或状态)402、步骤(或状态)404、步骤(或状态)406、步骤(或状态)408、步骤(或状态)410、步骤(或状态)412、步骤(或状态)414、步骤(或状态)416、决策步骤(或状态)418、步骤(或状态)420和步骤(或状态)422。处理400可以在步骤402中开始并且移动到步骤404。
在步骤404中,可以针对目标图片204中的网格像素估计局部搜索范围206(例如,由图8中的长划线框轮廓示出)。在示例中,可以建议矩形搜索范围。在步骤406中,过程400可以开始针对目标图片204中的网格像素中的每一个确定视差角度。在步骤408中,过程400可以在参考图片202中的网格像素周围裁剪图案块。在示例中,可以在参考图片202中位于(x0,y0)处的网格像素周围裁剪图案块。在步骤410中,过程400可以在目标图片204中的局部搜索范围206中的像素上移位图案块,并且执行块匹配操作以将图案块与局部搜索范围206中的像素进行匹配,以找到具有最佳图案匹配的块208(例如,在目标图片204中位于(x1,y1)处)。在步骤412中,过程400可以确定连接位于坐标(x0,y0)处的点和位于坐标(x1,y1)处的点的线。连接两个点的线是视差线。在步骤414中,过程400可以将视差角度的正切确定为(y1-y0)/(x1-x0)。在步骤416中,过程400可以将针对网格像素计算出的正切值填充到表示网格像素的视差角度图的二维(2D)矢量中。在步骤418中,过程400检查以确定是否已经针对参考图片中的所有网格像素计算了正切值。当尚未针对参考图片中的所有网格像素计算正切值时,过程400移动到步骤420以选择下一个网格像素,然后返回到步骤408。当已经针对参考图片中的所有网格像素计算正切值时,过程400移动到步骤422并终止。
参考图11,示出了过程500的流程图。过程(或方法)500总体上示出了根据本发明的示例实施例的用于针对目标图像中的所有像素生成视差角度图的过程。过程500通常包括步骤(或状态)502、步骤(或状态)504、步骤(或状态)506、步骤(或状态)508和步骤(或状态)510。过程500可以开始于步骤502并且移动到步骤504。在步骤504中,过程500可以确定视差角度图矩阵的参数表面公式的系数。在示例中,视差角度图矩阵可以被视为参数表面。在示例中,可以使用以下等式1表示参数表面的表面公式:
z=ax^3+bx^2y+cxy^2+dy^3+ex^2+fxy+gy^2+hx+my+n 等式1
其中,z是视差角度的正切值,并且(x,y)是传感器平面150中的像素坐标。当确定了十个系数a、b、c、d、e、f、g、h、m和n时,通常就针对视差角度图确定(固定)了表面。
在步骤506中,过程500可以使用回归方法确定最佳拟合表面公式。基于网格像素的测量结果,可以使用诸如最小二乘回归(LSR)之类的回归方法容易地获得最佳拟合表面。在具有N个测量结果对(xi,yi)->zi(其中(xi,yi)是网格像素的轴,并且zi是网格像素的正切值)的示例中,系数a、b、c、d、……、m和n可以通过求解以下公式计算出:
当已经计算出系数时,就固定了表面公式。求解出的公式可以用于预测所有网格像素的更新后的视差角度图。所有网格像素的更新后的视差角度图包括对任何错误的视差线和任何丢失的视差线的校正。当已经预测了所有网格像素的更新后的视差角度图时,过程500可以移动到步骤508。在步骤508中,过程500可以使用在步骤506中确定出的最佳拟合表面公式来预测图像的所有像素的更新后的视差角度图。在示例中,可以通过以下公式预测非网格像素的视差角度:
当已经预测了非网格像素的视差角度时,就已经获得了视差角度的完整图。然后,过程500可以移动到步骤510并终止。
参考图12,示出了说明根据本发明的示例实施例的在执行典型的块匹配例程与执行定向块匹配例程之间的示例结果的图600。在示例中,图片602总体上示出了当结构光投射器104没有被准确地安装在单目相机立体系统中时,在没有对视差角度进行校准的情况下运行典型的块匹配算法的结果。在没有对视差角度进行校准的情况下,典型的块匹配算法的结果中存在很多噪声。图片604总体上示出了当结构光投射器104没有被准确地安装在单目相机立体系统中时,与根据本发明的示例实施例的对视差角度的校准协作运行根据本发明的示例实施例的定向块匹配算法的改进的结果。
参考图13,示出了说明单目相机立体设备800的示例实现方式的框图。在示例中,单目相机立体设备800可以包括块(或电路)802、块(或电路)804、块(或电路)806、块(或电路)808、块(或电路)810、块(或电路)812、块(或电路)814、块(或电路)816、块(或电路)818和/或块(或电路)820。电路802可以被实现为处理器和/或片上系统(SoC)。电路804可以被实现为捕获设备。电路806可以被实现为存储器。块808可以被实现为光学镜头。电路810可以被实现为结构光投射器。块812可以被实现为结构光图案镜头。电路814可以被实现为一个或多个传感器(例如,运动、环境光、接近、声音等)。电路816可以被实现为通信设备。电路818可以被实现为无线接口。电路820可以被实现为电池820。
在一些实施例中,单目相机立体设备800可以包括处理器/SoC 802、捕获设备804、存储器806、镜头808、IR结构光投射器810、镜头812、传感器814、通信模块816、无线接口818和电池820。在另一示例中,单目相机立体设备800可以包括捕获设备804、镜头808、IR结构光投射器810、镜头812和传感器814,并且处理器/SoC 802、存储器806、通信模块816、无线接口818和电池820可以是单独的设备的组件。单目相机立体设备800的实现方式可以根据特定实现方式的设计标准而变化。
镜头808可以附接到捕获设备804。在示例中,捕获设备804可以包括块(或电路)822、块(或电路)824和块(或电路)826。电路822可以实现图像传感器。在示例中,电路822的图像传感器可以是IR图像传感器或RGB-IR图像传感器。电路824可以是处理器和/或逻辑。电路826可以是存储器电路(例如,帧缓冲器)。
捕获设备804可以被配置为捕获视频图像数据(例如,由镜头808收集并聚焦的光)。捕获设备804可以捕获通过镜头808接收到的数据以生成视频位流(例如,视频帧的序列)。在各种实施例中,镜头808可以被实现为定焦镜头。定焦镜头通常促进更小的尺寸和低功率。在示例中,定焦镜头可以用于电池供电的门铃和其他低功率相机应用。在一些实施例中,镜头808可以被定向、倾斜、平移、缩放和/或旋转以捕获单目相机立体设备800周围的环境(例如,捕获来自视场的数据)。在示例中,可以利用主动镜头系统(active lens system)来实现专业相机模型,以用于增强的功能、远程控制等。
捕获设备804可以将接收到的光转换为数字数据流。在一些实施例中,捕获设备804可以执行模数转换。例如,图像传感器822可以对由镜头808接收到的光执行光电变换。处理器/逻辑824可以将数字数据流转换为视频数据流(或位流)、视频文件和/或多个视频帧。在示例中,捕获设备804可以将视频数据呈现为数字视频信号(例如,RAW VIDEO)。数字视频信号可以包括视频帧(例如,顺序数字图像和/或音频)。
由捕获设备804捕获的视频数据可以被表示为由数字视频信号RAW VIDEO传送的信号/位流/数据。捕获设备804可以将信号RAW VIDEO呈现给处理器/SoC 802。信号RAWVIDEO可以表示视频帧/视频数据。信号RAW VIDEO可以是由捕获设备804捕获的视频流。
图像传感器822可以从镜头808接收光并且将光转换为数字数据(例如,位流)。例如,图像传感器822可以对来自镜头808的光执行光电变换。在一些实施例中,图像传感器822可以具有不被用作图像输出的一部分的额外裕度。在一些实施例中,图像传感器822可以不具有额外裕度。在各种实施例中,图像传感器822可以被配置为生成RGB-IR视频信号。在仅红外光照明的视场中,图像传感器822可以生成单色(B/W)视频信号。在由IR光和可见光两者照明的视场中,图像传感器822可以被配置为除了单色视频信号之外还生成彩色信息。在各种实施例中,图像传感器822可以被配置为响应于可见光和/或红外(IR)光而生成视频信号。
处理器/逻辑824可以将位流转换为人类可查看的内容(例如,普通人都可理解的视频数据(不论图像质量),例如,视频帧)。例如,处理器/逻辑824可以从图像传感器822接收纯(例如,原始)数据,并且基于原始数据来生成(例如,编码)视频数据(例如,位流)。捕获设备804可以具有存储器826以存储原始数据和/或经处理的位流。例如,捕获设备804可以实现帧存储器和/或缓冲器826以存储(例如,提供临时存储和/或高速缓存)视频帧中的一个或多个(例如,数字视频信号)。在一些实施例中,处理器/逻辑824可以对存储在捕获设备804的存储器/缓冲器826中的视频帧执行分析和/或校正。
传感器814可以实现多个传感器,包括但不限于运动传感器、环境光传感器、接近传感器(例如,超声、雷达、激光雷达等)、音频传感器(例如,麦克风)等。在实现运动传感器的实施例中,传感器814可以被配置为检测在由单目相机立体设备800监视的视场中的任何地方的运动。在各种实施例中,运动的检测可以用作用于激活捕获设备804的一个阈值。传感器814可以被实现为单目相机立体设备800的内部组件和/或被实现为单目相机立体设备800外部的组件。在示例中,传感器814可以被实现为无源红外(PIR)传感器。在另一示例中,传感器814可以被实现为智能运动传感器。在实现智能运动传感器的实施例中,传感器814可以包括被配置为检测运动和/或人的低分辨率图像传感器。
在各种实施例中,传感器814可以生成信号(例如,SENS)。信号SENS可以包括由传感器814收集的各种数据(或信息)。在示例中,信号SENS可以包括响应于运动在被监视的视场中被检测到而被收集的数据、在被监视的视场中的环境光级别和/或在被监视的视场中拾取的声音。然而,可以基于特定应用的设计标准来收集和/或生成其他类型的数据。可以将信号SENS呈现给处理器/SoC 802。在示例中,当运动在由单目相机立体设备800监视的视场中被检测到时,传感器814可以生成(断言)信号SENS。在另一示例中,当由在单目相机立体设备800监视的视场中的音频触发传感器814时,传感器814可以生成(断言)信号SENS。在又一示例中,传感器814可以被配置为提供关于在视场中检测到的运动和/或声音的方向信息。方向信息也可以经由信号SENS传送到处理器/SoC 802。
处理器/SoC 802可以被配置为执行计算机可读代码和/或过程信息。在各种实施例中,计算机可读代码可以被存储在处理器/SoC 802内(例如,微码等)和/或存储器806中。在示例中,处理器/SoC 802可以被配置为执行存储在存储器806中的一个或多个人工神经网络模型(例如,面部识别CNN、对象检测CNN、对象分类CNN等)。在示例中,存储器806可以存储一个或多个有向无环图(DAG)以及定义一个或多个人工神经网络模型的一个或多个权重集。处理器/SoC 802可以被配置为从存储器806接收输入和/或向存储器806呈现输出。处理器/SoC 802可以被配置为呈现和/或接收其他信号(未示出)。处理器/SoC 802的输入和/或输出的数量和/或类型可以根据特定实现方式的设计标准而变化。处理器/SoC 802可以被配置用于低功率(例如,电池)操作。
处理器/SoC 802可以接收信号RAW VIDEO和信号SENS。在示例中,处理器/SoC 802可以基于信号RAW VIDEO、信号SENS和/或其他输入来生成一个或多个视频输出信号(例如,IR、RGB等)和一个或多个数据信号(例如,DISPARITY MAP)。在一些实施例中,可以基于对信号RAW VIDEO和/或在信号RAW VIDEO中检测到的对象的分析来生成信号IR、RGB和DISPARITY MAP。在示例中,信号RGB通常包括在RGB或YUV彩色空间中的彩色图像(帧)。在示例中,当处理器/SoC 802在白天模式下操作时,可以生成信号RGB。在示例中,当处理器/SoC802在白天模式下操作时,可以生成信号RGB。在示例中,信号IR通常包括IR单色图像(帧)。在一个示例中,当处理器/SoC 802在白天模式下操作时,信号IR可以包括使用环境IR光的未污染的IR图像(例如,没有结构光图案)。在另一示例中,当处理器/SoC 802在夜间模式下操作时,信号IR可以包括使用IR LED照明的未污染的IR图像(例如,没有结构光图案)。在又一示例中,当开启IR投射器并且处理器/SoC 802在白天模式或夜间模式下操作时,信号IR可以包括被污染的IR图像(例如,图像的至少一部分中存在结构光图案)。
在各种实施例中,处理器/SoC 802可以被配置为执行特征提取、对象检测、对象跟踪和对象识别中的一个或多个。例如,处理器/SoC 802可以通过分析来自信号RAW VIDEO的帧并且将该帧与先前的帧进行比较来确定运动信息和/或深度信息。比较可以用于执行数字运动估计。在一些实施例中,处理器/SoC 802可以被配置为生成包括来自信号RAW VIDEO的视频数据的视频输出信号RGB和IR。视频输出信号RGB和IR可以被呈现给存储器806、通信模块816和/或无线接口818。信号DISPARITY MAP可以被配置为指示与由信号RGB和IR传送的图像中存在的对象相关联的深度信息。在示例中,当存在结构光图案时,可以忽略(丢弃)由信号RGB携带的图像数据。
存储器806可以存储数据。存储器806可以实现各种类型的存储器,包括但不限于高速缓存、闪速存储器、存储器卡、随机存取存储器(RAM)、动态RAM(DRAM)存储器等。存储器806的类型和/或大小可以根据特定实现方式的设计标准而变化。存储在存储器806中的数据可以对应于视频文件、运动信息(例如,来自传感器814的读数)、视频融合参数、图像稳定参数、用户输入、计算机视觉模型和/或元数据信息。
镜头808(例如,相机镜头)可以被定向以提供单目相机立体设备800周围的环境的视图。镜头808可以旨在捕获环境数据(例如,光)。镜头808可以是广角镜头和/或鱼眼镜头(例如,能够捕获宽视场的镜头)。镜头808可以被配置为捕获和/或聚焦用于捕获设备804的光。通常,图像传感器822位于镜头808的后面。基于从镜头808捕获的光,捕获设备804可以生成位流和/或视频数据。
通信模块816可以被配置为实现一个或多个通信协议。例如,通信模块816和无线接口818可以被配置为实现以下各项中的一个或多个:IEEE 802.11、IEEE 802.15、IEEE802.15.1、IEEE 802.15.2、IEEE 802.15.3、IEEE 802.15.4、IEEE 802.15.5、IEEE 802.20、和/或在一些实施例中,无线接口818还可以实现与蜂窝通信网络相关联的一个或多个协议(例如,GSM、CDMA、GPRS、UMTS、CDMA2000、3GPP LTE、4G/HSPA/WiMAX、SMS等)。在其中单目相机立体设备800被实现为无线相机的实施例中,由通信模块816和无线接口818实现的协议可以是无线通信协议。由通信模块816实现的通信协议的类型可以根据特定实现方式的设计标准而变化。
通信模块816和/或无线接口818可以被配置为生成广播信号作为来自单目相机立体设备800的输出。广播信号可以将视频数据RGB和/或IR和/或信号DISPARITY MAP发送到外部设备。例如,可以将广播信号发送到云存储服务(例如,能够按需扩展的存储服务)。在一些实施例中,通信模块816可以不发送数据,直到处理器/SoC 802已经执行视频分析以确定对象在单目相机立体设备800的视场中为止。
在一些实施例中,通信模块816可以被配置为生成手动控制信号。可以响应于由通信模块816从用户接收到的信号而生成手动控制信号。手动控制信号可以被配置为激活处理器/SoC 802。无论单目相机立体设备800的功率状态如何,都可以响应于手动控制信号而激活处理器/SoC 802。
在一些实施例中,单目相机立体设备800可以包括电池820,该电池820被配置为为单目相机立体设备800的各种组件提供功率。用于基于运动传感器814的输出来激活和/或禁用捕获设备804的多步骤方法和/或单目相机立体设备800的任何其他功率消耗特征可以被实现以减少单目相机立体设备800的功耗并且延长电池820的可操作寿命。传感器814的运动传感器可以在电池820上具有非常低的耗电量(例如,小于10μW)。在示例中,传感器814的运动传感器可以被配置为保持开启(例如,始终活动),除非响应于来自处理器/SoC 802的反馈而被禁用。由处理器/SoC 802执行的视频分析可以在电池820上具有大耗电量(例如,大于运动传感器814)。在示例中,处理器/SoC 802可以处于低功率状态(或掉电),直到某种运动由传感器814的运动传感器检测到为止。
单目相机立体设备800可以被配置为使用各种功率状态进行操作。例如,在掉电状态(例如,睡眠状态、低功率状态)下,传感器814的运动传感器和处理器/SoC 802可以开启,并且单目相机立体设备800的其他组件(例如,图像捕获设备804、存储器806、通信模块816等)可以关闭。在另一示例中,单目相机立体设备800可以在中间状态下操作。在该中间状态下,图像捕获设备804可以开启,并且存储器806和/或通信模块816可以关闭。在又一示例中,单目相机立体设备800可以在通电(或高功率)状态下操作。在通电状态下,传感器814、处理器/SoC 802、捕获设备804、存储器806和/或通信模块816可以开启。单目相机立体设备800可以在掉电状态下消耗来自电池820的一些功率(例如,相对小和/或最小量的功率)。在通电状态下,单目相机立体设备800可以消耗来自电池820的更多功率。在单目相机立体设备800在功率状态中的每一种状态下操作的同时,功率状态的数量和/或单目相机立体设备800的开启的组件的数量可以根据特定实现方式的设计标准而变化。
在一些实施例中,单目相机立体设备800可以包括小键盘、触摸板(或屏幕)、门铃开关和/或其他人机接口设备(HID)828。在示例中,传感器814可以被配置为确定对象何时在HID 828附近。在其中单目相机立体设备800被实现为访问控制应用的一部分的示例中,可以开启捕获设备804以提供用于识别尝试访问的人的图像和锁区域的照明,和/或可以开启访问触摸板。
在各种实施例中,可以提供低成本的3D感测平台。低成本的3D感测平台可以促进智能访问控制系统和智能安全性产品(例如,智能视频门铃和门锁、支付系统、警报系统等)的开发。在各种实施例中,低成本的3D感测平台可以包括视觉片上系统(SoC)、结构光投射器和IR图像传感器或RGB-IR图像传感器。在各种实施例中,可以利用RGB-IR CMOS图像传感器以获得用于查看和面部识别的可见光图像和红外(IR)图像两者,并且还利用红外(IR)图像以进行深度感测。在示例中,视觉SoC可以在单个芯片上提供深度处理、反欺骗算法、3D面部识别算法和视频编码。
在各种应用中,根据本发明的实施例的低成本的3D感测平台可以显著地降低系统复杂度,同时改进性能、可靠性和安全性。在示例中,根据本发明的实施例的视觉SoC可以包括但不限于强大的图像信号处理器(ISP)、对RGB-IR滤色器阵列的本地支持以及高级高动态范围(HDR)处理,这可以在低光照且高对比度的环境中产生非凡的图像质量。在示例中,根据本发明的实施例的视觉SoC可以提供一种架构,该架构递送用于存在性检测和3D面部识别的计算功率,同时针对诸如人数计数和反追尾之类的高级特征运行多种人工智能(AI)算法。
在各种实施例中,可以通过使用RGB-IR传感器来降低系统成本(例如,一个传感器和一个镜头对两个传感器和两个镜头)。在一些实施例中,可以进一步通过使用RGB-IR卷帘式快门传感器来降低系统成本(例如,卷帘式快门对全局快门)。通过经由软件控制结构光投射器,可以容易地调整时间序列,从而提供改进的灵活性。因为结构光投射器可以由软件短暂地使用,所以可以实现功率节约。
在各种实施例中,可以实现低成本的基于结构光的3D感测系统。在示例中,3D信息可以用于3D建模和存在性确定。在示例中,低成本的基于结构光的3D感测系统可以用于解锁门、解除警报系统和/或允许对(例如,花园、车库、房屋等的)受限区域的“绊网(tripwire)”访问。在一个示例中,低成本的基于结构光的3D感测系统可以被配置为识别园丁/水池维护人员并且禁止触发警报。在另一示例中,低成本的基于结构光的3D感测系统可以被配置为将访问限制在一周中的某些时间和某天。在另一示例中,低成本的基于结构光的3D感测系统可以被配置为在识别出某些对象时触发警报(例如,针对前配偶的限制令出炉(out),如果检测到该人,则向911报警)。在另一示例中,低成本的基于结构光的3D感测系统可以被配置为允许警报系统基于视频/音频识别重新编程特权(例如,即使键入了正确的口令,也仅允许人X或Y改变访问级别或策略、添加用户等)。
各种特征(例如,去扭曲(dewarp)、数字地缩放、裁剪等)可以在处理器802中被实现为硬件模块。实现硬件模块可以增加处理器802的视频处理速度(例如,比软件实现方式更快)。硬件实现方式可以使得能够在降低延迟量的同时处理视频。使用的硬件组件可以根据特定实现方式的设计标准而变化。
示出的处理器802包括多个块(或电路)809a-809n。块809a-809n可以实现由处理器802实现的各种硬件模块。硬件模块809a-809n可以被配置为提供各种硬件组件以实现视频处理流水线。电路809a-809n可以被配置为接收像素数据RAW VIDEO、根据像素数据生成视频帧、对视频帧执行各种操作(例如,去扭曲、卷帘式快门校正、裁剪、放大、图像稳定化等)、准备视频帧以与外部硬件进行通信(例如,编码、打包、颜色校正等)、解析特征集、实现计算机视觉的各种操作等。处理器802的各种实现方式可以不一定利用硬件模块809a-809n的所有特征。硬件模块809a-809n的特征和/或功能可以根据特定实现方式的设计标准而变化。可以与于2020年5月14日提交的美国专利申请第15/931,942号、于2020年3月26日提交的美国专利申请第16/831,549号、于2019年2月28日提交的美国专利申请第16/288,922号和于2017年5月12日提交的美国专利申请第15/593,493号(现在的美国专利第10,437,600号)相关联地描述硬件模块809a-809n和/或单目相机立体设备800的其他组件的细节,这些申请的适当部分通过引用以其整体合并于此。
硬件模块809a-809n可以被实现为专用硬件模块。与软件实现方式相比,使用专用硬件模块809a-809n实现处理器802的各种功能可以使处理器802能够被高度优化和/或定制以限制功耗、减少热量生成和/或增加处理速度。硬件模块809a-809n可以是可定制的和/或可编程的,以实现多种类型的操作。实现专用硬件模块809a-809n可以使得用于执行每种类型的计算的硬件能够针对速度和/或效率被优化。例如,硬件模块809a-809n可以实现在计算机视觉操作中频繁使用的多个相对简单的操作,这些操作可以一起使得计算机视觉算法能够被实时执行。视频流水线可以被配置为识别对象。可以通过解释数字和/或符号信息来识别对象以确定视觉数据表示特定类型的对象和/或特征。例如,视频数据的像素的数量和/或像素的颜色可以用于将视频数据的部分识别为对象。硬件模块809a-809n可以实现在单目相机立体设备800上本地地执行计算密集的操作(例如,计算机视觉操作、视频编码、视频转码等)。
硬件模块809a-809n中的一个(例如,809a)可以实现调度器电路。调度器电路809a可以被配置为存储有向无环图(DAG)。在示例中,调度器电路809a可以被配置为生成并存储有向无环图。有向无环图可以定义要执行以从视频帧中提取数据的视频操作。例如,有向无环图可以定义在执行计算机视觉操作时要应用的各种数学加权(例如,神经网络权重和/或偏置)以将各种像素组分类为特定对象。
调度器电路809a可以被配置为解析非循环图来生成各种算子。可以由调度器电路809a在其他硬件模块809a-809n中的一个或多个中调度算子。例如,硬件模块809a-809n中的一个或多个可以实现被配置为执行特定任务的硬件引擎(例如,被设计为执行重复用于执行计算机视觉操作的特定数学运算的硬件引擎)。调度器电路809a可以基于算子何时可以准备好由硬件引擎809a-809n处理来调度算子。
调度器电路809a可以基于硬件模块809a-809n的可用性来将任务时间复用到硬件模块809a-809n以执行工作。调度器电路809a可以将有向无环图解析为一个或多个数据流。每个数据流可以包括一个或多个算子。一旦解析了有向无环图,调度器电路809a就可以将数据流/算子分配给硬件引擎809a-809n,并发送相关的算子配置信息以启动算子。
每个有向无环图的二进制表示可以是有向无环图的有序遍历,其中基于数据依赖性来交织描述符和算子。描述符通常提供将数据缓冲区链接到依赖算子中的特定操作数的寄存器。在各种实施例中,算子可能不会出现在有向无环图表示中,直到针对操作数声明了所有依赖描述符为止。
硬件模块809a-809n中的一个(例如,809b)可以实现卷积神经网络(CNN)模块。CNN模块809b可以被配置为对视频帧执行计算机视觉操作。CNN模块809b可以被配置为通过多层特征检测来实现对象和/或事件的识别。CNN模块809b可以被配置为基于所执行的特征检测来计算描述符。描述符可以使得处理器802能够确定视频帧的像素对应于特定对象(例如,人、宠物、物品、文本等)的可能性。
CNN模块809b可以被配置为实现卷积神经网络能力。CNN模块809b可以被配置为使用深度学习技术来实现计算机视觉。CNN模块809b可以被配置为使用通过多层特征检测的训练过程来实现图案和/或图像识别。CNN模块809b可以被配置为针对机器学习模型进行推断。
CNN模块809b可以被配置为仅在硬件中执行特征提取和/或匹配。特征点典型地表示视频帧中的感兴趣区域(例如,角、边缘等)。通过临时(temporally)跟踪特征点,可以生成对捕获平台的自我运动的估计或场景中观察到的对象的运动模型。为了跟踪特征点,通常由硬件将匹配算法并入CNN模块809b中,以找到参考视频帧和目标视频帧中的特征点之间最可能的对应关系。在匹配参考特征点和目标特征点的对的过程中,每个特征点可以由描述符(例如,图像块、SIFT、BRIEF、ORB、FREAK等)表示。使用专用硬件电路实现CNN模块809b可以实现实时计算描述符匹配距离。
CNN模块809b可以是被配置为执行视频帧的特征检测的专用硬件模块。由CNN模块809b检测到的特征可以用于计算描述符。CNN模块809b可以响应于描述符来确定视频帧中的像素属于特定的一个对象和/或多个对象的可能性。例如,使用描述符,CNN模块809b可以确定像素对应于特定对象(例如,人、一件家具、人的照片、宠物等)和/或对象的特性(例如,人的嘴、人的手、电视机的屏幕、沙发的扶手、时钟等)的可能性。将CNN模块809b实现为处理器802的专用硬件模块可以使得单目相机立体设备800能够在本地(例如,在片上)执行计算机视觉操作,而不依赖远程设备的处理能力(例如,将数据传送到云计算服务)。
由CNN模块809b执行的计算机视觉操作可以被配置为对视频帧执行特征检测,以便生成描述符。CNN模块809b可以执行对象检测以确定视频帧中具有匹配特定对象的高可能性的区域。在一个示例中,可以使用开放操作数栈来定制要匹配的对象(例如,参考对象)的类型(从而实现处理器802的可编程性以实现各种有向无环图,每个有向无环图提供用于执行各种类型的对象检测的指令)。CNN模块809b可以被配置为对具有匹配(多个)特定对象的高可能性的区域执行局部掩蔽以检测对象。
在一些实施例中,CNN模块809b可以确定检测到的对象的各种特征(例如,特性)的位置(例如,3D坐标和/或位置坐标)。在一个示例中,可以使用3D坐标来确定手臂、腿、胸部和/或眼睛的位置。在第一轴上针对身体部位在3D空间中的垂直位置的一个位置坐标以及在第二轴上针对身体部位在3D空间中的水平位置的另一个坐标可以被存储。在一些实施例中,距镜头808的距离可以表示针对身体部位在3D空间中的深度位置的一个坐标(例如,第三轴上的位置坐标)。使用各个身体部位在3D空间中的位置,处理器802可以确定身体位置和/或在单目相机立体设备800的视场中的人的身体特性。
可以对CNN模块809b进行预训练(例如,将CNN模块809b配置为基于接收到的用于训练CNN模块809b的训练数据来执行计算机视觉以检测对象)。例如,训练数据的结果(例如,机器学习模型)可以被预编程和/或加载到处理器802中。CNN模块809b可以针对机器学习模型进行推断(例如,以执行对象检测)。训练可以包括针对多个层中的每一个确定权重值(例如,神经网络权重)。例如,可以针对用于特征提取的层(例如,卷积层)和/或用于分类的层(例如,全连接层)中的每一个确定权重值。由CNN模块809b学习到的权重值可以根据特定实现方式的设计标准而变化。
卷积操作可以包括在执行计算(例如,矩阵操作)的同时使特征检测窗口沿着层滑动。特征检测窗口可以将过滤器应用于像素和/或提取与每个层相关联的特征。特征检测窗口可以应用于像素和多个周围像素。在示例中,层可以被表示为表示像素和/或层中的一个的特征的值的矩阵,并且由特征检测窗口应用的滤波器可以被表示为矩阵。卷积操作可以在特征检测窗口所覆盖的当前层的区域之间应用矩阵乘法。卷积操作可以将特征检测窗口沿着层的区域滑动以生成表示每个区域的结果。区域的大小、由滤波器应用的操作的类型和/或层的数量可以根据特定实现方式的设计标准而变化。
使用卷积操作,CNN模块809b可以在每个提取步骤中针对输入图像的像素计算多个特征。例如,层中的每一个可以接收来自位于先前层(例如,局部感受野)的小邻域(例如,区域)中的特征集的输入。卷积操作可以提取基本的视觉特征(例如,定向边缘、端点、角等),然后这些视觉特征由更高的层组合。由于特征提取窗口对像素和附近的像素(或子像素)进行操作,因此操作的结果可以具有位置不变性。层可以包括卷积层、池化层、非线性层和/或全连接层。在示例中,卷积操作可以学习从原始像素(例如,第一层)中检测边缘,然后使用来自先前层的特征(例如,检测到的边缘)以在下一层中检测形状,并且然后使用形状来检测较高层中的较高级别特征(例如,面部特征、宠物、家具等),并且最后一层可以是使用较高级别特征的分类器。
CNN模块809b可以执行被定向到计算机视觉、特征提取和特征匹配的数据流,包括两阶段检测、扭曲算子、操纵分量列表的分量算子(例如,分量可以是共享公共属性的矢量的区域,并且可以与边界框组合在一起)、矩阵求逆算子、点积算子、卷积算子、条件算子(例如,复用和解复用)、重映射算子、最小最大归约算子、池化算子、非最小非最大抑制算子、基于扫描窗口的非最大抑制算子、收集算子(gather operator)、散布算子(scatteroperator)、统计算子、分类器算子、积分图像算子、比较算子、索引算子、图案匹配算子、特征提取算子、特征检测算子、两阶段对象检测算子、得分生成算子、块归约算子和上采样算子。由CNN模块809b执行以从训练数据中提取特征的操作的类型可以根据特定实现方式的设计标准而变化。
硬件模块809a-809n中的每一个可以实现处理资源(或硬件资源或硬件引擎)。硬件引擎809a-809n可以可操作以执行特定的处理任务。在一些配置中,硬件引擎809a-809n可以并行且彼此独立地操作。在其他配置中,硬件引擎809a-809n可以彼此集体地操作以执行分配的任务。硬件引擎809a-809n中的一个或多个可以是同质处理资源(所有电路809a-809n可以具有相同的能力)或异构处理资源(两个或更多个电路809a-809n可以具有不同的能力)。
可以利用常规通用处理器、数字计算机、微处理器、微控制器、RISC(精简指令集计算机)处理器、CISC(复杂指令集计算机)处理器、SIMD(单指令多数据)处理器、信号处理器、中央处理单元(CPU)、算术逻辑单元(ALU)、视频数字信号处理器(VDSP)和/或根据说明书的教导进行编程的类似的计算机器中的一个或多个来实现由图1-13的图示出的功能,如将对(多个)相关领域技术人员显而易见的。熟练的程序员可以基于本公开的教导容易地准备适当的软件、固件、编码、例程、指令、操作码、微码和/或程序模块,如同样将对(多个)相关领域技术人员显而易见的。该软件通常由机器实现方式的处理器中的一个或多个从一个或多个介质执行。
本发明还可以通过以下方式来实现:准备ASIC(专用集成电路)、平台ASIC、FPGA(现场可编程门阵列)、PLD(可编程逻辑器件)、CPLD(复杂可编程逻辑器件)、门海(sea-of-gates)、RFIC(射频集成电路)、ASSP(专用标准产品)、一个或多个单片集成电路、被布置为倒装芯片模块和/或多芯片模块的一个或多个芯片或管芯,或者通过互连常规组件电路的适当的网络,如本文中所描述的,其修改对于本领域技术人员而言将是显而易见的。
因此,本发明还可以包括一种计算机产品,该计算机产品可以是一个或多个存储介质和/或一个或多个传输介质,其包括可以用于对机器进行编程以执行根据本发明的一个或多个过程或方法的指令。机器对包含在计算机产品中的指令的执行以及周围电路的操作可以将输入数据转换为存储介质上的一个或多个文件和/或表示物理对象或物质的一个或多个输出信号,例如,音频和/或视觉描绘。存储介质可以包括但不限于任何类型的盘,包括软盘、硬盘驱动器、磁盘、光盘、CD-ROM、DVD和磁光盘以及电路,例如:ROM(只读存储器)、RAM(随机存取存储器)、EPROM(可擦除可编程ROM)、EEPROM(电可擦除可编程ROM)、UVPROM(紫外可擦除可编程ROM)、闪速存储器、磁卡、光卡和/或适合于存储电子指令的任何类型的介质。
本发明的元素可以形成一个或多个设备、单元、组件、系统、机器和/或装置的一部分或全部。设备可以包括但不限于服务器、工作站、存储阵列控制器、存储系统、个人计算机、膝上型计算机、笔记本计算机、掌上计算机、云服务器、个人数字助理、便携式电子设备、电池供电的设备、机顶盒、编码器、解码器、转码器、压缩器、解压缩器、预处理器、后处理器、发射机、接收机、收发机、密码电路、蜂窝电话、数字相机、定位和/或导航系统、医疗设备、平视显示器、无线设备、音频记录、音频存储和/或音频播放设备、视频记录、视频存储和/或视频播放设备、游戏平台、外围设备和/或多芯片模块。(多个)相关领域技术人员将理解,可以在其他类型的设备中实现本发明的元素,以满足特定应用的标准。
当在本文中与“是”和动词结合使用时,术语“可以”和“通常”意在传达这样的意图:该描述是示例性的,并且被认为足够宽泛以涵盖本公开中提出的具体示例以及可以基于本公开得出的替代示例两者。如本文所使用的术语“可以”和“通常”不应被解释为必然暗示省略相应元素的可取性或可能性。
尽管已经参考本发明的实施例具体地示出并描述了本发明,但是本领域技术人员将理解,在不脱离本发明的范围的情况下,可以对形式和细节进行各种改变。
Claims (20)
1.一种装置,包括:
接口,其被配置为接收像素数据;以及
处理器,其被配置为:(i)根据所述像素数据生成参考图像和目标图像,(ii)对所述参考图像和所述目标图像执行视差操作,以及(iii)响应于所述视差操作而构建视差角度图,其中,所述视差操作包括:(a)选择多个网格像素,(b)针对每个网格像素测量视差角度,(c)通过求解所述网格像素的所述视差角度图的表面公式来计算多个系数,以及(d)利用所述系数针对所述像素数据生成所述视差角度图中的值。
2.根据权利要求1所述的装置,其中,所述处理器还被配置为通过使用所述视差角度图执行图案移位匹配来构建视差图。
3.根据权利要求2所述的装置,其中,所述处理器还被配置为通过利用所述视差角度图应用定向块匹配过程来执行所述图案移位匹配。
4.根据权利要求1所述的装置,其中,所述处理器还被配置为通过执行离线校准程序来构建所述视差角度图,所述离线校准程序包括:捕获包含被投射到在第一距离处的墙壁上的斑点图案的第一图像,以及捕获包含被投射到在第二距离处的所述墙壁上的所述斑点图案的第二图像。
5.根据权利要求1所述的装置,其中,所述处理器还被配置为通过执行在线校准程序来构建所述视差角度图,所述在线校准程序包括:捕获包含被投射到在第一距离处的对象上的斑点图案的第一图像,以及捕获包含被投射到在第二距离处的所述对象上的所述斑点图案的第二图像。
6.根据权利要求1所述的装置,其中,所述处理器还被配置为通过对包含所述网格像素的参数表面应用回归算法来求解所述网格像素的所述视差角度图的所述表面公式,从而计算所述多个系数。
7.根据权利要求6所述的装置,其中,所述回归算法包括最小二乘回归算法。
8.根据权利要求6所述的装置,其中,所述参数表面包括三次参数表面。
9.根据权利要求1所述的装置,还包括:
相机,其被配置为生成所述像素数据;以及
结构光投射器,其被配置为投射斑点图案。
10.根据权利要求9所述的装置,其中,所述处理器还被配置为:
生成包括被投射到距所述相机第一距离处的对象上的所述斑点图案的所述参考图像;
生成包括被投射到距所述相机第二距离处的所述对象上的所述斑点图案的所述目标图像;以及
通过确定所述参考图像中的所述斑点图案与所述目标图像中的所述斑点图案之间的图案移位,来针对每个网格像素测量所述视差角度。
11.一种对单目相机立体系统中的结构光投射器进行安装校准的方法,包括:
在接口处接收像素数据;
使用处理器根据所述像素数据生成参考图像和目标图像;
对所述参考图像和所述目标图像执行视差操作;以及
响应于所述视差操作而构建视差角度图,其中,所述视差操作包括:(a)选择多个网格像素,(b)针对每个网格像素测量视差角度,(c)通过求解所述网格像素的所述视差角度图的表面公式来计算多个系数,以及(d)利用所述系数针对所述像素数据生成视差角度图中的值。
12.根据权利要求11所述的方法,还包括通过使用所述视差角度图执行图案移位匹配来使用所述处理器构建视差图。
13.根据权利要求12所述的方法,还包括:
通过利用所述视差角度图应用定向块匹配过程,来执行所述图案移位匹配。
14.根据权利要求11所述的方法,还包括:
通过执行离线校准程序来构建所述视差角度图,所述离线校准程序包括:捕获包含被投射到在第一距离处的墙壁上的斑点图案的第一图像,以及捕获包含被投射到在第二距离处的所述墙壁上的所述斑点图案的第二图像。
15.根据权利要求11所述的方法,还包括:
通过执行在线校准程序来构建所述视差角度图,所述在线校准程序包括:捕获包含被投射到在第一距离处的对象上的斑点图案的第一图像,以及捕获包含被投射到在第二距离处的所述对象上的所述斑点图案的第二图像。
16.根据权利要求11所述的方法,还包括:
通过对包含所述网格像素的参数表面应用回归算法来求解所述网格像素的所述视差角度图的所述表面公式,从而计算所述多个系数。
17.根据权利要求16所述的方法,其中,所述回归算法包括最小二乘回归算法。
18.根据权利要求16所述的方法,其中,所述参数表面包括三次参数表面。
19.根据权利要求11所述的方法,还包括:
使用相机生成所述像素数据;以及
使用结构光投射器将斑点图案投射到对象上。
20.根据权利要求19所述的方法,还包括:
生成包括被投射到距所述相机第一距离处的对象上的所述斑点图案的所述参考图像;
生成包括被投射到距所述相机第二距离处的所述对象上的所述斑点图案的所述目标图像;以及
使用所述处理器针对每个网格像素测量所述视差角度,以确定所述参考图像中的所述斑点图案与所述目标图像中的所述斑点图案之间的图案移位。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110410126.6A CN115222782A (zh) | 2021-04-16 | 2021-04-16 | 对单目相机立体系统中的结构光投射器的安装校准 |
US17/236,340 US11563927B2 (en) | 2021-04-16 | 2021-04-21 | Mounting calibration of structured light projector in mono camera stereo system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110410126.6A CN115222782A (zh) | 2021-04-16 | 2021-04-16 | 对单目相机立体系统中的结构光投射器的安装校准 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115222782A true CN115222782A (zh) | 2022-10-21 |
Family
ID=83601857
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110410126.6A Pending CN115222782A (zh) | 2021-04-16 | 2021-04-16 | 对单目相机立体系统中的结构光投射器的安装校准 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11563927B2 (zh) |
CN (1) | CN115222782A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230082100A1 (en) * | 2020-02-14 | 2023-03-16 | Inspur Suzhou Intelligent Technology Co., Ltd. | Content-adaptive binocular matching method and apparatus |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111383256B (zh) * | 2018-12-29 | 2024-05-17 | 北京市商汤科技开发有限公司 | 图像处理方法、电子设备及计算机可读存储介质 |
US11908147B1 (en) * | 2022-10-14 | 2024-02-20 | Lumincode As | Calibration and monitoring of camera position and laser position and wavelength |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10839541B2 (en) * | 2018-03-14 | 2020-11-17 | Google Llc | Hierarchical disparity hypothesis generation with slanted support windows |
-
2021
- 2021-04-16 CN CN202110410126.6A patent/CN115222782A/zh active Pending
- 2021-04-21 US US17/236,340 patent/US11563927B2/en active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230082100A1 (en) * | 2020-02-14 | 2023-03-16 | Inspur Suzhou Intelligent Technology Co., Ltd. | Content-adaptive binocular matching method and apparatus |
US11651507B2 (en) * | 2020-02-14 | 2023-05-16 | Inspur Suzhou Intelligent Technology Co., Ltd. | Content-adaptive binocular matching method and apparatus |
Also Published As
Publication number | Publication date |
---|---|
US20220337802A1 (en) | 2022-10-20 |
US11563927B2 (en) | 2023-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11563927B2 (en) | Mounting calibration of structured light projector in mono camera stereo system | |
US11068712B2 (en) | Low-power iris scan initialization | |
US9965865B1 (en) | Image data segmentation using depth data | |
US11146747B1 (en) | Dynamic driver mechanism for rolling shutter sensor to acquire the structured light pattern | |
US11843760B2 (en) | Timing mechanism to derive non-contaminated video stream using RGB-IR sensor with structured light | |
US11935257B2 (en) | Adding an adaptive offset term using convolution techniques to a local adaptive binarization expression | |
CN114093142B (zh) | 通过组合视觉传感和热传感的对象感知的温度异常监控和预警 | |
US11143879B2 (en) | Semi-dense depth estimation from a dynamic vision sensor (DVS) stereo pair and a pulsed speckle pattern projector | |
CN113273179B (zh) | 用于管理养殖场环境的装置 | |
US20240029285A1 (en) | Adaptive face depth image generation | |
US20230419505A1 (en) | Automatic exposure metering for regions of interest that tracks moving subjects using artificial intelligence | |
CN115797666A (zh) | 用于使用卷积技术来加速散斑图像块匹配 | |
US11284022B2 (en) | Driver mechanism for rolling shutter sensor to acquire structured light pattern | |
CN117495972A (zh) | 基于自适应投影误差的用于4d毫米波雷达和相机的外参标定 | |
US20230206476A1 (en) | Accelerated alignment of high-resolution image and depth map for low-bit-width floating-point representation | |
US12002229B2 (en) | Accelerating speckle image block matching using convolution techniques | |
US11924555B2 (en) | Intelligent auto-exposure control for RGB-IR sensor | |
US11935377B1 (en) | Security cameras integrating 3D sensing for virtual security zone | |
US11743450B1 (en) | Quick RGB-IR calibration verification for a mass production process | |
KR20220055216A (ko) | 에지 ai 기반의 얼굴 인식 장치 | |
KR20240035842A (ko) | 3d 얼굴 인식 시스템 | |
TW201832126A (zh) | 低功率虹膜掃描初始化 |
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 |