车位关键点检测-车位识别-车辆识别检测(教程+代码)

车位关键点检测、车位识别和车辆识别检测是现代智能交通系统中的重要技术,它们在提高停车管理效率和交通流畅度方面起着重要作用。以下是对这三个技术的分点阐述:
1. 车位关键点检测:

车位关键点检测是指通过计算机视觉技术,自动地检测出停车场区域内的每个车位的位置和边界。这个过程通常涉及到目标检测和图像分割等算法。通过车位关键点检测,可以实现对停车场的精细管理和优化,提高停车位的利用率。

2. 车位识别:

车位识别是指通过车位关键点检测后,进一步对每个车位进行状态判断,即判断该车位是否被占用。这个过程通常通过图像分类或物体检测算法来实现。车位识别可以帮助驾驶员快速找到可用车位,减少寻找空余车位的时间和拥堵情况,提高停车效率。

3. 车辆识别检测:

车辆识别检测是指对停车场内的车辆进行实时监测和识别。通过使用计算机视觉和机器学习技术,可以对车辆进行自动识别,并进一步分析车辆的类型、颜色、车牌等信息。车辆识别检测可以应用于车辆出入口管理、违规停车监控等场景,提高交通管理的效率和安全性。

综上所述,车位关键点检测、车位识别和车辆识别检测是现代智能交通系统中的关键技术。通过这些技术的应用,可以实现停车场管理的智能化和优化,提高停车效率和交通流畅度。随着计算机视觉和机器学习技术的不断进步,相信这些技术在未来会发挥更加重要的作用,为我们的城市交通带来更多便利和效益。

概述


基于深度学习的鱼眼图像中的停车点检测和分类是为二维物体检测而开发的。我们的工作增强了预测关键点和方框的能力。这在许多场景中很有用,因为对象不能用右上的矩形“紧密”表示。一个这样的例子,道路上的任何标记,由于透视效果,在现实世界中的对象矩形不会在图像中保持矩形,所以关键点检测显得格外重要。鱼眼图像还呈现了观察到这种现象的另一种场景,由于鱼眼宽广的视角,可以扑捉更多画像。
预知结果

上面的例子显示了一个停车位,它不能用直立的矩形(黄色)来表示。由4个关键点(蓝色)包围的形状表示它更符合要求。


算法过程


在自动驾驶(AD)应用领域中,自动代客泊车(AVP)在机会和采用方面尤其具有吸引力。摄像机是AVP应用中常用的感知传感器之一。在摄像机馈送中,停车点的检测和分类为空闲或占用是关键的。
停车点检测功能在自主操作期间用于定位和操纵到适当的停车位置。停车点检测的主要挑战在于在图像域中将停车点表现为梯形。此外,用于环绕视野或泊车辅助功能的现代相机往往是鱼眼,其中镜头失真会导致现实生活中的直线段和物体看起来弯曲。
提出了一种基于深度学习中对象检测框架的高效像素级停车点实例化和分类方法。该方法使用MobileNet-V1网络架构作为主干卷积神经网络(CNN),并使用改进的单镜头检测器(SSD)作为对象检测元架构,以直接在鱼眼域中执行停车点实例化。

物体检测功能的传统SSD元架构已经创新性地增强,以检测停车点的主要关键点,从而精确地描绘停车点边界。所提出的解决方案对于检测到的包围停车点的矩形盒实**现了0.87mAP,**并且每次检测的四个角点的精度为0.76OKS。

数据集
开发了名为TI_PSD_VD_V3的内部数据集,该数据集具有边界框+其他关键点注释。已经对以下三类进行了注释。

 

1-空停车位
2-占用的停车位
3-车辆

方案


为每个停车点和车辆采集四个角点坐标。注释时保持关键点的顺序。第一和第二个关键点分别是停车点入口的左角和右角。其余角点沿逆时针方向捕捉。对于车辆,第一和第二关键点分别是包围车辆的矩形的地面上最左侧和最右侧的关键点。其他两个关键点是在车辆逆时针方向捕捉的车辆的其他两个角。
Bounding box参数是包围捕获的四个关键点的矩形框。边界框参数不带注释,而是在捕捉关键点后导出。

准确性


TI_PSD_VD_v3数据集的精度低于@IOU阈值=0.6。这是与下面提到的预训练模型相对应的精度。
|类别 |mAP|
|空停车位 |85.48%|
|占用停车位 |75.75%|
|车辆 |67.25%|
|平均AP |76.16%|
 

