Implementing yolov4 target detection and tracking based on nao robot

Overview

基于nao机器人实现yolov4目标检测并进行跟踪

Introduction - 介绍

本项目为yolov4算法在nao机器人上的应用。

关于YOLOv4原理请参考YOLOv4原论文
本项目主要YOLOv4框架参考Bubbliiiing博主复现的代码
原博客链接:https://blog.csdn.net/weixin_44791964/article/details/106214657
复现代码链接:https://github.com/bubbliiiing/yolov4-pytorch
nao机器人单目测距方法请参考:https://wenku.baidu.com/view/bdc7eea7482fb4daa48d4b24.html
使用本项目前请先下载复现YOLOv4代码,并用py3.6文件夹中.py文件替换原文件中的同名文件


下图为目标跟踪流程图。由于nao机器人sdk库naoqi仅支持py2.7环境,本项目需分别运行py2.7环境下的"封装跟踪.py"文件和py3.6环境下的"predict.py"文件。
该项目可以让nao机器人转头寻找水瓶目标,检测到目标后通过单目测距向目标前进,当目标距离和nao小于1.09m时,程序完成运行。 image

Requirements - 必要条件

py2.7环境

numpy==1.16.6+vanilla
opencv-python==2.4.13.7
Pillow==6.2.2
pynaoqi==2.1.4.13

tips

naoqi库为软银官方提供的nao机器人sdk
naoqi库百度云链接:链接: https://pan.baidu.com/s/1kib-Bx9BjiOXCjrIycsIAw 提取码: 5k8b


py3.6环境

pytorch和cuda版本参考Bubbliiiing博文,其他缺少环境任意版本即可。 参考环境见py3.6环境文件(仅供参考,因为包含了很多自用无关的库)

Configuration - 配置

使用本项目前请先下载复现YOLOv4代码,并用py3.6文件夹中.py文件替换原文件中的同名文件
YOLOv4环境的配置方法:
1.将训练好的只检测水瓶类的权重文件放入model_data文件夹,并替换yolo.py中的初始路径
2.把model_data文件夹下的voc_classes.txt文件中物品类别改为只有bottle
3.更多问题详见Bubbliiiing博文。

本项目跟踪的只有水瓶类,所以训练时只提取了VOC2007数据集中的水瓶类别
只有水瓶类别的VOC2007数据集百度云链接:链接: https://pan.baidu.com/s/1d11f3lm2BvPtwxXuRYZ5HQ 提取码: w2kn
训练好的只检测水瓶类的权重百度云链接: 链接: https://pan.baidu.com/s/1Qt__j8RAOZeRbY8BjXitpA 提取码: 5u2b

Usage - 用法

配置好py3.6和py2.7环境后。先运行"封装跟踪.py"文件,再运行"predict.py"文件。
检测到的图片信息可见于img文件夹

Changelog - 更新日志

License - 版权信息

本项目证书为GPL-3.0 License,详见GPL-3.0 License.md

NCNN implementation of Real-ESRGAN. Real-ESRGAN aims at developing Practical Algorithms for General Image Restoration.

NCNN implementation of Real-ESRGAN. Real-ESRGAN aims at developing Practical Algorithms for General Image Restoration.

Xintao 593 Jan 03, 2023
NeRF Meta-Learning with PyTorch

NeRF Meta Learning With PyTorch nerf-meta is a PyTorch re-implementation of NeRF experiments from the paper "Learned Initializations for Optimizing Co

Sanowar Raihan 78 Dec 18, 2022
[NeurIPS 2020] Blind Video Temporal Consistency via Deep Video Prior

pytorch-deep-video-prior (DVP) Official PyTorch implementation for NeurIPS 2020 paper: Blind Video Temporal Consistency via Deep Video Prior TensorFlo

Yazhou XING 90 Oct 19, 2022
Source code of all the projects of Udacity Self-Driving Car Engineer Nanodegree.

self-driving-car In this repository I will share the source code of all the projects of Udacity Self-Driving Car Engineer Nanodegree. Hope this might

Andrea Palazzi 2.4k Dec 29, 2022
Unified Instance and Knowledge Alignment Pretraining for Aspect-based Sentiment Analysis

Unified Instance and Knowledge Alignment Pretraining for Aspect-based Sentiment Analysis Requirements python 3.7 pytorch-gpu 1.7 numpy 1.19.4 pytorch_

12 Oct 29, 2022
Learning Representations that Support Robust Transfer of Predictors

Transfer Risk Minimization (TRM) Code for Learning Representations that Support Robust Transfer of Predictors Prepare the Datasets Preprocess the Scen

Yilun Xu 15 Dec 07, 2022
SOTA easy to use PyTorch-based DL training library

Easily train or fine-tune SOTA computer vision models from one training repository. SuperGradients Introduction Welcome to SuperGradients, a free open

619 Jan 03, 2023
Simulation environments for the CrazyFlie quadrotor: Used for Reinforcement Learning and Sim-to-Real Transfer

Phoenix-Drone-Simulation An OpenAI Gym environment based on PyBullet for learning to control the CrazyFlie quadrotor: Can be used for Reinforcement Le

Sven Gronauer 8 Dec 07, 2022
Physics-Informed Neural Networks (PINN) and Deep BSDE Solvers of Differential Equations for Scientific Machine Learning (SciML) accelerated simulation

NeuralPDE NeuralPDE.jl is a solver package which consists of neural network solvers for partial differential equations using scientific machine learni

SciML Open Source Scientific Machine Learning 680 Jan 02, 2023
The code for our paper "AutoSF: Searching Scoring Functions for Knowledge Graph Embedding"

AutoSF The code for our paper "AutoSF: Searching Scoring Functions for Knowledge Graph Embedding" and this paper has been accepted by ICDE2020. News:

AutoML Research 64 Dec 17, 2022
This repository contains the official MATLAB implementation of the TDA method for reverse image filtering

ReverseFilter TDA This repository contains the official MATLAB implementation of the TDA method for reverse image filtering proposed in the paper: "Re

Fergaletto 2 Dec 13, 2021
Husein pet projects in here!

project-suka-suka Husein pet projects in here! List of projects mysejahtera-density. Generate resolution points using meshgrid and request each points

HUSEIN ZOLKEPLI 47 Dec 09, 2022
General-purpose program synthesiser

DeepSynth General-purpose program synthesiser. This is the repository for the code of the paper "Scaling Neural Program Synthesis with Distribution-ba

Nathanaël Fijalkow 24 Oct 23, 2022
Benchmark library for high-dimensional HPO of black-box models based on Weighted Lasso regression

LassoBench LassoBench is a library for high-dimensional hyperparameter optimization benchmarks based on Weighted Lasso regression. Note: LassoBench is

Kenan Šehić 5 Mar 15, 2022
Files for a tutorial to train SegNet for road scenes using the CamVid dataset

SegNet and Bayesian SegNet Tutorial This repository contains all the files for you to complete the 'Getting Started with SegNet' and the 'Bayesian Seg

Alex Kendall 800 Dec 31, 2022
CondenseNet V2: Sparse Feature Reactivation for Deep Networks

CondenseNetV2 This repository is the official Pytorch implementation for "CondenseNet V2: Sparse Feature Reactivation for Deep Networks" paper by Le Y

Haojun Jiang 74 Dec 12, 2022
Code for the paper "Adversarial Generator-Encoder Networks"

This repository contains code for the paper "Adversarial Generator-Encoder Networks" (AAAI'18) by Dmitry Ulyanov, Andrea Vedaldi, Victor Lempitsky. Pr

Dmitry Ulyanov 279 Jun 26, 2022
FocusFace: Multi-task Contrastive Learning for Masked Face Recognition

FocusFace This is the official repository of "FocusFace: Multi-task Contrastive Learning for Masked Face Recognition" accepted at IEEE International C

Pedro Neto 21 Nov 17, 2022
Re-implementation of the vector capsule with dynamic routing

VectorCapsule Re-implementation of the vector capsule with dynamic routing We implement the vector capsule and dynamic routing via graph neural networ

ZhenchaoTang 10 Feb 10, 2022
Pytorch ImageNet1k Loader with Bounding Boxes.

ImageNet 1K Bounding Boxes For some experiments, you might wanna pass only the background of imagenet images vs passing only the foreground. Here, I'v

Amin Ghiasi 11 Oct 15, 2022