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

Tensorflow implementation for "Improved Transformer for High-Resolution GANs" (NeurIPS 2021).

HiT-GAN Official TensorFlow Implementation HiT-GAN presents a Transformer-based generator that is trained based on Generative Adversarial Networks (GA

Google Research 78 Oct 31, 2022
A visualisation tool for Deep Reinforcement Learning

DRLVIS - Visualising Deep Reinforcement Learning Created by Marios Sirtmatsis with the support of Alex Bäuerle. DRLVis is an application used for visu

Marios Sirtmatsis 1 Nov 04, 2021
Pairwise Learning for Neural Link Prediction for OGB (PLNLP-OGB)

Pairwise Learning for Neural Link Prediction for OGB (PLNLP-OGB) This repository provides evaluation codes of PLNLP for OGB link property prediction t

Zhitao WANG 31 Oct 10, 2022
This is a Machine Learning Based Hand Detector Project, It Uses Machine Learning Models and Modules Like Mediapipe, Developed By Google!

Machine Learning Hand Detector This is a Machine Learning Based Hand Detector Project, It Uses Machine Learning Models and Modules Like Mediapipe, Dev

Popstar Idhant 3 Feb 25, 2022
Source code and dataset of the paper "Contrastive Adaptive Propagation Graph Neural Networks forEfficient Graph Learning"

CAPGNN Source code and dataset of the paper "Contrastive Adaptive Propagation Graph Neural Networks forEfficient Graph Learning" Paper URL: https://ar

1 Mar 12, 2022
Real-time 3D multi-person detection made easy with OpenPose and the ZED

OpenPose ZED This sample show how to simply use the ZED with OpenPose, the deep learning framework that detects the skeleton from a single 2D image. T

blanktec 5 Nov 06, 2020
Code for paper " AdderNet: Do We Really Need Multiplications in Deep Learning?"

AdderNet: Do We Really Need Multiplications in Deep Learning? This code is a demo of CVPR 2020 paper AdderNet: Do We Really Need Multiplications in De

HUAWEI Noah's Ark Lab 915 Jan 01, 2023
Problem-943.-ACMP - Problem 943. ACMP

Problem-943.-ACMP В "main.py" расположен вариант моего решения задачи 943 с серв

Konstantin Dyomshin 2 Aug 19, 2022
A Self-Supervised Contrastive Learning Framework for Aspect Detection

AspDecSSCL A Self-Supervised Contrastive Learning Framework for Aspect Detection This repository is a pytorch implementation for the following AAAI'21

Tian Shi 30 Dec 28, 2022
Neural Reprojection Error: Merging Feature Learning and Camera Pose Estimation

Neural Reprojection Error: Merging Feature Learning and Camera Pose Estimation This is the official repository for our paper Neural Reprojection Error

Hugo Germain 78 Dec 01, 2022
SC-GlowTTS: an Efficient Zero-Shot Multi-Speaker Text-To-Speech Model

SC-GlowTTS: an Efficient Zero-Shot Multi-Speaker Text-To-Speech Model Edresson Casanova, Christopher Shulby, Eren Gölge, Nicolas Michael Müller, Frede

Edresson Casanova 92 Dec 09, 2022
Security evaluation module with onnx, pytorch, and SecML.

🚀 🐼 🔥 PandaVision Integrate and automate security evaluations with onnx, pytorch, and SecML! Installation Starting the server without Docker If you

Maura Pintor 11 Apr 12, 2022
PyTorch Autoencoders - Implementing a Variational Autoencoder (VAE) Series in Pytorch.

PyTorch Autoencoders Implementing a Variational Autoencoder (VAE) Series in Pytorch. Inspired by this repository Model List check model paper conferen

Subin An 8 Nov 21, 2022
SciPy fixes and extensions

scipyx SciPy is large library used everywhere in scientific computing. That's why breaking backwards-compatibility comes as a significant cost and is

Nico Schlömer 16 Jul 17, 2022
The `rtdl` library + The official implementation of the paper

The `rtdl` library + The official implementation of the paper "Revisiting Deep Learning Models for Tabular Data"

Yandex Research 510 Dec 30, 2022
SpanNER: Named EntityRe-/Recognition as Span Prediction

SpanNER: Named EntityRe-/Recognition as Span Prediction Overview | Demo | Installation | Preprocessing | Prepare Models | Running | System Combination

NeuLab 104 Dec 17, 2022
TransPrompt - Towards an Automatic Transferable Prompting Framework for Few-shot Text Classification

TransPrompt This code is implement for our EMNLP 2021's paper 《TransPrompt:Towards an Automatic Transferable Prompting Framework for Few-shot Text Cla

WangJianing 23 Dec 21, 2022
CVPR '21: In the light of feature distributions: Moment matching for Neural Style Transfer

In the light of feature distributions: Moment matching for Neural Style Transfer (CVPR 2021) This repository provides code to recreate results present

Nikolai Kalischek 49 Oct 13, 2022
A Transformer-Based Siamese Network for Change Detection

ChangeFormer: A Transformer-Based Siamese Network for Change Detection (Under review at IGARSS-2022) Wele Gedara Chaminda Bandara, Vishal M. Patel Her

Wele Gedara Chaminda Bandara 214 Dec 29, 2022
BLEURT is a metric for Natural Language Generation based on transfer learning.

BLEURT: a Transfer Learning-Based Metric for Natural Language Generation BLEURT is an evaluation metric for Natural Language Generation. It takes a pa

Google Research 492 Jan 05, 2023