Gerçek zamanlı görüntü işleme ile sınıf ortamındaki öğrencilerin tanınması ve dikkat dağınıklıklarının tespiti
Citation
Uçar, M.U. (2019). Gerçek zamanlı görüntü işleme ile sınıf ortamındaki öğrencilerin tanınması ve dikkat dağınıklıklarının tespiti. (Yüksek Lisans Tezi). İskenderun Teknik Üniversitesi / Mühendislik ve Fen Bilimleri Enstitüsü, Hatay.Abstract
Tezin amacı, bir sınıf ortamında bulunan öğrencilerin kamera ile gerçek zamanlı olarak izlenmesi, kafalarının tespit ve takip edilmesi, yüz tanıma ile kim olduklarının tahmin edilmesi ve kafa yönlerinden hareketle dikkat dağınıklığı oranlarının tespitidir. Bu amaçla OpenCV ve Dlib görüntü işleme ve makine öğrenmesi kütüphaneleri kullanılarak C++ yazılım dili ile gerçek zamanlı çalışan bir uygulama geliştirilmiştir.
Uygulamanın yüz tanıma bölümünde dikkat dağınıklıkları incelenecek her bir öğrenci için yüz tanıma eğitim kümesi oluşturulabilmektedir. Kamera karşısındaki öğrenci değişik kafa pozisyonları ve mimikler yaparken uygulama her 5 saniyede bir öğrencinin yüzünün fotoğraflarını çekip kaydetmektedir. Yüz fotoğraflarını içeren bu eğitim kümesi kullanılarak Yerel İkili Örüntüler yöntemi ile yüz tanıma modeli oluşturulmaktadır.
Kafa yönünün ve dikkat dağınıklığının tespiti bölümünde ise her bir öğrenci için Perspective-n-Point problemi çözülerek öğrencilerin kafalarının x, y ve z eksenlerindeki dönme açıları (pitch, yaw ve roll) bulunmaktadır. Öğretmenle aynı doğrultuda bulunan bir kameraya doğru bakmakta oldukları varsayılan öğrencilerin kameraya doğru baktıklarında dikkatli oldukları kabul edilerek dikkat dağınıklıkları anlık olarak belirlenmektedir.
Yüz tanıma ve kafa yönü açılarının başarıları UPNA Head Pose Database ile test edilmiş, gerçekleştirilen testler sonrasında yüz tanımada en başarılı sonucu veren Yerel İkili Örüntüler yöntemi tercih edilmiştir. Görüntü işlemeye dayalı kafa yönü açılarını bulma yöntemi ise sensörlerle ölçülen açılara yakın sonuçlar vermiştir.
Dikkat dağınıklığı tespitinin başarısını ölçebilmek için yine UPNA Head Pose Database kullanılmıştır. Bu veritabanındaki videolardan çıkarılan rastgele 1000 fotoğraftan her biri 5 farklı kişi tarafından “Dikkatli” veya “Dikkatsiz” olarak işaretlenmiş, işaretlenen bu veri kümesinin yarısı eğitim yarısı da test kümesi olarak belirlenmiştir. Dikkat dağınıklığı sınıflandırıcıları etiketlenmiş veri kümesiyle eğitilmiştir. Sınıflandırıcı olarak Rastgele Orman, Karar Ağacı, DVM ve En Yakın Komşu makine öğrenmesi algoritmalarıyla denemeler yapılmıştır. En yüksek oran %72.4 doğrulukla DVM ile elde edilmiştir. Aim of this study is to track students in a classroom via webcam; detect, track and recognize their faces; and detect their engagement based on head pose estimation. For this purpose, we developed a real time C++ application by utilizing OpenCV and Dlib computer vision and machine learning libraries.
Face recognition module of our application allows us to create a face recognition training set for each student. Our application captures images of the student in front of the webcam in every 5 seconds while he/she is changing his/her head pose and facial expressions. Then, face recognition model is created via Local Binary Patterns Histograms method by using the face recognition training set.
In student engagement detection module, we solve Perspective-n-Point problem for each student to estimate their head rotation angles (pitch, yaw and roll). Assuming camera and the teacher are in the same direction, our application detects student engagement if students' head rotation points out the camera or not.
Success of face recognition and head pose estimation parts are tested with UPNA Head Pose Database. Local Binary Patterns Histograms method is preferred in our application, which gave the best accuracies. Head pose estimation tests showed that the angles returned from our computer vision based method are nearly the same as the angles measured by sensors.
Student engagement detection part is also tested with UPNA Head Pose Database. We extracted random 1000 images from the database. 5 human labelers annotated each image as "Engaged" or "NotEngaged". Half of the annotated images are used for training and others are used for testing. Engagement classifiers were trained with the labelled dataset. Experiments were made with Random Forest, Decision Tree, SVM and KNN machine learning algorithms to classify student engagement. SVM classifier achieved 72.4% accuracy on the labelled dataset.