发明名称 基于3D模型的单幅图像卡车体积测量方法
摘要 本发明公开了一种基于3D模型的单幅图像卡车体积测量方法,主要解决当前测量方法工作强度大、自动化程度不高的问题。其实现过程是:1.标定真实相机内参数,并使用OpenGL函数库建立虚拟现实环境,在环境中导入被测卡车图片与卡车3D模型;2.用ASM算法对卡车图片中卡车的特征点进行识别并建立被测卡车图片与卡车3D模型之间的联系;3.利用被测卡车图片上的待匹配点和卡车3D模型上的控制点实现卡车3D模型与被测卡车图片的自动匹配;4.根据虚拟现实环境与真实环境之间的比例关系,用卡车3D模型的体积计算出被测卡车的体积。本发明测量快速精确,自动化程度较高,可用于高速公路的收费系统。
申请公布号 CN104778718A 申请公布日期 2015.07.15
申请号 CN201510229031.9 申请日期 2015.05.07
申请人 西安电子科技大学 发明人 孙伟;李鹏慧;赵春宇;郭宝龙
分类号 G06T7/00(2006.01)I;G06T7/60(2006.01)I 主分类号 G06T7/00(2006.01)I
代理机构 陕西电子工业专利中心 61205 代理人 王品华;王喜媛
主权项 一种基于3D模型的单幅图像卡车体积测量方法,包括如下步骤:(1)利用OpenGL函数库搭建虚拟现实环境:标定出真实相机的内参数矩阵K,用OpenGL函数库在虚拟现实环境中设定一个虚拟相机,使虚拟相机的内参数与真实相机的内参数一致,将被测卡车图片和与该卡车外形相似的卡车3D模型导入到虚拟现实环境中,并计算出虚拟现实环境和真实环境的比例关系r<sub>0</sub>;(2)用ASM算法识别被测卡车特征点:(2a)取50幅卡车图片作为训练样本集,手工标定每幅训练图片上的34个特征点,标定的顺序要保持一致,各个特征部位的特征点的个数相同,将每幅图片对应的特征点的坐标值按标定顺序放在一个形状向量H<sub>c</sub>中,c=1,2,...,50;(2b)以形状向量H<sub>c</sub>初始数据,依次通过计算特征点的权重、图像配准、主成份分析、建立局部灰度信息为卡车建立主动形状模型;(2c)使用主动形状模型自动识别被测卡车图片中卡车的34个特征点;(3)将卡车3D模型在虚拟现实环境中所成的像与被测卡车图片中的卡车进行匹配:(3a)在虚拟现实环境中,利用EPnP算法调整卡车3D模型的位姿使卡车3D模型所成的像与被测卡车图片中的卡车的位姿吻合;(3b)使用EPnP算法后,将虚拟现实环境和真实环境的比例关系调整为r<sub>1</sub>;(3c)选取被测卡车图片上卡车的9个特征点a<sub>i</sub>为待匹配点,i=1,2,...,9,同时在3D卡车模型上找出与a<sub>i</sub>位置对应的9个特征点X<sub>i</sub>作为控制点;(3d)将控制点X<sub>i</sub>与待匹配点a<sub>i</sub>进行匹配得到目标点Y<sub>i</sub>,根据控制点X<sub>i</sub>和目标点Y<sub>i</sub>构造控制能量函数<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mi>E</mi><mn>1</mn></msub><mrow><mo>(</mo><msub><mi>X</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>=</mo><munder><mi>&Sigma;</mi><mi>i</mi></munder><msubsup><mrow><mo>|</mo><mo>|</mo><msub><mi>X</mi><mi>i</mi></msub><mo>-</mo><msub><mi>Y</mi><mi>i</mi></msub><mo>|</mo><mo>|</mo></mrow><mn>2</mn><mn>2</mn></msubsup><mo>;</mo></mrow>]]></math><img file="FDA0000712592120000011.GIF" wi="528" he="124" /></maths>(3e)将待匹配点a<sub>i</sub>反投影到虚拟现实环境中形成一条以虚拟相机光心为端点的射线:R<sub>i</sub>=K<sup>‑1</sup>*[a<sub>i</sub> z<sub>i</sub>]<sup>T</sup>,其中K<sup>‑1</sup>是对虚拟相机的内参数矩阵取逆,z<sub>i</sub>∈[0,1],目标点Y<sub>i</sub>是射线R<sub>i</sub>上的一个点;(3f)将目标点Y<sub>i</sub>和Y<sub>j</sub>连成线段Y<sub>i</sub>Y<sub>j</sub>,j=1,2,...,9,j≠i,根据线段Y<sub>i</sub>Y<sub>j</sub>的平行、垂直关系求出约束函数g(z<sub>i</sub>);(3g)用约束优化算法SQP在g(z<sub>i</sub>)的约束下求解E<sub>1</sub>(X<sub>i</sub>)的极小值得到一组最优解z<sub>i</sub>,将z<sub>i</sub>带入R<sub>i</sub>=K<sup>‑1</sup>*[a<sub>i</sub> z<sub>i</sub>]<sup>T</sup>求出目标点Y<sub>i</sub>的值;(3h)根据目标点Y<sub>i</sub>的值,利用卡车3D模型的对称性求出卡车3D模型上3个被遮挡的控制点X<sub>e</sub>和与这3个控制点对应的目标点Y<sub>e</sub>,e=10,11,12,此时控制点为X<sub>g</sub>,目标点为Y<sub>g</sub>,g=i∪e=1,2,...,12;(3i)构造形变能量函数<img file="FDA0000712592120000021.GIF" wi="756" he="141" />其中x是卡车3D模型上任意一点,ω<sub>g</sub>(x)是x的权函数;用最小二乘法求解E<sub>2</sub>(x)的最小值得到形变函数T<sub>x</sub>(x);(3j)用形变函数T<sub>x</sub>(x)作用于卡车3D模型的每一点x,使卡车3D模型形变后在虚拟现实环境中所成的像与被测图片中的卡车相互匹配,匹配后卡车3D模型的体积V与被测卡车的体积V′的比例关系为:V<sub>2</sub>/V<sub>1</sub>=r<sub>1</sub><sup>3</sup>;(4)计算出卡车3D模型的体积V,将V带入比例关系式,得到被测卡车的体积V<sub>2</sub>=V<sub>1</sub>*r<sub>1</sub><sup>3</sup>。
地址 710071 陕西省西安市太白南路2号