Package: ayolo
AyoloPyQt5 based annotation tool for yolov4 datasets, providing fast and easy ways of annotating.Wait what, reinventing the wheel ? Well ... technically yes, but if it has improvements or features that others don't, then why not ?If you like the tool, astarto this repository would be nice.BugsFor bugs (e.g.RuntimeError: cuda runtime error (59) : device-side assert triggered) you can go over to this repo's issue tracker, specially on the closed ones, to see if it's been resolved or its workaround. If you are sure that the bug is not reported, feel free to open a new issue for that.InstallationRequires Python 3.7 (or whatever is supported by PyQt5)No executables, build it from source if you need one.For global access, install it outside of virtual environments.pipinstallayoloUsageCallannotatewith the dataset path, either relative or absolute.ayoloannotate<dir_path>Dataset Structure<dir_path>
├──img_1.png
├──img_2.png
├──img_3.png
├──classes.txt
└──annotations.txtSupported image extensions:.png,.jpgSupported annotations format:.txtSupported classnames format:.txtInterfacesThis module provides a PyQt5 window for making annotations on yolov4 datasets. The annotator window consists of 3 interfaces:Image Browser (Left)Filters for annotated and unannotated images.Keyboard and mouse shortcuts for faster navigation.Annotations are saved every time an image it's navigated away from.Annotator (Center)Twice left click for annotating to avoid wrist damage.Cross lines for better accurary.Realtime coordinate location.Window resize persistent.Image scaled to fit container.Instant colors for class distinction.Right click to undo selection.Control Panel (Right)Realtime current annotations listing.Buttons with global shotcuts for managing annotations/images.Search feature for class names.Ability to create new classes on the go.Keyboard and mouse shortcuts for navigating class names search results.ButtonsAvailable buttons in annotator window:ButtonActionPrevNavigate previous ImageNextNavigate next ImageSaveSave current annotationsNullMark image as NullUndoUndo last annotationDeleteDelete/Discard current ImageClearClear all current annotationsKeyboard ShortcutsAvailable keyboard shortcuts in annotator window / interfaces:Key/KeySequenceInterfaceActionPgUpGlobalNavigate previous ImagePgDnGlobalNavigate next ImageCtrl + SGlobalSave current annotationsCtrl + NGlobalMark image as NullCtrl + ZGlobalUndo last annotationCtrl + DGlobalDelete/Discard current ImageCtrl + XGlobalClear all current annotationsArrowUpControl PanelSelect previous classArrowDnControl PanelSelect next classMouse ShortcutsAvailable mouse events in annotator interface:Key/KeySequenceInterfaceActionLeftAnnotatorStart/Finish rectangle annotationRightAnnotatorUndo last annotationScrollUpAnnotatorSelect previous classScrollDnAnnotatorSelect next classBackAnnotatorNavigate previous ImageForwardAnnotatorNavigate next ImageBackandForwardbuttons are not available in some mice, they are typically only available on gaming miceContributeContributions are welcomed, as long as it doesn't cause any harm to users.Possibly implemented features ?I am a normal hooman who has a daily job, thus not a lot time available, but ... let's put some expectations ... soon :tm:.Augmentation of datasets: brightness, rotations, contrast, etc.Preprocessing of datasets: cropping, resizing, etc.Choose output format: yolov4 txt, coco, xml, etc.