MediaPipe
- Ömer faruk Subaşı
- 22 Şub
- 4 dakikada okunur

MediaPipe Nedir?
MediaPipe, Google’ın geliştirdiği, makine öğrenimi ve bilgisayarla görme dünyasına girişinizi kolaylaştıran ücretsiz ve açık kaynaklı bir platformdur. Hem video hem de ses verilerini işleyip analiz ederek, anında sonuçlar elde etmenizi sağlar. MediaPipe, yazılım dünyasına tamamen yeni bir şey getirmese de, zor ve zaman alıcı birçok işlemi tek bir paket halinde sunarak hayatınızı kolaylaştırır. Bu sayede, görüntü işleme ve makine öğrenimi projelerine adım atmak isteyen herkes için, bu zorlu görevler artık birer keyifli hale gelir.
MediaPipe Hangi Alanlarda Kullanılır?

Görüntü ve Video işleme: MediaPipe, görüntü ve video işleme algoritmalarını uygulamak için kullanılır. Nesne tanıma, yüz tanıma, el ve vücut hareketi algılama gibi birçok görevi gerçekleştirebilir.
Artırılmış Gerçeklik (AR): MediaPipe, gerçek dünya görüntülerini işleyerek artırılmış gerçeklik deneyimleri oluşturmak için kullanılabilir. Nesne tespiti, konumlandırma ve hareket takibi gibi AR bileşenleri MediaPipe ile entegre edilebilir.
El ve Vücut Hareketleri: MediaPipe, el ve vücut hareketlerini gerçek zamanlı olarak algılamak için kullanılabilir. Bu, kullanıcı arayüzleri oluşturmak, oyun kontrolü sağlamak veya egzersiz uygulamaları gibi birçok alanda kullanılabilir.
Ses ve Konuşma işleme: MediaPipe, ses sinyallerini işleyerek konuşma tanıma veya ses tabanlı etkileşimler için kullanılabilir.
MediaPipe Platformunda Mevcut Çözümler ve Desteklenen Platformlar
MediaPipe’ın Avantajları
Gerçek Zamanlı İşleme: Video, ses, ve metin gibi multimedya verilerini gerçek zamanlı olarak işleyebilir.
Modüler Yapı: Önceden tanımlanmış "Hesaplayıcılar" (Calculators) kullanılarak esnek ve yeniden kullanılabilir bileşenler oluşturulabilir.
Çapraz Platform Desteği: Android, iOS, web uygulamaları ve gömülü sistemlerde çalışabilir.
Graph Tabanlı Tasarım: Veri akışını görsel bir grafik üzerinde tanımlayarak, veri işleme süreçlerini kolayca yönetmeye olanak tanır.
Verimli Performans: Hafif ve optimize edilmiş yapısı sayesinde, düşük gecikme süreleriyle yüksek performans sağlar.
Açık Kaynak: Geliştiriciler tarafından özgürce kullanılabilir ve geliştirilebilir bir platformdur.
Mediapipe Mimarisi

Framework
MediaPipe'in yapısı, veri işleme süreçlerini yönetmek için kullanılan birkaç temel API'ye dayanır:
Calculator API (C++): Hesaplayıcıların tanımlanmasını ve işlevlerini sağlar. Bu hesaplayıcılar, grafiklerde veri işleme görevlerini yerine getiren temel birimlerdir.
Graph Construction API (Protobuf): Grafiklerin oluşturulması ve yapılandırılmasını sağlar. Bu API, veri akışının nasıl yönetileceğini belirler.
Graph Execution API (C++, Java, Obj-C): Grafiklerin çalıştırılmasını ve yönetilmesini sağlar. Bu API, verilerin hesaplayıcılardan geçişini ve işlenmesini koordine eder.
Bu API'ler, MediaPipe’in grafik tabanlı veri işleme hattını oluşturur. Örneğin, elleri tanıyan bir çözüm oluşturduğunuzda, grafikler resim akışını alır ve ellerin üzerinde işaret noktalarını belirleyerek gerekli işlemleri gerçekleştirir.
MediaPipe Hesaplayıcıları
MediaPipe Hesaplayıcıları, C++ dilinde yazılmış, veri işleme görevlerini yerine getiren bileşenlerdir. Her hesaplayıcı üç temel işlevi uygular:
Open: Hesaplayıcıyı başlatır.
Process: Veri paketi geldiğinde bu işlev tekrar tekrar çalışır.
Close: Grafik çalışması tamamlandığında hesaplayıcıyı kapatır.
Örnek: İlk hesaplayıcı ImageTransform, görüntüyü işleyip dönüştürürken, ImageToTensor hesaplayıcısı görüntüyü tensöre dönüştürür.
MediaPipe'deki Hesap Makinesi Türleri
MediaPipe'deki hesap makineleri, işledikleri veri türlerine göre dört kategoriye ayrılır:
Ön İşleme Hesaplayıcıları: Görüntü ve medya işleme görevlerini yerine getirir. Örneğin, ImageTransform ve ImageToTensor hesaplayıcıları bu kategoriye girer.
Çıkarım Hesaplayıcıları: TensorFlow ve TensorFlow Lite gibi makine öğrenimi kütüphaneleriyle entegre çalışarak veri çıkarımı yapar.
Son İşlem Hesaplayıcıları: Algılama, segmentasyon ve sınıflandırma gibi makine öğrenimi son işlem görevlerini yürütür. Örneğin, TensorToLandmarks.
Faydalı Hesaplayıcılar: Görüntü açıklamaları gibi son görevleri yerine getirir.
Hesaplayıcı API'leri
MediaPipe Hesaplayıcı API'leri, kullanıcıların kendi özel hesaplayıcılarını yazmalarına olanak tanır. Bu özellik, MediaPipe'i özelleştirmenizi ve ihtiyaçlarınıza göre genişletmenizi sağlar.
MediaPipe El Takibi Örneği

