文章目录

  • 0 项目说明
  • 1 简介
  • 2 模型训练精度
  • 3 扫一扫识别功能
  • 4 技术栈
  • 5 模型训练
  • 6 最后

0 项目说明

基于深度学习网络模型训练的车型识别系统

提示:适合用于课程设计或毕业设计,工作量达标,源码开放


1 简介

通过深度学习技术搭建残差网络,使用 CompsCars数据集进行车型识别模型的训练,并将训练好的模型移植到了Android端,实现了通过手机扫一扫的方式进行汽车车型识别的功能。

项目涉及到的技术点较多,需要开发者有一定的技术功底。如:python语言的使用、深度学习框架pytorch的使用、爬虫脚本的理解、Java语言的使用、Android平台架构的理解等等。

虽然属于跨语言开发,但是要求并不高,只要达到入门级别即可看懂本项目,并可以尝试一些定制化的改造。毕竟框架已经搭建好了,只需要修改数据源、重新训练出模型,就可以实现一款新的应用啦。

2 模型训练精度

以下是使用Resnet-34进行400次车型识别训练的 train-validation图表。

以下是使用Resnet-34进行400次车型识别训练 Top-1的错误率。

以下是使用Resnet-34进行400次车型识别训练 Top-5的错误率。

3 扫一扫识别功能

以下是移植到android平台后进行识别的结果展示图。

4 技术栈

开发语言:Python、Java
技术框架:pytorch、resnet-34、Android平台
可选借助平台:百度AI平台
项目构成:模型训练项目、爬虫项目、APP开发项目

5 模型训练


训练模型主要分为五个模块:启动器、自定义数据加载器、网络模型、学习率/损失率调整以及训练可视化。

启动器是项目的入口,通过对启动器参数的设置,可以进行很多灵活的启动方式,下图为部分启动器参数设置。

任何一个深度学习的模型训练都是离不开数据集的,根据多种多样的数据集,我们应该使用一个方式将数据集用一种通用的结构返回,方便网络模型的加载处理。

这里使用了残差网络Resnet-34,代码中还提供了Resnet-18、Resnet-50、Resnet-101以及Resnet-152。残差结构是通过一个快捷连接,极大的减少了参数数量,降低了内存使用。

以下为残差网络的基本结构和Resnet-34 部分网络结构图。


除了最开始看到的train-val图表、Top-、Top-5的error记录表以外,在训练过程中,使用进度条打印当前训练的进度、训练精度等信息。打印时机可以通过上边提到的 启动器 优雅地配置。
以下为最终的项目包架构。

pytorch_train|-- data                -- 存放读取训练、校验、测试数据路径的txt|   |-- train.txt       |   |-- val.txt|   |-- test.txt|-- result              -- 存放最终生成训练结果的目录|-- util                -- 模型移植工具|-- clr.py              -- 学习率|-- dataset.py          -- 自定义数据集|-- flops_benchmark.py  -- 统计每秒浮点运算次数|-- logger.py           -- 日志可视化|-- mobile_net.py       -- 网络模型之一 mobile_net2|-- resnet.py           -- 网络模型之一 Resnet系列|-- run.py              -- 具体执行训练、测试方法|-- start.py            -- 启动器

6 最后

