Skip to content

Türkçe videoların sesinden işaret diline çeviri yapan Autoregressive transformer model

License

Notifications You must be signed in to change notification settings

enes3774/isitsel-ceviri

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 

Repository files navigation

İşitsel Çeviri

İşitsel Çeviri, herhangi bir Türkçe videonun sesini işleyerek sürekli bir şekilde Türkçe işaret diline çeviren, Progressive Transformer mimarisine dayalı bir yapay zeka modelidir.

Örnek Grafik

Projenin Motivasyonu

İşitme engelliler, çevresiyle iletişim kurmada ve günümüz internet çağında bilgiye ulaşmada işaret dilini kullanmak zorundadırlar. Fakat onların diline çeviri sunan kaynaklar neredeyse yok denecek kadar azdır. Bu durum, işitme engellilerin toplumdan soyutlanmasına ve bilgiye erişimlerinin kısıtlanmasına yol açmaktadır. Projemizin asıl motivasyonu, işitme engelli bireylerin herhangi bir videoyu veya metni kendi dillerinde, yani işaret diliyle anlayabilmeleri için bir yapay zeka sistemi geliştirmektir.

Amacımız, işitme engelli bireylerin dijital dünyada daha bağımsız olmalarını sağlamak, bilgiye erişimlerini kolaylaştırmak ve onların da kendi dillerinde bilgiye erişmelerine olanak vermektir.

Output GIF

Projemiz, veriseti üretimi ve üretilen verisetini Progressive Transformer modeli ile eğitmek olmak üzere iki aşamaya ayrılmıştır.

Veriseti Üretimi

OpenPose ile Poz Çıkarımı

İnternet üzerinde Türkçe işaret dili içeren kaynaklar araştırılarak farklı alanlardan işaret dili videoları bulunmuştur.

Image

Bu videoların toplam süresi 100 saati bulmaktadır ve aşağıdaki kodlarla gerekli tüm düzenlemeler yapılabilir hale getirilmiştir. YouTube'da Türkçe işaret dili içeren birçok video bulunduğundan, istenilen videolar üzerinden veriseti oluşturma yöntemini paylaşarak, kendi verisetlerinizi oluşturabilir ve yapay zeka modelini eğitebilirsiniz.

Kendi videolarınız üzerinde poz çıkarımı yapmak için data_creation klasörüne gidip videos.txt dosyasını kendi video URL'leri ile değiştirmeniz gerekir.

  1. Video sesleri kullanılarak poz çıkarımı.
  2. OpenPose modeli kullanılarak her frame için poz üretimi.
  3. Üretilen pozlar üzerinde hatalar tespit edilip ağırlıklı bir algoritma ile yeniden işleme.
  4. Verilerin normalize edilmesi ve poz cümleleri ile metinlerin eşlenmesi.

YouTube Üzerinden Seçilen Videoları İndirmek ve Her Frame için İstenilen İnsan İskeletini (Pozlarını) Çıkarmak

Kaliteli işaret dili ve açıklayıcı ses içeren videolar bulmak projenin ana sorunlarından biri olmuştur. Bunun nedenleri; poz ve ses arasındaki gecikmeler, işaret dili çeviricisinin ekranın çok küçük bir alanında kalması (örneğin haber kanallarında sağ köşede çok küçük bir alanın kullanılması) ve işaret diliyle her sesin çevrilmemesiydi.

İnternet üzerinde birçok video araştırıldıktan sonra, TRT Haber'in işitme engelliler için özel olarak hazırladığı İşitme Engelliler Haber Bülteni yayını ile karşılaştık. Bu yayında ekranın yarısını işaret dili çevirmeni, diğer yarısını ise haber sunucusu kaplıyordu. Yayındaki 114 haber ile bir veriseti oluşturmaya başlandı.

Karşılaşılan bir diğer zorluk ise videolardan iskelet pozlarını çıkarmaktı. Burada OpenPose ve MediaPipe kütüphaneleri denenmiştir. OpenPose kütüphanesi kullanırken el+poz verisi için 10 GB VRAM gerekmekte ve 10 dakikalık bir video için 30 dakikalık işlem süresi gerekmekteydi. MediaPipe ise tam zamanlı olarak CPU'da bile çalışabilmekte, ancak ürettiği sonuçlar OpenPose kadar doğru ve tutarlı olmamaktadır.

Geliştirdiğimiz verisetinde, OpenPose kütüphanesi kullanılarak bulutta GPU kiralanıp pozlar çıkarıldı. Bu işlemin normalden üç kat daha yavaş olması nedeniyle videoların sadece bir bölümü veriseti olarak kullanıldı. Ancak paylaşılan kodlarla tüm videolardan poz çıkarımı yapılabilir.

Whisper_large_v3 ile Türkçe Seslerden Metin Çıkarımı

Geliştirilen yapay zeka modeli, metin alıp poz verisi ürettiğinden, YouTube videolarının metin verisine çevrilmesi gerekiyordu. Bunun için OpenAI'ın Whisper modeli kullanıldı. Çıkarılan metinler ile o aralıktaki pozlar eşleştirilerek train, test ve val verisetleri kaydedildi.

Model Üretimi

Progressive Transformer Model Mimarisi Kurulumu ve Eğitimi

Geliştirdiğimiz model, giriş olarak aldığı metin cümlesini işleyerek encodera aktarır. Decoder modeli ise auto-regressive bir şekilde poz verilerini üretir. Üretilen poz verileri, giriş cümlesinin işaret diline çevrilmiş halidir.

Model Mimarisi

Verisetlerini elde ettikten sonra bu adrese gidebilir ve model eğitimine başlayabilirsiniz.

Resimden Video Üretimi

Projemizin asıl amacı işitme engelliler için işaret dili konuşan insan videoları üretmek olduğundan, bu hedef üzerinde stable diffusion modellerini kendi poz verimiz ile çalışır hale getirdik. Burada elde ettiğimiz bir örnek videoyu paylaşıyoruz.

psoe_to_video.mp4

About

Türkçe videoların sesinden işaret diline çeviri yapan Autoregressive transformer model

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages