一种在手机端实现感兴趣物体实时检测的方法技术

技术编号:20222187 阅读:94 留言:0更新日期:2019-01-28 20:34
本发明专利技术公开了在手机端实现感兴趣物体实时检测的方法,包括:利用深度学习训练框架构建压缩的物体检测模型并用ImageNet分类数据集预训练分类任务;再利用数据集Pascal VOC、COCO及预先构建的检测数据集训练检测任务;利用22层YOLO模型检测Pascal VOC和COCO中的物体;分别提取22层YOLO模型和物体检测模型的最后一层的对应激活值并计算两个激活值之间的均方误差;将均方误差与原有的物体检测损失进行平均,作为新的损失函数再次训练物体检测模型;导出训练好的物体检测模型的网络权重文件并在手机端加载,运行物体检测模型,对检测输出使用NMS算法,根据距屏幕中心的距离对检测置信度进行加权,提取出TOPN检测结果输出。

【技术实现步骤摘要】
一种在手机端实现感兴趣物体实时检测的方法
本专利技术涉及物体检测
,尤其是涉及一种在手机本地实现用户可能感兴趣的物体的实时检测的方法。
技术介绍
物体检测技术是计算机视觉中非常重要的研究方向。目前基于卷积神经网络的物体检测技术取得了较好的研究效果,具有相当高的检测准确率。在服务器上运行的部分检测模型的检测速度可超过100帧每秒;在移动终端例如手机端实时检测感兴趣的物体,由于手机端计算资源有限,因此目前所支持的实时检测方案还较少。在手机本地进行实时的物体检测是很有价值的。在日常生活中,一些简单或者特定的物体检测,如最常见的人脸检测等,已经广泛地应用到了手机端。除此之外,从平常的一件商品,或者小到一只昆虫、大到一颗树,人们时常会对身边不认识的物体感兴趣。现在比较通用的做法是用户拍照后将照片通过网络上传给后台服务器来进行物体检测,然后再从服务器返回每个物体的检测结果、相关信息等。但这样的检测方案存在几个主要问题:首先是用户体验不好,即要求用户对物体拍照上传,从而每次检测识别都需要手动拍照选框等操作;整个照片的上传操作也容易让用户泄露更多的隐私;另外,如果所有的物体检测任务都由后台服务器完成的话,那么后台服务器压力会非常大。此时人们更希望可以直接用手机摄像头对着感兴趣的物体即可在手机本地实时获得物体的相关信息、链接等,但这样的物体检测模型的使用会受限于手机的运算能力、耗电量等因素,因此要在手机端实现还存在技术困难。人脸实时检测之所以已在手机端成熟地运行,一方面因为检测对象均为人脸而不是其它各种类型的物体,另一方面在维持可接受的检测精度的情况下,一些人脸检测等相对固定、容易的检测算法已可以做到足够小足够快,从而能在手机本地直接运行。但是对于一些更加困难的物体检测需求,比如多类别的物体检测(通用物体检测,如动植物家具衣物生活设施等),则一般需要比较大且复杂的检测模型才能达到较满意的检测效果。目前,可以在手机端实现物体检测的方案有TensorFlow、Mxnet、Metal、CoreML等,TensorFlow对Android、IOS和树莓派提供了官方支持的手机运行方案,并且提供较多的优化工具,如量化、低精度计算等。Mxnet也支持IOS和Android,但是优化的速度不好。Metal是苹果公司官方提供的支持使用手机gpu的框架,可以极大地提高物体检测模型的运行速度。CoreML也是苹果公司官方提供的,是一个特别为机器学习设计的库,可以方便地将很多种类的物体检测模型部署到手机App中,而且还会自动在GPU和CPU之间优化运行速度,但是只能支持ios11以后的系统运行。适合在手机上运行的物体检测模型有YOLO、SSD等,使用proposal的检测模型如FasterRCNN虽然检测精度稍高,但是检测流程对于手机而言比较复杂;YOLO模型通过在图像上使用grid(v1)或者anchor(v2)形式而在图像上预定义物体包围框的回归参照物,然后通过训练输出每个anchor的分类结果和包围框的坐标作为检测结果。适合在手机上使用的网络模型有tinyyolo、MobileNet和shuffleNet等,这些网络在降低网络计算量的前提下,尽量保持了物体检测的准确度。另外还有一些其他压缩模型的方法,如权重矩阵分解、卷积神经网络剪枝和知识提取等。虽然这些检测方法能够用在手机端执行物体检测,但是通过结合实际的应用需求,物体检测的速度和精度都有改进提高的空间。以上
技术介绍
内容的公开仅用于辅助理解本专利技术的专利技术构思及技术方案,其并不必然属于本专利申请的现有技术,在没有明确的证据表明上述内容在本专利申请的申请日前已经公开的情况下,上述
技术介绍
不应当用于评价本申请的新颖性和创造性。
技术实现思路
本专利技术的主要目的在于提出一种在手机端实现感兴趣物体实时检测的方法,通过压缩物体检测模型的神经网络,去除不必要的物体检测运算步骤,以降低手机端本地实时检测物体的内存占用,并提高手机端物体实时检测的速度和准确率。为达上述目的,本专利技术提出以下技术方案:一种在手机端实现感兴趣物体实时检测的方法,包括以下步骤:S1、利用深度学习训练框架构建可在手机端运行的物体检测模型,其中,所述物体检测模型包含压缩的特征提取骨干网络;S2、利用ImageNet的分类数据集预训练所述物体检测模型的物体分类任务;S3、对经过预训练的所述物体检测模型,再利用公开数据集PascalVOC、COCO以及预先构建的检测数据集训练其物体检测任务;S4、利用服务器22层YOLO模型检测公开数据集PascalVOC和COCO中的物体;S5、基于步骤S3和步骤S4的物体检测结果,分别提取出22层YOLO模型和所述物体检测模型的最后一层的对应激活值,并计算两个激活值之间的均方误差;S6、取上一步得到的均方误差,与原有的物体检测损失进行平均,作为新的损失函数,用以再一次训练所述物体检测模型;S7、导出训练好的物体检测模型的网络权重文件;S8、在手机端加载所述网络权重文件,以运行所述物体检测模型,并对物体检测模型的输出使用改进后的非极大值抑制算法,根据距屏幕中心的距离对检测置信度进行加权,提取出TOPN检测结果,作为最终的物体检测结果输出;1≤N≤5。本专利技术提出的上述技术方案,能够在手机端实现本地物体检测,标出用户可能感兴趣的物体。通过模型的压缩和精度改善(步骤S2和S3改善检测精度),使得在手机端本地检测物体的检测功耗和内存占用大大降低,并保证了与服务器端同样水平的检测速度;另外,通过改进的非极大值抑制算法,根据物体中心与屏幕中心的距离对物体置信度进行加权,改进后的非极大值抑制算法能够在只输出五个检测结果的情况下,也能保持较高的感兴趣物体召回率(70%以上)。更进一步地,步骤S1中所用的深度学习训练框架为谷歌的开源框架TensorFlow或苹果公司的MPSCNN。更进一步地,所述压缩的特征提取骨干网络为谷歌的MobileNet。更进一步地,所述压缩的特征提取骨干网络为TinyYOLO网络。更进一步地,步骤S1还包括将TinyYOLO网络的最后两个卷积层裁剪掉。更进一步地,步骤S7中,按照预设的权重顺序导出训练好的物体检测模型的网络权重文件。更进一步地,步骤S8中N=4。附图说明图1是本专利技术的方法在IOS系统手机端运行的结果示意图。具体实施方式下面结合附图和具体的实施方式对本专利技术作进一步说明。本专利技术的具体实施方式提供一种在手机端实现感兴趣物体实时检测的方法,包括以下步骤S1~S8:步骤S1、利用深度学习训练框架构建可在手机端运行的物体检测模型,其中,所述物体检测模型包含压缩的特征提取骨干网络。本专利技术优选地采用谷歌公司的开源框架TensorFlow或者苹果公司的MPSCNN,MPSCNN是IOS自带的卷积神经网络框架,MPS即MetalPerformanceShaders,MPSCNN是苹果公司在其Metal库的基础上提供的支持库,给神经网络模型提供了如卷积、全连接、最大池化等运算操作。服务器端常用的特征提取骨干网络,如VGG、ResNet等并不适合在手机端运行,因为模型权重太大、而且太深。本专利技术中优选使用压缩的特征提取骨干网络如谷歌的移动网络MobileNet或者TinyYOLO网络。后文的具体本文档来自技高网
...

