Instructions to use albitro/phoenix_detection with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- ultralytics
How to use albitro/phoenix_detection with ultralytics:
# Couldn't find a valid YOLO version tag. # Replace XX with the correct version. from ultralytics import YOLOvXX model = YOLOvXX.from_pretrained("albitro/phoenix_detection") source = 'http://images.cocodataset.org/val2017/000000039769.jpg' model.predict(source=source, save=True) - Notebooks
- Google Colab
- Kaggle
| license: agpl-3.0 | |
| tags: | |
| - object-detection | |
| - ultralytics | |
| - yolo | |
| - yolo26 | |
| - fire-detection | |
| - computer-vision | |
| - pytorch | |
| library_name: ultralytics | |
| pipeline_tag: object-detection | |
| base_model: Ultralytics/YOLO26 | |
| # Phoenix Detection β YOLO26s νμ¬Β·μ¬λ νμ§ (μ μ²λ¦¬ μ 무 λΉκ΅) | |
| νμ¬ νμ₯μμ **λΆ(fire)** κ³Ό **μ¬λ(person)** μ νμ§νλ YOLO26s λͺ¨λΈ λ κ°μ λλ€. | |
| κ°μ λ°μ΄ν°μ Β·κ°μ νμ΄νΌνλΌλ―Έν°λ‘ νμ΅νκ³ , **μ λ ₯ μ΄λ―Έμ§ μ μ²λ¦¬ μ λ¬΄λ§ λ€λ¦ λλ€.** | |
| | | `baseline/` | `filtered/` | | |
| |---|---|---| | |
| | νμ΅ μ΄λ―Έμ§ | Roboflow μλ³Έ | λν€μ΄μ¦ + CLAHE μ μ©λ³Έ | | |
| | μΆλ‘ μ μ μ²λ¦¬ | λΆνμ | **νμ** (μλ μ°Έμ‘°) | | |
| | μ©λ | λμ‘°κ΅° | μ°λ¬΄Β·μ λλΉ νκ²½ λμ | | |
| ## μ±λ₯ (test split, 71 images / 94 instances) | |
| | λͺ¨λΈ | P | R | mAP@50 | mAP@50-95 | | |
| |---|---|---|---|---| | |
| | baseline | 0.967 | 0.967 | 0.982 | 0.702 | | |
| | **filtered** | **0.983** | **0.980** | **0.994** | **0.715** | | |
| ν΄λμ€λ³ (mAP@50 / mAP@50-95): | |
| | ν΄λμ€ | baseline | filtered | | |
| |---|---|---| | |
| | fire | 0.971 / 0.616 | **0.995 / 0.634** | | |
| | person | **0.994** / 0.788 | 0.992 / **0.796** | | |
| μ μ²λ¦¬λ³Έμ΄ λͺ¨λ μ’ ν© μ§νμμ μμκ³ , νΉν `fire` ν΄λμ€μ mAP@50 μ΄ 0.971 β 0.995 λ‘ μ€λ¦ λλ€. | |
| λ€λ§ **test μ μ΄ 71μ₯λΏ**μ΄λΌ μ΄ μ°¨μ΄λ₯Ό ν΅κ³μ μΌλ‘ μ μνλ€κ³ λ¨μ νκΈ°λ μ΄λ ΅μ΅λλ€. | |
| κ²½ν₯μ κ·Όκ±°λ‘λ§ λ³΄μκ³ , νλ¨μ΄ μ€μν μ©λλΌλ©΄ λ ν° μ μμ μ¬νμΈνμΈμ. | |
| κ° ν΄λμ `results.csv`(μνλ³ μ 체 곑μ ), `results.png`, `confusion_matrix_normalized.png`, | |
| `BoxPR_curve.png` λ‘ νμ΅ κ³Όμ μ νμΈν μ μμ΅λλ€. νμ μμΉλ κ° λͺ¨λΈμ best 체ν¬ν¬μΈνΈλ₯Ό | |
| test split μμ μ¬νκ°ν κ°μ λλ€. | |
| ## μ¬μ©λ² | |
| ### baseline | |
| ```python | |
| from ultralytics import YOLO | |
| from huggingface_hub import hf_hub_download | |
| w = hf_hub_download("albitro/phoenix_detection", "baseline/best.pt") | |
| model = YOLO(w) | |
| results = model("frame.jpg") | |
| results[0].show() | |
| ``` | |
| ### filtered β μ μ²λ¦¬λ₯Ό λ°λμ κ±°μ³μΌ ν©λλ€ | |
| μ΄ κ°μ€μΉλ μ μ²λ¦¬λ ν½μ λ‘ νμ΅λμμ΅λλ€. μλ³Έ μ΄λ―Έμ§λ₯Ό κ·Έλλ‘ λ£μΌλ©΄ νμ΅/μΆλ‘ λΆν¬κ° | |
| μ΄κΈλ μ±λ₯μ΄ λ¨μ΄μ§λλ€. νμ΅μ μ΄ κ²κ³Ό **λμΌν** νμ΄νλΌμΈμ `filtered/preprocess/` μ | |
| ν¨κ» μ¬λ €λμμ΅λλ€ (`opencv-python`, `numpy` λ§ μμΌλ©΄ λμνλ©° ROS μμ‘΄μ± μμ). | |
| ```python | |
| import cv2 | |
| from ultralytics import YOLO | |
| from huggingface_hub import snapshot_download | |
| repo = snapshot_download("albitro/phoenix_detection") | |
| import sys; sys.path.insert(0, f"{repo}/filtered") | |
| from preprocess import build_default_pipeline | |
| pipe = build_default_pipeline() # filter_params.json μ κ° κ·Έλλ‘ | |
| model = YOLO(f"{repo}/filtered/best.pt") | |
| bgr = cv2.imread("frame.jpg") # BGR, uint8 | |
| results = model(pipe.process(bgr)) | |
| results[0].show() | |
| ``` | |
| `pipe.process()` λ BGR uint8 μ λ°μ BGR uint8 μ λλ €μ€λλ€. λΉλμ€ μ€νΈλ¦Όμμλ | |
| `pipe` λ₯Ό ν λ²λ§ λ§λ€μ΄ μ¬μ¬μ©νμΈμ (νλ μλ§λ€ μλ‘ λ§λ€ νμ μμ). | |
| ## μ μ²λ¦¬ νμ΄νλΌμΈ | |
| `mode="full"` β κ°λ§ 보μ β Dark Channel Prior λν€μ΄μ¦(guided filter refinement) β CLAHE. | |
| μ 체 νλΌλ―Έν°λ `filtered/filter_params.json` μ μκ³ `preprocess.DEFAULTS` μ μΌμΉν©λλ€. | |
| μ£Όμ κ°: `omega=0.95`, `t0=0.1`, `patch=15`, `scale=0.25`, `a_max=0.92`, | |
| `clahe_clip=2.0`, `clahe_tile=8`, `gamma=1.0`. | |
| ## λ°μ΄ν°μ | |
| [Roboflow Universe β `-ssifa/it-t82tu` v1](https://universe.roboflow.com/-ssifa/it-t82tu/dataset/1) | |
| (CC BY 4.0). 640Γ480, 2 ν΄λμ€, train 307 / valid 94 / test 71. | |
| `filtered` λ°μ΄ν°μ μ μλ³Έμ μ μ²λ¦¬λ₯Ό μ μ©ν μ¬λ³Έμ λλ€. **λΆν λ©€λ²μΒ·νμΌλͺ Β·λΌλ²¨μ΄ μλ³Έκ³Ό | |
| μμ ν λμΌνκ³ ν½μ κ°λ§ λ€λ¦ λλ€** β λν€μ΄μ¦μ CLAHE λ νμκ° λ³νμ΄λΌ λ°μ΄λ©λ°μ€κ° | |
| μμ§μ΄μ§ μκΈ° λλ¬Έμ λλ€. λ λͺ¨λΈμ μ°¨μ΄κ° μ μ²λ¦¬ ν¨κ³ΌμΈμ§ λΆν μ΄μΈμ§ ν·κ°λ¦¬μ§ μλλ‘ | |
| μλμ μΌλ‘ μ΄λ κ² λ§μ·μ΅λλ€. μ¬μμΆ μμ€μ΄ μ μ²λ¦¬ 쑰건μλ§ μΉνλ κ²μ νΌνλ €κ³ μ¬λ³Έμ | |
| PNG 무μμ€λ‘ μ μ₯νμ΅λλ€. | |
| λ°μ΄ν°μ μ체λ μ΄ λ ν¬μ ν¬ν¨λΌ μμ§ μμ΅λλ€. ν΄λμ€ μ μλ `data.yaml` μ°Έμ‘°. | |
| ## νμ΅ μ€μ | |
| λ λͺ¨λΈ 곡ν΅μ λλ€. μ 체λ κ° ν΄λμ `args.yaml` μ μμ΅λλ€. | |
| | | | | |
| |---|---| | |
| | base | `yolo26s.pt` (COCO pretrained) | | |
| | epochs | 100 (baseline best @79, filtered best @95) | | |
| | imgsz | 640 | | |
| | batch | 16 | | |
| | optimizer | auto | | |
| | seed | 0 | | |
| | device | Intel Arc B580 (XPU), PyTorch 2.13.0+xpu | | |
| | ultralytics | 8.4.117 | | |
| ## νκ³ | |
| - **μμ λ°μ΄ν°μ ** (μ΄ 472μ₯). 촬μ νκ²½μ΄ νμ΅ λ°μ΄ν°μ λ€λ₯΄λ©΄ μΌλ°νκ° λ¨μ΄μ§ μ μμ΅λλ€. | |
| - test μ 71μ₯ κΈ°μ€μ λΉκ΅λΌ λ λͺ¨λΈ κ° μ°¨μ΄μ μ 뒰ꡬκ°μ΄ λμ΅λλ€. | |
| - `fire` μ mAP@50-95 κ° 0.63 μμ€μ λλ€. νμ§ μ¬λΆ(mAP@50 0.995)λ μ λ’°ν λ§νμ§λ§ | |
| λΆκ½ κ²½κ³μ λ°μ€ μ λ°λλ κ·Έλ§νΌ λμ§ μμ΅λλ€ β λΆκ½μ κ²½κ³κ° λͺ¨νΈν λμμ λλ€. | |
| - μμ μ΄ κ±Έλ¦° μ©λμ λ¨λ νλ¨ κ·Όκ±°λ‘ μ°μ§ λ§μΈμ. μ¬λμ νμΈμ κ±°μΉλ 경보 보쑰λ‘λ§ μ°μΈμ. | |
| ## λΌμ΄μ μ€ | |
| κ°μ€μΉλ Ultralytics YOLO μμ νμλμ΄ **AGPL-3.0** μ λ°λ¦ λλ€. λ€νΈμν¬ μλΉμ€λ‘ λ°°ν¬ν | |
| κ²½μ° μμ€ κ³΅κ° μλ¬΄κ° λ°λΌμ΅λλ€. μμ© μ©λλΌλ©΄ Ultralytics μν°νλΌμ΄μ¦ λΌμ΄μ μ€λ₯Ό νμΈνμΈμ. | |
| νμ΅ λ°μ΄ν°μ μ CC BY 4.0 μ λλ€. | |