diff options
author | Igor Pashev <pashev.igor@gmail.com> | 2017-02-05 16:33:00 +0300 |
---|---|---|
committer | Igor Pashev <pashev.igor@gmail.com> | 2017-02-06 00:04:19 +0300 |
commit | 25469d39577aaa4e06a4b48ff7cdb5c2b4821b3c (patch) | |
tree | dde283030affdd066b2c4c490517d9770c4f13d6 /README.rst | |
download | yoso-25469d39577aaa4e06a4b48ff7cdb5c2b4821b3c.tar.gz |
Initial version 0.1.00.1.0
Diffstat (limited to 'README.rst')
-rw-r--r-- | README.rst | 92 |
1 files changed, 92 insertions, 0 deletions
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 <http://pjreddie.com/darknet/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: ``<class number> - <short description>.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 <http://pjreddie.com/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 + + |