Aşağıdaki akış şeması, MediaPipe (MP olarak kısaltılmış) el çözüm grafiğini temsil etmektedir.

MediaPipe'in video işleme hattı, çeşitli hesaplayıcılardan oluşur. Her bir hesaplayıcı belirli bir görevi yerine getirir. İşleme sırası şöyledir:
Video Girişi: Video veya medya, işlem hattına girer ve işlenmeye başlanır.
Image Transform (Görüntü Dönüşümü): İlk hesaplayıcı, video verisini yeniden boyutlandırma, kırpma ve renk dönüşümleri gibi işlemlerle dönüştürür.
Image to Tensor (Görüntüden Tensöre): İşlenmiş görüntü, tensöre dönüştürülür.
Inference (Çıkarım): Tensör haline getirilmiş veri, model tarafından işlenir ve özellikler veya nesneler çıkarılır.
Tensor to Landmarks (Tensörden İşaret Noktalarına): Çıkarımlar, işaret noktalarına dönüştürülür.
Renderer (Çıktı Üretimi): İşaret noktaları birleştirilir ve nihai görüntü olarak çıktı alınır.
MediaPipe Kurulum Aşamaları
MediaPipe, farklı işletim sistemlerinde kolayca kurulabilir. Aşağıda, Windows, macOS ve Linux için adım adım kurulum rehberi bulunmaktadır.
Windows İçin MediaPipe Kurulumu
Python Yükleyin:
MediaPipe, Python üzerinde çalışır. Python yüklü değilse, Python'un resmi sitesinden en son sürümü indirin ve yükleyin.
Virtual Environment Oluşturun:
Geliştirme ortamınızı izole etmek için bir sanal ortam oluşturun:
Bir sanal ortam oluşturun ve aktif hale getirin:
MediaPipe'i Yükleyin:
Kurulumu Test Edin:
MediaPipe'in doğru yüklendiğini test etmek için aşağıdaki kodu çalıştırabilirsiniz:
macOS İçin MediaPipe Kurulumu
Python Yükleyin:
macOS'te Python genellikle önceden yüklüdür. Yüklü değilse, Homebrew kullanarak yükleyebilirsiniz:
Virtual Environment Oluşturun:
Sanal bir ortam oluşturun ve aktif hale getirin:
MediaPipe'i Yükleyin:
MediaPipe'i pip kullanarak yükleyin:
Kurulumu Test Edin:
MediaPipe'in doğru yüklendiğini test etmek için aşağıdaki kodu çalıştırabilirsiniz:
Linux İçin MediaPipe Kurulumu
Python ve pip Yükleyin:
Linux'ta Python ve pip'i yüklemek için aşağıdaki komutları kullanabilirsiniz:
Virtual Environment Oluşturun:
Sanal bir ortam oluşturun ve aktif hale getirin:
MediaPipe'i Yükleyin:
MediaPipe'i pip kullanarak yükleyin:
Kurulumu Test Edin:
MediaPipe'in doğru yüklendiğini test etmek için aşağıdaki kodu çalıştırabilirsiniz:
Sorun Giderme
Yükleme Hataları: Pip ile yükleme sırasında hata alırsanız, pip'i güncellemeyi deneyin:
Sistem Gereksinimleri: MediaPipe, Python 3.6+ sürümleri gerektirir. Eski sürümlerde çalışmayabilir.
Bu adımları izleyerek, MediaPipe'i işletim sisteminize göre kurabilir ve projelerinize entegre edebilirsiniz.
Comentários