- 1 Nis 2020
- 12
- 0
Hepinize merhabalar arkadaşlar,
Bugün sizlere yüz tanıma sistemiyle alakalı bilgi vereceğim.
Yüz tanıma projemiz için OpenCV (açık kaynaklı görsel kütüphane) kullandım.
Projemize bu kütüphaneyi eklemek için ;
yazmanız yeterlidir.
OpenCV'de Algoritmalar:
EigenFaces
FisherFaces
Local Binary Patterns Histograms
şeklindedir.Kullandığımız diğer modül face_recognition.Bu modülü kolaylıkla projemize ekleyebiliriz.
Projeyi eklemek için :
yazmanız yeterlidir.
Yüz Tanıma Algoritmaları :
Resimlerdeki yüzleri bulma
Resimlerdeki yüz özelliklerini bulma ve değiştirme
Dijital Makyaj
Resimlerdeki yüzleri tanımlama
Gerçek zamanlı yüz tanıma
Proje için ayrıca real-time face recognition algoritması kullanmıştır. Proje başlatıldığında, komut satırına yazdırır ve kişiyi görünüp görünmediğini bildirir ve ona yönlendirme yapar.Artısında tasarım yapmak size kalmış.:hosnut
Proje başlatıldığında kamera açılır ve kişi görünene kadar tarama yapar.Bu algoritma pythonda tkinter kütüphanesi ile yazılmıştır fakat işlem hızlılığı açısından ve ana algoritmayı çözmek açısından bu kütüphaneyi ve tkinter kütüphanesinin işlemlerini ben kaldırdım ve tüm işlemleri konsola yönlendirdim.
sizlere kodlamasını göstereyim :
Bu şekilde konsoldan yüz tanıma algoritmamızı çalıştırmış olduk.İsterseniz tekrar tkinter kütüphanemizi projeye kurup gerekli çalışmalarınızı yapabilirsiniz.
Yardım ve sorularınız için çekinmeden mesaj atabilirsiniz.
Bugün sizlere yüz tanıma sistemiyle alakalı bilgi vereceğim.
Yüz tanıma projemiz için OpenCV (açık kaynaklı görsel kütüphane) kullandım.
Projemize bu kütüphaneyi eklemek için ;
Kod:
import cv2
OpenCV'de Algoritmalar:
EigenFaces
FisherFaces
Local Binary Patterns Histograms
şeklindedir.Kullandığımız diğer modül face_recognition.Bu modülü kolaylıkla projemize ekleyebiliriz.
Projeyi eklemek için :
Kod:
import face_recognition
Yüz Tanıma Algoritmaları :
Resimlerdeki yüzleri bulma
Resimlerdeki yüz özelliklerini bulma ve değiştirme
Dijital Makyaj
Resimlerdeki yüzleri tanımlama
Gerçek zamanlı yüz tanıma
Proje için ayrıca real-time face recognition algoritması kullanmıştır. Proje başlatıldığında, komut satırına yazdırır ve kişiyi görünüp görünmediğini bildirir ve ona yönlendirme yapar.Artısında tasarım yapmak size kalmış.:hosnut
Proje başlatıldığında kamera açılır ve kişi görünene kadar tarama yapar.Bu algoritma pythonda tkinter kütüphanesi ile yazılmıştır fakat işlem hızlılığı açısından ve ana algoritmayı çözmek açısından bu kütüphaneyi ve tkinter kütüphanesinin işlemlerini ben kaldırdım ve tüm işlemleri konsola yönlendirdim.
sizlere kodlamasını göstereyim :
Kod:
import PIL.Image
import PIL.ImageTk
import face_recognition
import cv2
import os
import threading
import sys
import time
import numpy
video_capture = cv2.VideoCapture(0)
known_face_encodings = []
known_face_names = []
global camera_is_open
def trainFaces():
print("---- Training Başladı ----")
for root, dirs, files in os.walk("./faces"):
for filename in files:
file_result = filename.split("_")
known_face_names.append(file_result[0])
image = face_recognition.load_image_file("faces/"+filename)
image_face_encoding = face_recognition.face_encodings(image)[0]
known_face_encodings.append(image_face_encoding)
print("Name: " + file_result[0])
print("---- Training Bitti ----")
def faceRecognitionFromPicture():
ret, frame = video_capture.read()
cvframe = frame
#print("---- Recognized Started ----") sürekli yazdırır konsola.
small_frame = cv2.resize(cvframe, (0, 0), fx=0.25, fy=0.25)
small_rgb_frame = small_frame[:, :, ::-1]
face_locatîons = face_recognition.face_ʟᴏᴄᴀᴛɪᴏɴs(small_rgb_frame)
face_encodings = face_recognition.face_encodings(small_rgb_frame, face_ʟᴏᴄᴀᴛɪᴏɴs)
face_names = []
for face_encoding in face_encodings:
matches = face_recognition.compare_faces(known_face_encodings, face_encoding)
first_match_index = matches.index(True)
name = known_face_names[first_match_index]
face_names.append(name)
if name.__contains__('.png'):
return name
else:
return 'none'
faceNames = ''.join(face_names)
count = str(len(face_locatîons))
locatîons = ','.join([str(i) for i in face_locatîons])
def openCamera():
camera_is_open = False
if camera_is_open == False:
camera_is_open = True
print("Kamera açıldı...")
videoThread = threading.Thread(target=processCamera, args=())
videoThread.start()
def processCamera():
camera_is_open = True
while camera_is_open:
yuz_adi = faceRecognitionFromPicture()
if yuz_adi in known_face_names :
print("yüz tanindi")
camera_is_open = False
else:
print("yüz taninmadi")
faceRecognitionFromPicture()
print('bitti')
trainFaces()
openCamera()
camera_is_open = False
Bu şekilde konsoldan yüz tanıma algoritmamızı çalıştırmış olduk.İsterseniz tekrar tkinter kütüphanemizi projeye kurup gerekli çalışmalarınızı yapabilirsiniz.
Yardım ve sorularınız için çekinmeden mesaj atabilirsiniz.
Moderatör tarafında düzenlendi: