SAHI kütüphanesi ile obje tespiti verisetini COCO formatına çevirme

Bu yazıyı okuduktan sonra, elindeki herhangi bir obje tespiti verisetini kolayca COCO formatına çevirmeyi öğreneceksin 🚀

  1. sahi Python paketini kur:
pip install -U sahi

2. Gerekli sınıfları yükle:

from sahi.utils.coco import Coco, CocoCategory, CocoImage, CocoAnnotation
from sahi.utils.file import save_json

3. Coco objesi oluştur:

coco = Coco()

4. Kategorileri ekle (id 0'dan başlayacak şekilde):

coco.add_category(CocoCategory(id=0, name='insan'))coco.add_category(CocoCategory(id=1, name='arac'))

5. Coco görüntü (image) objesi oluştur:

coco_image = CocoImage(file_name="image1.jpg", height=1080, width=1920)

Görüntüyü hafızaya yüklemeden görüntü boyutlarını çekmek için Pillow kütüphanesini kullanabilirsin:

from PIL import Imagegenislik, yukseklik = Image.open("image1.jpg").size

6. Coco görüntü (image) objesine etiketleri (annotation) ekle:

coco_image.add_annotation(    CocoAnnotation(bbox=[x_min, y_min, genislik, yukseklik],    category_id=0,    category_name='insan'    ))coco_image.add_annotation(    CocoAnnotation(    bbox=[x_min, y_min, genislik, yukseklik],    category_id=1,    category_name='arac'    ))

7. Coco görüntü (image) objesini Coco objesine ekle:

coco.add_image(coco_image)

8. Verisetindeki tüm görüntüler içi aynı işlemleri tekrarladıktan sonra, Coco objesini COCO obje tespiti formatında json dosyası olarak dışa aktar:

save_json(data=coco.json, save_path=dosya_adi)

Hepsi bu kadar ✔️

Bonus 1 🎁 xView den COCO formatına çevirme skripti: https://github.com/fcakyon/sahi-benchmark/blob/main/xview/xview_to_coco.py

Bonus 2 🎁 VisDrone dan COCO formatına çevirme skripti: https://github.com/fcakyon/sahi-benchmark/blob/main/visdrone/visdrone_to_coco.py

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store