【2021研电赛】基于图像处理的物体识别与分类系统

news2024/11/25 15:59:56

本作品介绍参与极术社区的有奖征集|分享研电赛作品扩大影响力,更有重磅电子产品免费领取!

团队介绍

学校名称:北京理工大学
队伍名称:BIT铁头帮
指导教师:冯云鹏
队伍成员:余佳桐 孙雨婷 朱翊铭
获奖情况:技术赛全国总决赛二等奖,TI企业专项奖一等奖

作品简介

本作品基于TI-RSLK专家版小车,将目标探测、路径规划、图像分类识别、机械臂抓取、循迹回起点、实时监测等功能模块功能整合为一个主控程序,实现对小车的闭环控制,使小车能够自主完成完整的目标抓取并分类过程。运动过程中,通过激光雷达和九轴传感器数据进行位姿解算,实时监测异常状态,并能够根据障碍物的运动情况选择不同的避障方式,可应用于蔬果运输、垃圾分类、AGV导航等无人驾驶领域。
在这里插入图片描述

图1 作品硬件结构

算法流程

基于图像处理的物体识别与分类系统需实现的主要功能是图像分类,路径规划以及抓取3种以上目标物体。在实验设计上,将解决方案拆解为7个步骤:
(1)首先通过USB摄像头模组进行图像的初步采集识别;
(2)基于激光雷达和图像信息的融合算法,输出场地中物体的数量和每个物体质心位置的角度与距离;
(3)之后使用增量式PID算法进行路径规划的闭环控制,小车在移动靠近目标的过程中不断反馈和实时调整舵机角度到达目标物体前方停车点位置;
(4)下一步基于颜色空间转换和轮廓边缘检测对目标图像分类,并且识别出物体的颜色和形状;
(5)分类结果反馈至机械臂程序进行该类目标的自动抓取;
(6)抓取后将目标物体运送至指定分类区域完成自动分拣功能;
(7)最后使用循迹算法回到起始位置,再开始下一轮循环直至抓取并分类所有目标物。
在这里插入图片描述

图2 算法设计流程

难点与创新点

(1)实时获取目标物精确位置信息,智能车需要在运动的过程中根据探测到的目标物体位置信息进行实时的运动状态和姿态调整,自主导航直到车头正对目标物体到达停车点,这就要求算法要达到较高的实时性和精度。
(2)在路径规划导航中,智能车载单目摄像头视觉导航依赖于使用环境的光照、地面纹理等信息,存在对远距离目标难以精确识别、图像处理计算量大、实时性较差、无法在黑暗环境中工作等问题,激光雷达导航又存在近处盲区,空扫断点的问题,难以实现完整的路径规划与自主导航。
(3)提出了一种激光雷达信息与机器视觉融合的室内导航算法,准确获取狭小空间内目标的角度和距离信息。通过引入边界距离差作为迭代阈值来探测远处目标物体的位置信息,避免了激光雷达测距中的空扫断点和近处盲区问题;再使用机器视觉技术中的轮廓逼近算法,提取中心像素坐标进行位置解算,得到近处物体中心相对偏转角及其偏转方向,可有效解决单一视觉导航无法精准识别远处目标和黑暗环境无法工作的问题,将两部分信息进行加权融合,得到目标物体的准确位置信息。将该算法应用到TI-RSLK专家版小车上,小车沿规划路线自主导航运行至目标物正前方。

功能介绍

(1)实现了自主避障功能,将小车行进过程中遇到的障碍物分为运动和静止两种,对运动的障碍物原地等待其离开后继续前进,对静止的障碍物采取绕行的方式,并在显示屏弹出不同的危险提示。(见百度网盘链接:附图-静态障碍物避障gif图+动态障碍物避障gif图+实时监测避障gif图)
(2)为系统建立了3重应急保护机制,自主避障能够防止小车和物体碰撞发生损伤;在小车运行过程中摄像头进行全程实时监测和输出;同时使用九轴传感器监测小车航向角,加速度等信息,出现异常变化立即启动刹车程序保护系统安全。
(3)为系统增加了循迹回起点的功能,在图像中划定ROI区域,二值化处理识别场中黑色车道,通过将像素位置差值转化为角度偏差给舵机,使小车沿着黑色车道回到起始点,再次开始新一轮抓取,直至场上无目标物体。(见附图-循迹gif图)
(4)为系统增加了自动追踪功能,实时检测与运动目标的距离信息,小车自动跟随目标一起运动。(见附图-目标追踪gif图)

