CN112819895A - 一种摄像机标定方法及装置 - Google Patents
一种摄像机标定方法及装置 Download PDFInfo
- Publication number
- CN112819895A CN112819895A CN201911125464.4A CN201911125464A CN112819895A CN 112819895 A CN112819895 A CN 112819895A CN 201911125464 A CN201911125464 A CN 201911125464A CN 112819895 A CN112819895 A CN 112819895A
- Authority
- CN
- China
- Prior art keywords
- calibration
- image
- model
- feature
- points
- 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/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/26—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
- G06V10/267—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion by performing operations on regions, e.g. growing, shrinking or watersheds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
- G06V10/462—Salient features, e.g. scale invariant feature transforms [SIFT]
- G06V10/464—Salient features, e.g. scale invariant feature transforms [SIFT] using a plurality of salient features, e.g. bag-of-words [BoW] representations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/50—Extraction of image or video features by performing operations within image blocks; by using histograms, e.g. histogram of oriented gradients [HoG]; by summing image-intensity values; Projection analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
- G06V20/58—Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
- G06V20/582—Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads of traffic signs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
- G06V20/58—Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
- G06V20/584—Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads of vehicle lights or traffic lights
-
- 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/30248—Vehicle exterior or interior
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
- G06T2207/30256—Lane; Road marking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Cheminformatics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Image Analysis (AREA)
Abstract
本申请提供了一种摄像机标定方法及装置,方法包括:获取标定图像,其中,标定图像是摄像机对N个特征主体进行图像采集得到的,N个特征主体总共包括K个特征点;在标定图像中查找到K个特征点并获取K个特征点的K个像素坐标;接收标定模型,其中,标定模型是根据摄像机的地址位置和拍摄角度从高精地图的三维模型获取得到的;在标定模型中查找到所述K个特征点并获取K个特征点的K个世界坐标,且K个世界坐标与K个像素坐标一一对应;根据K个像素坐标和K个世界坐标对摄像机进行标定。实施本申请可以实现摄像机的自动化标定,提高了摄像机标定的效率。
Description
技术领域
本申请涉及智慧交通领域,尤其涉及一种摄像机标定方法及装置。
背景技术
在智能交通***(ITS,Intelligent Transportation System)中,城市交通的各个路口都部署了监控摄像机用于路口的实时监控,为了实现对交通路口的交通状态进行监测和分析,例如,对交通路口车辆的运行速度、车辆的排队长度等进行监测,都需要对摄像机进行标定。随着计算机视觉技术的发展,基于监控摄像机的新型业务发展的非常迅速,例如,基于高精地图的数字路口静态要素还原,车路协同中车辆的动态轨迹获取等,新型业务对摄像机标定提出了更高要求以实现路口的静态交通要素数字化和动态目标的数字化。
现有的摄像机标定方法中,有一些需要人工在地理区域放置标定物以及采集标定物上易识别的标志点的地理坐标和该标志点在图像中对应的像素坐标,标定数据工作量大且对于摄像机的大范围视野,人工标注图像中的标志点难度大;业界也有人提出通过已知的摄像机参数或者采用路面上互不重合的多条平行直线段进行摄像机的标定,但这些方法都需要附加已知的先验知识,例如,摄像机的高度或俯角、车道宽度、平行于车道的一条线段的实际长度等;还有一些利用场景中的几何模型,例如交通标志线端点构成的矩形框,实现摄像机的自标定,但需人工在场景中放置标志物以及要求实际应用场景中存在矩形框才能完成相应标定。
发明内容
本申请实施例公开了一种摄像机标定方法及装置,通过该方法可以实现摄像机的自动化标定以及自动转换成高精地图世界坐标,全程无需人工参与,提高了摄像机标定的效率和准确率。
第一方面,本申请提供了一种摄像机标定方法,包括:获取标定图像,其中,所述标定图像是摄像机对N个特征主体进行图像采集得到的,所述N个特征主体总共包括K个特征点,第一个特征主体包括M1个特征点,第二个特征主体包括M2个特征点,…,第N个特征主体包括MN个特征点,K等于M1,M2,…,MN之和;在所述标定图像中查找到所述K个特征点,获取所述K个特征点在所述标定图像中的K个像素坐标,其中,所述K个特征点和所述K个像素坐标之间存在一一对应关系;接收标定模型,其中,所述标定模型是根据所述摄像机的地址位置和拍摄角度从高精地图的三维模型获取得到的,所述三维模型是对所述特征主体全方位建模得到的;在所述标定模型中查找到所述K个特征点,并获取所述K个特征点在所述标定模型中的K个世界坐标,其中,所述K个特征点和所述K个世界坐标之间存在一一对应关系;根据所述K个像素坐标和所述K个世界坐标对所述摄像机进行标定。
上述方案中,该方法先获取摄像机拍摄的包含N个特征主体的标定图像,其中,第Ni个特征主体包括Mi个特征点,N个特征主体共有K个特征点;再获取包含N个特征主体的标定模型,该标定模型是根据摄像机的地址位置和拍摄角度从高精地图的三维模型获取得到的。检测标定图像中的K个特征点并获取K个特征点在标定图像中对应的像素坐标,然后在标定模型中确定所述K个特征点并获取K个特征点在标定模型中对应的像素坐标,最后根据K对特征点的像素坐标和世界坐标对摄像机进行标定。本申请通过从标定模型中找到标定图像中特征点对应的实际地理区域特征点的世界坐标代替人工实地测量获取特征点的世界坐标,实现了摄像机的自动化标定,提高了摄像机的标定效率。
在一种可能的实施方式中,所述在所述标定图像中查找到所述K个特征点,包括:从所述标定图像中获取所述N个特征主体的N个图像标定框,其中,第一个图像标定框为所述第一个特征主体在所述标定图像的标定框,第二个图像标定框为所述第二个特征主体在所述标定图像的标定框,…,第N个图像标定框为所述第N个特征主体在所述标定图像的标定框;从所述N个图像标定框中查找所述K个特征点,其中,第一个图像标定框包括M1个特征点,第二个图像标定框包括M2个特征点,…,第N个图像标定框包括MN个特征点。
在一种可能的实施方式中,所述在所述标定模型中查找到所述K个特征点,包括:从所述标定模型中获取所述N个特征主体的N个模型标定框;将所述N个图像标定框和所述N个模型标定框进行匹配,从而确定第一个模型标定框为所述第一个特征主体在所述标定模型的标定框,第二个模型标定框为所述第二个特征主体在所述标定模型的标定框,…,第N个模型标定框为所述第N个特征主体在所述标定模型的标定框;从所述N个模型标定框中查找所述K个特征点,其中,第一个模型标定框包括M1个特征点,第二个模型标定框包括M2个特征点,…,第N个模型标定框包括MN个特征点。
可以看出,上述方案中先通过匹配标定图像和标定模型中的特征主体对应的标定框,以使标定图像中特征主体与标定模型中特征主体一一对应,再通过匹配同一特征主体在标定图像和标定模型中的特征点,以使标定图像中特征主体的特征点与标定模型中特征主体的特征点一一对应,大大减少了运算量,提高了标定图像和标定模型中特征点的匹配效率,从而提高了摄像机的标定效率。
在一种可能的实施方式中,所述将所述N个图像标定框和所述N个模型标定框进行匹配,包括:计算所述N个图像标定框的中心点获得N个中心点像素坐标,所述N个中心点像素坐标与所述N个图像标定框一一对应;计算所述N个模型标定框的中心点获得N个中心点世界坐标,所述N个中心点世界坐标与所述N个模型标定框一一对应;基于所述N个中心点像素坐标,遍历所述N个中心点中的每个中心点,建立所述每个中心点与所述每个中心点的周边中心点的上下左右关系,获得第一位置结果;基于所述N个中心点世界坐标的X、Y坐标,遍历所述N个中心点中的每个中心点,建立所述每个中心点与所述每个中心点的周边中心点的上下左右关系,获得第二位置结果;根据所述第一位置结果和所述第二位置结果,确定所述N个图像标定框和所述N个模型标定框一一对应。
通过依据相同的规则分别在标定图像和标定模型中建立各特征主体之间的位置关联关系并基于该位置关联关系实现了标定图像和标定模型中特征主体的匹配,提高了特征主体的匹配效率,从而提高了摄像机的标定效率。
在一种可能的实施方式中,所述将所述N个图像标定框和所述N个模型标定框进行匹配,包括:计算所述N个图像标定框的中心点获得N个中心点像素坐标,所述N个中心点像素坐标与所述N个图像标定框一一对应;计算所述N个模型标定框的中心点获得N个中心点世界坐标,所述N个中心点世界坐标与所述N个模型标定框一一对应;基于所述N个中心点像素坐标,确定所述N个中心点中的每个中心点的上、下、左、右四个方向上分别包含的中心点的数量,获得第三位置结果,所述每个中心点的上、下、左、右四个方向上分别包含的中心点的数量之和为N-1;基于所述N个中心点世界坐标的X、Y坐标,确定所述N个中心点中的每个中心点的上、下、左、右四个方向上分别包含的中心点的数量,获得第四位置结果,所述每个中心点的上、下、左、右四个方向上分别包含的中心点的数量之和为N-1;根据所述第三位置结果和所述第四位置结果,确定所述N个图像标定框和所述N个模型标定框一一对应。
通过依据相同的规则分别在标定图像和标定模型中建立各特征主体之间的位置关联关系并基于该位置关联关系实现了标定图像和标定模型中特征主体的匹配,提高了特征主体的匹配效率,从而提高了摄像机的标定效率。
在一种可能的实施方式中,所述将所述N个图像标定框和所述N个模型标定框进行匹配,包括:计算所述N个图像标定框的中心点获得N个中心点像素坐标,所述N个中心点像素坐标与所述N个图像标定框一一对应;计算所述N个模型标定框的中心点获得N个中心点世界坐标,所述N个中心点世界坐标与所述N个模型标定框一一对应;基于所述N个中心点像素坐标,按照第一顺序对所述N个中心点像素坐标进行排序获得第一排序结果,所述第一顺序包括从左至右、从右至左、从上至下、从下至上中的一种;基于所述N个中心点世界坐标的X、Y坐标,按照所述第一顺序对所述N个中心点世界坐标进行排序获得第二排序结果,所述第二排序结果与所述第一排序结果一一对应;根据所述第一排序结果和所述第二排序结果,确定所述N个图像标定框和所述N个模型标定框一一对应。
通过依据相同的规则分别在标定图像和标定模型中建立各特征主体之间的位置关联关系并基于该位置关联关系实现了标定图像和标定模型中特征主体的匹配,提高了特征主体的匹配效率,从而提高了摄像机的标定效率。
在一种可能的实施例中,所述从所述N个模型标定框中查找所述K个特征点,其中,第一个模型标定框包括M1个特征点,第二个模型标定框包括M2个特征点,…,第N个模型标定框包括MN个特征点,包括:对所述第i个图像标定框中的特征主体的Mi个像素坐标按照第二顺序进行排序,获得第三排序结果,所述第二顺序包括从左至右、从右至左、从上至下、从下至上中的一种,所述i为大于等于1且小于等于N的整数;对所述第i个模型标定框中的特征主体的Mi个世界坐标按照所述第二顺序进行排序,获得第四排序结果,所述第i个图像标定框和所述第i个模型标定框一一对应,所述i为大于等于1且小于等于N的整数;基于所述第三排序结果和所述第四排序结果,确定所述K个像素坐标和所述K个世界坐标一一对应。
通过依据相同的规则分别对匹配后的标定图像和标定模型中同一特征主体的特征点建立位置关联关系并基于该位置关联关系实现特征主体的特征点的匹配,提高了标定图像和标定模型中特征点的匹配效率,从而提高了摄像机的标定效率。
在一种可能的实施例中,所述特征主体包括路面交通标志线,所述路面交通标志线包括转弯线、车道线、停止线、人行横道线中的一种或多种。
在一种可能的实施例中,所述根据所述K个像素坐标和所述K个世界坐标对所述摄像机进行标定之后,所述方法还包括:获取相邻帧的两幅所述标定图像并获取所述两幅标定图像中同一特征点的两个像素坐标,所述同一特征点有多个;计算所述同一特征点的所述两个像素坐标之间的距离的平均值;在所述平均值大于预设距离阈值时,对摄像机进行重新标定。
在完成摄像机的初次标定后,通过检测相邻帧标定图像中同一特征点的像素坐标变化情况来判断摄像机的拍摄角度是否发生变化,在判断出摄像机的拍摄角度发生变化时,对摄像机进行重新标定以实现摄像机标定参数的自修正,提高了摄像机标定的准确率。
第二方面,本申请实施例提供了一种用于摄像机标定的装置,包括:
接收单元,用于获取标定图像,其中,所述标定图像是摄像机对N个特征主体进行图像采集得到的,所述N个特征主体总共包括K个特征点,第一个特征主体包括M1个特征点,第二个特征主体包括M2个特征点,…,第N个特征主体包括MN个特征点,K等于M1,M2,…,MN之和;
所述接收单元,还用于接收标定模型,其中,所述标定模型是根据所述摄像机的地址位置和拍摄角度从高精地图的三维模型获取得到的,所述三维模型是对所述特征主体全方位建模得到的;
处理单元,用于在所述标定图像中查找到所述K个特征点,获取所述K个特征点在所述标定图像中的K个像素坐标,其中,所述K个特征点和所述K个像素坐标之间存在一一对应关系;
所述处理单元,还用于在所述标定模型中查找到所述K个特征点,并获取所述K个特征点在所述标定模型中的K个世界坐标,其中,所述K个特征点和所述K个世界坐标之间存在一一对应关系;
计算单元,用于根据所述K个像素坐标和所述K个世界坐标对所述摄像机进行标定。
在一种可能的实施例中,所述处理单元具体用于:从所述标定图像中获取所述N个特征主体的N个图像标定框,其中,第一个图像标定框为所述第一个特征主体在所述标定图像的标定框,第二个图像标定框为所述第二个特征主体在所述标定图像的标定框,…,第N个图像标定框为所述第N个特征主体在所述标定图像的标定框;从所述N个图像标定框中查找所述K个特征点,其中,第一个图像标定框包括M1个特征点,第二个图像标定框包括M2个特征点,…,第N个图像标定框包括MN个特征点。
在一种可能的实施例中,所述处理单元具体用于:从所述标定模型中获取所述N个特征主体的N个模型标定框;将所述N个图像标定框和所述N个模型标定框进行匹配,从而确定第一个模型标定框为所述第一个特征主体在所述标定模型的标定框,第二个模型标定框为所述第二个特征主体在所述标定模型的标定框,…,第N个模型标定框为所述第N个特征主体在所述标定模型的标定框;从所述N个模型标定框中查找所述K个特征点,其中,第一个模型标定框包括M1个特征点,第二个模型标定框包括M2个特征点,…,第N个模型标定框包括MN个特征点。
在一种可能的实施例中,所述处理单元具体用于:计算所述N个图像标定框的中心点获得N个中心点像素坐标,所述N个中心点像素坐标与所述N个图像标定框一一对应;计算所述N个模型标定框的中心点获得N个中心点世界坐标,所述N个中心点世界坐标与所述N个模型标定框一一对应;基于所述N个中心点像素坐标,遍历所述N个中心点中的每个中心点,建立所述每个中心点与所述每个中心点的周边中心点的上下左右关系,获得第一位置结果;基于所述N个中心点世界坐标的X、Y坐标,遍历所述N个中心点中的每个中心点,建立所述每个中心点与所述每个中心点的周边中心点的上下左右关系,获得第二位置结果;根据所述第一位置结果和所述第二位置结果,确定所述N个图像标定框和所述N个模型标定框一一对应。
在一种可能的实施例中,所述处理单元具体用于:计算所述N个图像标定框的中心点获得N个中心点像素坐标,所述N个中心点像素坐标与所述N个图像标定框一一对应;计算所述N个模型标定框的中心点获得N个中心点世界坐标,所述N个中心点世界坐标与所述N个模型标定框一一对应;基于所述N个中心点像素坐标,确定所述N个中心点中的每个中心点的上、下、左、右四个方向上分别包含的中心点的数量,获得第三位置结果,所述每个中心点的上、下、左、右四个方向上分别包含的中心点的数量之和为N-1;基于所述N个中心点世界坐标的X、Y坐标,确定所述N个中心点中的每个中心点的上、下、左、右四个方向上分别包含的中心点的数量,获得第四位置结果,所述每个中心点的上、下、左、右四个方向上分别包含的中心点的数量之和为N-1;根据所述第三位置结果和所述第四位置结果,确定所述N个图像标定框和所述N个模型标定框一一对应。
在一种可能的实施例中,所述处理单元具体用于:计算所述N个图像标定框的中心点获得N个中心点像素坐标,所述N个中心点像素坐标与所述N个图像标定框一一对应;计算所述N个模型标定框的中心点获得N个中心点世界坐标,所述N个中心点世界坐标与所述N个模型标定框一一对应;基于所述N个中心点像素坐标,按照第一顺序对所述N个中心点像素坐标进行排序获得第一排序结果,所述第一顺序包括从左至右、从右至左、从上至下、从下至上中的一种;基于所述N个中心点世界坐标的X、Y坐标,按照所述第一顺序对所述N个中心点世界坐标进行排序获得第二排序结果,所述第二排序结果与所述第一排序结果一一对应;根据所述第一排序结果和所述第二排序结果,确定所述N个图像标定框和所述N个模型标定框一一对应。
在一种可能的实施例中,所述处理单元具体用于:对所述第i个图像标定框中的特征主体的Mi个像素坐标按照第二顺序进行排序,获得第三排序结果,所述第二顺序包括从左至右、从右至左、从上至下、从下至上中的一种,所述i为大于等于1且小于等于N的整数;对所述第i个模型标定框中的特征主体的Mi个世界坐标按照所述第二顺序进行排序,获得第四排序结果,所述第i个图像标定框和所述第i个模型标定框一一对应,所述i为大于等于1且小于等于N的整数;基于所述第三排序结果和所述第四排序结果,确定所述K个像素坐标和所述K个世界坐标一一对应。
在一种可能的实施例中,所述特征主体包括路面交通标志线,所述路面交通标志线包括转弯线、车道线、停止线、人行横道线中的一种或多种。
在一种可能的实施例中,所述处理单元在所述计算单元完成初次计算之后,还具体用于:获取相邻帧的两幅所述标定图像并获取所述两幅标定图像中同一特征点的两个像素坐标,所述同一特征点有多个;计算所述同一特征点的所述两个像素坐标之间的距离的平均值;在所述平均值大于预设距离阈值时,对摄像机进行重新标定。
第三方面,本申请实施例提供一种计算设备,包括处理器、通信接口和存储器,所述存储器,用于存储指令,所述处理器用于执行所述指令,所述通信接口用于接收或者发送数据;其中,所述处理器执行所述指令时执行上述第一方面或上述第一方面任意可能的实施方式中所述的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,所述处理器执行上述第一方面或上述第一方面任意可能的实施方式中所述的方法。
第五方面,本申请实施例提供一种计算机程序产品,该计算机程序产品包括指令,当该计算机程序产品被计算机执行时,使得计算机可以执行上述第一方面或上述第一方面任意可能的实施方式中所述的方法。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种***架构的示意图;
图2是本申请实施例提供的一种摄像机标定方法的流程示意图;
图3是本申请实施例提供的一种摄像机拍摄的交通路口的示意图;
图4是本申请实施例提供的一种目标区域的标定图像和标定模型的角点匹配的方法流程图;
图5是本申请实施例提供的一些交通标志线在标定图像中建立位置关联关系后的结果图;
图6是本申请实施例提供的一种交通标志线在标定模型中建立位置关联关系后的结果图;
图7是本申请实施例提供的一些标定图像和标定模型中同一交通标志线的角点匹配后的结果图;
图8是本申请实施例提供的一种获取交通标志线角点的像素坐标的方法流程示意图;
图9是本申请实施例提供的一种获取交通标志线角点的世界坐标的方法流程示意图;
图10是本申请实施例提供的一种摄像机的结构示意图;
图11是本申请实施例提供的一种用于摄像机标定的装置的结构示意图;
图12是本申请实施例提供的一种计算设备的结构示意图。
具体实施方式
下面结合附图对本申请实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在智能交通***(ITS,Intelligent Transportation System)中,随着计算机视觉技术的发展,基于监控摄像机的新兴业务发展的非常迅速,例如:结合高精地图的数字路口静态要素还原、无人驾驶中的车辆动态轨迹获取等,新兴业务的发展对交通路口摄像机的标定提出了更高的要求,一方面要求摄像机可以在线快速标定,无人工参与;另一方面,摄像机采集的二维图像坐标可以转换为高精地图三维世界坐标。
现有的摄像机标定方法中,有的需要人工现场放置标定物并采集标定物上的特征点在空间中的三维坐标,且该特征点是易被图像识别,标定工作量大;也有的无需人工参与,但需要附加已知的先验知识,例如:摄像机的高度或仰角、场景中存在固定的几何模型、车道宽度等,才能实现摄像机的标定,约束条件多。总之,现有的摄像机标定方法都并未结合高精地图做世界坐标转换,且需人工参与或者约束条件多,无法满足新兴业务对摄像机标定提出的高要求。为了解决上述问题,本发明提出基于图像识别交通路口的地面的交通标志线,建立交通标志线的位置关联关系,同时点云地图也建立交通标志线的位置关联关系,根据标志线的位置关联关系对交通标志线的角点做匹配,建立图像像素点坐标与点云中的世界坐标的对应关系,从而完成摄像机的自动化标定。
摄像机标定的目的是为了利用摄像机拍摄到的图像还原被拍摄区域空间中的物体,则需要确定被拍摄区域中的物体表面某点的三维几何位置与其在图像中对应的像素点之间的转换关系。可以理解,被拍摄区域是物理世界中的一个具体的地理区域,例如:交通路口、交通道路等区域,被拍摄区域的图像可以是从一个固定角度拍摄的该地理区域的图像,也可以是安装于固定位置的摄像机记录的该地理区域的视频中的任意一个视频帧。摄像机标定的本质即为计算地理区域中的点的世界坐标与该地理区域的图像中对应的点的像素坐标之间的转换关系,从而获得摄像机的标定参数。根据获得的标定参数,不仅可以将任意处在该地理区域的目标在地理区域中的世界坐标转换为在图像中的像素坐标,还可以将任意处在该地理区域中的目标在图像中的像素坐标转换为该目标在地理区域中的世界坐标,即获得目标在地理空间中的具***置。
本申请中图像的像素坐标是图像中目标所在位置的像素点的坐标,像素点的坐标是二维的,本申请中的世界坐标是地理区域中每一个点的三维坐标,可以理解,物理世界中,不同坐标系下同一个点可以有不同的坐标值。本申请中目标的世界坐标可以是任意坐标系下的坐标值,例如,本申请中目标的世界坐标可以是目标对应的经度、纬度和海拔组成的三维坐标,也可以是目标对应的自然坐标系下的X坐标、Y坐标和Z坐标组成的三维坐标,也可以是其它形式的坐标,只要该坐标可以唯一确定目标在地理区域中的位置,本申请对具体选用何种形式的坐标不作限定。本申请中采用的世界坐标是高精地图点云数据提供的世界坐标,例如,WGS84坐标。
如图1所示,摄像机标定***可部署在云环境,具体为云环境上的一个或多个计算设备上(例如:中心服务器)。该***也可以部署在边缘环境中,具体为边缘环境中的一个或多个计算设备(边缘计算设备)上,边缘计算设备可以为服务器。所述云环境指示云服务提供商拥有的,用于提供计算、存储、通信资源的中心计算设备集群;所述边缘环境指示在地理位置上距离原始数据采集设备较近的,用于提供计算、存储、通信资源的边缘计算设备集群。原始数据采集设备指示采集摄像机标定***所需的原始数据的设备,包括但不限于摄像头、雷达、红外相机、磁感线圈等,原始数据采集设备包括置于交通道路的固定位置,用于以自身视角采集实时的交通道路的原始数据(例如:视频数据、雷达数据,红外数据等)的设备(例如,摄像机),还包括点云数据采集设备(例如:PrimeSense公司的PrimeSensor、微软的Kinect、华硕的XTionPRO等RGBD设备)等。
为了避免现有标定方法中人工依赖现场中的特定标志物确定其对应图像中的特征点或标志点的像素坐标,减少人工现场采集标志点的世界坐标和人工标注图像中对应标志点的像素坐标的工作量,本申请提供了一种摄像机标定方法和***,该方法结合了高精地图点云中的世界坐标,基于交通路口的路面交通标志线实现了摄像机参数的自动标定以及标定参数的自动修正,全程无需人工参与且约束少,提高了摄像机标定的效率以及标定的适用性。
需要说明的是,路面交通标志线主要用于管制和引导交通,通常由标划于路面上的各种线条(实线或者虚线)、箭头线(向左转、向右转、左转且直行、右转且直行等)、文字、轮廓标等构成,路面交通标志线常设置于高速公路、一级公路、二级公路、城市快速公路、主干道路、汽车专用公路等交通要道上。
交通路口的高精地图点云可以是厂商提供的,高精地图中不仅包含了大量的行车辅助信息,例如,路面的语义信息,比如交通标志线的位置和特征信息(如标志线的类型)、车道特征(如车道的宽度、坡区、曲率等)等,还对路网进行了精确的三维表征(厘米级精度)。高精地图的点云数据往往通过点云采集车实地采集完成,采集车的核心设备是激光雷达,通过激光的反射形成环境点云从而用于后续对环境中各对象的识别。当然,交通路口的点云也可以通过RGBD传感器、三维扫描仪等设备获得。
请参见图2,图2为本申请实施例提供的一种摄像机标定方法的流程示意图。如图2所示,该方法包括但不限于以下步骤:
S101、获取标定图像。
具体地,摄像机标定***接收摄像机拍摄的目标区域的视频,并对接收到的目标区域的视频从中提取出一帧的标定图像,该标定图像是设置于交通路口固定位置的摄像机对目标区域的N个特征主体进行图像采集获得的,其中,第Ni个特征主体包括Mi个特征点,N个特征主体总共包括K个特征点,i为大于等于1且小于等于N的整数,即标定图像中的N个特征主体一共有K个特征点。
需要说明的是,本申请实施例中,摄像机拍摄的目标区域是交通路口、道路路面等包含特征主体的区域,特征主体可以是道路路面的交通标志线,则特征主体的特征点即为路面交通标志线的角点。上述路面交通标志线可以是转弯线(向左转、向右转、左转且直行、右转且直行等)、停止线、人行横道线、车道分界虚线、掉头线等。
以图3为例,图3为摄像机采集的某交通路口的一幅标定图像,如图所示,该标定图像中包含的路面交通标志线至少包括:人行横道线301、左转弯待转区302、左转弯箭头303、车道线304、直行箭头305和停止线306。其中,人行横道线301是指在车道上用斑马线等标线标示的规定人横穿车道的步行范围;左转弯待转区302即为在左转弯的车道上增加的数米长的处于马路中间的白色虚线框,用于指示车辆当同向直行道绿灯亮时,左转弯车道的车辆必须前移至待转区等待信号灯;左转弯箭头303用于指示车辆该车道可左转;车道线304用于进行路面上的车道分界;直行箭头305用于指示车辆该车道可直行;停止线306即为人行横道附近的横向实线,用于指示车辆在停止信号灯亮起时,车辆须在停止线后停下。
可以理解,针对摄像机标定***从视频数据中提取出的标定图像,标定图像中的特征主体是清晰可见地,尽可能没有被其他物体(例如:车辆、行人等)遮挡。
S102、在标定图像中找到K个特征点,并获取K个特征点在标定图像中的像素坐标。
具体地,对获取到的标定图像,利用图像处理算法对标定图像中的特征主体的特征点进行检测,本申请实施例中,以特征主体是交通标志线为例,即利用图像处理算法检测标定图像中N个交通标志线的K个角点(其中,第Ni个交通标志线包括Mi个角点,N个交通标志线总共包括K个角点,i为大于等于1且小于等于N的整数),并获得K个角点在标定图像中的像素坐标,从而获得K个像素坐标。其中,可以理解,标定图像中的K个特征点和K个像素坐标是一一对应的。
在一种实施例中,交通标志线的角点的检测可以先通过目标检测算法对标定图像中的交通标志线进行提取,在利用角点检测算法对提取出的交通标志线的角点进行检测,从而获得角点在标定图像中的像素坐标。获取标定图像中交通标志线的角点的像素坐标的具体方法,在后文中详细描述。
S103、接收标定模型。
具体地,摄像机标定***获取目标区域的标定模型,其中,标定模型是根据摄像机预先安装时的地理位置和镜头的拍摄角度从高精地图的三维模型中获取到的。可以理解,目标区域的标定模型是对上述特征主体的全方位建模得到的。
需要说明的是,高精地图是360度全方位可调整方向的,由于目标区域的标定模型是根据摄像机的地理位置和拍摄角度得到的,因此目标区域的标定模型与目标区域的标定图像处于同一视角下,即目标区域的标定图像、标定模型中的交通标志线的数量和交通标志线的位置关系是相同的,即说明目标区域的特征主体的个数也为N,特征点的个数也为K。可以理解,目标区域的标定模型可以是高精地图中目标区域的点云数据。
S104、在标定模型中查找到K个特征点,并获取K个特征点在标定模型中的世界坐标,其中,标定模型中的K个特征点与标定图像中的K个特征点一一对应。
具体地,若要实现标定模型中的K个特征点与标定图像中的K个特征点一一对应,需要先对标定模型中的特征点进行检测,可利用基于点云的处理算法对标定模型中的特征主体的特征点进行检测,本申请实施例中,以特征主体为交通标志线为例,即利用基于点云的处理算法检测标定模型中N个交通标志线的K个角点(其中,第Ni个交通标志线包括Mi个角点,N个交通标志线总共包括K个角点,i为大于等于1且小于等于N的整数),并获得K个角点在标定模型中的世界坐标,从而获得K个世界坐标,可以理解,标定模型中的K个特征点和K个世界坐标是一一对应的。
在一种实施例中,交通标志线的角点的检测可以先通过基于点云的目标检测算法对标定模型中的交通标志线进行提取,再利用基于点云的角点检测算法对提取出的交通标志线的角点进行检测,从而获得角点在标定模型中的世界坐标。获取标定模型中交通标志线的角点的世界坐标的具体方法,在后文中详细描述。
摄像机标定***在获取到标定模型中的N个交通标志线的K个角点后,进一步地,再对标定模型中的K个角点和标定图像中的K个角点进行匹配,参见图4,图4是申请实施例提供的一种目标区域的标定图像和标定模型的角点匹配方法,具体步骤如下:
S1041、依据相同的规则,分别在标定图像和标定模型中建立N个交通标志线之间的位置关联关系。
具体地,首先,针对标定图像和标定模型中检测出的交通标志线,依据相同的规则,基于交通标志线在标定图像和标定模型中的位置,分别在标定图像、标定模型中建立检测出的N个交通标志线之间的位置关联关系。需要说明的是,交通标志线在检测出来后利用标定框对其进行了标注,计算各标定框的中心点的像素坐标或者世界坐标以此作为对应交通标志线在标定图像或者标定模型中的位置。举例来说,若标定框为矩形,在标定图像中,则根据矩形标定框的四个顶点的像素坐标即可计算获得矩形标定框中心点的像素坐标。
示例性地,针对标定图像,建立标定图像中N个交通标志线的位置关联关系的方法可以是:计算标定图像中N个图像标定框的中心点获得N个中心点像素坐标,且N个中心点像素坐标与N个图像标定框一一对应,基于标定图像中的各中心点的像素坐标,遍历N个中心点中每个中心点,建立每个中心点与该中心点的周边中心点的上下左右关系,获得第一位置结果。
需要说明的是,上述该中心点的周边中心点指的是:在标定图像中,对该中心点来说,先判断其余N-1个中心点在该中心点上、下、左、右四个方向的哪个方向上,然后计算每个方向上的中心点与该中心点的距离,将每个方向上与该中心点距离最小的点作为该方向上的最邻近中心点,最后,该中心点的上、下、左、右四个方向上的最邻近中心点即为该中心点的周边中心点。
举例来说,如图5,图5的(1)是一幅标定图像,图中示出了图像的图像坐标系,左上角是坐标原点,纵向是Y轴,表示图像的行坐标,横向是X轴,表示图像的列坐标。图5的(2)是标定图像中交通标志线检测后的结果图,并在标定图像中用矩形框(如:A1、A2、A3、A4、A5和A6)标注出了检测出的交通标志线,根据矩形框的四个顶点,分别计算六个矩形框的中心点像素坐标,依据中心点像素坐标,对每个矩形框,先判断其余矩形框与自身的上下左右关系。判断矩形框的上下左右关系的方法可以是:依次比较目标中心点与其余待比较中心点的像素坐标,计算待比较中心点的行坐标与目标中心点的行坐标的差值,在差值的绝对值大于等于第一阈值的情况下,若差值为正,则待比较中心点对应的图像标定框位于目标标定框的下方;若差值不为正,则位于目标标定框的上方;在差值的绝对值小于第一阈值的情况下,再计算待比较中心点的列坐标与目标中心点的列坐标的差值,若差值为正,则待比较中心点对应的标定框位于目标标定框的右方;若差值不为正,则位于目标标定框的左方。依据此方法,对矩形框A1来说,上方为A3,右方有A2、A4、A5和A6,左方和下方没有。接着,在右方上,可以通过计算A1对应的中心点与A2、A4、A5和A6对应的中心点的欧式距离或者比较各自中心点的列坐标,得出右方向上距离A1最邻近的标定框是A2,因此,A1矩形框中心点的周边中心点有两个,其上为A3对应的中心点,其右为A2对应的中心点。依据同样的原理对所有矩形框的中心点进行遍历分析,表1列出了图5的(2)中所有交通标志线的位置关联关系。
示例性地,针对标定图像,建立标定图像中N个交通标志线的位置关联关系的方法还可以是:计算标定图像中N个图像标定框的中心点获得N个中心点像素坐标(像素坐标由行坐标和列坐标组成),且N个中心点像素坐标与N个图像标定框一一对应,基于标定图像中的各中心点的像素坐标,遍历N个中心点中的每个中心点,确定每个中心点的上、下、左、右四个方向上分别包含的中心点的数量,获得第三位置结果,可以理解,每个中心点的上、下、左、右四个方向上分别包含的中心点的数量之和为N-1。
具体地,以N个中心点中的一个中心点为例,则该中心点为目标中心点,其余N-1个中心点为待比较中心点,判断该中心点的上、下、左、右四个方向上的中心点数的方法可以是:先判断其余N-1个待比较中心点位于目标中心点的上、下、左、右哪个方向,关于方向的判断方式可以是:将待比较中心点的行坐标与目标中心点的行坐标作差,在差值的绝对值大于等于第二阈值的情况下,若差值大于0,则待比较中心点位于目标中心点的下方;若差值小于等于0,则位于目标中心点的上方;在差值的绝对值小于第二阈值的情况下,再将待比较中心点的列坐标与目标中心点的列坐标作差,若差值大于0,则待比较中心点位于目标中心点的右方;若差值小于等于0,则位于目标中心点的左方。最后,统计该目标中心点的上、下、左、右四个方向上的中心点数。
以图5作为具体说明,(2)为标定图像中交通标志线检测后的结果图,并采用矩形框将检测出的交通标志线标注出,A1至A6是各矩形框的ID标号。检测出的交通标志线有车道线(A1、A4、A6)、停止线(A3)和箭头指示线(A2、A5)。根据每个矩形框的四个顶点的像素坐标即可计算得到对应矩形框中心点的像素坐标。依据上述建立交通标志线的位置关联关系的方法,可以得出,对于矩形框A1,其右方有4个矩形框,分别为A2、A4、A5、A6,其上方有1个矩形框A3。对于矩形框A2,可以得到其左方有1个矩形框A1,其上方有1个矩形框A3,其右方有3个,分别为A4、A5和A6,循环遍历完图5(2)中的所有交通标志线,表2列出了该标定图像中交通标志线的位置关联关系,即每个交通标志线的上、下、左、右四个方向上交通标志线的数量。
示例性地,针对标定图像,建立标定图像中N个交通标志线的位置关联关系的方法还可以是:计算标定图像中N个图像标定框的中心点获得N个中心点像素坐标,且N个中心点像素坐标与N个图像标定框一一对应,基于标定图像中的各中心点的像素坐标,按照第一顺序对标定图像中的N个中心点像素坐标进行排序获得第一排序结果,即获得了一种确定地表征标定图像交通标志线的位置顺序的排列方式。其中,第一顺序包括从左至右、从右至左、从上至下、从下至上中的一种。
具体地,第一顺序可以是基于标定图像中的中心点像素坐标的列坐标以从左至右或者从右至左的顺序,在一些可能的实施例中,在列坐标值相同时,再根据中心点的行坐标以从上至下或者从下至上的顺序排序。可以理解,第一顺序也可以是基于标定图像中的中心点像素坐标的行坐标以从上至下或者从下至上的顺序,在一些可能的实施例中,在行坐标值相同时,再根据中心点的列坐标以从左至右或者从右至左的顺序排序。需要说明的是,本申请对交通标志线排序的规则不做具体限定。
以图5(2)为例,采用从左至右的第一顺序对图5(2)中的各交通标志线记性排序,排序结果见图5(3),(2)中矩形框的A1、A2、A3、A4、A5、A6的排列序号依次为1、2、4、3、5、6。
表1
表2
然后,运用同样的方法针对标定模型中检测出的N个交通标志线建立各交通标志线在标定模型中的位置关联关系。具体地,标定模型中检测出的N个交通标志线对应N个模型标定框,其中,N个模型标定框N个交通标志线一一对应。计算N个模型标定框的中心点获得N个中心点世界坐标,基于N个中心点的世界坐标中的X、Y坐标,采用与标定图像中N个交通标志线位置关联关系建立相同的方法进行标定模型中N个交通标志线位置关联关系的建立。
需要说明的是,标定模型中,路面的交通标志线都处于同一平面上,因此标定模型中路面交通标志线的空间位置关系可以简化为平面位置关系,在确定标定模型中路面交通标志线的位置关联关系时只需考虑标定模型的X、Y坐标。因此,在建立标定模型中交通标志线的位置关联关系时,只需考虑交通标志线对应的模型标定框的中心点的世界坐标中的X、Y坐标。
示例性地,针对标定模型,建立标定模型中N个交通标志线的位置关联关系的方法可以是:基于N个中心点的世界坐标中的X、Y坐标,遍历N个中心点的每个中心点,建立每个中心点与该中心点的周边中心点的上下左右关系,获得第二位置结果。
示例性地,针对标定模型,建立标定模型中N个交通标志线的位置关联关系的方法可以是:基于N个中心点的世界坐标中的X、Y坐标,确定N个中心点中的每个中心点的上、下、左、右四个方向上分别包含的中心点的数量,获得第四位置结果,其中,每个中心点的上、下、左、右四个方向上分别包含的中心点的数量之和为N-1。
示例性地,针对标定模型,建立标定模型中N个交通标志线的位置关联关系的方法可以是:基于N个中心点的世界坐标中的X、Y坐标,按照标定图像中采用的第一顺序对N个中心点的世界坐标进行排序获得第二排序结果。
可以理解,标定模型中,建立交通标志线的位置关联关系采用的方法与标定图像中建立交通标志线的位置关联关系时采用的方法保持一致,故采用的方法原理也相同,可参照上述标定图像中的相关描述,为了说明书的简洁,本申请在此不再赘述。
S1042、基于标定图像、标定模型中交通标志线的位置关联关系,匹配标定图像和标定模型中的交通标志线。
最后,根据目标区域的标定图像、标定模型中建立好的交通标志线的位置关联关系,将标定图像中的交通标志线与标定模型中的交通标志线进行匹配,即使标定图像中的N个图像标定框与标定模型中的N个模型标定框一一对应。
可以理解,由于目标区域的标定图像和标定模型是处于同一视角,即说明目标区域对应的标定图像、标定模型两者中交通标志线的位置关系和是数量是相同的,并且进行交通标志线位置关联关系的建立时,两者采用相同的方法进行交通标志线位置关联关系的建立,因此,匹配标定图像和标定模型中的交通标志线即为匹配标定图像和标定模型中的位置关联关系,当标定图像和标定模型中的某交通标志线的位置关联关系相同时,则表明标定图像和标定模型中的对应交通标志线匹配成功,即为目标区域的同一交通标志线。
示例性地,若标定图像、标定模型中都采用了通过判断每个交通标志线与该交通标志线的周边交通标志线的上下左右关系来建立交通标志线的位置关联关系,则可以从相同的起始方向(例如:左、右等)开始按照同一顺序(例如:从左向右)遍历标定图像、标定模型中的每个交通标志线,基于标定图像中的交通标志线,判断标定模型中对应位置处的交通标志线的上、下、左、右四个方向上交通标志线的分布与标定图像中的分布是否相同,当标定图像中所有交通标志线的上、下、左、右四个方向上交通标志线的分布与标定模型中的所有交通标志线的上、下、左、右四个方向上交通标志线的分布相同时,则实现标定图像、标定模型中交通标志线的匹配。
示例性地,若标定图像、标定模型中都采用了通过分析每个交通标志线的上、下、左、右四个方向上其余N-1个交通标志线的分布数量来建立交通标志线的位置关联关系,则只需比对标定图像和标定模型中每条交通标志线的上、下、左、右四个方向上交通标志线的数量,当两者中某交通标志线的上、下、左、右四个方向上交通标志线的数量都相同时,则找到了该位置关联关系下对应的标定图像和标定模型中的交通标志线,从而实现了标定图像、标定模型中交通标志线的匹配。
示例性地,若标定图像、标定模型中都采用相同的排序规则对目标区域的交通标志线进行排序,由于目标区域的标定图像、标定模型是处于同一视角,且两者都采用相同的排序规则,因此,标定图像中交通标志线的排序结果直接与标定模型中交通标志线的排序结果一一对应,换句话说,标定图像中N个图像标定框排序的标号和标定模型中N个模型标定框排序的标号是一一对应的,由排序标号即可确定标定图像、标定模型中对应的交通标志线。举例来说,如图5(3)和图6,图5(3)是标定图像中交通标志线排序后并标号的示意图,图6是标定模型中采用与标定图像中相同的排序规则对交通标志线进行排序并标号的示意图,易于得出,图5(3)中的1和图6中的1一一对应,表示的是同一个交通标志线;图5(3)中的2和图6中的2一一对应,同理,图5(3)中的3、4、5、6分别和图6中的3、4、5、6一一对应。
S1043、基于匹配后的交通标志线,匹配标定图像的K个特征点和标定模型中的K个特征点。
具体地,摄像机标定***根据目标区域的标定图像、标定模型中匹配后的交通标志线,依次提取出标定图像、标定模型中对应的交通标志线,然后,将图像中该交通标志线的角点与对应的点云中该交通标志线的角点进行匹配,从而获得至少一组特征点匹配对,其中,特征点匹配对由标定图像中角点的像素坐标与其对应的标定模型中的该角点的世界坐标组成。
一具体实施中,上述步骤S1042可实现标定图像中的N个图像标定框与标定模型中的N个模型标定框一一对应,N个图像标定框对应N个交通标志线,N个模型标定框对应N个交通标志线,即标定图像中的N个交通标志线与标定模型中的N个交通标志线一一对应。若要对标定图像和标定模型中的角点进行匹配,需要对第i个图像标定框中交通标志线的Mi个像素坐标按照第二顺序进行排序,获得第三排序结果,其中,第二顺序包括从左至右、从右至左、从上至下、从下至上中的一种;同样地,对第i个模型标定框中交通标志线的Mi个世界坐标按照相同的第二顺序进行排序,获得第四排序结果,所述i为大于等于1且小于等于N的整数。可以理解,第i个图像标定框和第i个模型标定框一一对应。对同一交通标志线来说,第三排序结果中的标号和第四排序结果中的标号是一一对应的,即标定图像、标定模型中的同一交通标志线的同一角点具有相同的排序标号,从而完成了标定图像、标定模型中对应角点的匹配。
以图7举例来说,图7中的(1)和(2)分别是标定图像、标定模型中提取出的同一交通标志线即左转弯指示线,图7中的圆形实心点分别为标定图像、标定模型中检测出的左转弯指示线的角点(或称特征点),对(1)中的左转弯指示线的角点的像素坐标按照从左到右的优先顺序进行排序,即根据角点的像素坐标中的列坐标从小到大的顺序进行排序,排序结果如(1)中的序号1至9所示,对(2)中左转弯指示线的角点的世界坐标中只考虑X、Y坐标,根据相同的排序规则对X、Y坐标进行排序,排序结果如(2)中数字标号所示,容易理解,左转弯指示线的角点对应的标定图像、标定模型中的角点排序结果相同,(1)中序号1对应角点的像素坐标与(2)中序号1对应的角点的世界坐标组成一组特征点匹配对,依此类推,图7中可得到九组特征点匹配对。
需要说明的是,获得特征点匹配对后要尽可能使特征点匹配对的分布避免直线分布,以使后续计算得到的摄像机的标定关系更准确。具体地,在获得特征点匹配对后,对特征点的像素坐标或者世界坐标中任一种坐标进行直线拟合。以角点的像素坐标为例,对所有角点的像素坐标进行直线拟合获得直线方程,根据欧氏几何中点到直线的距离计算每个像素坐标到拟合直线的距离,若像素坐标到直线的距离小于第三阈值,且满足距离小于第三阈值的像素坐标的个数大于第四阈值,则可以认为所有角点分布在一条直线上,需重新选择特征点匹配对;否则,可以认为所有角点没有分布在一条直线上,可根据获取的多组特征点匹配对计算标定关系。需要说明的是,第三阈值和第四阈值可根据实际需要进行设定,本申请对此不做限定。
可以理解,摄像机的标定计算的是两个平面之间的标定关系,而一条直线是无法确定一个平面的,导致计算得到的标定参数矩阵不唯一,因此,为了提高提高标定的准确性,在选择特征点匹配对时,可以基于标定图像中的多个交通标志线中的一个或多个角点结合其对应的标定模型中的角点组成特征点匹配对,使获取到的特征点匹配对不能是直线分布。
S105、根据K个像素坐标和K个世界坐标对摄像机进行标定。
具体地,摄像机标定***可以根据获取到的特征点配对(即标定图像中的特征点的像素坐标和其对应的标定模型中特征点的世界坐标)建立每个摄像机视角下的图像到物理世界的标定关系。
需要说明的是,可以采用多种方法建立每个摄像机视角下的图像到物理世界的标定关系,完成摄像机的标定。例如,可以根据直接线性变换(DLT)原理计算由像素坐标转换为世界坐标的直接线性变换矩阵L,可以使用下述公式(1)计算得到矩阵L,其中,(u,v)是图像上特征点的像素坐标,(xw,yw,zw)是其对应的标定模型中特征点的世界坐标,即图像中特征点对应在物理世界中的世界坐标,li(i=1,2,…,11)是矩阵L的待定参数,这11个参数表征了图像坐标系与世界坐标系之间的关系。因此,由上述步骤S104获得至少六组特征点匹配对即可计算得到矩阵L,完成摄像机的标定。
示例性地,还可以采用单应变换方法建立每个摄像机视角下的图像到物理世界的标定关系,完成摄像机的标定。即利用单应变换原理计算由像素坐标转换为世界坐标的单应变换矩阵H,单应变换公式为(xw,yw,zw)=H*(u,v),(xw,yw,zw)为特征点的三维坐标,(u,v)为特征点的像素坐标,由上述步骤S104获得至少四组特征点匹配对即可计算得到每个摄像机拍摄的图像对应的H矩阵,不同摄像机拍摄的图像对应的H矩阵不同。需要说明的是,单应变换算法是计算机视觉领域的基础内容,并已经广泛被OPENCV(open source computervision library,开源计算机视觉库)、MATLAB等软件集成,可直接调用相关程序进行单应变换的计算,为了简洁,在此不再赘述。
容易理解,在获得了每个图像对应的摄像机的直接线性变换矩阵L或者单应变换矩阵H后,可以根据获得的矩阵参数对每个摄像机图像中目标的像素点坐标进行转换,获得该目标对应的世界坐标。
应当理解,上述方法实施例所涉及的步骤S101至步骤S105只是示意性地描述概况,不应构成具体限定,可以根据需要对所涉及的步骤进行增减、减少或者合并。
另外,需要理解的是,根据上述步骤S101至步骤S105进行摄像机标定获得的标定关系是一个地理区域(例如,交通路口)的空间和从一个固定角度拍摄该地理区域获得的标定图像之间的对应关系。当完成该地理区域摄像机的初次标定后,后续有可能发生摄像机的拍摄角度变化导致标定参数不准的情况。因此,在这种情况下,需要对该地理区域的摄像机的标定参数进行自修正,具体方法为:摄像机标定***从摄像机拍摄的视频中提取当前时刻相邻帧的两幅图像,对其分别执行步骤S102以提取标定图像中的交通标志线和各交通标志线的角点,随机选择两幅标定图像中一一对应的一个或多个标定框,检测标定框中交通标志线的对应的角点像素坐标的变化情况来判断摄像机的拍摄角度是否发生变化。举例来说,选择两幅标定图像中的一个标定框,计算两幅标定图像中同一标定框中交通标志线的对应的同一角点的两个像素坐标之间的欧式距离,然后计算该标定框对应的交通标志线的所有角点对应的欧式距离的平均值,若平均值小于等于预设距离阈值,则摄像机的拍摄角度没有发生变化,可以继续使用摄像机最近一次标定获得的标定参数;若平均值大于预设距离阈值,则摄像机的拍摄角度发生了变化,则根据距离当前时刻最近的那帧图像,再执行上述步骤S1041至步骤S1043和步骤S105。
需要说明的是,摄像机的拍摄角度发生了变化,进行标定参数的自修正即再次标定时,无需对目标区域的标定模型进行重新处理,只需要对目标区域的标定图像重新进行交通标志线的检测和交通标志线的角点的检测,然后采用与标定模型中建立交通标志线的位置关联关系相同的规则建立标定图像中交通标志线的位置关联关系,最后执行步骤S1041至步骤S1043和步骤105重新计算摄像机的标定参数。
上述步骤S101至S105由摄像机标定***执行,摄像机标定***在步骤S102获取标定图像中的交通标志线的角点的像素坐标的方法可参见图8,具体方法如下:
S401、检测标定图像中的N个交通标志线,并获取对应的N个图像标定框。
具体地,摄像机标定***在获取到设置于目标区域的固定位置的摄像机拍摄的包含N个交通标志线的标定图像后,对标定图像进行处理分析以检测出标定图像中的交通标志线,并用图像标定框在标定图像中标注出检测出的交通标志线,以确定其位于标定图像中的具***置,故标定图像中N个交通标志线对应N个图像标定框,获取图像标定框的过程即为检测标定图像中的交通标志线。
需要说明的是,若摄像机标定***获取的是某设置于固定位置的摄像机拍摄的视频数据,则该视频数据由不同时刻的视频帧按照时间序列排序组成,每个视频帧都是一张标定图像,且每个视频帧中都含有路面交通标志线。
可以理解,交通标志线的检测方法可以基于深度神经网络实现,摄像机标定***获取到包含路面交通标志线的标定图像后,将标定图像输入到已经训练好的交通标志线检测模型(例如:区域卷积神经网络R-CNN、YOLO目标检测算法、SSD目标检测算法、快速区域卷积神经网络Fast R-CNN,等等),训练好的交通标志线检测模型具有检测交通标志线的能力,对输入的任意一张包含交通标志线的标定图像能检测出交通标志线,同时用图像标定框(例如:矩形框、圆形框、椭圆框等)对识别出的交通标志线进行标注以确定交通标志线的具***置。在一些可能的实施例中,还可以通过图像标定框的颜色区分识别出的交通标志线的类型或者文字标注出所属的交通标志线的类型。
需要说明的是,上述中涉及的交通标志线检测模型都属于深度学习模型,需要对采用的深度学习模型进行训练,在预先准备的图像中,通过人工使用标定框标注图像中的各种交通标志线,在一些实施例中,也可以标注交通标志线所属的类别,将人工标注后的图像以及图像中标定框对应的信息作为深度学习模型的输入进行模型的训练。
当然,除了利用深度学习模型外,还可以利用传统机器视觉的图像处理方法对标定图像中的交通标志线进行检测,传统的目标检测方法主要包括区域选择(滑窗)、特征提取(例如:SIFT特征描述子、HOG特征描述子、DPM特征描述子等)和分类器分类(例如:支持向量机SVM、Adaboost等机器学习算法)三大步骤。
在一具体实施例中,可以利用交通标志线的颜色特征(交通标志线通常为白色或者黄色,明显区别于地面的颜色深灰色)和/或形状特征(或称轮廓特征)对标定图像中的交通标志线进行分割,并对分割后的交通标志线的方向梯度直方图HOG特征进行提取,最后利用训练好的MR_Adaboost分类器对多种交通标志线进行分类和识别,并将识别出的交通标志线通过Boundingbox算法标注以确定交通标志线的具***置。其中,MR_Adaboost分类器是利用预先提取的多种交通标志线的HOG特征进行训练的。
需要说明的是,本申请对于检测交通标志线的具体算法不做限定,上述中涉及的基于深度学习的目标检测算法或者基于传统机器视觉的目标检测算法在计算机视觉领域已经非常成熟并且被广泛应用,本申请在此只进行了简单说明。
S402、检测N个图像标定框对应交通标志线的K个角点,并获取K个角点在标定图像中的像素坐标。
具体地,摄像机标定***在检测到标定图像中的交通标志线后,还要对每个识别出的交通标志线的角点进行检测,从而获取交通标志线各角点在标定图像中的像素坐标。所谓角点,一般指图像中亮度变化剧烈的点或者图像边缘上曲率取极大值的点,交通标志线的角点可以是箭头的尖点、线的交叉点、矩形框的顶点以及线的拐点等。
示例性地,可以采用基于灰度图像的角点检测算法来检测交通标志线的角点,例如:Harris角点检测。Harris算子基本思想是使用一个固定窗口在标定图像上进行任意方向上的滑动,比较滑动前与滑动后窗口中的像素灰度变化程度,如果存在任意方向上的滑动,都有着较大灰度变化,则该窗口中存在角点,确定灰度发生较大变化时所对应的位置即为角点所在位置。此外,基于灰度图像的角点检测算法还有SUSAN角点检测、基于模板匹配的角点检测等。
示例性地,可以采用基于二值图像的角点检测算法来检测交通标志线的角点,例如:基于骨架提取的角点检测算法,其先对图像进行骨架细化处理,通过检测骨架中最大圆盘半径为零的点来获得角点,并由它的补图来获得凹点的角点,通过由原图及补图获得的角点进行异或操作,得到全部角点并去掉离散化后产生的网格角点即可。
示例性地,可以采用基于边缘特征的角点检测算法来检测交通标志线的角点,例如:基于小波变换的角点检测,其先通过边缘检测算子提取目标边缘,选取具有极大值检测能力的小波,在多个尺度下进行小波变换,求取小波系数的模极大值点得到角点的候选点集,最后设置一定的筛选规则选出正确的角点集。此外,基于边缘特征的角点检测算法还有基于边缘链码或者曲率尺度空间的角点检测等。
需要说明的是,步骤S401中的每个图像标定框中都对应着一条交通标志线,因此检测出每个框中交通标志线的角点后,将该图像标定框中对应的交通标志线的所有角点根据其所属的图像标定框分别存储。
摄像机标定***在步骤S104中获取标定模型中的交通标志线的角点的世界坐标的方法可参见图9,具体方法如下:
S501、检测标定模型中的N个交通标志线,并获取对应的N个模型标定框。
具体地,摄像机标定***在获取到目标区域对应的标定模型后,对标定模型进行处理分析可以检测出标定模型中的路面交通标志线,并用模型标定框在标定模型中标注出检测出大的交通标志线,以确定其位于标定模型中的具***置,故标定模型中N个交通标志线对应N个模型标定框,获取模型标定框的过程即为检测标定模型中的交通标志线。
需要说明的是,目标区域的标定模型与标定图像是处于同一视角下,即同一目标区域的标定模型中交通标志线的数量和其所处位置与标定图像中交通标志线的数量和其所处位置相同。可以理解,目标区域的标定模型可以是高精地图中目标区域的点云数据。
示例性地,摄像机标定***在获取到目标区域对应的点云后,利用点云数据的反射强度和高程信息对原始的点云进行分割提取出道路标志线点云,从而剔除大量的非地面信息,然后将分割后的点云数据投影到二维平面中,利用反射强度信息和点云空间分布信息生成点云强度特征图像,即可运用图像处理方法对图像进行后续分析,对图像中各连通区域的属性特征进行轮廓特征提取,最后将这些连通区域的轮廓特征与交通标志线的模板特征进行匹配,从而实现交通标志线的检测,并利用标定框算法标注检测出的交通标志线从而获得该交通标志线的模型标定框。
示例性地,本申请实施例也可以采用基于深度学***面上的,因此需要先进行道路点云的提取,采用移动窗口法结合相邻扫描线拓扑关系从点云数据中提取地面点,获取到地面点云后生成强度图像,采用基于DeepLab V3+网络的语义分割模型对道路交通标志线进行提取和分类,最后利用KD树点云聚类分割算法结合相应地矢量化方案实现道路交通标志线的矢量化,并对提取出的交通标志线标注出其最小外接矩形即模型标定框,以确定交通标志线在点云中的具***置。
需要说明的是,上述中涉及的语义分割模型需要进行训练,预先从获取的原始点云中提取出地面点云生成相应的强度特征图,对强度特征图中的道路交通标志线进行标记,当然,在一些可能的实施例中,也可以颜色或文字区别不同类别的交通标志线标记,最后用标记后的强度特征图训练语义分割模型。
需要说明的是,基于点云数据的目标物检测算法已发展的十分成熟,本申请仅做了简单的说明,当然,除此之外,也可以采用其他的方法检测点云中的路面交通标志线,本申请对实现标定模型中交通标志线的检测的方法不做具体限定。
S502、检测N个模型标定框对交通标志线的K个角点,并获取K个角点在标定模型中的世界坐标。
具体地,摄像机标定***在检测到标定模型中的交通标志线后,还要对每个识别出的交通标志线的角点进行检测,从而获取交通标志线各角点在标定模型中的世界坐标。交通标志线的角点可以是箭头的尖点、线的交叉点、矩形框的顶点以及线的拐点等。
示例性地,若步骤S501通过将点云数据投影到二维平面通过提取交通标志线的轮廓特征进行交通标志线的检测,那么,对于提取出的交通标志线点云,可以采用基于边缘的角点检测算法(例如:基于边缘链码的角点检测、基于边界曲率的角点检测、基于小波变换的角点检测等)识别交通标志线的点云边界曲线上的角点。以基于小波变换的角点检测为例,计算交通标志线的点云边缘处各点的方向角函数,将函数在不同尺度下进行小波变换,筛选出在多个尺度下函数值的模都是极大值的点,将它们作为候选角点,最后可用阈值法确定最终的角点。
示例性地,对标定模型中检测出的交通标志线,可以采用基于局部重建的角点提取方法提取交通标志线的角点。具体地,基于局部邻域的协方差计算每个数据点的特征度量,并通过阈值过滤获得初始特征点集合,然后在每个初始特征点的局部邻域内构建不跨越特征区域,以反映该点局部特征信息的三角形集合,再利用共享近邻算法对构造的每个三角形法向进行聚类,得到对应局部区域数据点的分类集合,最后判断该点是否同时落在多个拟合平面上进行角点的提取。
需要说明的是,本申请还可以采用其他方法对标定模型中交通标志线的角点进行检测,本申请实施例不做具体限定。
需要说明的是,检测出每个模型标定框中对应交通标志线的角点后,将该模型标定框中对应的交通标志线的所有角点根据其所属的模型标定框分别存储。
需要说明的是,无论是标定图像中交通标志线角点的检测还是标定模型中交通标志线角点的检测,只需在上述步骤S1043中标定图像的角点和标定模型的角点进行匹配之前完成即可。
通过对交通路口的摄像机进行摄像机标定后,可以将其应用于各种具体的应用场景中。例如,在交通路口中,可以通过摄像机拍摄的视频,实现对交通路口中车辆的定位、得到车辆与车辆、交通标志线以及行人之间的位置关系等。
本申请的一种应用场景中,通过摄像机拍摄的交通路口的视频数据,结合高精地图对路口进行静态要素还原和动态车辆的运动轨迹的还原。具体地,首先,利用图2所述的方法对交通路口的摄像机进行标定,建立每个摄像机视角下的标定图像中的像素点和物理世界的高精地图中的点之间的标定关系;然后,对摄像机拍摄的数据进行处理,可以利用目标物检测算法(例如:训练好的SSD、RCNN等神经网络算法)对视频中的目标物(如:车辆、建筑物、花坛等)进行识别和定位。经过目标检测,利用摄像机的标定参数将获取到的静态目标物(例如,建筑、花坛等)的像素坐标转换为物理世界中的世界坐标,从而实现路口静态要素的还原,同样对于车辆,也可通过标定参数获得所有车辆的地理坐标;进一步地,可以对所有车辆进行目标跟踪,即根据目标车辆的当前时刻的像素坐标和历史时刻的像素坐标可以拟合出目标车辆的运动轨迹并将其转换到物理世界中,获得所有车辆在物理世界中对应地理区域中的运动轨迹,从而实现动态车辆的运动轨迹的还原;最后,根据获得车辆的运动轨迹,结合交通路口信号灯的指示情况,可用于判断车辆在交通路口是否发生违章。除此之外,还可以根据各车辆的运动轨迹判断同一时刻各车辆的运动轨迹是否存在重合区域,以此判定是否有碰撞事故发生。
本申请的又一种应用场景中,可应用于未来的车路协同中,通过对各路口的摄像机进行标定,将实时获取的路口车辆的运动轨迹反馈给无人驾驶车辆,辅助车辆自主进行路线规划。具体地,利用图2所述的方法对交通路口的摄像机进行标定获取各路口摄像机的标定参数,然后对摄像机拍摄的数据进行处理,可以利用目标物检测算法(例如:训练好的SSD、RCNN等神经网络算法)对视频中的车辆进行检测,根据车辆的像素坐标将其转换成对应物理世界地理区域中的世界坐标,根据目标车辆的当前时刻的三维坐标和历史时刻的世界坐标可以拟合出目标车辆的运动轨迹,分析所有车辆的运动轨迹,若发现某一时间段内某道路上发生了大型事故或者车辆因道路堵塞移动缓慢使,摄像机标定***可将检测到的前方的道路信息反馈给无人车辆,以告知后续车辆前方道路不通,辅助无人驾驶车辆重新规划路线。
本申请实施例涉及摄像机200,该摄像机200可以是模拟摄像机、摄像机或智能摄像头等各种摄像机200,本申请以摄像机为例,如图10所示,图10示出的是本申请涉及的一种可能的摄像机200的部分结构的框图。摄像机200,又称IP摄像机(ip camera,IPC),采用嵌入式架构,集成了视频音频采集、信号处理、编码压缩、前端存储及网络传输等多种功能,再结合网络视频存储录像***及管理平台软件,可以构成大规模、分布式的网络视频监控***。参考图10,摄像机200包括镜头及传感器211、编码处理器212以及摄像机主控板213等部件。本领域技术人员可以理解,图10中示出的摄像机结构并不构成对摄像机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。
下面结合图10对摄像机200的各个构成部件进行具体的介绍:
镜头及传感器211中的镜头是视频监控***的关键设备,它的质量优劣直接影响摄像机200的整机质量。镜头可用于将外界的景物成像在传感器上,目前,摄像机200的镜头均是螺纹口的,通常由一组透镜和光阑组成,镜头有手动光圈(manual iris,MI)和自动光圈(auto iris,AI)之分,手动光圈镜头适合于亮度不变的场合,自动光圈镜头因亮度变更时其光圈会自动调整,所以适用于亮度变化的场合。可选地,该镜头可以为标准镜头、远摄镜头、变倍镜头或者可变焦点镜头等等,该镜头的材料可以为玻璃或者塑料。
镜头及传感器211中的传感器可以是影像传感器,如电荷耦合器件(chargecoupled device,CCD)传感器或互补性氧化金属半导体(complementary metal oxidesemiconductor,CMOS)传感器等,用于将传感器上接收到的光信号(物体的像)转化成电信号,并通过驱动电路输出至编码处理器212,由编码处理器212将镜头及传感器211采集的数字图像信号进行优化处理,如色彩、锐度或者白平衡等等,然后以网络视频信号的形式输入到摄像机主控板213,摄像机主控板213具有刺刀螺母连接器(bayonet nut connector,BNC)视频输出、网络通讯接口、音频输入、音频输出、告警输出、告警输入、串口通讯接口等功能。其中,编码处理器212用来对镜头及传感器211传来的数字图像信号进行优化处理,编码处理器212可以包括镜像信号处理器(image signal processor,ISP)或图像解码器等,此处不作具体限定。
尽管未示出,摄像机200还可以包括给各个部件供电的电源(比如电池)、滤光器或者蓝牙模块等,在此不再赘述。
参见图11,图11为本申请实施例提供的一种用于摄像机标定的装置结构示意图,如图所示,该装置用于包括摄像机、点云采集设备的摄像机标定***中,其中,摄像机设置于交通路口处的固定位置,该装置根据摄像机采集的标定图像和点源采集设备提供的标定模型对摄像机进行标定。具体地,该装置200包括:接收单元201、处理单元202以及计算单元203,其中,
接收单元201,用于获取标定图像,其中,标定图像是摄像机对N个特征主体进行图像采集得到的,第Ni个特征主体包括Mi个特征点,N个特征主体总共包括K个特征点,i为大于等于1且小于等于N的整数;接收单元201还用于接收标定模型,其中,标定模型是根据摄像机的地址位置和拍摄角度从高精地图的三维模型获取得到的,而三维模型是对特征主体进行全方位建模得到的。
处理单元202,用于在标定图像中找到上述K个特征点并获取K个特征点在标定图像中对应的像素坐标;处理单元202还用于在标定模型中查找K个特征点并获取K个特征点在标定模型中对应的世界坐标,并通过算法对标定图像的K个特征点和标定模型中的K个特征点进行匹配,从而使K个特征点的像素坐标与K个特征点的世界坐标一一对应。具体地,标定图像中获取K个特征点的像素坐标方法可参照上述实施例中的S401和S402,标定模型中获取K个特征点的世界坐标方法可参照上述实施例中的S501和S502,标定图像的K个特征点与标定模型中的K个特征点的匹配方法可参照上述实施例中的S104,本申请在此不再赘述。
计算单元203,用于根据K个像素坐标和K个世界坐标对摄像机进行标定,其中,K个像素坐标和K个世界坐标是一一对应的。具体地,摄像机进行标定的方法可参照上述步骤S105,本申请在此不再赘述。
需要说明的是,上述装置可以是单独地一台设备,例如:计算机,也可以是摄像机中的一个具有接收、处理和计算能力的模块,本申请实施例不做具体限定。
参见图12,图12为本申请实施例提供的一种计算设备的结构示意图。如图12所示,该计算设备800至少包括:处理器810、通信接口820以及存储器830,所示处理器810、通信接口820以及存储器830通过内部总线840相互连接。应理解,该计算设备800可以为云环境中的计算设备,或边缘环境中的计算设备。
所述处理器810可以由一个或者多个通用处理器构成,例如中央处理器(centralprocessing unit,CPU),或者CPU和硬件芯片的组合。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC)、可编程逻辑器件(programmablelogic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complexprogrammable logic device,CPLD)、现场可编程逻辑门阵列(field-programmable gatearray,FPGA)、通用阵列逻辑(generic array logic,GAL)或其任意组合。
总线840可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。所述总线840可以分为地址总线、数据总线、控制总线等。为便于表示,图12中仅用一条粗线表示,但不表示仅有一根总线或一种类型的总线。
存储器830可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM);存储器830也可以包括非易失性存储器(non-volatilememory),例如只读存储器(read-only memory,ROM)、快闪存储器(flash memory)、硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器830还可以包括上述种类的组合。存储器830可以存储程序代码以及程序数据,其中,程序代码包括:图像中交通标志线提取代码、点云中交通标志线提取代码、图像中角点检测代码、点云中角点检测代码、交通标志线位置关系建立代码等;程序数据包括:图像中的交通标志线、点云中的交通标志线、图像中的角点等。
需要说明的是,处理器810调用并执行存储器830中的程序代码程序数据以实现上述图2、图4、图8和图9所示方法的操作步骤。
所述处理器810用于读取存储器830中的相关指令执行以下操作:
获取标定图像,其中,所述标定图像是摄像机对N个特征主体进行图像采集得到的,所述N个特征主体总共包括K个特征点,第一个特征主体包括M1个特征点,第二个特征主体包括M2个特征点,…,第N个特征主体包括MN个特征点,K等于M1,M2,…,MN之和;
在所述标定图像中查找到所述K个特征点,获取所述K个特征点在所述标定图像中的K个像素坐标,其中,所述K个特征点和所述K个像素坐标之间存在一一对应关系;
接收标定模型,其中,所述标定模型是根据所述摄像机的地址位置和拍摄角度从高精地图的三维模型获取得到的,所述三维模型是对所述特征主体全方位建模得到的;
在所述标定模型中查找到所述K个特征点,并获取所述K个特征点在所述标定模型中的K个世界坐标,其中,所述K个特征点和所述K个世界坐标之间存在一一对应关系;
根据所述K个像素坐标和所述K个世界坐标对所述摄像机进行标定。
具体地,实现上述标定图像中的K个像素坐标与标定模型的K个世界坐标一一对应的方法请参照上述方法实施例的相关描述,上述计算设备800执行各种操作的具体实现可参照上述方法实施例,在此不再赘述。
Claims (18)
1.一种摄像机标定方法,其特征在于,所述方法包括:
获取标定图像,其中,所述标定图像是摄像机对N个特征主体进行图像采集得到的,所述N个特征主体总共包括K个特征点,第一个特征主体包括M1个特征点,第二个特征主体包括M2个特征点,…,第N个特征主体包括MN个特征点,K等于M1,M2,…,MN之和;
在所述标定图像中查找到所述K个特征点,获取所述K个特征点在所述标定图像中的K个像素坐标,其中,所述K个特征点和所述K个像素坐标之间存在一一对应关系;
接收标定模型,其中,所述标定模型是根据所述摄像机的地址位置和拍摄角度从高精地图的三维模型获取得到的,所述三维模型是对所述特征主体全方位建模得到的;
在所述标定模型中查找到所述K个特征点,并获取所述K个特征点在所述标定模型中的K个世界坐标,其中,所述K个特征点和所述K个世界坐标之间存在一一对应关系;
根据所述K个像素坐标和所述K个世界坐标对所述摄像机进行标定。
2.根据权利要求1所述的方法,其特征在于,所述在所述标定图像中查找到所述K个特征点,包括:
从所述标定图像中获取所述N个特征主体的N个图像标定框,其中,第一个图像标定框为所述第一个特征主体在所述标定图像的标定框,第二个图像标定框为所述第二个特征主体在所述标定图像的标定框,…,第N个图像标定框为所述第N个特征主体在所述标定图像的标定框;
从所述N个图像标定框中查找所述K个特征点,其中,第一个图像标定框包括M1个特征点,第二个图像标定框包括M2个特征点,…,第N个图像标定框包括MN个特征点。
3.根据权利要求2所述的方法,其特征在于,所述在所述标定模型中查找到所述K个特征点,包括:
从所述标定模型中获取所述N个特征主体的N个模型标定框;
将所述N个图像标定框和所述N个模型标定框进行匹配,从而确定第一个模型标定框为所述第一个特征主体在所述标定模型的标定框,第二个模型标定框为所述第二个特征主体在所述标定模型的标定框,…,第N个模型标定框为所述第N个特征主体在所述标定模型的标定框;
从所述N个模型标定框中查找所述K个特征点,其中,第一个模型标定框包括M1个特征点,第二个模型标定框包括M2个特征点,…,第N个模型标定框包括MN个特征点。
4.根据权利要求3所述的方法,其特征在于,所述将所述N个图像标定框和所述N个模型标定框进行匹配,包括:
计算所述N个图像标定框的中心点获得N个中心点像素坐标,所述N个中心点像素坐标与所述N个图像标定框一一对应;
计算所述N个模型标定框的中心点获得N个中心点世界坐标,所述N个中心点世界坐标与所述N个模型标定框一一对应;
基于所述N个中心点像素坐标,遍历所述N个中心点中的每个中心点,建立所述每个中心点与所述每个中心点的周边中心点的上下左右关系,获得第一位置结果;
基于所述N个中心点世界坐标的X、Y坐标,遍历所述N个中心点中的每个中心点,建立所述每个中心点与所述每个中心点的周边中心点的上下左右关系,获得第二位置结果;
根据所述第一位置结果和所述第二位置结果,确定所述N个图像标定框和所述N个模型标定框一一对应。
5.根据权利要求3所述的方法,其特征在于,所述将所述N个图像标定框和所述N个模型标定框进行匹配,包括:
计算所述N个图像标定框的中心点获得N个中心点像素坐标,所述N个中心点像素坐标与所述N个图像标定框一一对应;
计算所述N个模型标定框的中心点获得N个中心点世界坐标,所述N个中心点世界坐标与所述N个模型标定框一一对应;
基于所述N个中心点像素坐标,确定所述N个中心点中的每个中心点的上、下、左、右四个方向上分别包含的中心点的数量,获得第三位置结果,所述每个中心点的上、下、左、右四个方向上分别包含的中心点的数量之和为N-1;
基于所述N个中心点世界坐标的X、Y坐标,确定所述N个中心点中的每个中心点的上、下、左、右四个方向上分别包含的中心点的数量,获得第四位置结果,所述每个中心点的上、下、左、右四个方向上分别包含的中心点的数量之和为N-1;
根据所述第三位置结果和所述第四位置结果,确定所述N个图像标定框和所述N个模型标定框一一对应。
6.根据权利要求3所述的方法,其特征在于,所述将所述N个图像标定框和所述N个模型标定框进行匹配,包括:
计算所述N个图像标定框的中心点获得N个中心点像素坐标,所述N个中心点像素坐标与所述N个图像标定框一一对应;
计算所述N个模型标定框的中心点获得N个中心点世界坐标,所述N个中心点世界坐标与所述N个模型标定框一一对应;
基于所述N个中心点像素坐标,按照第一顺序对所述N个中心点像素坐标进行排序获得第一排序结果,所述第一顺序包括从左至右、从右至左、从上至下、从下至上中的一种;
基于所述N个中心点世界坐标的X、Y坐标,按照所述第一顺序对所述N个中心点世界坐标进行排序获得第二排序结果,所述第二排序结果与所述第一排序结果一一对应;
根据所述第一排序结果和所述第二排序结果,确定所述N个图像标定框和所述N个模型标定框一一对应。
7.根据权利要求3-6任一项所述的方法,其特征在于,所述从所述N个模型标定框中查找所述K个特征点,其中,第一个模型标定框包括M1个特征点,第二个模型标定框包括M2个特征点,…,第N个模型标定框包括MN个特征点,包括:
对所述第i个图像标定框中的特征主体的Mi个像素坐标按照第二顺序进行排序,获得第三排序结果,所述第二顺序包括从左至右、从右至左、从上至下、从下至上中的一种,所述i为大于等于1且小于等于N的整数;
对所述第i个模型标定框中的特征主体的Mi个世界坐标按照所述第二顺序进行排序,获得第四排序结果,所述第i个图像标定框和所述第i个模型标定框一一对应,所述i为大于等于1且小于等于N的整数;
基于所述第三排序结果和所述第四排序结果,确定所述K个像素坐标和所述K个世界坐标一一对应。
8.根据权利要求1所述的方法,其特征在于,所述特征主体包括路面交通标志线,所述路面交通标志线包括转弯线、车道线、停止线、人行横道线中的一种或多种。
9.一种用于摄像机标定的装置,其特征在于,所述装置包括:
接收单元,用于获取标定图像,其中,所述标定图像是摄像机对N个特征主体进行图像采集得到的,所述N个特征主体总共包括K个特征点,第一个特征主体包括M1个特征点,第二个特征主体包括M2个特征点,…,第N个特征主体包括MN个特征点,K等于M1,M2,…,MN之和;
所述接收单元,还用于接收标定模型,其中,所述标定模型是根据所述摄像机的地址位置和拍摄角度从高精地图的三维模型获取得到的,所述三维模型是对所述特征主体全方位建模得到的;
处理单元,用于在所述标定图像中查找到所述K个特征点,获取所述K个特征点在所述标定图像中的K个像素坐标,其中,所述K个特征点和所述K个像素坐标之间存在一一对应关系;
所述处理单元,还用于在所述标定模型中查找到所述K个特征点,并获取所述K个特征点在所述标定模型中的K个世界坐标,其中,所述K个特征点和所述K个世界坐标之间存在一一对应关系;
计算单元,用于根据所述K个像素坐标和所述K个世界坐标对所述摄像机进行标定。
10.根据权利要求9所述的装置,其特征在于,所述处理单元具体用于:
从所述标定图像中获取所述N个特征主体的N个图像标定框,其中,第一个图像标定框为所述第一个特征主体在所述标定图像的标定框,第二个图像标定框为所述第二个特征主体在所述标定图像的标定框,…,第N个图像标定框为所述第N个特征主体在所述标定图像的标定框;
从所述N个图像标定框中查找所述K个特征点,其中,第一个图像标定框包括M1个特征点,第二个图像标定框包括M2个特征点,…,第N个图像标定框包括MN个特征点。
11.根据权利要求10所述的装置,其特征在于,所述处理单元具体用于:
从所述标定模型中获取所述N个特征主体的N个模型标定框;
将所述N个图像标定框和所述N个模型标定框进行匹配,从而确定第一个模型标定框为所述第一个特征主体在所述标定模型的标定框,第二个模型标定框为所述第二个特征主体在所述标定模型的标定框,…,第N个模型标定框为所述第N个特征主体在所述标定模型的标定框;
从所述N个模型标定框中查找所述K个特征点,其中,第一个模型标定框包括M1个特征点,第二个模型标定框包括M2个特征点,…,第N个模型标定框包括MN个特征点。
12.根据权利要求11所述的装置,其特征在于,所述处理单元具体用于:
计算所述N个图像标定框的中心点获得N个中心点像素坐标,所述N个中心点像素坐标与所述N个图像标定框一一对应;
计算所述N个模型标定框的中心点获得N个中心点世界坐标,所述N个中心点世界坐标与所述N个模型标定框一一对应;
基于所述N个中心点像素坐标,遍历所述N个中心点中的每个中心点,建立所述每个中心点与所述每个中心点的周边中心点的上下左右关系,获得第一位置结果;
基于所述N个中心点世界坐标的X、Y坐标,遍历所述N个中心点中的每个中心点,建立所述每个中心点与所述每个中心点的周边中心点的上下左右关系,获得第二位置结果;
根据所述第一位置结果和所述第二位置结果,确定所述N个图像标定框和所述N个模型标定框一一对应。
13.根据权利要求11所述的装置,其特征在于,所述处理单元具体用于:
计算所述N个图像标定框的中心点获得N个中心点像素坐标,所述N个中心点像素坐标与所述N个图像标定框一一对应;
计算所述N个模型标定框的中心点获得N个中心点世界坐标,所述N个中心点世界坐标与所述N个模型标定框一一对应;
基于所述N个中心点像素坐标,确定所述N个中心点中的每个中心点的上、下、左、右四个方向上分别包含的中心点的数量,获得第三位置结果,所述每个中心点的上、下、左、右四个方向上分别包含的中心点的数量之和为N-1;
基于所述N个中心点世界坐标的X、Y坐标,确定所述N个中心点中的每个中心点的上、下、左、右四个方向上分别包含的中心点的数量,获得第四位置结果,所述每个中心点的上、下、左、右四个方向上分别包含的中心点的数量之和为N-1;
根据所述第三位置结果和所述第四位置结果,确定所述N个图像标定框和所述N个模型标定框一一对应。
14.根据权利要求11所述的装置,其特征在于,所述处理单元具体用于:
计算所述N个图像标定框的中心点获得N个中心点像素坐标,所述N个中心点像素坐标与所述N个图像标定框一一对应;
计算所述N个模型标定框的中心点获得N个中心点世界坐标,所述N个中心点世界坐标与所述N个模型标定框一一对应;
基于所述N个中心点像素坐标,按照第一顺序对所述N个中心点像素坐标进行排序获得第一排序结果,所述第一顺序包括从左至右、从右至左、从上至下、从下至上中的一种;
基于所述N个中心点世界坐标的X、Y坐标,按照所述第一顺序对所述N个中心点世界坐标进行排序获得第二排序结果,所述第二排序结果与所述第一排序结果一一对应;
根据所述第一排序结果和所述第二排序结果,确定所述N个图像标定框和所述N个模型标定框一一对应。
15.根据权利要求11-14任一项所述的装置,其特征在于,所述处理单元具体用于:
对所述第i个图像标定框中的特征主体的Mi个像素坐标按照第二顺序进行排序,获得第三排序结果,所述第二顺序包括从左至右、从右至左、从上至下、从下至上中的一种,所述i为大于等于1且小于等于N的整数;
对所述第i个模型标定框中的特征主体的Mi个世界坐标按照所述第二顺序进行排序,获得第四排序结果,所述第i个图像标定框和所述第i个模型标定框一一对应,所述i为大于等于1且小于等于N的整数;
基于所述第三排序结果和所述第四排序结果,确定所述K个像素坐标和所述K个世界坐标一一对应。
16.根据权利要求9所述的装置,其特征在于,所述特征主体包括路面交通标志线,所述路面交通标志线包括转弯线、车道线、停止线、人行横道线中的一种或多种。
17.一种计算设备,其特征在于,所述计算设备包括处理器和存储器,所述处理器用于执行所述存储器存储的计算机指令,使得所述计算设备执行权利要求1-8任一项所述的方法。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储计算机程序,当所述计算机程序被处理器执行时实现如权利要求1-8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911125464.4A CN112819895A (zh) | 2019-11-15 | 2019-11-15 | 一种摄像机标定方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911125464.4A CN112819895A (zh) | 2019-11-15 | 2019-11-15 | 一种摄像机标定方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112819895A true CN112819895A (zh) | 2021-05-18 |
Family
ID=75852326
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911125464.4A Pending CN112819895A (zh) | 2019-11-15 | 2019-11-15 | 一种摄像机标定方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112819895A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113313770A (zh) * | 2021-06-29 | 2021-08-27 | 智道网联科技(北京)有限公司 | 行车记录仪的标定方法及其装置 |
CN113674358A (zh) * | 2021-08-09 | 2021-11-19 | 浙江大华技术股份有限公司 | 一种雷视设备的标定方法、装置、计算设备及存储介质 |
CN114863695A (zh) * | 2022-05-30 | 2022-08-05 | 中邮建技术有限公司 | 一种基于车载激光和摄像机的超标车辆检测***和方法 |
CN116030418A (zh) * | 2023-02-14 | 2023-04-28 | 北京建工集团有限责任公司 | 一种汽车吊运行状态监测***及方法 |
WO2023200501A1 (en) * | 2022-04-15 | 2023-10-19 | Cavnue Technology, LLC | System calibration using remote sensor data |
CN117274402A (zh) * | 2023-11-24 | 2023-12-22 | 魔视智能科技(武汉)有限公司 | 相机外参的标定方法、装置、计算机设备及存储介质 |
CN117994993A (zh) * | 2024-04-02 | 2024-05-07 | 中国电建集团昆明勘测设计研究院有限公司 | 公路交叉口红绿灯控制方法、***、电子设备及存储介质 |
-
2019
- 2019-11-15 CN CN201911125464.4A patent/CN112819895A/zh active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113313770A (zh) * | 2021-06-29 | 2021-08-27 | 智道网联科技(北京)有限公司 | 行车记录仪的标定方法及其装置 |
CN113674358A (zh) * | 2021-08-09 | 2021-11-19 | 浙江大华技术股份有限公司 | 一种雷视设备的标定方法、装置、计算设备及存储介质 |
CN113674358B (zh) * | 2021-08-09 | 2024-06-04 | 浙江大华技术股份有限公司 | 一种雷视设备的标定方法、装置、计算设备及存储介质 |
WO2023200501A1 (en) * | 2022-04-15 | 2023-10-19 | Cavnue Technology, LLC | System calibration using remote sensor data |
CN114863695A (zh) * | 2022-05-30 | 2022-08-05 | 中邮建技术有限公司 | 一种基于车载激光和摄像机的超标车辆检测***和方法 |
CN114863695B (zh) * | 2022-05-30 | 2023-04-18 | 中邮建技术有限公司 | 一种基于车载激光和摄像机的超标车辆检测***和方法 |
CN116030418A (zh) * | 2023-02-14 | 2023-04-28 | 北京建工集团有限责任公司 | 一种汽车吊运行状态监测***及方法 |
CN116030418B (zh) * | 2023-02-14 | 2023-09-12 | 北京建工集团有限责任公司 | 一种汽车吊运行状态监测***及方法 |
CN117274402A (zh) * | 2023-11-24 | 2023-12-22 | 魔视智能科技(武汉)有限公司 | 相机外参的标定方法、装置、计算机设备及存储介质 |
CN117274402B (zh) * | 2023-11-24 | 2024-04-19 | 魔视智能科技(武汉)有限公司 | 相机外参的标定方法、装置、计算机设备及存储介质 |
CN117994993A (zh) * | 2024-04-02 | 2024-05-07 | 中国电建集团昆明勘测设计研究院有限公司 | 公路交叉口红绿灯控制方法、***、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112819895A (zh) | 一种摄像机标定方法及装置 | |
CN110175576B (zh) | 一种结合激光点云数据的行驶车辆视觉检测方法 | |
CN110148196B (zh) | 一种图像处理方法、装置以及相关设备 | |
CN107516077B (zh) | 基于激光点云和影像数据融合的交通标牌信息提取方法 | |
CN109059954B (zh) | 支持高精度地图车道线实时融合更新的方法和*** | |
US10078790B2 (en) | Systems for generating parking maps and methods thereof | |
CN110619750B (zh) | 面向违停车辆的智能航拍识别方法及*** | |
CN104951775B (zh) | 基于视频技术的铁路道口防护区域安全智能识别方法 | |
CN110796714B (zh) | 一种地图构建方法、装置、终端以及计算机可读存储介质 | |
Garilli et al. | Automatic detection of stone pavement's pattern based on UAV photogrammetry | |
CN112740225B (zh) | 一种路面要素确定方法及装置 | |
CN110197173B (zh) | 一种基于双目视觉的路沿检测方法 | |
CN112308913B (zh) | 一种基于视觉的车辆定位方法、装置及车载终端 | |
Rezaei et al. | Traffic-Net: 3D traffic monitoring using a single camera | |
CN116452852A (zh) | 一种高精度矢量地图的自动生成方法 | |
Goga et al. | Fusing semantic labeled camera images and 3D LiDAR data for the detection of urban curbs | |
CN112562005A (zh) | 一种空间标定方法和*** | |
You et al. | Joint 2-D–3-D traffic sign landmark data set for geo-localization using mobile laser scanning data | |
CN113219472B (zh) | 一种测距***和方法 | |
CN111383286A (zh) | 定位方法、装置、电子设备及可读存储介质 | |
Hernández et al. | Lane marking detection using image features and line fitting model | |
CN116912517B (zh) | 相机视野边界的检测方法及装置 | |
Barua et al. | An Efficient Method of Lane Detection and Tracking for Highway Safety | |
CN116901089A (zh) | 一种多角度视距的机器人控制方法及*** | |
CN112115737B (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 |