【技术保护点】
1.一种在手机端实现感兴趣物体实时检测的方法,包括以下步骤:S1、利用深度学习训练框架构建可在手机端运行的物体检测模型,其中,所述物体检测模型包含压缩的特征提取骨干网络;S2、利用ImageNet的分类数据集预训练所述物体检测模型的物体分类任务;S3、对经过预训练的所述物体检测模型,再利用公开数据集Pascal VOC、COCO以及预先构建的检测数据集训练其物体检测任务;S4、利用服务器22层YOLO模型检测公开数据集Pascal VOC和COCO中的物体;S5、基于步骤S3和步骤S4的物体检测结果,分别提取出22层YOLO模型和所述物体检测模型的最后一层的对应激活值,并计算两个激活值之间的均方误差;S6、取上一步得到的均方误差,与原有的物体检测损失进行平均,作为新的损失函数,用以再一次训练所述物体检测模型;S7、导出训练好的物体检测模型的网络权重文件;S8、在手机端加载所述网络权重文件,以运行所述物体检测模型,并对物体检测模型的输出使用改进后的非极大值抑制算法,根据距屏幕中心的距离对检测置信度进行加权,提取出TOP N检测结果,作为最终的物体检测结果输出;1≤N≤5。

【技术特征摘要】
1.一种在手机端实现感兴趣物体实时检测的方法,包括以下步骤:S1、利用深度学习训练框架构建可在手机端运行的物体检测模型,其中,所述物体检测模型包含压缩的特征提取骨干网络;S2、利用ImageNet的分类数据集预训练所述物体检测模型的物体分类任务;S3、对经过预训练的所述物体检测模型,再利用公开数据集PascalVOC、COCO以及预先构建的检测数据集训练其物体检测任务;S4、利用服务器22层YOLO模型检测公开数据集PascalVOC和COCO中的物体;S5、基于步骤S3和步骤S4的物体检测结果,分别提取出22层YOLO模型和所述物体检测模型的最后一层的对应激活值,并计算两个激活值之间的均方误差;S6、取上一步得到的均方误差,与原有的物体检测损失进行平均,作为新的损失函数,用以再一次训练所述物体检测模型;S7、导出训练好的物体检测模型的网络权重文件;S8、在手机端加载所述网络权重文件,以运行所述物体检测模型,并对物体检测模型的输出使用改进后的非极大值抑制算法,根据距...

【专利技术属性】
技术研发人员:袁春邱鑫
申请(专利权)人:清华大学深圳研究生院
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1