Tez No İndirme Tez Künye Durumu
469084
Sürücü uykululuğunun gerçek zamanlı görüntü işleme ve makine öğrenmesi teknikleri ile tespitine yönelik bir sistem tasarımı ve uygulaması / Designing and implementation of driver sleepiness detection system by using real-time image processing and machine learning techniques
Yazar:MUHAMMED OZAN AKI
Danışman: YRD. DOÇ. DR. İLHAN UMUT
Yer Bilgisi: Trakya Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı
Konu:Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control ; Bilim ve Teknoloji = Science and Technology
Dizin:Sayısal görüntü işleme = Digital image processing ; Sürücüler = Drivers ; Yorgunluk = Fatigue
Onaylandı
Doktora
Türkçe
2017
110 s.
Bu tezin amacı, sürücü uykululuğunun görüntü işleme ve makine öğrenmesi teknikleri ile gerçek zamanlı olarak tespit edilerek sürücünün uyarılmasını sağlayan bir sistemin tasarlanması ve gerçekleştirilmesidir. Çalışmada veri tabanı oluşturmak için dört gönüllünün gerçek zamanlı kamera görüntüsü verileri kullanılmıştır. Kamera görüntüsü 320x240 uzaysal çözünürlüğe düşürülerek gri ölçeğe dönüştürülmüştür. Sürücünün yüz ve göz görüntüleri Viola-Jones detektörü yöntemi ile tespit edilerek kırpılmıştır. Görüntüdeki ışık değişimlerini normalleştirmek için histogram eşitleme yöntemi kullanılmıştır. Görüntülerin özniteliklerini çıkarmak için sekiz farklı açıda ve beş farklı ölçekte 40 Gabor filtresi kullanılmıştır. Sınıflandırma performansını arttırmak için korelasyon değerleri kullanılarak öznitelik seçimi yapılmıştır. Bu işlemler sonucunda dört gönüllüden elde edilen 1077 resim için 13 özellikten oluşan veri setleri oluşturulmuştur. Oluşturulan veri setleri ile beş farklı makine öğrenme algoritmasının sınıflandırma performansları birbiriyle kıyaslanmıştır. Bu kıyaslama sonucunda sınıflandırma doğruluğu ve sınıflandırma hızı değerlendirilerek J48 karar ağacı algoritması gerçek zamanlı uygulama için önerilmiştir. Sürücü uykululuğunun tespiti için kişiye özel verilerle çalışan gerçek zamanlı bir yazılım geliştirilmiştir. Eğitim ve sınıflandırma olmak üzere iki modülden oluşan bu yazılımın performansını arttırabilmek için paralel programlama teknikleri kullanılmıştır. Eğitim modülünde sürücü, açık ve kapalı göz görüntüleri ile veri dosyası oluşturmaktadır. Sınıflandırma modülünde ise, seçilen veri dosyası ile bir öğrenmeii modeli oluşturularak canlı video görüntülerinde gözlerin açık ya da kapalı olduğu sınıflandırılmaktadır. Gerçek zamanlı çalışmada sürücü uykululuğunun tespiti için, birim zaman periyodundaki kapalı göz sayısının, periyot zamanına oranı olan PERCLOS (Percentage of Closure: kapalılık oranı) ve gözlerin kapalı kalma süresi olan CLOSDUR (Closed duration: kapalılık süresi) büyüklükleri hesaplanmıştır. Bir dakikalık zaman periyodu içerisinde, PERCLOS değeri 0,15'ten büyükse birinci seviye, 0,3'ten büyükse ikinci seviye uyarı ile sürücü uyarılmaktadır. Ayrıca gözlerin ardışık olarak iki saniye boyunca kapalı kaldığı (CLOSDUR  2) tespit edildiğinde, PERCLOS değerine bakılmaksızın ikinci seviye alarm ile sürücü uyarılmaktadır. Sonuç olarak bu çalışmada, sürücü uykululuğunun tespiti ve sürücünün uyarılması amacıyla görüntü işleme teknikleri ve makine öğrenme algoritmaları kullanılarak geliştirilen yazılımda, görüntü gerçek zamanlı olarak 24 FPS (Frame Per Second: saniyedeki resim sayısı) hızda işlenerek %90 sınıflandırma başarımı elde edilmiştir. Uykululuk düzeyi tanımlanan eşik değerlerine ulaştığında sürücü başarıyla uyarılmıştır.
The purpose of this thesis is to design and implement a system that enables driver sleepiness to be detected in real time by image processing and machine learning techniques and to warn the driver. In this study, four volunteers' real time camera images are used for creating data sets. The camera images are reduced to 320x240 spatial resolution and converted to gray scale. The face and eye images of driver are detected using Viola-Jones detector and then cropped. The histogram equalization is used for normalizing light changes in the images. Forty Gabor filters were used at eight different angles and five different scales to extract the features of the images. In order to improve the classification performance, the feature selection was made using correlation values. As a result of these operations, data sets consisting of 13 features were created for 1077 images obtained from four volunteers. These data sets are used for comparing classification performances of five machine learning algorithm. J48 decision tree algorithm is proposed for real time application by evaluating classification accuracy and classification time. A real time application has been developed that allows working with personal data for detecting driver sleepiness. Parallel programming techniques have been used to improve the performance of this software, which consists of two modules, training and classification. In the training module, driver creates own data file by its open and closed eye images. In the classification module, a learning model is created with the selected data file to classify whether the eyes are open or closed in live video images.iv In order to detect driver sleepiness in real time operation, the number of closed eyes per time period is calculated as PERCLOS (Percentage of Closure) and CLOSDUR (Closed Duration), which is the period of closed eyes. Within one minute time period if the PERCLOS value is greater than 0.15, the driver is warned by first level warning. If the PERCLOS value is greater than 0.3, the driver is warned by the second level warning. Also, when the eyes are closed for two seconds (CLOSDUR  2) consecutively, the driver is warned by the second level alarm regardless of the PERCLOS value. As result of this study, 24 FPS (Frame Per Second) real time image processing speed and 90% classification accuracy has been obtained by developed application using image processing and machine learning techniques for detecting driver sleepiness and then warning driver. Driver was successfully warned when sleepiness level is reached the defined threshold values.