楼主

[其他] 「2019」「RM圆桌」第五期 抢人头要靠自瞄

  [复制链接]
正式队员scut_lyh
2019-2-15 16:33:49 来自手机 显示全部楼层
顶自己
回复

使用道具 举报

沙发

[其他] 「2019」「RM圆桌」第五期 抢人头要靠自瞄

  [复制链接]
正式队员scut_lyh
2019-2-15 19:02:06 显示全部楼层
大家好,我是这次的主讲人,很高兴能和大家一起交流
板凳

[其他] 「2019」「RM圆桌」第五期 抢人头要靠自瞄

  [复制链接]
正式队员scut_lyh
2019-2-15 19:03:29 显示全部楼层
1、  什么是自瞄?你们是怎么利用自瞄获取比赛胜利的?为什么要做自瞄?优势在哪?
所谓自瞄,就是利用机器视觉来实现自动瞄准敌方和辅助打击的一种技术,在以往的比赛中,都是以纯手动打击为主,但人的操作和反应能力往往不如机器的快,正确的使用自瞄,宛如“开挂”一般,可以大大提升各单位的命中率既输出能力,给己方的输出提供强有力的支持和保障,在赛场上,拥有自瞄的队伍通常能起到非常强大的震慑作用,给队伍带来很大的技术优势。

地板

[其他] 「2019」「RM圆桌」第五期 抢人头要靠自瞄

  [复制链接]
正式队员scut_lyh
2019-2-15 19:04:42 显示全部楼层
2、        自瞄怎么做起?
1)编程语言选择
C++、python:
C++是编译型语言,是编译执行的,程序是先需要编译成二进制执行程序,既机器码,然后才能执行,编译的时候编译器可以进行一些优化,python是解释型语言,是解释执行的,和物理机CPU之间多了解释器这层,所以运行效率C++ >> python。
但python也有它的好处,python编程更加简单高效,不需要像C++一样要去关心底层内存的操作,python使程序员只需更加关注程序的目标而不是过程,所以非常容易上手,也非常容易实现想要的功能。
通常最好的选择是用c++搭建辅助打击框架,不过python也可以用在部分算法的验证、辅助工具的编写上面,在编程能力有限的情况下,python也是个不二选择。
5#

[其他] 「2019」「RM圆桌」第五期 抢人头要靠自瞄

  [复制链接]
正式队员scut_lyh
2019-2-15 19:05:16 显示全部楼层
2)第三方库的运用
俗话说的好,前人栽树后人乘凉,如果所有的算法都从零写起那得需要多少时间和经历,是十分不可取的,所以合理使用第三方平台能快速实现想要的功能。
OpenCV:OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
OpenCV的官网有很多教程,同时社区也很完善,很多问题直接搜索就可以解决:https://opencv.org/

HALCON:HALCON是德国MVtec公司开发的一套完善的标准的机器视觉算法包,拥有应用广泛的机器视觉集成开发环境。它节约了产品成本,缩短了软件开发周期——HALCON灵活的架构便于机器视觉和图像分析应用的快速开发。
HALCON学习网:http://www.ihalcon.com/ (包含教程、软件下载、论坛等)

普遍的方案都是使用C++和OpenCV实现视觉算法,而HALCON是商业级别的软件(说白了就是正版要用钱买,而且比较贵),由于其使用的简易性、调试的便捷性和算法的高度集成性,在工业上采用的极多,HALCON可以通过可视化编程和利用一系列辅助工具缩短程序开发时间,同时该平台提供了大量实际应用的成熟方案DEMO,例如OCR光学字符识别、零件尺寸测量、三维物体识别等等,其运行效率和精度也是不容小觑的。
6#

[其他] 「2019」「RM圆桌」第五期 抢人头要靠自瞄

  [复制链接]
正式队员scut_lyh
2019-2-15 19:07:36 显示全部楼层
3)计算平台的选择
这里介绍两种主流的选择
A、NUC
NUC是intel推出的mini PC,性能和日常使用的笔记本甚至台式机的性能相当,优点是体积较小,而且由于是intel框架的,程序的移植非常容易,不需要做什么修改就能从自己的PC移植到NUC上,缺点是显卡用到是Intel的集成显卡,不易使用GPU加速的算法。
7#

[其他] 「2019」「RM圆桌」第五期 抢人头要靠自瞄

  [复制链接]
正式队员scut_lyh
2019-2-15 19:11:21 显示全部楼层
3、  自瞄算法的一般思路