#全部代码可加qq767172261def train():#parses command line argsargs = parse_args()#parses args from fileif args.config_file is not None:cfg_from_file(args.config_file)if (args.FIX_MODEL_CHECKPOINT):args.FIX_MODEL_CHECKPOINT = args.FIX_MODEL_CHECKPOINT.replace(" ", "")args.FIX_MODEL_CHECKPOINT = args.FIX_MODEL_CHECKPOINT.replace("=", "")cfg.RESUME_CHECKPOINT = args.FIX_MODEL_CHECKPOINTcfg.CHECK_PREVIOUS = Falseif (os.path.exists(cfg.RESUME_CHECKPOINT) == False):print('Exiting the process as asked model for resuming is not found')exit()if (args.RESUME_CHECKPOINT):cfg.RESUME_CHECKPOINT = args.RESUME_CHECKPOINTif (args.LOG_DIR):cfg.EXP_DIR = args.LOG_DIRcfg.LOG_DIR = cfg.EXP_DIRif (args.PHASE):cfg.PHASE = []cfg.PHASE.append(args.PHASE)if (args.EVAL_METHOD):cfg.DATASET.EVAL_METHOD = args.EVAL_METHOD#for backward compatibilityif cfg.DATASET.DATASET == 'psd':cfg.DATASET.DATASET = 'tiod'if cfg.DATASET.BGR_OR_RGB == True:#cfg.DATASET.PIXEL_MEANS = (123.68, 116.78, 103.94)#cfg.DATASET.PIXEL_MEANS = (123, 117, 104)cfg.DATASET.PIXEL_MEANS = (128.0, 128.0, 128.0) # simpler mean subtraction to keep data in int8 after mean subtractionprint("cfg: ", cfg)for phase in cfg.PHASE:cfg_dir = cfg.LOG_DIR + '/' + phase + '_cfg/'os.makedirs(os.path.dirname(cfg_dir), exist_ok=True)shutil.copy(args.config_file, cfg_dir)# to making every run consistent # TIInp.random.seed(100)torch.manual_seed(100)torch.cuda.manual_seed(100)random.seed(100)torch.cuda.manual_seed_all(999)torch.backends.cudnn.enabled = Falsetrain_model()if __name__ == '__main__':train()

 推理结果 全部代码可私信。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/598828.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Docker中镜像的相关操作

1.辅助操作 docker version:用查看docker客户端引擎和server端引擎版本信息。 docker info:用来查看docker引擎的详细信息。 docker --help:用来查看帮助信息。 2.镜像Image docker images:查看当前本地仓库中存在哪些镜像。 …

解决uniapp打包成apk后uni.getStorageSync获取不到值

uniapp写的项目,在hbuilderx中云打包成apk后我在登录存储的token死都获取不到,导致后续接口请求头没有token连接不到接口,只有运行到手机或者模拟器还有打包成apk后是获取不到,其他的小程序还有网页都可以获取到 试过了很多种方法…

【递归】C++算法:124 二叉树中的最大路径和

作者推荐 【动态规划】【字符串】扰乱字符串 本文涉及的基础知识点 递归 124. 二叉树中的最大路径和 二叉树中的 路径 被定义为一条节点序列,序列中每对相邻节点之间都存在一条边。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点&#x…

Android linphone-android sdk设置语音编码问题

1.遇到的问题 今天遇到linphone-android sdk需要解决语音编码问题,需要指定编码。查了下配置,里面没有发现类似的配置。 ## Start of factory rc # This file shall not contain path referencing package name, in order to be portable when app is r…

基于SpringBoot+thymeleaf的养老院管理系统(Java毕业设计)

大家好,我是DeBug,很高兴你能来阅读!作为一名热爱编程的程序员,我希望通过这些教学笔记与大家分享我的编程经验和知识。在这里,我将会结合实际项目经验,分享编程技巧、最佳实践以及解决问题的方法。无论你是…

本地引入Element UI后导致图标显示异常

引入方式 npm 安装 推荐使用 npm 的方式安装&#xff0c;它能更好地和 webpack 打包工具配合使用。 npm i element-ui -SCDN 目前可以通过 unpkg.com/element-ui 获取到最新版本的资源&#xff0c;在页面上引入 js 和 css 文件即可开始使用。 <!-- 引入样式 --> <…

