我是靠谱客的博主 大气小懒猪,最近开发中收集的这篇文章主要介绍YOLO V3学习(2)——在ROS下基于已训练好的模型实时检测对象1 安装OpenCV(至少3.4.0以上)2.下载与编译darknet_ros3.运行与结果,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1 安装OpenCV(至少3.4.0以上)

1)安装编译

unzip OpenCV-3.4.5.zip
cd opencv3.4.5.
mkdir build
cd build
cmake ..
sudo make -j4
sudo make install

2.下载与编译darknet_ros

下载darknet_ros:

mkdir darknet_ws/src
cd src
catkin_init_workspace
git clone --recursive git@github.com:leggedrobotics/darknet_ros.git

执行catkin_make -DCMAKE_BUILD_TYPE=Release进行编译,完成。
最终生成文件如下:
在这里插入图片描述1)这里采用CPU模式,因为还没有部署GPU环境,因此这里需要将GPU置为0,打开darknet/Makefile

GPU=0
CUDNN=0
OPENCV=1
OPENMP=0
DEBUG=0

2)打开darknet_ros/launch/darknet_ros.launch

<?xml version="1.0" encoding="utf-8"?>

<launch>
  <!-- Console launch prefix -->
  <arg name="launch_prefix" default=""/>
  <arg name="image" default="/camera/rgb/image_raw" />

  <!-- Config and weights folder. -->
  <arg name="yolo_weights_path"          default="$(find darknet_ros)/yolo_network_config/weights"/>
  <arg name="yolo_config_path"           default="$(find darknet_ros)/yolo_network_config/cfg"/>

  <!-- ROS and network parameter files -->
  <arg name="ros_param_file"             default="$(find darknet_ros)/config/ros.yaml"/>
  <arg name="network_param_file"         default="$(find darknet_ros)/config/yolov3.yaml"/>

  <!-- Load parameters -->
  <rosparam command="load" ns="darknet_ros" file="$(arg ros_param_file)"/>
  <rosparam command="load" ns="darknet_ros" file="$(arg network_param_file)"/>

  <!-- Start darknet and ros wrapper -->
  <node pkg="darknet_ros" type="darknet_ros" name="darknet_ros" output="screen" launch-prefix="$(arg launch_prefix)">
    <param name="weights_path"          value="$(arg yolo_weights_path)" />
    <param name="config_path"           value="$(arg yolo_config_path)" />
    <remap from="camera/rgb/image_raw"  to="$(arg image)" />
  </node>

 <!--<node name="republish" type="republish" pkg="image_transport" output="screen" 	args="compressed in:=/front_camera/image_raw raw out:=/camera/image_raw" /> -->
</launch>

主要修改
1.image图像的topic名称,这里dabai输出图像的topic为camera/rgb/image_raw
2.network_param_file,这里选择了yolov3.yaml

3.运行与结果

1)运行dabaiRGBD相机

roslaunch astra_camera dabai_u3.launch

2)查看cpu消耗

top

3)运行darknet

roslaunch darknet_ros darknet_ros.launch 

结果:
在这里插入图片描述存在的问题分析:
1.可以看到cpu消耗超过100%,整个检测过程都比较卡顿,作者描述GPU模式下检测的速度是CPU模式下的500倍数,因此接下里将在GPU模式下安装cuda进行测试;
2.图中的苹果没有被检测出来,即对于一些想要去识别但是又没有现有的数据集可用,这个时候就需要自己训练数据完成识别。

最后

以上就是大气小懒猪为你收集整理的YOLO V3学习(2)——在ROS下基于已训练好的模型实时检测对象1 安装OpenCV(至少3.4.0以上)2.下载与编译darknet_ros3.运行与结果的全部内容,希望文章能够帮你解决YOLO V3学习(2)——在ROS下基于已训练好的模型实时检测对象1 安装OpenCV(至少3.4.0以上)2.下载与编译darknet_ros3.运行与结果所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部