2 车型识别的探索和实践

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 目标检测是计算机视觉和数字图像处理的一个热门方向,广泛应用于机器人导航、智能视频监控、工业检测、视频结构化等领域等诸多领域,通过计算机视觉减少对人力资本的消耗,具有重要的现实意义。例如在监控安防领域,我们可以通过对行人和车辆进行目标检测、识别,对目标结构化,再将结构化后的语义存储起来,实现文字和视频的映射,能够在警察办案时提供快速查询视频的能力。而在工业场景下,目标检测可以对产品进行缺陷检测,在自动化流水线上设置高清摄像头,对工业产品的缺陷特征建模后,摄像头采集产品的图片,目标检测模型就能定位产品上的缺陷,从而提高产品质检的效率,提高收益。由于深度学习的广泛运用,目标检测算法得到了较为快速的发

2.1 研究意义
(1)解决视频资源无法产生价值、浪费存储资源的问题
在园区安防、仓储监管、智慧交通领域,有大量的摄像头对某一场景进行监控,并将获得的视频存储到本地服务器,占用大量的存储资源,存储一定周期后便进行删除。所获得视频资源除了备份之外,并未发挥更多的价值。而通过视频结构化分析,一方面可以通过提取关键帧、关键元素来减少视频存储的资源消耗,另一方面,便于检索,在需要时可以更快速地找到目标。
(2)解决无法融入大数据体系的问题
监控录像作为非结构化数据,它不能直接被计算机读取和识别,因此一直无法较好地与大数据体系进行兼容,无法利用计算机来进行视频数据的分析和挖掘。而视频图像能否通过智能分析技术经济而又高效地进行结构化处理,是视频大数据在智慧城市、数字社区领域落地的关键。
(3)沉淀产品 —— 视频结构化分析
视频结构化不仅仅可以服务于雷数大数据平台,也可以作为单独的产品提供给客户,结合人体行为识别,可以针对用户的某一特定场景产生价值,如工人进入工地是否带安全帽、作业行为是否符合规范等。
(4)技术积累 —— 计算机视觉
当前人工智能在工业场景的应用中,计算机视觉技术的需求场景占据较多比例,同时在工业、物流业、智慧城市行业的项目中有多种应用,但公司目前在该领域的技术积累仍然较少,因此实践和积累相关的计算机视觉技术经验对于公司未来发展具有重要意义。
2.2 公开数据集
MIO-TCD数据集是由在一天中的不同时间和一年中不同时段获得的137,743个图像组成,这些图像来自在加拿大和美国各地部署的数千个交通摄像机。选择这些图像是为了应对广泛的目标识别挑战,并且代表了当今城市交通情景中捕获的典型视觉数据。每个移动物体已被近200人仔细识别,以便于实现各种算法的定量比较和排序。该数据集旨在提供严格的基准测试,用于训练和测试现有的或新的算法,对交通场景中移动车辆进行分类和定位。
包含的数据标签有11类:
o Articulated truck(铰链式挂车)
o Bicycle(自行车)
o Bus(公交车)
o Car(轿车)
o Motorcycle(摩托车)
o Motorized vehicle (i.e. Vehicles that are too small to be labeled into a specific category)(因目标对象在图像中太小而无法标定为特定类别的车辆)
o Non-motorized vehicle(非机动车)
o Pedestrian(行人)
o Pickup truck(皮卡车)
o Single unit truck(单箱载重汽车)
o Work van(7座的商务车或面包车)
类别样例如下:

Articulated truck Bicycle Bus Car

Motorcycle Non-motorized vehicle Pedestrian Pickup truck

Single unit truck Work van
然后我们开始对车型图片进行标注,标注的软件我们使用的是开源的LabelImg,下载地址:https://github.com/tzutalin/labelImg。点击“Open Dir”、“Change Save Dir”选择刚刚建立的images以及labels文件夹,接下来就可以使用按钮选择需要label的图片,点击“Create RectBox”激活窗口绘图工具,开始标注,如图5.2所示。

模型训练完成,如图所示,能识别出car、work_van、single_unit_truck、pedestrian这些细分特征。mAP=0.70.

