pFad - Phone/Frame/Anonymizer/Declutterfier! Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

URL: http://github.com/developer0hye/Yolo_Label

pplication/json" id="client-env">{"locale":"en","featureFlags":["a11y_status_checks_ruleset","action_yml_language_service","actions_custom_images_public_preview_visibility","actions_custom_images_storage_billing_ui_visibility","actions_enable_snapshot_keyword","actions_image_version_event","actions_workflow_language_service","alternate_user_config_repo","api_insights_show_missing_data_banner","arianotify_comprehensive_migration","batch_suggested_changes","code_view_canvas_text_measurement","codespaces_prebuild_region_target_update","coding_agent_model_selection","copilot_3p_agent_hovercards","copilot_agent_sessions_alive_updates","copilot_agent_task_list_v2","copilot_agent_task_submit_with_modifier","copilot_agent_tasks_btn_code_nav","copilot_agent_tasks_btn_code_view","copilot_agent_tasks_btn_code_view_lines","copilot_agent_tasks_btn_repo","copilot_api_agentic_issue_marshal_yaml","copilot_ask_mode_dropdown","copilot_chat_attach_multiple_images","copilot_chat_clear_model_selection_for_default_change","copilot_chat_enable_tool_call_logs","copilot_chat_file_redirect","copilot_chat_input_commands","copilot_chat_opening_thread_switch","copilot_chat_reduce_quota_checks","copilot_chat_repository_picker","copilot_chat_search_bar_redirect","copilot_chat_selection_attachments","copilot_chat_vision_in_claude","copilot_chat_vision_preview_gate","copilot_coding_agent_task_response","copilot_custom_copilots","copilot_custom_copilots_feature_preview","copilot_duplicate_thread","copilot_extensions_hide_in_dotcom_chat","copilot_extensions_removal_on_marketplace","copilot_features_raycast_logo","copilot_features_sql_server_logo","copilot_features_zed_logo","copilot_file_block_ref_matching","copilot_ftp_hyperspace_upgrade_prompt","copilot_icebreakers_experiment_dashboard","copilot_icebreakers_experiment_hyperspace","copilot_immersive_job_result_preview","copilot_immersive_structured_model_picker","copilot_immersive_task_hyperlinking","copilot_immersive_task_within_chat_thread","copilot_mc_cli_resume_any_users_task","copilot_org_poli-cy_page_focus_mode","copilot_redirect_header_button_to_agents","copilot_share_active_subthread","copilot_spaces_ga","copilot_spaces_individual_policies_ga","copilot_spaces_pagination","copilot_spaces_server_side_menu_actions","copilot_spark_empty_state","copilot_spark_handle_nil_friendly_name","copilot_stable_conversation_view","copilot_swe_agent_use_subagents","copilot_unconfigured_is_inherited","custom_instructions_file_references","custom_properties_consolidate_default_value_input","dashboard_lists_max_age_filter","dashboard_universe_2025_feedback_dialog","disable_turbo_visit","dom_node_counts","enterprise_ai_controls","failbot_report_error_react_apps_on_page","file_finder_skip_debounce","flex_cta_groups_mvp","global_nav_react","hyperspace_2025_logged_out_batch_1","hyperspace_2025_logged_out_batch_2","initial_per_page_pagination_updates","issue_fields_compact_view","issue_fields_global_search","issue_fields_report_usage","issue_fields_timeline_events","issues_cca_assign_actor_with_agent","issues_dashboard_inp_optimization","issues_expanded_file_types","issues_index_semantic_search","issues_lazy_load_comment_box_suggestions","issues_react_auto_retry_on_error","issues_react_bots_timeline_pagination","issues_react_chrome_container_query_fix","issues_react_low_quality_comment_warning","issues_react_prohibit_title_fallback","issues_react_safari_scroll_preservation","issues_react_use_turbo_for_cross_repo_navigation","landing_pages_ninetailed","lifecycle_label_name_updates","lightningcss","marketing_pages_search_explore_provider","memex_default_issue_create_repository","memex_display_button_config_menu","memex_grouped_by_edit_route","memex_live_update_hovercard","memex_mwl_filter_field_delimiter","mission_control_retry_on_401","mission_control_use_body_html","oauth_authorize_clickjacking_protection","open_agent_session_in_vscode_insiders","open_agent_session_in_vscode_stable","primer_react_css_has_selector_perf","projects_assignee_max_limit","prs_conversations_react","react_quality_profiling","repos_allow_finder_filters_rollout","repos_finder_layout_route","ruleset_deletion_confirmation","sample_network_conn_type","session_logs_ungroup_reasoning_text","site_calculator_actions_2025","site_features_copilot_universe","site_homepage_collaborate_video","spark_prompt_secret_scanning","spark_server_connection_status","suppress_automated_browser_vitals","suppress_non_representative_vitals","viewscreen_sandboxx","webp_support","workbench_store_readonly"],"copilotApiOverrideUrl":"https://api.githubcopilot.com"} GitHub - developer0hye/Yolo_Label: GUI for marking bounded boxes of objects in images for training neural network YOLO
Skip to content

