Tez Arşivi

Hakkımızda

Tez aramanızı kolaylaştıracak arama motoru. Yazar, danışman, başlık ve özete göre tezleri arayabilirsiniz.


İstanbul Teknik Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Anabilim Dalı / Bilgisayar Mühendisliği Bilim Dalı

Deep learning based dynamic turkish sign language recognition with leap motion

Derin öğrenme tabanlı leap motıon ile dinamik türk işaret dili tanıma

Teze Git (tez.yok.gov.tr)

Bu tezin tam metni bu sitede bulunmamaktadır. Teze erişmek için tıklayın. Eğer tez bulunamazsa, YÖK Tez Merkezi tarama bölümünde 637211 tez numarasıyla arayabilirsiniz.

Özet:

Communication with the society is a challenging issue for deaf and hard-of-hearing people This project aims to fulfill the need of a robust, usable and cost efficient communication system by using minimal resources such as compact sensor devices in combination with a mobile computational device, like a laptop, tablet or even a mobile phone The purpose of this thesis is to develop an efficient gesture/sign recognition system using the power of machine learning and deep learning approaches, to achieve this goal Therefore in this project, sign language recognition is achieved by adopting various traditional machine learning and deep learning techniques after the desired dataset is created The project can be explained in 2 consecutive steps as; the data collection and processing step and design/implementation and evaluation of these machine learning classifiers and deep learning models with the collected data Leap Motion Controller device which is a compact and cost efficient sensor for the hand gesture recognition is used in this project as the sensory hardware to collect the data For the first step, a data collection tool is developed for LMC, to make the data collection process more efficient, easy and fast Also with this tool a need in the literature is fulfilled, since there is no similar tool developed for the Leap Motion device The tool introduces many benefits for the users who are creating the data samples for the dataset These benefits can be summarized as; ease of use, automatic labeling, including reference sign video and device status checking With these benefits in mind, the workflow of the application is as following user connects the Leap Motion Controller to her/his computer, starts the tool via the exe file, chooses a sign from the list provided in the interface, watches the reference video of the sign, pushes the start button, tool checks the device and driver connection and informs the user about their status, user sees herself/himself in the webcam viewer, tool waits for the user to show her/his hands to the sensor, user shows both hands to the sensor, tool starts a countdown and starts recording when the countdown ends, user simulates the sign and pushes stop button, tool stops the recording and saves the collected data files into a local folder which are timestamped and labeled with the information from the sign list member that the user selected at the beginning of the process Also this application designed as highly configurable as possible to make it usable as broadly as possible For this purpose the sign selection list is constructed from the folder that includes all the reference videos, which means if, for any other research purposes, another set of hand sign samples are desired to be collected, the researcher just needs to change the videos in the reference video folder, no any other change is necessary to make the tool configured to satisfy the new purposes, especially any code change is not required For the dataset, 12 dynamic 2 handed word signs are chosen from the Turkish Sign Language (TID) These signs are selected based on the results of our previous studies, which involve the recognition of static hand gestures in TID The chosen signs include one of these static hand gestures, applied in dynamic hand motion patterns After the tool is created, for the experiment purposes, total of 200 samples per sign are collected from multiple signers under various different environmental conditions With these collected samples, a dataset is created with a total of 2400 samples which are evenly distributed across the signs After dataset is created some preprocessing steps are applied to data to make it more convenient and efficient for the learning modals For the recognition step, six different traditional machine learning classifiers as Gaussian Naïve Bayes, Support Vector Machine, K-Nearest Neighbour, Random Forest, Linear Discriminant Analysis and Multilayer Perceptron classifiers and 3 different deep learning models which are Convolutional Neural Networks, Basic Recurrent Neural Networks and Long Short-Term Memory Neural Networks are created and tested While the experiments are conducted, various different hyperparameters are used with different loss and optimizer functions to increase the accuracy of the system As the loss function, Cross Entropy Loss is used with Stochastic Gradient Decent and Adam optimizer functions The experiments are done in three parts First, the traditional machine learning methods are experimented on with multiple varying hyperparameters The most successful method is found as the optimized LDA classifier with 99 9% train, 98 2% validation and 95% test accuracy As the second part of the experiments, deep learning models are experimented on with again multiple varying hyperparameters All three models are optimized by the analysis of multiple runs and as the result CNN became the most successful approach among them with 100% training, 97 7% validation and 96 7% test accuracy For the last part of the experiments, 5 different train-test set pairs are created with shuffling the collected dataset and all the deep learning methods together with LDA are run with these pairs for 5 times to get the average results As the final best results; 98 8% test accuracy is reached with the optimized LDA classifier and CNN model while the best accuracy remained at 88 ...

