【YOLO】在ubuntu上部署yolov5

作为AI助手,我会尽力回答您的问题。以下是部署YOLOv5在ROS上的步骤: 1. 安装ROS 如果您还没有安装ROS,请参考ROS官方网站的安装指南。 2. 安装darknet 安装darknet的方法有很多种,这里我们介绍使用git克隆源码的方式: “` $ git clone https://github.com/AlexeyAB/darknet.git $ cd darknet $ make “` 3. 下载YOLOv5模型 我们可以从YOLOv5的官方网站下载模型,也可以使用已经训练好的模型。这里我们使用已经训练好的模型,可以从以下链接下载: “` $ wget https://github.com/WongKinYiu/yolov5/releases/download/v3.0/yolov5s.pt “` 4. 编写ROS节点 我们需要编写一个ROS节点来使用YOLOv5进行目标检测。以下是一个简单的示例: “` import rospy from sensor_msgs.msg import Image import cv2 from cv_bridge import CvBridge import numpy as np import darknet class YOLOv5Node: def __init__(self): rospy.init_node('yolov5_node') self.bridge = CvBridge() self.net = darknet.load_net(b"yolov5s.cfg", b"yolov5s.weights", 0) self.meta = darknet.load_meta(b"yolov5s.data") self.image_sub = rospy.Subscriber('/camera/image_raw', Image, self.image_callback) self.image_pub = rospy.Publisher('/camera/image_yolo', Image, queue_size=1) def image_callback(self, msg): cv_image = self.bridge.imgmsg_to_cv2(msg, desired_encoding="passthrough") # convert to darknet image format darknet_image = darknet.make_image(cv_image.shape[1], cv_image.shape[0], 3) darknet.copy_image_from_bytes(darknet_image, cv_image.tobytes()) # detect objects detections = darknet.detect_image(self.net, self.meta, darknet_image) # draw bounding boxes for detection in detections: x, y, w, h = detection[2] cv2.rectangle(cv_image, (int(x – w / 2), int(y – h / 2)), (int(x + w / 2), int(y + h / 2)), (0, 255, 0), 2) cv2.putText(cv_image, detection[0].decode("utf-8"), (int(x), int(y)), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 255, 0), 2) # publish image self.image_pub.publish(self.bridge.cv2_to_imgmsg(cv_image, encoding="bgr8")) if __name__ == '__main__': node = YOLOv5Node() rospy.spin() “` 在这个节点中,我们订阅了一个图像话题`/camera/image_raw`,使用CvBridge将ROS图像消息转换为OpenCV格式。然后,我们将图像转换为darknet格式,并使用YOLOv5进行目标检测。检测结果将在原始图像上绘制边界框,并发布到`/camera/image_yolo`话题上。 5. 运行ROS节点 在终端中运行ROS节点: “` $ rosrun <package_name> <node_name> “` 其中,`<package_name>`是您的ROS包名称,`<node_name>`是您的ROS节点名称。 6. 查看检测结果 您可以使用`rqt_image_view`工具查看`/camera/image_yolo`话题上发布的图像。 以上就是在ROS上部署YOLOv5的步骤。希望对您有所帮助。

原文链接:https://blog.csdn.net/weixin_42442319/article/details/125211928

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享