原文链接:https://blog.csdn.net/weixin_36431018/article/details/112369786

在交通安防中,车型识别是一个重要的技术点,车型识别主要包括车辆检测、型号识别、颜色识别,基于视频的车型识别,还包括跟踪算法的设计。我们在19年开源了一套车型识别模型HyperVID:
https://github.com/zeusees/HyperVID​github.com

2020年7月对该模型进行了进一步更新,目前支持大陆超过4000种车型及年款。感兴趣的技术人员可以关注一下。下面我们将其中涉及的技术进行拆解。

1.数据

我们知道,基于深度学习的识别算法,强烈依赖于数据的规模和质量,首先需要准备大量的车型数据,目前公开的车型数据集主要包括:

1)BIT-Vehicle Dataset(目前网站已不能访问,需要下载可以自行百度查找下载链接)

2)MIT Cars Dataset(https://ai.stanford.edu/~jkrause/cars/car_dataset.html)

3)The CompCars dataset(CompCars Dataset)

单纯利用公开的数据,很难获得较高的准确率,一方面开源的数据集样本数量不足,另外样本的角度、场景不够丰富,这些都制约模型的准确率。我们的实习生也下载了一些数据,大家可以在仓库中下载。

2.车辆检测

目前已经有很多较好的检测算法,例如:SSD、YOLOV3、YOLOV4、CenterNet、RetinaNet,还有针对单一物体检测的算法,包括:MTCNN、RetinaFace、LFFD(YonghaoHe/A-Light-and-Fast-Face-Detector-for-Edge-Devices),我们在进行车型识别的时候,主要选择了YOLOV3作为多物体检测框架,RetinaFace作为单一物体检测框架。大家可以根据自己的需求进行选择。

3.跟踪

跟踪算法很多,这里只关注实战中效果好,够快的算法,我们选择KCF及光流。不同的算法实现效率差别很大,我们测试过很多开源的算法,github上这个KCF算法的实现效率比较高(joaofaro/KCFcpp),基于光流的算法大家可以利用opencv实现。

这里 mobilenet-ssd with kcf (apoorvavinod/Real_time_Object_detection_and_tracking)是一个检测加跟踪的例子,大家可以作为参考。

4.车辆颜色识别

关于车辆外观颜色的识别,公安部有相应的标准,需要支持其中主流的9种颜色,目前很多公司都会增加识别颜色的类别,11种、13种的都比较多。在车辆颜色识别这一块,我们选择单独的一个小网络来实现,有些公司采用一个多任务网络,在进行车辆种类识别的同时,完成颜色的识别,这种方式速度很相对快一点,但是升级起来比较麻烦,每次都要进行多任务的训练,并且多任务的网络训练起来也相对复杂。因为市面上车辆的颜色种类相对固定,颜色识别模型只需要训练一次,就可以在后期复用。颜色分类比较简单,大家可以自己选择一个小网络进行训练,其中shufflnet、SqueezeNet、mobilenet-0.25都是比较好的模型。

5.车辆种类识别

车辆种类识别,正常来讲属于fine-grained任务,就是所谓的细分类,目前有很多论文研究细分类的问题,工业界的实现通常有别于学术界,我们通常选择一个高效的网络,直接进行分类,同样可以得到较好的识别效果。我们大多针对移动端和边缘设备,我们选取了mobilenetv3-large作为主干网络,在5600种车型分类中,Top-1可以达到96%的准确率。Top-3能达到99.8%以上。根据我们的经验,利用resnet50基本可以满足车辆识别分类任务,再大的网络意义也不是很大,毕竟要兼顾准确率和速度。

6.后记

可以看到,整个车辆识别系统种,除了跟踪部分,我们都选择了基于深度模型进行识别,一方面深度学习能够取得较好的识别效果,另外目前的边缘设备,服务器,都有基于GPU、TPU的加速模块,能够释放CPU的压力。也是目前技术发展的一个趋势,感兴趣的朋友可以自己尝试开发一下。

7.相关链接

1)在线体验:智云视图-专注移动端高效视觉算法研发

2)SqueezeNet:forresti/SqueezeNet

3)RetinaFace:https://github.com/biubug6/Pytorch_Retinaface

4)QQ群:737677707
相关资源:Python+OpenCv实现车牌检测与识别

