测量方法及装置与流程

文档序号:32519320发布日期:2022-12-13 18:24阅读:97来源:国知局
测量方法及装置与流程

1.本技术涉及图像处理技术领域,尤其涉及一种测量方法及装置。


背景技术:

2.随着社会的发展,智能运输设备、智能家居设备、机器人等智能终端正在逐步进入人们的日常生活中。传感器在智能终端上发挥着十分重要的作用。安装在智能终端上的各式各样的传感器,比如毫米波雷达,激光雷达,摄像头,超声波雷达等,在智能终端的运动过程中感知周围的环境,收集数据,进行移动物体的辨识与追踪,以及静止场景如车道线、标示牌的识别,并结合导航仪及地图数据进行路径规划。传感器可以预先察觉到可能发生的危险并辅助甚至自主采取必要的规避手段,有效增加了智能终端的安全性和舒适性。
3.利用上述传感器获取的信息,可以实现对周边环境及物体的分类、识别以及跟踪等功能。以自动驾驶为例,自动驾驶车辆利用车载的传感器获取外部信息,根据这些外部信息进行转向、减速等控制动作,从而避免与其他车辆相撞。比如说,通过测量目标车辆的航向角,可以预测目标车辆未来的行驶轨迹。当目标车辆超车或并道时,目标车辆的航向角会发生明显的变化,自动驾驶车辆可通过航向角的变化来判断目标车辆的行驶状态,改变自身的行驶状态,比如减速,避免与目标车辆发生摩擦或碰撞。
4.目前,有多种测量方法可以测量目标车辆的航向角。比如说,通过激光雷达、毫米波雷达和多目相机可以直接获得世界坐标系中的车体信息,从而得到目标车辆的航向角。但这种测量方法用到的传感器(激光雷达、毫米波雷达和多目相机)成本较高、体积大不便于安装,并且当相机内外参发生变化时,需要通过激光雷达重新标定观测角度。单目相机成本较低,但相关技术中需要对单目相机采集到的图像进行至少两次卷积神经网络(convolutional neural networks,cnn)前向计算,计算量较大,并且相关技术中通过目标车辆和车轮接地点的匹配结果计算目标车辆的航向角,在车辆较多的情况下,可能存在匹配不准确,计算结果存在误差,抖动较大。


技术实现要素:

