{"id":15433395,"url":"https://github.com/beiyuouo/mid-air-draw","last_synced_at":"2025-07-04T01:04:47.111Z","repository":{"id":107740343,"uuid":"317242222","full_name":"beiyuouo/mid-air-draw","owner":"beiyuouo","description":"🎨 凌空画笔 - 手势识别 + 手指识别跟踪实现空中绘画","archived":false,"fork":false,"pushed_at":"2020-12-03T05:15:00.000Z","size":34170,"stargazers_count":24,"open_issues_count":1,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-19T19:55:14.551Z","etag":null,"topics":["deep-learning","drawing","hand-gesture-recognition","object-detection","opencv","python","yolo"],"latest_commit_sha":null,"homepage":"https://beiyuouo.github.io/mid-air-draw/","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/beiyuouo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-11-30T14:05:10.000Z","updated_at":"2024-12-12T06:27:38.000Z","dependencies_parsed_at":"2023-06-08T22:37:13.409Z","dependency_job_id":null,"html_url":"https://github.com/beiyuouo/mid-air-draw","commit_stats":{"total_commits":5,"total_committers":2,"mean_commits":2.5,"dds":0.4,"last_synced_commit":"9ce05fe981e9037d8c0151be66c0254f8f2523d5"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/beiyuouo/mid-air-draw","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beiyuouo%2Fmid-air-draw","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beiyuouo%2Fmid-air-draw/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beiyuouo%2Fmid-air-draw/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beiyuouo%2Fmid-air-draw/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/beiyuouo","download_url":"https://codeload.github.com/beiyuouo/mid-air-draw/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beiyuouo%2Fmid-air-draw/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263427299,"owners_count":23464840,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["deep-learning","drawing","hand-gesture-recognition","object-detection","opencv","python","yolo"],"created_at":"2024-10-01T18:33:51.591Z","updated_at":"2025-07-04T01:04:47.014Z","avatar_url":"https://github.com/beiyuouo.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Hi 👋\n\nCome here, don’t you star this progect? \u0026 Forgive my pool English.\n\nWelcome to star this repo!\n\nMid-air brush [\u003ca href=\"https://www.bilibili.com/video/BV15V411a7WB\"\u003eDemo\u003c/a\u003e]\n\nREADME [\u003ca href=\"README.md\"\u003eEN\u003c/a\u003e|\u003ca href=\"README_CN.md\"\u003eCN\u003c/a\u003e]\n\n## Description\n\nMid-air gesture recognition and drawing, the default gesture 1 is a brush, gesture 2 is to change the color, and gesture 5 is to clear the drawing board\nDisplay based on OpenCV.\n\n\n## Change Log\n\n### v3.0\n\nThis version of the project is based on \u003ca href=\"https://github.com/insigh1/GA_Data_Science_Capstone/\"\u003eGA_Data_Science_Capstone\u003c/a\u003e\n\nUse Yolo_v5 to recognize gestures and index fingers for drawing. Please make your own gesture dataset and label them. Data preprocessing is in files 01 and 02.\nThe project can be run on Raspberry Pi, use the Raspberry Pi to collect images and push them to the computer for reasoning, there is a delay.\n\n#### How to run\n\n```sh\ncd v3.0\npip install -r requirements.txt\njupyter notebook\n\n# open and run 01_image_processing_and_data_augmentation.ipynb\n\n# run labelImg to label data 1, 2, 5, forefinger\n\npython 02_munge_data.py\n\n# train model\npython train.py --img 512 --batch 16 --epochs 100 --data config.yaml --cfg models/yolov5s.yaml --name yolo_example\ntensorboard --logdir runs/\n\n# run use pc cam\npython detect.py --weights weights/best.pt --img 512 --conf 0.3 --source 0\n\n# run use raspi\n# run on raspi\nsudo raspivid -o - -rot 180 -t 0 -w 640 -h 360 -fps 30|cvlc -vvv stream:///dev/stdin --sout '#standard{access=http,mux=ts,dst=:8080}' :demux=h264  \n# run on pc\npython detect.py --weights runs/exp12_yolo_example/weights/best.pt --img 512 --conf 0.15 --source http://192.168.43.46:8080/\n```\n\n### v2.0\n\nGesture recognition based on OpenCV and convex hull detection.\nSkin color detection + convex hull + number of contour lines (count the number of fingers).\n\n#### How to run\n\n```sh\ncd v2.0\npython gesture.py\n```\n\n\n\n### v1.0\n\nSkin color detection + convex hull based on OpenCV.\n\n\n#### How to run\n```sh\ncd v1.0\npython main.py\n```\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbeiyuouo%2Fmid-air-draw","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbeiyuouo%2Fmid-air-draw","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbeiyuouo%2Fmid-air-draw/lists"}