0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

YoloV5输出检测结果给外界使用的操作流程

云深之无迹 来源:云深之无迹 作者:云深之无迹 2022-11-12 14:20 次阅读

emmm,我老师写的代码,Intel D435抓到画面,经过YOLOV5以后,输出结果控制小车来运动,很具体的代码就不能分享了,不过我就是想研究下这个CV算法的结果是如何和硬件世界产生联系的。

96ed402c-4e31-11ed-a3b6-dac502259ad0.png

代码在运行的时候都是需要设置CAN的一些参数

一开始就是一个大无语的事件,在源码里面有一个代码的注释,套娃无止境~

9806992c-4e31-11ed-a3b6-dac502259ad0.png

合着这一篇文就是无限Copy呗,吐了

由于系统将 CAN 设备作为网络设备进行管理,因此在 CAN 总线应用开发方面, Linux 提供了SocketCAN 接口,使得 CAN 总线通信近似于和以太网的通信,应用程序开发接口 更加通用, 也更加灵活。

SocketCAN 中大部分的数据结构和函数在头文件 linux/can.h 中进行了定义。CAN 总线套接字的创建采用标准的网络套接字操作来完成。网络套接字在头文件 sys/socket.h 中定义。

截至现在,edge浏览器已经被我不小心关了两次了,吐了,

98361940-4e31-11ed-a3b6-dac502259ad0.png

主要会开3个线程,有一个是测试的,在运行的时候是不需要打开的

9854dad8-4e31-11ed-a3b6-dac502259ad0.png

这个就看一个定义就行

9876751c-4e31-11ed-a3b6-dac502259ad0.png

这里使用双目的相机做出来的,使用了队列的结构来缓冲

98dabd10-4e31-11ed-a3b6-dac502259ad0.png

这个鱼眼我觉没有用到

99105664-4e31-11ed-a3b6-dac502259ad0.png

以及图像中间的一些缓存结果

993a2750-4e31-11ed-a3b6-dac502259ad0.png

这个就是我在意的东西,推理的结果就这样就输出来

99924642-4e31-11ed-a3b6-dac502259ad0.png

这里是把相机和tensor英伟达的加速器),通用功能写一起

99a73624-4e31-11ed-a3b6-dac502259ad0.png

这里是相机的分辨率,直接就最高了

99e826ac-4e31-11ed-a3b6-dac502259ad0.png

因为是英伟达的东西,所以CUDA必须出现

9a07135a-4e31-11ed-a3b6-dac502259ad0.png

这个是算法的修正参数

9a266b10-4e31-11ed-a3b6-dac502259ad0.png

这里有个疑惑的地方就是Z,可能是使用了深度相机,所以这个就可以读取到,上面说了,Z是相机到景物的距离,我土狗了。

9a465222-4e31-11ed-a3b6-dac502259ad0.png

这个就是我最感兴趣的,从图像中计算出来的一个结果怎么样才可以传到外部进行下一步的计算和使用呢?结构体里面第一个就是预测框的点容器,我觉得CV里面最好玩,最有成就感的事情无非就是这些事情了,下面是的你计算的物体的置信值,下面是标签,具体的这个距离还是需要使用双目相机来估计位置。

9a67f724-4e31-11ed-a3b6-dac502259ad0.png

应该是可以使用的双目相机

9b09ef02-4e31-11ed-a3b6-dac502259ad0.png

具体的结构图

9bac871c-4e31-11ed-a3b6-dac502259ad0.png

最大支持就是1080P的结果

这个就是当时的一张照片,我这里就截图了

9cf18082-4e31-11ed-a3b6-dac502259ad0.png

这个是结果的参数结构体

9d1487b2-4e31-11ed-a3b6-dac502259ad0.png

YOLO的输出结构体

9d3133bc-4e31-11ed-a3b6-dac502259ad0.png

这个看注释吧,不过应该是有一个高性能车道线检测算法LaneATT,下面也有输出的结果,不过在室内是没有检测到。

9d5cbdc0-4e31-11ed-a3b6-dac502259ad0.png

算法的流程图

太详细的代码不贴了,不过这里可以放一个工具函数:

9d9181f4-4e31-11ed-a3b6-dac502259ad0.png

realsense到CV

9dbf05e8-4e31-11ed-a3b6-dac502259ad0.png

这个就是控制车子和相机的代码

9dd4d7c4-4e31-11ed-a3b6-dac502259ad0.png

相机正常输出帧以后,开始处理

9e1c1440-4e31-11ed-a3b6-dac502259ad0.png

这句是来判断,是不是人和深度无限远

9e42f24a-4e31-11ed-a3b6-dac502259ad0.png

这里就是在上面条件成立的前提下开始控制车

9e718cd6-4e31-11ed-a3b6-dac502259ad0.png

只有两个

9e900b2a-4e31-11ed-a3b6-dac502259ad0.png

把要控制的指令打包好一发送就差不多可以啦。






审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 以太网通信
    +关注

    关注

    2

    文章

    51

    浏览量

    10962
  • Linux系统
    +关注

    关注

    4

    文章

    587

    浏览量

    27164
  • CAN接口
    +关注

    关注

    3

    文章

    76

    浏览量

    25480

