首页IT科技目标检测最新论文(2023年目标检测毕业设计(yolov5车辆识别、车辆检测、车牌识别、行人识别))

目标检测最新论文(2023年目标检测毕业设计(yolov5车辆识别、车辆检测、车牌识别、行人识别))

时间2025-09-19 12:19:05分类IT科技浏览5205
导读:yolov5车辆识别视频...

yolov5车辆识别视频

yolov5 yoloR对比行人车辆识别视频

yolov8识别视频

订阅专栏获得源码:

http://t.csdn.cn/zsG47

​​​​​​​先看一下yolo发展史

二                、单目测距原理

 图中有一个车辆                ,且车辆在地面上                         ,其接地点Q必定在地面上                。那么Q点的深度便可以求解出来                         。具体求解步骤懒得打公式了        ,就截图了        。在单目测距过程中        ,实际物体上的Q点在成像的图片上对应Q’点                         ,Q’点距离o1点沿y轴的距离为o1p’        。这个距离o1p’除以y轴像素焦距fy (单位为pixel)                 ,再求arctan即可得到角度b’                         。然后按图中步骤很容易理解了                。

 

三                         、准备工作

参考我这篇文章:

第一步:将整个代码从github上下载下来        ,

 网址:GitHub - ultralytics/yolov5: YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite

也可以直接到GitHub上搜yolov5

主要是安装版本与配置声明中所需在库        。

matplotlib>=3.2.2

numpy>=1.18.5

opencv-python>=4.1.2

Pillow

PyYAML>=5.3.1

scipy>=1.4.1

torch>=1.7.0

torchvision>=0.8.1

tqdm>=4.41.0

tensorboard>=2.4.1

seaborn>=0.11.0

pandas

pycocotools>=2.0  # COCO mAP

albumentations>=1.0.2

(1)安装pytorch(建议安装gpu版本cpu版本太慢)

这些库中可能就pytorch比较难安装                         ,其他库用pip install 基本能实现                         。

可直接在Anaconda Prompt里输入:

pip install torch==1.7.0+cu101 torchvision==0.8.1+cu101 torchaudio===0.7.0 -f https://download.pytorch.org/whl/torch_stable.html

1.运行检测

下载完yolov5后                ,运行detect,可以帮助我们检查上面的环境是不是安装成功                。

 如果运行不报错                         ,我们会在runs//detect//exp 文件夹下看到两张已经预测出的照片。

3.运行检测

下载完yolov5后                         ,运行detect,可以帮助我们检查上面的环境是不是安装成功                         。

如果运行不报错                ,我们会在runs//detect//exp 文件夹下看到两张已经预测出的照片                         。

如果报错                         ,问题也不大        ,看就是安装的环境版本比较低或者没安装                ,我们稍微调试一下就OK了。

五        、数据集

我们先要创建几个文件夹用来存放数据和模型                。

在yolov5-master如下图所示文件夹

1.制作标签

这里我是以穿越火线为例                         ,提供100个已经标记好的数据(放在文末)                         。你也可以自己标记        ,一百张效果不是很好        ,可以多标记几张        。

(1)安装labelme

在Anaconda Prompt里pip install labelme

(2)使用labelme

在Anaconda Prompt里输入labelme                         ,会弹出一个窗口                。

然后打开图片所在的文件夹

点击rectangle                ,标记想要识别的东西                         。

环境准备

Anaconda 4.10.3 Tensorflow 2.6.0 python3.7.8 coding: utf-8 pycharm解释器:D:\Anaconda\envs\tensorflow\python.exe 以及各种第三方库

思路流程

1        、将图片通过opencv切割识别定位车牌        ,切割保存

2                         、识别省份简称                、识别城市代号        、识别车牌编号

功能描述

car_num_main.py :将图片转为灰度图像                         ,灰度图像二极化                ,分割图像并分别保存为.jpg和.bmp文件 train-license-province.py : 省份简称训练识别 train-license-letters.py :城市代号训练识别 train-license-digits.py :车牌编号训练识别

细节阐述

1                         、图片切割后分别保存在两个文件夹./img_cut and ./img_cut_not_3240 2                、识别车牌需进入终端,在命令行中进入脚本所在目录                         , 输入执行如下命令:python train-license-province.py train 进行省份简称训练 输入执行如下命令:python train-license-province.py predict 进行省份简称识别 输入执行如下命令:python train-license-letters.py train 进行城市代号训练 输入执行如下命令:python train-license-letters.py predict 进行城市代号识别 输入执行如下命令:python train-license-digits.py train 进行车牌编号训练 输入执行如下命令:python train-license-digits.py predict 进行车牌编号识别 3、将要识别的图片调为.jpg格式,大小调为像素600*413最佳                         ,可依据代码酌情调试 4                         、具体可以准确识别的车牌号参见数据集中训练集

测试数据集

项目总体框架

