Etiketleme Yapmadan Nasıl DataSet Hazırlanır?

DataSet (Veri Seti) Nedir?

Ayşegül Akbaş
Kodcular
Published in
3 min readFeb 27, 2021

--

Saf XML tabanlı yapıya sahip DOTNET componentleri ve web formları ile birebir entegrasyon sağlayan veri kümesidir. Bu yazımda YOLOV3 modeli ile nesne tanıma için iki farklı yolla Data Set hazırlamayı göstereceğim.

Fotoğrafları Etiketlemeden DataSet Hazırlama

Öncelikle https://storage.googleapis.com/openimages/web/index.html sitesine girmeniz gerekiyor. Bu sitede 600 ün üzerinde farklı sınıfın etiketlenmiş binlerce hazır fotoğrafı bulunuyor. Daha sonra bu fotoğraflara ulaşabilmek için “Explore” seçeneğine tıklamalısınız. Type kısmından “detection” seçmelisiniz ve kategori kısmından da istediğiniz sınıflara ulaşabilirsiniz. Örneğin “Traffic light” sınıfını seçip görüntüleyelim.

Evet görüldüğü gibi “Category” kısmından istenen diğer classlara ulaşabiliyoruz. Foroğrafları indirip eğitim için kullanabilirsiniz ancak bunun için bir toolkit kullanmanız gerekiyor. Aşağıya github linki bırakıyorum.

Buradan https://github.com/aysegulakbas/OIDv4_ToolKit ulaşabilirsiniz.

Öncelikle requriments.txt dosyasındaki gerekli tüm kütüphaneleri indirmeniz gerekiyor. Bunun için komut istemine girip sırasıyla aşağıdaki komutları yazmalısınız.

  • cd Desktop
  • cd OIDv4_ToolKit-main
  • pip install -r requirements.txt
komut istemi

Görüldüğü üzere ben daha önceden bu kütüphaneleri yüklediğim için “requirements already satisfied” çıktısı aldım. Fakat sizde bu kütüphaneleri sırasıyla indirecektir. (Bu aşamada aws-cli hatası alanlar amazondan aws-cli download ederlerse sorun çözülecektir. Aksi durumda bana ulaşabilirler.)

Daha sonra “main.py” adlı scripti çalıştırmanız gerekiyor. Sonrasında ise hangi sınıf ya da sınıfları indirmek istiyorsanız onların isimlerini yazmalısınız. -Sınıfınız iki isimli ise aralarında ‘_’ koymayı, birden fazla sınıf indirmek istiyorsanız class isimleri arasına boşluk koymayı unutmayın.- Sonrasında csv için gerekli komutu ve limitin yani indirmek istediniz fotoğrafın kaç tane olacağını yazmalısınız. Örneğin ben 10 fotoğraf indirmek istiyorum ve bunun için komutlar aşağıdaki gibi olmalı.

-fotoğrafları indirme komutu-

Aşağıda ekranda ki gibi bir çıktı alıyorsanız buraya kadar doğru gelmişsiniz demektir. Size eksik csv dosyaları olduğunu bunları indirmek isteyip istemediğinizi soruyor. Bunu “y” yazarak entera basın.

Evet indirme tamamlandığında OID > Dataset > train içerisinde iki adet sınıfa ait jpg dosyaları olacaktır. Sınıfa ait dosya da label adında bir dosya olacak bu label dosyası jpg formatındaki fotoğrafların etiket dosyası ancak biz bunları hemen kullanamayız istenen formata convert etmeliyiz. Bunun için Toolkit dosyası içerisindeki classes.txt dosyasını açmalı ve içindeki 3 adet name’i silip , kendi sınıflarınızla değiştirmeniz ve her satıra bir sınıf gelecek şekilde kaydetmeniz gerekiyor.

Bu adımı da tamamladıysanız komut istemine gelip,

  • python convert_annotations.py komutunu çalıştırıyoruz. Görüldüğü üzere tekrar train dosyasına girdiğinizde eğitmek için kullanacağınız etiket dosyalarını ve jpg dosyalarını bir arada sırasıyla göreceksiniz.

Evet görüldüğü üzere Dataset hazır. Etiketleme yapmadan hazır olarak elde ettiğiniz dataset’i eğitim için kullanabilirsiniz.

Umarım faydalı olmuştur, bir sonraki yazımda görüşmek üzere..

--

--

Ayşegül Akbaş
Kodcular

devops eng. || computer eng. || read. learn. share.