[发明专利]一种基于关键点回归的3D车辆检测方法在审
申请号: | 201911192400.6 | 申请日: | 2019-11-28 |
公开(公告)号: | CN111126161A | 公开(公告)日: | 2020-05-08 |
发明(设计)人: | 刘宏哲;王永森 | 申请(专利权)人: | 北京联合大学 |
主分类号: | G06K9/00 | 分类号: | G06K9/00;G06K9/34;G06K9/46;G06N3/04;G06N3/08 |
代理公司: | 北京思海天达知识产权代理有限公司 11203 | 代理人: | 沈波 |
地址: | 100101 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 关键 回归 车辆 检测 方法 | ||
1.一种基于关键点回归的3D车辆检测方法,其特征在于:该方法的实现过程如下,
步骤1:2D车辆检测;
步骤2:车辆目标提取及预处理;
步骤3:关键点回归;
步骤4:缺失点计算;
步骤4-1:定义车辆外接3D立体框用C={a,b,c,d,e,f,g,h}表示,其中,{a,b,c,d}表示目标车辆靠近相机侧垂直切面上从左上角按照顺时针方向的四个顶点在二维图像上的像素坐标,即a是靠近相机侧的垂直切面四边形的左上角顶点像素坐标,b是右上角顶点坐标,c是右下角顶点坐标,d是左下角顶点坐标;{e,f,g,h}是远离相机侧垂直切面上从左上角按照顺时针方向的四个顶点在二维图像上的像素坐标,即e是远离相机侧的垂直切面四边形的左上角顶点像素坐标,f是右上角顶点坐标,g是右下角顶点坐标,h是左下角顶点坐标;
步骤4-2:计算经过w0,w1两点的直线方程F(x),定义直线方程L(x=G1(x3)),由计算出直线F(x)与直线L(x=G1(x3))相交的点,即为C中的点d;取c点坐标为(W,H),取e点坐标为(0,0);计算经过c,d两点的直线的斜率kcd,由公式对kcd进行滤波处理,得到新的斜率kcd′,由重新计算出d点坐标;由计算直线方程F(x)与直线K(x=0)相交的点,即为C中的点h;依次平移线段eh,使h点分别和d点、c点重合,e点对应的两个点的坐标分别为a点和b点;平移线段dc,使d点和h点重合,此时c点对应的位置就是g点坐标;平移线段eh,使h点和g点重合,此时e点对应的位置就是f点坐标;至此,计算出构建3D立体框的顶点坐标C={a,b,c,d,e,f,g,h};
步骤4-3:由公式依次对C={a,b,c,d,e,f,g,h}中各个顶点的x,y坐标进行更新,得到D={a,b,c,d,e,f,g,h};
步骤5:3D构建;
根据步骤4-3得到顶点坐标D={a,b,c,d,e,f,g,h},依据公式进行判断是否满足立体几何模型关系,满足则依次连接a-b,b-c,c-d,d-a,e-f,f-g,g-h,h-e,a-e,b-f,c-g,d-h,完成3D构建,如果不满足则构建失败。
2.根据权利要求1所述的一种基于关键点回归的3D车辆检测方法,其特征在于:
步骤1-1:数据标注,训练数据标注采用Pascal_VOC格式,使用XML文件存储每张图片的标注结果,标注工具使用labelImg,下载安装labelImg软件,打开软件,点击“Open Dir”选择需要标注的图像所存放的文件夹,然后软件会将文件夹下所有图片加载进软件里面,此时会默认打开一张图片,然后按一下键盘字母“w”,进入标注状态,找到图片中的车辆,将鼠标箭头放在车辆左上角点击一下鼠标左键开始画矩形框,然后移动鼠标箭头到车辆右下角位置再次点击一次鼠标左键,出现提示输入标注的类别,这里输入“car”,然后点击“OK”,完成一个车辆目标的标注;标注要求是将图片中所有出现的车辆进行标注,标注数量10000张图片;
步骤1-2:模型训练,下载基于PyTorch的Faster R-CNN目标检测框架,将数据集的所有图片文件放在VOC2007数据集文件目录的JPEGImages文件夹中,将标注生成的XML文件放在VOC2007数据集文件目录的Annotations文件夹中,然后将所有图片的文件名放到一个名为“trainval.txt”的文件中,每行一个,然后将该文件放到放在VOC2007数据集文件目录的Main文件夹下面,完成数据的准备工作;然后下载ResNet101预训练网络模型,放到pretrained_model目录下,执行trainval_net.py文件,同时输入参--end_epoch=50,即训练50个epoch;
步骤1-3:模型检测,在步骤1-2训练完成之后,得到最终训练好的模型文件,放入models文件夹中,将待检测的图片放入images文件中,运行test_net.py文件,得到检测的结果,即图片中车辆的外接矩形框坐标。
3.根据权利要求2所述的一种基于关键点回归的3D车辆检测方法,其特征在于:
步骤2-1:根据步骤1-3得到车辆目标在图像中的外接矩形框的坐标位置B(x1,y1,x2,y2),其中(x1,y1)表示矩形框左上角顶点的像素坐标,(x2,y2)表示矩形框右下角顶点的像素坐标,根据该两点坐标截取出此矩形框包围的像素图像,得到像素矩阵P0,尺寸为(W,H);W为像素图像的宽,H为像素图像的高度;
步骤2-2:对像素矩阵P0进行尺度缩放,缩放到固定的224x224像素尺寸,得到像素矩阵P1;
步骤3-1:准备训练数据,数据获取方式是从步骤1-1中的图片中分割出其中的车辆目标,即根据步骤1-1的标注文件中车辆目标的矩形框坐标裁剪出车辆,保存成图片,要求车辆的像素宽度大于100,数量为3000张;
步骤3-2:对数据进行标注,使用labelImg软件,如步骤1-1中,首先加载步骤3-1中保存得到的图片的文件夹,然后使用相同方法进行标注矩形框,标注的目标为车辆侧面的两个车轮和车辆的头部或者车辆的尾部,图片中看不到车轮的不进行标注;
步骤3-3:模型训练,下载基于PyTorch的MobileNetV1网络模型框架,将步骤3-2中标注好的数据集按照步骤1-2的方法放入框架中对应的文件夹中,对于每张图片标注的数据,定义车轮的坐标分别用wb0(x1,y1,x2,y2),wb1(x1,y1,x2,y2)表示,车尾或者车头用tb表示,两个车轮的关键点坐标分别用w0,w1表示,车尾或者车头的关键点用t表示,然后根据公式得到三个关键点(w0,w1,t)的坐标,其中关键点t只包含图像的横轴坐标;修改trainval_net.py中对应的代码,使训练数据进行loss计算时的真值为G(w0(x),w0(y),w1(x),w1(y),t(x)),即五个参数值,MobileNetV1网络采用随机初始化进行赋值,修改最后的全连接层为5个输出值,执行trainval_net.py文件,同时输入参数--end_epoch=30,即训练30个epoch;
步骤3-4:模型推理,将步骤2-2得到的像素矩阵P1送入训练好的回归网络MobileNet V1中,网络输出G1(x1,y1,x2,y2,x3),得到五个参数值,对应预测到的三个关键点坐标值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京联合大学,未经北京联合大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911192400.6/1.html,转载请声明来源钻瓜专利网。