capture_img :存放将要识别的车牌图片

img_cut:运行car_num_main.py后生成切割后的图片

img_cut_not_3240 :运行 car_num_main.py 后生成切割后的图片(对比度加强)

test_images:存放测试图片

train_images: 存放训练图片

train-saver: 训练模型

过程展示

PS D:\pycharm\pycharm_work> cd .\chepai\

PS D:\pycharm\pycharm_work\chepai> python train-license-province.py train

复制代码

PS D:\pycharm\pycharm_work\chepai> python train-license-province.py predict

复制代码

PS D:\pycharm\pycharm_work\chepai> python train-license-digits.py predict

复制代码

技术简介

一                         、Tensorflow

TensorFlow是一个开放源代码软件库,用于进行高性能数值计算        。借助其灵活的架构                ,用户可以轻松地将计算工作部署到多种平台(CPU、GPU                、TPU)和设备(桌面设备                         、服务器集群        、移动设备                、边缘设备等)        。

TensorFlow 是一个用于研究和生产的开放源代码机器学习库                         。TensorFlow 提供了各种 API                         ,可供初学者和专家在桌面                         、移动        、网络和云端环境下进行开发                。

TensorFlow是采用数据流图(data flow graphs)来计算,所以首先我们得创建一个数据流流图,然后再将我们的数据(数据以张量(tensor)的形式存在)放在数据流图中计算        。节点(Nodes)在图中表示数学操作,图中的边(edges)则表示在节点间相互联系的多维数据数组, 即张量(tensor)                         。训练模型时tensor会不断的从数据流图中的一个节点flow到另一节点                。

二        、OpenCV

OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库        ,可以运行在Linux                         、Windows                、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成                ,同时提供了Python        、Ruby                         、MATLAB等语言的接口                         ,实现了图像处理和计算机视觉方面的很多通用算法                         。

OpenCV提供的视觉处理算法非常丰富        ,并且它部分以C语言编写        ,加上其开源的特性                         ,处理得当                ,不需要添加新的外部支持也可以完整的编译链接生成执行程序        ,所以很多人用它来做算法的移植                         ,OpenCV的代码经过适当改写可以正常的运行在DSP系统和ARM嵌入式系统中                         。其应用领域诸如:人机互动                ,物体识别,图像分割                         ,人脸识别                         ,动作识别,运动跟踪                ,机器人                         ,运动分析        ,机器视觉                ,结构分析                         ,汽车安全驾驶等领域。

系统设计

车牌自动识别是以计算机视觉处理                、数字图像处理、模式识别等技术为基础        ,对摄像机所拍摄的车辆图像或者视频图像进行处理分析        ,得到每辆车的车牌号码                         ,从而完成识别的过程                。在此基础上                ,可实现停车场出入口收费管理                         、盗抢车辆管理                         、高速公路超速自动化管理、闯红灯电子警察                、公路收费管理等各种交通监管功能                         。

一                         、系统处理流程

车牌自动识别系统的设计包含车辆图像获取        、车牌区域定位                、车牌特征轮廓提取和车牌内容识别环节        。

二                         、车牌获取

车牌图像获取是进行车牌识别的首要环节        ,车牌图像可以从摄像机拍摄的车辆图像或者视频图像中进行抽取                         ,车牌图像的获取也可由用户手机拍摄后传入车牌识别系统                。

三        、灰度图像生成

摄像机拍摄的含有车牌信息的车辆图像是彩色的                ,为了提高车牌识别的抗外界干扰的能力,先将彩色车辆图像生成二值的灰度图像                         ,实现基于色调的车牌区域定位                         。由于国内的车牌往往是蓝底白字                         ,因此,可以利用图像的色调或者色彩饱和度特征                ,生成二值灰度图像                         ,从而实现更加准确地定位车牌位置        。

四        、车牌区域定位

车牌区域的定位采用基于形状的方法        。由于车辆图像背景比较复杂        ,所以应该根据车牌的特征进行初次筛选                         。车牌的特征可以选择中国车牌的大小                         、比例特征                ,因为车牌都是固定的矩形形状                         ,通过首先寻找图像上拥有矩形特征的区域        ,然后再抽取这些区域        ,再结合车牌的长宽的比例特征可以筛选出相应的矩形区域                         ,从而实现对车牌的准确定位                。

五                、特征轮廓提取

OpenCV 与 Python 的接口中使用 cv2.fifindContours() 函数来查找检测物体的轮廓        。

声明:本站所有文章                ,如无特殊说明或标注        ,均为本站原创发布                         。任何个人或组织                         ,在未征得本站同意时                ,禁止复制        、盗用                         、采集                、发布本站内容到任何网站、书籍等各类媒体平台                。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
手机在网上赚钱犯法吗(手机网上什么最赚钱项目-一部手机即可轻松月入过万,为什么还教你赚钱?揭秘骗子真实套路)