| tags |
|
|---|
SAHI, object detection görevleri için kapsamlı bir komut satırı arayüzü (CLI) sunar. Bu kılavuz, tüm kullanılabilir komutları ayrıntılı örnekler ve seçeneklerle kapsar.
Daha iyi küçük nesne tespiti (small object detection) amacıyla Sliced Inference kullanarak görseller veya videolar üzerinde object detection inference gerçekleştirin.
sahi predict --source image/file/or/folder --model_path path/to/model --model_config_path path/to/configBu işlem varsayılan parametrelerle Sliced Inference gerçekleştirir ve prediction görsellerini runs/predict/exp klasörüne aktarır.
SAHI, aynı komut yapısıyla video inference desteği sunar:
sahi predict --model_path yolo26s.pt --model_type ultralytics --source video.mp4--view_video bayrağı ile inference sırasında video oluşturmayı izleyin:
sahi predict --model_path yolo26s.pt --model_type ultralytics --source video.mp4 --view_videoKlavye Kontrolleri:
D- 100 kare ileriA- 100 kare geriG- 20 kare ileriF- 20 kare geriEsc- İzleyiciden çıkış
İpucu:
--view_videoyavaşsa, 20 karelik aralıkları atlamak için--frame_skip_interval=20ekleyin.
Optimum tespit için dilimleme davranışını özelleştirin:
sahi predict --slice_width 512 --slice_height 512 \
--overlap_height_ratio 0.1 --overlap_width_ratio 0.1 \
--model_confidence_threshold 0.25 \
--source image/file/or/folder \
--model_path path/to/model \
--model_config_path path/to/configTespit Framework'ü:
--model_type mmdet- MMDetection modelleri için--model_type ultralytics- Ultralytics/YOLOv5/YOLO11/YOLO26 modelleri için--model_type huggingface- HuggingFace modelleri için--model_type torchvision- Torchvision modelleri için
Confidence Threshold (Güven Eşiği):
--model_confidence_threshold 0.25- Tespitler için minimum güven skorunu belirler
Postprocess Tipi:
--postprocess_type GREEDYNMM- Greedy non-maximum merging (varsayılan)--postprocess_type NMS- Standart non-maximum suppression
Eşleşme Metrikleri:
--postprocess_match_metric IOS- Intersection over smaller area--postprocess_match_metric IOU- Intersection over union (varsayılan)
Ek Seçenekler:
--postprocess_match_threshold 0.5- Eşleşme eşiğini belirler--postprocess_class_agnostic- Postprocessing sırasında kategori ID'lerini göz ardı eder
Görsel Dışa Aktarımlar:
--novisual- Prediction görselleştirme dışa aktarımlarını devre dışı bırakır--visual_export_format JPG- Dışa aktarma formatını belirler (JPG, PNG vb.)
Veri Dışa Aktarımları:
--export_pickle- Prediction pickle dosyalarını dışa aktarır--export_crop- Kırpılmış tespitleri dışa aktarır
SAHI varsayılan olarak çok aşamalı inference gerçekleştirir (hem standart hem sliced prediction):
--no_sliced_prediction- Sliced inference'ı devre dışı bırakır (yalnızca standart)--no_standard_prediction- Standart inference'ı devre dışı bırakır (yalnızca sliced)
Değerlendirme amacıyla bir COCO annotation dosyası kullanarak tahmin yürütün:
sahi predict --dataset_json_path dataset.json \
--source path/to/coco/image/folder \
--model_path path/to/modelTahminler bir COCO JSON dosyası olarak runs/predict/exp/results.json yoluna aktarılacaktır. Ardından şunları kullanabilirsiniz:
sahi coco evaluate- COCO değerlendirme metriklerini hesaplarsahi coco analyse- Detaylı hata analizi grafiklerini oluşturur
Inference ilerlemesini takip etmek için bir ilerleme çubuğunu etkinleştirin:
sahi predict --model_path path/to/model --source images/ \
--slice_width 512 --slice_height 512 --progress_barNot:
--progress_barbayrağı CLI görsel ilerlemesini (tqdm) kontrol eder.progress_callbackparametresi Python API'sinde mevcuttur ancak CLI seçeneği olarak sunulmamıştır.
Sliced Inference gerçekleştirin ve sonuçları FiftyOne uygulaması kullanarak etkileşimli olarak görselleştirin.
sahi predict-fiftyone --image_dir image/file/or/folder \
--dataset_json_path dataset.json \
--model_path path/to/model \
--model_config_path path/to/configBu işlem varsayılan parametrelerle Sliced Inference gerçekleştirir ve etkileşimli inceleme için FiftyOne uygulamasını başlatır.
sahi predict komutundaki tüm parametreler desteklenmektedir.
FiftyOne kullanıcı arayüzünü kullanarak COCO veri kümenizdeki birden fazla tespit sonucunu görselleştirin ve karşılaştırın.
Tahminlerinizi COCO result JSON formatına dönüştürmeniz gerekir. Bu formatı oluşturmak için sahi predict komutunu kullanın.
sahi coco fiftyone --image_dir dir/to/images \
--dataset_json_path dataset.json \
cocoresult1.json cocoresult2.jsonBu komut, veri kümesini görselleştiren ve yanlış tespitlere göre sıralanmış 2 tespit sonucunu karşılaştıran bir FiftyOne uygulamasını açar.
--iou_threshold 0.5- FP/TP sınıflandırması için IOU eşiğini belirler
Büyük görselleri ve COCO formatındaki annotation'larını daha küçük dilimlere (tiles) dilimleyin.
sahi coco slice --image_dir dir/to/images \
--dataset_json_path dataset.jsonGörselleri ve COCO annotation'larını dilimler, çıktı klasörüne dışa aktarır.
Dilim Boyutları:
--slice_size 512- Dilim yüksekliği ve genişliğini belirler (varsayılan: 512)
Örtüşme (Overlap):
--overlap_ratio 0.2- Yükseklik/genişlik için örtüşme oranını belirler (varsayılan: 0.2)
Filtreleme:
--ignore_negative_samples- Annotation içermeyen görselleri harici tutar
Çıktı:
--out_dir output/folder- Çıktı dizinini belirtir
COCO formatındaki veri kümelerini Ultralytics ile eğitim için YOLO formatına dönüştürün.
Windows Kullanıcıları: Sembolik bağlantıları (symlinks) düzgün oluşturmak için Anaconda komut istemini veya Windows CMD'yi yönetici olarak açın.
sahi coco yolo --image_dir dir/to/images \
--dataset_json_path dataset.json \
--train_split 0.9COCO veri kümesini YOLO formatına dönüştürür ve runs/coco2yolo/exp klasörüne aktarır.
--train_split 0.9- Eğitim bölme oranını belirler (varsayılan: 0.9)--out_dir output/folder- Çıktı dizinini belirtir
Tahminleriniz için COCO değerlendirme metriklerini (mAP, mAR) hesaplayın.
Tahminlerinizi COCO result JSON formatına dönüştürmeniz gerekir. Bu formatı oluşturmak için sahi predict komutunu kullanın.
sahi coco evaluate --dataset_json_path dataset.json \
--result_json_path result.jsonCOCO değerlendirme metriklerini hesaplar ve sonuçları çıktı klasörüne aktarır.
Metrik Tipi:
--type bbox- Bounding box tespitlerini değerlendirir (varsayılan)--type mask- Instance segmentation maskelerini değerlendirir
Skorlama Seçenekleri:
--classwise- Genel metriklerin yanı sıra sınıf bazında skorları hesaplar
Tespit Limitleri:
--proposal_nums "[10 100 500]"- Görsel başına maksimum tespiti belirler (varsayılan:[100, 300, 1000])
IOU Eşikleri:
--iou_thrs 0.5- IOU eşiğini belirtir (varsayılan: 0.50:0.95 ve 0.5)
Çıktı:
--out_dir output/folder- Çıktı dizinini belirtir
COCO tahminleri için ayrıntılı hata analizi grafikleri oluşturun.
Tahminlerinizi COCO result JSON formatına dönüştürmeniz gerekir. Bu formatı oluşturmak için sahi predict komutunu kullanın.
sahi coco analyse --dataset_json_path dataset.json \
--result_json_path result.json \
--out_dir output/directoryKapsamlı hata analizi grafikleri oluşturur ve bunları belirtilen klasöre aktarır.
Analiz Tipi:
--type bbox- Bounding box tespitlerini analiz eder (varsayılan)--type segm- Instance segmentation maskelerini analiz eder
Ek Grafikler:
--extraplots- Ek mAP çubuk grafikleri ve annotation alanı istatistikleri oluşturur
Alan Bölgeleri:
--areas "[1024 9216 10000000000]"- Analiz için alan bölgelerini tanımlar (varsayılan: küçük/orta/büyük COCO alanları)
SAHI ile ilgili yüklü paket sürümlerini görüntüleyin.
sahi env06/19/2022 21:24:52 - INFO - sahi.utils.import_utils - torch version 2.1.2 is available.
06/19/2022 21:24:52 - INFO - sahi.utils.import_utils - torchvision version 0.16.2 is available.
06/19/2022 21:24:52 - INFO - sahi.utils.import_utils - ultralytics version 8.3.86 is available.
06/19/2022 21:24:52 - INFO - sahi.utils.import_utils - transformers version 4.49.0 is available.
06/19/2022 21:24:52 - INFO - sahi.utils.import_utils - timm version 0.9.1 is available.
06/19/2022 21:24:52 - INFO - sahi.utils.import_utils - fiftyone version 0.14.2 is available.
Mevcut yüklü SAHI sürümünüzü görüntüleyin.
sahi version
0.11.22Tüm komut dosyaları scripts dizininden indirilebilir ve özel ihtiyaçlarınıza göre değiştirilebilir.
SAHI'yi pip ile kurduktan sonra tüm komut dosyaları herhangi bir dizinden çağrılabilir:
python script_name.py- Prediction Araçları: Prediction parametreleri ve görselleştirme için Python API'si
- COCO Araçları: COCO veri kümesi operasyonları için Python API'si
- Model Entegrasyonları: Kütüphaneye özel kurulum kılavuzları
- Etkileşimli Notebook'lar: Tüm kütüphaneler için uygulamalı örnekler