Darknet / Yolo Real-time Object Detection

 
#1

DJ and Team,

Have you seen the TensorFlow / Darknet / YOLO Real-time Object Detection videos? A friend of mine has implemented it on his PC and OMG, it is the fastest and most accurate object identification software that I have ever seen. It is light years beyond Open CV. And the best part is that like Open CV, it is also open source. It is a neural network program which it runs on Windows (and Linux).

TED Talk:
https://www.youtube.com/watch?v=Cgxsv1riJhI

Have you ever thought of adding this to EZ Builder?



Thomas Messerschmidt


User-inserted image

Object detection/recognition

#2

This looks absolutely amazing. Thanks for sharing Thomas!

#3

Here you go - this is The Robot Program episode on training and recognizing objects in real-time. Find more Activities in the learn section of this website. Locate the top menu and press the learn button, then select your ezrobot product. have fun! Smile

Full link: http://www.ez-robot.com/Tutorials/Lesson/106

#4

Let the YOLO vs SSD vs RCNN games begin.
If we are starting a requirements list for Ez-B 5.0 a GPU for Edge AI. AMD or Nvidia on board would be cool.

#5

I finally got my YOLO2/TensorFlow implementation running!

It is amazing in how accurate it is, even in bad light and weird angles. I think they call that "deep learning". YOLO ("You Only Look Once"Winky is a faster way of doing vision processing. It uses TensorFlow They say you can get it to process 20-40 frames per second from live video feed with a GPU. I don't get so many with my old laptop, but it works well enough for my purposes.

Wiki says, "TensorFlow is (Google's) open-source software library... It is...used for machine learning applications such as neural networks. It is used for both research and production at Google."

It runs kind of slow on my old windows 7 laptop. It really needs a graphics processor unit board (GPU) to do its best work. I'll have to put "a new computer with a fast GPU" on my shopping list. Grin

YOLO2 is a real pain to install. A lot of the online tutorials/instructions are out of date or assume you know most of everything that they do. Still, once you get the applications installed (python, Atom, tensorflow, OpenCV), the rest is relatively easy. There were a few "gotchas", but nothing that 10 or 20 hours of combing the internet couldn't solve! LOL!

I will be putting up a youtube video in a few days (weeks?) that shows how I did it.

I will probably write an EZ-Builder plugin as well, but I really don't know where to start with the plugin.

#6

Glad to hear you've got it working! I'm very interested in YOLO and what it could achieve in our robots!

Really looking forward to that video of yours, would be great to see how it was done and maybe some samples of YOLO in action.

#7

@thomasfromla sweet...looking forward to see what you accomplished!
Seems like there are a few version of YOLO out there which do have a limited training set...which gives better results if computing power is limited!

Good job! Smile

#8

Thanks!

When I make that video, please let me know if I skip a step or get something wrong.

It will probably be this weekend.

Thanks,

Thomas

#9

@thomasfromla:

Quote:


It uses TensorFlow They say you can get it to process 20-40 frames per second from live video feed with a GPU.


Yolo is not based neither is related to the Tensorflow.

YOLO: (You only look once) is a system for detecting objects, works on top of the Darknet framework.
https://github.com/pjreddie/darknet/wiki/YOLO:-Real-Time-Object-Detection

Darknet:
Darknet is an open source neural network framework written in C and CUDA. It is fast, easy to install, and supports CPU and GPU computation.
https://pjreddie.com/darknet/

Tensorflow:
https://en.wikipedia.org/wiki/TensorFlow

You can see object detection results using Tensorflow and Yolo:
https://www.ez-robot.com/Community/Forum/Thread?threadId=10279

I've compiled both on Windows:
Tensorflow took me 4 hours and a lot of memory and disk.
Yolo is straightforward although i get some random crashes.

#10

Well thank you for that detailed explanation. It is certainly an interesting mix of software. Grin Someone should come up with a name for this. A simple, descriptive name would be a good thing. Tensorflow/Darknet/YOLO is a bit of a mouthful to say. Perhaps "TiDY" or "DitTY" Grin

--Thomas