Son yıllarda bilgisayarla görme (computer vision) ve yapay zekâ (AI) alanında yaşanan gelişmeler, makinelerin çevresini daha iyi algılayabilmesini mümkün kılmıştır. Bu çerçevede, Google tarafından geliştirilen MediaPipe, görsel ve işitsel verilerin gerçek zamanlı olarak analiz edilmesini sağlayan açık kaynaklı bir yazılım çatısı olarak dikkat çeker. Kullanımı kolay, platformlar arası çalışabilen ve güçlü GPU desteği bulunan bu yapı, hem araştırma hem de endüstriyel projelerde geniş bir kullanım alanı bulmuştur.
MediaPipe, geliştiricilerin donanım kısıtlarına bağlı kalmadan yüz tanıma, el hareketlerini izleme ve vücut pozisyonu belirleme gibi görevleri pratik biçimde gerçekleştirmelerine olanak tanır. Bu sayede medya içerikleri ile etkileşim kurmak, hareketleri tanımak veya artırılmış gerçeklik uygulamaları geliştirmek çok daha erişilebilir hâle gelir.
Tarihsel Gelişimi
Google tarafından geliştirilen MediaPipe projesi, 2012 yılında şirket içi video analizlerinde kullanılmak üzere ortaya çıktı. İlk sürüm YouTube videolarını sınıflandırmak ve özetlemek amacıyla tasarlandı. 2018'de mobil cihazlara uyarlanarak daha erişilebilir hâle geldi. 2020 itibarıyla ise açık kaynak olarak yayınlanarak, dünya genelinde çok sayıda geliştirici tarafından projelere entegre edilmeye başlandı.
MediaPipe Tarihsel Gelişimi (Kredi : Roboflow & Düzenleyen: Enes Yılmaz)
Temel Yapısı ve Çalışma Prensibi
MediaPipe, klasik kodlama yaklaşımlarından farklı olarak, veri akışını yöneten grafik tabanlı bir yapıya sahiptir. Bu sistemde veriler, işlemler arasında tanımlı yollar üzerinden aktarılır. Bu mimaride, veriler “packet” adı verilen küçük veri birimleri olarak, birbirine bağlı işlem düğümleri (calculator) üzerinden akar. Bu yapıların genel amacı, görsel veriyi ham hâlinden işlenmiş çıktıya ulaştıran bir boru hattı oluşturmaktır. Her "calculator", belirli bir görevi yerine getirir; örneğin kamera görüntüsünü almak, bu görüntüyü renk düzeltmeden geçirmek, ardından bir makine öğrenimi modeliyle analiz etmek gibi. Tüm bu işlemler bir graph (graf) içerisinde tanımlanır ve bağımsız olarak düzenlenebilir.
Platformlar ve Dil Desteği
MediaPipe çok sayıda cihaz ve yazılım diliyle uyumludur. Aşağıda öne çıkan bazı destekler yer almaktadır:
- Python: Hızlı geliştirme ve prototipleme için en çok tercih edilen dildir.
- C++: Gömülü sistemlerde ve performans gerektiren uygulamalarda kullanılır.
- Java / Kotlin: Android cihazlarda çalışmak üzere uygulama geliştirmek için idealdir.
- JavaScript (WebAssembly): Web üzerinden çalışan çözümler için destek sağlar.
MediaPipe; Android, iOS, Linux, macOS, Windows gibi birçok sistem üzerinde sorunsuz çalışabilir.
import cv2 import mediapipe as mp #MediaPipe FaceMesh başlatılıyor mp_face_mesh = mp.solutions.face_mesh face_mesh = mp_face_mesh.FaceMesh() #Varsayılan kameradan video akışı başlatılıyor cap = cv2.VideoCapture(0) while cap.isOpened(): success, frame = cap.read() if not success: break # BGR görüntüyü RGG'ye dönüştür frame_rgb = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB) # Yüz bölgelerini algıla results = face_mesh.process(frame_rgb) #Yüz noktalarını çiz if results.multi_face_landmarks: for face_landmarks in results.multi_face_landmarks: mp.solutions.drawing_utils.draw_landwarks( image = frame, landmark_list = face_landmarks, connections = mp_face_mesh.FACEMESH_TESSELATION ) #Görüntüyü ekranda göster cv2.imshow("MediaPipe FaceMesh", frame) #ESC tuşuna basıldığında çıkış yap if cv2.waitKey(5) & 0xFF == 27: break #Kamera kapatılıyor cap.release() cv2.destroyAllWindows()
MediaPipe ile iki elin algılanmasına ait Python kodu (Hazırlayan ve Düzenleyen: Enes Yılmaz)
Gerçek Zamanlı Performans
MediaPipe’in en öne çıkan yönlerinden biri gerçek zamanlı analiz kabiliyetidir. Özellikle GPU hızlandırması sayesinde görüntüler saniyeler içinde analiz edilebilir. Bu durum; video konferanslarda kullanıcı yüzünü takip etmek, egzersizlerde vücut pozisyonunu analiz etmek ya da etkileşimli artırılmış gerçeklik deneyimleri sunmak gibi pek çok alanda önemlidir.
MediaPipe Çözümleri
Google tarafından MediaPipe’e entegre edilen bazı önceden eğitilmiş ve optimize edilmiş çözümler şunlardır:
- Face Detection: Yüzün varlığını tespit eder.
- Face Mesh: 468 noktalık yüz haritası oluşturur.
- Hand Tracking: İki elin toplam 42 eklem noktasını izler.
- Pose Estimation: İnsan vücudunun 33 farklı noktası üzerinden duruş analizi yapar.
- Holistic: Yüz, el ve vücut verilerini birlikte işler.
- Selfie Segmentation: Kişi ve arka plan ayrımını yapar.
- Objectron: 3B nesneleri tanır ve takip eder.
Bu hazır çözümler sayesinde geliştiricilerin kendi modellerini sıfırdan eğitmesine gerek kalmaz; sadece entegrasyon ve özelleştirme yapmaları yeterlidir.
MediaPipe Hand Tracking algoritması ile iki elin gerçek zamanlı izlenmesi (Hazırlayan ve Düzenleyen: Enes Yılmaz)
Uygulama Alanları
MediaPipe, çok farklı alanlarda kullanılabilmektedir. Bazı örnekler şunlardır:
- Spor ve Fitness: Kullanıcıların egzersiz yaparken doğru pozisyonda olup olmadıklarını analiz etmek.
- Sağlık: Rehabilitasyon sürecinde hasta hareketlerini izlemek.
- Sürücü Güvenliği: Yorgunluk analizi, dikkat takibi gibi uygulamalar.
- İşaret Dili Tanıma: El hareketlerinin anlamlandırılması.
- Artırılmış Gerçeklik: Yüz filtreleri, mimik tanıma sistemleri.
- Eğitim: Görsel veriyle çalışan uygulamalarda kodlama öğretimi.
Etik Değerlendirmeler
Görüntü verilerinin toplanması ve işlenmesi, kullanıcı mahremiyeti açısından dikkat edilmesi gereken etik sorumlulukları beraberinde getirir. MediaPipe kullanıcılarının:
- Kişisel verileri işlemeden önce rıza alması,
- Verileri yerel olarak tutması,
- KVKK ve GDPR gibi yasal düzenlemelere uyması gereklidir. Özellikle yüz, el ve vücut gibi biyometrik verilerin analizinde bu kurallara dikkat edilmelidir.
Gelecek Vizyonu: Multimodal Zekâ ve Edge AI
Google, MediaPipe’i sadece görsel değil, sesli ve yazılı verilerle birlikte kullanmayı mümkün kılan multimodal yapay zekâ sistemlerine entegre etmeyi hedeflemektedir. Ayrıca, düşük enerji tüketimli cihazlarda çalışabilecek şekilde geliştirilen MediaPipe, Edge AI sistemlerinin temel bileşenlerinden biri olma yolundadır.