5.有鉴于此,提出了一种测量方法及装置,采用单目相机采集图像,可以得到更准确的测量结果。
6.第一方面,本技术的实施例提供了一种测量方法,应用于单目相机,所述方法包括:通过所述单目相机采集第一图像;采用神经网络模型识别所述第一图像中的目标对象的第一观测结果;所述第一观测结果包括所述目标对象包含的多个观测点的像素平面坐标;根据目标对象的初始运动状态和运动模型进行非线性滤波的预测过程,得到第一预测状态和非线性滤波的更新参数;其中,所述初始运动状态为根据所述第一图像之前的历史图像得到的测量结果,所述初始运动状态表示在所述相机采集所述第一图像之前所述目标对象的最终运动状态,所述初始运动状态包括所述目标对象的初始航向角;根据所述第一预测状态,得到所述多个观测点的像素平面坐标的第一估计结果;根据所述第一观测结果
和所述第一估计结果,得到残差;根据所述第一预测状态、所述残差和所述更新参数进行非线性滤波的更新过程,得到所述目标对象的运动状态的新的测量结果,所述新的测量结果包括所述目标对象的航向角。
7.本技术实施例提供的测量方法,通过单目相机采集图像,结合神经网络模型、非线性滤波和运动模型对图像进行处理,预测图像中目标对象的航向角。采用神经网络对图像进行处理得到第一观测结果,代替非线性滤波过程中采用硬件(雷达等)进行观测得到观测结果的过程,也就是说,通过神经网络模型对单目相机采集的图像进行处理即可实现观测的过程,不需要安装体积比较大并且昂贵的雷达等对目标对象进行观测,相比于雷达相机价格更低,可以节省成本,且相机体积相比于雷达体积小很多便于安装。
8.结合目标对象的初始运动状态和运动模型通过非线性滤波的预测过程对目标对象的运动状态(包括航向角)进行预测得到预测结果(第一预测状态),根据预测结果对目标对象的运动轨迹进行估计得到第一估计结果,根据第一观测结果和第一估计结果的残差对第一预测状态进行调整,可以得到更准确的测量结果。因此,相比于相关技术中通过雷达对单帧图像进行标定或者采用cnn对单帧图像中的目标车辆和车轮接地点的匹配从而测量航向角的方式,本技术的测量方法采用根据历史图像得到的目标对象的初始运动状态进行非线性滤波的预测过程,可以联合多帧图像进行航向角的测量,测量结果更准确,且通过神经网络模型实现对目标对象的观测过程,可以节省成本。
9.根据第一方面,在第一种可能的实现方式中,所述初始运动状态包括初始状态值和初始协方差矩阵,根据目标对象的初始运动状态和运动模型进行非线性滤波的预测过程,得到第一预测状态和非线性滤波的更新参数,包括:从均值为所述初始状态值、协方差矩阵为所述初始协方差矩阵的高斯分布中,提取包括所述初始状态值对应的点在内的多个代表点,以及每个所述代表点对应的权重;根据所述运动模型和所述多个代表点的状态值,得到每个所述代表点的第一估计状态值;根据每个所述代表点的所述第一估计状态值和所述权重,计算所述第一预测状态的第一预测状态均值和第一预测协方差矩阵;将每个所述代表点的所述第一估计状态值转换到像素平面坐标系,得到每个所述代表点的像素平面坐标;根据每个所述代表点的像素平面坐标和所述权重,计算所述多个代表点在像素平面坐标系的均值和协方差矩阵;根据每个所述代表点的所述第一估计状态值和所述第一预测状态均值、每个所述代表点的像素平面坐标、多个代表点在像素平面坐标系的均值以及所述权重,得到所述更新参数中的交叉关联矩阵;根据所述交叉关联矩阵和所述多个代表点在像素平面坐标的协方差矩阵,得到所述更新参数中的卡尔曼增益。
10.根据第一方面的第一种可能的实现方式,在第二种可能的实现方式中,根据所述第一预测状态,得到所述多个观测点的像素平面坐标的第一估计结果,包括:根据所述第一预测状态均值计算每个所述观测点的世界坐标,并将每个所述观测点的世界坐标转换为像素平面坐标,得到每个所述观测点的第一估计结果。
11.根据第一方面的第一种可能的实现方式,在第三种可能的实现方式中,根据所述第一预测状态、所述残差和所述更新参数进行非线性滤波的更新过程,得到所述目标对象的运动状态的新的测量结果,包括:计算所述残差和所述卡尔曼增益的乘积,得到状态增量;对所述第一预测状态均值和所述状态增量求和,得到所述新的测量结果的第二预测状态均值;根据所述第一预测协方差矩阵、所述卡尔曼增益和所述交叉关联矩阵,得到所述新
的测量结果的第二预测协方差矩阵。
12.根据第一方面或第一方面的第一种至第三种可能的实现方式中的任意一种,在第四种可能的实现方式中,所述方法还包括:在损失满足收敛条件之前,执行以下过程:
13.在所述目标对象的观测区域中移动光流跟踪区域,从移动后的光流跟踪区域中确定所述第一图像和所述第一图像之前的历史图像的多对样本匹配点;所述目标对象的所述观测区域为目标对象上的平面区域在图像上的对应区域,每对样本匹配点对应于所述目标对象的同一点;根据所述多对样本匹配点中的至少部分匹配点进行单应求解,得到单应矩阵;根据所述单应矩阵和所述第一图像上的所述观测区域所在的平面的法向量,得到第一航向角变化率,所述第一航向角变化率为所述目标对象在所述历史图像和所述第一图像中的航向角变化率;其中,所述损失为根据所述第一航向角变化率与第二航向角变化率的差值、以及所述多对样本匹配点中满足所述单应矩阵的点的数量确定的,所述第二航向角变化率为所述第一预测状态均值包括的航向角变化率。
14.根据第一方面的第四种可能的实现方式,在第五种可能的实现方式中,所述残差还包括所述第一航向角变化率和所述第二航向角变化率的差值。
15.本技术实施例的测量方法,通过利用侧面和/或车尾平面计算单应矩阵,通过增加航向角变化率的观测值,并根据观测值和估计值的残差调整测量结果,可以提高测量的精度。通过损失函数确定最佳光流跟踪区域,降低了非平面所导致的单应矩阵求解误差的影响。
16.根据第一方面的第四种可能的实现方式,在第六种可能的实现方式中,所述方法还包括:根据每个所述观测点在所述目标对象中关联的所述目标对象的部位的尺寸,得到每个所述观测点的第一观测噪声;或者,根据所述光流跟踪的区域的尺寸,得到第二观测噪声;
17.根据目标对象的初始运动状态和运动模型进行非线性滤波的预测过程,得到第一预测状态和非线性滤波的更新参数,包括:从均值为所述初始状态值、协方差矩阵为所述初始协方差矩阵的高斯分布中,提取包括所述初始状态值对应的点在内的多个代表点,以及每个所述代表点对应的权重;根据所述运动模型和所述多个代表点的状态值,得到每个所述代表点的第一估计状态值;根据每个所述代表点的所述第一估计状态值和所述权重,计算所述第一预测状态的第一预测状态均值和第一预测协方差矩阵;将每个所述代表点的所述第一估计状态值转换到像素平面坐标系,得到每个所述代表点的像素平面坐标;根据每个所述代表点的像素平面坐标和权重、以及所述第一观测噪声和所述第二观测噪声中的一者或两者,计算所述多个代表点在像素平面坐标的均值和协方差矩阵;根据每个所述代表点的所述第一估计状态值和所述第一预测状态均值、每个所述代表点的像素平面坐标、多个代表点在像素平面坐标的均值以及所述权重,得到所述更新参数中的交叉关联矩阵;根据所述交叉关联矩阵和所述多个代表点在像素平面坐标的协方差矩阵,得到所述更新参数中的卡尔曼增益。
18.通过第一观测噪声和/或第二观测噪声可以对观测结果的误差进行矫正,从而得到更加准确的测量结果。第一观测噪声和第二观测噪声在计算过程中是根据图像中的目标对象动态调整的(与观测到的相应的面的尺寸相关),动态调整观测噪声,降低了横穿或直行情况下神经网络模型回归精度差和单应矩阵求解精度低所带来的影响,可以提高测量精
度。
19.根据第一方面或第一方面的第一种至第六种可能的实现方式中的任意一种,在第七种可能的实现方式中,所述目标对象和所述观测对象为车辆,所述多个观测点包括:车辆的车尾的两个角点和车头的一个角点中的一个或多个。
20.根据第一方面的第七种可能的实现方式,在第八种可能的实现方式中,所述观测区域包括所述车辆的车尾在图像上的对应区域和所述车辆的侧面在图像上的对应区域中的一个或多个。
21.根据第一方面的第八种可能的实现方式,在第九种可能的实现方式中,采用神经网络模型识别所述第一图像中的目标对象的第一观测结果,包括:采用所述神经网络模型识别所述第一图像中的所述车辆,得到接地线、分界线和边界框bounding box;其中,所述接地线表示所述车辆的车轮接地点所在的直线,所述分界线表示所述车辆的两个平面的分界线;根据所述接地线、所述分界线和所述bounding box,确定所述多个观测点以及所述多个观测点的像素平面坐标。
22.通过神经网络模型观测目标车辆的2.5dbbox,从而得到目标车辆的第一观测结果,代替非线性滤波过程中采用硬件(雷达等)进行观测得到观测结果的过程,通过神经网络模型对单目相机采集的图像进行处理即可实现观测的过程,可以节省成本。
23.根据第一方面的第九种可能的实现方式,在第十种可能的实现方式中,在所述车辆的一个面可见时,所述残差包括方位角和所述第一预测状态均值中的航向角的差值,所述方位角为根据所述第一预测状态均值中的纵坐标、横坐标计算得到的。
24.在本技术只有一个侧面可见的实施例中,可利用方位角提高航向角的计算精度。
25.第二方面,本技术的实施例提供了一种测量装置,应用于单目相机,所述装置包括:图像采集模块,用于通过所述单目相机采集第一图像;第一观测模块,用于采用神经网络模型识别所述第一图像中的目标对象的第一观测结果;所述第一观测结果包括所述目标对象包含的多个观测点的像素平面坐标;预测模块,用于根据目标对象的初始运动状态和运动模型进行非线性滤波的预测过程,得到第一预测状态和非线性滤波的更新参数;其中,所述初始运动状态为根据所述第一图像之前的历史图像得到的测量结果,所述初始运动状态表示在所述相机采集所述第一图像之前所述目标对象的最终运动状态,所述初始运动状态包括所述目标对象的初始航向角;估计模块,用于根据所述第一预测状态,得到所述多个观测点的像素平面坐标的第一估计结果;第一计算模块,用于根据所述第一观测结果和所述第一估计结果,得到残差;更新模块,用于根据所述第一预测状态、所述残差和所述更新参数进行非线性滤波的更新过程,得到所述目标对象的运动状态的新的测量结果,所述新的测量结果包括所述目标对象的航向角。
26.本技术实施例提供的测量装置,通过单目相机采集图像,结合神经网络模型、非线性滤波和运动模型对图像进行处理,预测图像中目标对象的航向角。采用神经网络对图像进行处理得到第一观测结果,代替非线性滤波过程中采用硬件(雷达等)进行观测得到观测结果的过程,也就是说,通过神经网络模型对单目相机采集的图像进行处理即可实现观测的过程,不需要安装体积比较大并且昂贵的雷达等对目标对象进行观测,相比于雷达相机价格更低,可以节省成本,且相机体积相比于雷达体积小很多便于安装。
27.结合目标对象的初始运动状态和运动模型通过非线性滤波的预测过程对目标对
象的运动状态(包括航向角)进行预测得到预测结果(第一预测状态),根据预测结果对目标对象的运动轨迹进行估计得到第一估计结果,根据第一观测结果和第一估计结果的残差对第一预测状态进行调整,可以得到更准确的测量结果。因此,相比于相关技术中通过雷达对单帧图像进行标定或者采用cnn对单帧图像中的目标车辆和车轮接地点的匹配从而测量航向角的方式,本技术的测量装置采用根据历史图像得到的目标对象的初始运动状态进行非线性滤波的预测过程,可以联合多帧图像进行航向角的测量,测量结果更准确,且通过神经网络模型实现对目标对象的观测过程,可以节省成本。
28.根据第二方面,在第一种可能的实现方式中,所述初始运动状态包括初始状态值和初始协方差矩阵,所述预测模块还用于:从均值为所述初始状态值、协方差矩阵为所述初始协方差矩阵的高斯分布中,提取包括所述初始状态值对应的点在内的多个代表点,以及每个所述代表点对应的权重;根据所述运动模型和所述多个代表点的状态值,得到每个所述代表点的第一估计状态值;根据每个所述代表点的所述第一估计状态值和所述权重,计算所述第一预测状态的第一预测状态均值和第一预测协方差矩阵;将每个所述代表点的所述第一估计状态值转换到像素平面坐标系,得到每个所述代表点的像素平面坐标;根据每个所述代表点的像素平面坐标和所述权重,计算所述多个代表点在像素平面坐标系的均值和协方差矩阵;根据每个所述代表点的所述第一估计状态值和所述第一预测状态均值、每个所述代表点的像素平面坐标、多个代表点在像素平面坐标系的均值以及所述权重,得到所述更新参数中的交叉关联矩阵;根据所述交叉关联矩阵和所述多个代表点在像素平面坐标的协方差矩阵,得到所述更新参数中的卡尔曼增益。
29.根据第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述估计模块还用于:根据所述第一预测状态均值计算每个所述观测点的世界坐标,并将每个所述观测点的世界坐标转换为像素平面坐标,得到每个所述观测点的第一估计结果。
30.根据第二方面的第一种可能的实现方式,在第三种可能的实现方式中,所述更新模块还用于:计算所述残差和所述卡尔曼增益的乘积,得到状态增量;对所述第一预测状态均值和所述状态增量求和,得到所述新的测量结果的第二预测状态均值;根据所述第一预测协方差矩阵、所述卡尔曼增益和所述交叉关联矩阵,得到所述新的测量结果的第二预测协方差矩阵。
31.根据第二方面或第二方面的第一种至第三种可能的实现方式中的任意一种,在第四种可能的实现方式中,所述装置还包括:第二观测模块,用于在损失满足收敛条件之前,执行以下过程:在所述目标对象的观测区域中移动光流跟踪区域,从移动后的光流跟踪区域中确定所述第一图像和所述第一图像之前的历史图像的多对样本匹配点;所述目标对象的所述观测区域为目标对象上的平面区域在图像上的对应区域,每对样本匹配点对应于所述目标对象的同一点;根据所述多对样本匹配点中的至少部分匹配点进行单应求解,得到单应矩阵;根据所述单应矩阵和所述第一图像上的所述观测区域所在的平面的法向量,得到第一航向角变化率,所述第一航向角变化率为所述目标对象在所述历史图像和所述第一图像中的航向角变化率;其中,所述损失为根据所述第一航向角变化率与第二航向角变化率的差值、以及所述多对样本匹配点中满足所述单应矩阵的点的数量确定的,所述第二航向角变化率为所述第一预测状态均值包括的航向角变化率。
32.根据第二方面的第四种可能的实现方式,在第五种可能的实现方式中,所述残差
还包括所述第一航向角变化率和所述第二航向角变化率的差值。通过利用侧面和/或车尾平面计算单应矩阵,增加航向角变化率的观测值,可以提高测量结果的精度。
33.根据第二方面的第四种可能的实现方式,在第六种可能的实现方式中,所述装置还包括:第三观测模块,用于根据每个所述观测点在所述目标对象中关联的所述目标对象的部位的尺寸,得到每个所述观测点的第一观测噪声;第四观测模块,用于根据所述光流跟踪的区域的尺寸,得到第二观测噪声;所述预测模块还用于:从均值为所述初始状态值、协方差矩阵为所述初始协方差矩阵的高斯分布中,提取包括所述初始状态值对应的点在内的多个代表点,以及每个所述代表点对应的权重;根据所述运动模型和所述多个代表点的状态值,得到每个所述代表点的第一估计状态值;根据每个所述代表点的所述第一估计状态值和所述权重,计算所述第一预测状态的第一预测状态均值和第一预测协方差矩阵;将每个所述代表点的所述第一估计状态值转换到像素平面坐标系,得到每个所述代表点的像素平面坐标;根据每个所述代表点的像素平面坐标和权重、以及所述第一观测噪声和所述第二观测噪声中的一者或两者,计算所述多个代表点在像素平面坐标的均值和协方差矩阵;根据每个所述代表点的所述第一估计状态值和所述第一预测状态均值、每个所述代表点的像素平面坐标、多个代表点在像素平面坐标的均值以及所述权重,得到所述更新参数中的交叉关联矩阵;根据所述交叉关联矩阵和所述多个代表点在像素平面坐标的协方差矩阵,得到所述更新参数中的卡尔曼增益。
34.通过第一观测噪声和/或第二观测噪声可以对观测结果的误差进行矫正,从而得到更加准确的测量结果。第一观测噪声和第二观测噪声在计算过程中是根据图像中的目标对象动态调整的(与观测到的相应的面的尺寸相关),动态调整观测噪声,降低了横穿或直行情况下神经网络模型回归精度差和单应矩阵求解精度低所带来的影响,可以提高测量精度。
35.根据第二方面或第二方面的第一种至第六种可能的实现方式中的任意一种,在第七种可能的实现方式中,所述目标对象和所述观测对象为车辆,所述多个观测点包括:车辆的车尾的两个角点和车头的一个角点中的一个或多个。
36.根据第二方面的第七种可能的实现方式,在第八种可能的实现方式中,所述观测区域包括所述车辆的车尾在图像上的对应区域和所述车辆的侧面在图像上的对应区域中的一个或多个。
37.根据第二方面的第八种可能的实现方式,在第九种可能的实现方式中,所述第一观测模块还用于:采用所述神经网络模型识别所述第一图像中的所述车辆,得到接地线、分界线和边界框bounding box;其中,所述接地线表示所述车辆的车轮接地点所在的直线,所述分界线表示所述车辆的两个平面的分界线;根据所述接地线、所述分界线和所述bounding box,确定所述多个观测点以及所述多个观测点的像素平面坐标。
38.通过神经网络模型观测目标车辆的2.5dbbox,从而得到目标车辆的第一观测结果,代替非线性滤波过程中采用硬件(雷达等)进行观测得到观测结果的过程,通过神经网络模型对单目相机采集的图像进行处理即可实现观测的过程,可以节省成本。
39.根据第二方面的第九种可能的实现方式,在第十种可能的实现方式中,在所述车辆的一个面可见时,所述残差包括方位角和所述第一预测状态均值中的航向角的差值,所述方位角为根据所述第一预测状态均值中的纵坐标、横坐标计算得到的。
40.在本技术只有一个侧面可见的实施例中,可利用方位角提高航向角的计算精度。
41.第三方面,本技术的实施例提供了一种车辆,该车辆包括上述第二方面或者第二方面的多种可能的实现方式中的一种或几种的测量装置。
42.第四方面,本技术的实施例提供了一种测量装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令时实现上述第一方面或者第一方面的多种可能的实现方式中的一种或几种的测量方法。
43.第五方面,本技术的实施例提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备中运行时,所述电子设备中的处理器执行上述第一方面或者第一方面的多种可能的实现方式中的一种或几种的测量方法。
44.第六方面,本技术的实施例提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现上述第一方面或者第一方面的多种可能的实现方式中的一种或几种的测量方法。
45.本技术的这些和其他方面在以下(多个)实施例的描述中会更加简明易懂。
附图说明
46.包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本技术的示例性实施例、特征和方面,并且用于解释本技术的原理。
47.图1示出根据本技术一实施例的应用场景的示意图。
48.图2示出根据本技术一实施例的测量方法的流程图。
49.图3示出根据本技术一实施例的识别第一观测结果的示意图。
50.图4示出根据本技术一实施例的计算观测点的世界坐标的示意图。
51.图5a示出根据本技术一实施例的第一图像的示意图。
52.图5b示出根据本技术一实施例的第一图像的示意图。
53.图6示出根据本技术一实施例的观测区域和光流跟踪区域的示例。
54.图7示出根据本技术一实施例的目标车辆和观测车辆的位置关系的示意图。
55.图8示出根据本技术一实施例的测量装置的框图。
56.图9示出根据本技术一实施例的测量方法的过程中数据流向框图。
57.图10示出根据本技术一实施例的测量装置的框图。
具体实施方式
58.以下将参考附图详细说明本技术的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
59.在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
60.另外,为了更好的说明本技术,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本技术同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本技术的主旨。
61.为了清楚介绍本技术的方法,先对本技术涉及的名词进行解释。
62.目标对象的航向角,在观测对象自身坐标系下,目标对象的朝向与坐标系纵轴的夹角。其中,观测对象为对目标对象的状态进行观测的对象。以车辆为例,目标车辆的航向角为,在观测车辆的坐标系(自车坐标系)下,目标车辆的车头朝向与坐标系纵轴的夹角,其中,观测车辆是指观测目标车辆的行驶状态的车辆,观测车辆的坐标系可以为世界坐标系。规控系统通过航向角预测目标车辆的未来行驶轨迹,从而避免与其相撞。
63.为了解决上述技术问题,本技术提供了一种测量方法及装置。本技术实施例提供的方法可以应用于具有感知功能的终端设备,或者设置于终端设备上的部件中。终端设备可以为车辆等运输设备、智能家居设备、机器人等。设置于终端设备上的部件可以为终端设备上的控制器、芯片、雷达或摄像头等其他传感器、以及其他部件等。
64.本技术实施例提供的测量方法可以应用在车载系统上,比如高级驾驶辅助系统(advanced driving assistance system,adas),也可以是自动驾驶场景。可用于判断目标车辆超车、并道、同向、对向和横穿等行驶状态,为规控系统提供重要的外部信息。也可应用于城市或厂区的车辆调度系统,用以预测车辆的行驶轨迹,为车辆调度提供重要依据。
65.图1示出根据本技术一实施例的应用场景的示意图。图1示出了道路上行驶的车辆和行人,图1中的车辆包括观测车辆和目标车辆,本技术实施例提供的测量方法可以应用于观测车辆。观测车辆上可以安装有相机,相机可以用于采集周围的图像,观测车辆上还可以设置有处理器,处理器可以用于处理相机采集的图像,识别图像中的目标车辆,计算目标车辆的航向角等信息。其中,相机可以是单目相机,也可以是其他类型的相机,本技术对此不作限定,单目相机成本比较低,可以节约测量的成本。
66.本技术实施例可以应用在车辆有两面可见的情况,也可以应用在车辆只有一面可见的场景。两面可见的场景可以是侧面+正面组合的场景或侧面+车尾组合的场景,本实施例以侧面+车尾组合的场景为例进行介绍。一面可见的场景可以是正面、侧面或者车尾可见。
67.上述处理器可以包括应用处理器(application processor,ap),调制解调处理器,图形处理器(graphics processing unit,gpu),图像信号处理器(image signal processor,isp),控制器,视频编解码器,数字信号处理器(digital signal processor,dsp),基带处理器,和/或神经网络处理器(neural-network processing unit,npu)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
68.图1所示的观测车辆上除了安装相机外,可以不安装激光雷达、毫米波雷达等其他感知周围的环境的传感器,只通过相机获取的图像即可准确的测量航向角,可以节省成本,且相机体积相比于雷达体积小很多便于安装。
69.图1所示的观测车辆和目标车辆的关系仅仅是本技术的一个示例,本技术不限于此,图1中的任意一个车辆都可以是观测车辆,观测车辆的相机采集的图像中的车辆可以为观测的目标车辆。另外,图1所示的车辆自动驾驶的场景是本技术的一个示例,本技术不限于此,比如说,还可以应用于无人机、船等其他智能运输设备,或者智能家居设备、机器人等。在本技术的实施例中,将以车辆为例对航向角的测量方法进行介绍。
70.图2示出根据本技术一实施例的测量方法的流程图。如图2所示,本技术实施例的测量方法可以包括以下步骤:
71.步骤s200,通过单目相机采集第一图像;
72.步骤s201,采用神经网络模型识别所述第一图像中的目标对象的第一观测结果;所述第一观测结果包括所述目标对象包含的多个观测点的像素平面坐标;
73.步骤s202,根据目标对象的初始运动状态和运动模型进行非线性滤波的预测过程,得到第一预测状态和非线性滤波的更新参数;
74.其中,所述初始运动状态为根据所述第一图像之前的历史图像得到的测量结果,所述初始运动状态表示在所述相机采集所述第一图像之前所述目标对象的最终运动状态,所述初始运动状态包括所述目标对象的初始航向角。
75.步骤s203,根据所述第一预测状态,得到所述多个观测点的像素平面坐标的第一估计结果;
76.步骤s204,根据所述第一观测结果和所述第一估计结果,得到残差;
77.步骤s205,根据所述第一预测状态、所述残差和所述更新参数进行非线性滤波的更新过程,得到所述目标对象的运动状态的新的测量结果,所述新的测量结果包括所述目标对象的航向角。
78.本技术实施例提供的测量方法,通过单目相机采集图像,结合神经网络模型、非线性滤波和运动模型对图像进行处理,预测图像中目标对象的航向角。采用神经网络对图像进行处理得到第一观测结果,代替非线性滤波过程中采用硬件(雷达等)进行观测得到观测结果的过程,也就是说,通过神经网络模型对单目相机采集的图像进行处理即可实现观测的过程,不需要安装体积比较大并且昂贵的雷达等对目标对象进行观测,相比于雷达相机价格更低,可以节省成本,且相机体积相比于雷达体积小很多便于安装。
79.结合目标对象的初始运动状态和运动模型通过非线性滤波的预测过程对目标对象的运动状态(包括航向角)进行预测得到预测结果(第一预测状态),根据预测结果对目标对象的运动轨迹进行估计,得到第一估计结果,根据第一观测结果和第一估计结果的残差对第一预测状态进行调整,可以得到更准确的测量结果。
80.相比于相关技术中通过雷达对单帧图像进行标定或者采用卷积神经网络(convolutional neural networks,cnn)对单帧图像中的目标车辆和车轮接地点的匹配从而测量航向角的方式,本技术的测量方法采用根据历史图像得到的目标对象的初始运动状态进行非线性滤波的预测过程,可以联合多帧图像进行航向角的测量,测量结果更准确,且通过神经网络模型实现对目标对象的观测过程,可以节省成本。
81.对于步骤s201,神经网络模型可以为cnn,也可以是其他神经网络模型,本技术对此不作限定。目标对象可以是车辆,车辆可以是小轿车、卡车、大巴等类型的车辆,本技术对此不作限定。目标对象也可以是智能家居设备,比如说扫地机器人等。目标对象还可以是无人机,等等。多个观测点可以是第一图像中目标对象上的点,以目标对象为车辆为例,多个观测点可以包括:车辆的车尾的两个角点和车头的一个角点中的一个或多个。
82.在一种可能的实现方式中,步骤s201可以包括:采用所述神经网络模型识别所述第一图像中的所述车辆,得到接地线、分界线和边界框bounding box;根据所述接地线、所述分界线和所述bounding box,确定所述多个观测点以及所述多个观测点的像素平面坐标。
83.图3示出根据本技术一实施例的识别第一观测结果的示意图。如图3所示,其中,所
述接地线表示所述车辆的车轮接地点所在的直线,所述分界线表示所述车辆的两个平面的分界线,比如说如图3所示的车辆的侧面和车头平面的分界线,也可以是车辆的侧面和车尾平面的分界线,边界框bounding box可以是神经网络模型识别的车辆上的平面的边界的边框。神经网络模型可以提取第一图像中车辆的特征,得到车辆、车辆的接地线、分界线和bounding box。神经网络可以根据接地线和分界线的交叉点确定一个观测点,根据bounding box和接地线的交叉点确定观测点,根据观测点在第一图像中的位置可以确定观测点的像素平面坐标,从而得到第一观测结果。该过程为2.5dbbox(2.5dimension bounding box),通过2.5dbbox的标注过程,只需要单目相机就可以得到车辆的深度信息,且标注难度比较小,可以适用于内外参不同的相机模组。本技术的测量方法适用于所有可用2.5dbbox描述形状的物体,如轮船等。
84.观测对象还可以通过神经网络识别观测点的像素平面坐标得到观测点1(近处车尾角点)的像素平面坐标(u
21
,v
21
)、观测点2(远处车尾角点)的像素平面坐标(u
22
,v
22
)、观测点3(远处车头角点)的像素平面坐标(u
23
,v
23
)。
85.本技术的实施例进行一次网络前向计算即可得到第一观测结果,耗时低,实时性较好。
86.对于步骤s202,运动模型可以表示车辆运动模型,比如说,可以是恒定转弯率和速度幅度(constant turn rate and velocity,ctrv)模型、恒定转动率和加速度(constant turn rate and acceleration,ctra)模型等。通过车辆运动模型可以估计车辆下一刻的运动状态,本技术实施例以ctrv模型为例对估计的过程进行说明。
87.在本技术的实施例中,以ctrv模型为例,模型的状态量可以包括:
88.x:目标车辆尾部底边中点在观测车辆的自车坐标系中的纵坐标;
89.y:目标车辆尾部底边中点在观测车辆的自车坐标系中的横坐标;
90.v:在观测车辆的自车坐标系中,目标车辆相对于观测车辆的速度;
91.phi:在观测车辆的自车坐标系中,目标车辆相对于观测车辆的航向角;
92.dphi:在观测车辆的自车坐标系中,目标车辆相对于观测车辆的航向角变化率;
93.l:目标车辆的长度;
94.w:目标车辆的宽度。
95.因此,模型的状态向量可以表示为x=(x,y,v,phi,dphi,l,w)。其中,x,y,v,phi,dphi可以表示以观测车辆为参考点的世界坐标系中,目标车辆相对于观测车辆的坐标,具体含义如上文所述。目标对象的运动状态的值可以通过状态向量表示,在本技术的实施例中,假设目标对象的运动状态为符合高斯分布,运动状态的分布可以通过均值和方差的形式表示,均值通过运动状态的状态向量的形式表示。在本技术的实施例中,假设目标对象的运动状态为非线性的,在对运动状态进行预测时,在均值点附近通过提取代表点、进行非线性变换等方式近似非线性分布,从而得到更接近真实分布的近似结果。
96.在本技术的实施例中,结合运动模型进行非线性滤波,联合单目相机采集的多帧图像对图像中的目标对象的航向角进行预测。具体是指,当前帧图像中目标对象的运动状态(航向角)为根据之前的图像帧测量得到的运动状态进行预测得到的,当前帧图像中目标对象的运动状态作为下一帧图像中目标对象的运动状态预测的初始运动状态,通过迭代的方式测量目标对象的运动状态,得到航向角。
97.因此,步骤s202中,观测对象可以根据运动模型和目标对象的初始运动状态进行非线性滤波的预测过程,得到第一预测状态和非线性滤波的更新参数,目标对象的初始运动状态为根据所述第一图像之前的历史图像得到的测量结果,初始运动状态表示在所述相机采集所述第一图像之前所述目标对象的最终运动状态。
98.在一种可能的实现方式中,所述初始运动状态包括初始状态值和初始协方差矩阵,所述初始状态值包括:在以观测对象为参考点的世界坐标系中,所述目标对象相对于观测对象的纵坐标、横坐标、速度、航向角和航向角变化率,以及所述目标对象的长度和宽度。初始运动状态度的初始状态值可以表示为x[0]=[x0,y0,v0,phi(0),dphi(0),l,w]。初始协方差矩阵可以表示为∑。
[0099]
在一种可能的实现方式中,对于步骤s202,非线性滤波可以是扩展卡尔曼滤波(extended kalman filtering,ekf)或无迹卡尔曼滤波(unscented kalman filtering,ukf)。本技术的实施例中,以ukf为例对预测过程和更新过程进行说明。
[0100]
在本实施例中,步骤s202,根据目标对象的初始运动状态和运动模型进行非线性滤波的预测过程,得到第一预测状态和非线性滤波的更新参数,可以包括:
[0101]
步骤s2021,从均值为所述初始状态值、协方差矩阵为所述初始协方差矩阵的高斯分布中,提取包括所述初始状态值对应的点在内的多个代表点,以及每个所述代表点对应的权重;
[0102]
步骤s2022,根据所述运动模型和所述多个代表点的状态值,得到每个所述代表点的第一估计状态值;
[0103]
步骤s2023,根据每个所述代表点的所述第一估计状态值和所述权重,计算所述第一预测状态的第一预测状态均值和第一预测协方差矩阵;
[0104]
步骤s2024,将每个所述代表点的所述第一估计状态值转换到像素平面坐标系,得到每个所述代表点的像素平面坐标;
[0105]
步骤s2025,根据每个所述代表点的像素平面坐标和所述权重,计算所述多个代表点在像素平面坐标的均值和协方差矩阵;
[0106]
步骤s2026,根据每个所述代表点的所述第一估计状态值和所述第一预测状态均值、每个所述代表点的像素平面坐标、多个代表点在像素平面坐标系的均值以及所述权重,得到所述更新参数中的交叉关联矩阵;
[0107]
步骤s2027,根据所述交叉关联矩阵和所述多个代表点在像素平面坐标的协方差矩阵,得到所述更新参数中的卡尔曼增益。
[0108]
由于目标对象的运动过程可能是非线性的,而且可能是不规律的分布。因此,可以对原始高斯分布进行非线性变换得到近似高斯分布用来预测未来的运动状态,在本技术的实施例中,通过运动模型实现非线性变换的过程。在本技术的实施例中,从均值为所述初始状态值、协方差矩阵为所述初始协方差矩阵的高斯分布中,提取多个代表点(称作sigma点)以及每个所述代表点对应的权重,多个代表点中包括初始状态值对应的点。
[0109]
在一种可能的实现方式中,sigma点的数量可以根据状态向量(状态值)的维度确定,比如说,sigma点的数量n可以为2n+1,其中,n表示状态向量的维度,在本技术的实施例中,状态向量x[0]的维度为7,因此,可以提取15个sigma点。需要说明的是,提取的sigma点的数量为15仅仅是本技术的一个示例,提取的sigma点的数量越多,测量的越准确,但相应
的计算量会更大。
[0110]
具体地,可以通过以下公式计算代表点:
[0111]
χ[0]=x0.[0112][0113][0114]
其中,χ表示sigma点矩阵,χ矩阵中每一列表示一个sigma点的状态向量,χ矩阵的列数为提取的sigma点的数量,行数与状态向量的维度相同。比如说,在本技术的实施例中,状态向量的维度为7,如果提取15个sigma点,那么χ矩阵的大小为7
×
15。λ表示提取的sigma点与均值的距离的参数。χ[0]为提取的初始状态值。
[0115]
可以通过以下公式计算代表点对应的权重:
[0116][0117][0118]
对于步骤s2022,非线性变换的过程可以采用运动模型对代表点的状态值进行处理得到每个所述代表点的第一估计状态值。
[0119]
具体地,针对每个sigma点的状态向量χ[i]都可以带入以下公式,得到每个sigma点对应的第一估计状态值:
[0120][0121]
其中,av表示在纵向的加速度噪声,a
phi
表示角加速度噪声,假设计算得到的χ’[i]=[xi,yi,vi,phi(i),dphi(i),l,w],其中,χ’[i]表示第一估计状态值。
[0122]
然后步骤s2023,可以根据每个代表点的第一估计状态值和对应的权重,计算所述第一预测状态的第一预测状态均值和第一预测协方差矩阵,具体可以采用以下公式计算得
到第一预测状态均值和第一预测协方差矩阵:
[0123][0124][0125]
其中,x’表示近似高斯分布的均值,也就是第一预测状态均值,可以表示为[x

,y

,v

,phi

,dphi

,l

,w

]。∑’表示近似高斯分布的协方差矩阵,也就是第一预测协方差矩阵。
[0126]
观测对象还可以将多个代表点的第一估计状态值转换到像素平面坐标系,得到每个代表点的像素平面坐标;根据每个代表点的像素平面坐标和权重,计算多个代表点在像素平面坐标系的均值和协方差矩阵。
[0127]
具体地,可以根据以下公式计算得到多个代表点在像素平面坐标系的均值和协方差矩阵:z=fχ
[0128][0129][0130]
其中,f为将本技术的状态向量(第一估计状态值)变换为像素平面坐标的变换矩阵,确定变换矩阵的过程和相关技术中的方式相同,不再赘述。z表示代表点的像素平面坐标组成的矩阵,z’为代表点的像素平面坐标的均值,s为代表点的像素平面坐标的协方差矩阵。
[0131]
对于步骤s2026,观测对象可以根据以下公式计算交叉关联矩阵:
[0132][0133]
其中,t表示交叉关联矩阵。
[0134]
根据计算得到的交叉关联矩阵t和像素平面坐标的协方差矩阵s可以计算得到卡尔曼增益k=t
·
s-1

