{"id":19409269,"url":"https://github.com/backgwa/detectify","last_synced_at":"2026-02-02T20:45:32.313Z","repository":{"id":254474908,"uuid":"846647958","full_name":"BackGwa/Detectify","owner":"BackGwa","description":"Detectify - YOLOv11 기반 객체 감지 프레임워크","archived":false,"fork":false,"pushed_at":"2024-10-21T11:46:56.000Z","size":102,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-11-27T12:25:37.996Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BackGwa.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":"2024-08-23T16:47:47.000Z","updated_at":"2025-03-14T11:18:06.000Z","dependencies_parsed_at":"2024-08-23T18:42:40.017Z","dependency_job_id":"261e0cc1-8c2c-4c09-85cb-429fccae7eb2","html_url":"https://github.com/BackGwa/Detectify","commit_stats":null,"previous_names":["backgwa/detectify"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/BackGwa/Detectify","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BackGwa%2FDetectify","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BackGwa%2FDetectify/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BackGwa%2FDetectify/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BackGwa%2FDetectify/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BackGwa","download_url":"https://codeload.github.com/BackGwa/Detectify/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BackGwa%2FDetectify/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29019460,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-02T18:51:31.335Z","status":"ssl_error","status_checked_at":"2026-02-02T18:49:20.777Z","response_time":58,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":[],"created_at":"2024-11-10T12:10:48.744Z","updated_at":"2026-02-02T20:45:32.285Z","avatar_url":"https://github.com/BackGwa.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003cbr\u003e\n\n\u003cimg src=\"docs/images/detectify.png\" width=\"400px\"\u003e\u003cbr\u003e\n\nDetectify는 YOLO를 쉽고 빠르게 사용하기 위한, 라이브러리입니다.\u003cbr\u003e\n\n문제가 발생하거나, 질문이 있으시면, [Issue](https://github.com/BackGwa/Detectify/issues)를 남겨주세요. 최대한 도움을 드리겠습니다!\u003cbr\u003e\n\n해당 레포지토리 및 프로젝트에 기여를 하고싶다면, Fork해서 Pull-Request를 올려주세요!\u003cbr\u003e\n또한, 해당 프로젝트가 더 나아질 수 있도록, [토론](https://github.com/BackGwa/Detectify/discussions)을 시작할 수도 있습니다!\n\n\u003cbr\u003e\n\n\u003c/div\u003e\n\n\u003cbr\u003e\n\n## 예제\n\n- ### 모델 파인튜닝 (학습)\n    #### 예제\n    YOLOv11 모델을 커스텀 데이터셋으로 파인튜닝하는 과정입니다.\u003cbr\u003e\n    - **이 과정에선 GPU (CUDA)가 권장됩니다!**\u003cbr\u003e\n    *GPU가 없는 경우 CPU를 통해, 매우 느린 속도로 학습이 진행됩니다. (권장하지 않음!)*\u003cbr\u003e\n    *빠른 학습과 안정성을 위해, 해당 [Colab Notebook](https://colab.research.google.com/drive/1ZLOLCJn1IganamvmP8tKjUkyHjKzGAcs?usp=sharing)를 사용하여, 학습을 진행하세요.*\n    \n    - GPU 가속이 정상적으로 되지 않는 경우 [PyTorch](https://pytorch.org/)를 자신의 cuda 버전에 맞게 재설치해주세요.\n\n    ```py\n    from Detectify import Train\n\n    train = Train()\n\n    train.start(dataset=\"dataset/data.yaml\")\n    ```\n\n- ### 모델 추론\n    #### 예제\n    학습된 모델을 사용하여, 추론하는 과정입니다.\u003cbr\u003e\n    - **이 과정에선 GPU (CUDA)가 권장됩니다!**\u003cbr\u003e\n    *GPU가 없는 경우 CPU를 통해, 느린 속도로 추론이 진행됩니다.*\n    ```py\n    from Detectify import Predict\n\n    predict = Predict(model=\"model.pt\")\n\n    predict.start(source=0) # 추론 시작\n    predict.stop()          # 추론 중지\n    ```\n\n    #### 값 가져오기\n    추론에 관련한 값 (결괏값, 상태 등)을 가져올 수 있습니다.\u003cbr\u003e\n    ```py\n    predict.status          # 추론 스레드가 시작되었는지 확인합니다.\n                            # 자료형은 bool 입니다.\n\n    predict.is_working      # 추론 중인지 확인합니다.\n                            # 자료형은 bool 입니다.\n\n    predict.result          # 추론 결괏값입니다.\n                            # 자료형은 List[Results]이거나, None 입니다.\n\n    predict.most            # 현재 최상위 클래스의 이름입니다.\n                            # 자료형은 str 입니다.\n    ```\n\n    #### 추론 파라미터\n    클래스의 파라미터를 조정하여, 추론 파라미터를 할 수 있습니다.\u003cbr\u003e\n    *추론 설정 과정은 되도록 추론 이전에 실행하는 것이 좋습니다.*\n    ```py\n    predict.preprocessing = None    # 가져온 소스의 프레임이 추론되기 전 거칠\n                                    # 전처리 함수입니다. (하단 예제 참고)\n\n    predict.handler = None  # 추론한 최상위 클래스가 변경되었을 때\n                            # 핸들러가 실행할 함수입니다. (하단 예제 참고)\n    \n    predict.conf = 0.25     # 추론 시 감지 임계값입니다.\n                            # 추론한 대상이 해당 임계값보다 미만이라면, 무시됩니다.\n    \n    predict.iou = 0.7       # 대상 중복 감지 임계값입니다.\n                            # 값이 낮을수록 겹치는 영역이 적어집니다.\n\n    predict.max_objs = 300  # 최대로 감지할 대상의 수 입니다.\n                            # 하나의 물체만 감지해야한다면, 1로 설정하는 것이 좋습니다.\n    ```\n\n- ### 모델 추론 (전처리 예제)\n    추론 전 이미지 전처리를 추가하는 예제입니다.\u003cbr\u003e\n    - **main 함수를 사용하는 것이 권장됩니다!**\u003cbr\u003e\n    *하단 예제는 main 함수 없이 작성되었지만, 이는 권장하지 않는 방법입니다.*\n    ```py\n    from Detectify import Predict\n\n    predict = Predict(\"model.pt\")\n\n    def preprocessing(frame):\n        # 이 곳에 이미지 전처리 코드를 삽입합니다...\n\n    predict.preprocessing = preprocessing\n    predict.start(source=0)\n    ```\n\n- ### 모델 추론 (핸들러 예제)\n    #### 예제\n    추론 과정에서 이벤트 핸들러를 추가하는 예제입니다.\u003cbr\u003e\n    이벤트 핸들러는 최상위 클래스가 변경될 때 호출됩니다.\u003cbr\u003e\n    - **main 함수를 사용하는 것이 권장됩니다!**\u003cbr\u003e\n    *하단 예제는 main 함수 없이 작성되었지만, 이는 권장하지 않는 방법입니다.*\n    ```py\n    from Detectify import Predict\n\n    predict = Predict(\"model.pt\")\n\n    def callback():\n        # 이 곳에 최상위 클래스가 변경되었을 때,\n        # 작동할 코드를 삽입합니다...\n\n    predict.handler = callback\n    predict.start(source=0)\n    ```\n\u003cbr\u003e\n\n## 환경 구성\n\n- ### 가상 환경으로 생성\n    - Windows\n     ```powershell\n    python -m venv .venv\n    .\\.venv\\Scripts\\Activate.ps1\n\n    pip install detectify-python\n    ```\n\n    - macOS / Linux\n    ```bash\n    python -m venv .venv\n    source ./.venv/bin/activate\n\n    pip install detectify-python\n    ```\n\n- ### Anaconda \u0026 Miniconda로 생성\n    ```bash\n    conda create -n Detectify python=3.11\n    conda activate Detectify\n\n    pip install detectify-python\n    ```\n\n---\n\n## 기여자\n- Keeworks 미래 광학기술 연구소 - [현장실습생 강찬영](https://github.com/BackGwa/)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbackgwa%2Fdetectify","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbackgwa%2Fdetectify","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbackgwa%2Fdetectify/lists"}