From 25469d39577aaa4e06a4b48ff7cdb5c2b4821b3c Mon Sep 17 00:00:00 2001 From: Igor Pashev Date: Sun, 5 Feb 2017 16:33:00 +0300 Subject: Initial version 0.1.0 --- README.rst | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 README.rst (limited to 'README.rst') diff --git a/README.rst b/README.rst new file mode 100644 index 0000000..f8a09a5 --- /dev/null +++ b/README.rst @@ -0,0 +1,92 @@ +You Only Show Once +================== + +YOSO is a GUI application providing a means of creating training data set for +`YOLO `_, a state-of-the-art, real-time object detection system. +It can be useful for other computer vision systems, because I believe that YOLO's +label file format is quite a good and flexible choice. + + +Requirements +============ + +- Python 3 +- PyQt5 + + +Data Directory Structure +======================== + +YOSO should be pointed to a data directory having this structure: + +:: + + data + |\_ classes + | \_ "0 - roy.jpg" + | \_ "1 - poli.jpg" + | \_ ... + |\_ images + | |\_ poli + | | \_ poli-001.jpg + | | \_ ... + | | \_ poli-009.jpg + | | \_ ... + | |\_ roy + | | \_ roy-1.jpg + | | \_ ... + | | \_ roy-99.jpg + | | \_ ... + | \_ ... + \_ labels + |\_ poli + | \_ poli-001.jpg.txt + | \_ ... + | \_ poli-009.jpg.txt + | \_ ... + |\_ roy + | \_ roy-1.jpg.txt + | \_ ... + | \_ roy-99.jpg.txt + | \_ ... + \_ ... + + +``data/classes`` must contain JPEG files describing object classes in format: `` - .jpg`` + +``data/images`` has arbitrary structure and contains JPEG or PNG images (``*.jpg``, or ``*.jpeg``, ``*.png``). +This is a training set of hundreds or thousands of images. + +``data/labels`` is managed by YOSO and has the same structure as ``data/images``. +All missed subdirectories will be created automatically. +Note that label files create by YOSO have different naming scheme, so you might have to update +`Darknet `_ sources. + + +Controls +======== + +- To add a bounding box select a region with the mouse pointer. + Newly added bounding box will have object class currently selected + in the list on the right. + +- To delete a bounding box double click on it. + +- To change object class drag an item from the list on the right + and drop it into existing bounding box. + +Whenever a bounding box is added, deleted or changed, the result is automatically saved. + + +Screenshots +=========== + +.. image:: screenshots/yoso-roy-1.png + + +Video +===== + +https://www.youtube.com/watch?v=upPbaXq8wm0 + + -- cgit v1.2.3