[0135]
需要说明的是,步骤s2021-s2027的序号仅仅代表不同的计算过程,不代表顺序关系,比如说,执行步骤s2023的同时,还可以执行步骤s2024。
[0136]
在一种可能的实现方式中,步骤s203,根据所述第一预测状态,得到所述多个观测点的像素平面坐标的第一估计结果,可以包括:
[0137]
根据所述第一预测状态均值计算每个所述观测点的世界坐标,并将每个所述观测点的世界坐标转换为像素平面坐标,得到每个所述观测点的第一估计结果。
[0138]
在一种可能的实现方式中,所述目标对象相对于观测对象的纵坐标、横坐标为所述目标车辆的车尾中点相对于观测车辆的车头中点的纵坐标、横坐标,根据所述第一预测
状态均值计算每个所述观测点的世界坐标可以包括:根据所述第一预测状态均值中的纵坐标、横坐标、航向角、长度和宽度计算每个所述观测点的世界坐标。
[0139]
图4示出根据本技术一实施例的计算观测点的世界坐标的示意图。如图4所示,通过几何关系可以计算得到观测点1(近处车尾角点)的世界坐标为:
[0140]
(x
’‑
w’/2*sin(phi’),y
’‑
w’/2*cos(phi’),0)
t
,观测点2(远处车尾角点)的世界坐标为(x’+w’/2*sin(phi’),y’+w’/2*cos(phi’),0)
t
,观测点3(远处车头角点)的世界坐标为:
[0141]
(x
’‑
w’/2*sin(phi’)+l’*cos(phi’,y
’‑
w’/2*cos(phi’)-l’*sin(phi’),0)
t

[0142]
观测对象可以将每个观测点的世界坐标转换为像素平面坐标,分别可以得到观测点1的像素平面坐标(u
11
,v
11
)、观测点2的像素平面坐标(u
12
,v
12
)、观测点3的像素平面坐标(u
13
,v
13
)。
[0143]
在一种可能的实现方式中,世界坐标转换到像素平面坐标的具体实现方式可以为,将世界坐标乘以转换矩阵得到对应的像素平面坐标,转换矩阵可以根据相关技术中的刚体变换、透视投影、离散化的过程得到,比如说,对世界坐标进行旋转、平移等刚体变换的过程可以得到相机坐标,对相机坐标进行透视投影(乘以根据相机参数得到的矩阵)的过程得到图像坐标,对图像坐标进行离散化可以得到像素平面坐标。
[0144]
通过以上过程可以得到第一估计结果(u
11
,v
11
)、(u
12
,v
12
)、(u
13
,v
13
)。
[0145]
对于步骤s203,可以用第一观测结果减去第一估计结果得到残差res=(((u
21
,v
21
)-(u
11
,v
11
)),((u
22
,v
22
)-(u
12
,v
12
)),(u
23
,v
23
)-(u
13
,v
13
))。
[0146]
在计算得到更新参数、残差和第一预测状态后,可以对第一预测状态进行更新得到第一图像的测量结果,也就是第一图像中目标对象的运动状态的新的测量结果。
[0147]
在一种可能的实现方式中,步骤s205可以包括:计算所述残差和所述卡尔曼增益的乘积,得到状态增量;对所述第一预测状态均值和所述状态增量求和,得到所述新的测量结果的第二预测状态均值;根据所述第一预测协方差矩阵、所述卡尔曼增益和所述交叉关联矩阵,得到所述新的测量结果的第二预测协方差矩阵。
[0148]
具体地,可以根据以下公式计算新的测量结果:
[0149]
x[1]=x’+k
×
res
[0150]
∑(1)=(i-kt)∑’[0151]
其中,res表示残差,x[1]和∑(1)表示第一图像中目标对象的运动状态,也是预测的第二帧图像中目标对象的初始状态值和初始协方差矩阵,其中,x[1]中的phi可以作为预测的第二帧图像中目标车辆的航向角。对于第一图像之后的第二图像,可以将x[1]和∑(1)作为初始状态值重复执行步骤s200-s205的过程得到第二图像的测量结果。
[0152]
根据本技术实施例提供的测量方法,通过单目相机采集图像,结合神经网络模型、非线性滤波和运动模型对图像进行处理,即可得到目标对象的准确的航向角。联合多帧图像进行航向角的测量,测量结果更准确,且通过神经网络模型实现对目标对象的观测过程,对硬件要求低,仅需要单目相机,可以节省成本。
[0153]
在一种可能的实现方式中,本技术实施例的测量方法还包括:根据每个所述观测点在所述目标对象中关联的所述目标对象的部位的尺寸,得到每个所述观测点的第一观测噪声。
[0154]
在本技术的实施例中,观测点在目标对象中关联的目标对象的部位可以为目标车辆上的平面,比如说车辆侧面、车尾平面等。目标对象的部位的尺寸可以是指平面的面积。举例来说,以图4所示的示意图为例,观测点2关联的部位为车尾平面,观测点3关联的部位为车辆左侧侧面。确定第一观测噪声主要是考虑到目标车辆在某些角度时,这些观测点的第一估结果和第一观测结果都可能受噪声的影响得到的结果不准确,因此,可以用观测噪声进行修正。
[0155]
举例来说,对于观测点2,当车辆从正前方穿过,车辆侧面更多的暴露在相机中,当车尾可见区域较小时,本技术实施例计算得到的观测点2的第一观测结果和第一估计结果的精度会受到影响。图5a示出根据本技术一实施例的第一图像的示意图。如图5a所示,白色的边框标示出通过cnn得到的目标车辆的2.5dbbox,目标车辆的观测点2并没有完全暴露在视线中,计算得到的观测点2的结果误差可能比较大,可信度低,图5a中标出的w为车尾平面的可见宽度,观测点2对应的第一观测噪声可以与车尾平面的可见宽度成单调递减的关系,比如可以与w成反比例关系。
[0156]
对于观测点3,当目标车辆在观测车辆的前方,且为直行时,目标车辆的侧面可见区域就比较小,比如说,目标车辆在观测车辆旁边的车道将要完成并线的过程,目标车辆的侧面可见区域比较小。极端情况下,目标车辆在观测车辆的正前方,观测点3几乎不可见、侧面可见区域很小。以上情况下,计算得到的观测点3的结果可能误差比较大,可信度比较低。因此,可以用观测噪声修正误差。图5b示出根据本技术一实施例的第一图像的示意图。如图5b所示,白色的边框标示出通过cnn得到的目标车辆的2.5dbbox,目标车辆的观测点3并没有完全暴露在视线中,图5b中标出的l为车辆侧面的可见长度,观测点3对应的第一观测噪声可以与l成单调递减的关系,比如可以与l成反比例关系。
[0157]
在本实施例中,步骤s202与上文的过程不同。上文实施例中的步骤s2025可以被替换为:根据每个所述代表点的像素平面坐标和权重、以及所述第一观测噪声,计算所述多个代表点在像素平面坐标系的均值和协方差矩阵。具体的,可以根据以下公式计算得到多个代表点在像素平面坐标系的均值和协方差矩阵:
[0158]
z=fχ
[0159][0160][0161]
其中,q1可以表示第一观测噪声。
[0162]
通过第一观测噪声可以对观测结果的误差进行矫正,从而得到更加准确的测量结果。第一观测噪声在计算过程中是根据图像中的目标对象动态调整的(与观测到的相应的面的尺寸相关),动态调整观测噪声,降低了横穿情况下神经网络模型回归精度差和单应矩阵求解精度低所带来的影响,可以提高测量精度。
[0163]
在一种可能的实现方式中,本技术实施例的测量方法还可以通过cnn以及单应求解的过程观测航向角变化率。可以利用车辆的侧面和/或车尾平面计算单应矩阵,通过单应矩阵计算两帧图像之间的航向角变化,再除以更新周期,即可得到航向角变化率dyaw。通过
增加航向角变化率的观测值,并根据观测值和估计值的残差调整测量结果,可以提高测量的精度。
[0164]
具体地,本技术实施例的测量方法还可以包括以下步骤:
[0165]
在损失满足收敛条件之前,执行以下过程:
[0166]
在所述目标对象的观测区域中移动光流跟踪区域,从移动后的光流跟踪区域中确定所述第一图像和所述第一图像之前的历史图像的多对样本匹配点;所述目标对象的所述观测区域为目标对象上的平面区域在图像上的对应区域,每对样本匹配点对应于所述目标对象的同一点;
[0167]
根据所述多对样本匹配点中的至少部分匹配点进行单应求解,得到单应矩阵;
[0168]
根据所述单应矩阵和所述第一图像上的所述观测区域所在的平面的法向量,得到第一航向角变化率,所述第一航向角变化率为所述目标对象在所述历史图像和所述第一图像中的航向角变化率;
[0169]
其中,所述损失为根据所述第一航向角变化率与第二航向角变化率的差值、以及所述多对样本匹配点中满足所述单应矩阵的点的数量确定的,所述第二航向角变化率为所述第一预测状态均值包括的航向角变化率。
[0170]
其中,收敛条件可以是指计算得到的损失小于损失阈值或者设置最大循环计算的次数,从多次计算得到的损失中选择损失最小的一次对应的计算结果。本技术实施例的测量方法,通过损失函数确定最佳光流跟踪区域,降低了非平面所导致的单应矩阵求解误差的影响。
[0171]
在本技术的实施例中,以目标对象为目标车辆为例,所述观测区域包括所述车辆的车尾在图像上的对应区域和所述车辆的侧面在图像上的对应区域中的一个或多个。光流跟踪区域为观测区域中的平面区域,图6示出根据本技术一实施例的观测区域和光流跟踪区域的示例。如图6所示,白色的实线边框标示出通过cnn得到的目标车辆的2.5dbbox,分别为车辆的侧面的观测区域和车尾的观测区域,在目标车辆的侧面对应的观测区域(图6中左侧的实线框)中,光流跟踪区域为侧面中下部的平面区域,也就是图6中示出的左侧的虚线框标出的区域,在目标车辆的车尾对应的观测区域(图6中右侧的实线框)中,光流跟踪区域为车尾中部的平面区域,也就是图6中示出的右侧的虚点线组成的区域。
[0172]
在本技术的实施例中,可以通过cnn识别图像中的观测区域和光流跟踪区域。对于不同车辆,其侧面或车尾的平面区域可能不同,因此,可以在观测区域移动光流跟踪区域,通过损失函数确定最佳光流跟踪区域。
[0173]
因此,对于每次移动得到的光流跟踪区域:可以确定第一图像和所述第一图像之前的历史图像的多对样本匹配点,根据多对样本匹配点中的至少部分匹配点进行单应求解,得到单应矩阵,根据单应矩阵和所述第一图像上的观测区域所在的平面的法向量,得到第一航向角变化率。
[0174]
在一种可能的实现方式中,观测对象可以通过特征点匹配或者光流跟踪的方式确定第一图像和历史图像的多对样本匹配点。其中,历史图像可以是第一图像之前的多帧图像中的一帧图像,比如说可以是第一图像的前一帧图像,具体地,历史图像为上述初始运动状态对应的一帧图像。举例来说,第一图像为第n帧图像,观测对象根据第m帧图像以及第m帧图像之前的历史图像得到的运动状态得到了第m帧图像的运动状态,观测对象将第m帧图
像的运动状态作为初始运动状态,根据第m帧图像和第n帧图像执行本技术实施例提供的测量方法得到新的测量结果(第n帧图像的测量结果)。那么,进行特征点匹配或者光流跟踪得到多对样本匹配点,为根据第m帧图像和第n帧图像得到的。其中,n和m都是正整数,并且n-m为正整数,比如n-m的值可以为1或2,本技术对此不作限定。
[0175]
根据匹配点进行单应求解的过程可以参见相关技术,比如说从多对样本匹配点中选取至少4对匹配点,将4对匹配点的坐标带入单应求解的方程组,可以求解得到旋转矩阵r和平面法向量n。
[0176]
单应求解的方程组为:
[0177]
p2=hp1[0178][0179]
其中,p1和p2为匹配点,h表示单应矩阵,k表示相机内参矩阵,r表示从历史图像到第一图像的旋转矩阵,t表示从历史图像到第一图像的平移矩阵,n表示目标平面的法向量。根据获得的匹配点计算h,再对h进行分解可以得到两组解,每组解中包括旋转矩阵r和平面法向量n,其中,根据第一图像上的观测区域所在的平面的法向量(也就是真实的目标车辆上的观测区域的平面的法向量)和两组解,可以确定唯一的r。其中,r包括roll、pitch、yaw,即观测对象和目标对象的相对翻滚角变化、相对俯仰角变化和相对航向角变化。
[0180]
根据相对航向角变化以及历史图像和第一图像间隔的时间,可以得到航向角变化率。需要说明的是,对于车辆的两个面可见的场景,可以得到两个单应求解的航向角变化率:dyaw侧和dyaw尾。
[0181]
以下为求解航向角变化率的一个示例:
[0182]
1)通过特征点匹配或光流法获得匹配点。
[0183]
2)为了保证足够的视差,对间隔多帧(两帧以上)的图像进行单应求解,得到单应矩阵。单应矩阵应用于平面,以车尾中间区域和侧面中下区域为光流跟踪区域(高度为bbox高度的一半),如图6所示的光流跟踪区域。
[0184]
3)单应求解将得到两组解,通过第一图像上观测区域所在目标平面的法向量,可以确定唯一解。对单应矩阵求解将得到两组解,每组解包括(roll,pitch,yaw,n),其中,roll、pitch、yaw分别表示观测车辆和目标车辆的相对翻滚角变化、相对俯仰角变化和相对航向角变化,n对应着目标车辆的观测区域所在的平面的法向量在第一帧相机坐标系下的各轴(x、y、z)分量,结合航向角和目标平面法向量即可确定唯一的roll、pitch、yaw。以车尾的平面为例,假设目标车辆的航向角为10
°
,则目标平面法向量在自车坐标系下的z轴分量为cos(10
°
)=0.984,单应矩阵求解的两组解分别为:
[0185]
解1(0.001313
°
,-0.001348
°
,0.002651
°
,(0.376,0.913,-0.153)
t
);
[0186]
解2(0.0366
°
,0.0628
°
,0.5494
°
,(0.047,0.239,0.969)
t
)。
[0187]
其中,解2对应的目标平面法向量的在自车坐标系下的z轴分量0.969更接近于0.984,因此,解2为唯一解,得到的航向角变化为0.5494
°

