OpenVINO如何实现Robomaster自瞄


今天就跟大家聊聊有关OpenVINO如何实现Robomaster自瞄,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。在Robomaster比赛中,选手往往使用颜色分离,提取轮廓,匹配轮廓的方式来识别装甲板,但往往会花费大量时间在现场调整参数,于是我们想:能否利用深度学习来做自瞄以提高其鲁棒性?但深度学习算法在实时性上通常表现不好,在1080ti这样的显卡才能达到实时,但没人会在机器人上带一个煤气灶吧。很多人会想到使用Tensor RT,或者模型剪枝/压缩,低比特推理的方式提高深度学习算法在GPU上的速度,但没有想到使用纯CPU也能实时运行神经网络。凭借Intel团队发布的openvino,我们可以在Intel CPU或者计算棒上实时运行目标检测算法。在这里我们以CPU+计算棒的方式介绍完整的实现步骤。How it works?分为三个步骤本节以robomaster数据集为例,利用TensorFlow Object Detection API训练自己的模型。链接:https://github.com/tensorflow/models/tree/master/research/object_detectionTensorFlow Object Detection API是谷歌爸爸开源的模型库,包含了完整的训练和评测代码。模型包括主流的检测和分割网络,有SSD,Faster rcnn,mask rcnn,主干网包括mobilenet v1/v2/v3(看出谷歌爸爸的偏心了吧),inception v2,resnet 50/101。大疆在2020年初开源了一个俯视视角的数据集,具体特征类似于大家看直播时的画面。分辨率是1920*1080。官方的用意应该是给雷达站做目标检测,放在自瞄这样的平视场景会存在一定的gap,同时分辨率也过大,增大计算负担。所以我们在官方数据集的基础上进行了魔改,改动如下:下载链接:https://pan.baidu.com/s/105vjTcDs6XZHtnXAgCx86g 提取码:v8ygPrerequisite:显卡:最好1080ti以上。单卡v100两个小时训练完毕。pip i 香港云主机nstall tensorflow-gpu==1.14 最好使用1.14版本的TFLinux系统请参考 官方安装指令:https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/installation.md目录根据自己的实际位置更改,其中test可以忽略所有模型配置文件在models/research/object_detection/samples/configs目录下,以ssd_mobilenet_v2_coco.config为例。需要修改的地方①num_classes: 2 ②image_resizer:height: 300 width: 400 ③fine_tune_checkpoint ④最后的数据位置 数据扩充:水平翻转,亮度,对比度,饱和度随机抖动在models/research/object_detection/data/*.pbtxt里记录了数据集的类别,这里我们是两类,所以将label_map_path中的文件替换为以下字段:(注意文件名对应)训练代码v100训练2个小时就收敛了,1080ti可能三小时。训练过程中会边训练边评测。这里我们关注的是mAP(0.5:0.95)和AP(0.5),可以看到mAP是0.537,AP是0.974,基本满足需求。当然,我们也放出来了模型文件下载链接:百度云:https://pan.baidu.com/s/1-m1ovofM_X9rh5rlQEicFg 提取码:4nra在Linux下的安装请参阅 官方文档(很简单):https://docs.openvinotoolkit.org/latest/_docs_install_guides_installing_openvino_linux.html同时还可以查看 b站视频:https://www.bilibili.com/video/BV1fC4y1s7dt仍然在TensorFlow models文件夹下,先提取inference_graph将inference_graph转换为openvino接受的格式也就是intermediate representation。这里需要注意ssd mobilenetv2对应的是ssd_support_api_v1.15.jsonPython测试模型C艹测试模型(记得先编译源码)结果就是开头的GIF啦。看完上述内容,你们对OpenVINO如何实现Robomaster自瞄有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注开发云行业资讯频道,感谢大家的支持。

相关推荐: Go语言中unsafe如何使用

这期内容当中小编将会给大家带来有关Go语言中unsafe如何使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。对于Go语言的指针类型来说,指针类型的限制比较多,主要有四点,并且在Go语言的编译阶段就可以检测出来。限制1: 指…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 08/15 11:34
下一篇 08/15 11:34

相关推荐