Skip to main content

Installing YOLOv4 with Anaconda

Shenzhen, China

This project uses the YOLOv4/Anaconda Setup by The AI Guy. This is part one of this series:

Yolo4 Object Detection Setup​

Dependencies​

Anaconda​

Install Conda:

wget https://repo.anaconda.com/archive/Anaconda3-2021.11-Linux-x86_64.sh
chmod +x Anaconda3-2021.11-Linux-x86_64.sh
bash Anaconda3-2021.11-Linux-x86_64.sh

Add conda to your PATH variables (~/.bashrc, ~/.zshrc, etc) - don' t forget to source it afterwards:

export PATH="/home/myuser/anaconda3/bin:$PATH"

Verify:

conda --version
conda 4.10.3

Initialize your shell with:

conda init <SHELL_NAME>

Currently supported shells are:

  • bash
  • fish
  • tcsh
  • xonsh
  • zsh
  • powershell

Git​

conda install -c anaconda git

Source Repository​

And clone the source code from Github:

git clone https://github.com/mpolinowski/yolov4-custom-functions.git

Pre-trained Weights​

YOLOv4 comes pre-trained and able to detect 80 classes. For easy demo purposes we will use the pre-trained weights. Download pre-trained yolov4.weights file:

Copy and paste yolov4.weights from your downloads folder into the 'data' folder of the repository.

Virtual Environment​

Enter the repository and either run the CPU or GPU setup - the latter requires an NVIDIA graphic card with CUDA support:

CPU​

conda env create -f conda-cpu.yml
conda activate yolov4-cpu

GPU​

conda env create -f conda-gpu.yml
conda activate yolov4-gpu

Convert weights to TensorFlow Format​

To implement YOLOv4 using TensorFlow, first we convert the .weights into the corresponding TensorFlow model files and then run the model.

Convert darknet weights to tensorflow:

python save_model.py --weights ./data/yolov4.weights --output ./checkpoints/yolov4-416 --input_size 416 --model yolov4

Run YOLOv4​

Run YOLOv4 Tensorflow Model on an Image​

python detect.py --weights ./checkpoints/yolov4-416 --size 416 --model yolov4 --images ./data/images/Old_Town.jpg

YOLOv4 Object Recognition

Run YOLOv4 from a Video File​

python detect_video.py --weights ./checkpoints/yolov4-416 --size 416 --model yolov4 --video ./data/video/cars.mp4 --output ./detections/results.avi

YOLOv4 Object Recognition

Run YOLOv4 on a Webcam Stream​

Connect your webcam and run YOLOv4:

python detect_video.py --weights ./checkpoints/yolov4-416 --size 416 --model yolov4 --video 0 --output ./detections/results.avi

Run YOLOv4 on a INSTAR IP Camera Stream​

python detect_video.py --weights ./checkpoints/yolov4-416 --size 416 --model yolov4 --video http://192.168.0.80:80/mjpegstream.cgi?-chn=11&-usr=admin&-pwd=instar