[0188]
也就是说,对单应矩阵分解得到两组解,还可以根据目标车辆的航向角得到目标车辆的观测区域所在的平面的法向量中的一个分量,根据该分量和所述两组解中法向量的对应的分量的接近程度确定唯一解,唯一解中的旋转矩阵包括航向角变化。通过目标平面
的法向量确定单应矩阵求解的唯一值,解决了单应矩阵求解模糊性的问题。
[0189]
4)在预设区域附近上下移动光流跟踪区域,通过损失函数确定最佳光流跟踪区域。对于不同车辆,其侧面或车尾的平面区域可能不同,因此,在预设区域附近上下移动光流跟踪区域,可以得到一系列待选光流跟踪区域,通过损失函数可以确定最佳光流跟踪区域。对于每一个待选光流跟踪区域,可得到两个损失函数lossdyaw和lossinlier。其中,lossdyaw=|dyawpre-dyawhomo|,式中,dyawpre为ukf预测的航向角变化率(即第二航向角变化率),dyawhomo为单应矩阵求解的航向角变化率,lossdyaw可保证计算结果与历史轨迹相符合。lossinlier=1/inlier,式中,inlier为随机抽样一致算法(random sample consensus ransac)过程中的内点数。lossinlier可保证足够多的匹配点在同一个平面上,提高单应矩阵的解算精度。综合两个损失函数,总损失函数为loss=λlossdyaw+lossinlier,式中,λ为权重系数,平衡二者的权重。最终,在一系列待选光流跟踪区域中,选择loss最小的区域,作为最佳光流跟踪区域。
[0190]
通过损失函数确定最佳光流跟踪区域,并根据最佳光流跟踪区域确定观测的航向角变化率,可以提高观测精度,从而提高测量结果的精度。
[0191]
5)在最终光流跟踪区域上分别求解侧面和车尾的航向角变化,再用航向角变化除以更新周期,得到航向角变化率dyaw侧和dyaw尾。
[0192]
在一种可能的实现方式中,本实施例中的残差还包括所述第一航向角变化率和所述第二航向角变化率的差值。将dyaw侧和/或dyaw尾分别与预测航向角变化率dphi(即第二航向角变化率)相减,可得到相应的残差,残差可用于状态更新。
[0193]
通过利用侧面和/或车尾平面计算单应矩阵,增加航向角变化率的观测值,可以提高测量结果的精度。
[0194]
在一种可能的实现方式中,所述方法还包括:根据所述光流跟踪的区域的尺寸,得到第二观测噪声。
[0195]
其中,第二观测噪声表示航向角变化率的观测噪声。当尾部(侧面)可见区域较小时,尾部(侧面)光流跟踪区域面积小,跟踪点较少且视差小,单应矩阵求解精度低,dyaw尾(dyaw侧)误差较大。比如说,当车辆横穿时,车尾面积小,所得到的航向角变化率的可信度低。因此,dyaw尾(dyaw侧)的观测噪声与尾部(侧面)光流跟踪区域面积成单调递减关系,可以是反比例关系。
[0196]
在本实施例中,步骤s202与上文的过程不同。上文实施例中的步骤s2025可以被替换为:
[0197]
根据每个所述代表点的像素平面坐标和权重、以及所述第二观测噪声,计算所述多个代表点在像素平面坐标系的均值和协方差矩阵。
[0198]
具体地,求解协方差矩阵的公式为:
[0199]
其中,q2可以表示第二观测噪声。
[0200]
在另一种可能的实现方式中,步骤s2025也可以为:根据每个所述代表点的像素平面坐标和权重、以及所述第一观测噪声和所述第二观测噪声,计算所述多个代表点在像素平面坐标系的均值和协方差矩阵。
[0201]
具体地,求解协方差矩阵的公式为:
[0202][0203]
通过第一观测噪声和/或第二观测噪声可以对观测结果的误差进行矫正,从而得到更加准确的测量结果。另外,在本技术的实施例中,第一观测噪声和第二观测噪声在计算过程中是根据图像中的目标对象动态调整的(与观测到的相应的面的尺寸相关),动态调整观测噪声,降低了横穿或直行情况下cnn回归精度差和单应矩阵求解精度低所带来的影响,可以提高测量精度。
[0204]
在一种可能的实现方式中,在所述车辆的一个面可见时,所述残差包括方位角和所述第一预测状态均值中的航向角的差值,所述方位角为根据所述第一预测状态均值中的纵坐标、横坐标计算得到的。
[0205]
在车辆的一个面可见的实施例中,观测点1和观测点2对应的残差的计算过程与上文相同,观测点3对应的残差为方位角和所述第一估计状态值中的航向角的差值,方位角为根据第一估计状态值中的纵坐标、横坐标计算得到的。
[0206]
图7示出根据本技术一实施例的目标车辆和观测车辆的位置关系的示意图。如图7所示,目标车辆的侧面不可见,观测点3是不可见的,通过几何关系可得此时的目标车辆方位角应该等于航向角,即arctan(y’/x’)-phi’=0,其中,x’和y’为第一预测状态均值中的纵坐标和横坐标,phi’为第一预测状态均值中的航向角。因此,将arctan(y’/x’)-phi’与0相减,可得到相应的残差,该残差可用于状态更新。
[0207]
对于航向角变化率的观测的过程与上文中的实施例也不同,具体地,由于只有一个侧面可见,因此,单应求解的过程只能用于可见的侧面,可以获得一个航向角变化率的观测值dyaw侧或dyaw尾。
[0208]
在本技术上述只有一个侧面可见的实施例中,可利用方位角提高航向角的计算精度,也可以利用侧面或车尾平面计算单应矩阵,提高航向角的求解精度。
[0209]
应用示例
[0210]
图8示出根据本技术一实施例的测量装置的框图。图9示出根据本技术一实施例的测量方法的过程中数据流向框图。结合图8和图9对本技术实施例的测量方法进行说明。
[0211]
本技术的实施例通过无迹卡尔曼滤波(unscented kalman filter,ukf)结合车辆运动模型测量航向角,车辆运动模型可以为恒定转弯率和速度幅度(constant turn rate and velocity,ctrv)模型。
[0212]
本技术的实施例提供的测量方法,通过ukf联合多帧图像对目标车辆的航向角进行测量,具体过程如下:
[0213]
如图8所示,相机连续采集多帧图像,并将采集的多帧图像发送给处理器。由处理器根对图像进行处理得到测量结果。
[0214]
在本技术的实施例中,目标对象的初始运动状态可以通过以下方式计算得到:
[0215]
在开始进行测量时,对采集到的第一帧图像,处理器识别第一帧图像中的目标车辆、目标车辆的车尾中点、车轮接地点,确定目标车辆的车尾中点、车轮接地点的像素平面坐标(u,v),将车尾中点、车轮接地点的像素平面坐标转换到世界坐标系,得到车尾中点在世界坐标系中的初始坐标(x0,y0,z0)、以及车轮接地点在世界坐标系中的初始坐标。根据目标车辆的同侧车轮(同一侧面车轮或者后面两个车轮)的初始坐标确定目标车辆的初始
航向角phi0。
[0216]
对多帧图像中的第二帧图像,处理器识别第二帧图像中的目标车辆、目标车辆的车尾中点、车轮接地点,确定目标车辆的车尾中点、车轮接地点的像素平面坐标(u,v),将车尾中点和车轮接地点的像素平面坐标转换到世界坐标系,得到车尾中点在世界坐标系中的坐标(x1,y1,z1)、车轮接地点在世界坐标系中的坐标。根据第二帧图像中目标车辆的同侧车轮(同一侧面车轮或者后面两个车轮)的坐标确定目标车辆的航向角phi1。
[0217]
根据第一帧图像对应的初始航向角phi0、第二帧图像对应的航向角phi1、以及相机采集第一帧图像和第二帧图像的时间间隔,确定初始的航向角变化率dphi0。
[0218]
根据第一帧图像中车尾中点对应的初始坐标(x0,y0,z0)和第二帧图像中车尾中点在世界坐标系中的坐标(x1,y1,z1)、以及相机采集第一帧图像和第二帧图像的时间间隔,确定目标车辆的速度的初始值v0。
[0219]
将上述确定的第一帧图像中车尾中点在世界坐标系中的初始坐标中的x0、y0,速度v0,初始航向角phi0和初始的航向角变化率dphi0作为状态向量的初始值,其中,状态向量中的l和w的初始值可以是预先设定的。
[0220]
通过以上过程,可以确定车辆运动模型的状态向量的初始值x[0],也就是车辆运动模型满足的高斯分布的均值:x[0]=[x0,y0,v0,phi(0),dphi(0),l,w]。
[0221]
车辆运动模型满足的高斯分布的协方差矩阵∑[0]的初始值也可以是预先设定的。
[0222]
假设第二帧图像为第一图像,将上述x[0]和∑[0]作为初始运动状态,如图9所示,根据上文所述的过程计算得到x[1]和∑(1)作为第二帧图像的测量结果,x[1]和∑(1)可以为下一帧图像的初始运动状态,根据x[1]和∑(1)和下一帧图像继续执行本技术实施例的测量方法可以得到下一帧图像的测量结果。
[0223]
也就是说,每次计算得到的测量结果是包含了之前多帧图像的信息的,本技术实施例的测量结果联合了之前多帧图像的信息,提高了航向角计算的精度和稳定性。
[0224]
如图9所示,在本技术的实施例中,可以联合前一帧图像的测量结果和当前帧图像执行本技术实施例的测量方法得到当前帧的测量结果,也可以联合当前帧图像之前的第m帧图像的测量结果和当前帧图像执行本技术实施例的测量方法得到当前帧的测量结果,m可以为大于1的正整数。在图9所示的示例中,m、n、k的值可以相同,也可以不同,本技术对此不作限定。在一个示例中,m=n=k=1。根据本技术实施例的测量方法,利用ukf,联合多帧信息,提高了航向角计算的精度和稳定性。
[0225]
本技术的实施例还提供了一种测量装置,可以应用于单目相机。图10示出根据本技术一实施例的测量装置的框图。如图10所示,本技术实施例的测量装置可以包括:
[0226]
图像采集模块100,用于通过所述单目相机采集第一图像;
[0227]
第一观测模块101,用于采用神经网络模型识别所述第一图像中的目标对象的第一观测结果;所述第一观测结果包括所述目标对象包含的多个观测点的像素平面坐标;
[0228]
预测模块102,用于根据目标对象的初始运动状态和运动模型进行非线性滤波的预测过程,得到第一预测状态和非线性滤波的更新参数;其中,所述初始运动状态为根据所述第一图像之前的历史图像得到的测量结果,所述初始运动状态表示在所述相机采集所述第一图像之前所述目标对象的最终运动状态,所述初始运动状态包括所述目标对象的初始
航向角;
[0229]
估计模块103,用于根据所述第一预测状态,得到所述多个观测点的像素平面坐标的第一估计结果;
[0230]
第一计算模块104,用于根据所述第一观测结果和所述第一估计结果,得到残差;
[0231]
更新模块105,用于根据所述第一预测状态、所述残差和所述更新参数进行非线性滤波的更新过程,得到所述目标对象的运动状态的新的测量结果,所述新的测量结果包括所述目标对象的航向角。
[0232]
本技术实施例提供的测量装置,通过单目相机采集图像,结合神经网络模型、非线性滤波和运动模型对图像进行处理,预测图像中目标对象的航向角。采用神经网络对图像进行处理得到第一观测结果,代替非线性滤波过程中采用硬件(雷达等)进行观测得到观测结果的过程,也就是说,通过神经网络模型对单目相机采集的图像进行处理即可实现观测的过程,不需要安装体积比较大并且昂贵的雷达等对目标对象进行观测,相比于雷达相机价格更低,可以节省成本,且相机体积相比于雷达体积小很多便于安装。
[0233]
结合目标对象的初始运动状态和运动模型通过非线性滤波的预测过程对目标对象的运动状态(包括航向角)进行预测得到预测结果(第一预测状态),根据预测结果对目标对象的运动轨迹进行估计得到第一估计结果,根据第一观测结果和第一估计结果的残差对第一预测状态进行调整,可以得到更准确的测量结果。因此,相比于相关技术中通过雷达对单帧图像进行标定或者采用cnn对单帧图像中的目标车辆和车轮接地点的匹配从而测量航向角的方式,本技术的测量装置采用根据历史图像得到的目标对象的初始运动状态进行非线性滤波的预测过程,可以联合多帧图像进行航向角的测量,测量结果更准确,且通过神经网络模型实现对目标对象的观测过程,可以节省成本。
[0234]
在一种可能的实现方式中,所述初始运动状态包括初始状态值和初始协方差矩阵,所述预测模块还用于:从均值为所述初始状态值、协方差矩阵为所述初始协方差矩阵的高斯分布中,提取包括所述初始状态值对应的点在内的多个代表点,以及每个所述代表点对应的权重;根据所述运动模型和所述多个代表点的状态值,得到每个所述代表点的第一估计状态值;根据每个所述代表点的所述第一估计状态值和所述权重,计算所述第一预测状态的第一预测状态均值和第一预测协方差矩阵;将每个所述代表点的所述第一估计状态值转换到像素平面坐标系,得到每个所述代表点的像素平面坐标;根据每个所述代表点的像素平面坐标和所述权重,计算所述多个代表点在像素平面坐标系的均值和协方差矩阵;根据每个所述代表点的所述第一估计状态值和所述第一预测状态均值、每个所述代表点的像素平面坐标、多个代表点在像素平面坐标系的均值以及所述权重,得到所述更新参数中的交叉关联矩阵;根据所述交叉关联矩阵和所述多个代表点在像素平面坐标的协方差矩阵,得到所述更新参数中的卡尔曼增益。
[0235]
在一种可能的实现方式中,所述估计模块还用于:根据所述第一预测状态均值计算每个所述观测点的世界坐标,并将每个所述观测点的世界坐标转换为像素平面坐标,得到每个所述观测点的第一估计结果。
[0236]
在一种可能的实现方式中,所述更新模块还用于:计算所述残差和所述卡尔曼增益的乘积,得到状态增量;对所述第一预测状态均值和所述状态增量求和,得到所述新的测量结果的第二预测状态均值;根据所述第一预测协方差矩阵、所述卡尔曼增益和所述交叉
关联矩阵,得到所述新的测量结果的第二预测协方差矩阵。
[0237]
在一种可能的实现方式中,所述装置还包括:第二观测模块,用于在损失满足收敛条件之前,执行以下过程:在所述目标对象的观测区域中移动光流跟踪区域,从移动后的光流跟踪区域中确定所述第一图像和所述第一图像之前的历史图像的多对样本匹配点;所述目标对象的所述观测区域为目标对象上的平面区域在图像上的对应区域,每对样本匹配点对应于所述目标对象的同一点;根据所述多对样本匹配点中的至少部分匹配点进行单应求解,得到单应矩阵;根据所述单应矩阵和所述第一图像上的所述观测区域所在的平面的法向量,得到第一航向角变化率,所述第一航向角变化率为所述目标对象在所述历史图像和所述第一图像中的航向角变化率;其中,所述损失为根据所述第一航向角变化率与第二航向角变化率的差值、以及所述多对样本匹配点中满足所述单应矩阵的点的数量确定的,所述第二航向角变化率为所述第一预测状态均值包括的航向角变化率。
[0238]
在一种可能的实现方式中,所述残差还包括所述第一航向角变化率和所述第二航向角变化率的差值。通过利用侧面和/或车尾平面计算单应矩阵,增加航向角变化率的观测值,可以提高测量结果的精度。
[0239]
在一种可能的实现方式中,所述装置还包括:第三观测模块,用于根据每个所述观测点在所述目标对象中关联的所述目标对象的部位的尺寸,得到每个所述观测点的第一观测噪声;第四观测模块,用于根据所述光流跟踪的区域的尺寸,得到第二观测噪声;所述预测模块还用于:从均值为所述初始状态值、协方差矩阵为所述初始协方差矩阵的高斯分布中,提取包括所述初始状态值对应的点在内的多个代表点,以及每个所述代表点对应的权重;根据所述运动模型和所述多个代表点的状态值,得到每个所述代表点的第一估计状态值;根据每个所述代表点的所述第一估计状态值和所述权重,计算所述第一预测状态的第一预测状态均值和第一预测协方差矩阵;将每个所述代表点的所述第一估计状态值转换到像素平面坐标系,得到每个所述代表点的像素平面坐标;根据每个所述代表点的像素平面坐标和权重、以及所述第一观测噪声和所述第二观测噪声中的一者或两者,计算所述多个代表点在像素平面坐标的均值和协方差矩阵;根据每个所述代表点的所述第一估计状态值和所述第一预测状态均值、每个所述代表点的像素平面坐标、多个代表点在像素平面坐标的均值以及所述权重,得到所述更新参数中的交叉关联矩阵;根据所述交叉关联矩阵和所述多个代表点在像素平面坐标的协方差矩阵,得到所述更新参数中的卡尔曼增益。
[0240]
通过第一观测噪声和/或第二观测噪声可以对观测结果的误差进行矫正,从而得到更加准确的测量结果。第一观测噪声和第二观测噪声在计算过程中是根据图像中的目标对象动态调整的(与观测到的相应的面的尺寸相关),动态调整观测噪声,降低了横穿或直行情况下神经网络模型回归精度差和单应矩阵求解精度低所带来的影响,可以提高测量精度。
[0241]
在一种可能的实现方式中,所述目标对象和所述观测对象为车辆,所述多个观测点包括:车辆的车尾的两个角点和车头的一个角点中的一个或多个。
[0242]
在一种可能的实现方式中,所述观测区域包括所述车辆的车尾在图像上的对应区域和所述车辆的侧面在图像上的对应区域中的一个或多个。
[0243]
在一种可能的实现方式中,所述第一观测模块还用于:采用所述神经网络模型识别所述第一图像中的所述车辆,得到接地线、分界线和边界框bounding box;其中,所述接
地线表示所述车辆的车轮接地点所在的直线,所述分界线表示所述车辆的两个平面的分界线;根据所述接地线、所述分界线和所述bounding box,确定所述多个观测点以及所述多个观测点的像素平面坐标。
[0244]
通过神经网络模型观测目标车辆的2.5dbbox,从而得到目标车辆的第一观测结果,代替非线性滤波过程中采用硬件(雷达等)进行观测得到观测结果的过程,通过神经网络模型对单目相机采集的图像进行处理即可实现观测的过程,可以节省成本。
[0245]
在一种可能的实现方式中,在所述车辆的一个面可见时,所述残差包括方位角和所述第一预测状态均值中的航向角的差值,所述方位角为根据所述第一预测状态均值中的纵坐标、横坐标计算得到的。在本技术只有一个侧面可见的实施例中,可利用方位角提高航向角的计算精度。
[0246]
该测量装置可为具有感知功能的车辆,或者为具有感知功能的其他部件。该测量装置包括但不限于:车载终端、车载控制器、车载模块、车载模组、车载部件、车载芯片、车载单元、车载雷达或车载摄像头等其他传感器,车辆可通过该车载终端、车载控制器、车载模块、车载模组、车载部件、车载芯片、车载单元、车载雷达或摄像头,实施本技术提供的方法。
[0247]
该测量装置还可以为除了车辆之外的其他具有感知功能的智能终端,或设置在除了车辆之外的其他具有感知功能的智能终端中,或设置于该智能终端的部件中。该智能终端可以为智能运输设备、智能家居设备、机器人等其他终端设备。该装置包括但不限于智能终端或智能终端内的控制器、芯片、雷达或摄像头等其他传感器、以及其他部件等。
[0248]
该测量装置可以是一个通用设备或者是一个专用设备。在具体实现中,该装置还可以台式机、便携式电脑、网络服务器、掌上电脑(personal digital assistant,pda)、移动手机、平板电脑、无线终端设备、嵌入式设备或其他具有处理功能的设备。本技术实施例不限定该测量装置的类型。
[0249]
该测量装置还可以是具有处理功能的芯片或处理器,该测量装置可以包括多个处理器。处理器可以是一个单核(single-cpu)处理器,也可以是一个多核(multi-cpu)处理器。该具有处理功能的芯片或处理器可以设置在传感器中,也可以不设置在传感器中,而设置在传感器输出信号的接收端。
[0250]
本技术的实施例提供了一种测量装置,包括:处理器以及用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令时实现上述方法。
[0251]
本技术的实施例提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。
[0252]
本技术的实施例提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行上述方法。
[0253]
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(random access memory,ram)、只读存储器(read only memory,rom)、可擦式可编程只读存储器(electrically programmable read-only-memory,eprom或闪存)、静态随机存取存储器
(static random-access memory,sram)、便携式压缩盘只读存储器(compact disc read-only memory,cd-rom)、数字多功能盘(digital video disc,dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。
[0254]
用于执行本技术操作的计算机程序指令可以是汇编指令、指令集架构(instruction set architecture,isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(local area network,lan)或广域网(wide area network,wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(field-programmable gate array,fpga)或可编程逻辑阵列(programmable logic array,pla),该电子电路可以执行计算机可读程序指令,从而实现本技术的各个方面。
[0255]
这里参照根据本技术实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本技术的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
[0256]
以上已经描述了本技术的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1