Professional Documents
Culture Documents
Enes Sayacı 21601680
Enes Sayacı 21601680
Enes Sayacı 21601680
Enes Sayacı
21601680
enes.sayaci@ogrenci.karatay.edu.tr
1
Enes Sayacı 21601680 https://sanalayna.herokuapp.com/
GİRİŞ
Bu proje kullanıcının cihaz kamerasın
dan anlık görüntüsünü kayıt ederek kayıtlı
görüntü üzerinde kullanıcının gözünde gö
zlük varmış gibi yerleştirme yapan bir
artırılmış gerçeklik uygulamasıdır. Pro
jenin amacı kullanıcının fiziksel denemeye
mecbur kalmadan mobil cihazdan gözlüğü
deneyebilmesini sağlamaktır. Web pro
jesidir ve kullanıcının deneyimlemesi için
tarayıcıdan adrese gitmesi gerekmektedir.
Figure 1: dlib kütüphanesi ile elde edilebilecek
yüz noktaları.
BACKEND
Uygulamanın backend kısmında tamamen
python kullanıldı, alınan bir 2 boyutlu resim doğru pozisyon ve rotasyon bilgileri elde
üzerinde işlemler yapılarak 3 boyutlu gibi edebiliyoruz(pitch,roll,yaw).
algılanabilecek bir matris oluşturuluyor.
Yüz tespiti yapılıyor , ardından tespit edilen
yüzde ihtiyaç olan belirli yüz noktaları tespit Backend Kodlarına Genel Bakış
ediliyor. Ardından bu yüz noktalarından
resimdeki yüzün x,y ve z eksenlerindeki Program çalıştığında önce yüz noktaları
pozisyonları ve rotasyonları hesaplanıyor. tespiti için gerekli model dosyayı belirliyor
ve ardından kullanıcının göreceği web
sayfasına yönlendiriyoruz.
2B Resimden 3B Ortam Algılama ve
Pozisyonlama
Bu işlem için python dlib ve eos Socket tanımlamaları ve genel değişken
kütüphaneleri kullanılıyor. dlib tanımlamalarının ardından web sayfasın
kütüphanesinin kendisinin sağladığı yüz dan veri geldiğinde yani resim kareleri
tespit algoritmaları yardımı ile tespit edilen ulaşmaya başladığında her bir kare için
68 farklı yüz noktasından ihtiyacımız olan gerekli işlemsel dönüşümleri yapıp(format
15 tanesini alıyor ve dünyada kabul görmüş dönüşümü, BGR dönüşümü ya da gerekli
standart 3 boyutlu bir yüzün oranlarını filtreler) yüz tespit ve head pose estimation
kullanrak bu noktaları 3 boyutlu matrisler algoritmalarımızı çağırıyoruz.
olarak işaretliyoruz.
Üzerinde işlem yapılan kare için al
Ardından bu noktaları eos morphablemodel goritma çıktılarını tekrar web sayfasına
model metoduyla sanal bir 3 boyutlu model gönderiyoruz.
yüze dönüştürüyoruz. Bu sayede daha
2
Enes Sayacı 21601680 https://sanalayna.herokuapp.com/
HABERLEŞME
Haberleşme için web socket kullanıldı, web
socket python tornado server ile başlatıldı,
tornado server seçilmesinin amacı realtime
uygulamalarda daha hızlı sonuç vermesi,
ancak bu uygulamada realtime işlemden
daha iyi bir kullanıcı deneyimi açısından vaz
geçildi. Onun yerine kayıt üzerinden işlem
yapılıyor.