Как сделать систему распознавания лица которая будит работать с точностью 98%?
Попробуем!
Технология распознавания лица это новая эра в системах видеонаблюдения и контроля доступа.
Давайте попробуем написать небольшую программу которая будет распознавать ваше лицо.
Для этого нам понадобиться :
1. Операционная система Ubuntu (можно Windows установив программу Anaconda)
2. Python 3
3. Библиотека Opencv
4. Установка face_recognition API
Установка
Для начала нам нужно установить python (скачать с официального сайта python.org) так как именно на нем мы будем писать код.
Установка Opencv
Opencv – библиотека компьютерного зрения , обработки изображений с открытым исходным кодом
Установку Opencv производим с помощью команды pip (открыв терминал):
pip3 install opencv-python
Установка face_recognition API
Face_recognition API- самое популярное API для распознавания лиц
pip3 install dlib
pip3 install face_recognition
Пишем код:
Создайте файл face.py и затем скопируйте приведенный ниже код:
import os
import cv2
import face_recognition
def load(file_path):
return face_recognition.load_image_file(file_path)
def encode(image):
return face_recognition.face_encodings(image)[0]
known_face_encodings = []
known_face_names = []
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
image_dir = os.path.join(BASE_DIR, "images")
for root, dirs, files in os.walk(image_dir):
for file in files:
if file.endswith("jpeg") or file.endswith("png") or file.endswith("jpg"):
path = os.path.join(root, file)
label = os.path.basename(os.path.dirname(path))
known_face_encodings.append(encode(load(path)))
known_face_names.append(label)
face_locations = []
face_encodings = []
face_names = []
process_frame = True
cap = cv2.VideoCapture(0)
while True:
ret, frame = cap.read()
process_frame = True
resized_small_frame = cv2.resize(frame, (0, 0), fx=0.25, fy=0.25) # Making frame 1/4 of original, faster processing
rgb_small_frame = resized_small_frame[:, :, ::-1] # Converting BGR to RGB
if process_frame:
face_locations = face_recognition.face_locations(rgb_small_frame)
face_encodings = face_recognition.face_encodings(rgb_small_frame, face_locations)
face_names = []
for face_encoding in face_encodings:
matches = face_recognition.compare_faces(known_face_encodings, face_encoding)
name = "Unknown"
if True in matches:
first_match_index = matches.index(True)
name = known_face_names[first_match_index]
face_names.append(name)
process_frame = not process_frame
for (top, right, bottom, left), name in zip(face_locations, face_names):
top *= 4
right *= 4
bottom *= 4
left *= 4
cv2.rectangle(frame, (left, top), (right, bottom), (0, 0, 255), 2)
cv2.rectangle(frame, (left, bottom - 35), (right, bottom), (0, 0, 255), cv2.FILLED)
font = cv2.FONT_HERSHEY_DUPLEX
cv2.putText(frame, name, (left + 6, bottom - 6), font, 1.0, (255, 255, 255), 1)
cv2.imshow('Face Recognition', frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
В файл где храниться созданный файл нужно создать папку images, а в ней папку с вашим именем и поместить туда вашу фотографию
Гость 687, Приставы в своем праве - на это есть закон 118-ФЗ и закон об исполнительном производстве №229
Вслед за елабужскими обманывать должников научились и челнинские приставы сегодня в 09:49Гость 655, мышцы без мозгов, тоже не лучший вариант. Мужики которые готовы убивать ради каких-то убеждений, идей - это фанатики... либо преступники. Таких мужиков в тюрьме полно...
Ильшату Гафурову сократили срок на четыре года сегодня в 09:32Гость 574, женщину в Елабуге увезли вместо ресторана как я понимаю без совершенно в другое место без её согласия. Соответственно это квалифицируется как похищение. По пробуйте кого ни будь также увезти без его согласия к себе домой или в карьер... Так что похищение, к тому же сотрудник себя выдавал за другого человека, женщина не знала с кем она общается, а это тянет на обман в лучшем случае. Я не думаю, что в их должностных инструкциях вся это дичь прописана. И давайте гаишники будут одеваться по гражданке одеваться на машинах без опознавательных знаков будут штрафовать нарушителей. Или полицейский на улице не будет представляться когда к обращается к гражданину.
Вслед за елабужскими обманывать должников научились и челнинские приставы сегодня в 09:00пока лично каждого не коснется что к людям научились залезать в мозги и психику будут находить тысячи лазеек те кто это делает это происходит уже давно и не какой реакции не от правоохранителей не от депутатов вчера показывали профессор МГУ покончил жизнь из за того что отняли квартиры не думаю что он был идиот или алкоголик
Верховный суд РФ отменил все решения по «делу Долиной», певицу выселят из проданной квартиры сегодня в 08:30
Гость 653
31 янв 2023 в 15:26
всё хорошо до тех пор, пока у нас не появляется 100 или миллион лиц. в такой ситуации face_recognition будет обрабатывать от нескольких минут до суток
Гость 784
01 фев 2023 в 11:37
Без ошибок сначала бы писать научились! Для начала как пишется тся и ться!
У вас есть тема? Вы находитесь на месте событий? Напишите нам!