Yeni Alımlara Özel Türkiye Lokasyon (VDS/VPS) Ürünlerinde %50 İndirim Fırsatı! Kaçırmayın... (Stoklarla Sınırlıdır)

Arama Yap Mesaj Gönder

Biz Sizi Arayalım

+90
X

Lütfen Ülke (Bölge) Seçiniz

Türkiye (Türkçe)Türkiye (Türkçe) Almanya (German)Almanya (German) Worldwide (English)Worldwide (English)
X

Lütfen Para Birimi Seçiniz

Türk Lirası $ US Dollar Euro
X

Lütfen Ülke (Bölge) Seçiniz

Türkiye (Türkçe)Türkiye (Türkçe) Almanya (German)Almanya (German) Worldwide (English)Worldwide (English)
X

Lütfen Para Birimi Seçiniz

Türk Lirası $ US Dollar Euro

Bilgi Bankası

Anasayfa Bilgi Bankası Genel TensorFlow Lite C++ ile Object Dete...

Bize Ulaşın

Konum Halkalı merkez mahallesi fatih cd ozgur apt no 46 , Küçükçekmece , İstanbul , 34303 , TR

TensorFlow Lite C++ ile Object Detection (Nesne Tanıma) ve COCO Label Kullanımı: Başlangıçtan Optimizasyona Kadar Rehber

Gömülü sistemlerde yapay zeka uygulamaları geliştirmek isteyenler için TensorFlow Lite (TFLite), düşük boyutlu ve hızlı çalışan modeller sunar. C++ diliyle entegre edilerek özellikle Android cihazlar, Raspberry Pi, Nvidia Jetson gibi edge cihazlarda yüksek performanslı nesne tanıma sistemleri kurulabilir.

Bu rehberde, TensorFlow Lite C++ kullanarak COCO etiketli bir nesne tanıma uygulamasını sıfırdan nasıl geliştireceğinizi adım adım açıklıyor, performans optimizasyonu ve etiket yönetimi konularına kadar her detaya değiniyoruz.


TensorFlow Lite Nedir?

TensorFlow Lite, Google tarafından geliştirilen açık kaynaklı bir kütüphanedir ve TensorFlow modellerinin düşük güçlü cihazlarda hızlı çalışmasını sağlar.

  • Düşük gecikme süresi

  • Küçük boyutlu model dosyaları (.tflite)

  • Android/iOS/Linux destekli

  • C++, Java, Python, Swift entegrasyonları


⚙️ Hazırlık: Gerekli Dosyalar ve Yapılandırma

  1. .tflite model dosyanız (mobilnetv2-ssd, yolov5-lite vs.)

  2. labelmap.txt veya coco_labels.txt (COCO dataset’e ait sınıf isimleri)

  3. TensorFlow Lite C++ API

  4. OpenCV (görüntü işleme için)

  5. CMake veya Makefile ile yapı sistemi

sudo apt install libopencv-dev

COCO Label Nedir?

COCO (Common Objects in Context), 80 sınıftan oluşan yaygın nesne tanıma veri setidir.

Örnek sınıflar:

  • person, bicycle, car, motorbike, airplane, dog, cat, chair, tv...

Kullanacağınız coco_labels.txt dosyası genellikle şu şekildedir:

0
person
bicycle
car
...

İlk satır boş (background class) olmalıdır. Index sırası modele bağlı olarak değişebilir.


C++ ile TensorFlow Lite Modelini Yüklemek

#include "tensorflow/lite/model.h"
#include "tensorflow/lite/interpreter.h"
#include "tensorflow/lite/kernels/register.h"
#include "tensorflow/lite/tools/gen_op_registration.h"

std::unique_ptr model =
    tflite::FlatBufferModel::BuildFromFile("model.tflite");

Interpreter yapılandırması:

std::unique_ptr interpreter;
tflite::ops::builtin::BuiltinOpResolver resolver;
tflite::InterpreterBuilder(*model, resolver)(&interpreter);
interpreter->AllocateTensors();

Görüntü Girişi Hazırlama (OpenCV ile)

cv::Mat frame;
cv::resize(frame, resized, cv::Size(300, 300)); // model input boyutu
uint8_t* input = interpreter->typed_input_tensor(0);
memcpy(input, resized.data, 300 * 300 * 3);

Çıktı Tensor’larını Okumak

float* boxes = interpreter->typed_output_tensor(0);
float* class_ids = interpreter->typed_output_tensor(1);
float* scores = interpreter->typed_output_tensor(2);
int* detections = interpreter->typed_output_tensor(3);

Her kutu: [ymin, xmin, ymax, xmax] ve tüm değerler 0-1 arasındadır.


Tespit Sonuçlarını Görselleştirme

for (int i = 0; i < detections[0]; ++i) {
    if (scores[i] > 0.5) {
        int class_id = class_ids[i];
        cv::rectangle(frame, cv::Rect(...));
        cv::putText(frame, labels[class_id], ...);
    }
}

Performans İyileştirme Önerileri

  • Quantized model (INT8) kullanın

  • Delegate kullanımı: GPU Delegate, NNAPI

  • Model boyutunu düşürün (mobilnet vs.)

  • Input boyutunu düşürün (300x300 → 224x224)

  • Çerçeve başına analiz süresini sınırlayın


Raspberry Pi Uygulama Senaryosu

  1. Raspberry Pi OS Lite kurun ve OpenCV + TFLite kütüphanelerini derleyin

  2. Raspberry Pi Camera Module kullanın veya USB kamera bağlayın

  3. Python yerine C++ performansı ile gerçek zamanlı detection sağlayın

  4. GPU destekli çalıştırma için Coral USB Accelerator gibi ek donanım kullanabilirsiniz