应用场景

根据本作品的硬件结构和算法,开拓了三个应用场景,分别是无人驾驶的垃圾桶分类清运车,水果店无人车取货系统以及蔬菜仓储智能分拣车,能够将此系统推广到更多的应用场景下。此系统在未来无人驾驶、智能无接触配送、AGV导航、车间无人化、无轨送餐机器人等领域具有广阔的发展前景和应用潜力。
(1)无人驾驶的垃圾桶分类清运车
垃圾分类是近几年的一个热点问题,随着城市化进程的推进及人口数量的增长,人民在生活中造成的垃圾越来越多,因此,垃圾分类及垃圾处理受到了较高的关注。目前我国实行的垃圾分类标准将垃圾分为了主要四类:分别是有害垃圾,厨余垃圾,可回收物及其他垃圾,我们选取了机械臂可抓取的垃圾桶底座及模型如下图所示。
在这里插入图片描述

图3 各类垃圾桶模型
将TI-RSLK专家版小车模拟为无人驾驶垃圾清运车,任务是前往附近的垃圾站点,对站点中的垃圾桶进行清运,共有四类垃圾分类桶,分别是有害垃圾桶,厨余垃圾桶,可回收物垃圾桶及其他垃圾桶,小车从定点出发,检测场地中垃圾桶的位置及距离,自动行驶至垃圾桶附近,通过图像识别对目标垃圾桶进行分类之后抓取,运送至指定分类处理地点。(见附图-功能1的小车第一视角、第三视角gif图)
(2)水果店无人车取货系统
由于疫情原因,近两年民众对无接触购物和无接触配送需求增加,我们将TI-RSLK专家版小车模拟为无人售货水果店中的商品取货车,任务是根据购物者的购买需求指令,前往附近的水果货架,对货架上的水果进行分类识别和取货,运送至指定售货平台,共有四类可选水果,分别是红苹果,青苹果,桃子和橘子。(见附图-功能2的小车第一视角、第三视角gif图)
在这里插入图片描述

图4 各类水果模型
(3)蔬菜仓储智能分拣车
将TI-RSLK专家版小车模拟为超市中的蔬菜智能分拣车,任务起点设置为蔬菜仓储区,小车需识别出蔬菜种类,并将蔬菜抓取,运送至超市售货区指定售卖地点,有四类可选蔬菜,分别是辣椒,花生,茄子和柠檬。(见附图-功能3的小车第一视角、第三视角gif图)
在这里插入图片描述

图5 各类蔬菜模型

参赛感悟

本团队指导教师和成员全部来自北京理工大学光电学院。指导教师冯云鹏长期在先进光学制造与检测领域从事教学和科研工作,主要研究方向包括先进光学制造技术,光学检测,3D打印,机器视觉等方面。队长余佳桐来自光机电工程联合研究中心,在团队中负责团队成员协调规划,硬件组装与调试,运动姿态控制等工作;成员孙雨婷来自激光雷达实验室,主要负责智能小车的硬件控制与路径规划,激光雷达定位和导航等工作;成员朱翊铭来自混合现实与新型显示工程技术研究中心,主要负责图像处理与实时显示,激光雷达和机器视觉融合算法等工作。在三个月的比赛过程中,团队经历了很多的苦难和技术瓶颈,是指导教师的悉心指导和团队成员之间的理解配合才能支撑他们走到最后。对于团队成员来说,这次研电赛的经历是不可多得的宝贵回忆,在比赛中我们学会了理解与配合,锻炼了各方面的能力,深刻的理解了独木不成林的道理,也为以后的科研生活积累了宝贵的经验。
最后,希望感兴趣的小伙伴一起交流学习!
作品视频链接如下:
链接:https://pan.baidu.com/s/1awPcJGtBZiQnjGyZk2a6vQ
提取码:JSSQ

更多研电赛作品请查看2021年研电赛获奖作品合集

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

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

相关文章

C++之栈容器

1.简介 stack ,栈(堆栈),是一种先进后出(First In Last Out,FILO)的数据结构,先插入的数据在栈底,后放入的数据在栈顶,所有的数据只能从栈顶取出。   在生活中先进后出的例子友很多,例如我们在桌子上摞书…

给依赖打补丁的两种方案

以修改antd-table-infinity 插件为例,如图所示,要修改插件里代码 第一种方案:文件替换(不推荐) 1) 将这个文件的代码都拷贝出来,并进行修改后存在项目里,我这边是放在了polyfill文…

java毕业设计基于springboot+vue的村委会管理系统

项目介绍 采用JAVA语言,结合SpringBoot框架与Vue框架以及MYSQL数据库设计并实现的。本村委会管理系统主要包括个人中心、村民管理、村委会管理、村民信息管理、土地变更管理、农业补贴管理、党员信息管理等多个模块。它帮助村委会管理实现了信息化、网络化&#xf…

TCP/IP--七层通信

文章目录 TCP/IP--七层通信先来看一下会话层以上的处理再来看一下传输层以下的处理 TCP/IP–七层通信 下面举例说明7层网络模型的功能。假设使用主机A的用户A要给使用主机B的用户B发送一封电子邮件。 在七层OSI模型中,如何模块化通信传输? 先来看一下七…

Spring Boot 面试题——自动装配

目录 Spring Boot 中的自动装配是指什么?解决了什么问题?Spring Boot 自动装配的流程有哪些?Spring Boot 中实现自动装配的原理是什么?Spring 中的 ConfigurationClassPostProcessor 类有什么作用?Spring Boot 自动装配…

关于微软文本转语音(语音合成)的一些坑

1. 单个音频时长限制10分钟 文档地址 2. 多人配音SSML 每次请求 <voice> 标签只能最大50个&#xff0c;参考 #1 3. SDK 在 linux 环境下 报错&#xff1a;gcc 软件无法加载 4. 语音品质问题 使用 SDK 生成的音频声音很差&#xff0c;默认音频流格式为 WAV&#xf…

Java——接口类和抽象类的方法声明不需要加{}

在Java中&#xff0c;接口类和抽象类的方法声明是不需要加{}的。具体来说&#xff1a; 1. 接口类&#xff08;Interface&#xff09;&#xff1a;接口类定义了一组方法的规范&#xff0c;没有具体的方法实现。在接口中&#xff0c;方法声明只包含方法名、参数列表和返回类型&a…

vue2.0 打包,nginx部署

1、修改这里为空 否则报错&#xff1a;vue is undefined 2、修改为hash&#xff0c;重点&#xff1a;打包dist文件运行&#xff0c;必须这样 3、安装ngnix&#xff0c;重点&#xff1a;使用node的包&#xff1a;httpserve&#xff0c;失败 4、重点&#xff1a;配置代理转发 前端…

au如何分离人声和背景音乐?帮你整理了几个必备的!

Audition专为在照相室、广播设备和后期制作设备方面工作的音频和视频专业人员设计&#xff0c;可提供先进的音频混合、编辑、控制和效果处理功能。因为软件的专业性&#xff0c;所以有些功能使用起来就比较复杂&#xff0c;下面介绍了详细的操作步骤。 方法一&#xff1a;直接使…

许战海战略文库|全球车型定位与中国车企的全球化机会

引言&#xff1a;从丰田阿尔法的身份转变到沃尔沃的市场双重身份,再到各大洲皮卡文化的多样表达,我们可以发现&#xff0c;同一车型在不同区域角色认知存在差异,不同区域主流化车型存在巨大差异。而背后是一系列关于文化差异、消费理念和生活方式的区别。中国新能源车企正面临一…

Spring Cloud之Sentinel的简单学习