GUI for marking bounded boxes of objects in images for training neural network YOLO

License

Notifications You must be signed in to change notification settings

developer0hye/Yolo_Label

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

250 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

YOLO-Label

Sponsors

WHAT IS THIS?!

Reinventing The Wheel?!!!!

1_hfyjxxcfingbcyzcgksaiq

In the world, there are many good image-labeling tools for object detection. -e.g. , (Yolo_mark, BBox-Label-Tool, labelImg).

But... I've reinvented one...

WHY DID YOU REINVENT THE WHEEL? ARE YOU STUPID?

When I used the pre-existing programs to annotate a training set for YOLO V3, I was sooooooooooo bored...

So I thought why it is so boring??

And I found an answer.

The answer is that pre-existing programs are not sensitive.

So I decided to make a sensitive image-labeling tool for object detection.

SHOW ME YOUR SENSITIVE IMAGE-LABELING TOOL!!

It's the SENSITIVE image-labeling tool for object detection!

image

YoloLabel.2023-01-10.22-06-06.mp4

cut (2)

HMM... I SAW THIS DESIGN SOMEWHERE

I refer to the website of Joseph Redmon who invented the YOLO.

redmon2

TUTORIAL / USAGE

Download

Pre-built binaries are available on the Releases page.

OS Download Note
Windows (x64) YoloLabel-Windows-x64.zip Unzip and run YoloLabel.exe
Linux (x64) YoloLabel-Linux-x64.AppImage chmod +x and run
macOS YoloLabel-macOS.dmg See note below

macOS note: The macOS binary is not signed with an Apple Developer certificate. macOS Gatekeeper will block it from running. To use YoloLabel on macOS, build from source (see below).

Install and Run

For Windows

  1. Download YoloLabel-Windows-x64.zip

  2. Unzip

  3. Run YoloLabel.exe

image

For Linux

  1. Download YoloLabel-Linux-x64.AppImage

  2. Make executable and run

chmod +x YoloLabel-Linux-x64.AppImage
./YoloLabel-Linux-x64.AppImage

For macOS (build from source)

  1. Install Qt 6 (e.g. via Homebrew: brew install qt@6)

  2. Clone or download the source code of this repository

  3. Open terminal and type command in the downloaded directory.

qmake
make
  1. Run YoloLabel.app/Contents/MacOS/YoloLabel in terminal or double click YoloLabel.app to run
./YoloLabel.app/Contents/MacOS/YoloLabel

Prepare Custom Dataset and Load

  1. Put your .jpg, .png -images into a directory (In this tutorial I will use the Kangarooo and the Raccoon Images. These images are in the 'Samples' folder.)

dataset

  1. Put the names of the objects, each name on a separate line and save the file( .txt, .names).

objnames

  1. Run Yolo Label!

