Ana içeriğe geç

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:

sahi predict --model_path yolo26s.pt --model_type ultralytics --source video.mp4

Gerçek Zamanlı Video Görselleştirmesi

--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_video

Klavye Kontrolleri:

  • D - 100 kare ileri
  • A - 100 kare geri
  • G - 20 kare ileri
  • F - 20 kare geri
  • Esc - İzleyiciden çıkış

İpucu: --view_video yavaşsa, 20 karelik aralıkları atlamak için --frame_skip_interval=20 ekleyin.

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 hesaplar
  • sahi 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_bar bayrağı CLI görsel ilerlemesini (tqdm) kontrol eder. progress_callback parametresi 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

sahi coco slice --image_dir dir/to/images \
  --dataset_json_path dataset.json

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

sahi coco yolo --image_dir dir/to/images \
  --dataset_json_path dataset.json \
  --train_split 0.9

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.

sahi coco evaluate --dataset_json_path dataset.json \
  --result_json_path result.json

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

sahi env

Ö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

sahi version
0.11.22

Ö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:

python script_name.py

Ek Kaynaklar