CLI Komutları¶
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.
predict command usage¶
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.
Temel Kullanım¶
sahi predict --source image/file/or/folder --model_path path/to/model --model_config_path path/to/config
Bu işlem varsayılan parametrelerle Sliced Inference gerçekleştirir ve prediction görsellerini runs/predict/exp klasörüne aktarır.
Video Girdisi Desteği¶
SAHI, aynı komut yapısıyla video inference desteği sunar:
Gerçek Zamanlı Video Görselleştirmesi¶
--view_video bayrağı ile inference sırasında video oluşturmayı izleyin:
Klavye 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.
Gelişmiş Dilimleme Parametreleri¶
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/config
Model Konfigürasyonu¶
Tespit 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
Postprocessing Seçenekleri¶
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
Dışa Aktarma Seçenekleri¶
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
Inference Modları¶
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)
COCO Veri Kümesi Değerlendirmesi¶
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/model
Tahminler 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
İlerleme Raporlama¶
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_bar
Not:
--progress_barbayrağı CLI görsel ilerlemesini (tqdm) kontrol eder.progress_callbackparametresi Python API'sinde mevcuttur ancak CLI seçeneği olarak sunulmamıştır.
predict-fiftyone command usage¶
Sliced Inference gerçekleştirin ve sonuçları FiftyOne uygulaması kullanarak etkileşimli olarak görselleştirin.
Temel Kullanım¶
sahi predict-fiftyone --image_dir image/file/or/folder \
--dataset_json_path dataset.json \
--model_path path/to/model \
--model_config_path path/to/config
Bu işlem varsayılan parametrelerle Sliced Inference gerçekleştirir ve etkileşimli inceleme için FiftyOne uygulamasını başlatır.
Ek Parametreler¶
sahi predict komutundaki tüm parametreler desteklenmektedir.
coco fiftyone command usage¶
FiftyOne kullanıcı arayüzünü kullanarak COCO veri kümenizdeki birden fazla tespit sonucunu görselleştirin ve karşılaştırın.
Temel Kullanım¶
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.json
Bu 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.
Seçenekler¶
--iou_threshold 0.5- FP/TP sınıflandırması için IOU eşiğini belirler
coco slice command usage¶
Büyük görselleri ve COCO formatındaki annotation'larını daha küçük dilimlere (tiles) dilimleyin.
Temel Kullanım¶
Görselleri ve COCO annotation'larını dilimler, çıktı klasörüne dışa aktarır.
Parametreler¶
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 yolo command usage¶
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.
Temel Kullanım¶
COCO veri kümesini YOLO formatına dönüştürür ve runs/coco2yolo/exp klasörüne aktarır.
Parametreler¶
--train_split 0.9- Eğitim bölme oranını belirler (varsayılan: 0.9)--out_dir output/folder- Çıktı dizinini belirtir
coco evaluate command usage¶
Tahminleriniz için COCO değerlendirme metriklerini (mAP, mAR) hesaplayın.
Temel Kullanım¶
Tahminlerinizi COCO result JSON formatına dönüştürmeniz gerekir. Bu formatı oluşturmak için sahi predict komutunu kullanın.
COCO değerlendirme metriklerini hesaplar ve sonuçları çıktı klasörüne aktarır.
Parametreler¶
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 analyse command usage¶
COCO tahminleri için ayrıntılı hata analizi grafikleri oluşturun.
Temel Kullanım¶
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/directory
Kapsamlı hata analizi grafikleri oluşturur ve bunları belirtilen klasöre aktarır.
Parametreler¶
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ı)
env command usage¶
SAHI ile ilgili yüklü paket sürümlerini görüntüleyin.
Kullanım¶
Örnek Çıktı¶
06/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.
version command usage¶
Mevcut yüklü SAHI sürümünüzü görüntüleyin.
Kullanım¶
Özel Komut Dosyaları (Custom Scripts)¶
Tü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:
Ek Kaynaklar¶
- 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