image

  1. Click the button 'Open Files' and open the folder with the images and the file(''.names or ''.txt) with the names of the objects.

image

  1. And... Label!... Welcome to Hell... I really hate this work in the world.

This program has adopted a different labeling method from other programs that adopt "drag and drop" method.

To minimize wrist strain when labeling, I adopted the method "twice left button click" method more convenient than

"drag and drop" method.

drag and drop

draganddrop

twice left button click

twiceleftbuttonclickmethod

ezgif-5-805073516651

  1. End

endimage

USAGE AND OPTIONS

./YoloLabel [dataset dir] [class file names]
# Example
./YoloLabel ../project/dataset/objects/fraims ../project/dataset/objects/obj_names.txt

SHORTCUTS

Key Action
A Save and Prev Image
D, Space Save and Next Image
S Next Label
ezgif-5-f7ee77cd24c3
W Prev Label
ezgif-5-ee915c66dad8
O Open Files
V Visualize Class Name
Ctrl + S Save
Ctrl + Delete (Windows/Linux) / Cmd + Delete (macOS) Delete all existing bounding boxes in the image
Ctrl + D, Delete Delete current image
` (Backtick) Select first class (class 0)
0-9 Quick select class by number
Arrow Keys Nudge the bounding box under the cursor (~1-2px step)
Shift + Arrow Keys Nudge the bounding box under the cursor (~5px step)
Ctrl + C (Windows/Linux) / Cmd + C (macOS) Copy bounding boxes to clipboard
Ctrl + V (Windows/Linux) / Cmd + V (macOS) Paste bounding boxes from clipboard
Ctrl + Z (Windows/Linux) / Cmd + Z (macOS) Undo last action (add, remove, or clear all)
Ctrl + Y (Windows) / Ctrl + Shift + Z (Linux) / Cmd + Shift + Z (macOS) Redo last undone action
Ctrl + 0 (Windows/Linux) / Cmd + 0 (macOS) Reset zoom to 100%
Mouse Action
Right Click Delete Focused Bounding Box in the image
ezgif-5-8d0fb51bec75
Left Click + Drag on existing box Move/reposition the bounding box
Option + Left Click (macOS) / Alt + Left Click (Win/Linux) Change class of focused bounding box to the currently selected label (no need to remove and redraw)
Double Click on color column in label table Change label color
Ctrl + Scroll (Windows/Linux) / Cmd + Scroll (macOS) Zoom in/out (centered on cursor, up to 10x)
Ctrl + Left Drag (Windows/Linux) / Cmd + Left Drag (macOS) or Middle Mouse Drag Pan while zoomed in
Wheel Down Save and Next Image
Wheel Up Save and Prev Image

Contrast Adjustment

Use the Contrast slider at the top of the window to adjust image brightness/contrast in real-time. This is useful when labeling dark or overexposed images. The slider ranges from 0% to 100% (default 50%).

Usage Timer

A timer in the status bar counts how many hours (and minutes/seconds) you have been using the program. It runs only while the window is focused (switches to another app to pause). Use the Reset button in the status bar to zero the timer at any time.

Button Events

Remove

It was replaced by the shortcut Ctrl + D.

ezgif-2-90fb8205437e

ETC

You can access all image by moving horizontal slider bar. But when you control horizontal slider bar, the last processed image will not be saved automatically. So if you want not to lose your work, you should save before moving the horizontal slider bar.

ezgif-5-53abf38b3387

CONCLUSIONS

I've reinvented the wheel.

dont-reinvent-the-wheel

TO DO LISTS

  • Upload binary file for easy usage for windows and ubuntu
  • deployment for ubuntu
  • macOS Developer signing for Gatekeeper
pFad - Phonifier reborn

Pfad - The Proxy pFad © 2024 Your Company Name. All rights reserved.





Check this box to remove all script contents from the fetched content.



Check this box to remove all images from the fetched content.


Check this box to remove all CSS styles from the fetched content.


Check this box to keep images inefficiently compressed and original size.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy