无人机竞赛常用目标检测方法--色块检测

本次开源计划主要针对大学生无人机相关竞赛的视觉算法开发。
开源代码仓库链接:https://github.com/zzhmx/Using-color-gamut-limitations-such-as-HSV-and-RGB-for-object-detection.git
主要使用传统算法,如果想要使用进阶版机器学习算法,请移步到我的另一系列博客:
yolov5-tracking-xxxsort yolov5融合六种跟踪算法(二)–目标识别
yolov5-tracking-xxxsort yolov5融合六种跟踪算法(三)–目标跟踪

实现方法

传统算法做目标检测有一个很常用的方法是使用颜色识别,可以称为色块检测,具体流程分为三步:
1.提取包含目标的视频帧,读取目标的HSV或者RGB等其他色域其中一种或多种的三个通道范围。这里相当于获取无人机需要识别的目标的粗略色域范围。–readhsv.py
运行程序默认调用摄像头,按下空格键可截取一张图像作为实验图像。使用鼠标在截取的图像中的目标区域画框即可在程序输出区返回目标HSV三个通道分别的范围是多少。
在这里插入图片描述

2.在第一步返回的通道范围基础上将滑块分别拖动到对应值,然后通过可视化交互界面调整各个通道值,使得只有目标剩余在可视化界面,记录微调后三个通道的范围。–Fine_tuning_range.py
在这里插入图片描述

3.使用微调后的最优范围作为先验条件以对视频流做检测
在这里插入图片描述

在color_track.py的16、17行更改为你的值,就可以实现对你需要检测目标的识别,并返回目标的位置。无人机可以根据该位置信息做降落、抓取、投放等一系列动作。
在这里插入图片描述


http://www.niftyadmin.cn/n/5389203.html

相关文章

Java命令模式:让请求成为对象

Java命令模式:让请求成为对象 在软件设计中,我们经常遇到需要将操作或请求封装成对象的情况。这样,我们可以将它们作为参数传递、排队、记录或撤销。命令模式正是为了满足这种需求而诞生的。在命令模式中,一个请求或操作被封装成…

Python算法题集_图论(课程表)

Python算法题集_课程表 题207:课程表1. 示例说明2. 题目解析- 题意分解- 优化思路- 测量工具 3. 代码展开1) 标准求解【循环递归全算】2) 改进版一【循环递归缓存】3) 改进版二【循环递归缓存反向计算】4) 改进版三【迭代剥离计数器检测】 4. 最优算法5. 相关资源 本…

OGG-00918 映射中缺少键列 id.

2024-02-23 14:54:49 INFO OGG-02756 从线索文件获取了表 GISTAR.PXPH_PON_ROUTE 的定义。. The following columns did not default because of type mismatches: id OGG-00918 映射中缺少键列 id. 目标端有字段ID,由于mysql自增,所以只能是b…

使用和管理jupyter notebook, anaconda环境下在jupyter使用自己创建的虚拟环境,怎么删除jupyter其他内核

引言:我有GPU,之前也下载了cuda,但是在jupyter中不能使用gpu,原因是我下载的cuda在另一个虚拟环境pytorch中,但是pytorch这个虚拟环境没有加到jupyter的内核中,怎么在jupyter使用自己创建的虚拟环境看二.an…

HarmonyOS—代码Code Linter检查

Code Linter代码检查 Code-Linter针对ArkTS/TS代码进行最佳实践、编程规范方面的检查,目前还会检查ArkTS语法规则。开发者可根据扫描结果中告警提示手工修复代码缺陷,或者执行一键式自动修复,在代码开发阶段,确保代码质量。 检查…

雨云GPU云服务器搭建SD(Stable Diffusion)的教程,搭建自己的AI绘画网站,AIGC

雨云GPU云服务器搭建Stable Diffusion的教程,搭建自己的AI图片生成网站,AIGC Stable Diffusion是什么 Stable Diffusion是一种基于潜在扩散模型(Latent Diffusion Models)的文本到图像生成模型,由CompVis、Stability…

【每日前端面经】2023-02-23

题目来源: 牛客 企业级开发整体流程有哪些 项目启动需求调研->需求文档系统设计->设计文档程序开发->开发文档BUG测试->测试文档验收维护 遇到技术难题怎么办 分析可能出现的原因查找搜索引擎寻问文心一言等对话模型打断点,寻找问题复现再一次归纳分…

Eureka:微服务中的服务注册与发现机制

引言 在微服务架构中,由于服务数量巨大并且各个服务的实例可能会频繁上下线,因此服务注册和发现机制至关重要。 那么,有什么工具或技术可以帮助我们解决这个问题呢? 答案就是Eureka。 一、Eureka简介 Eureka是Netflix公司开源的…