基于Darknet和Darknet-ROS在Jetson Nano部署yolov3 tiny,进行口罩佩戴检测

单独运行yolov3-tiy进行目标检测

下载Darknet源码并编译

https://gitee.com/bingda-robot/darknet.git

或者上传本地的darknet源码至Jetson Nano

scp -r /Users/xiangjun/Desktop/ros/darknet [email protected]:/home/bingda

验证cuda是否安装:

ls -l /usr/local |grep cuda

查看opencv的版本:

opencv_version

查看opencv的库文件:

ls -l /usr/include |grep opencv

创建opencv4的软链接:

sudo ln -s /usr/include/opencv4/ /usr/include/opencv

开始编译darknet:

cd darknet
make

测试darknet

测试方式一

./darknet imtest data/eagle.jpg

出现如图结果则表示安装运行成功!

测试方式二

如果通过命令行方式登陆进Jetson Nano,则运行目标检测命令:

./darknet detector test cfg/coco.data cfg/yolov3-tiny.cfg ./yolov3-tiny.weights data/dog.jpg

其中yolov3-tiny权重文件下载:

wget https://pjreddie.com/media/files/yolov3-tiny.weights

yolo系列的权重文件下载地址:

https://pjreddie.com/darknet/yolo/

测试方式三:

摄像头视频测试

./darknet detector demo cfg/coco.data cfg/yolov3-tiny.cfg ./yolov3-tiny.weights

查看内存消耗情况:

free

配置kou罩检测相关文件,计算MAP值:

./darknet detector map /home/bingda/facemask/darknet/facemask/train/facemask.data /home/bingda/facemask/darknet/facemask/train/yolov3-tiny-facemask.cfg /home/bingda/facemask/darknet/facemask/output/weights/pre/yolov3-tiny-facemask_80000.weights

使用Darknet yolov3-tiny 在ros机器人上进行目标检测

下载源码并编译

git clone https://gitee.com/bingda-robot/darknet_ros.git

或将源码上传至ROS机器人

scp -r /Users/xiangjun/Desktop/ros/darknet_ros [email protected]:/home/bingda

创建软链接

cd darknet_ros
ln -s ~/darknet ~/catkin_ws/src/darknet_ros/darknet

回到工作空间下编译项目:

catkin_make

复制权重文件至ros功能包下:

cp -r ~/darknet/yolov3-tiny.weights /home/bingda/catkin_ws/src/darknet_ros/darknet_ros/yolo_network_config/weights

启动功能包,进行目标检测:

roslaunch darknet_ros yolo_v3.launch

启动图像话题提供检测数据:

roslaunch robot_vision robot_camera.launch

darknet_ros功能包相关配置文件分析:

启用ros功能包进行目标检测命令:

roslaunch darknet_ros yolo_v3.launch

yolov3-tiny的权重文件位置:
在这里插入图片描述
网络配置文件

数据配置文件:

数据配置文件的路径:
在这里插入图片描述
数据配置文件内容:

启动文件相互包含关系为:
基于Darknet和Darknet-ROS在Jetson Nano部署yolov3 tiny,进行口罩佩戴检测_第1张图片

替换权重文件:
修改数据配置问价内容:yolov3-tiny.yaml
运行出现如下错误:
在这里插入图片描述
记得替换cfg网络配置文件,替换后模型就能正常运行,只是对人脸识别的要靠近摄像头!

你可能感兴趣的:(yolo,Darknet,机器视觉,深度学习,目标检测,嵌入式硬件)