[发明专利]基于深度学习的物体识别和全景漫游方法有效
申请号: | 202011075418.0 | 申请日: | 2020-10-09 |
公开(公告)号: | CN112242002B | 公开(公告)日: | 2022-07-08 |
发明(设计)人: | 刘儿兀;陈铭毅 | 申请(专利权)人: | 同济大学 |
主分类号: | G06T17/05 | 分类号: | G06T17/05;G06T15/00;G06T3/40;G06N3/04;G06N3/08;G06V20/00;G06V10/762;G06K9/62;G06F16/583;G06F16/587 |
代理公司: | 上海科律专利代理事务所(特殊普通合伙) 31290 | 代理人: | 叶凤 |
地址: | 200092 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 深度 学习 物体 识别 全景 漫游 方法 | ||
1.一种基于深度学习的物体识别和全景漫游方法,其特征是,包括步骤
步骤1、应用场景数据可通过人工采集或者使用开源的数据集;
步骤2、构建物体识别特征提取网络,利用步骤1中所采集的数据集或者所用开源的数据集来训练物体识别网络;
首先对所采集的数据集都缩放到416*416的大小,然后进行人工的标注,标记图片中所含物体的四个边界框的坐标信息和所属类别,同时记录数据集的总类别数为classes;然后把数据集输入到DarkNet-53模型中;对DarkNet-53进行改造:将网络末尾的全连接层去掉,同时建立三个尺度的输出,最大的尺度是原始图像的32倍下采样,中等尺度是原始图像的16倍下采样,小尺度是原始图像的8倍下采样;三个尺度是不独立的,为了融合高低层网络的特征,将大尺度特征上采样后与中尺度进行张量拼接(concat),接着对中尺度特征进行上采样后与小尺度特征进行张量拼接;将三个尺度的输出最后送入检测层进行识别;
步骤3、构建最终检测层:
步骤3.1,要先对边界框进行预测;
边界框预测算法借鉴了Faster R-CNN中锚框机制;锚框的大小与比例是人为选定的,采用的锚框的大小和比例是根据数据集的边界框数据进行维度聚类得到的;
对步骤2中标定过的数据集进行K-mean聚类来得到最接近真实边界框的锚框;对于边界框,采用如式(2.1)所示的距离度量,其中box为锚框,centroid为真实边界框,d为锚框和真实边界框的距离度量,IOU为交并比;
d(box,centroid)=1-IOU(box,centroid) (2.1)
将要预测的宽和高分别与锚框的宽和高绑定,经过多次训练后,每个边界框就学习到了如何选择合适形状的边界框;上述所提到的绑定关系为:
其中aw和ah分别为锚框的宽和高,tw和th为边框回归直接预测出来的宽与高,bw和bh为经过公式转换后所预测的宽和高,也就是网络最后输出的宽和高;从公式(2.2)和(2.3)中可以看到,损失函数经过求导后还保留有tw以及th这两个参数;
接下来就是最后输出的边界框的中心位置(bx,by)的计算公式,如公式(2.4)和(2.5)所示:
bx=σ(tx)+cx (2.4)
by=σ(ty)+cy (2.5)
其中cx和cy是网格左上角点相对整张图片的坐标,σ(t)是sigmoid激活函数;边框回归预测的tx和ty是相对网格而言的,是相对坐标,为了得到绝对坐标,使用式(2.4)和(2.5)来转化;sigmoid激活函数是为了把tx和ty映射到(0,1)区间,让模型更快收敛;得到了边框回归所输出的四个值bx,by,bw,bh;
在训练中,将真实边界框的四个参数用公式(2.2),(2.3),(2.4),(2.5)的逆运算转化为与tx,ty,tw,th相对应的gx,gy,gw,gh,然后进行误差计算,最后计算经过sigmoid激活函数后的值;详细步骤如公式(2.6)到(2.9)所示:
其中σ(t)是sigmoid函数,aw和ah分别为锚框的宽和高,cx和cy分别为网格左上角点相对整张图片的坐标,gx,gy,gw,gh为tx,ty,tw,th逆运算所得到的结果;
步骤3.2,边界框定位后进行分类;
类别的数量取决于训练数据集的类别数量,每个边界框都要计算所有类别的条件类别概率;分类器采用的是逻辑回归(logistic regression)方法;
有了边框信息和类别概率后需要进行反向传播,采用和方差(sum-squared error,SSE)作为损失函数进行反向传播;损失函数如公式(2.10)所示,其中s2为特征图中网格的数量,B为每个网格负责预测的锚框数量,σ(t)是sigmoid函数,tx,ty,tw,th为公式(2.6),(2.7),(2.8),(2.9)进行运算所得到的结果,表示第i个网格的第j个预测边界框的置信度水平,表示第i个网格的第j个预测边界框c类别的条件概率值,和Gij为控制参数;
在公式(2.10)中看到每个锚框都有一对置信度和条件类别概率;是由某个网格的锚框是否负责预测某个对象决定的;如果负责预测某个对象,那么等于1,反之等于0;当某个边界框不负责预测真实边界框,但是又与真实边界框之间的交并比数值大于预先设定的阈值时,为了不让此边界框影响最终的损失值,需设置控制参数Gij等于0,反之设置Gij等于1;若某个网格的某个锚框没有负责预测某个对象,为了让这种锚框不影响最终的损失值,引进参数当某个锚框负责预测某个真实边界框时,等于1,否则等于0;然后将数据集通过整个网络进行更新权重参数,得到收敛后的物体识别模型;
然后将数据集通过整个网络进行更新权重参数,得到收敛后的物体识别模型;
步骤4、构建全景模型:
首先创建一个html文件,添加three.js库依赖,建立一个场景,
然后在场景下放置透视摄像机(PerspectiveCamera),用来观测场景中的各种物体以及光源;
然后构建一个渲染器将内容渲染到页面上;
接着设立一个视角控制器来控制视角的移动;
上述准备工作完成后,导入经物体识别程序后的平面全景图,使用此全景图来创建纹理,创建一个球体用来映射,忽略场景中的光照,创建一个MeshBasicMaterial材质,生成网格,用MeshBasicMaterial材质来渲染mesh内表面,并显示在场景中,最后进行循环渲染,设置窗口监听来设置交互系统;这样得到全景漫游模型,使用浏览器进行解析就能观测到模型。
2.如权利要求1所述的方法,其特征是,步骤3中,边框回归算法会得到一堆候选框,需要进行非极大值抑制选择与真实边界框之间有着最大IOU的边框;与训练过程不同的是,在使用网络进行预测时,真实边界框是不存在的,也就无法使用IOU,此时需使用置信度来替代IOU进行筛选;
置信度一方面用来表征当前边界框是否存在对象的概率Pr(Object);而另一个方面表征在边界框存在对象的情况下,最终所预测的边界框与真实边界框之间的这里表征的是模型对于边界框框出了物体的一种自信程度;这样得到公式(2.11),其中表示第i个网格的第j个预测边界框的总体置信度;在识别过程中采用来筛选具有最高置信度的边界框,这样就解决了识别过程中无法计算IOU的问题;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于同济大学,未经同济大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011075418.0/1.html,转载请声明来源钻瓜专利网。