yolov3识别的类别_车型识别相关技术相关推荐

  1. halcon识别ocr汉字_手写汉字识别——手写文本快速电子化的好方法

    最近在试着把之前手写的一些文本录入电脑,在动手敲打之前,我就想会不会已经有很好的工具能够解决这个问题了呢?一搜索一尝试,我才发现原来手写汉字识别已经发展到很实用的地步啦-连我这..一手烂字都能有很高的 ...

  2. 易语言python识别图片验证码_图片识别-打码平台-打码网站-识别验证码-图鉴网络科技有限公司...

    Android脚本 Import "Cjson.lua" Import "ttddm.lua" Import "ShanHai.lua" / ...

  3. java名片识别源码_名片识别名片信息快速提取

    原标题:名片识别名片信息快速提取 以中安的名片识别技术为例剖析,它可提供移动端名片识别OCR API,同时还提供云端名片识别OCR API. Application Programming Inter ...

  4. java名片识别源码_名片识别

    原标题:名片识别 以文通科技的名片识别技术为例剖析,它可提供移动端名片识别OCR API,同时还提供云端名片识别OCR API. Application Programming Interface,简 ...

  5. 人脸识别撞脸名画_人脸识别_“名画匹配”刷爆屏 想知道你和哪副名画撞脸了吗...

    "名画匹配"刷爆屏 想知道你和哪副名画撞脸了吗 2018-01-25 世界上那么多名画,每一幅画都有独一无二的意义.和你的脸一样,这些画各有特色,每一幅都是特别的存在,想知道你和哪 ...

  6. python实现人脸识别复杂么_人脸识别没有那么复杂,Python一行代码就可以办到

    今天给大家分享一个,用一行python代码实习人脸识别. 环境要求: Ubuntu17.10 Python 2.7.14 环境搭建: 1. 安装 Ubuntu17.10 > 安装步骤在这里 2. ...

  7. android ocr识别源码_身份证识别OCR解决手动输入繁琐问题

    随着互联网金融的的发展,越来越多的互联网金融公司都推出了自己的金融APP,这些APP都涉及到个人身份证信息的输入认证,如果手动去输入身份证号码和姓名,速度非常慢,且用户体验非常差. 为了提高在手机移动 ...

  8. python实现人脸识别比对_人脸识别并比对实现(基于face_recognition)

    Face Recognition 是一个基于python的人脸识别框架,我们在此之上来实现人脸比对. 环境要求 Python 3.3+ or Python 2.7 macOS or Linux (Wi ...

  9. 发生无法识别的错误_车牌识别系统的核心部件抓拍摄像机怎么安装?

    谈到车牌识别停车场系统,相信很多人都已经切身体验到了它给我们日常停车带来的便捷之处.但是,如果系统安装的不规范很容易导致识别不出车牌号,甚至识别车牌号错误的情况的发生,主要原因就是车牌识别摄像机的安装 ...

最新文章

  1. 2851 菜菜买气球
  2. OC画笔CGContextRef
  3. BootStrap的下载及使用方法
  4. C和C++线性表基本概念
  5. C++不同文件中相同变量的共享
  6. zencart 如何修改在线人数和订单编号
  7. visual设计的界面发布到iis上显示不一样_享声 SOUNDAWARE 发布可“全民HIFI“的网播一体机 A1...
  8. k8s核心技术-Helm(概述)---K8S_Google工作笔记0044
  9. win7_64 安装 caffe
  10. python中怎么求标准差_python 标准差计算的实现(std)
  11. 索引sql server_SQL Server索引操作
  12. access抓取数据_十年数据库流行度,哪款是你的最爱
  13. 时间定位表达式-用于时间的加、减调整
  14. 数据库类型约束自增长
  15. 区块链100问:区块链到底能不能篡改?
  16. C#使用 OleDbConnection 连接读取Excel
  17. db9小波包分解matlab,小波包分解 仿真 matlab
  18. android实现activity半透明色
  19. 操盘手怎样于2019年4月17号的二级市场中基于ATR实现开仓平仓
  20. 博通 bcmdhd 网卡驱动分析

热门文章

  1. Linux学习笔记——ubuntu必会背景知识及系统目录结构详解
  2. 哥特体css样式叫什么,css – 世纪哥特字体可用性问题
  3. 送给大家一个把阿拉伯数字与罗马数字互换的代码 -.- 仅支持4000以下的转化
  4. 51单片机学习日记 | LCD1602黑块和闪烁问题的处理
  5. 计算机在材料科学研究中的应用,计算机在材料科学中的应用
  6. 速学堂第四章代码练习题
  7. SCRT连不上本地虚拟机的linux解决方法
  8. 如何从零开始学习人工智能
  9. 枚举是什么?为什么用?怎么用?
  10. 工程制图计算机考试题库,2017年CAD期末考试复习题库「附答案」