Android NDK ile C++ Object Detection

  • Android Studio üzerinden NDK kurulumu yapılır

  • TFLite C++ Library JNI ile çağrılır

  • OpenCV Android SDK kullanılarak kamera entegrasyonu yapılabilir

  • .tflite model, assets klasörüne eklenip AssetManager ile yüklenir


❗️ Sık Karşılaşılan Sorunlar ve Çözümleri

Sorun Açıklama ve Çözüm
Model input boyutu uyuşmazlığı OpenCV resize ile uygun boyuta getirin (örneğin 300x300)
Interpreter AllocateTensors hata veriyor Model dosyası bozuk olabilir, doğru dosya yüklendiğinden emin olun
Sınıf ismi yerine sadece sayı gözüküyor Label dosyasını satır satır okuyun, index’ler uyumlu mu kontrol edin
Performans çok düşük INT8 quantized model kullanın, Raspberry Pi’de OpenGL hızlandırma açın
Android’de model yüklenemiyor assets klasöründen dosyayı AssetManager ile açtığınızdan emin olun
Frame anlık güncellenmiyor Kamera akışını cv::VideoCapture ile doğru şekilde bağlayın

Sonuç

TensorFlow Lite ile C++ tarafında çalışan gerçek zamanlı nesne tanıma sistemleri kurmak, COCO gibi yaygın veri setleri sayesinde oldukça esnektir. Etiket yönetimi, giriş/çıkış tensor analizi, Raspberry Pi & Android gibi cihazlara deploy süreci ve performans optimizasyonları bu tür projelerde başarıyı belirleyen ana etkenlerdir. 

Aradığınız Bilgiyi Bulamıyor musunuz?

Bilgi bankasını detaylı olarak incelediniz, fakat ihtiyacınız olan bilgiyi bulamıyorsanız,

Bir Destek Talebi Oluşturun.
Faydalı Buldunuz mu?
(937 defa görüntülendi. / 212 kişi faydalı buldu.)

Ürün ve hizmetlerimiz hakkında daha detaylı bilgi almak için hemen arayın.

Diğer Hizmetlerimiz

Web siteniz için uygun fiyatlı Ucuz Hosting Paketleri ile yüksek performanslı barındırma hizmeti sunuyoruz.

Dijital varlığınızı güçlendirmek için profesyonel Sosyal Medya Hesap Yönetimi hizmeti sağlıyoruz.

Görsellerinizi sıkıştırmak için kullanışlı PNG to WebP dönüştürücümüzü deneyin.

Resim boyutlarını küçültmek isteyenler için JPG to WebP aracı idealdir.

SEO uyumu için Robots.txt Oluşturucu aracımızı kullanabilirsiniz.

Htaccess Oluşturucu ile yönlendirme ve erişim ayarlarınızı kolayca yapın.

Kullanıcı deneyimini artırmak için özgün UI/UX Tasarım çözümleri sunuyoruz.

Hızlı ve güvenli kurulum için WordPress hizmetimizden faydalanın.

Sitenizi arama motorlarında yükseltmek için Google Optimizasyon hizmeti sunuyoruz.

Markanızı tanıtmak için Tanıtım Yazısı içerikleri üretiyoruz.

UGC ile içerik gücünüzü artırın: UGC İçerik.

Profesyonel Yazılım Kurulum hizmetleri sunuyoruz.

Kaliteli içerik arayanlara özel Hazır Makale & İçerik Satışları.

Sıra Bulucu ile arama motoru sıralamanızı takip edin.

Google Haritalara Kayıt ile konumunuzu haritada gösterin.

Alan adı otoritenizi öğrenin: DA PA Sorgula.

Dış bağlantılarınızı analiz edin: Dış Link Aracı.

Dahili link yapınızı inceleyin: İç Link Aracı.

Arama motoru başarınızı artırmak için SEO Danışmanlığı alın.

Organik trafiğinizi artırmak için SEO çözümleri geliştirin.

Özel çözümler için Mobil Uygulama geliştirme hizmeti sunuyoruz.

Markanız için Logo tasarlıyoruz.

İşinize özel Web Yazılım çözümleri sunuyoruz.

Kurumsal imajınızı yansıtan Kurumsal Web Tasarım hizmeti.

Süreçlerinizi hızlandırmak için Bot Program geliştiriyoruz.

Online satışlarınız için Sanal POS sistemleri sunuyoruz.

Entegrasyonlar için Pazaryeri ve Kargo Entegrasyonu.

Kullanıcı deneyimi testleri için Son Kullanıcı Testleri.

İçerik indirimi için TikTok Video İndir aracı.

Görsellerinizi kolayca küçültün: Resim Boyutlandırma.

Yararlı kod örnekleri için Site Kodları rehberine göz atın.

Kodları online inceleyin: HTML Viewer.

IP adresinizi öğrenmek için IP Adresim Nedir aracını kullanın.

Bağlantı hızınızı test etmek için Hız Testi.

DNS önbellek sorunları için DNS Cache Problemi sayfasını inceleyin.

DNS değişikliklerini görmek için DNS Önizleme aracı.

IDN dönüştürme için IDN Çevirme kullanın.

Sunuculara ping atmak için Ping Gönder özelliğini deneyin.

Web sitenizin yanıt süresini test etmek için Web Site Ping aracımızı kullanın.

Top