Code Monkey home page Code Monkey logo

isitsel-ceviri's Introduction

İş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

isitsel-ceviri's People

Contributors

enes3774 avatar

Stargazers

Mehmet Kağan avatar Talha Rüzgar Akkuş avatar

Watchers

Kostas Georgiou avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.