1) 设置合适的相机帧率和曝光时间:在自瞄的应用下,较高帧率和较低的曝光时间对图像处理有很大的帮助,可以避免过多噪声,防止运动过快导致图像模糊,这些参数需要在不同光照条件下进行测试调参。
2)图像预处理
因为灯条分为红蓝两色,预处理时可以采取颜色分割的方法将图像处理为二值图方便下一步的灯条提取。
HSV颜色空间分割:通常相机获取得到的图像都是RGB颜色空间,不方便直接进行颜色分离,因此转化为HSV颜色空间再进行分割。
  HSV颜色空间由色调(Hue)、饱和度(Saturation)、亮度(Value)三个分量构成,HSV更接近于人眼的主观感受。我们可以通过下面的图来展示HSV颜色分布情况:
8#

[其他] 「2019」「RM圆桌」第五期 抢人头要靠自瞄

  [复制链接]
正式队员scut_lyh
2019-2-15 19:13:12 显示全部楼层
4、  自瞄大家都有做,怎样才能做得稳呢?(做自瞄有什么诀窍?)
  1)硬件的选型很重要,有个好的相机可以解决很多算法上的问题,并使算法效益最大化
   相机通常有以下一些参数
        a.曝光方式(Exposure):全局快门/卷帘快门
        b.分辨率(Resolution)
        c.最大帧率(Frame Rate)
        d.快门速度(Shutter)
        e.接口类型:usb2.0/usb3.0/GigE/CSI等
    f. 光谱响应特性(Spectral Range):是指该像元传感器对不同光波的敏感特性
    ….等等
·工业相机与普通相机的部分区别
1. 工业相机的性能稳定可靠,普通相机轻便小巧,易于安装;
2. 工业相机的快门时间短,可以抓拍高速运动物体;
3. 工业相机的帧率通常远远高于普通相机;
4. 工业相机(Industrial Camera)相对普通相机(DSC,Digital Security Control)来说价格较贵。
根据实际需求,选择一个合适的相机对结果非常重要。
  2)专注于一点并做到极致,比哪里都做一点的效果更好
  例如:大部分学校的自瞄都会出现“跟不上”既云台瞄准跟不上目标的移动,这里提供一个idea,与其想各种各样的预测算法,不如先把现有代码优化到极致,使它的实时性最高并最小化误识别率,最终效果可能会让你意料之外的好。
  3)巧妙运用GPU加速
  Opencv包含了CUDA(CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题)加速的版本,有些图像的操作在GPU上的速度会大大提高,而TX2、TX1这类嵌入式平台,往往CPU的处理能力有限,如果所有算法都在CPU上跑效率会大打折扣,而TX2、TX1恰巧完美支持CUDA和提供各种图像加速的API。

9#

[其他] 「2019」「RM圆桌」第五期 抢人头要靠自瞄

  [复制链接]
正式队员scut_lyh
2019-2-15 19:14:06 显示全部楼层
5、        自瞄要在备赛的哪个阶段去做呢?你认为达成什么条件做自瞄才能发挥它的用处?
自瞄应该越早做越好,因为自瞄需要充分的鲁棒性测试和命中率测试,需要在不同的环境下测试可行性,测试最终效果是否真的比“手打”好,同时所说的“自瞄”大多数是有人的参与的,既不完全是全自动的瞄准+打击,通常的方案是人为控制是否开启自动瞄准,并且当多目标出现时人为选择要瞄准的目标,手动控制子弹的发射,因此操作手需要对该系统充分熟悉,只有达到人机合一的境界,自瞄才能充分发挥它的效果。
10#

[其他] 「2019」「RM圆桌」第五期 抢人头要靠自瞄

  [复制链接]
正式队员scut_lyh
2019-2-15 19:14:31 显示全部楼层
6、        做自瞄最应该避免犯的错误是什么呢?
忽略电控部分的重要性:在视觉识别稳定的情况下,一个优良的控制算法会对效果大大加分,再例如利用响应更快的电机、为自瞄定制的电调,会明显提高自瞄的实时性和命中率。
友情链接:卡尔曼滤波器及其在云台控制中的应用 - 陈健的文章 - 知乎
https://zhuanlan.zhihu.com/p/38745950
这篇文章讲述的方法就很好地在电控上做了建模和优化。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

触屏版 | 电脑版

Copyright © 2024 RoboMasters 版权所有 备案号 粤ICP备2022092332号

快速回复 返回顶部 返回列表