【毕业设计_课程设计】基于深度学习网络模型训练的车型识别系统相关推荐

  1. 【camera】基于深度学习的车牌检测与识别系统实现(课程设计)

    基于深度学习的车牌检测与识别系统实现(课程设计) 代码+数据集下载地址:下载地址 用python3+opencv3做的中国车牌识别,包括算法和客户端界面,只有2个文件,surface.py是界面代码, ...

  2. 基于深度学习的水果检测与识别系统(Python界面版,YOLOv5实现)

    摘要:本博文介绍了一种基于深度学习的水果检测与识别系统,使用YOLOv5算法对常见水果进行检测和识别,实现对图片.视频和实时视频中的水果进行准确识别.博文详细阐述了算法原理,同时提供Python实现代 ...

  3. 基于深度学习的花卉检测与识别系统(YOLOv5清新界面版,Python代码)

    摘要:基于深度学习的花卉检测与识别系统用于常见花卉识别计数,智能检测花卉种类并记录和保存结果,对各种花卉检测结果可视化,更加方便准确辨认花卉.本文详细介绍花卉检测与识别系统,在介绍算法原理的同时,给出 ...

  4. 《智能步态识别门禁系统》,基于深度学习的多人步态识别系统

    本文章仅仅提供一种自认为比较科学的方式去实现多人步态识别,如果对多人步态识别感兴趣,却又不知道如何实现的话,这篇文章将会有莫大的帮助.以下方法作者皆实验过是可行的方案.(训练集124人,准确率96%, ...

  5. 基于深度学习的高精度交警检测识别系统(PyTorch+Pyside6+YOLOv5模型)

    摘要:基于深度学习的高精度交警检测识别系统可用于日常生活中检测与定位交警目标,利用深度学习算法可实现图片.视频.摄像头等方式的交警目标检测识别,另外支持结果可视化与图片或视频检测结果的导出.本系统采用 ...

  6. 基于深度学习的高精度苹果检测识别系统(Python+Pyside6)

    摘要:基于深度学习的高精度苹果检测识别系统可用于日常生活中来检测与定位苹果目标,利用深度学习算法可实现图片.视频.摄像头等方式的苹果目标检测识别,另外支持结果可视化与图片或视频检测结果的导出.本系统采 ...

  7. 基于深度学习的高精度塑料瓶检测识别系统(PyTorch+Pyside6+YOLOv5模型)

    摘要:基于深度学习的高精度塑料瓶检测识别系统可用于日常生活中或野外来检测与定位塑料瓶目标,利用深度学习算法可实现图片.视频.摄像头等方式的塑料瓶目标检测识别,另外支持结果可视化与图片或视频检测结果的导 ...

  8. 基于深度学习的高精度奶牛检测识别系统(PyTorch+Pyside6+YOLOv5模型)

    摘要:基于深度学习的高精度奶牛检测识别系统可用于日常生活中或野外来检测与定位奶牛目标,利用深度学习算法可实现图片.视频.摄像头等方式的奶牛目标检测识别,另外支持结果可视化与图片或视频检测结果的导出.本 ...

  9. 基于深度学习的高精度袋鼠检测识别系统(PyTorch+Pyside6+YOLOv5模型)

    摘要:基于深度学习的高精度袋鼠检测识别系统可用于日常生活中或野外来检测与定位袋鼠目标,利用深度学习算法可实现图片.视频.摄像头等方式的袋鼠目标检测识别,另外支持结果可视化与图片或视频检测结果的导出.本 ...

最新文章

  1. 2022-2028年小型风电产业投资及前景预测报告
  2. Java高危漏洞被再度利用 可攻击最新版本服务器
  3. 智能算法之Matlab实现(1)——遗传算法(1)
  4. docker镜像和容器区别
  5. cmake 构建路径_新手必备:win10 系统下 VSCode+CMake+Clang+GCC 环境的搭建
  6. signature=4abdf782f13579fc1b57d94a0c6ce95c,β-lactam-associated eosinophilic colitis
  7. 解决了MovieClip缩略图问题
  8. 我在项目中运用 IOC(依赖注入)--入门篇
  9. MAC M1系统下的几种截图工具
  10. POI PPT模板字段替换
  11. 计算机无法传输文件,手机连接电脑无法互传文件怎么办
  12. 高并发核心技术Redis系列(七)--------Jedis操作Redis
  13. 几个 Linux 耍酷命令,手把手教你如何技术撩妹!技术脱单
  14. NeurIPS/ICLR/ICML AI三大会国内高校和企业近年中稿量完整统计
  15. Matlab代码导入STM32F103流程
  16. IN4007和IN4148的用途
  17. CentOS7安装Alfresco6.2
  18. profidrive中PKW,PZD的概念
  19. 企业数据中台解决方案PPT(附下载)
  20. 前端JS 购物车的加减数量、计算总价

热门文章

  1. PanDownload又复活了!抓紧保存...
  2. 通过mkdocs 编辑文档
  3. 计算机毕业论文提纲如何写,计算机毕业论文提纲范例.doc
  4. 趣味闹钟,社区化讨论
  5. java dem数据格式解析_NSDTF-DEM格式数据
  6. 通过submit提交的表单怎么实现ajax提交
  7. 分布式实时计算课程学习(2.2)——Source API
  8. 【D^3CTF】D^3CTF部分题复现
  9. 原生js实现GET和POST
  10. JavaScript之作用域链 1