Özetin tamamını okumak için tez.yok.gov.tr adresine gidin.

Summary:

Toplumumuzda, sağır ya da işitme problemi yaşayan kişiler günlük yaşamlarında özellikle işaret dili bilinmeyen ortamlarda çevreleriyle iletişim zorluğu yaşayabilmektedir Bu tez kapsamında geliştirilen ve küçük boyuttaki bir sensor ve işlemci gücü olan bilgisayar, tablet ve/veya telefon gibi bir alet yardımıyla çalışan iletişim sistemi ile bu problemin çözülmesi hedef olarak belirlenmiştir Bu hedefi gerçekleştirmek için bu projede verimli bir tanıma sisteminin derin öğrenme metotları kullanılarak geliştirilmesi amaçlanmıştır Gerekli olan veri seti oluşturulduktan sonra, derin öğrenme yöntemleri kullanılarak işaret dili tanıma yapılmıştır Bu proje 2 farklı bölüme ayrılabilir İlk bölümde data toplama ve hazırlama yapılmış, ikinci bölümde ise geleneksel makine öğrenmesi sınıflandırıcıları ve derin öğrenme modellerinin oluşturulup hazırlanan veri seti kullanılarak bu modeller ve sınıflandırıcılar üzerinde deneyler yapılmıştır İlk bölümde veri toplama işlemi için bir uygulama geliştirilmiştir Veri toplama işlemi için Leap Motion Controller cihazı sensor olarak seçilmiş ve uygulama bu cihaz ile çalışacak şekilde tasarlanmıştır Geliştirme yapılırken uygulamanın özellikle kolay kullanılabilir ve anlaşılabilir olmasına ve aynı zamanda da veri toplama işlemini büyük oranda hızlandırmasına önem verilmiştir Aynı zamanda bu çalışmadan önce benzer bir uygulamanın yapılmamış olmasından dolayı bu çalışma literatürde var olan bir boşluğu da doldurmuştur Uygulama Windows Forms uygulaması olarak NET çatısı ile C# programlama dili kullanılarak oluşturulmuştur Uygulamayı geliştirirken Leap Motion'ın resmi olarak C# programlama dili için yayınladığı kütüphanelerin yanı sıra kamera görüntüsü alıp görüntüleyebilmek için Windows Media Player kütüphaneleri ve Accord Net çatısında bulunan kütüphaneler kullanılmıştır Geliştirilen uygulamanın veri seti oluşturma aşamasını daha efektif ve kolay hale getiren birçok artı noktası bulunmaktadır Bu noktalar şu şekilde özetlenebilir; kullanım kolaylığı, otomatik etiketleme, referans işaret videosu içerme ve cihaz durum kontrolü Uygulamanın kullanım akışı şu şekildedir; kullanıcı Leap Motion Controller cihazını bilgisayarına bağlar ve exe uzantılı dosya ile uygulamayı başlatır, uygulamanın ara yüzünde bulunan işaret listesinden veri üretmek istediği işareti seçer, seçilen işaretin referans videosunu izler ve hazır olduğunda başlatma butonuna basar Uygulama sensor cihazının ve cihaz sürücüsünün durumunu kontrol eder ve kullanıcıya rapor eder, kullanıcı bilgisayarın donanımında bulunan kamera aracılığıyla alınan görüntüyü gösteren bölümden kendini görüntüler ve hareketi doğru yapıp yapmadığını kontrol eder Uygulama kullanıcının iki elini de sensöre göstermesini bekler, kullanıcı iki elini birden sensöre gösterdiğinde uygulama geri sayımı ve bu geri sayım bittiğinde görüntü ve veri kaydını başlatır Kullanıcı seçmiş olduğu işareti videoda gösterildiği şekilde ve Leap Motion Controller sensörünün sınırları dışına taşmadan yapar ve durdurma butonuna basar Uygulama kayıt işlemini durdurur ve toplanan veriler ile oluşturduğu dosyaları oluşturma zamanı bilgisi ve kullanıcının işlemin başında listeden seçmiş olduğu işaretin ismini kullanarak etiketleyip, yerel klasöre kaydeder Aynı zamanda bu uygulamanın tasarımı yapılırken, kullanım alanının mümkün olduğunca geniş olabilmesi için büyük önem gösterilmiştir Bu amaç doğrultusunda kullanıcının işaret seçimini yaptığı liste statik olarak veya kod aracılığı ile değil referans videoların bulunduğu klasörün içeriği kullanılarak oluşturulmaktadır Yani bu uygulama başka bir araştırma için kullanılmak istendiğinde, bu yeni araştırma için belirlenen el işaretlerinin uygulama aracılığı ile doğru bir şekilde toplanabilmesi ve etiketlenebilmesi için, araştırmacının gerekli yeni referans videoları bahsedilen klasöre eklemesi yeterli olacaktır Uygulamanın yeni amaca uygun çalışabilmesi için herhangi başka bir güncellemeye, özellikle uygulama kodunda yapılacak herhangi bir değişikliğe gerek yoktur Bu proje için veri kümesi olarak Türk İşaret Dilinden 12 dinamik ve iki eli birden içeren kelime işaretleri seçilmiştir Veri toplama uygulaması geliştirildikten sonra deneylerde girdi olarak kullanılmak üzere birden çok işaretçi tarafından, farklı ortamlarda, işaret başına toplamda 200 adet örnek toplanmıştır Toplanan bu örnekler ile toplamda 2400 örnek içeren ve işaretler arasında eşit bir dağılıma sahip olan bir veri kümesi oluşturulmuştur Bu veri kümesi oluşturulduktan sonra öğrenme modelleri tarafından daha iyi kullanılabilirliğini sağlamak amacıyla bazı ön işlemlerden geçirilip veri eğitim işlemi için hazırlanmıştır Veri kümesindeki örneklerin her biri yüksek miktarda nümerik veri içermektedir Bu nümerik veriler örnek dosyasına 178 kolon ve veri kaydına göre değişkenlik gösteren satır sayısında kaydedilmiştir Her bir kolon örneklenen işaretten alınan bir özelliği içermekte her bir satır ise anlık zaman çerçevesini içermektedir Yani her zaman çerçevesi dahilinde sensörden alınan 178 tane özellik kaydedilmiştir Her örneğe göre zaman çerçevesi sayısı, her kullanıcının kaydı başlatması ve bitirmesi arasındaki geçen süre farklılık göstereceği için değişkendir Ancak bu durum verinin işlenmemiş hali ile öğrenme modellerine verilmesine engel olmaktadır çünkü modele verilen örneklerin boyutlarının eşit olması gerekmektedir Yapılan ön işlemlerden bir kısmı örneklerin hepsinin boyutunu eşitleyerek bu sorunu gidermekte, kalan kısmı ise alınan verinin ve etiketlerin modeller tarafından anlaşılabilir hale getirilmesini sağlayan standart işlemlerden oluşmaktadır Projenin ikinci bölümünde 6 farklı geleneksel makine öğrenmesi sınıflandırıcısı: Gauss Naif Bayes (Gaussian Naïve Bayes), Destek Vektor Makinesi (Support Vector Machine), K-En Yakın Komşu (K-Nearest Neighbour), Rassal Orman (Random Forest), Doğrusal Ayrımcılık Analizi (Linear Discriminant Analysis) ve Çok Katmanlı Algılayıcılar (Multilayer Perceptron); ve 3 farklı derin öğrenme modeli: Evrişimsel Sinir Ağları (Convolutional Neural Networks-CNN), Tekrarlayan Yapay Sinir Ağları (Recurrent Neural Networks-RNN) ve Uzun Kısa Vadeli Hafıza Ağları (Long Short-Term Memory-LSTM) yaratılmış ve yüksek tanıma başarısına ulaşabilmek için bu sınıflandırıcılar ve modeller üzerinde deneyler yapılmıştır Bu sınıflandırıcılar ve modeller literatürde benzer araştırmalar değerlendirilerek, aynı zamanda tanınmak istenen verinin yapısı düşünülerek seçilmiştir Örnek başına düşen veri miktarı oldukça fazla ve karmaşık olduğu için sezgisel yöntemler yerine öğrenmeye dayalı yöntemlerin kullanılması kararlaştırılmıştır Derin öğrenme yöntemleri arasından seçim yapılırken; Evrişimsel Sinir Ağları'nın seçilmesinin nedeni bu tip sinir ağlarında resim verilerinin daha başarılı sonuç vermesinin göz önünde bulundurulması ve bu projedeki verinin 2 boyutlu oluşu nedeniyle yapısal olarak tek renkli bir resim verisine benzetilmesi, Tekrarlayan Yapay Sinir Ağları'nın seçilmesinin nedeni ise projedeki verinin zamansal bilgi içermesi ve bu derin öğrenme yönteminin zamansal boyutta değerlendirme yapabilme yeteneğinin yüksek olmasıdır Uzun Kısa Vadeli Hafıza Ağları'nın seçilme nedeni ise zamansal verinin boyutunun büyük olmasıdır Bahsedilen yöntemler ışığında modeller Python programlama dili ve açık kaynak kodlu bir derin öğrenme kütüphanesi olan Pytorch çatısı sınıflandırıcılar ise sklearn kütüphanesi kullanılarak oluşturulmuştur Öğrenme ve tanıma işleminin başarıdan ödün vermeyerek mümkün olduğunca hızlı tutulabilmesi için modeller olabildiğince basit mimariler kullanılarak tasarlanmış ve kullanıma sunulmuş, Microsoft Azure: Bulut Bilişim Hizmetleri üzerinde yaratılmış olan ve grafik işlemci birimleri (Graphics Processing Unit-GPU) içeren sanal bir makine (Virtual Machine) üzerinde yürütülmüştür Sistemin performansını yükseltmek için oluşturulan modeller üzerinde farklı hiper parametre kombinasyonları farklı kayıp ve iyileştirici fonksiyonlar ile birlikte denenmiştir Kayıp fonksiyonu olarak Cross Entropy fonksiyonu iyileştirici olarak Stochastic Gradient Decent ve Adam fonksiyonları ile birlikte kullanılmıştır İyileştirici fonksiyonların farklı kombinasyonları denenen parametreleri öğrenme oranı ve momentumdur Deneyler üç bölüm halinde yapılmıştır İlk olarak geleneksel makine öğrenmesi metotları üzerinde hiper parametreler değiştirilerek farklı eğitimler yapılmış ve sınıflandırıcılar optimize edilmiştir Bu metotlar arasında en iyi sonucu veren optimize edilen LDA sınıflandırıcısı olmuştur Bu sınıflandırıcı ile %99 9 eğitim, %98 2 doğrulama ve %95 test doğruluk oranlarına erişilmiştir Deneylerin ikinci bölümünde derin öğrenme metotları üzerinde deneyler yapılmış ve yine hiper parametreler değiştirilerek modeller optimize edilmiştir Sonuç olarak bu modeller arasında en başarılı olan CNN modeli olmuştur Bu model ile %100 eğitim, %97 7 doğrulama ve %96 7 test doğruluk oranlarına ulaşılmıştır Deneylerin son bölümü olarak toplanmış olan veri kümesi karıştırılarak 5 farklı eğitim-test kümesi oluşturulmuştur Oluşturulan 5 farklı veri kümesi üzerinde derin öğrenme modelleri ve LDA sınıflandırıcısı 5 kez yürütülmüş ve ortalama sonuçlar hesaplanmıştır Ulaşılan en iyi sonuçlar; LDA sınıflandırıcısı ile %98 8, CNN modeli ile %98 8, RNN modeli ile %88 3, LSTM modeli ile %85 0 test doğruluk oranıdır ...

For full summary, please go to tez.yok.gov.tr.