All Projects → ShiSanChuan → Darknet_ros

ShiSanChuan / Darknet_ros

Licence: bsd-3-clause
校内赛无人机追踪气球

Programming Languages

c
50402 projects - #5 most used programming language

Labels

Projects that are alternatives of or similar to Darknet ros

Libtorch Yolov3
A Libtorch implementation of the YOLO v3 object detection algorithm
Stars: ✭ 397 (+1370.37%)
Mutual labels:  yolov3
Bmw Yolov4 Training Automation
This repository allows you to get started with training a state-of-the-art Deep Learning model with little to no configuration needed! You provide your labeled dataset or label your dataset using our BMW-LabelTool-Lite and you can start the training right away and monitor it in many different ways like TensorBoard or a custom REST API and GUI. NoCode training with YOLOv4 and YOLOV3 has never been so easy.
Stars: ✭ 533 (+1874.07%)
Mutual labels:  yolov3
Yolo Tf2
yolo(all versions) implementation in keras and tensorflow 2.4
Stars: ✭ 695 (+2474.07%)
Mutual labels:  yolov3
Caffe Yolov3
A real-time object detection framework of Yolov3/v4 based on caffe
Stars: ✭ 435 (+1511.11%)
Mutual labels:  yolov3
Openvino Yolov3
YoloV3/tiny-YoloV3+RaspberryPi3/Ubuntu LaptopPC+NCS/NCS2+USB Camera+Python+OpenVINO
Stars: ✭ 500 (+1751.85%)
Mutual labels:  yolov3
Stronger Yolo
🔥Improve yolo with latest paper
Stars: ✭ 539 (+1896.3%)
Mutual labels:  yolov3
Msnhnet
🔥 (yolov3 yolov4 yolov5 unet ...)A mini pytorch inference framework which inspired from darknet.
Stars: ✭ 357 (+1222.22%)
Mutual labels:  yolov3
Yolo annotation tool
Annotation tool for YOLO in opencv
Stars: ✭ 17 (-37.04%)
Mutual labels:  yolov3
Yolo3 4 Py
A Python wrapper on Darknet. Compatible with YOLO V3.
Stars: ✭ 504 (+1766.67%)
Mutual labels:  yolov3
Yolov3
Keras implementation of yolo v3 object detection.
Stars: ✭ 585 (+2066.67%)
Mutual labels:  yolov3
Tensorrt Yolov3
TensorRT for Yolov3
Stars: ✭ 451 (+1570.37%)
Mutual labels:  yolov3
Yolo Tensorrt
Support Yolov5s,m,l,x .darknet -> tensorrt. Yolov4 Yolov3 use raw darknet *.weights and *.cfg fils. If the wrapper is useful to you,please Star it.
Stars: ✭ 495 (+1733.33%)
Mutual labels:  yolov3
Keras Yolov3 Mobilenet
I transfer the backend of yolov3 into Mobilenetv1,VGG16,ResNet101 and ResNeXt101
Stars: ✭ 552 (+1944.44%)
Mutual labels:  yolov3
Trainyourownyolo
Train a state-of-the-art yolov3 object detector from scratch!
Stars: ✭ 399 (+1377.78%)
Mutual labels:  yolov3
Tensorrt demos
TensorRT YOLOv4, YOLOv3, SSD, MTCNN, and GoogLeNet
Stars: ✭ 790 (+2825.93%)
Mutual labels:  yolov3
Invoice
增值税发票OCR识别,使用flask微服务架构,识别type:增值税电子普通发票,增值税普通发票,增值税专用发票;识别字段为:发票代码、发票号码、开票日期、校验码、税后金额等
Stars: ✭ 381 (+1311.11%)
Mutual labels:  yolov3
Yolov5 ncnn
🍅 Deploy NCNN on mobile phones. Support Android and iOS. 移动端NCNN部署,支持Android与iOS。
Stars: ✭ 535 (+1881.48%)
Mutual labels:  yolov3
3d Bounding Boxes From Monocular Images
A two stage multi-modal loss model along with rigid body transformations to regress 3D bounding boxes
Stars: ✭ 24 (-11.11%)
Mutual labels:  yolov3
Mobilenet Yolo
A caffe implementation of MobileNet-YOLO detection network
Stars: ✭ 825 (+2955.56%)
Mutual labels:  yolov3
Yolov3 pytorch
Full implementation of YOLOv3 in PyTorch
Stars: ✭ 570 (+2011.11%)
Mutual labels:  yolov3

