发明内容
基于此,有必要针对上述技术问题,提供一种摄像头标定方法、装置、车载终端和存储介质。
一种摄像头标定方法,所述方法包括:
获取待标定的摄像头采集的包含有车道线的图像;
若预存的参考车道线集合中与所述车道线匹配的参考车道线满足连续性条件,则将满足所述连续性条件的参考车道线确定为可靠车道线集合中的可靠车道线;
若所述可靠车道线集合中可靠车道线的数量达到预设数量阈值,则根据所述可靠车道线集合中的所选可靠车道线,确定与所述所选可靠车道线对应的灭点;
基于所述灭点对所述摄像头进行标定。
在其中一个实施例中,所述方法还包括:
将所述车道线与所述参考车道线集合中各参考车道线进行重合度匹配,增加与所述图像中的车道线重合度相匹配的参考车道线的连续性保持时长;
若所述参考车道线的连续性保持时长达到预设时长阈值,则确定所述与所述车道线匹配的参考车道线满足连续性条件。
在其中一个实施例中,所述将所述车道线与所述参考车道线集合中各参考车道线进行重合度匹配,包括:
确定所述图像中的车道线与所述各参考车道线之间的重合度;
在所述重合度达到预设重合度阈值的参考车道线中,选取所述重合度最高的参考车道线作为与所述车道线匹配的参考车道线。
在其中一个实施例中,所述确定所述图像中的车道线与所述各参考车道线之间的重合度,包括:
获取图像中的车道线以及所述各参考车道线的线型特征;所述线型特征包括在相应图像中的斜率特征和交点特征;
确定所述车道线与所述参考车道线的斜率特征差异以及交点特征差异;
根据所述斜率特征差异和所述交点特征差异与画幅权重因子的乘积,计算所述重合度。
在其中一个实施例中,所述根据所述可靠车道线集合中的所选可靠车道线,确定与所述所选可靠车道线对应的灭点之前,所述方法还包括:
根据所述可靠车道线集合中的各可靠车道线的斜率特征,识别所述可靠车道线集合中的左可靠车道线和右可靠车道线;
根据左可靠车道线和右可靠车道线的连续性保持时长,从所述可靠车道线集合中选取至少一条左可靠车道线和至少一条右可靠车道线组成所述所选可靠车道线。
在其中一个实施例中,所述基于所述灭点对所述摄像头进行标定,包括:
获取所述摄像头的内参;
根据所述内参以及所述灭点,得到所述摄像头的外参;
根据所述外参对所述摄像头进行标定。
在其中一个实施例中,所述获取待标定的摄像头采集的包含有车道线的图像之前,所述方法还包括:
响应于当前车速大于预设速度阈值,控制所述摄像头采集所述包含有车道线的图像。
一种摄像头标定装置,所述装置包括:
图像获取模块,用于获取待标定的摄像头采集的包含有车道线的图像;
匹配确定模块,用于若预存的参考车道线集合中与所述车道线匹配的参考车道线满足连续性条件,则将满足所述连续性条件的参考车道线确定为可靠车道线集合中的可靠车道线;
灭点确定模块,用于若所述可靠车道线集合中可靠车道线的数量达到预设数量阈值,则根据所述可靠车道线集合中的所选可靠车道线,确定与所述所选可靠车道线对应的灭点;
标定确定模块,用于基于所述灭点对所述摄像头进行标定。
一种车载终端,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取待标定的摄像头采集的包含有车道线的图像;
若预存的参考车道线集合中与所述车道线匹配的参考车道线满足连续性条件,则将满足所述连续性条件的参考车道线确定为可靠车道线集合中的可靠车道线;
若所述可靠车道线集合中可靠车道线的数量达到预设数量阈值,则根据所述可靠车道线集合中的所选可靠车道线,确定与所述所选可靠车道线对应的灭点;
基于所述灭点对所述摄像头进行标定。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取待标定的摄像头采集的包含有车道线的图像;
若预存的参考车道线集合中与所述车道线匹配的参考车道线满足连续性条件,则将满足所述连续性条件的参考车道线确定为可靠车道线集合中的可靠车道线;
若所述可靠车道线集合中可靠车道线的数量达到预设数量阈值,则根据所述可靠车道线集合中的所选可靠车道线,确定与所述所选可靠车道线对应的灭点;
基于所述灭点对所述摄像头进行标定。
上述摄像头标定方法、装置、车载终端和存储介质,方法包括:获取待标定的摄像头采集的包含有车道线的图像;若预存的参考车道线集合中与车道线匹配的参考车道线满足连续性条件,则将满足连续性条件的参考车道线确定为可靠车道线集合中的可靠车道线;若可靠车道线集合中可靠车道线的数量达到预设数量阈值,则根据可靠车道线集合中的所选可靠车道线,确定与所选可靠车道线对应的灭点;基于灭点对摄像头进行标定。本申请使得摄像头标定不再需要用户手动介入挪车或者摆放用于车辆识别的摆放中介物,在驾驶过程中就可以完成摄像头标定,基于车道线识别的标定能够实时进行,提高了摄像头标定的效率和准确性。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的摄像头标定方法,可以应用于如图1所示的应用环境中。其中,车载终端11与图像采集设备12通信连接,且均设置在车辆内部。具体地,车载终端11获取待标定的图像采集设备12采集的包含有车道线的图像;若车载终端11预存的参考车道线集合中与车道线匹配的参考车道线满足连续性条件,则车载终端11将满足连续性条件的参考车道线确定为可靠车道线集合中的可靠车道线;若可靠车道线集合中可靠车道线的数量达到预设数量阈值,则车载终端11根据可靠车道线集合中的所选可靠车道线,确定与所选可靠车道线对应的灭点;车载终端11基于灭点对摄像头12进行标定。
其中,图像采集设备12可以但不限于是各种照相机、摄像机、监视器、摄像头、行车记录仪、能产生图像的行车雷达等,或者带有摄像功能的笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,车载终端11可以在离线环境下独立工作,处理图像采集设备12获取的车道线图像对图像采集设备12进行标定;车载终端11还可以与外部服务器建立通信连接,由外部服务器单独,或者外部服务器与车载终端共同执行图像采集设备标定的过程;外部服务器可以用独立服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种摄像头标定方法,以该方法应用于图1中的车载终端11,以及作为图像采集设备12的摄像头为例进行说明,包括以下步骤:
步骤21,获取待标定的摄像头采集的包含有车道线的图像。
其中,待标定的摄像头是指某个时间周期内,需要进行标定的车载摄像头;该时间周期可以根据车辆的车速进行确定,例如车速较快时,时间周期较短;车速较慢时,时间周期较长,以保证车辆在行驶过程中车载摄像头保持标定准确度。
车道线图像是指摄像头获取的能够反映驾驶员部分视野、且图像中包含有对地面拍摄结果的图像,地面拍摄结果除包括车道线外,还可以包含有其他车辆、行人、景物、天空、引擎盖等。
具体地,车载终端在检测到车辆运行情况满足一定条件时,通过电信号的通信方式,控制摄像头开始采集车道线图像;或者直接从电连接的车载摄像头处,获取摄像头之前一段连续时间内采集到的车道线图像;车载终端对获取到的图像进行相关图像处理后,利用机器识别从车道线图像识别并提取车道线。
车载终端能够实时获取车辆的运行信息,在车辆的某项或某几项运行信息达到预设条件时,开始获取车道线图像;例如车载终端在检测到车辆行驶速度达到30KM/H且车辆行驶在非颠簸路段时,控制摄像头采集包含有车道线的图像;具体的预设条件可以根据车辆上安装的多个传感器综合确定得到。
车载终端可以对获取到的车道线图像进行画幅裁剪、颜色调整等操作,使得一定时间周期内获取到的多帧车道线图像相互统一,能够进行批量识别以提高车道线识别的效率。
车载终端可以固定识别车道线图像中的设定区域,该设定区域可以通过比例形式确定,例如设定车载终端识别车道线图像下方1/3区域;车载终端还可以利用画幅参数进行区域的设定,例如以车道线图像中的地面或者引擎盖要素作为坐标系的X轴,以地面或者引擎盖的中部作为Y轴,并取该坐标系中X小于0且Y大于0的区域作为进行识别的固定区域。
车载终端从车道线图像中识别并提取车道线图像可以利用多种计算机视觉算法,例如基于Hough变换检测、基于传统视觉方法训练的神经网络模型、基于深度学习分割算法生成的模型检出等。
本步骤通过获取待标定的摄像头采集的包含有车道线的图像,使得车载终端能够根据车辆的运行情况实时获取相应的车道线图像作为基础数据,对摄像头进行标定,确保了摄像头在行车过程中的准确性。
步骤22,若预存的参考车道线集合中与车道线匹配的参考车道线满足连续性条件,则将满足连续性条件的参考车道线确定为可靠车道线集合中的可靠车道线。
其中,车载终端直接从车道线图像中识别得到的车道线是初始车道线(即图像中的车道线),保存在初始车道线集合中;若初始车道线与参考车道线集合中的参考车道线相匹配,则为参考车道线增加连续性;若初始车道线与参考车道线集合中的参考车道线不匹配,则将该初始车道线作为参考车道线保存至参考车道线集合。
连续性条件是指能够判定参考车道线在一定时间内连续出现且被车载终端所检测到;是否连续可以通过出现次数、出现时长、出现频率等多种参数进行判定。
可靠车道线是指满足连续性条件的参考车道线,相应的,可靠车道线集合即是由多个可靠车道线组成的集合。
具体地,车载终端接收到摄像头发送的车道线图像;车载终端对车道线图像中的车道线进行识别,将识别到的车道线以车道线方程的形式作为初始车道线存储至初始车道线集合中;将初始车道线集合中的初始车道线与参考车道线进行匹配,确定参考车道线的连续性并更新参考车道线符合连续性条件与否;之后将达到连续性条件的参考车道线识别为可靠车道线,并以可靠车道线的形式对应保存至可靠车道线集合中。
可以设定第i条初始车道线为L_i,初始车道线集合即为{L_i};初始车道线L_i包含有数据<k_i,b_i>,其中k_i表示初始车道线L_i的斜率,b_i表示初始车道线L_i与车道线图像底部交点的横坐标。
进一步地,参考车道线可以设定为E_j,参考车道线集合即为{E_j};对于每条参考车道线E_j,其记录的数据有<k_j, b_j, duration_j>,其中k_j、b_j和L_i中的k_i,b_i定义相同,k_j表示参考车道线j的斜率,b_j表示参考车道线j与车道线图像底部交点的横坐标;duration_j即为参考车道线j的连续性保持时长,可以作为连续性条件的其中一种,但不仅限于是时长;该时长根据初始车道线与参考车道线的匹配情况进行更新;且当参考车道线j的连续性保持时长duration_j达到连续性保持时长条件后,会被作为新的可靠车道线并加入可靠车道线集合中。
进一步地,可靠车道线可以设定为F_j,可靠车道线集合即为{F_j};对于每条可靠车道线F_j,其记录的数据有<k_j, b_j, duration_j>,其中k_j、b_j与参考车道线的k_j,b_j定义相同;duration_j为可靠车道线j的更新后的连续性保持时长。
例如,参考车道线E_j的连续性保持时长duration_j为20ms,在10ms后确定该参考车道线E_j与当前正在处理的初始车道线L_i相互匹配,则将参考车道线E_j的连续性保持时长duration_j由20ms更新为30ms。若连续性条件设置为连续性保持时长30ms,则连续性保持时长更新后的参考车道线E_j则会被进一步识别为可靠车道线,并加入可靠车道线集合中。
本步骤通过对参考车道线集合中的参考车道线进行连续性条件的判断,从中进一步识别得到可靠车道线,可靠车道线可以用于后续的计算,实现了对参考车道线的进一步筛选;连续性条件也提高了可靠车道线获取的准确度,提高了摄像头标定的效率。
步骤23,若可靠车道线集合中可靠车道线的数量达到预设数量阈值,则根据可靠车道线集合中的所选可靠车道线,确定与所选可靠车道线对应的灭点。
其中,预设数量阈值是指在一个时间周期内对筛选出的满足连续性条件的可靠车道线数量的最低限制;例如车载终端可以根据车辆行驶速度的快慢,设定不同的预设数量阈值。所选可靠车道线是指在由可靠车道线组成的可靠车道线集合中,选取出的一部分可靠车道线用于进行灭点计算;灭点是指可靠车道线集合中的所选可靠车道线所在直线相交的一点。
具体地,车载终端在不断获取车道线图像中识别出多个车道线得到多个参考车道线;对参考车道线进行连续性条件的判定得到多个可靠车道线;当可靠车道线数量达到预设数量阈值时,从可靠车道线集合中选取一部分可靠车道线作为所选可靠车道线,并计算多个所选可靠车道线之间共同的交点作为所选可靠车道线对应的灭点。
本步骤通过获取预设数量的可靠车道线用于计算灭点,提高了灭点计算的准确性。
步骤24,基于灭点对摄像头进行标定。
具体地,车载终端基于计算能得到的灭点数据,结合车辆运行信息以及摄像头的相关参数信息,计算出摄像头的外参,即摄像头的相机坐标系相对于车辆坐标系的偏航角yaw以及俯仰角pitch等;根据摄像头的外参对摄像头进行标定。
本步骤通过灭点数据确定出摄像头的外参,根据外参实现对摄像头的标定。
上述摄像头标定方法中,包括:获取待标定的摄像头采集的包含有车道线的图像;若预存的参考车道线集合中与车道线匹配的参考车道线满足连续性条件,则将满足连续性条件的参考车道线确定为可靠车道线集合中的可靠车道线;若可靠车道线集合中可靠车道线的数量达到预设数量阈值,则根据可靠车道线集合中的所选可靠车道线,确定与所选可靠车道线对应的灭点;基于灭点对摄像头进行标定。本申请使得摄像头标定不再需要用户手动介入挪车或者摆放用于车辆识别的摆放中介物,在驾驶过程中就可以完成摄像头标定,基于车道线识别的标定能够实时进行,提高了摄像头标定的效率和准确性。
在一个实施例中,如图3所示,摄像头标定方法还包括:
步骤31,将车道线与参考车道线集合中各参考车道线进行重合度匹配,增加与图像中的车道线重合度相匹配的参考车道线的连续性保持时长;
步骤32,若参考车道线的连续性保持时长达到预设时长阈值,则确定与车道线匹配的参考车道线满足连续性条件。
其中,重合度是指新获取的车道线图像中的车道线与已经保存到参考车道线集合中的参考车道线之间的相互重合程度,也可以理解为是车道线所在直线的坐标参数的相似程度。当车道线与参考车道线集合中的某一车道线重合度达到一定数值时,可认为车道线与该参考车道线匹配,即该车道线与之前识别到的参考车道线可认为是同一条车道线,因此可以增加参考车道线的连续性保持时长;连续性保持时长用于判断一条参考车道线持续出现的时间。
具体地,还可以将参考车道线理解为“时序静止车道线”,即在一段连续时间内,画面中有一段车道线的车道线方程始终几乎保持静止,不会发生较大幅度的变动。
关于车道线方程始终几乎保持静止的判断,需要满足三个条件:a.持续被车载终端从摄像头不断获取的车道线图像中检测到,不长时间中断且不消失;b.和车道线图像画面底端的交点的横坐标几乎不变化;c.在车道线图像画面底端的切向斜率几乎不变化。上述a、b、c三个判断条件是否满足的判断过程可认为是车道线与参考车道线集合中各参考车道线进行重合度匹配的过程;若重合度匹配成功,则可记这样一段时间窗口内不断更新的参考车道线为“时序静止车道线”。
需要说明的是,若经过多次匹配更新后,使得参考车道线的连续性保持时长达到预设时长阈值,则确定与车道线匹配的参考车道线满足连续性条件。
若参考车道线再无新的图像中的车道线与之匹配,连续性保持时长则不会被更新,若连续性保持时长在超过一段时间内没有被更新且没有达到预设时间阈值,则该参考车道线将会从参考车道线集合中删除,不会被后续识别为可靠车道线。
本实施例通过将图像中的车道线与参考车道线进行匹配,并更新匹配成功的参考车道线的连续性保持时间,使得从参考车道线集合中多个参考车道线中筛选出满足预设时间阈值条件的作为可靠车道线,提高了可靠车道线获取的准确性。
在一个实施例中,如图4所示,将车道线与参考车道线集合中各参考车道线进行重合度匹配,包括:
步骤41,确定图像中的车道线与各参考车道线之间的重合度;
步骤42,在重合度达到预设重合度阈值的参考车道线中,选取重合度最高的参考车道线作为与车道线匹配的参考车道线。
具体地,车载终端判断车道线与参考车道线集合中各参考车道线成功匹配需要满足两个条件,一是车道线与参考车道线集合中的参考车道线至少有一条的重合度能够达到预设重合度阈值;二是从参考车道线集合中选择与图像中的车道线重合度最高的参考车道线作为相匹配的对象。
本实施例,通过设置预设重合度阈值以及取重合度最高的参考车道线两个条件确定出与车道线相匹配的参考车道线;预设重合度阈值保证了车道线与参考车道线具备一定相似性,重合度最高的设置保证了从具备一定相似性的参考车道线中选取出最相似的参考车道线;提高了重合度匹配的准确性,并且提升了可靠车道线的确定效率。
在一个实施例中,如图5所示,确定图像中的车道线与各参考车道线之间的重合度,包括:
步骤51,获取图像中的车道线以及各参考车道线的线型特征;线型特征包括在相应图像中的斜率特征和交点特征;
步骤52,确定车道线与参考车道线的斜率特征差异以及交点特征差异;
步骤53,根据斜率特征差异和交点特征差异与画幅权重因子的乘积,计算重合度。
具体地,斜率特征可以是车道线和参考车道线在图像所形成平面坐标内的斜率信息;交点特征可以是车道线和参考车道线在图像所形成平面坐标内,与底边或底边形成的X轴的交点信息。车道线与参考车道线的斜率特征差异可以是两者斜率之差的绝对值,交点特征差异同样可以是两者交点坐标之差的绝对值。画幅权重因子是根据画面的高度和宽度分别为斜率特征差异和交点特征差异设置的权重。
例如,图像中的车道线对应方程为y=k1x+b1;参考车道线对应方程为y=k2x+b2;y=0表示画面底部;画面宽为img_w,画面高为img_h;则重合度可以为用abs(b1-b2)+abs(k1-k2)×img_h/2来度量;其中,abs(b1-b2)为斜率特征差异,abs(k1-k2)为交点特征差异,img_h/2为画幅权重因子。
本实施例通过斜率、交点、画幅多方面计算车道线与参考车道线之间的重合度,提高了重合度计算的准确性。
在一个实施例中,如图6所示,根据可靠车道线集合中的所选可靠车道线,确定与所选可靠车道线对应的灭点之前,方法还包括:
步骤61,根据可靠车道线集合中的各可靠车道线的斜率特征,识别可靠车道线集合中的左可靠车道线和右可靠车道线;
步骤62,根据左可靠车道线和右可靠车道线的连续性保持时长,从可靠车道线集合中选取至少一条左可靠车道线和至少一条右可靠车道线组成所选可靠车道线。
具体地,根据斜率特征可以区分可靠车道线的左右;通常左车道线在图像中的斜率大于0,而右车道线在图像中的斜率小于0;因此,根据斜率特征,能够将可靠车道线集合中的可靠车道线进一步识别为左可靠车道线和右可靠车道线。
连续性保持时长代表了可靠车道线的可靠程度;因此在计算灭点时,可以分别从左可靠车道线和右可靠车道线根据连续性保持时长进行选取,例如优先选取连续性保持时长最长的左可靠车道线和右可靠车道线,再从剩余的左可靠车道线和右可靠车道线再次选取连续性保持时长最长的左可靠车道线和右可靠车道线,以此类推,直到选取的左可靠车道线和右可靠车道线达到灭点的计算要求。
本实施例通过连续性保持时长以及左右可靠车道线能够保证灭点计算的准确性。
在一个实施例中,基于灭点对摄像头进行标定,包括:获取摄像头的内参;根据内参以及灭点,得到摄像头的外参;根据外参对摄像头进行标定。
其中,内参包括摄像头的焦距(vx,vy)、主点坐标(cu, cv);设灭点坐标为(vx,vy),则摄像头外参的偏航角yaw=atan2(cu-vx, fu),俯仰角pitch=atan2(vy-cv, sqrt(fv×fv+(vx-cu)×(vx-cu)));据此可以对灭点进行标定。
本实施例基于灭点能够计算出摄像头的外参,进而根据外参对摄像头进行标定,使得摄像头标定不再需要用户手动介入挪车或者摆放用于车辆识别的摆放中介物,在驾驶过程中就可以完成摄像头标定,基于车道线识别的标定能够实时进行,提高了摄像头标定的效率和准确性。
在一个实施例中,在获取待标定的摄像头采集的包含有车道线的图像之前,方法还包括:响应于当前车速大于预设速度阈值,控制摄像头采集包含有车道线的图像。
其中,预设速度阈值是对车辆运行速度进行的限制,当车辆运行速度达到预设速度阈值时,车载终端可以判断出当前车辆处于平稳运行状态,此时能够控制摄像头获取到较为连续的车道线图像。预设速度阈值可以根据实际情况进行调整,例如若是在告诉公路上行驶,由于道路情况较好,车道线清晰平直,车载终端可以设置较低的预设速度阈值。
例如,车载终端在检测到车辆的运行速度大于30km/h时控制摄像头获取车道线图像,并且识别车道线图像中的车道线得到参考车道线。
本实施例车载终端通过预设速度阈值设置了摄像头采集车道线图像的起始条件,保证了车道线图像采集连续可靠。
为了更清晰阐明本申请提供的方案,将上述摄像头标定方法应用于车辆行驶过程中进行摄像头标定的场景进行说明,如图7所示,具体步骤包括:
第一步,定义“参考车道线”(即时序静止车道线);
车载终端在一段连续时间内,检测到车辆速度适中且大于某一设定的速度阈值,且从摄像头获取的车道线图像中有一段车道线的直线方程几乎保持在静止状态时,则记这样一段连续时间内图像中的车道线为“参考车道线”。
车道线的直线方程几乎保持在静止状态可以通过下述方式判定:1、持续被检测到,不中断不消失;2、和车道线图像底端交点的横坐标几乎不变化;3、在车道线图像的切向斜率几乎不变化;上述三个条件同时满足即可确定该车道线为参考车道线。
“参考车道线”的意义是:即使车辆处于行进状态,这段车道线也在画面中静止,意味着这段车道线必定和车身行进方向平行。理论上这些“参考车道线”应经过车身行进方向在画面中对应的灭点;但因为各种误差(颠簸、车道线识别误差、拐弯),不会严格经过一点,但是会大致经过这一点。
第二步,由初始车道线得到参考车道线,由参考车道线得到可靠车道线。
车载终端根据当前的实时车速v (km/h)控制摄像头采集当前的车道线图像,获取到车道线图像后,利用机器视觉算法识别出的车道线图像内所有位于画面设定区域范围内的车道线作为初始车道线,设定其直线方程为L_i,并得到初始车道线集合{L_i}。处理初始车道线集合{L_i}中初始车道线的直线方程:对于第i条初始车道线L_i,包含的数据有<k_i, b_i>。其中k_i表示该初始车道线的斜率,b_i表示初始车道线和车道线图像画面底部交点的横坐标。
设定参考车道线E_j以及参考车道线集合{E_j}。对于每条参考车道线E_j,记录的数据有:<k_j, b_j, duration_j>。其中k_j、b_j和L_i中定义相同;duration_j表示这条参考车道线的持续出现时间(通常为毫秒);
对于车载终端最新接收到的初始车道线L_i,从参考车道线集合{E_j}中检索和初始车道线L_i重合度最高的一条参考车道线E’,当参考车道线E’和初始车道线L_i的重合度高于一定程度时,则将参考车道线E’的duration_j更新延长至L_i对应的时间戳;如果无法在参考车道线集合{E_j} 中检索到和初始车道线L_i 重合度足够高的一条参考车道线E_j,则将初始车道线L_i 作为参考车道线插入到参考车道线集合{E_j}中;
对于参考车道线集合{E_j}中的每条参考车道线E_j,如果它的duration_j已经很久没有被更新(例如超过1秒),则认为这条参考车道线已经消失,将其从参考车道线集合{E_j}中剔除。如果这条参考车道线的持续时间duration_j大于预设时长阈值(例如2秒),则并将这条参考车道线E_j作为可靠车道线添加到可靠车道线集合{F_j}中。
第三步,由可靠车道线得到灭点。
车道线通常都是成对出现,在画面中可以表示为“/”方向的车道线和“\”方向的车道线;当可靠车道线集合中“/”方向的左可靠车道线和“\”方向的右可靠车道线数量达到预设数量阈值时,则可以通过估计可靠车道线的交点FOE(focus of expansion,延伸焦点)作为灭点。
对于每条可靠车道线F_j,若其斜率k_j大于零,则定义其为“/”型车道线,即左可靠车道线,对应画面中位于道路左侧的车道线;反之定义为“\”型车道线,即右可靠车道线,对应画面中位于道路右侧的车道线;
当可靠车道线集合{F_j}中“/”方向的左可靠车道线和“\”方向的右可靠车道线数量达到预设数量阈值数量时,则分别取可靠车道线集合{F_j}中duration_j最大的多个左可靠车道线和右可靠车道线作为所选可靠车道线,使用最小二乘法计算这些所有所选可靠车道线的交点(即灭点)。
第四步,由灭点得到摄像头的外参。
使用第三步中所得到灭点的灭点坐标(vx, vy),计算出摄像头的相机坐标系相对于车身坐标系的yaw(偏航角)和俯仰角(pitch):
记摄像头焦距为:(fu, fv),主点坐标为:(cu, cv);灭点坐标为:(vx, vy)。则摄像头外参的偏航角为:yaw=atan2(cu-vx, fu),摄像头外参的俯仰角为:pitch=atan2(vy-cv, sqrt(fv×fv+(vx-cu)×(vx-cu)))。
根据偏航角和俯仰角作为摄像头的外参能够完成对摄像头后续的标定。
本实施例中,用户不需要手动介入挪车或者摆放标定靶,就可以在行驶过程中由车载终端和摄像头的相互配合完成标定。这是因为通过初始车道先、参考车道线以及可靠车道线规则的设置,过滤出了车辆真正地行驶时能够用于摄像头标定的车道线;并且当车辆拐弯,或者车道线与车身不平行时识别到的车道线都被自动舍弃。标定结果是基于一段时间内最优的车道线方程集合综合计算得出的,因此得到的标定结果比传统静态标定方法更准确、具备更好的鲁棒性。即便由于车身负重、重心变化导致的外参俯仰角会轻微变化的情况,该种算法有能力自适应调整并计算出最新的适应于当前情况的外参,该实时性特点是传统的静态标定方法并不完全具备的。
应该理解的是,虽然图2-6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-6中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图8所示,提供了一种摄像头标定装置,包括:图像获取模块81、匹配确定模块82、灭点确定模块83和标定确定模块84,其中:
图像获取模块81,用于获取待标定的摄像头采集的包含有车道线的图像;
匹配确定模块82,用于若预存的参考车道线集合中与车道线匹配的参考车道线满足连续性条件,则将满足连续性条件的参考车道线确定为可靠车道线集合中的可靠车道线;
灭点确定模块83,用于若可靠车道线集合中可靠车道线的数量达到预设数量阈值,则根据可靠车道线集合中的所选可靠车道线,确定与所选可靠车道线对应的灭点;
标定确定模块84,用于基于灭点对摄像头进行标定。
在一个实施例中,匹配确定模块82,还用于将车道线与参考车道线集合中各参考车道线进行重合度匹配,增加与图像中的车道线重合度相匹配的参考车道线的连续性保持时长;若参考车道线的连续性保持时长达到预设时长阈值,则确定与车道线匹配的参考车道线满足连续性条件。
在一个实施例中,匹配确定模块82,还用于确定图像中的车道线与各参考车道线之间的重合度;在重合度达到预设重合度阈值的参考车道线中,选取重合度最高的参考车道线作为与车道线匹配的参考车道线。
在一个实施例中,匹配确定模块82,还用于获取图像中的车道线以及各参考车道线的线型特征;线型特征包括在相应图像中的斜率特征和交点特征;确定车道线与参考车道线的斜率特征差异以及交点特征差异;根据斜率特征差异和交点特征差异与画幅权重因子的乘积,计算重合度。
在一个实施例中,灭点确定模块83,还用于根据可靠车道线集合中的各可靠车道线的斜率特征,识别可靠车道线集合中的左可靠车道线和右可靠车道线;根据左可靠车道线和右可靠车道线的连续性保持时长,从可靠车道线集合中选取至少一条左可靠车道线和至少一条右可靠车道线组成所选可靠车道线。
在一个实施例中,标定确定模块84,还用于取摄像头的内参;根据内参以及灭点,得到摄像头的外参;根据外参对摄像头进行标定。
在一个实施例中,图像获取模块81,还用于响应于当前车速大于预设速度阈值,控制摄像头采集包含有车道线的图像。
关于摄像头标定装置的具体限定可以参见上文中对于摄像头标定方法的限定,在此不再赘述。上述摄像头标定装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于车载终端中的处理器中,也可以以软件形式存储于车载终端中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种车载终端,其内部结构图可以如图9所示。该车载终端包括通过系统总线连接的处理器、存储器和网络接口。其中,该车载终端的处理器用于提供计算和控制能力。该车载终端的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该车载终端的数据库用于存储摄像头标定数据。该车载终端的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种摄像头标定方法。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的车载终端的限定,具体的车载终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种车载终端,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取待标定的摄像头采集的包含有车道线的图像;
若预存的参考车道线集合中与车道线匹配的参考车道线满足连续性条件,则将满足连续性条件的参考车道线确定为可靠车道线集合中的可靠车道线;
若可靠车道线集合中可靠车道线的数量达到预设数量阈值,则根据可靠车道线集合中的所选可靠车道线,确定与所选可靠车道线对应的灭点;
基于灭点对摄像头进行标定。
在一个实施例中,还提供了一种车载终端,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取待标定的摄像头采集的包含有车道线的图像;
若预存的参考车道线集合中与车道线匹配的参考车道线满足连续性条件,则将满足连续性条件的参考车道线确定为可靠车道线集合中的可靠车道线;
若可靠车道线集合中可靠车道线的数量达到预设数量阈值,则根据可靠车道线集合中的所选可靠车道线,确定与所选可靠车道线对应的灭点;
基于灭点对摄像头进行标定。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。