[NSSRound#3 Team]This1sMysql

[NSSRound#3 Team]This1sMysql 源码 <?php show_source(__FILE__); include("class.php"); $conn new mysqli();if(isset($_POST[config]) && is_array($_POST[config])){foreach($_POST[config] as $key > $val){$value is_numeric($var)?(int)$…

【linux】日志管理和分析

一、概述 在Linux系统的管理和运维中&#xff0c;日志文件起到至关重要的作用。它们记录了系统运行过程中的各种事件&#xff0c;包括系统故障、性能数据和安全事件。 二、 日志的作用和分类 日志的作用 日志文件记载了系统的生命线&#xff0c;利用它们可以&#xff1a; 1…

震惊!原来这就是JavaScript闭包的秘密

&#x1f4e2; 鸿蒙专栏&#xff1a;想学鸿蒙的&#xff0c;冲 &#x1f4e2; C语言专栏&#xff1a;想学C语言的&#xff0c;冲 &#x1f4e2; VUE专栏&#xff1a;想学VUE的&#xff0c;冲这里 &#x1f4e2; CSS专栏&#xff1a;想学CSS的&#xff0c;冲这里 &#x1f4…

硬盘基本知识(磁头、磁道、扇区、柱面)

概述 盘片&#xff08;platter&#xff09; 磁头&#xff08;head&#xff09; 磁道&#xff08;track&#xff09; 扇区&#xff08;sector&#xff09; 柱面&#xff08;cylinder&#xff09; 盘片 片面 和 磁头 硬盘中一般会有多个盘片组成&#xff0c;每个盘片包含两个面…

Eviews 11安装包下载及安装教程

Eviews 11下载链接&#xff1a;https://docs.qq.com/doc/DUmRGdXVUeVBSU1lK 1.选中下载好的安装包&#xff0c;右键解压到“Eviews 11”文件夹 2.选中"Setup.exe"鼠标右键选择以管理员身份运行 3.点击“Next” 4.勾选“I Accept...”&#xff0c;点击“Next” 5.选择…

理解String 及 String.intern() 在实际中的应用

1. 首先String不属于8种基本数据类型&#xff0c;String是一个对象。     因为对象的默认值是null&#xff0c;所以String的默认值也是null&#xff1b;但它又是一种特殊的对象&#xff0c;有其它对象没有的一些特性。   2. new String()和new String(“”)都是申明一个…

记一次 .NET某工控 宇宙射线 导致程序崩溃分析

一&#xff1a;背景 1. 讲故事 为什么要提 宇宙射线, 太阳耀斑 导致的程序崩溃呢&#xff1f;主要是昨天在知乎上看了这篇文章&#xff1a;莫非我遇到了传说中的bug&#xff1f; &#xff0c;由于 rip 中的0x41变成了0x61出现了bit位翻转导致程序崩溃&#xff0c;截图如下&am…

Jenkins接口调用

Jenkins是好用&#xff0c;但是接口文档写的稀烂 1、授权&#xff0c;Jenkins不推荐使用创建单个任务时创建的token&#xff0c;推荐这个用户下的创建user token。 点击自己账号信息&#xff0c;即可创建token。 2、postman选择basic auth&#xff0c;输入账号密码&#xff0…

CentOS 7 基于官方源码和openssl制作openssh 9.6 rpm包(含ssh-copy-id) —— 筑梦之路

之前写了一篇&#xff1a; CentOS 7 制作openssh 9.6 rpm包更新修复安全漏洞 —— 筑梦之路_升级openssh9.6-CSDN博客 有好几个网友反馈&#xff0c;ssh-keygen生成密钥存在问题&#xff0c;之前的rsa \ dsa加密算法用不了&#xff0c;因此写了一篇&#xff1a; 关于openssh…

nginx 二、配置域名

文章目录 一、配置本地域名查看虚拟机ip修改hosts文件测试域名是否配置成功 二、配置aliyun域名三、实践1.创建html2.配置nginx3.测试服务器内部测试页面测试 总结 docker中启动nginx容器完成如下操作&#xff0c;对于docker安装nginx可以看这篇文章 nginx 一、安装与conf浅析 …

Linux上搭建YApi

YApi是http接口管理和测试的重要工具&#xff0c;其作用相当于原来用的postman&#xff0c;但是比postman有更多的功能&#xff0c;本篇文章主要介绍如何在linux环境中快速的安装&#xff08;利用yum命令安装&#xff09;和部署YApi 一、nodejs 安装 1.1 下载nodejs包 yum i…

Harbor配置同步规则删除不掉

【问题原因】 harbor上主从两个仓库&#xff0c;配置同步规则时&#xff0c;定时任务配置太频繁&#xff0c;导致规则修改&#xff0c;删除都失败。 【问题现象】 点击修改后保存&#xff0c;页面报internal server error的错。 【问题排查】 docker ps | grep harbor 查看…

仓库管理软件有哪些比较好用?

“仓库管理软件有哪些比较好用&#xff1f;” “好用&#xff0c;却不一定适合。” 有时候&#xff0c;不是某个仓库管理软件不好用&#xff0c;而是它不适合你们企业。 制造业企业的仓库管理场景&#xff0c;随着制造业企业规模的扩大&#xff0c;逐步精细化&#xff0c;企…

JAVA基础学习笔记-day12-泛型

JAVA基础学习笔记-day12-泛型 1. 泛型概述1.1 泛型的引入 2. 使用泛型举例2.1 集合中使用泛型2.2 相关使用说明 3. 自定义泛型结构3.1 泛型的基础说明3.2 自定义泛型类或泛型接口3.2.1 说明3.2.2 注意 3.3 自定义泛型方法3.3.1 说明 4. 泛型在继承上的体现5. 通配符的使用5.1 通…