原文标题:YoloV5如何输出检测结果给外界使用?

文章出处:【微信号:TT1827652464,微信公众号:云深之无迹】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    YOLOv5】LabVIEW+YOLOv5快速实现实时物体识别(Object Detection)含源码

    前面我们大家介绍了基于LabVIEW+YOLOv3/YOLOv4的物体识别(对象检测),今天接着上次的内容再来看看YOLOv5。本次主要是
    的头像 发表于 03-13 16:01 1944次阅读

    Yolov5算法解读

    yolov5于2020年由glenn-jocher首次提出,直至今日yolov5仍然在不断进行升级迭代。 Yolov5YOLOv5s、YOLOv5
    的头像 发表于 05-17 16:38 7382次阅读
    <b class='flag-5'>Yolov5</b>算法解读

    龙哥手把手教你学视觉-深度学习YOLOV5

    利用labview部署yolov5导出的模型,能利用摄像头动态检测输出目标检测结果。根据工业视觉外观检测
    发表于 09-03 09:39

    怎样使用PyTorch Hub去加载YOLOv5模型

    在Python>=3.7.0环境中安装requirements.txt,包括PyTorch>=1.7。模型和数据集从最新的 YOLOv5版本自动下载。简单示例此示例从
    发表于 07-22 16:02

    YOLOv5全面解析教程之目标检测模型精确度评估

    ):分类器把负例正确的分类-预测为负例(yolov5中没有应用到)  yolov5中没有应用TN的原因: TN代表的是所有可能的未正确检测到的边界框。然而在yolo在目标检测任务中,每
    发表于 11-21 16:40

    使用Yolov5 - i.MX8MP进行NPU错误检测是什么原因?

    的时机(yolov5s 模型,输入为 448x448 ~ 70ms)。 现在我正在尝试使用 Yolov5(uint8 量化),但我尝试使用不同的预训练模型获得相同的行为,在 CPU 上进行良好检测,在
    发表于 03-31 07:38

    如何YOLOv5测试代码?

    使用文档“使用 YOLOv5 进行对象检测”我试图从文档第 10 页访问以下链接(在 i.MX8MP 上部署 yolov5s 的步骤 - NXP 社区) ...但是这样做时会被拒绝访问。该文档没有说明需要特殊许可才能下载 tes
    发表于 05-18 06:08

    yolov5模型onnx转bmodel无法识别出结果如何解决?

    问题描述: 1. yolov5模型pt转bmodel可以识别出结果。(转化成功,结果正确) 2. yolov5模型pt转onnx转bmodel可以无法识别出
    发表于 09-15 07:30

    基于YOLOv5的目标检测文档进行的时候出错如何解决?

    你好: 按Milk-V Duo开发板实战——基于YOLOv5的目标检测 安装好yolov5环境,在执行main.py的时候会出错,能否帮忙看下 main.py: import torch
    发表于 09-18 07:47

    YOLOv5 7.0版本下载与运行测试

    支持实例分割了,从此YOLOv5实现了图像分类、对象检测、实例分割三个支持,从训练到部署。
    的头像 发表于 11-30 15:55 3430次阅读

    yolov5训练部署全链路教程

    本教程针对目标检测算法yolov5的训练和部署到EASY-EAI-Nano(RV1126)进行说明。
    的头像 发表于 01-05 18:00 2899次阅读
    <b class='flag-5'>yolov5</b>训练部署全链路教程

    使用旭日X3派的BPU部署Yolov5

    本次主要介绍在旭日x3的BPU中部署yolov5。首先在ubuntu20.04安装yolov5,并运行yolov5并使用pytoch的pt模型文件转ONNX。
    的头像 发表于 04-26 14:20 739次阅读
    使用旭日X3派的BPU部署<b class='flag-5'>Yolov5</b>

    yolov5和YOLOX正负样本分配策略

    整体上在正负样本分配中,yolov7的策略算是yolov5和YOLOX的结合。因此本文先从yolov5和YOLOX正负样本分配策略分析入手,后引入到YOLOv7的解析中。
    发表于 08-14 11:45 2033次阅读
    <b class='flag-5'>yolov5</b>和YOLOX正负样本分配策略

    YOLOv5网络结构训练策略详解

    前面已经讲过了Yolov5模型目标检测和分类模型训练流程,这一篇讲解一下yolov5模型结构,数据增强,以及训练策略。
    的头像 发表于 09-11 11:15 1867次阅读
    <b class='flag-5'>YOLOv5</b>网络结构训练策略详解

    RK3588 技术分享 | 在Android系统中使用NPU实现Yolov5分类检测-迅为电子

    RK3588 技术分享 | 在Android系统中使用NPU实现Yolov5分类检测-迅为电子
    的头像 发表于 08-23 14:58 331次阅读
    RK3588 技术分享 | 在Android系统中使用NPU实现<b class='flag-5'>Yolov5</b>分类<b class='flag-5'>检测</b>-迅为电子