目录 雪崩问题 超时处理 线程隔离 熔断降级 流量控制 服务对比 安装Sentinel控制台 案例 簇点链路 限流规则 流控模式 直接模式 关联模式 链路模式 流控效果 Warm up 排队等待 热点参数限流 隔离与降级 Feign整合Sentinel 线程隔离 规则设置 熔断降级 …

CSGO游戏里的饰品是如何被炒作起来的?

csgo倒狗们是如何操盘csgo饰品市场的&#xff1f; CSGO游戏里的饰品是如何被炒作起来的&#xff1f; 随着近几年csgo玩家数量急剧上升&#xff0c;倒狗在市场中的比例也在上升&#xff0c;之前的csgo饰品市场以散户居多&#xff0c;价格波动不大&#xff0c;现在倒狗大量涌入&a…

如何选择微信管理系统?

如何选择微信管理系统&#xff1f; 1、不用下载安装软件&#xff0c;不越狱不刷机 2、不绑定手机或电脑&#xff0c;不对电脑或手机做限制&#xff0c;也不受电脑、手机关闭、关机影响 3、能更新迭代&#xff0c;不限制版本 4、使用安全登录&#xff0c;保障账号安全的 5、不用…

Java方法与递归

目录 前言 1.什么是方法 2.语法的定义 3.方法调用的执行过程 4.实参和形参的关系 5.没有返回值的方法 5.方法的重载 为什么会有方法的重载&#xff1f; 方法重载概念 5.递归 递归的概念 递归执行过程分析 递归练习 前言 在我们日常在代码的过程中&#xff0c;会遇到…

大厂的 Git 代码管理规范是怎样的?

分支命名 master 分支 master 为主分支&#xff0c;也是用于部署生产环境的分支&#xff0c;需要确保 master 分支稳定性。master 分支一般由 release 以及 hotfix 分支合并&#xff0c;任何时间都不能直接修改代码。 develop 分支 develop 为开发环境分支&#xff0c;始终…

【Cortex-A7】 常用汇编指令

【Cortex-A7】 常用汇编指令 Cortex-A7 常用汇编指令1. 处理器内部数据传输2. 存储器访问指令3. 压栈和出栈指令4. 跳转指令5. 算术运算指令6. 逻辑运算指令 Cortex-A7 常用汇编指令 参考《ARM ArchitectureReference Manual ARMv7-A and ARMv7-R edition.pdf》的 A4 章节。 …

Android工具栏ToolBar

主流APP除了底部有一排标签栏外&#xff0c;通常顶部还有一排导航栏。在Android5.0之前&#xff0c;这个顶部导航栏以ActionBar控件的形式出现&#xff0c;但AcionBar存在不灵活、难以扩展等毛病&#xff0c;所以Android5.0之后推出了ToolBar工具栏控件&#xff0c;意在取代Aci…

ENVI波段合成

1、envi5.3合成&#xff08;这种方法&#xff0c;必须有地理参考才可以&#xff09; 在工具栏处搜索波段&#xff0c;找到波段合成&#xff08;Layer Stacking&#xff09; 设置合成波段&#xff0c;其他默认 2、envi classic&#xff08;没有地理坐标也可以&#xff09; 我们…

直击“挑战杯”竞赛:解锁顶级企业的“创新密码”

“企业只有一项真正的资源——人。” 管理学大师德鲁克&#xff0c;曾发表这样的观点。言外之意&#xff0c;人才是企业发展的根本动力&#xff0c;因为人才可以提供源源不断的创新力。能够基业长青、持续前行的企业&#xff0c;一定在人才上拥有独特优势。 如何吸引人才&#…

二叉树OJ题汇总

本专栏内容为&#xff1a;leetcode刷题专栏&#xff0c;记录了leetcode热门题目以及重难点题目的详细记录 &#x1f493;博主csdn个人主页&#xff1a;小小unicorn ⏩专栏分类&#xff1a;Leetcode &#x1f69a;代码仓库&#xff1a;小小unicorn的代码仓库&#x1f69a; &…