2.3 结果评价
YoloV3在其官网的介绍中写道,其在COCO数据集中能达到60.6%的map,而本文使用的MIO-TCD数据集在2017年的CVPR MIO-TCD挑战赛的结果中,最高达到了77%的平均精度,因此,本文测试的YoloV3模型的mAP为70%属于正常范围。YoloV3在55个epoch的训练后期有点过拟合了,所以,模型继续训练的意义不大,只能更改YoloV3模型,提高其性能。
YOLOv3参数表如表5.2所示,方便以后再遇到类似目标检测任务时速查。
表5.2 YOLOv3训练参数
参数类型 参数值
batch_size 8
image_size 416
cfg.filters num(yolo层个数)*(classes+5)
epoch 52
mAP 0.7
image.png

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
目录
相关文章
|
8月前
|
机器学习/深度学习 人工智能 算法
现身说法,AI小白的大模型学习路径
写这篇文章的初衷:作为一个AI小白,把我自己学习大模型的学习路径还原出来,包括理解的逻辑、看到的比较好的学习材料,通过一篇文章给串起来,对大模型建立起一个相对体系化的认知,才能够在扑面而来的大模型时代,看出点门道。
883 79
|
11月前
|
Web App开发 前端开发 JavaScript
JavaScript Web Full Stack 全栈开发者路线及内容推荐
本文详细介绍了一条全面的JavaScript全栈开发者学习路径,涵盖基础知识、前端和后端开发、数据库与API、MERN Stack与React Native、工程化与部署、安全与测试、未来趋势等方面。推荐了HTML5、CSS3、JavaScript(ES6+)、Node.js、React.js、Vue.js、Svelte、Tailwind CSS、Web Components等关键技术,并提供了丰富的书籍、博主和在线资源。此外,还回顾了JavaScript的历史,并推荐了多个活跃的社区和平台,帮助开发者紧跟技术前沿。
|
编解码 算法 计算机视觉
YOLOv8数据增强预处理方式详解:包括数据增强的作用,数据增强方式与方法
YOLOv8数据增强预处理方式详解:包括数据增强的作用,数据增强方式与方法
|
弹性计算 安全 网络安全
阿里云游戏服务器租用费用一年价格表
游戏服务器租用需要高性能、高主频及大带宽等特性,阿里云服务器多线BGP优质网络,公网带宽储备充足,多款云服务器ECS实例规格可选
1360 0
阿里云游戏服务器租用费用一年价格表
|
开发框架 监控 IDE
如何提高Python编程能力?
提高编程能力的唯一方法就是编程——写更多的代码! 什么是编程能力?——**用程序去解决真正的问题**,你的程序写的能让人读懂,这是编程能力;你的**程序高效可维护**,这是编程能力;你的**程序被review的次数很少**,质量很高,这是编程能力;你能快速理解一个小项目,小模块在做什么,怎么做的,这也是编程能力。
925 0
如何提高Python编程能力?
|
机器学习/深度学习 传感器 算法
【预测模型-ANN预测】基于布谷鸟优化人工神经网络算法实现数据预测附matlab代码
【预测模型-ANN预测】基于布谷鸟优化人工神经网络算法实现数据预测附matlab代码
|
存储 缓存 Java
|
供应链 算法 安全
朋新宇:瓴羊,阿里新物种,企业新伙伴
在瓴羊智能服务品牌发布会上,阿里巴巴集团副总裁、瓴羊CEO朋新宇发表了题为《瓴羊:阿里新物种,企业新伙伴》的演讲,以下为其演讲实录。
朋新宇:瓴羊,阿里新物种,企业新伙伴
|
JSON 安全 Java
使用Spring Security的OAuth2功能接入QQ登录
得益于Spring Security对OAuth2标准认证流程的封装,最简配置客户端也可以很方便地接入Google和Facebook等实现相对标准的OAuth2服务提供商。而对于QQ登录等不够标准的OAuth2流程来说,我们则可以在此基础上进行额外的适配工作,Spring Security良好的OAuth2扩展性同样为我们的适配提供了足够的支持。
1788 0
|
Android开发