专利名称:基于线特征的交通事故现场图几何校正系统的制作方法
技术领域:
本发明涉及一种数字摄影测量应用技术领域的系统,具体是一种基于线特征的交通事故现场图几何校正系统。
背景技术:
交通事故现场勘测中采用数字摄影测量技术,能够有效缩短事故勘测时间,提高现场尺寸测绘精度,同时避免传统手工测绘中的漏测、错画等现象,为事故现场的二次取证提供法律依据。因此研究数字摄影测量技术应用于交通事故现场勘测的理论和方法,对于快速恢复道路畅通和提高现场尺寸测绘精度以及为事故现场的二次取证提供法律依据方面具有重要意义。交警现场拍摄的照片是从摄影中心投影形成的透视图,由于镜头畸变和透视畸变造成的几何变形,无法直接在透视图上测绘刹车痕迹的长度、人与车的相对距离以及散落物的位置等事故现场尺寸信息。透视图只有经过几何校正后才能转换为正射影像图,从而恢复交通事故现场的物方空间信息,进而实现事故现场尺寸的测绘。如何对交通事故现场图进行几何校正以生成正射影像图,并提高正射影像图上事故现场尺寸的测绘精度成为目前研究的焦点。经对现有技术文献的检索发现Ζ· M. Tao等在I^roceedings of the 9th International Conference of Chinese Transportation Professionals, 2009 :177-184 上发表文章“Analysis of deformation characteristics of collision vehicles using close-range photogrammetry"( “采用近景摄影测量进行事故车辆变形特征分析”,电力系统及其自动化专业第九届中国国际运输会议,2009 177-184),该文利用近景立体摄像机拍摄现场照片,并通过平行轴立体视觉理论计算车辆变形的三维坐标进行事故变形范围、 形状和深度分析。但该方法需要购置昂贵的量测用立体摄像机,而且其三维坐标的计算过程比较复杂和耗时,难以满足交通事故现场快速勘测的要求。经检索还发现,X.G.DU等在 Advances in Engineering Software, 2009 :497-505 上发表文章 “Geometry features measurement of traffic accident for reconstruction based on close-range photogrammetry"( “基于近景摄影测量的交通事故再现几何特征测量”,工程软件进展, 2009:497-505),该文采用直接线性变换法建立像空间到物方空间的映射关系进而实现交通事故现场图的几何校正。但该方法属于纯粹基于控制点的校正方法,当控制点个数不足或像空间坐标因镜头畸变发生偏差时,难以准确建立像空间到物方空间的映射关系,从而降低了几何校正后生成的正射影像图上交通事故现场尺寸的测绘精度。
发明内容
本发明针对现有技术的不足,提出一种基于线特征的交通事故现场图几何校正系统。使其充分利用事故现场提取到的直线特征,通过添加平行线相对控制约束,从而有效校正了镜头畸变和透视畸变造成的事故现场图几何变形,实现了交通事故现场图的几何校正及其生成的正射影像图上的尺寸标注功能。
本发明是通过以下技术方案实现的,本发明包括五个部分标定物信息采集模块、 二维DLT(直接线性变换)系数求解模块、单应性矩阵计算模块、几何校正模块和尺寸标注模块。标定物信息采集模块负责提取控制点和控制线的相关参数信息,并将相应数据分别存入控制点数据库和控制线数据库;二维DLT系数求解模块通过与数据库的接口获取控制点和控制线的相关参数信息,经方程联立解出8个DLT系数的值;单应性矩阵计算模块根据DLT系数建立像空间到物方空间的映射关系,进而得出单应性矩阵;几何校正模块通过单应性矩阵对交通事故现场图进行几何校正,经空间坐标变换和灰度重采样生成交通事故现场正射影像图;尺寸标注模块以交通事故现场正射影像图为基础,实现直接在正射影像图上标注任意点的实际空间坐标和任意两点间的实际空间距离的功能。本系统采用层次化和模块化结构设计,层与层之间只存在单向调用和单向依赖关系,模块之间相互协调和配合共同组成一个完整的系统。每个模块可以单独视为一层,当前层的输入数据仅依赖于上一层的输出结果,当前层的输出结果仅可作为下一层的输入数据。标定物信息采集模块为二维DLT系数求解模块提供必须的控制点和控制线的相关参数信息,二维DLT系数求解模块的输出结果可作为单应性矩阵计算模块的输入,而单应性矩阵计算模块得到的单应性矩阵则为几何校正模块提供空间坐标变换的依据,几何校正模块生成的交通事故现场正射影像图是尺寸标注模块进行标注的前提。这样层与层之间通过单向调用和单向依赖,使相邻两个模块间相互协调和配合起来,共同组成了一个完整的系统。所述标定物信息采集模块从交通事故现场图中提取控制点和控制线的像空间坐标信息,并将相应的数据分别存入控制点数据库和控制线数据库,控制点的物方空间坐标根据交通事故现场建立的二维笛卡尔直角坐标系确定,并在存入控制点数据库时通过构建的CPoint2类(扩展点类)对象与其相应的像空间坐标相关联。CPoint2类派生自MFC (微软基础类库)的基类CPoint类(点类),它封装了控制点的物方空间坐标和像空间坐标,建立了它们之间的一一映射关系。这种数据封装方式,能够有效避免数据使用的混乱,确保了控制点物方空间坐标及其相应的像空间坐标的正确映射关系。标定物信息采集模块提取的控制点的相关参数信息包括每个控制点的物方空间坐标及其相应的像空间坐标;提取的控制线的相关参数信息包括物方空间每条平行于X 轴的直线段的两个端点在像空间相应的起点坐标和终点坐标;物方空间每条平行于Y轴的直线段的两个端点在像空间相应的起点坐标和终点坐标。为保证二维DLT系数求解模块能够顺利执行,标定物信息采集模块在进行控制点和控制线的选取时应满足以下两个条件第一、在交通事故现场建立的二维笛卡尔直角坐标系中,存在至少两条平行于X轴的直线段和至少两条平行于Y轴的直线段;第二、在交通事故现场建立的二维笛卡尔直角坐标系中,存在至少两个控制点,并已测得它们实际的物方空间坐标。所述二维DLT系数求解模块首先通过与数据库的接口获取控制点和控制线的相关参数信息,在此基础上分别建立物方空间X轴平行线在像空间的约束方程组和物方空间 Y轴平行线在像空间的约束方程组,然后通过OpenCV(开放式计算机视觉)核心模块中的 API (应用程序接口)采用最小二乘法分别对这些方程组求解得出中间变量的值;再将这些中间变量的值与控制点的二维直接线性变换公式联立,建立求解方程组,最后通过OpenCV
5核心模块中的API采用最小二乘法解出DLT系数的值。所述单应性矩阵计算模块由二维直接线性变换公式反解出物方空间坐标关于像空间坐标的表达式,建立像空间到物方空间的映射关系,然后通过Visual C++语言计算单应性矩阵中每个元素的值。单应性矩阵计算模块的输入是二维DLT系数求解模块得出的8 个DLT系数的值,输出为一个3行3列的单应性矩阵。所得的单应性矩阵保存在OpenCV的基本数据结构CvMat (矩阵结构体)创建的一个3行3列64位单通道的对象中,它可作为该模块的输出参数提供给几何校正模块直接使用。所述几何校正模块首先根据单应性矩阵对交通事故现场图进行空间坐标变换,得到事故现场图上每个像素点的物方空间坐标,然后对物方空间坐标进行灰度重采样得到交通事故现场正射影像图。当变换后的物方空间坐标对应的事故现场图上的像空间坐标恰好为整数值时,这时物方空间坐标的灰度值可直接取事故现场图上像空间坐标的灰度值;当计算得到的物方空间坐标对应的事故现场图上的像空间坐标不为整数值时,这时并无现成的灰度值能用,可采用双线性插值法把该点周围整数点位上灰度值对该点的灰度贡献积累起来,构成该点位新的灰度值。所述尺寸标注模块以交通事故现场正射影像图为基础,实现直接在正射影像图上进行单点的坐标标注和任意两点间的距离标注功能。单点坐标标注首先经坐标转换获取正射影像图上该点的物方空间坐标,然后通过Windows⑶I (Windows图形设备接口)绘图函数进行标注;任意两点间的距离标注可首先采取单点坐标标注的方式分别获取两个点的物方空间坐标,然后在此基础上计算出它们之间的实际空间距离,再将所得结果通过Windows ⑶I绘图函数标注在交通事故现场正射影像图上。与现有技术相比,本发明具有以下优点能够有效校正交通事故现场图几何变形, 并提高几何校正后生成的正射影像图上事故现场尺寸的测绘精度。传统的事故现场图几何校正方法只是基于控制点的校正,当控制点个数不足或像空间坐标因镜头的径向畸变和切向畸变发生偏差时,就无法准确建立像空间到物方空间的映射关系,这样也就难以对事故现场图进行精确的几何校正,从而降低了交通事故现场尺寸的测绘精度;不同于传统的仅仅依赖于控制点的事故现场图几何校正方法,本发明充分利用交通事故现场提取到的直线特征,通过添加平行线相对控制约束,从而有效校正了镜头畸变和透视畸变造成的事故现场图几何变形,进而提高了几何校正后生成的正射影像图上事故现场尺寸的测绘精度。另外,本发明还可以用尽可能少(最少需要两个)的控制点实现交通事故现场图的几何校正。传统的事故现场图几何校正方法至少需要确定事故现场四个控制点的物方空间坐标及其相应的像空间坐标,当控制点的个数少于四个时,就无法完成事故现场图的几何校正。本发明可以在控制点个数不足时,只需利用两个控制点和两条平行于X轴的直线段以及两条平行于Y轴的直线段,在不必知道平行线段端点的物方空间坐标的情况下,就能实现交通事故现场图的几何校正。
图1本发明系统结构2本发明标定物信息采集示意3本发明事故现场图几何校正及尺寸标注示意图
具体实施例方式下面结合附图对本发明的实施例作详细说明本实施例以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。如图1所示,本实施例包括五个部分标定物信息采集模块、二维DLT系数求解模块、单应性矩阵计算模块、几何校正模块和尺寸标注模块。标定物信息采集模块负责提取控制点和控制线的相关参数信息,并将相应数据分别存入控制点数据库和控制线数据库;二维DLT系数求解模块通过与数据库的接口获取控制点和控制线的相关参数信息,经方程联立解出8个DLT系数的值;单应性矩阵计算模块根据DLT系数建立像空间到物方空间的映射关系,进而得出单应性矩阵;几何校正模块通过单应性矩阵对交通事故现场图进行几何校正,经空间坐标变换和灰度重采样生成交通事故现场正射影像图;尺寸标注模块以交通事故现场正射影像图为基础,实现直接在正射影像图上标注任意点的实际空间坐标和任意两点间的实际空间距离的功能。本实施例的五个模块之间存在一定的逻辑关系,当前模块的输入参数仅依赖于前一个模块的输出结果,当前模块的输出结果仅可作为下一个模块的输入参数,模块间按照从前到后的顺序依次执行完成系统的总功能。如图1中的箭头所示,这五个模块的先后执行顺序依次为标定物信息采集模块、二维DLT系数求解模块、单应性矩阵计算模块、几何校正模块和尺寸标注模块。相应实现的功能依次为标定物信息采集、二维DLT系数求解、 单应性矩阵计算、事故现场图几何校正和尺寸标注。下面按照这五个模块的先后执行顺序, 对本实施例的具体操作过程和实施步骤作详细说明1.标定物信息采集交通事故现场标定物信息的采集通过MFC创建的⑶1(图形用户接口)界面与用户进行交互。交警在事故现场拍摄的照片首先通过Windows⑶I构建的一个m_ dcCompatible (设备环境兼容对象)加载到计算机内存空间中,然后将其以位图的形式显示在Windows窗口应用程序的客户区。用户根据窗口客户区显示的图像内容,通过硬件操作(鼠标、键盘或触摸屏)直接在图像上提取控制点和控制线的像空间坐标信息,控制点的物方空间坐标根据交通事故现场建立的二维笛卡尔直角坐标系确定,并在用户提取该控制点的像空间坐标时通过GUI界面输入系统。如图2所示,该图中通过选择道路交通标线的端点和边缘分别作为控制点Si、S2和控制线Li、L2、L3、L4。提取的控制点的相关参数信息包括每个控制点的物方空间坐标及其相应的像空间坐标;提取的控制线的相关参数信息包括物方空间每条平行于X轴的直线段的两个端点在像空间相应的起点坐标和终点坐标;物方空间每条平行于Y轴的直线段的两个端点在像空间相应的起点坐标和终点坐标。提取到的控制点和控制线的相关参数信息分别保存在由MFC的CObArray (动态数组基类)构建的两个对象m_Point2Array (点数组)和m_ LineArray (直线数组)中。其中m_Point2Array用来收集CPoint2类对象,而CPoint2类对象封装了控制点的物方空间坐标及其相应的像空间坐标,建立了它们之间的正确映射关系。每个CPoint2类对象通过CObArray的成员函数ktAt (设置动态数组成员对象函数) 保存在m_Point2Array对象中。
7
为保证二维DLT系数求解模块能够顺利执行,用户在进行控制点和控制线的选取时应满足以下两个条件第一、在交通事故现场建立的二维笛卡尔直角坐标系中,存在至少两条平行于X 轴的直线段和至少两条平行于Y轴的直线段;第二、在交通事故现场建立的二维笛卡尔直角坐标系中,存在至少两个控制点,并已测得它们实际的物方空间坐标。2. 二维DLT系数求解二维DLT系数求解模块首先从数据库m_Point2Array和m_LineArray中通过 CObArray的成员函数GetAt (获取动态数组成员对像函数)提取控制点S1、S2和控制线Li、 L2、L3、L4的相关参数信息,在此基础上分别建立物方空间X轴平行线和Y轴平行线在像空间的约束方程组,解得中间变量的值;然后把这些中间变量的值与控制点的二维直接线性变换公式联立,最终求出8个DLT系数I1, I2, I3, I4, I5, I6, I7, I8的值。该过程可分为以下三个步骤第一步、根据物方空间平行于X轴的直线段在像空间的约束方程求解中间变量Pl, P2的值假定物方空间至少存在两条平行于X轴的直线段,则根据它们在像空间相应的起点坐标和终点坐标,可通过如下求解矩阵(1)采用最小二乘法解得中间变量Pl,P2的值。该线性方程组的求解,可通过调用OpenCV核心模块中的API函数cvSolve (线性方程组求解函数)实现。
权利要求
1.一种基于线特征的交通事故现场图几何校正系统,其特征在于,包括标定物信息采集模块、二维DLT (直接线性变换)系数求解模块、单应性矩阵计算模块、几何校正模块和尺寸标注模块,其中标定物信息采集模块负责从交通事故现场图中提取控制点和控制线的相关参数信息,并将相应数据分别存入控制点数据库和控制线数据库;二维DLT系数求解模块通过与所述数据库的接口获取控制点和控制线的相关参数信息,经方程联立解出八个DLT系数的值;单应性矩阵计算模块根据DLT系数建立像空间到物方空间的映射关系,进而得出单应性矩阵;几何校正模块通过单应性矩阵对交通事故现场图进行几何校正,经空间坐标变换和灰度重采样生成交通事故现场正射影像图;尺寸标注模块以交通事故现场正射影像图为基础,实现直接在正射影像图上标注任意点的实际空间坐标和任意两点间的实际空间距离的功能。
2.根据权利要求1所述的基于线特征的交通事故现场图几何校正系统,其特征在于, 所述标定物信息采集模块从交通事故现场图中提取控制点和控制线的像空间坐标信息,并将相应的数据分别存入控制点数据库和控制线数据库,控制点的物方空间坐标根据交通事故现场建立的二维笛卡尔直角坐标系确定,并在存入控制点数据库时通过构建的CPoint2 类(扩展点类)对象与其相应的像空间坐标相关联。
3.根据权利要求2所述的基于线特征的交通事故现场图几何校正系统,其特征在于, 所述标定物信息采集模块提取的控制点的相关参数信息包括每个控制点的物方空间坐标及其相应的像空间坐标;提取的控制线的相关参数信息包括物方空间每条平行于X轴的直线段的两个端点在像空间相应的起点坐标和终点坐标;物方空间每条平行于Y轴的直线段的两个端点在像空间相应的起点坐标和终点坐标。
4.根据权利要求3所述的基于线特征的交通事故现场图几何校正系统,其特征在于, 为保证二维DLT系数求解模块能够顺利执行,标定物信息采集模块在进行控制点和控制线的选取时应满足以下两个条件第一、在交通事故现场建立的二维笛卡尔直角坐标系中,存在至少两条平行于X轴的直线段和至少两条平行于Y轴的直线段;第二、在交通事故现场建立的二维笛卡尔直角坐标系中,存在至少两个控制点,并已测得它们实际的物方空间坐标。
5.根据权利要求4所述的基于线特征的交通事故现场图几何校正系统,其特征在于, 所述二维DLT系数求解模块首先通过与所述数据库的接口获取控制点和控制线的相关参数信息,在此基础上分别建立物方空间X轴平行线在像空间的约束方程组和物方空间Y轴平行线在像空间的约束方程组,然后通过OpenCV (开放式计算机视觉)核心模块中的API 采用最小二乘法分别对这些方程组求解得出中间变量的值;再将这些中间变量的值与控制点的二维直接线性变换公式联立,建立求解方程组,最后通过OpenCV核心模块中的API (应用程序接口)采用最小二乘法解出DLT系数的值。
6.根据权利要求5所述的基于线特征的交通事故现场图几何校正系统,其特征在于, 所述单应性矩阵计算模块由二维直接线性变换公式反解出物方空间坐标关于像空间坐标的表达式,建立像空间到物方空间的映射关系,然后通过Visual C++语言计算单应性矩阵中每个元素的值;单应性矩阵计算模块的输入是二维DLT系数求解模块得出的八个DLT系数的值,输出为一个3行3列的单应性矩阵;所得的单应性矩阵保存在OpenCV的基本数据结构CvMat (矩阵结构体)创建的一个3行3列64位单通道的对象中,它可作为该模块的输出参数提供给几何校正模块直接使用。
7.根据权利要求6所述的基于线特征的交通事故现场图几何校正系统,其特征在于, 所述几何校正模块首先根据单应性矩阵对交通事故现场图进行空间坐标变换,得到事故现场图上每个像素点的物方空间坐标,然后对物方空间坐标进行灰度重采样得到交通事故现场正射影像图;当变换后的物方空间坐标对应的事故现场图上的像空间坐标恰好为整数值时,这时物方空间坐标的灰度值可直接取事故现场图上像空间坐标的灰度值;当计算得到的物方空间坐标对应的事故现场图上的像空间坐标不为整数值时,这时并无现成的灰度值能用,可采用双线性插值法把该点周围整数点位上灰度值对该点的灰度贡献积累起来,构成该点位新的灰度值。
8.根据权利要求7所述的基于线特征的交通事故现场图几何校正系统,其特征在于, 当计算得到的物方空间坐标对应的事故现场图上的像空间坐标不为整数值时,这时并无现成的灰度值能用,可采用双线性插值法构造一个2X2的二维卷积核W(权矩阵),把它与该点周边的四个原始像元灰度值构成的2X2灰度矩阵G作Hadamard积(哈达玛积)运算得出一个新的矩阵,然后把这些新的矩阵元素累加,即可得到重采样点的灰度值。
9.根据权利要求8所述的基于线特征的交通事故现场图几何校正系统,其特征在于, 所述尺寸标注模块以交通事故现场正射影像图为基础,实现直接在正射影像图上进行单点的坐标标注和任意两点间的距离标注功能。单点坐标标注首先经坐标转换获取正射影像图上该点的物方空间坐标,然后通过Windows⑶I (Windows图形设备接口)绘图函数进行标注;任意两点间的距离标注可首先采取单点坐标标注的方式分别获取两个点的物方空间坐标,然后在此基础上计算出它们之间的实际空间距离,再将所得结果通过Windows GDI绘图函数标注在交通事故现场正射影像图上。
全文摘要
一种基于线特征的交通事故现场图几何校正系统,包括五个部分标定物信息采集模块,负责从交通事故现场图中提取控制点和控制线的相关参数信息;二维DLT系数求解模块,经方程联立求解出8个DLT系数的值;单应性矩阵计算模块,负责建立像空间到物方空间的映射关系,进而得出单应性矩阵;几何校正模块和尺寸标注模块,经空间坐标变换和灰度重采样,生成交通事故现场正射影像图并实现直接在正射影像图上标注任意点的实际空间坐标和任意两点间的实际空间距离的功能。本发明能够有效校正镜头畸变和透视畸变造成的交通事故现场图几何变形,并提高几何校正后生成的正射影像图上事故现场尺寸的测绘精度。
文档编号G01C11/00GK102506828SQ20111035452
公开日2012年6月20日 申请日期2011年11月10日 优先权日2011年7月29日
发明者王建炜, 苗新强, 金先龙, 韩学源 申请人:上海交通大学