Dilimli Çıkarım için YOLO26'yı SAHI ile Kullanma#
Bu kılavuz, YOLO26'yı SAHI (Dilimleme Destekli Hiper Çıkarım) ile nasıl kullanacağını gösterir. SAHI'nin ne olduğunu, dilimli çıkarımın büyük ölçekli uygulamalar için neden kritik olduğunu ve daha yüksek nesne algılama performansı için bu işlevleri YOLO26 ile nasıl bütünleştireceğini ayrıntılı olarak inceleyeceğiz.
SAHI'ye Giriş#
SAHI (Dilimleme Destekli Hiper Çıkarım), büyük ölçekli ve yüksek çözünürlüklü görüntüler için nesne algılama algoritmalarını optimize etmek üzere tasarlanmış yenilikçi bir kitaplıktır. Temel işlevi, görüntüleri işlenebilir dilimlere ayırmak, her dilimde nesne algılama işlemi gerçekleştirmek ve ardından sonuçları birleştirerek yeniden oluşturmaktır. SAHI, YOLO serisi de dahil olmak üzere çeşitli nesne algılama modelleriyle uyumludur; böylece hesaplama kaynaklarının kullanımını optimize ederken esneklik sağlar.
İzle: Küçük nesneleri algılamak için Ultralytics YOLO26 ile SAHI nasıl kullanılır | Dilimleme destekli yüksek çözünürlüklü çıkarım 🚀
SAHI'nin Temel Özellikleri#
- Sorunsuz Entegrasyon: SAHI, YOLO modelleriyle zahmetsizce bütünleşir; böylece kodda çok fazla değişiklik yapmadan dilimlemeye ve algılamaya başlayabilirsin.
- Kaynak Verimliliği: SAHI, büyük görüntüleri daha küçük parçalara bölerek bellek kullanımını optimize eder ve kısıtlı kaynaklara sahip donanımlarda yüksek kaliteli algılama yapmanı sağlar.
- Yüksek Doğruluk: SAHI, birleştirme işlemi sırasında örtüşen algılama kutularını birleştirmek için akıllı algoritmalar kullanarak algılama doğruluğunu korur.
Dilimli Çıkarım nedir?#
Dilimli Çıkarım, büyük veya yüksek çözünürlüklü bir görüntüyü daha küçük parçalara (dilimlere) ayırma, bu dilimlerde nesne algılama işlemi yapma ve ardından orijinal görüntüdeki nesne konumlarını yeniden oluşturmak için dilimleri bir araya getirme uygulamasıdır. Bu teknik, hesaplama kaynaklarının kısıtlı olduğu veya aksi takdirde bellek sorunlarına yol açabilecek çok yüksek çözünürlüklü görüntülerle çalışılan senaryolarda son derece değerlidir.
Dilimli Çıkarımın Faydaları#
-
Daha Az Hesaplama Yükü: Daha küçük görüntü dilimlerinin işlenmesi daha hızlıdır ve daha az bellek kullanır; böylece düşük donanım kapasitesine sahip sistemlerde daha sorunsuz çalışma olanağı sunar.
-
Algılama Kalitesinin Korunması: Her dilim bağımsız olarak işlendiğinden, dilimler ilgilenilen nesneleri yakalayacak kadar büyük olduğu sürece nesne algılama kalitesi düşmez.
-
Gelişmiş Ölçeklenebilirlik: Bu teknik, nesne algılamanın farklı görüntü boyutları ve çözünürlüklerine kolayca ölçeklenmesini sağlar. Bu özelliğiyle uydu görüntülerinden tıbbi teşhise kadar çok çeşitli uygulamalar için idealdir.
| SAHI olmadan YOLO26 | SAHI ile YOLO26 |
|---|---|
![]() | ![]() |
Kurulum ve Hazırlık#
Kurulum#
Başlamak için SAHI ve Ultralytics'in en güncel sürümlerini yükle:
pip install -U ultralytics sahiModülleri içe aktar ve kaynakları indir#
Bazı test görüntülerini şu şekilde indirebilirsin:
from sahi.utils.file import download_from_url
# Test görüntülerini indir
download_from_url(
"https://raw.githubusercontent.com/obss/sahi/main/demo/demo_data/small-vehicles1.jpeg",
"demo_data/small-vehicles1.jpeg",
)
download_from_url(
"https://raw.githubusercontent.com/obss/sahi/main/demo/demo_data/terrain2.png",
"demo_data/terrain2.png",
)YOLO26 ile Standart Çıkarım#
Modeli başlat#
Nesne algılama için bir YOLO26 modelini şu şekilde başlatabilirsin:
from sahi import AutoDetectionModel
detection_model = AutoDetectionModel.from_pretrained(
model_type="ultralytics",
model_path="yolo26n.pt",
confidence_threshold=0.3,
device="cpu", # veya 'cuda:0'
)Standart tahmin gerçekleştir#
Bir görüntü yolu kullanarak standart çıkarım gerçekleştir.
from sahi.predict import get_prediction
result = get_prediction("demo_data/small-vehicles1.jpeg", detection_model)
result.export_visuals(export_dir="demo_data/", hide_conf=True)Sonuçları görselleştir#
Tahmin edilen sınırlayıcı kutuları ve maskeleri dışa aktar ve görselleştir:
from PIL import Image
# Tahmin edilen görüntüyü aç
processed_image = Image.open("demo_data/prediction_visual.png")
# Tahmin edilen görüntüyü görüntüle
processed_image.show()YOLO26 ile Dilimli Çıkarım#
Dilim boyutlarını ve örtüşme oranlarını belirterek dilimli çıkarım gerçekleştir:
from PIL import Image
from sahi.predict import get_sliced_prediction
result = get_sliced_prediction(
"demo_data/small-vehicles1.jpeg",
detection_model,
slice_height=256,
slice_width=256,
overlap_height_ratio=0.2,
overlap_width_ratio=0.2,
)
# Sonuçları dışa aktar
result.export_visuals(export_dir="demo_data/", hide_conf=True)
# Tahmin edilen görüntüyü aç
processed_image = Image.open("demo_data/prediction_visual.png")
# Tahmin edilen görüntüyü görüntüle
processed_image.show()Tahmin sonuçlarını işleme#
SAHI, çeşitli açıklama biçimlerine dönüştürülebilen bir PredictionResult nesnesi sağlar:
# Nesne tahmin listesini al
object_prediction_list = result.object_prediction_list
# COCO açıklama ve COCO tahmin biçimlerine dönüştür
result.to_coco_annotations()[:3]
result.to_coco_predictions(image_id=1)[:3]Toplu tahmin#
Bir görüntü dizininde toplu tahmin yapmak için:
from sahi.predict import predict
predict(
model_type="ultralytics",
model_path="yolo26n.pt",
model_device="cpu", # veya 'cuda:0'
model_confidence_threshold=0.4,
source="path/to/dir",
slice_height=256,
slice_width=256,
overlap_height_ratio=0.2,
overlap_width_ratio=0.2,
)Artık YOLO26'yı SAHI ile hem standart hem de dilimli çıkarım için kullanmaya hazırsın.
Atıflar ve Teşekkürler#
SAHI'yi araştırma veya geliştirme çalışmalarında kullanıyorsan lütfen özgün SAHI makalesine atıfta bulun ve yazarlara teşekkür et:
@article{akyon2022sahi,
title={Slicing Aided Hyper Inference and Fine-tuning for Small Object Detection},
author={Akyon, Fatih Cagatay and Altinuc, Sinan Onur and Temizel, Alptekin},
journal={2022 IEEE International Conference on Image Processing (ICIP)},
doi={10.1109/ICIP46576.2022.9897990},
pages={966-970},
year={2022}
}Bilgisayarlı görü topluluğu için bu paha biçilmez kaynağı oluşturup sürdürdükleri için SAHI araştırma grubuna teşekkür ederiz. SAHI ve geliştiricileri hakkında daha fazla bilgi için SAHI GitHub deposunu ziyaret et.
Sık Sorulan Sorular#
Ultralytics YOLO26'yı SAHI (Dilimleme Destekli Hiper Çıkarım) ile dilimli çıkarım için bütünleştirmek, yüksek çözünürlüklü görüntüleri işlenebilir dilimlere ayırarak nesne algılama görevlerini optimize eder. Bu yaklaşım bellek kullanımını iyileştirir ve yüksek algılama doğruluğu sağlar. Başlamak için ultralytics ve sahi kitaplıklarını yüklemen gerekir:
pip install -U ultralytics sahiArdından test görüntülerini indir:
from sahi.utils.file import download_from_url # Test görüntülerini indir download_from_url( "https://raw.githubusercontent.com/obss/sahi/main/demo/demo_data/small-vehicles1.jpeg", "demo_data/small-vehicles1.jpeg", ) download_from_url( "https://raw.githubusercontent.com/obss/sahi/main/demo/demo_data/terrain2.png", "demo_data/terrain2.png", )Daha ayrıntılı talimatlar için Dilimli Çıkarım kılavuzumuza bak.
Büyük görüntülerde nesne algılama için Ultralytics YOLO26'yı SAHI ile kullanmanın çeşitli faydaları vardır:
- Daha Az Hesaplama Yükü: Daha küçük dilimler daha hızlı işlenir ve daha az bellek kullanır; böylece kısıtlı kaynaklara sahip donanımlarda yüksek kaliteli algılamalar yapmak mümkün olur.
- Algılama Doğruluğunun Korunması: SAHI, örtüşen kutuları birleştirmek için akıllı algoritmalar kullanarak algılama kalitesini korur.
- Gelişmiş Ölçeklenebilirlik: SAHI, nesne algılama görevlerini farklı görüntü boyutları ve çözünürlüklerine ölçeklendirerek uydu görüntülerinin analizi ve tıbbi teşhis gibi çeşitli uygulamalar için ideal hâle gelir.
Belgelerimizde dilimli çıkarımın faydaları hakkında daha fazla bilgi edin.
Evet, YOLO26'yı SAHI ile kullanırken tahmin sonuçlarını görselleştirebilirsin. Sonuçları dışa aktarıp görselleştirmek için şu adımları izle:
from PIL import Image result.export_visuals(export_dir="demo_data/", hide_conf=True) processed_image = Image.open("demo_data/prediction_visual.png") processed_image.show()Bu komut, görselleştirilmiş tahminleri belirtilen dizine kaydeder; ardından görüntüyü not defterinde veya uygulamanda görüntülemek için yükleyebilirsin. Ayrıntılı bir kılavuz için Standart Çıkarım bölümüne göz at.
SAHI (Dilimleme Destekli Hiper Çıkarım), nesne algılama için Ultralytics YOLO26'yı tamamlayan çeşitli özellikler sunar:
- Sorunsuz Entegrasyon: SAHI, YOLO modelleriyle kolayca bütünleşir ve kodda çok az değişiklik gerektirir.
- Kaynak Verimliliği: Büyük görüntüleri daha küçük dilimlere ayırarak bellek kullanımını ve hızı optimize eder.
- Yüksek Doğruluk: SAHI, birleştirme işlemi sırasında örtüşen algılama kutularını etkili biçimde birleştirerek yüksek algılama doğruluğunu korur.
Daha ayrıntılı bilgi için SAHI'nin temel özelliklerini oku.
YOLO26 ve SAHI kullanarak büyük ölçekli çıkarım projelerini yönetmek için şu en iyi uygulamaları izleyebilirsin:
- Gerekli Kitaplıkları Yükle: ultralytics ve sahi'nin en son sürümlerinin yüklü olduğundan emin ol.
- Dilimlenmiş Çıkarımı Yapılandır: Projene özel en uygun dilim boyutlarını ve örtüşme oranlarını belirle.
- Toplu Tahminler Çalıştır: Verimliliği artırmak için bir görüntü dizininde toplu tahminler yapmak üzere SAHI'nin özelliklerinden yararlan.
Toplu tahmin örneği:
from sahi.predict import predict predict( model_type="ultralytics", model_path="path/to/yolo26n.pt", model_device="cpu", # veya 'cuda:0' model_confidence_threshold=0.4, source="path/to/dir", slice_height=256, slice_width=256, overlap_height_ratio=0.2, overlap_width_ratio=0.2, )Daha ayrıntılı adımlar için Toplu Tahmin bölümümüzü ziyaret et.

