了解CV和RoboMaster视觉组
文章平均质量分 86
全网最全的视觉组百科全书和入门/进阶指北!从各个方面分析了视觉组的任务和使用的算法,还有大量扩展知识等你来学。
HNU跃鹿战队
time to get some curiosity
展开
-
《了解CV和RoboMaster视觉组》完结啦!
《了解CV和RoboMaster视觉组》完结啦!原创 2022-08-11 13:42:23 · 4304 阅读 · 5 评论 -
了解CV和RoboMaster视觉组(五)参数自适应方法和稳健特征
介绍了自适应阈值、自适应图像滤波和直方图均衡化,以及良好的图像特征应该具备的性质原创 2022-08-10 17:40:46 · 775 阅读 · 0 评论 -
了解CV和RoboMaster视觉组(五)CNN没有不变性?
卷积神经网络CNN是否能提取到具有旋转/平移/颜色/亮度/对比度/尺度不变的特征?本文为你揭开答案的冰山一角。原创 2022-05-22 21:46:58 · 1161 阅读 · 4 评论 -
了解CV和RoboMaster视觉组(五)local-distribution汇聚方法
介绍了传统目标检测和图像分类local-distribution方法,包括gradient-based、GIST、HOG、原创 2022-05-21 17:44:37 · 459 阅读 · 1 评论 -
了解CV和RoboMaster视觉组(五)统计特征和global-based方法
介绍图像处理中的特征工程以及利用全局统计特征如直方图和梯度统计等进行分类的方法原创 2022-05-06 10:47:56 · 524 阅读 · 0 评论 -
了解CV和RoboMaster视觉组(五)参数自适应与稳健特征
介绍了图像处理和识别中的参数自适应方法如阈值自适应、直方图均衡化和亮度自适应等。原创 2022-05-01 15:13:20 · 1157 阅读 · 4 评论 -
了解CV和RoboMaster视觉组(五)目标跟踪:基于深度学习的方法
目标跟踪综述,介绍了基于深度学习的SOT和MOT方法原创 2022-04-24 21:14:54 · 2448 阅读 · 1 评论 -
了解CV和RoboMaster视觉组(五)目标跟踪:概述与光流法
介绍了目标跟踪算法的概述,还有经典的跟踪算法之一——光流法。原创 2022-04-10 19:38:19 · 4348 阅读 · 0 评论 -
机器人工程师入门知识框架(思维导图)
介绍了学习机器人工程和入门Robomaster的一些必备知识。原创 2022-03-20 15:47:04 · 4213 阅读 · 0 评论 -
计算机视觉学习知识框架(思维导图)非常详细
一张计算机视觉和Robomaster视觉组学习的框架图原创 2022-03-20 15:44:30 · 5804 阅读 · 1 评论 -
了解CV和RoboMaster视觉组(五)图像处理中使用的滤波器
介绍了图像处理中的频域分析和像素增强。原创 2022-03-20 11:52:00 · 3403 阅读 · 0 评论 -
了解CV和RoboMaster视觉组(五)运动建模与预测
neozng1@hnu.edu.cn5.3.2.预测方法运动预测是自瞄击打装甲板的关键一步,如果没能预测目标的移动,那么我们的解算输出用于只会跟在目标的屁股后面,使得打出的弹丸始终落后于目标,扑向空气划过一道淡绿色的曲线。同时,运动预测和运动学建模也是目标跟踪领域的一个研究方向,利用此技术能够提出精确的区域提议,使得候选区域数目降低,加快处理速度。我们这里将按照循序渐进的原则,介绍运动预测的发展和方法。朴素方法:简单物理规律的应用这种算法就如标题一样简单,我们直接根据物理规律对物体的运动进行预原创 2022-03-14 21:13:43 · 6350 阅读 · 1 评论 -
了解CV和RoboMaster视觉组(五)滤波器、观测器和预测方法:自适应滤波器的应用
介绍了自适应滤波器的应用,如降噪、系统辨识、序列信号预测等。并以AEC为例,详细的说明了具体应用,并且指出了大量网上其他博客和资料中出现的讹误原创 2022-03-14 12:22:20 · 925 阅读 · 0 评论 -
了解CV和RoboMaster视觉组(五)滤波器、观测器和预测方法:自适应滤波器
介绍了自适应滤波器的推导和由来原创 2022-03-14 12:17:07 · 960 阅读 · 0 评论 -
了解CV和RoboMaster视觉组(五)滤波器、观测器和预测方法:维纳滤波器Wiener Filter,LMS
对维纳滤波器进行了完整的数学推导,以及对其他最优滤波器的优缺点分析原创 2022-03-09 21:00:29 · 669 阅读 · 0 评论 -
了解CV和RoboMaster视觉组(五)滤波器、观测器和预测方法:粒子滤波器Particle Filter
--neozng1@hnu.edu.cn Partcle Filter(粒子滤波器,时域) PF可以看作是UKF的进化版。UKF要求用服从高斯分布的一组点经过转换之后去通过采样来得到新的高斯分布进而近似真实的状态分布;而PF则是不再追求用高斯分布去近似真实分布,直接用一组点经过模型转换后再采样,用此后验数据来近似任意分布。它们的区别在于UKF是通过一组假设在通过系统的转换后仍然服从高斯分布的采样点来求其参数μ和σ,是一种参数估计方法;PF是用已知的采样点数据去求未知的任意分布,或者从另一个角度来说原创 2022-03-09 20:54:36 · 559 阅读 · 0 评论 -
了解CV和RoboMaster视觉组(五)滤波器、观测器和预测方法:卡尔曼滤波器
介绍了Kalman Filter,扩展卡尔曼滤波器,无迹卡尔曼滤波器原创 2022-03-09 20:52:21 · 1893 阅读 · 0 评论 -
了解CV和RoboMaster视觉组(五)滤波器、观测器和预测方法
介绍了简单的序列数据处理方法:低通滤波器和中值滤波器。原创 2022-03-09 20:49:14 · 921 阅读 · 0 评论 -
(五)比赛中的CV算法(下)目标检测终章:Vision Transformer
介绍了DETR和Deformable DETR两个基于Transformer模型的检测网络,并概览了Vision Transformer。同时作为深度学习部分的最后一篇文章,对DNN方法进行总结。原创 2022-02-27 11:21:24 · 2928 阅读 · 0 评论 -
(五)比赛中的CV算法(下5)检测网络调优(3)Anchor-Free模型概览和综述
全面地介绍了单阶段检测器的anchor-free模型原创 2022-02-11 11:17:57 · 3138 阅读 · 0 评论 -
OpenCV相机标定完全指南(有手就行)
在没有任何基础的情况下利用opencv例程完成相机标定(真的是有手就行!)原创 2022-01-28 21:06:03 · 7614 阅读 · 0 评论 -
(五)比赛中的CV算法(下5)检测网络调优(2)CV中的注意力机制
介绍了计算机视觉中的注意力机制,包括通道域、空间域和混合域,讲解了经典的注意力网络。原创 2022-01-24 11:11:31 · 1525 阅读 · 0 评论 -
(五)比赛中的CV算法(下5)检测网络调优(1)多尺度特征融合
--NeoZng[neozng1@hnu.edu.cn]如果觉得笔者写得还不错,关注一下点个赞吧!稍作总结后,笔者在这里再介绍一些目标检测领域的trick和改进方法(其实现在已经不新了),前一部分主要是关于LF的设计,而这一部分主要是关于关于模型的改进的经典方法与训练技巧,还有一些有启发性的机制。 多尺度特征融合 由于CNN基本构建模块的特点,在最后输出的feature map往往是浓缩了大量的语义信息(“高级的特征”)但分辨率较低、对细节的保留较少,因此对于小目标的检测效果不尽如人意,且原创 2022-01-23 21:59:23 · 2591 阅读 · 0 评论 -
(五)比赛中的CV算法(下4)损失函数的改进(2)
介绍了损失函数中的IOU loss family和General Focal Loss原创 2022-01-17 17:28:56 · 2097 阅读 · 0 评论 -
(五)比赛中的CV算法(下4)损失函数的改进(1)
介绍了Focal Loss和GHM两种样本均衡方法和对其损失函数的改进原理原创 2022-01-09 17:17:15 · 1227 阅读 · 0 评论 -
(五)比赛中的CV算法(下3)损失函数的设计
介绍了损失函数的概念与设计,和经典的交叉熵损失BCE和CE、L1损失、L2损失。原创 2021-12-09 16:25:05 · 1999 阅读 · 0 评论 -
(五)比赛中的CV算法(下2)YOLO算法和one-stage检测器
此时此刻恰如彼时彼刻,一位大佬在阅读了Faster R-CNN 中PRN设计的思想后直接拍桌怒起:既然RPN能直接根据深度特征提取出可能存在物体的ROI,生成提议区域,那我干脆直接就用网络直接回归出bbox的坐标不就得了,一步到位岂不是美滋滋?(两阶段的方法相当于先通过RPN大致定位bbox,再在后续的bbox回归中获取更精准的定位框,one-stage的方法直接在特征图上进行bbox的回归)这就是YOLO的设计思想。YOLO是you only look once的缩写,“只看一眼”也昭示着这是一个一阶段的原创 2021-10-31 13:33:47 · 1318 阅读 · 6 评论 -
(五)比赛中的CV算法(下1)目标检测算法:R-CNN家族
了解了基本概念,开始上手目标检测吧。在接下来这三个经典网络的介绍中,我们尽量忽略细节上的推导如卷积的通道数和维度,特征图的大小等,而专注于介绍网络实现的思想和总体方法。因此笔者默认你已经了解卷积神经网络的原理和目标检测的基本概念。如果要深入了解并运用obj detection还是要仔细阅读这些经典网络的论文,精读它们的源码实现! R-CNN R-CNN为了减少候选区域的数量,在原图上根据不同的比例、颜色、纹理和形状划分出许多区域(例如使用k-means等聚类算法),随后再根据区域之间的相似性对.原创 2021-10-26 19:33:21 · 960 阅读 · 1 评论 -
(五)比赛中的CV算法(中)目标检测的常见概念和术语
--NeoZng[neozng1@hnu.edu.cn]5.2.3.目标检测利用CNN我们已经可以完成对图像的识别和分类。但是这样是远远不够的,为了能准确定位图像中的物体,我们需要对图像中所有目标进行定位(找出框住目标的bounding box外接矩形框,即[cx,cy,w,h]四个参数,分别表示目标中心在图像中的坐标和bbox的长宽)。此部分会介绍几个经典的目标检测网络实现的原理和方法。有同学可能会想,那我直接让网络在全连接层后输出一个向量而不是标量(分类),即多输出四个坐标也就是8个值,原创 2021-10-23 10:17:50 · 3125 阅读 · 0 评论 -
(五)比赛中的CV算法(上3)目标检测初步:CNN卷积神经网络
-NeoZng[neozng1@hnu.edu.cn]5.2.2.卷积神经网络在5.2.1中我们提到,可以把图像resize成一个1xn的特征向量当作输入投入一个网络当中进行训练和预测,但是这样做会出现很多的问题:首先是参数量过大,拿一张320x320的rgb图像举例,它是一个拥有320x320x3个维度的向量,若隐藏层也采用这样巨大的神经元规模,其参数量是不可想象的(利用你的排列组合知识计算一下)。另外,将图像resize成一维向量,在一定程度上丢失了两个维度之间的相关性(在映射的过程中有信息被原创 2021-10-22 13:36:12 · 1764 阅读 · 0 评论 -
(五)比赛中的CV算法(上2)目标检测初步:神经网络及优化方法
-NeoZng【neozng1@hnu.edu.cn】attention:5.2、5.3、5.4对于新人来说可能有一定难度。若是新人或刚入门的 RMer,可以由此直接跳转道第六部分继续阅读,第六部分看完后再回来这里继续 ~~5.2.目标检测时下RM赛场上的自瞄算法分为两个流派:传统特征提取和神经网络。前一个部分已经介绍了和比赛相关的OpenCV函数,因此为了保证行文的连贯性和整体性又不重复叙述,这个部分主要介绍新兴的基于神经网络的目标检测算法。在第六部分当中则会介绍传统算法的全部流程。原创 2021-10-17 16:00:04 · 2208 阅读 · 2 评论 -
(五)比赛中的CV算法(上)cv基础知识和opencv的api
5.比赛中的CV算法讲了这么多,视觉组的重头戏——算法终于来了。在大部分时候我们都不需要设计底层的算法,而是直接调用封装好的API,设计更具体的应用于特定问题的算法。当然,有必要了解一下造轮子(底层算法的实现)的过程,这能够让我们深入理解算法内部的构造,从而更好地使用这些算法,出错的时候也能更快定位问题。如果只是调用API而不了解原理,那么只是简单的缝合+搭积木,对于提升自我的思考能力和逻辑思维没有任何帮助。应当要有“使用科技的黑箱会使我惶惶不安” 的觉悟。我们最常用的OpenCV和一些神经网原创 2021-10-13 16:00:45 · 5936 阅读 · 4 评论 -
了解CV和RoboMaster视觉组(四)视觉组使用的硬件
4.视觉组接触的硬件虽然别人总觉得视觉组就是整天对着屏幕臭敲代码的程序员,实际上我们也会接触很多的底层硬件与传感器,在使用硬件的同时很可能还需要综合运用其他学科的知识。4.1.相机 相机是机器人的眼睛。和人眼的成像原理一样,相机通过镜头汇聚光束使他们聚集在一块半导体感光元件上(相当于视网膜)从而产生可供读取的数据。随后图像随着数据线传如miniPC等运算平台(视网膜刺激视神经传到神经冲动到大脑)。时下的感光单元主要分为两种:CMOS和CCD。电类的工科生或是摄影爱好者对此应该不会感到陌生。原创 2021-10-06 16:05:10 · 9043 阅读 · 6 评论 -
了解CV和RoboMaster视觉组(三)视觉组使用的软件
--NeoZng【neozng1@hnu.edu.cn】3.视觉组接触的软件进行视觉开发会用到各种各样的软件、开发环境、辅助工具等,所以很有必要了解一些相关的快捷键、命令、使用技巧。选择一款适合自己的IDE能够提高开发效率,方便版本管理。3.1.Ubuntu 为什么使用Ubuntu? Ubuntu是一个Debian系分支的第一大系统,是用户量最大的linux发行版。因此,遇到任何问题一般都能够在用户社区askubuntu中得到解答。它的安装也非常的方便,并且在更新到20.04原创 2021-10-06 15:38:10 · 14154 阅读 · 4 评论 -
了解CV和RoboMaster视觉组(二)视觉在各兵种中的作用
--NeoZng【neozng1@hnu.edu.cn】2.视觉在各兵种中的作用2.1.装甲板识别(步兵、英雄、无人机) 由于机器人上安装的图传模块到操作手看到的第一视角的延迟加上操作手反应速度的延迟,操作手几乎很难手动瞄准高速运动的机器人上的装甲板。因此,视觉组在这三个兵种的研发上主要是负责装甲板的识别算法,通过处理图像找到相机视野范围内的装甲板(相机一般安装在云台上,和枪口平行放置并指向同一个方向,类似瞄准镜),进而向下位机(STM32等用于控制的MCU,microcontroller u原创 2021-10-06 15:23:49 · 6986 阅读 · 4 评论 -
了解CV和RoboMaster视觉组(一)摘要
--NeoZng【neozng1@hnu.edu.cn】1.摘要在阅读本文之前,你需要有计算机科学的基本知识并至少掌握一门编程语言,同时对robomaster比赛规则和过程有大致的了解。若只是希望知道视觉组的基本工作,仅需要阅读第二部分。笔者希望在这篇文章中向大家介绍视觉组的工作的基本概况和进入视觉组需要学习的知识,面向的对象为热爱机器人的朋友、战队中的其他技术组或准备进入视觉组的同学。本文会尽量广泛、全面地向你介绍视觉组的方方面面,同时可能涉及一些技术细节,但又不涉及过多的数学公式和原创 2021-10-06 15:19:26 · 2866 阅读 · 0 评论 -
了解CV和RoboMaster视觉组(目录和大纲)
--NeoZng【neozng1@hnu.edu.cn】0.Catalogue 摘要 视觉组在不同兵种中的作用 2.1.装甲板识别 2.2.能量机关 2.3.哨兵 2.4.工程 2.5.雷达 2.5.自动步兵 视觉组使用的软件 3.1.Ubuntu 3.2.IDE 3.3.Git 3.4.其他工具 视觉组接触的硬件 4.1.相机 4.2.运算平台 4.3.激光雷达 4.4.特殊相机 4.5.低速IO外设原创 2021-10-06 15:17:26 · 5458 阅读 · 1 评论