YOLOV5训练自己的数据集——用YOLOv5模型识别出表情!

用YOLOV5模型识别出表情

二、YOLOV5模型转换

1.安装依赖库

pip install onnx coremltools onnx-simplifier  -i https://pypi.tuna.tsinghua.edu.cn/simple
或者单个的安装
pip install coremltools==4.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

2.导出ONNX模型

遇到No module named 'models'

Export的之前版本修改如下

 

python models/export.py --weights ./weights/yolov5s.pt --img 640 --batch 1

将转换后的模型yolov5s.onnx输入下面的网址,即可看到模型结构,下图为结果

浏览器网页:Netron

Github链接和安装过程

 

 3.用onnx-simplifer简化模型

为什么要简化?

在训练完深度学习的pytorch或者tensorflow模型后,有时候需要把模型转成 onnx,但是很多时候,很多节点比如cast节点,Identity 这些节点可能都不需要,我们需要进行简化,这样会方便我们把模型转成ncnn或者mnn等这些端侧部署的模型格式或者通过tensorRT进行部署。

 python -m onnxsim best.onnx yolov5-best-sim.onnx

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 基于yolov5的双目测距是计算物体在实际场景中的距离的一种方法。它通过使用两个摄像头进行立体视觉,利用深度信息进行测距。 首先,我们需要安装yolov5库并加载预训练模型。预训练模型是在大型数据集上进行训练的,可以识别多种物体。 接下来,我们需要配置双目视觉系统。这包括设置两个摄像头的参数,如焦距、视差等。这些参数将用于计算深度信息。 然后,我们需要使用yolov5模型对图像进行目标检测。这可以通过在双目图像上运行模型来实现。模型将返回每个目标的位置和类别信息。 接下来,我们将使用立体视觉算法根据摄像头的参数和目标在双目图像中的位置来计算目标的深度信息。这可以通过计算视差(左右图像中目标的像素差)来实现。 最后,我们可以根据深度信息计算目标在实际场景中的距离。这可以通过将视差转换为实际距离来实现,具体方法取决于我们选择的立体视觉算法。 综上所述,基于yolov5的双目测距涉及安装yolov5库、加载预训练模型、配置双目视觉系统、目标检测、深度计算和距离计算等步骤。这种方法可以在实际应用中用于测量物体距离,例如自动驾驶、机器人导航等领域。 ### 回答2: 基于Yolov5的双目测距涉及使用Yolov5目标检测算法对图像中的目标进行检测,然后通过双目立体视觉技术计算目标物体与摄像头的距离。以下是对该过程的代码讲解。 首先,需要安装Yolov5的Python包。可以使用pip install yolov5命令在终端中安装。然后导入必要的库文件,如torch、cv2和numpy。 接下来,加载预训练Yolov5模型,可以使用torch.hub.load函数加载yolov5s模型。加载模型后,可以通过model.names获取模型中的类别标签。 然后,使用cv2.VideoCapture打开摄像头,并进入循环,读取每一帧图像。对于每一帧图像,先将其转换为tensor格式,然后通过模型进行目标检测。可以使用model(img)函数获取检测结果。检测结果是一个列表,列表中的每个元素代表一个检测到的目标,包含目标的边界框位置、置信度和类别标签。 接下来,可以根据目标检测结果,使用双目立体视觉算法计算目标与摄像头的距离。首先需要标定摄像头,获取相机的内参和外参。然后,通过目标的边界框位置,计算目标在图像中的深度。具体的计算方法可以使用三角测距或基于视差的方法。 最后,可以将距离信息添加到目标的边界框上,并将图像展示来。可以使用cv2.putText函数将距离信息添加到图像上。 需要注意的是,双目测距需要摄像头的立体视觉拍摄,同时还需要进行摄像头的标定。另外,在进行深度计算时,还需要确保目标物体在左右摄像头的视野中有重叠区域。 以上是基于Yolov5的双目测距的代码讲解,通过目标检测和双目立体视觉算法,可以实现对目标物体与摄像头的距离测量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值