CN112106110B - 标定相机的***和方法 - Google Patents
标定相机的***和方法 Download PDFInfo
- Publication number
- CN112106110B CN112106110B CN201980024830.9A CN201980024830A CN112106110B CN 112106110 B CN112106110 B CN 112106110B CN 201980024830 A CN201980024830 A CN 201980024830A CN 112106110 B CN112106110 B CN 112106110B
- Authority
- CN
- China
- Prior art keywords
- camera
- real
- time
- reference values
- determining
- 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.)
- Active
Links
Images
Classifications
-
- 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
-
- 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/30—Subject of image; Context of image processing
- G06T2207/30232—Surveillance
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Traffic Control Systems (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
- Studio Devices (AREA)
Abstract
一种方法可以包括:获取与由相机所获取的至少一个场景相关的实时图像数据;以及从实时图像数据中识别与至少两个对象相关的至少两个实时第一特征。所述方法可以包括确定对应于至少两个实时第一特征的一个或以上第一估计值,第一估计值由第一坐标系表示。所述方法可以进一步包括获取对应于至少两个实时第一特征的一个或以上第一参考值,第一参考值由第二坐标系表示,第一估计值中每一个对应第一参考值中的一个。所述方法可以进一步包括基于第一估计值和第一参考值,确定相机的一个或以上实时目标参数。
Description
交叉引用
本申请要求于2018年4月27日提交的美国临时专利申请No.62/664,066的优先权,其内容通过引用并入本申请。
技术领域
本申请总体上涉及监视***,更具体地涉及标定用于监视***中的相机的方法和***。
背景技术
视频监视***广泛用于各种应用中,以检测和监视环境中的对象。在自动驾驶辅助应用中,这种***用于为安全驾驶提供后备辅助。例如,***拍摄司机的图像以确定司机的睡意或注意力、提供车辆行驶的道路的图像、提供结构识别、例如路标等。为了提供有关环境的准确信息,需要标定在视频监视***中使用的相机。但是,常规的标定技术通常很耗时,并且需要在服务地点进行。期望提供更有效地标定相机的***和方法。
发明内容
根据本申请的一方面,一种***可以包括一种计算机可读存储介质,该计算机可读存储介质存储用于标定相机的可执行指令,并且至少一个处理器以及与该计算机可读存储介质通信。当执行指令集时,至少一个处理器可以使***获取与当前时刻相机所获取的至少一个场景相关的实时图像数据。至少一个处理器还可以使***从实时图像数据中识别与至少两个对象相关的至少两个实时第一特征。至少一个处理器还可以使***确定对应于至少两个实时第一特征的一个或以上第一估计值。一个或以上第一估计值可以由第一坐标系表示。至少一个处理器还可以使***获取对应于至少两个实时第一特征的一个或以上第一参考值,一个或以上第一参考值可以由第二坐标系表示,一个或以上第一估计值中的每一个可以对应一个或以上第一参考值中的一个。至少一个处理器可以进一步使***基于一个或以上第一估计值和一个或以上第一参考值,确定在当前时刻相机的一个或以上实时目标参数。
在一些实施例中,至少一个处理器可以使***确定当前时刻相机是否需要被标定。至少一个处理器还可以响应于确定相机需要被标定,基于一个或以上第一估计值和一个或以上第一参考值,使***确定相机的一个或以上实时目标参数。
在一些实施例中,至少一个处理器可以使***获取相机的一个或以上预定参数。所述至少一个处理器还可以使所述***基于所述相机的预定参数,确定与至少两个对象的至少两个实时第一特征相对应的一个或以上第二参考值,所述一个或以上第二参考值可以由第二坐标系表示。至少一个处理器还可以使***基于一个或以上第一参考值中的至少一个与相对应的第二参考值之间的差值,确定相机是否需要被标定。
在一些实施例中,至少一个处理器可以使***确定当前时刻与最接近当前时刻的先前标定之间的时间间隔是否超过阈值。至少一个处理器还可以使***确定当前时刻的相机的位置是否与执行先前标定时的相机的位置一致。
在一些实施例中,至少一个处理器可以响应于确定当前时刻与最接近当前时刻的先前标定之间的时间间隔超过阈值,或在当前时刻的相机的位置与执行先前标定时的相机的位置不一致,使***确定相机需要被标定。
在一些实施例中,至少一个处理器可以使***从一个或以上实时第一特征中确定至少一组实时第二特征。所述至少一个处理器还可以使所述***基于所述至少一组实时第二特征来确定所述相机的至少一组一个或以上第一参数。至少一个处理器还可以使***基于至少一组一个或以上第一参数中的每一个,确定与至少两个对象的至少两个实时第一特征相对应的一个或以上第二参考值。至少一个处理器还可以使***基于一个或以上第一参考值与一个或以上第二参考值之间的差值,确定相机的一个或以上实时目标参数。
在一些实施例中,至少一个处理器可以使***获取相机的一个或以上预定参数。至少一个处理器还可以使***基于一个或以上第一估计值、一个或以上第一参考值以及相机的一个或以上预定参数,根据梯度算法确定相机的一个或以上实时目标参数。
在一些实施例中,至少一个处理器可以使***基于一个或以上第一估计值和一个或以上第一参考值,根据递归算法或数值算法确定相机的一个或以上实时目标参数。
在一些实施例中,至少两个对象可以包括车道标识的至少一部分、车辆的至少一部分、设施的至少一部分以及人的至少一部分中的至少一项。
在一些实施例中,相机可以被安装在移动设备中。
在一些实施例中,至少一个处理器可以使***从实时图像数据中检测至少两个对象。至少一个处理器还可以使***对至少两个对象进行分类。至少一个处理器还可以使***基于至少两个分类后的对象来识别与至少两个对象相关的至少两个特征。
根据本申请的另一方面,一种计算机实现的方法可以包括由至少一个处理器执行的一个或以上以下操作。该方法可以包括获取与由相机所获取的至少一个场景相关的实时图像数据。该方法还可以包括从实时图像数据中识别与至少两个对象相关的至少两个实时第一特征。该方法还可包括确定对应于至少两个实时第一特征的一个或以上第一估计值,一个或以上第一估计值可以由第一坐标系表示。该方法还可以包括获取对应于至少两个实时第一特征的一个或以上第一参考值,一个或以上第一参考值可以由第二坐标系表示,一个或以上第一估计值中的每一个可以对应一个或以上第一参考值中的一个。该方法可以进一步包括基于一个或以上第一估计值和一个或以上第一参考值来确定相机的一个或以上实时目标参数。
根据本申请的又一方面,一种非暂时性计算机可读存储介质存储指令,该指令在由***的至少一个处理器执行时,使***执行一种方法。该方法可以包括获取与相机所获取的至少一个场景相关的实时图像数据。该方法还可以包括从实时图像数据中识别与至少两个对象相关的至少两个实时第一特征。该方法还可包括确定对应于至少两个实时第一特征的一个或以上第一估计值,一个或以上第一估计值可以由第一坐标系表示。该方法还可以包括获取对应于至少两个实时第一特征的一个或以上第一参考值,一个或以上第一参考值可以由第二坐标系表示。一个或以上第一估计值中的每一个可以对应一个或以上第一参考值中的一个。该方法可以进一步包括基于一个或以上第一估计值和一个或以上第一参考值来确定相机的一个或以上实时目标参数。
本申请的一部分附加特性可以在以下描述中进行说明。通过对以下描述和相应附图的研究或者对实施例的生产或操作的了解,本申请的一部分附加特性对于本领域技术人员是明显的。本申请的特征可以通过对以下描述的具体实施例的各个方面的方法、手段和组合的实践或使用得以实现和达到。
附图说明
本申请将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,各图中相同的编号表示相同的结构,其中:
图1是根据本申请的一些实施例所示的用于标定相机的示例性处理引擎的示意图;
图2是根据本申请的一些实施例所示的标定相机的示例性过程的流程图;
图3是根据本申请的一些实施例所示的用于标定相机的示例性标定模块的示意图;
图4是根据本申请的一些实施例所示的确定相机的一个或以上实时目标参数的示例性过程的流程图;
图5是根据本申请的一些实施例所示的示例性驾驶辅助***的示意图;
图6是根据本申请的一些实施例所示的可以在其上实现处理引擎的示例性计算设备的示例性硬件和/或软件组件的示意图;以及
图7是根据本申请的一些实施例所示的可以在其上实现终端的示例性移动设备的示例性硬件和/或软件组件的示意图。
具体实施方式
为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。然而,本领域技术人员应该明白,可以在没有这些细节的情况下实施本申请。在其它情况下,为了避免不必要地使本申请的各方面变得晦涩难懂,已经在较高的层次上描述了众所周知的方法、过程、***、组件和/或电路。对于本领域的普通技术人员来讲,显然可以对所披露的实施例做出各种改变,并且在不偏离本申请的原则和范围的情况下,本申请中所定义的普遍原则可以适用于其它实施例和应用场景。因此,本申请不限于所示的实施例,而是符合与申请专利范围一致的最广泛范围。
本申请中所使用的术语仅出于描述特定的示例性实施例的目的,而非限制性的。如本申请使用的单数形式“一”、“一个”及“该”同样可以包括复数形式,除非上下文明确提示例外情形。还应当理解,如在本申请说明书中使用的术语“包括”、“包含”仅提示存在所述特征、整体、步骤、操作、组件和/或部件,但并不排除存在或添加一个或以上其它特征、整体、步骤、操作、组件、部件和/或其组合的情况。
可以理解的是,本申请使用的术语“***”、“引擎”、“单元”、“模块”和/或“区块”是用于按升序区分不同级别的不同构件、元件、部件、部分或组件的方法。然而,如果其它词语可以实现相同的目的,则可通过其它表达来替换所述词语。
通常,本申请使用的词语“模块”、“单元”或“块”是指体现在硬件或固件中的逻辑,或者是软件指令的集合。本申请描述的模块、单元或块可以实现为软件和/或硬件,并且可以存储在任何类型的非暂时性计算机可读介质或其它存储设备中。在一些实施例中,可以编译软件模块/单元/块并将其链接到可执行程序中。应当理解,软件模块可以从其它模块/单元/块或从它们自身调用,和/或可以响应检测到的事件或中断来调用。可以在计算机可读介质上提供被配置为在计算设备(例如,图6中所示的处理器610)上执行的软件模块/单元/块,例如,光盘、数字视频光盘、闪存驱动器、磁盘或任何其它有形介质,或者作为数字下载(并且可以最初以压缩或可安装的格式存储,需要在执行之前进行安装、解压或解密)。这里的软件代码可以被部分的或全部的储存在执行操作的计算设备的存储设备中,并应用在计算设备的操作之中。软件指令可以被嵌入在固件中,例如可擦可编程只读内存。还应当理解,硬件模块/单元/块可以包括在连接的逻辑组件中,例如门和触发器,和/或可以包括可编程单元中,例如可编程门阵列或处理器。本申请描述的模块/单元/块或计算设备功能可以实现为软件模块/单元/块,但是可以用硬件或固件来表示。通常,本申请描述的模块/单元/块指的是逻辑模块/单元/块,虽然它们是物理组织或存储,但是它们可以与其它模块/单元/块组合或者分成子模块/子单元/子块。该描述可适用于***、引擎或其一部分。
可以理解的是,除非上下文另有明确说明,当单元、引擎、模块或块被称为在另一单元、引擎、模块或块“上”、“连接”或“耦合至”另一单元、引擎、模块或块时,其可以直接在其它单元、引擎、模块或块上,与其连接或耦合或与之通信,或者可能存在中间单元、引擎、模块或块。在本申请中,术语“和/或”可包括任何一个或以上相关所列条目或其组合。
根据以下对附图的描述,本申请的这些和其它的特征、特点以及相关结构元件的功能和操作方法,以及部件组合和制造经济性,可以变得更加显而易见,这些附图都构成本申请说明书的一部分。然而,应当理解的是,附图仅仅是为了说明和描述的目的,并不旨在限制本申请的范围。应当理解的是,附图并不是按比例绘制的。
本申请的一方面涉及一种相机标定的***和方法。该***可以获取与相机所获取的至少一个场景相关的实时图像数据,并且从实时图像数据中识别与至少两个对象相关的至少两个实时第一特征。该***还可以确定对应于至少两个实时第一特征的一个或以上第一估计值。一个或以上第一估计值可以由第一坐标系表示。该***还可以获取对应于至少两个实时第一特征的一个或以上第一参考值。一个或以上第一参考值可以由第二坐标系表示。一个或以上第一估计值中的每一个对应于一个或以上第一参考值中的一个。该***可以进一步基于一个或以上第一估计值和一个或以上第一参考值确定相机的一个或以上实时目标参数。
图1是根据本申请的一些实施例所示的用于标定相机的示例性处理引擎140的示意图。如图所示,处理引擎140可以包括数据获取模块102、数据预处理模块104、对象检测模块106、标定模块108和存储模块110。在一些实施例中,数据获取模块102、数据预处理模块104、对象检测模块106、标定模块108和存储模块110可以经由无线连接(例如,网络)、有线连接或其组合。处理引擎140的至少一部分可以在图6所示的计算设备或图7所示的移动设备上实现。响应于安装在如图6所示的计算设备或如图7所示的移动设备中的相机在当前时刻采集实时图像数据,处理引擎140可以获取实时图像数据。处理引擎140可以基于采集的实时图像数据自动标定相机。在一些实施例中,一旦相机获取到实时图像数据,处理引擎140就可以基于采集的实时图像数据连续地标定相机。在一些实施例中,处理引擎140可以周期性地(例如,一天或以上、一周或以上、一月或以上)标定相机。在一些实施例中,处理引擎140可以根据相机的物理状态(例如,位置)标定相机。
数据获取模块102可以获取与在当前时刻由相机所获取的至少一个场景相关的实时图像数据。相机所获取的场景可以包括静止图像场景、视频场景等或其组合。在一些实施例中,与静止图像场景相关的实时图像数据可以包括静止图像。如本申请所使用的,术语“静止图像”可以指以模拟和/或数字形式表示的单个静态图片。在一些实施例中,与视频场景相关的实时图像数据可以包括视频。如本申请所使用的,术语“视频”可以指以模拟和/或数字形式表示的动态图片。例如,视频可以包括电视、电影、来自相机或其它观测设备的图像序列、计算机生成的图像序列等,或其组合。如本申请中所使用,序列可以指视频里的特定图像或其它离散单元。
相机可以是和/或包括能够采集实时图像数据的任何合适的设备。例如,数据获取模块102可以从监视设备120获取与场景相关的实时图像数据。在一些实施例中,监视设备120可以包括摄像机。如本申请所使用的,摄像机可以指用于视觉记录的装置。例如,摄像机可以包括彩色摄像机、数码摄像机、摄像机、便携式摄像机、PC摄像机、网络摄像机、红外(IR)摄像机、低光摄像机、热成像仪摄像机、闭路电视摄像机、平移、倾斜、变焦(PTZ)相机、视频传感设备等,或其组合。
监视设备120可以被定位以执行感兴趣区域(AOI)的监视。感兴趣区域可以作为静止图像场景或视频场景反映在静止图像或视频中。在一些实施例中,场景可以包括一个或以上感兴趣对象。一个或以上感兴趣对象可以包括人、车辆、动物、物体等,或其组合。在一些实施例中,可以确定感兴趣对象的物理特性以执行对感兴趣对象的监视。感兴趣对象的示例性物理特性可以包括感兴趣对象的类型、感兴趣对象的移动特征(例如,移动速度、移动方向)、感兴趣对象的尺寸(例如,高度、宽度和长度)、感兴趣对象的空间位置等,或其组合。例如,安装在车辆中的监视设备120可以监视车辆的运动及其周围。此外,监视设备120可以拍摄与相邻车道相关的图像,以便检测相邻车辆并在司机希望改变车道的情况下警告司机。
在一些实施例中,数据获取模块102可以将实时图像数据传送到处理引擎140的其它模块以进行进一步处理。例如,数据获取模块102可以将实时图像数据传送到数据预处理模块104以对数据进行预处理。又例如,数据获取模块102可以将实时图像数据传送到对象检测算法114,以从场景中确定一个或以上对象。再例如,数据获取模块102可以将实时图像数据传送到存储模块110以存储在本地数据库或远程数据库中。
数据预处理模块104可以预处理与相机获取的至少一个场景相关的实时图像数据。在一些实施例中,与场景相关的实时图像数据的预处理可以包括增强操作、变换操作、压缩操作、边缘检测、分割操作、降噪操作等,或其组合。例如,可以执行变换操作以将与场景相关的实时图像数据从一个域(例如,空间域)变换到另一域(例如,频域),以确定在场景中对象的一个或以上特征。又例如,可以执行增强操作以增强场景的一部分(例如,对象部分)。再例如,可以执行分割操作以识别或分类场景中的对象。在一些实施例中,数据预处理模块104可以将与场景相关的预处理后的实时图像数据传送到处理引擎140的其它模块以进行进一步处理。例如,数据预处理模块104可以将与场景相关的预处理后的实时图像数据传送到对象检测模块106,以确定场景中的一个或以上对象。
对象检测模块106可以检测至少一个场景中的一个或以上对象。该对象可以是具有或没有生命的有机和/或无机物质的任何组成。例如,对象可以包括人、车辆、动物、物体等,或其组合。应当注意,在本申请中,术语“物体”和“对象”可以互换使用。
在一些实施例中,由相机获取的场景(例如,静止图像场景、视频场景)可以包括对象部分和背景部分。对象部分可以包括一个或以上感兴趣对象。例如,如果场景涉及室内环境(例如,房间),则对象部分可以包括一个或以上人、一个或以上动物(例如,狗)等,并且背景部分可以包括一个或以上墙壁/窗户、一个或以上家具(例如,桌子、床)、一个或以上盆栽等。又例如,如果场景涉及室外环境(例如,街道、公园),则对象部分可以包括一个或以上车辆、一个或以上行人等,并且背景部分可以包括一个或以上植物、一个或以上建筑、一个或以上公共设施、雨、雪、摇曳的树枝等。
在一些实施例中,对象检测模块106可以基于一个或以上对象检测算法114,识别对象部分(例如,一个或以上对象)和/或从场景中过滤背景部分。示例性对象检测算法可以包括帧间差分算法、背景差分算法、光流算法等,或其组合。例如,背景差分算法可以包括时间差分算法、平均滤波算法、W4算法、高斯混合模型算法。
在一些实施例中,对象检测模块106可以对一个或以上检测到的对象进行分类。例如,检测到的对象可以被分类为,例如,人、动物、设施、车辆(例如,轿车、小型皮卡车、大型皮卡车、卡车拖车、集装箱卡车或SUV)、地标或车道线等类别。在一些实施例中,对象检测模块106可以通过分类器技术基于对象的一个或以上特征,对所识别的对象进行分类。示例性分类器技术可以包括决策树算法、逻辑回归算法、朴素贝叶斯算法、神经网络算法等,或其组合。在一些实施例中,对象的特征可以包括静态特征和动态特征。对象的静态特征可以指与对象运动无关的对象的特征。例如,场景中反映的对象的静态特征可以包括形状(例如,轮廓、面积、高度、宽度、高度与宽度的比率)、颜色、纹理等,或其组合。场景(例如,视频场景)中反映的对象的动态特征可以与对象的运动相关。例如,对象的动态特征可以包括运动轨迹、运动速度、运动位移、运动方向、运动加速度等,或其组合。
在一些实施例中,对象检测模块106可以将与检测到的对象相关的数据传输到处理引擎140的其它模块以进行进一步处理。例如,对象检测模块106可以将与分类后的对象相关的特征传送到标定模块108,以确定相机的参数。又例如,对象检测模块106可以将与分类后的对象相关的特征传送到存储模块110以进行存储。
标定模块108可以执行相机标定。如本申请所使用的,相机标定是指确定或调整相机的一个或以上参数,该参数可以用于将图像坐标转换为真实世界坐标,反之亦然。相机的示例性参数可以包括内参数、外参数、畸变参数等。相机的内参数可以表示相机的光学、几何和数字特性。例如,相机的内参数可以包括相机焦距、光学中心等。相机的外参数可以表示相机相对于真实世界坐标系的相对位置和方向。例如,相机的外参数可以包括相机的倾斜角、相机的偏航角、相机在相机所采集的场景平面上方的高度等。相机的畸变参数可以是由相机的光学透镜的特性和组装误差引起的。例如,相机的畸变参数可以包括径向畸变系数、切向畸变系数等。
在一些实施例中,相机的内参数可以形成内参数矩阵。内参数矩阵可以用于在由相机坐标系表示的相机坐标和由图像坐标系表示的图像坐标之间执行变换。相机的外参数可以形成外参数矩阵。外参数矩阵可以用于在由真实世界坐标系表示的真实世界坐标和由相机坐标系表示的相机坐标之间执行变换。如本申请所使用的,真实世界坐标系是指用于表示真实世界中除了相机之外的对象的固定坐标系。相机坐标系是指以相机中心为原点、光轴为Z轴的坐标系。相机坐标系的X轴和Y轴可以定义像平面。图像坐标系是指描述相机拍摄的图像中对象的位置的坐标系。
可以基于外参数矩阵和内参数矩阵确定可以用于在由真实世界坐标系表示的真实世界坐标与由图像坐标系表示的图像坐标之间进行变换的相机矩阵。仅出于说明目的,可以基于公式(1)确定相机矩阵:
其中P指相机矩阵;指外参数矩阵;R指旋转操作;t指平移操作;以及,K指内参数矩阵。在一些实施例中,可以基于公式(2)将真实世界坐标系(或图像坐标系)中的点A的真实世界坐标转换为图像坐标系(或真实世界坐标系)中的图像坐标:
在一些实施例中,标定模块108可以基于与图像平面和真实世界中的一个或以上分类后的对象相关的特征,确定相机参数。例如,标定模块108可以基于对应于与在图像平面识别的分类后的对象相关的一个或以上特征的一个或以上估计值,以及对应于真实世界中的特征的相应的一个或以上参考值,确定相机参数。在一些实施例中,与对象相关的特征可以表示对象的物理属性,如本申请的其它地方(例如,图3-4及其描)所描述的。如本申请所使用的,对应于特征的估计值可以指在图像平面中表示的特征的尺寸(即,像素尺寸)。在一些实施例中,估计值可以由图像坐标系表示,该图像坐标系被分配给相机所采集的一个或以上图像。例如,可以根据图像坐标系中的像素数确定对应于特征的估计值。如本申请所使用的,对应于特征的参考值可以指在真实世界中表示的特征的尺寸(即,真实世界的尺寸)。在一些实施例中,参考值可以由真实世界坐标系表示。例如,参考值可以包括规定的或标准的车道宽度、平均车辆长度、平均车辆宽度、成年人的平均身高等。
在一些实施例中,标定模块108可以确定相机是否需要被标定。然后,标定模块可以基于判断结果标定相机。关于标定模块108的更多描述可以在图3及其描述中找到。
在一些实施例中,标定模块108可以连接到和/或与处理引擎140中的一个或以上其它模块通信。例如,标定模块108可以将相机的确定后的参数传送到存储模块112以存储在本地数据库或远程数据库中。
存储模块110可以存储基于相机获取的实时图像数据进行相机标定相关的数据、指令和/或任何其它信息。在一些实施例中,存储模块110可以存储从处理引擎140、终端160和/或监视设备120获取的数据。例如,存储模块110可以存储与由监视设备120获取的至少一个场景相关的实时图像数据。又例如,存储模块110可以存储由标定模块108确定的相机参数。再例如,存储模块110可以存储对应于与在实时图像数据中检测的对象相关的一个或以上特征的一个或以上估计值。再例如,存储模块110可以存储对应于与对象相关的一个或以上特征的一个或以上参考值。在一些实施例中,存储模块110可以存储处理引擎140可执行或用来执行本申请中描述的示例性方法的数据和/或指令。例如,存储模块110可以存储处理引擎140可以执行或用于确定相机的参数的指令。在一些实施例中,存储模块110可以包括大容量存储器、可移动存储器、易失性读写内存、只读内存(ROM)等,或其任意组合。示例性大容量存储器可以包括磁盘、光盘、固态驱动器等。示例性可移动存储器可以包括闪存驱动器、软盘、光盘、内存卡、压缩盘、磁带等。示例性易失性读写内存可以包括随机存取内存(RAM)。示例性RAM可包括动态随机存取内存(DRAM)、双倍数据速率同步动态随机存取内存(DDR SDRAM)、静态随机存取内存(SRAM)、晶闸管随机存取内存(T-RAM)和零电容随机存取内存(Z-RAM)等。示例性ROM可包括掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、光盘ROM(CD-ROM)和数字通用盘ROM等。在一些实施例中,存储模块220可以在本申请其它地方描述的云平台上实现。在一些实施例中,存储模块110可以连接到和/或与处理引擎140中的一个或以上其它组件通信。处理引擎140中的一个或以上组件可以访问存储在存储模块110中的数据或指令。
终端160可以包括移动设备、平板计算机、……、膝上型计算机等,或其任何组合。例如,移动设备可以包括移动电话、个人数字助理(PDA)、游戏设备、导航设备、销售点(POS)设备、膝上型计算机、平板计算机等,或其任意组合。在一些实施例中,终端160可以包括输入设备、输出设备等。输入设备可以包括字母数字和其它按键,可以通过键盘、触摸屏(例如,带有触觉或触觉反馈)、语音输入、眼睛追踪输入、大脑监控***或任何其它类似的输入机制输入。通过输入设备接收到的输入信息可以被发送到处理设备140进一步处理。其它类型的输入设备可以包括光标控制设备,例如鼠标、轨迹球或光标方向键等。输出设备可以包括显示器、扬声器、打印机等,或其任何组合。
在一些实施例中,一个或以上终端160可以通过安装在一个或以上终端160中的应用程序(例如,图7中的应用程序790)与处理引擎140建立通信(例如,无线通信)。该应用程序可以与驾驶辅助***500相关联。例如,该应用程序可以是与驾驶辅助***500相关联的车辆导航应用程序。在一些实施例中,安装在终端160中的应用程序可以使终端160连续地或周期性地从终端160的相机获取实时图像数据,并自动标定终端160的相机。
该描述旨在是说明性的,而不是限制本申请的范围。对于本领域技术人员而言,许多替代、修改和变化将是显而易见的。本申请描述的示例性实施例的特征、结构、方法和其它特征可以以各种方式组合以获取另外的和/或替代的示例性实施例。然而,这些变化和修改不脱离本申请的范围。例如,数据预处理模块104和对象检测模块106可以集成到一个模块中。作为另一示例,处理引擎140可以进一步包括对象分类模块。对象分类模块可以对对象检测模块106检测到的对象进行分类。
图2是根据本申请的一些实施例所示的标定相机的示例性流程200的流程图。在一些实施例中,图2所示的流程200的一个或以上操作可以在图5所示的驾驶辅助***500中实现。例如,图2所示的流程200可以以指令的形式存储在存储设备580中,并且由处理引擎540(例如,如图6所示的计算设备600的处理器610、如图7所示的移动设备700的GPU 730或CPU740)调用和/或执行。
在202中,可以获取与相机获取的至少一个场景相关的实时图像数据。操作202可以由数据获取模块102执行。在一些实施例中,与场景相关的实时图像数据可以包括如本申请其它地方(例如,图1及其相关描述)所描述的至少两个图像或视频。在一些实施例中,可以从监视设备120、存储设备580、终端160或任何其它外部存储设备获取与相机所获取的场景相关的实时图像数据。
在204中,可以基于实时图像数据在至少一个场景中检测对象。操作204可以由对象检测模块106执行。在一些实施例中,可以基于如本申请的其它地方(例如,图1及其相关描述)所描述的一种或以上对象检测算法,在至少一个场景中检测对象。
在一些实施例中,对象检测模块106可以通过分类器技术基于对象的特征(例如,静态特征、动态特征)对检测到的对象进行分类。示例性分类器技术可以包括决策树算法、逻辑回归算法、朴素贝叶斯算法、神经网络算法等,或其组合。
在206中,可以基于在至少一个场景中检测到的对象,标定相机。操作206可以由标定模块108执行。在一些实施例中,相机可以是监视设备120或监视设备120的一部分。在一些实施例中,标定模块108可以通过确定相机的参数(例如,内参数、外参数或畸变参数),标定相机。在一些实施例中,标定模块108可以基于与图像平面和真实世界中的一个或以上分类后的对象相关的特征,确定相机参数。例如,标定模块108可以基于对应于与在图像平面中识别的分类后的对象相关的一个或以上特征的一个或以上估计值,以及对应于真实世界中的一个或以上特征的一个或以上参考值,通过参数确定算法116,确定相机参数。在一些实施例中,与对象相关的特征可以表示对象的物理属性,如本申请其它地方(例如,图3-4及其相关描述)所描述的。关于确定相机参数的更多描述可以在图1、图3、图4及其描述中找到。
该描述旨在是说明性的,而不是限制本申请的范围。对于本领域技术人员而言,许多替代、修改和变化将是显而易见的。本申请描述的示例性实施例的特征、结构、方法和其它特征可以以各种方式组合以获得另外的和/或替代的示例性实施例。然而,这些变化和修改不脱离本申请的范围。在一些实施例中,流程200中的操作可以分为多个操作。例如,操作204可以包括对场景中检测到的对象进行分类。作为另一示例,操作206可以包括识别与检测到的对象相关的实时第一特征。在一些实施例中,流程200可以进一步包括存储在操作202-206期间生成的数据(例如,检测到的对象、相机参数等)。
图3是根据本申请的一些实施例所示的用于标定相机的示例性标定模块108的示意图。如图所示,标定模块108可以包括特征识别单元302、判断单元304和参数确定单元306。在一些实施例中,特征识别单元302、判断单元304和参数确定单元306可以经由无线连接(例如,网络)、有线连接或其组合而彼此连接和/或彼此通信。
特征识别单元302可以识别与在与场景相关的实时图像数据中表示的一个或以上对象相关的至少两个实时第一特征。实时图像数据中表示的一个或以上对象可以包括人、车辆、动物、树木、设施等或其组合。例如,人可以包括成人、儿童、女人、男人等。车辆可以包括轿车、小型皮卡车、大型皮卡车、卡车拖车、集装箱卡车、SUV、跑车、货车、小型货车等。动物可以包括狗、猫、牛等。设施可以包括车道线、路灯、车道标识、建筑物、道路交通标志等。与对象相关的实时第一特征可以代表每个对象的至少一部分的物理属性。在一些实施例中,对象的物理属性可以包括每个对象的形状(例如,高度、宽度、长度、高度与宽度的比率)、颜色、纹理、体积、面积等。例如,对象的实时第一特征可以包括人的身高、人的肤色、人所穿夹克的质地、集装箱卡车的体积、路灯的高度、车道线的宽度等。在一些实施例中,对象的物理属性可以包括至少两个对象、对象的至少两个部分之间的位置关系、和/或对象的某一部分的物理属性。例如,至少两个对象之间和/或对象的至少两个部分之间的位置关系可以由至少两个对象之间和/或对象的至少两个部分之间的距离来定义。此外,与对象相关的实时第一特征可以包括两个车道线之间的距离、两个路灯之间的距离、车辆的两个车轮之间的距离等。又例如,某一个对象的一部分可以包括车的牌照、车的车轮、车的车厢等。此外,与对象的部分相关的第一特征可以包括车牌的宽度和/或高度、车轮的直径和/或周长、车厢的长度和/或宽度等。
在一些实施例中,特征识别单元302可以根据用户经由终端160输入的指令,识别与一个或以上对象相关的实时第一特征。例如,用户可以输入与一个或以上对象的宽度相关的指令作为实时第一特征。特征识别单元302可以将对象的宽度确定为实时第一特征。在一些实施例中,特征识别单元302可以自动识别实时第一特征。例如,对象检测模块106可以基于对象的特征(例如,静态特征、动态特征),根据本申请其它地方(例如,图1及其描述)所描述的一种或以上分类器技术,对至少两个对象进行检测和分类。特征识别单元302可以基于对象的分类识别与对象相关的实时第一特征。例如,假设对象被分类为人,则与该对象相关的实时第一特征可以包括人的身高、人的肤色、人所穿的夹克的质地等。又例如,假设对象被分类为车辆(例如,轿车、SUV、卡车拖车、集装箱卡车),则与该对象相关的实时第一特征可以包括车辆的尺寸(例如,高度、宽度)、车辆车轮尺寸、车辆牌照的尺寸等,或其组合。再例如,假设对象被分类为车道线,则与该对象相关的实时第一特征可以包括车道线的长度、宽度和/或车道线与相邻车道线之间的距离。
在一些实施例中,特征识别单元302可以确定对应于至少两个实时第一特征的一个或以上估计值。如本申请中所使用的,对应于实时第一特征的估计值可以指,在如本申请其它地方(例如,图1及其描述)所描述的图像平面中表示的实时第一特征的尺寸(即,像素尺寸)。对应于实时第一特征的估计值可以由图像坐标系(也被称为第一坐标系)表示。在一些实施例中,特征识别单元302可以确定对应于至少两个实时第一特征的一个或以上参考值。对应于实时第一特征的参考值可以指在如本申请其它地方(例如,图1及其描述)所描述的真实世界中表示的实时第一特征的尺寸。对应于实时第一特征的参考值可以由真实世界坐标系(也被称为第二坐标系)表示。在一些实施例中,参考值可以指示真实世界中的实时第一特征的实际尺寸。第一参考值可以从存储模块110、存储设备580或任何外部存储器获取。在一些实施例中,对应于实时第一特征的参考值可以包括第二参考值。可以基于对应于实时第一特征的估计值和相机的预定参数确定第二参考值。此外,可以通过基于包括相机的预定参数的预定相机矩阵来变换估计值,从而确定第二参考值。相机的预定参数可以从存储模块110、存储设备580或任何外部存储器中获取。例如,相机的预定参数可以包括上次确定并存储在存储模块110、存储设备580、本申请中描述的任何其它存储器或外部存储器中的相机的至少两个参数。
判断单元304可以确定相机是否需要被标定。判断单元304可以确定相机是否需要连续地或周期性地被标定。在一些实施例中,判断单元304可以确定是否需要以固定的时间间隔(例如一天、一周、一月等)来标定相机。在一些实施例中,判断单元304可以确定相机是否需要实时标定。例如,判断单元304可以基于实时图像数据确定相机是否需要被标定。又例如,判断单元304可以基于对应于至少两个实时第一特征的至少一个第一参考值和至少一个相应的第二参考值,确定相机是否需要被标定。进一步地,判断单元304可以将至少一个第一参考值与至少一个相应的第二参考值进行比较。判断单元304可以基于所述比较确定相机是否需要被标定。例如,如果至少一个第一参考值与至少一个相应的第二参考值之间的差值超过第一阈值,则判断单元304可以确定相机需要被标定。又例如,可以基于第一参考值和相应的第二参考值之间的多个比较结果,确定相机是否需要被标定。如果多个比较结果中的每一个都超过第二阈值,则判断单元304可以确定相机需要被标定。如本申请所使用的,第一参考值和相应的第二参考值可以指相同的第一特征。在一些实施例中,判断单元304可以基于规则确定相机是否需要被标定。该规则可以和与相机相关联的标定频率、与相机相关联的特定时间、与相机相关联的特定环境、与相机相关联的特定位置等有关。例如,判断单元304可以通过确定当前时刻与最接近当前时刻的相机的先前标定之间的时间间隔是否超过阈值(例如,一周、一月等),确定相机是否需要被标定。如果判断单元304确定当前时刻与最接近当前时刻的相机的先前标定之间的时间间隔超过阈值,则判断单元304可以确定需要对相机进行标定。又例如,判断单元304可以基于环境的明暗、环境的背景场景等来确定相机是否需要被标定。
在一些实施例中,判断单元304可以基于相机的实时状态的改变来确定相机是否需要被标定。例如,判断单元304可以检测车载相机相对于车辆的位置和/或方向的变化,该变化可能是由于道路颠簸、碰撞、车辆负载等引起的。当确定判断单元304检测到相机的状态改变时,判断单元304可以确定相机需要被标定。当确定判断单元304没有检测到相机的状态改变时,判断单元304可以确定相机不需要被标定。又例如,判断单元304可以确定当前时刻的相机的位置是否与执行先前标定时的相机的位置一致。如果判断单元304确定当前时刻的相机位置与进行先前标定时的相机位置不一致,则判断单元304可以确定相机需要被标定。关于是否需要基于对应于至少两个实时第一特征的一个或以上第一参考值以及一个或以上相应的第二参考值来确定相机是否被需要标定的更多描述可以在本申请的其它地方(例如,图4及其描述)找到。
参数确定单元306可以确定相机的一个或以上实时目标参数。相机的实时目标参数可以包括相机的内参数、外参数和/或畸变参数,如本申请其它地方(例如,图1及其相关描述)所描述的。参数确定单元306可以基于由相机获取的实时图像数据来确定相机的实时目标参数。此外,参数确定单元306可以基于对应于与由图像坐标系表示的一个或以上对象相关的实时第一特征的估计值,以及对应于真实世界坐标系表示的实时第一特征的第一参考值,确定相机的实时目标参数。在一些实施例中,相机的实时目标参数可以形成相机矩阵,该相机矩阵可以用于将图像坐标(或真实世界坐标)转换为真实世界坐标(或图像坐标)。相机矩阵可以基于由图像坐标系表示的估计值和由真实世界坐标系表示的第一参考值来计算。
在一些实施例中,参数确定单元306可以基于一个或以上参数确定算法116来确定相机的实时目标参数。示例性参数确定算法116可以包括随机验证算法、梯度算法、递归算法、数值算法等或其任意组合。例如,参数确定单元306可以基于对应于第一特征(例如,车辆的宽度)的线段的两个端点的图像坐标和对应于真实世界中的第一特征的第一参考值,根据数值算法确定相机的参数。又例如,参数确定单元306可以基于一个或以上第一估计值、一个或以上第一参考值以及相机的一个或以上预定参数,根据梯度算法确定相机的实时目标参数。进一步地,参数确定单元306可以将相机的预定参数指定为相机的初始参数。参数确定单元306可以基于相机的初始参数和与由图像坐标表示的实时第一特征相关的估计值,确定与由真实世界坐标系表示的实时第一特征相关的第二参考值。可以将第二参考值与第一参考值进行比较。可以确定第二参考值中的一个与相应的第一参考值之间的差值。参数确定单元306可以朝向第二参考值和第一参考值之间的差值减小的方向调整相机的初始参数。相机的实时目标参数的确定可以是包括一个或以上迭代的迭代过程。在每次迭代期间,参数确定单元306可以基于第二参考值与相应的第一参考值之间的差值来更新相机的初始参数。直到第二参考值和相应的第一参考值之间的差值不减小时,迭代过程可以结束,并且可以将相机的更新后的参数指定为相机的目标参数。
在一些实施例中,参数确定单元306可以从一个或以上实时第一特征中确定至少两个实时第二特征。至少两个实时第二特征可以被分为多个实验组(也被称为多组实时第二特征)。参数确定单元306可以基于至少两个实时第二特征的多个实验组来确定相机的多组实验参数。至少两个实时第二特征的多个实验组中的每一个可以对应于相机的多组实验参数中的一组。每组实验参数可以用于确定与由真实世界坐标系表示的实时第一特征相关的多组第二参考值。可以将多组第二参考值中的每一个分别与第一参考值进行比较。可以确定多组第二参考值中的每一个与第一参考值之间的平均差值。可以将与具有最小平均差值的一组第二参考值相对应的一组实验参数指定为相机的实时目标参数。
在一些实施例中,参数确定单元306可以进一步将确定的相机的参数发送到存储器,例如存储模块110、存储设备580或任何其它外部存储器。所存储的参数可用于下次标定相机。
该描述旨在是说明性的,而不是限制本申请的范围。对于本领域技术人员而言,许多替代、修改和变化将是显而易见的。本申请描述的示例性实施例的特征、结构、方法和其它特征可以以各种方式组合以获取另外的和/或替代的示例性实施例。然而,这些变化和修改不脱离本申请的范围。例如,特征识别单元302和判断单元304可以集成为一个单元。又例如,标定模块108可以基于由参数确定单元306提供的实时目标参数周期性地或即时地标定相机,而无需确定相机是否需要被标定。
图4是根据本申请的一些实施例所示的确定相机的一个或以上实时目标参数的示例性流程400的流程图。在一些实施例中,图4所示的流程400的一个或以上操作可以在图5所示的驾驶辅助***500中实现。例如,图4所示的流程400可以以指令的形式存储在存储设备580中,并由处理设备540(例如,如图6所示的计算设备600的处理器610、如图7所示的移动设备700的CPU740)调用和/或执行。
在402中,可以识别与实时图像数据中反映的至少两个对象相关的至少两个实时第一特征。操作402可以由特征识别单元302执行。在一些实施例中,实时图像数据可以与相机获取的至少一个场景相关,如本申请其它地方(例如,图1和图2及其描述)所描述的。例如,与视频场景相关的实时图像数据可以包括视频。视频可以包括多个图像序列。可以从视频的一个或以上图像序列中识别与至少两个对象相关的至少两个实时第一特征。
实时图像数据中表示的至少两个对象可以包括人、车辆、动物、树木、设施等或其组合。与对象相关的实时第一特征可以表示对象中的每个对象的至少一部分的物理属性,如本申请其它地方(例如,图1、图2、图3及其相关描述)所描述的。在一些实施例中,特征识别单元302可以根据用户经由终端160输入的指令来识别与一个或以上对象相关的实时第一特征,如图3及其相关描述所描述的。在一些实施例中,可以通过特征识别单元302从实时图像数据中自动识别与至少两个对象相关的至少两个实时第一特征,如图3及其相关描述所述描述的。在一些实施例中,与至少两个对象相关的至少两个实时第一特征可以由操作者手动识别。例如,操作者可以通过用户终端(例如,终端160)的用户界面定格视频并获取至少一个图像序列。操作者可以在用户界面上显示的至少一个图像序列中手动识别实时第一特征。仅通过示例的方式,操作者可以在用户界面上显示的图像序列上的人(或车辆)上画一条线,以识别人的身高(或车辆的长度)。可替代地,操作者可以在用户界面上显示的图像序列上标记一个或以上点,以识别实时第一特征。仅出于说明目的,为了识别人的身高,操作者可以在人的脚下标记第一点,并在人的头上方标记第二点。然后,操作者可以在第一点和第二点之间绘制线段,或者特征识别单元302可以自动在第一点和第二点之间生成线段。该线段可以对应于人的身高。
在404中,可以确定对应于至少两个实时第一特征的一个或以上第一估计值。操作404可以由特征识别单元302执行。如本申请中所使用的,对应于实时第一特征的估计值可以指在如本申请其它地方(例如,图1及其相关描述)描述的图像平面中表示的实时第一特征的尺寸(即,像素尺寸)。对应于实时第一特征的估计值可以由图像坐标系(也被称为第一坐标系)表示。可以根据图像坐标系中的像素数来确定对应于至少两个实时第一特征的一个或以上第一估计值。例如,可以将对应于对象的高度的第一估计值确定为从构成对象的像素组的底部到对象的像素组的顶部的像素数。又例如,可以基于对象的顶部上的点的图像坐标和对象的底部的点的图像坐标来确定对应于对象的高度的第一估计值。
在406中,可以获取对应于至少两个实时第一特征的一个或以上第一参考值。操作406可以由数据获取模块102执行。对应于实时第一特征的参考值可以指在如本申请其它地方(例如,图1及其相关描述)所描述的真实世界中表示的实时第一特征的尺寸。对应于实时第一特征的参考值可以由真实世界坐标系(也被称为第二坐标系)表示。
在一些实施例中,一个或以上第一估计值中的每一个可以对应于一个或以上第一参考值中的一个。例如,对应于成年男性的身高的第一估计值可以与成年男性的平均身高(例如,1.75m)相关联。又例如,对应于本田SUV的宽度的第一估计值可以与本田SUV的已知宽度(例如,4.5m)相关联。
在一些实施例中,数据获取模块102可以从驾驶辅助***500的一个或以上组件(例如,存储设备580、存储模块11、监视设备120和/或终端160)中获取一个或以上参考值。在一些实施例中,用户可以将第一参考值提供给驾驶辅助***500。第一参考值可以存储在存储设备(例如,存储设备580)中。数据获取模块102可以访问存储设备并获取第一参考值。附加地或替代地,数据获取模块102可以经由网络550从其它来源获取第一参考值。其它来源可以包括网站、数据库、***和/或可以包括第一参考值的任何其它来源。例如,数据获取模块102可以从汽车供应商网站获取与车辆相关的信息(例如,轿车的平均长度、卡车拖车的车轮的平均宽度)。
在408中,可以获取相机的一个或以上预定参数。操作408可以由数据获取模块102执行。相机的预定参数可以包括相机的内参数、外参数和/或畸变参数,如本申请其它地方(例如,图1和图3及其相关描述)所描述的。在一些实施例中,数据获取模块102可以从驾驶辅助***500的一个或以上组件(例如,存储设备580、存储模块110、监视设备120和/或终端160)获取相机的一个或以上预定参数。
在410中,可以基于相机的一个或以上预定参数,确定对应于与至少两个对象相关的至少两个实时第一特征的一个或以上第二参考值。操作410可以由判断单元304执行。一个或以上第二参考值可以由本申请中其它地方所描述的第二坐标系(也被称为真实世界坐标系)表示。在一些实施例中,可以基于包括相机的预定参数的相机矩阵通过转换估计值来确定第二参考值。在一些实施例中,判断单元304可以基于一个或以上坐标变换操作来确定第二参考值。一个或以上坐标变换操作可以与相机的预定参数相关联。以确定特定的第二参考值为例,判断单元304可以确定对应于第一特征(例如,车辆的宽度)的线段的两个端点的图像坐标。判断单元304可以将两个端点的图像坐标转换为相机坐标。然后,判断单元304可以将相机坐标转换为真实世界坐标。判断单元304可以进一步基于两个端点的真实世界坐标确定第二参考值。
在412中,可以确定一个或以上第一参考值中的至少一个与相应的第二参考值之间的差值。操作412可以由判断单元304执行。例如,可以通过从相应的第二参考值(或第一参考值)中减去第一参考值(或第二参考值)来确定第一参考值和相应的第二参考值之间的差值。
在414中,可以确定相机是否需要被标定。操作412可以由判断单元304执行。在一些实施例中,判断单元304可以基于一个或以上第一参考值中的至少一个与相应的第二参考值之间的差值和阈值来确定相机是否需要被标定。例如,判断单元304可以确定第一参考值中的至少一个与相应的第二参考值之间的差值是否大于第一阈值。在确定差值大于第一阈值时,判断单元304可以确定相机需要被标定。在确定差值不大于第一阈值时,判断单元304可以确定相机不需要被标定。又例如,判断单元304可以确定第一参考值和相应的第二参考值之间的差值中的每一个是否大于第二阈值。在确定第一参考值与相应的第二参考值之间的差值中的每一个均大于第二阈值时,判断单元304可以确定相机需要被标定。在确定第一参考值与相应的第二参考值之间的差值中的一个不大于第二阈值时,判断单元304可以确定相机不需要被标定。再例如,判断单元304可以确定第一参考值和相应的第二参考值之间的差值的数量是否超过第三阈值。在确定差值的数量大于第三阈值时,判断单元304可以确定相机需要被标定。在确定差值的数量不大于第三阈值时,判断单元304可以确定相机不需要被标定。阈值可以是存储在存储设备(例如,存储模块110、存储设备580或存储器620)中的默认参数。附加地或替代地,阈值可以根据不同情况手动设置或由驾驶辅助***500的一个或以上组件确定。
在确定相机需要被标定之后,流程400可以进行到416,以基于一个或以上第一估计值和一个或以上第一参考值来确定相机的一个或以上实时目标参数。在确定相机不需要被标定之后,流程400可以进行到418,以将相机的一个或以上预定参数指定为相机的一个或以上实时目标参数。
在416中,可以基于一个或以上第一估计值和一个或以上第一参考值,确定相机的一个或以上实时目标参数。操作416可以由参数确定单元306执行。相机参数可以包括相机的内参数、外参数和畸变参数,如本申请其它地方(例如,图1和图3及其相关描述)所描述的。在一些实施例中,相机参数可以基于对应于实时第一特征的一个或以上第一估计值以及一个或以上相应的第一参考值通过如图3及其描述所述的一个或以上参数确定算法116来确定。示例性参数确定算法114可以包括随机验证算法、梯度算法、递归算法、数值算法等或其组合。
该描述旨在是说明性的,而不是限制本申请的范围。对于本领域技术人员而言,许多替代、修改和变化将是显而易见的。本申请描述的示例性实施例的特征、结构、方法和其它特征可以以各种方式组合以获取另外的和/或替代的示例性实施例。然而,这些变化和修改不脱离本申请的范围。在一些实施例中,流程400可以利用一个或以上未描述的附加操作和/或未讨论的一个或以上操作来完成。例如,可以省略操作408-414。标定模块108可以基于参数确定单元306提供的实时目标参数周期性地或即时地标定相机,而无需确定相机是否需要被标定。在一些实施例中,流程400中的操作顺序可以改变。例如,可以在操作406之前执行操作408和操作410。
图5是根据本申请的一些实施例所示的示例性驾驶辅助***500的示意图。如图所示,驾驶辅助***500可以包括监视设备520、处理引擎540、存储设备580、一个或以上终端560和网络550。在一些实施例中,监视设备520、处理引擎540、存储设备580和/或终端560可以经由无线连接(例如,网络550)、有线连接或其组合而彼此连接和/或通信。驾驶辅助***500中的组件之间的连接可以是可变的。仅作为示例,监视设备520可以通过网络550与处理引擎540连接,如图5所示。作为另一示例,监视设备520可以直接与处理引擎540连接。作为又一示例,存储设备580可以通过网络550与处理引擎540连接,如图5所示,或者可以直接与处理引擎540连接。作为又一示例,终端560可以通过网络550与处理引擎540连接,如图5所示,或者可以直接与处理引擎540连接。
监视设备520可以用于执行对感兴趣区域(AOI)或感兴趣对象的监视。在一些实施例中,AOI可以在室内或室外。例如,AOI可以包括房间、购物中心、街道、公园、地铁站等。对象可以是生物或非生物。例如,对象可以包括人、车辆、动物、物体等,或其组合。在一些实施例中,监视设备520可以安装在车辆内部,以获取周围环境的信息(例如,道路状况)。
在一些实施例中,监视设备520可以是和/或包括能够获取实时图像数据的任何合适的设备。在一些实施例中,监视设备520可以包括摄像机、可穿戴智能设备等,或其组合。摄像机可以指用于视觉记录的设备。例如,摄像机可以包括彩色摄像机、数码摄像机、摄像机、便携式摄像机、PC摄像机、网络摄像机、红外(IR)摄像机、低光摄像机、热敏摄像机、闭路电视摄像机、平移、倾斜、变焦(PTZ)摄像机、视频传感设备等,或其组合。监视设备520可以包括一个或以上安装在各个地方以监视感兴趣区域的摄像机。例如,监视设备520可以是车载相机。可穿戴智能设备包括眼镜、肩带、智能手表、脚链、腿带、臂章、胸带、项链、手指夹等,或其组合。提供监视设备520的上述示例是出于说明的目的,而不是意图限制本申请的范围。
处理引擎540可以处理从监视设备520、存储设备580和/或终端560获取的数据和/或信息。例如,处理引擎540可以检测和分类从监视设备520获取的实时图像数据中的对象。又例如,处理引擎540可以基于在由监视设备520采集的实时图像数据中反映的检测到的对象来标定监视设备520。在一些实施例中,处理引擎740可以是单个服务器或服务器组。服务器组可以是集中式或分布式的。在一些实施例中,处理引擎540可以是本地的或远程的。例如,处理引擎540可经由网络550访问来自监视设备520、存储设备580和/或终端560的信息和/或数据。又例如,处理引擎540可以直接连接到监视设备520、终端560和/或存储设备580以访问信息和/或数据。在一些实施例中,处理引擎540可以在云平台上实现。例如,云平台可以包括私有云、公共云、混合云、社区云、分布式云、云间、多云等,或其组合。在一些实施例中,处理引擎540可以由具有结合图6所描述的一个或以上组件的计算设备600来实现。
存储设备580可以存储数据、指令和/或任何其它信息。在一些实施例中,存储设备580可以存储从处理引擎540和终端560获取的数据。例如,存储设备580可以存储与由监视设备520获取的至少一个场景相关的实时图像数据。又例如,存储设备580可以存储由处理引擎540确定的相机参数。再例如,存储设备580可以存储对应于与在实时图像数据中检测到的对象相关的一个或以上特征的一个或以上估计值。再例如,存储设备580可以存储对应于与对象相关的一个或以上特征的一个或以上参考值。在一些实施例中,存储设备580可以存储处理引擎540可以执行或用来执行本申请中描述的示例性方法的数据和/或指令。例如,存储设备580可以存储处理引擎540可以执行或用于确定相机的实时目标参数的指令。在一些实施例中,存储设备580可以包括大容量存储器、可移动存储器、易失性读写内存、只读内存(ROM)等或其任何组合。示例性大容量存储器可以包括磁盘、光盘、固态驱动器等。示例性可移动存储器可以包括闪存驱动器、软盘、光盘、内存卡、压缩盘、磁带等。示例性易失性读写内存可以包括随机存取内存(RAM)。示例性RAM可包括动态随机存取内存(DRAM)、双倍数据速率同步动态随机存取内存(DDR SDRAM)、静态随机存取内存(SRAM)、晶闸管随机存取内存(T-RAM)和零电容随机存取内存(Z-RAM)等。示例性ROM可以包括掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、光盘ROM(CD-ROM)和数字多功能盘ROM等在一些实施例中,存储设备580可以在本申请的其它地方描述的云平台上实现。
在一些实施例中,存储设备580可以连接到网络550,以与驾驶辅助***500中的一个或以上其它组件(例如,处理引擎540、一个或以上终端560等)进行通信。驾驶辅助***500中的一个或以上组件可以经由网络550访问存储在存储设备580中的数据或指令。在一些实施例中,存储设备580可以是处理引擎540的一部分。
终端560可以连接到监视设备520、处理引擎540和/或存储设备580和/或与之通信。例如,终端560可以获取由监视设备520获取的实时图像数据,并将该实时图像数据发送至处理引擎540以进行处理。又例如,终端560可以从处理引擎540获取处理后的图像。再例如,终端560可以获取由处理引擎540确定的相机参数。在一些实施例中,终端560可以包括移动设备、平板计算机、膝上型计算机等,或其任何组合。例如,移动设备可以包括移动电话、个人数字助理(PDA)、游戏设备、导航设备、销售点(POS)设备、膝上型计算机、平板计算机、台式计算机等,或其任何组合。在一些实施例中,终端560可以包括输入设备、输出设备等。输入设备可以包括字母数字和其它按键,可以通过键盘、触摸屏(例如,带有触觉或触觉反馈)、语音输入、眼球跟踪输入、大脑监控***或任何其它类似的输入机制输入。通过输入设备接收的输入信息可以经由例如总线传送到处理引擎540,以进行进一步处理。其它类型的输入设备可以包括光标控制设备、例如鼠标、轨迹球或光标方向键等。输出设备可以包括显示器、扬声器、打印机等或其组合。在一些实施例中,终端560可以是处理引擎540的一部分。在一些实施例中,驾驶辅助***500可以在终端560上实现。在一些实施例中,终端560可以通过安装在终端560中的应用程序(例如,图7中的应用程序790)与处理引擎540建立通信(例如,无线通信)。该应用程序可以与驾驶辅助***500相关联。例如,该应用程序可以是与驾驶辅助***500相关联的车辆导航应用程序。在一些实施例中,安装在终端560中的应用程序可以使终端560连续地或周期性地从终端560的相机获取实时图像数据,并自动标定终端560的相机。
网络550可以包括可以促进驾驶辅助***500的信息和/或数据的交换的任何合适的网络。在一些实施例中,驾驶辅助***500的一个或以上组件(例如,监视设备520、处理引擎540、存储设备580、一个或以上终端560等)可以经由网络与驾驶辅助***500的一个或以上其它组件进行信息和/或数据通信。例如,处理引擎540可以经由网络550从监视设备520获取实时图像数据。又例如,处理引擎540可以经由网络550从终端560获取用户指令。网络550可以是和/或包括公共网络(例如,互联网)、私有网络(例如,局域网(LAN)、广域网(WAN))等)、有线网络(例如,以太网)、无线网络(例如,802.11网络、Wi-Fi网络等)、蜂窝网络(例如,长期演进(LTE)网络)、帧中继网络、虚拟专用网络(VPN)、卫星网络、电话网络、路由器、集线器、交换机、服务器计算机和/或其任何组合。例如,网络550可以包括电缆网络、有线网络、光纤网络、电信网络、内联网、无线局域网(WLAN)、城域网(MAN)、公共电话交换网络(PSTN)、蓝牙网络、ZigBee网络、近场通信(NFC)网络等,或其任意组合。在一些实施例中,网络550可以包括一个或以上网络接入点。例如,网络550可以包括有线和/或无线网络接入点,例如基站和/或互联网交换点,驾驶辅助***500的一个或以上组件可以通过该接入点连接到网络550以交换数据和/或信息。
应当注意,驾驶辅助***500仅是出于说明的目的而提供的,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出各种各样的变化和修改。例如,驾驶辅助***500可以进一步包括数据库、信息源等。又例如,驾驶辅助***500可以在其它设备上实现以实现相似或不同的功能。然而,这些变化和修改不脱离本申请的范围。
图6是根据本申请的一些实施例所示的可以在其上实现处理引擎540的示例性计算设备600的示例性硬件和/或软件组件的示意图。如图6所示,计算设备600可以包括处理器610、存储器620、输入/输出(I/O)630和通信端口640。
处理器610可以根据本申请描述的技术执行计算机指令(例如,程序代码)并执行处理引擎540的功能。计算机指令可以包括例如执行在此描述的特定功能的例程、程序、对象、组件、数据结构、过程、模块和功能,其执行本申请描述的特定功能。例如,处理器610可以处理从监视设备520、存储设备580、终端560和/或驾驶辅助***500的任何其它组件获取的实时图像数据。在一些实施例中,处理器610可以包括一个或以上硬件处理器、诸如微控制器、微处理器、精简指令集计算机(RISC)、专用集成电路(ASIC)、专用指令集处理器(ASIP)、中央处理单元(CPU)、图形处理单元(GPU)、物理处理单元(PPU)、微控制器单元、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、高级RISC机器(ARM)、可编程逻辑设备(PLD)、能够执行一个或以上功能的任何电路或处理器等,或其组合。
仅出于说明的目的,在计算设备600中仅描述了一个处理器。然而,应注意的是,本申请中的计算设备600还可以包括多个处理器,因此,如本申请中所描述的由一个处理器执行的操作和/或方法步骤也可以由多个处理器联合或分开地执行。例如,如果在本申请中,计算设备600的处理器同时执行操作A和操作B,则应当理解,操作A和操作B也可以由计算设备600中的两个或以上不同的处理器共同地或分别地执行(例如,第一处理器执行操作A,第二处理器执行操作B,或者第一处理器和第二处理器共同执行操作A和B)。
存储器620可以存储从监视设备520、存储设备580、终端560和/或驾驶辅助***500的任何其它组件获取的数据/信息。在一些实施例中,存储器620可以包括大容量存储器、可移动存储器、易失性读写内存、只读内存等或其组合。例如,大容量存储器可以包括磁盘、光盘、固态驱动器等。可移动存储设备可以包括闪存驱动器、软盘、光盘、存储卡、压缩盘、磁带等。易失性读写内存可以包括随机存取内存(RAM)。RAM可以包括动态RAM(DRAM)、双倍速率同步动态RAM(DDR SDRAM)、静态RAM(SRAM)、晶闸管RAM(T-RAM)和零电容RAM(Z-RAM)等。ROM可以包括掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、光盘ROM(CD-ROM)和数字多功能盘ROM等在一些实施例中,存储器620可以存储一个或以上程序和/或指令以执行本申请中描述的示例性方法。例如,存储器620可以存储用于处理引擎540的程序,该程序用于确定相机的实时目标参数。
I/O 630可以输入和/或输出信号、数据、信息等。在一些实施例中,I/O 630可以使用户能够与处理引擎540交互。在一些实施例中,I/O 630可以包括输入设备和输出设备。示例性的输入设备可以包括键盘、鼠标、触摸屏、麦克风等,或其组合。示例性的输出设备可以包括显示设备、扬声器、打印机、投影仪等或其组合。示例性的显示设备可以包括液晶显示器(LCD)、基于发光二极管(LED)的显示器、平板显示器、曲面屏幕、电视设备、阴极射线管(CRT)、触摸屏等,或其组合。
通信端口640可以连接到网络(例如,网络550)以促进数据通信。通信端口640可以在处理引擎540与监视设备520、存储设备580和/或终端560之间建立连接。该连接可以是有线连接、无线连接、可以实现数据传输和/或接收的任何其它通信连接和/或这其组合。有线连接可以包括例如电缆、光缆、电话线等,或其组合。无线连接可以包括,例如,蓝牙链接、Wi-Fi链接、WiMax链接、WLAN链接、ZigBee链接、移动网络链接(例如3G、4G、5G等)等,或其组合。在一些实施例中,通信端口640可以是和/或包括标准化通信端口,例如RS232、RS485等。在一些实施例中,通信端口640可以是专门设计的通信端口。例如,可以根据数字成像和医学通信(DICOM)协议来设计通信端口640。
图7是根据本申请的一些实施例所示的可以在其上实现终端560的示例性移动设备700的示例性硬件和/或软件组件的示意图。如图7所示,移动设备700可以包括通信平台710、显示器720、图形处理单元(GPU)730、中央处理单元(CPU)740、I/O 750、内存760和存储器770。在一些实施例中,任意其它合适的组件,包括但不限于***总线或控制器(未示出),也可以被包括于移动设备700中。在一些实施例中,移动操作***780(例如,iOSTM、AndroidTM、Windows PhoneTM等)和一个或以上应用程序790可以从存储器790加载到内存760中以由CPU740执行。应用程序780可以包括浏览器或任何其它合适的移动应用程序,用于从处理引擎540接收并渲染与图像处理相关的信息或其它信息。可以通过I/O750来实现用户与信息流的交互,并通过网络550将其提供给处理引擎540和/或驾驶辅助***500的其它组件。
为了实施本申请描述的各种模块、单元及其功能,计算机硬件平台可用作本文中描述的一个或以上组件的硬件平台。具有用户接口元素的计算机可用于实施个人计算机(PC)或任何其它类型的工作站或终端设备。若计算机被适当的程序化,计算机亦可用作服务器。
同时,本申请使用了特定词语来描述本申请的实施例。例如“一个实施例”、“一实施例”和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特性。因此,应当强调并注意的是,本说明书中在不同位置两次或以上提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本申请的一个或以上实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域的普通技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的过程、机器、产品或物质的组合,或对其任何新的和有用的改进。因此,本申请的各个方面可以完全由硬件实施、可以完全由软件(包括固件、常驻软件、微代码等)实施、也可以由硬件和软件组合实施。以上硬件或软件均可被称为“单元”、“模块”或“***”。此外,本申请的各方面可以采取体现在一个或以上计算机可读介质中的计算机程序产品的形式,其中计算机可读程序代码包含在其中。
计算机可读信号介质可以包含一个内含有计算机程序代码的传播数据信号,例如,在基带上或作为载波的一部分。此类传播信号可以有多种形式,包括电磁形式、光形式等或任何合适的组合。计算机可读信号介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行***、装置或设备以实现通信、传播或传输供使用的程序。位于计算机可读信号介质上的程序代码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF等,或任何上述介质的组合。
本申请各部分操作所需的计算机程序代码可以用任意一种或以上程序设计语言编写,包括如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等的面向对象程序设计语言、如C程序设计语言、Visual Basic、Fortran2103、Perl、COBOL2102、PHP、ABAP的常规程序化程序设计语言、如Python、Ruby和Groovy的动态程序设计语言或其它程序设计语言等。该程序代码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如,通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本申请所述处理元素和序列的顺序、数字字母的使用、或其它名称的使用,并非用于限定本申请流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本申请实施例实质和范围的修正和等价组合。例如,尽管上述各种组件的实现可以体现在硬件设备中,但也可以实现为纯软件解决方案,例如,在现有服务器或移动设备上的安装。
同理,应当注意的是,为了简化本申请披露的表述,从而帮助对一个或以上发明实施例的理解,前文对本申请的实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。然而,本申请的该方法不应被解释为反映所声称的待扫描对象物质需要比每个权利要求中明确记载的更多特征的意图。相反,发明的主体应具备比上述单一实施例更少的特征。
一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本申请一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
本文中提及的所有专利、专利申请、专利申请公布和其它材料(如论文、书籍、说明书、出版物、记录、事物和/或类似的东西)均在此通过引用的方式全部并入本文以达到所有目的,与上述文件相关的任何起诉文档记录、与本文件不一致或冲突的任何上述文件或对迟早与本文件相关的权利要求书的广泛范畴有限定作用的任何上述文件除外。举例来说,如果在描述、定义和/或与任何所结合的材料相关联的术语的使用和与本文件相关联的术语之间存在任何不一致或冲突,则描述、定义和/或在本文件中使用的术语以本文件为准。
最后,应当理解的是,本申请中所述实施例仅用以说明本申请实施例的原则。其它的变形也可能属于本申请的范围。因此,作为示例而非限制,本申请实施例的替代配置可视为与本申请的教导一致。相应地,本申请的实施例不仅限于本申请明确介绍和描述的实施例。
Claims (19)
1.一种标定相机的***,包括:
计算机可读存储介质,其存储用于标定相机的可执行指令;以及
与所述计算机可读存储介质通信的至少一个处理器,当执行所述可执行指令时,所述至少一个处理器用于:
获取与当前时刻相机所获取的至少一个场景相关的实时图像数据;
从所述实时图像数据中识别与至少两个对象相关的至少两个实时第一特征;
确定对应于所述至少两个实时第一特征的一个或以上第一估计值,所述一个或以上第一估计值由第一坐标系表示;
基于所述对象,从驾驶辅助***的一个或以上组件中获取对应于所述至少两个实时第一特征的一个或以上第一参考值,所述一个或以上第一参考值由第二坐标系表示,所述一个或以上第一估计值中的每一个对应所述一个或以上第一参考值中的一个;
从所述一个或以上实时第一特征中确定至少一组实时第二特征;
基于所述至少一组实时第二特征确定所述相机的至少一组一个或以上第一参数;
基于所述至少一组一个或以上第一参数中的每一个,确定与所述至少两个对象的所述至少两个实时第一特征相对应的一个或以上第二参考值;以及
通过所述一个或以上第一参考值与所述一个或以上第二参考值之间的平均差值,确定在所述当前时刻所述相机的一个或以上实时目标参数。
2.根据权利要求1所述的***,其特征在于,为了通过所述一个或以上第一参考值与所述一个或以上第二参考值之间的平均差值,确定在所述当前时刻所述相机的一个或以上实时目标参数,所述至少一个处理器进一步用于:
响应于所述相机获取所述实时图像数据,确定所述相机是否需要被标定;以及
响应于确定所述相机需要被标定,通过所述一个或以上第一参考值与所述一个或以上第二参考值之间的平均差值,确定所述相机的所述一个或以上实时目标参数。
3.根据权利要求2所述的***,其特征在于,为了确定所述相机是否需要被标定,所述至少一个处理器还用于:
基于所述一个或以上第一参考值中的至少一个与相应的第二参考值之间的平均差值,确定所述相机是否需要被标定。
4.根据权利要求2所述的***,其特征在于,所述确定所述相机是否需要被标定包括:
确定当前时刻与最接近所述当前时刻的先前标定之间的时间间隔是否超过阈值;或者
确定当前时刻的所述相机的位置是否与执行所述先前标定时的所述相机的位置一致。
5.根据权利要求4所述的***,所述至少一个处理器进一步用于:
响应于确定所述当前时刻和最接近所述当前时刻的所述先前标定之间的所述时间间隔超过所述阈值,或在所述当前时刻所述相机的所述位置与执行所述先前标定时的所述相机的所述位置不一致,确定所述相机需要被标定。
6.根据权利要求1所述的***,其特征在于,为了通过所述一个或以上第一参考值与所述一个或以上第二参考值之间的平均差值,确定在所述当前时刻所述相机的一个或以上实时目标参数,所述至少一个处理器进一步用于:
获取所述相机的一个或以上预定参数;
通过所述一个或以上第一参考值与所述一个或以上第二参考值之间的平均差值以及所述相机的所述一个或以上预定参数,根据梯度算法确定所述相机的所述一个或以上实时目标参数。
7.根据权利要求1所述的***,其特征在于,所述至少两个对象包括车道标识的至少一部分、车辆的至少一部分、设施的至少一部分以及人的至少一部分中的至少一项。
8.根据权利要求1所述的***,其特征在于,所述相机安装在移动设备中。
9.根据权利要求1所述的***,其特征在于,为了从所述实时图像数据中识别与至少两个对象相关的至少两个特征,所述至少一个处理器还用于:
从所述实时图像数据中检测所述至少两个对象;
对所述至少两个对象进行分类;以及
基于所述至少两个分类后的对象识别与所述至少两个对象相关的所述至少两个特征。
10.一种在具有至少一个处理器和至少一个计算机可读存储介质的计算设备上实现的标定相机的方法,所述方法包括:
获取与当前时刻相机所获取的至少一个场景相关的实时图像数据;
从所述实时图像数据中识别与至少两个对象相关的至少两个实时第一特征;
确定对应于所述至少两个实时第一特征的一个或以上第一估计值,所述一个或以上第一估计值由第一坐标系表示;
基于所述对象,从驾驶辅助***的一个或以上组件中获取对应于所述至少两个实时第一特征的一个或以上第一参考值,所述一个或以上第一参考值由第二坐标系表示,所述一个或以上第一估计值中的每一个对应于所述一个或以上第一参考值中的一个;
从所述一个或以上实时第一特征中确定至少一组实时第二特征;
基于所述至少一组实时第二特征确定所述相机的至少一组一个或以上第一参数;
基于所述至少一组一个或以上第一参数中的每一个,确定与所述至少两个对象的所述至少两个实时第一特征相对应的一个或以上第二参考值;以及
通过所述一个或以上第一参考值与所述一个或以上第二参考值之间的平均差值,确定在所述当前时刻所述相机的一个或以上实时目标参数。
11.根据权利要求10所述的方法,其特征在于,所述通过所述一个或以上第一参考值与所述一个或以上第二参考值之间的平均差值,确定在所述当前时刻所述相机的一个或以上实时目标参数包括:
确定所述相机是否需要被标定;以及
响应于确定所述相机需要被标定,通过所述一个或以上第一参考值与所述一个或以上第二参考值之间的平均差值,确定所述相机的所述一个或以上实时目标参数。
12.根据权利要求11所述的方法,其特征在于,确定所述相机是否需要被标定包括:
基于所述一个或以上第一参考值中的至少一个与相应的第二参考值之间的平均差值,确定所述相机是否需要被标定。
13.根据权利要求11所述的方法,其特征在于,所述确定所述相机是否需要被标定包括:
确定当前时刻与最接近所述当前时刻的先前标定之间的时间间隔是否超过阈值;或者
确定在所述当前时刻的所述相机的位置是否与执行所述先前标定时的所述相机的位置一致。
14.根据权利要求13所述的方法,还包括:
响应于确定所述当前时刻和最接近所述当前时刻的所述先前标定之间的所述时间间隔超过所述阈值,或在所述当前时刻的所述相机的所述位置与执行所述先前标定时的所述相机的所述位置不一致,确定所述相机需要被标定。
15.根据权利要求10所述的方法,其特征在于,所述通过所述一个或以上第一参考值与所述一个或以上第二参考值之间的平均差值,确定在所述当前时刻所述相机的一个或以上实时目标参数,包括:
获取所述相机的一个或以上预定参数;
通过所述一个或以上第一参考值与所述一个或以上第二参考值之间的平均差值以及所述相机的所述一个或以上预定参数,根据梯度算法确定所述相机的所述一个或以上实时目标参数。
16.根据权利要求10所述的方法,其特征在于,所述至少两个对象包括车道标识的至少一部分、车辆的至少一部分、设施的至少一部分以及人的至少一部分中的至少一项。
17.根据权利要求10所述的方法,其特征在于,所述相机安装在移动设备中。
18.根据权利要求10所述的方法,其特征在于,从所述实时图像数据中识别与至少两个对象相关的至少两个特征包括:
从所述实时图像数据中检测所述至少两个对象;
对所述至少两个对象进行分类;以及
基于所述至少两个分类后的对象识别与所述至少两个对象相关的所述至少两个特征。
19.一种非暂时性计算机可读介质,包括:
由至少一个处理器执行的指令,所述指令使所述至少一个处理器实现一种方法,包括:
获取与当前时刻相机所获取的至少一个场景相关的实时图像数据;
从所述实时图像数据中识别与至少两个对象相关的至少两个实时第一特征;
确定对应于所述至少两个实时第一特征的一个或以上第一估计值,所述一个或以上第一估计值由第一坐标系表示;
基于所述对象,从驾驶辅助***的一个或以上组件中获取对应于所述至少两个实时第一特征的一个或以上第一参考值,所述一个或以上第一参考值由第二坐标系表示,所述一个或以上第一估计值中的每一个对应所述一个或以上第一参考值中的一个;
从所述一个或以上实时第一特征中确定至少一组实时第二特征;
基于所述至少一组实时第二特征确定所述相机的至少一组一个或以上第一参数;
基于所述至少一组一个或以上第一参数中的每一个,确定与所述至少两个对象的所述至少两个实时第一特征相对应的一个或以上第二参考值;以及
通过所述一个或以上第一参考值与所述一个或以上第二参考值之间的平均差值,确定在所述当前时刻所述相机的一个或以上实时目标参数。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862664066P | 2018-04-27 | 2018-04-27 | |
US62/664,066 | 2018-04-27 | ||
PCT/CN2019/084418 WO2019206247A1 (en) | 2018-04-27 | 2019-04-26 | System and method for camera calibration |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112106110A CN112106110A (zh) | 2020-12-18 |
CN112106110B true CN112106110B (zh) | 2023-02-10 |
Family
ID=68294821
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980024830.9A Active CN112106110B (zh) | 2018-04-27 | 2019-04-26 | 标定相机的***和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11468598B2 (zh) |
CN (1) | CN112106110B (zh) |
WO (1) | WO2019206247A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102019201490A1 (de) * | 2019-02-06 | 2020-08-06 | Robert Bosch Gmbh | Kalibriereinrichtung für eine Überwachungsvorrichtung, Überwachungsvorrichtung zur Man-Overboard-Überwachung sowie Verfahren zur Kalibrierung |
TWI720869B (zh) * | 2020-04-15 | 2021-03-01 | 致伸科技股份有限公司 | 相機模組之對位方法 |
KR20220097818A (ko) * | 2020-12-31 | 2022-07-08 | 삼성전자주식회사 | 언더 디스플레이 카메라 |
DE102022203061A1 (de) * | 2022-03-29 | 2023-10-05 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren zum Betreiben einer Überwachungsvorrichtung, Computerprogramm, Speichermedium und Überwachungsvorrichtung |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007033087A (ja) * | 2005-07-22 | 2007-02-08 | Sony Corp | キャリブレーション装置及び方法 |
JP2008177742A (ja) * | 2007-01-17 | 2008-07-31 | Alpine Electronics Inc | カメラパラメータ取得装置 |
CN105631853A (zh) * | 2015-11-06 | 2016-06-01 | 湖北工业大学 | 车载双目相机标定及参数验证方法 |
CN107004277A (zh) * | 2014-12-04 | 2017-08-01 | 康诺特电子有限公司 | 机动车辆摄像头***的在线标定 |
Family Cites Families (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5748199A (en) * | 1995-12-20 | 1998-05-05 | Synthonics Incorporated | Method and apparatus for converting a two dimensional motion picture into a three dimensional motion picture |
US7796081B2 (en) | 1997-10-22 | 2010-09-14 | Intelligent Technologies International, Inc. | Combined imaging and distance monitoring for vehicular applications |
US6459481B1 (en) * | 1999-05-06 | 2002-10-01 | David F. Schaack | Simple system for endoscopic non-contact three-dimentional measurement |
US6819318B1 (en) * | 1999-07-23 | 2004-11-16 | Z. Jason Geng | Method and apparatus for modeling via a three-dimensional image mosaic system |
US20030076980A1 (en) * | 2001-10-04 | 2003-04-24 | Siemens Corporate Research, Inc.. | Coded visual markers for tracking and camera calibration in mobile computing systems |
US6919892B1 (en) * | 2002-08-14 | 2005-07-19 | Avaworks, Incorporated | Photo realistic talking head creation system and method |
US8553037B2 (en) * | 2002-08-14 | 2013-10-08 | Shawn Smith | Do-It-Yourself photo realistic talking head creation system and method |
US7623274B1 (en) * | 2004-12-22 | 2009-11-24 | Google Inc. | Three-dimensional calibration using orientation and position sensitive calibration pattern |
WO2007014216A2 (en) * | 2005-07-22 | 2007-02-01 | Cernium Corporation | Directed attention digital video recordation |
US8197070B2 (en) * | 2006-01-24 | 2012-06-12 | Seiko Epson Corporation | Color-based feature identification |
CN101118648A (zh) * | 2007-05-22 | 2008-02-06 | 南京大学 | 交通监视环境下的路况摄像机标定方法 |
KR100966592B1 (ko) * | 2007-12-17 | 2010-06-29 | 한국전자통신연구원 | 영상에서 평행 사변형의 호모그래피를 이용한 카메라의 보정 방법 |
US8897482B2 (en) * | 2008-02-29 | 2014-11-25 | Trimble Ab | Stereo photogrammetry from a single station using a surveying instrument with an eccentric camera |
US8462227B2 (en) * | 2009-04-24 | 2013-06-11 | Ati Technologies Ulc | Digital camera module white balance calibration method and apparatus using only single illumination source data |
JP5111447B2 (ja) * | 2009-06-12 | 2013-01-09 | 日本電信電話株式会社 | カメラ校正装置、カメラ校正方法、カメラ校正プログラムおよびプログラムを記録した記録媒体 |
US9393694B2 (en) * | 2010-05-14 | 2016-07-19 | Cognex Corporation | System and method for robust calibration between a machine vision system and a robot |
CN102789642B (zh) * | 2011-05-16 | 2017-08-25 | 索尼公司 | 消失方向确定方法和装置、摄像机自标定方法和装置 |
EP2551638B1 (en) | 2011-07-27 | 2013-09-11 | Elektrobit Automotive GmbH | Technique for calculating a location of a vehicle |
US9883163B2 (en) * | 2012-01-09 | 2018-01-30 | Disney Enterprises, Inc. | Method and system for determining camera parameters from a long range gradient based on alignment differences in non-point image landmarks |
EP2672718A1 (en) * | 2012-06-07 | 2013-12-11 | Thomson Licensing | Color calibration of an image capture device in a way that is adaptive to the scene to be captured |
US9135705B2 (en) * | 2012-10-16 | 2015-09-15 | Qualcomm Incorporated | Sensor calibration and position estimation based on vanishing point determination |
US9159140B2 (en) * | 2013-03-14 | 2015-10-13 | Microsoft Technology Licensing, Llc | Signal analysis for repetition detection and analysis |
US20140267611A1 (en) * | 2013-03-14 | 2014-09-18 | Microsoft Corporation | Runtime engine for analyzing user motion in 3d images |
US9142034B2 (en) * | 2013-03-14 | 2015-09-22 | Microsoft Technology Licensing, Llc | Center of mass state vector for analyzing user motion in 3D images |
JP6282098B2 (ja) * | 2013-11-29 | 2018-02-21 | キヤノン株式会社 | キャリブレーション装置及び方法 |
US9307231B2 (en) * | 2014-04-08 | 2016-04-05 | Lucasfilm Entertainment Company Ltd. | Calibration target for video processing |
CN104036522A (zh) * | 2014-04-16 | 2014-09-10 | 嘉兴博海信息科技有限公司 | 一种基于视频中运动目标识别的流水速度监测方法 |
US10445898B2 (en) * | 2016-02-05 | 2019-10-15 | Sony Corporation | System and method for camera calibration by use of rotatable three-dimensional calibration object |
US9823089B1 (en) * | 2016-06-21 | 2017-11-21 | Amazon Technologies, Inc. | Unmanned aerial vehicle sensor calibration as part of departure from a materials handling facility |
US11017558B2 (en) * | 2016-06-29 | 2021-05-25 | Seeing Machines Limited | Camera registration in a multi-camera system |
EP3479293A4 (en) * | 2016-06-29 | 2020-03-04 | Seeing Machines Limited | SYSTEMS AND METHODS FOR PERFORMING LOOK TRACKING |
CN106251334B (zh) * | 2016-07-18 | 2019-03-01 | 华为技术有限公司 | 一种摄像机参数调整方法、导播摄像机及*** |
US10372970B2 (en) * | 2016-09-15 | 2019-08-06 | Qualcomm Incorporated | Automatic scene calibration method for video analytics |
US10366263B2 (en) * | 2016-12-30 | 2019-07-30 | Accenture Global Solutions Limited | Object detection for video camera self-calibration |
CN107239748A (zh) * | 2017-05-16 | 2017-10-10 | 南京邮电大学 | 基于棋盘格标定技术的机器人目标识别与定位方法 |
-
2019
- 2019-04-26 CN CN201980024830.9A patent/CN112106110B/zh active Active
- 2019-04-26 WO PCT/CN2019/084418 patent/WO2019206247A1/en active Application Filing
-
2020
- 2020-10-27 US US17/080,866 patent/US11468598B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007033087A (ja) * | 2005-07-22 | 2007-02-08 | Sony Corp | キャリブレーション装置及び方法 |
JP2008177742A (ja) * | 2007-01-17 | 2008-07-31 | Alpine Electronics Inc | カメラパラメータ取得装置 |
CN107004277A (zh) * | 2014-12-04 | 2017-08-01 | 康诺特电子有限公司 | 机动车辆摄像头***的在线标定 |
CN105631853A (zh) * | 2015-11-06 | 2016-06-01 | 湖北工业大学 | 车载双目相机标定及参数验证方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112106110A (zh) | 2020-12-18 |
US20210042962A1 (en) | 2021-02-11 |
US11468598B2 (en) | 2022-10-11 |
WO2019206247A1 (en) | 2019-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112106110B (zh) | 标定相机的***和方法 | |
US11335102B2 (en) | Methods and systems for lane line identification | |
WO2019223582A1 (en) | Target detection method and system | |
US20220245792A1 (en) | Systems and methods for image quality detection | |
CN110188807B (zh) | 基于级联超分辨率网络与改进Faster R-CNN的隧道行人目标检测方法 | |
Possatti et al. | Traffic light recognition using deep learning and prior maps for autonomous cars | |
US12008794B2 (en) | Systems and methods for intelligent video surveillance | |
Negru et al. | Image based fog detection and visibility estimation for driving assistance systems | |
US9846927B2 (en) | Systems and methods for haziness detection | |
DE102020113280A1 (de) | Automatische erzeugung von grundwahrheitsdaten zum trainieren oder umzutrainieren eines oder mehrerer modelle für maschinelles lernen | |
Loce et al. | Computer vision in roadway transportation systems: a survey | |
EP3921773A1 (en) | Systems and methods for lane detection | |
US11967052B2 (en) | Systems and methods for image processing | |
JPWO2007083494A1 (ja) | 図形認識装置、図形認識方法および図形認識プログラム | |
US11657592B2 (en) | Systems and methods for object recognition | |
CN117015792A (zh) | 有凹图像放大用于自动驾驶生成物体检测标签的***和方法 | |
DE112022002652T5 (de) | Automatische erzeugung einer vektorkarte für die fahrzeugnavigation | |
CN111699679A (zh) | 交通***监控和方法 | |
Matsuda et al. | A system for real-time on-street parking detection and visualization on an edge device | |
Negru et al. | Fog assistance on smart mobile devices | |
Duan et al. | Cascade feature selection and coarse-to-fine mechanism for nighttime multiclass vehicle detection | |
US20230267749A1 (en) | System and method of segmenting free space based on electromagnetic waves | |
CN113378972B (zh) | 一种复杂场景下的车牌识别方法及*** | |
Eddy et al. | Camera-based measurement of cyclist motion | |
US20230316565A1 (en) | Image view adjustment |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |