Skip to content

Visual Recognition Darknet YOLO

Anthony edited this page Jan 6, 2020 · 5 revisions

Introduction

Yolo from Darknet is the open-source library we use for Securbot’s visual recognition module. It’s useful to train a convolutionnal neural network aswell as use them once trained. It’s user-friendly for any imported external sources of neural network (under the form of files called weights) too. Please note that Securbot’s team, at the end of the first iteration of the project, didn’t fully understand this library and tried to experiment with it.

Getting Started

To understand more about Yolo/Darknet and its capabilities, the following main link (insert link) introduce to the library and its usage. It is recommended to try and test the basic commands it shows on the site for either compiling the library, test pre-trained neural networks with pictures, run a real-time detection on a camera and more. It’s important to get familiar with some types of files (some with their content) like .weights, .data, .names, .txt, etc.

Next, there is this repo where some experimentations and potential improvments have been done with the original library. It repeats some explanations of the previous link, but it does also gives other utilities like providing a loss chart while training, like processing a whole video through a trained neural network to validate the results and like giving some tips with some issues or for enhancements. By getting familiar with the previous library, this repo should be easier to understand.

Now Securbot’s use ROS for its robots main processes. Securbot’s use Darknet under the form of a ROS node from this repo. It’s well made for an up-and-runnning node, espacially for an user that does understand the basics of the ROS framework. At this point, the user should check if the published topics and the subscribed topics would fit as an integrated module for its project.

Troubleshooting

As easy as it seems to say, it’s recommended to check the forums or any discussion platforms about the issues the user encounter. Github repos’ issues, Nvidia’s forums, blogs and articles on Darknet can really help depending on what CPU/GPU the user run the library.