🕵️‍♂️Tensorflow Object Detection API ile Obje Bulma

Tensorflow Object Detection API ile Obje Bulma ve kullanımı için gerekli talimatlarım

📢 Önemli Duyuru

urlhttps://github.com/yemreak/yemreakcom/blob/main/docs/arsiv/tensorflow-object-detection-api/README.md

🚧 Tensorflow Kurulumu

  • Tensorflow anaconda üzerinden daha sağlıklı, taşınabilir ve verimli çalışabilmekte

  • Anaconda'nın sanal ortamları, paketlerin çakışmasını engelleyecektir

  • Anaconda'nın Tensorflow'daki avantajı için buraya göz atabilirsin.

🚧 Tensorflow Algılama Modellerinin Kurulumu

  • Algılama modelleri tabloma erişmek için buraya tıklayabilirsin

    • Resmi sitesi için buraya bakabilirsin

  • Video üzerinden açıklama için buraya bakabilirsin

Resmi açıklamalar models/research/object_detection/g3doc dizinindedir.

Tensorflow modellerini kullanabilmek için alttaki kurulumlara da ihtiyaç olabilmekte:

conda install opencv pillow matplotlib pandas jupyter

Modül bulunamaması gibi durumlarda lxml, protobuf paketlerini yüklemeyi deneyebilirsin.

🐧 Linux için OpenCv Kurulumu

GTK ve FFMPEG hatasını engellemek için pip ile kurulum yapın

pip install opencv-contrib-python

🍱 Script Dosyaları için Gerekli Modüller

pip install pynput # detect_from_desktop

💷 LabelImg Kurulumu

  • LabelImg tensorflow modelleri için etiketleme amaçlı kullanılmaktadır

  • Derlenmiş sürümünü indirmek için buraya tıklayabilirsin

  • Derlenmiş sürümü çalışmazsa alttaki yönerge ile derleyebilirsin

İndirilen dosyayı %TENSORFLOW%\addons dizinine atmanız daha verimli bir çalışma sağlayacaktır.

Tensorflow ortamının alt paketlerini etkilememsi için ek bir sanal ortamda kurulum sağlamalıyız.

conda create -n labelImg pyqt # QT grafik kütüphanesi
conda activate labelImg
conda install -c anaconda lxml

📂 Dizin Yapısını Oluşturma

🌃 Tensorflow Dizininizi Geçici Ortam Değişkenlerine Ekleme

Alttaki komut yardımıyla açık olan cmd ekranına ortam değişkeni tanımlayabilirsiniz.

set TENSORFLOW=<dizin_yolu>
  • <dizin_yolu> Tensorflow'u kurmak istediğiniz dizin

    • Örn: "C:\Tensorflow"

🧱 Temel Klasörlerin Oluşturulması

İlerideki yapı için bu dizinin yolu %TENSORFLOW% olarak ifade edilecektir.

Düzgün ve verimli çalışmak için buradaki yapıyı kullanmanız önerilir.

mkdir %TENSORFLOW%\workspace\example_detection
mkdir %TENSORFLOW%\workspace\example_detection\data
mkdir %TENSORFLOW%\workspace\example_detection\images\train
mkdir %TENSORFLOW%\workspace\example_detection\images\eval
mkdir %TENSORFLOW%\workspace\example_detection\models

👨‍🏫 Özelleştirilmiş Tensorflow Obje Algılayıcısı Eğitme

Özelleştirilmiş model eğitmek için alttakilerin yapılmış olması gerekmektedir:

Etiketleme işlemini labelImg üzerinden yapmaktayız.

👨‍💻 Derlenmiş LabelImg

İndirdiğiniz dizindeki labelimg.exe dosyasını çalıştırmanız yeterlidir.

🐍 Python ile LabelImg

İşlemleri Anconda Prompt ile işlemler yapmalıyız.

conda activate labelImg
cd %TENSORFLOW%\addons\labelImg
python labelImg.py ..\..\workspace\example_detection\images # çıktıları hedefleme

👨‍🔧 Etiket Yollarını veya Adlarını Düzenleme

XML ve resim dosyalarını başka bir yolda oluşturduyasan alttaki script yardımıyla düzeltebilirsin

  • Script dosyasını buraya tıklayarak indirmeli ve gerekli dizine alttaki komutla koymalıyız

  • Komutları Anaconda Prompt üzerinden tensorflow ortamını aktif ederek uygulamayı unutmayın.

# Train verilerini yeniden adlandırma ve düzeltme
python xml_path_regulator.py -i %TENSORFLOW%\workspace\example_detection\images\train -p train

# Test verilerini yeniden adlandırma ve düzeltme
python xml_path_regulator.py -i %TENSORFLOW%\workspace\example_detection\images\eval -p eval

LabelImg kullanımı için bu videoya bakabilirsin.

🌠 Colab Üzerinden Tensorflow Modelini Eğitme

Colab ücretsiz GPU sunduğu için çok hızlı bir eğitim imkanı sunar.

📂 Colab Eğitimi için Gereken Dosyalar

  • label_map.pbtxt

  • eval.record

  • train.record

  • *.config

  • model_main.py (eskisi: train.py)

  • export_inference_graph.py

👩‍💻 Colab Üzerinden Eğitim Kodları

Last updated

© 2024 ~ Yunus Emre Ak ~ yEmreAk