# 概要
本仓库是全国大学生智能汽车竞赛讯飞智能餐厅组别南航猫猫子带带我队的视觉识别代码仓库
开源代码版本为20210819国赛代码,在下赛季比赛结束前本仓库不再维护
## 前言
#### 本仓库使用`GPL-3.0`协议开源,请在协议要求内使用本仓库代码
#### 注意:任何使用了本仓库代码的程序需要在显要位置标明本仓库地址,并使用`GPL-3.0`协议开源
#### 本仓库视觉识别代码基于 [tensorrtx](https://github.com/wang-xinyu/tensorrtx) 项目编写
阿巴阿巴这次比赛里面虽然我们的车没能完赛,导航部分就不放出来了,这里开源的是视觉部分的代码,希望能给各位提供一点参考
参考[规则链接](https://blog.csdn.net/zhuoqingjoking97298/article/details/119579532)
## 运行要求
本代码运行需要TensorRT 4\~7,ROS melodic环境
目前仅在讯飞mini版本小车上进行过编译测试
使用讯飞小车摄像头在480P分辨率下进行测试,7号位可不停车识别,1\~5号位仅需在C区入口进行两次拍照,效率极高,相关配置均可通过配置文件快速调整
(配置文件位于`ucamera`包中)
## 目录结构
所有代码均位于本仓库src目录下
`detect_server2`为识别控制器,采用先进先出队列对待识别图片进行控制,对相同点位拍摄的图片进行取平均,对不同点位识别结果相加
`retinaface5`为识别节点,提供识别服务
> 我们初期测试过使用传统算法来进行头发和眼镜特征的识别,其中眼镜识别效果不理想未提供文件,长头发识别可参考本包下`hair.cpp`文件
> `glass.cpp`文件为采用模板匹配对人物进行识别(后面懒得改名字了)
> 在运行本包前,需要在`engine`目录下放置名为`retina_r50.engine`的引擎文件,该文件获取见tensortx项目trt4分支retinaface文件夹
> 另外其实retina_mnet的精准度也不错,运行速度比r50快得多,但是我没找到mnet的trt4版本,如果可以移植过来效果应该会好不少
`ucamera`和`ucamera_debug`为两个视频输出节点,一个用于常规运行,仅在运行到指定点位时发送识别数据以节省资源,另一个一直发送用于调试
## 详细技术文档
![识别流程图](flow.png)
图中深蓝色为相机节点,橘黄色为识别控制节点,浅蓝色为识别节点。
在提取人脸的过程中,我们使用TensorRT加速RetinaFace模型的运行,使其能在480P下达到2FPS的识别速度。在特征提取中,我们测试了颜色提取、边缘提取、模板匹配等方案。
颜色提取算法中,我们将图片进行自动白平衡与自动色阶的调整后转换为YCbCr色彩空间,然后提取头发区域,通过判断该区域大小与位置判断是否为长头发,该算法在识别长头发特征中具有较好的鲁棒性与稳定性;
边缘提取为原定识别眼镜特征的方案,通过提取图片边缘与轮廓后,寻找RetinaFace识别中识别到的眼睛特征点的第一层父轮廓,通过判断其长度确定是否存在眼镜特征,但该算法虽在图片上表现较好,但受限于实际相机的分辨率与运动模糊,在机器人上实际表现不佳;
在赛方公布本次比赛中只存在已公布的7个人物后,我们编写了模板匹配算法,通过RetinaFace提取出人物脸部区域,并缩放至固定大小,然后进行模板匹配,在实际运行过程中也具有较好的表现。
为了应对赛场周边可能出现的裁判、队员等人物对识别造成的干扰,我们设计了一套防干扰算法。由于在比赛中,所有人物脸部均位于同一水平面上,故所有人物的脸部的垂线与相机水平面构成的三角形均构成相似三角形,即人物脸部的bbox的y坐标与高度成线性关系,在固定相机角度后,我们做出以下分析图,可见Y坐标预测值与真实值差距约在20像素以内,我们认为当预测值与真实值之差的绝对值大于25时为误识别人脸,经实际测试,该算法对排除场外人员干扰有较好效果。
![Y-H图](chart.png)
没有合适的资源?快使用搜索试试~ 我知道了~
竞赛资料源码-全国大学生智能汽车竞赛讯飞智能餐厅组别南航猫猫子带带我队的视觉识别代码仓库.zip
共93个文件
wav:35个
xml:15个
cpp:8个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 60 浏览量
2024-02-06
16:54:39
上传
评论
收藏 10.95MB ZIP 举报
温馨提示
【目标受众】: 本项目适合IT相关专业各种计算机技术的源代码和项目资料,如计科、人工智能、通信工程、自动化和电子信息等的在校学生、老师或者企业员工下载使用。 也适合小白学习进阶,可以用作比赛项目、可以进行项目复刻去参加同赛道比赛。 【资源内容】: 源码与竞赛资料:教育部认可的大学生竞赛备赛资料代码、源码、竞赛总结。 功能与质量保证:这个资源库是一个宝贵的学习平台,有助于他们深入了解计算机技术的原理和应用。这些源码经过测试和验证,可以直接运行,方便学生快速上手并开始实践。 【应用场景】: 竞赛准备:适用于各种教育部认可的竞赛,如全国电子设计大赛、全国大学生智能汽车竞赛等,他们可以借助这些资料了解竞赛的规则、要求和技巧。 学习与项目开发:可以用作毕设、课设、作业和竞赛项目的开发基础,可以使用这些源码作为项目开发的基础,快速构建出具有竞争力的作品。 【互动与交流】: 资料鼓励下载和使用这些资源,并欢迎学习者进行沟通交流、互相学习、共同进步。这种互动式的学习方式有助于形成良好的学习氛围,促进知识的共享和传播,为计算机相关专业的学习者提供了一个全面的学习和发展平台。
资源推荐
资源详情
资源评论
收起资源包目录
全国大学生智能汽车竞赛讯飞智能餐厅组别南航猫猫子带带我队的视觉识别代码仓库.zip (93个子文件)
资料总结
flow.png 29KB
src
retinaface5
include
retinaface5
glass.h 197B
common.h 10KB
plugin_factory.h 278B
decode.h 2KB
CMakeLists.txt 2KB
src
plugin_factory.cpp 586B
decode.cu 5KB
glass.cpp 8KB
hair.cpp 8KB
retina_r50.cpp 26KB
package.xml 3KB
.idea
retinaface5.iml 97B
.name 11B
libraries
workspace.xml 134B
ROS.xml 128B
misc.xml 137B
modules.xml 274B
deployment.xml 648B
.gitignore 176B
ros.xml 660B
engine
.gitkeep 0B
launch
nn.launch 265B
example
2.jpg 2.96MB
6.jpg 44KB
1.jpg 83KB
5.jpg 49KB
0.jpg 3.1MB
3.jpg 3.19MB
7.jpg 1.95MB
4.jpg 75KB
srv
detect.srv 66B
ucamera
wav
glass2.wav 62KB
当前运输的是水果.wav 63KB
hair0.wav 78KB
当前运输的是蔬菜.wav 63KB
您的菜品已送达,请您取餐.wav 86KB
people1.wav 113KB
people0.wav 114KB
当前运输的是肉类.wav 62KB
hair2.wav 78KB
glass1.wav 62KB
people2.wav 114KB
hair1.wav 78KB
glass0.wav 61KB
CMakeLists.txt 7KB
src
ucamera_node.cpp 13KB
.ucamera_node.cpp.swp 28KB
ucamera_node_without_stop.cpp 12KB
package.xml 3KB
.CMakeLists.txt.swp 24KB
msg
detect_info.msg 66B
config
nav.yaml 783B
ucamera_debag
wav
识别到长发顾客零人.wav 69KB
glass2.wav 74KB
当前运输的是水果.wav 63KB
hair0.wav 69KB
当前运输的是蔬菜.wav 63KB
您的菜品已送达,请您取餐.wav 86KB
我开始右转啦.wav 47KB
我开始左转啦.wav 48KB
当前运输的是肉类.wav 62KB
识别到长发顾客一人.wav 69KB
开始任务.wav 77KB
我开始前进啦.wav 47KB
hair2.wav 69KB
glass1.wav 73KB
hair1.wav 69KB
识别到戴眼镜顾客零人.wav 74KB
我在呢.wav 33KB
我开始后退啦.wav 47KB
glass0.wav 74KB
识别到戴眼镜顾客两人.wav 74KB
识别到戴眼镜顾客一人.wav 73KB
识别到长发顾客两人.wav 69KB
CMakeLists.txt 7KB
src
ucamera_node.cpp 4KB
package.xml 3KB
msg
detect_info.msg 66B
config
nav.yaml 424B
detect_server2
CMakeLists.txt 7KB
src
detect_server_node.cpp 3KB
package.xml 3KB
LICENSE 34KB
chart.png 14KB
.idea
smart-car2021.iml 409B
libraries
workspace.xml 134B
ROS.xml 128B
modules.xml 278B
deployment.xml 648B
.gitignore 176B
ros.xml 660B
README.md 4KB
共 93 条
- 1
资源评论
妄北y
- 粉丝: 1w+
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功