[发明专利]一种基于EdgeBoxes和FastR-CNN的非机动车辆目标检测方法在审
申请号: | 201810103573.5 | 申请日: | 2018-02-01 |
公开(公告)号: | CN108256498A | 公开(公告)日: | 2018-07-06 |
发明(设计)人: | 路雪;刘坤 | 申请(专利权)人: | 上海海事大学 |
主分类号: | G06K9/00 | 分类号: | G06K9/00;G06N3/04 |
代理公司: | 上海三和万国知识产权代理事务所(普通合伙) 31230 | 代理人: | 陈伟勇 |
地址: | 201306 上海市*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提出了一种可以解决非机动车辆目标检测问题的方法,通过将EdgeBoxes算法融合Fast R‑CNN中的小型网络结构Caffnet得到新的网络结构,结合VOC格式的非机动车辆数据样本,对新的网络结构进行迭代训练得到非机动车辆目标检测模型,把道路交通场景中的目标检测问题实化为自行车bicycle和电动车evbike的分类问题。该方法从目标建议出发,利用深度学习思想有效克服非机动车辆外观多变带来的困难,并且可在训练数据驱动下自适应地构建特征描述,能够高效准确的检测到道路交通场景中的非机动车辆目标,使得非机动车辆目标检测更加快捷便利。 | ||
搜索关键词: | 非机动车辆 目标检测 网络结构 道路交通 电动车 场景 迭代训练 分类问题 数据样本 算法融合 特征描述 训练数据 自适应 构建 自行车 驱动 便利 检测 学习 | ||
【主权项】:
1.一种基于EdgeBoxes和Fast R‑CNN的非机动车辆目标检测方法,其特征在于:包括以下步骤:步骤1、定义网络结构,选定Fast R‑CNN算法中的小型网络结构Caffenet网络:步骤1‑1、设置Caffenet网络核心层数为11层,具体包括1个11×11卷积层,1个5×5卷积层,3个3×3卷积层,1个感兴趣区域池化层,2个全连接层,3个池化层;步骤1‑2、Caffenet网络输出层为多任务损失函数,具体有两个输出层,第一个输出层通过softmax算法回归计算得到每个RoI在2类中的概率P,即目标分类结果,第二个输出层负责计算2类目标检测框的坐标值,即检测框坐标结果;步骤2、定义目标任务,采集目标样本图及数据集制作:步骤2‑1、定义目标任务为非机动车辆,即自行车和电动车;步骤2‑2、数据集制作,准备适量目标任务的样本图像,为保证特征充分性,样本图像数量级设置为103‑104,该范围内的任何数值M都可作为样本数量,自行车b和电动车e分配比例为b:e,且b≈e,M=b+e;步骤2‑3、将步骤2‑2得到的样本图像进行VOC格式化,得到VOC数据集;步骤2‑4、将步骤2‑3得到的VOC数据集中的样本图进行目标标注,然后使用EdgeBoxes算法对标注后的样本图像进行目标建议OP提取,利用滑动窗口的提取策略,由以下参数来控制:α控制搜索步长,β控制IoU阈值,δ控制搜索准确度,minScore控制最低得分和maxBoxes控制提取OP的最大数量级,以此得到样本OP信息,进行一定计算后得到样本的感兴趣区域RoIs;步骤2‑5、将步骤2‑3得到的VOC数据集,按照训练>测试>验证的比例,且各个比例项之和小于等于10的划分原则进行划分,得到训练集、测试集和验证集;步骤3、模型训练,设定预训练参数:步骤3‑1、对步骤1中定义的Caffnet网络结构进行初始化参数设置,利用Caffenet在ImageNet下的训练参数初始化预训练网络RoI池化层之前的层参数,设置学习率为0.001,训练的batchsize为2,迭代次数为I,其数量级为10^4,进行网络训练;步骤3‑2、目标任务是自行车和电动车,即K=2,再加一个背景类,则输入数据层类别数num_class=2+1=3,同样RoI池化层数据类别数num_class=3,输出层中分类得分部分数据类别数num_class=3,边界框回归部分数据类别数num_class=3×4=12;步骤4、模型训练,预训练网络:步骤4‑1、将步骤1中定义的Caffnet网络结构在步骤2‑5准备的训练数据集上训练,样本包括动自行车和电动车,训练参数按步骤3‑1设置;步骤4‑2、训练的输出过程用一种多任务损失函数对每个标记的RoI的类型和检测框坐标进行回归计算,计算方法为:L(p,u,tu,v)=Lcls(p,u)+λ[u≥1]Lloc(tu,v) (1)Lcls(p,u)=logPu (2)步骤4‑3、对步骤4‑2设置公式(1)中超参数λ=1,并标记自行车类u=1、电动车类u=2,Lcls是类型概率Pu的对数损失,其中Pu是用softmax来计算的,令该层的输出向量为ai=(a1,a2,......,an),根据softmax计算方法
则Pu=maxPi (4)步骤4‑4、输出的另一个任务损失Lloc,是检测框损失,通过真实的u类检测框坐标值v=(vx,vy,vw,vh),以及u类的预测坐标值
得到,由于背景类没有原标记框,可以忽略背景类的Lloc,对于检测框回归损失,使用损失函数
其中,当回归目标无边界时,传统的损失函数在训练时敏感度很高,需要非常仔细地调整学习率以防止爆炸梯度,而
消除了这种敏感性:
步骤5、迭代训练得到目标检测模型:步骤5‑1、迭代训练过程通过RoI池化层进行反向传播,xi(xi∈R)是第i个激活,输入到RoI池化层,令yrj是输出,即第r个RoI的第j层输出,RoI池化层计算
其中i*(r,j)=argmaxi'∈R(i,j)xi',即使得xi'最大的i,R(i,j)是输出单元yrj最大池化所在子窗口中输入的索引集,单个xi可以被分配给几个不同的输出yrj,RoI池化层通过计算相对于每个输入变量xi的损失函数的偏导数进行反向传播:
步骤5‑2、迭代训练过程引入微调策略,不断微调步骤3‑1设置的训练参数,如此交替进行网络训练,直至网络收敛,此时即得到目标检测模型;步骤6、模型测试,将步骤2‑5得到的测试集图像输入步骤5‑2得到的目标检测模型进行测试,主要分为单张测试和整体测试两部分:步骤6‑1、选定测试集中的样本图像进项单张图像检测测试,并在图像样本上显示检测框,为保证检测的实际应用及准确率,测试时设置检测类型概率P范围是0.5≤P≤1的数值;步骤6‑2、将步骤2‑5得到全部测试数据集输入步骤5‑2得到的目标检测模型整体测试,验证目标检测模型。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海海事大学,未经上海海事大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201810103573.5/,转载请声明来源钻瓜专利网。