parrot2无人机yolov3目标物体追踪

  • yolov3目标识别
  • opencv颜色识别
  • 物体追踪
  • 无目标搜索(施工中ing20181106)

Overview

  • MRZIRC比赛的第一个竞赛项目是无人机在100X60m的区域下寻找有悬挂气球的无人机,并且捕获目标气球,学校校内赛是在50mX60m的范围内寻找目标气球并且刺破;
  • ROS是一款为机器人设计的系统框架,parrot2无人机提供ROS的开发通信环境bebop_autonomy
  • darknet yolov3是深度学习的目标检测框架,C++/C编写;
  • 这个项目是基于一位外国的github的项目修改的darknet_ros项目。

Prepare

  • 笔记本配置:i5,GTX1060
  • 软件环境:Ubuntu16.04、 kinetic版本ROS

Vidio

How to used

build

cd catkin_ws/src
git clone https://github.com/AutonomyLab/bebop_autonomy.git
git clone https://github.com/ShiSanChuan/darknet_ros.git
cd ..
catkin build bebop_autonomy
catkin build darknet_ros -DCMAKE_BUILD_TYPE=Release

source devel/setup.bash

Download weights

  • 原COCO data 训练好的框架
wget http://pjreddie.com/media/files/yolov3-voc.weights
wget http://pjreddie.com/media/files/yolov3.weights
  • 比赛训练的模型框架文件(待传)

run

  • 参照bebop_autonomy的链接,打开parrot2后笔记本连接parrot的网络,运行
roslaunch bebop_driver bebop_node.launch
  • 运行成功后运行darknet ros,启动后飞机会自动起飞,注意安全,若不希望起飞在代码中修改下
roslaunch darknet_ros yolo_v3.launch
  • 停止运行,在terminal输入
rostopic pub --once /bebop/land std_msgs/Empty
  • opencv颜色提取获取参数,使用的是RGB设置的阈值,可修改为HSV,文件中有个全色图圈可用来测试下范围,调整完的参数在程序中修改
cd doc
g++ -std=c++11 Inrang.cpp -o Inrang  `pkg-config --cflags --libs opencv`
./Inrang YOLO V3_screenshot_17.10.2018.png

Thinking

  • 通过深度学习框架比如yolo来识别物体是可以的,不过受到图片尺寸问题,对于近处目标(大概3米)的目标可以识别,但对于远处目标(在parrot传来的428x240图片里大概占5个像素),这种目标是无法分辨出来的,因此在原基础代码上添加opencv的颜色识别的线程,用于辅助yolo的识别,使得无人机在比较远处能先靠近物体,若不是该目标物体再移动视角环境,找下一个疑似目标;

  • 由于目标是移动的或者静止的,因此通过PID调整飞行参数使得目标的中心位置与图像中心位置重合。

Parament

  • 安装原darknet_ros程序步骤,需要将训练模型的weight和cfg文件配置好,比赛识别的目标是气球因此专门为气球识别训练了几组weight
catkin_wc/src/darknet_ros/darknet_ros/yolo_network_config/weights/
catkin_wc/src/darknet_ros/darknet_ros/yolo_network_config/cfg/
  • 在launch文件里修改launch启动文件,yaml文件设置识别阈值和目标类型
catkin_wc/src/darknet_ros/darknet_ros/launch/yolo_v3.launch

<rosparam command="load" ns="darknet_ros" file="$(find darknet_ros)/config/yolov3-MBZIRC.yaml"/>

used on other UAV

  • 若要使得该无人机目标追踪能在其他平台上使用(比如M100),除了处理修改自己要的识别目标的模型文件外,还必须按照bebop的话题修改ROStopic,同时对于无人机的控制命令(起飞、降落、姿态调整)的rostopic保持一致;
<param name="bebop_topic_head"  value="/bebop" />
  • 若要修改识别目标,先按照darknet官网训练目标的模型文件,在调节下远处目标识别的大概颜色。

Some Problem

  • 在代码里面加入无目标时的路径搜索,参考的是这个大佬的网页动画,先在20x20的框图以起始和中心(或者其他目标点),所以没有目标时无人机回往中心点靠;
  • 问题一是没有GPS,所以每次发送控制命令时计算无人机坐标有点难;
  • 问题二是无人机摄像头识别范围,每次无人机经过地图的点,将没有目标的地图点的高度下降,再随时间上涨
  • 问题三是有摄像头通过opencv识别到物体时,如何确定物体在地图中的点(距离),靠近后用yolo下不是该物体同样方法至该点至最负

Contributier

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].