Простой код из простых шифров
Вы хотите узнать о реализации распознавания лиц в реальном времени?
Здесь eazy ciphers предлагает инновационный и простой способ запуска простого кода распознавания лиц в реальном времени, с помощью которого вы можете предсказать лицо человека.
Когда я говорю о реальном времени, вы можете запутаться в том, что я собираюсь здесь обсуждать, это не что иное, как реализация модели, которая обнаруживает лица, которые появляются на веб-камере.
Если вы хотите получить практический опыт работы с этой моделью, сделайте шаг вперед в ее реализации.
В повседневной жизни распознавание лиц стало частью повседневной жизни. Итак, перед тем, как перейти к теме, вот краткий пример распознавания лиц в реальном времени.
Когда вы начинаете регистрировать свое лицо для смарт-замка на своем телефоне, планшете или ноутбуке, он запрашивает изображение человека в режиме реального времени для захвата, и оно сохраняется в базе данных для дальнейших уточнений при распознавании этого конкретного человека.
Этот процесс подхода осуществляется с помощью многих итеративных способов прогнозирования с использованием входного изображения. Точно так же распознавание лиц в реальном времени работает с реализацией python фреймворка OpenCV.
Все вместе они собраны в один комбо-уровень для реализации модели для целей реального времени.
Распознавание лица:
«Распознавание лиц» само название дает вам исчерпывающее определение того, что оно означает. Хорошо! Если говорить о нем, то распознавание лиц - это технический процесс выполнения при идентификации или обнаружении лица человека с помощью цифрового носителя в качестве входных данных.
Всегда точность распознавания лиц обеспечивает высокое качество вывода, а не игнорирует факторы проблемы, которые на него влияют. Здесь, чтобы убедиться, что наша модель запускается, вам необходимо убедиться, что библиотека установлена в вашей локальной системе.
pip install face_recognition
Если вы столкнулись с какой-либо ошибкой или недоразумением в процессе установки библиотеки face_recognition, щелкните здесь, чтобы исправить ошибки, выполнив простую справочную процедуру.
Само по себе распознавание лиц не может дать четких результатов, поэтому на сцену вышла концепция реализации OpenCV.
OpenCV:
OpenCV - известная библиотека на Python для реализации приложений реального времени. В этом компьютерном мире он действует как корень дерева.
OpenCV в face_recognition делает кластер и извлечение функций из изображения лица, которое мы обучаем в качестве входных данных. Он нацеливается на ориентир на изображении, итеративно обучает их в рамках метода глубокого обучения компьютерного зрения.
Установка OpenCV в вашу локальную систему
pip install opencv-python
Обнаружение OpenCV работает как представление кластеризации, обнаружения сходства и классификации изображений с использованием алгоритмов глубокого обучения.
Почему мы используем OpenCV в качестве ключевого инструмента Face_Recognition в реальном времени?
Люди могут легко распознавать лица, но как научить машину распознавать лица? OpenCV пришел, чтобы заполнить пробел между людьми и компьютерами, и стал образцом для компьютера.
Взяв пример в реальном времени, когда человек встречает новых людей, он запоминает лица этих людей для идентификации в будущих случаях. Мозг человека итеративно тренирует лицо человека в бэкэнде. Поэтому, когда он видит лицо этого человека, он говорит: «Привет, Джон! Как дела?".
Эта идентификация и распознавание лица итеративно дает возможность компьютеру думать так же, как человек.
Важным инструментом компьютерного зрения является OpenCV. Если мы используем OpenCV, он выполняет следующие шаги:
- Извлечение данных через ввод.
- Определите лицо на изображении.
- Извлеките уникальные характеристики, которые формируют представление о прогнозе.
- Различение персонажей в этом конкретном человеке, таких как нос, рот, уши, глаза и доминирующие черты лица.
- Сравнение лиц в режиме распознавания лиц.
- Окончательный результат лица распознанного человека.
Face_Recognition с OpenCV python:
Код, отображаемый здесь, также можно загрузить из нашего репозитория GitHub для вашего удобства.
Импортируем все пакеты:
import face_recognition import cv2 import numpy as np
Загрузите и тренируйте с изображением:
# Load a sample picture and learn how to recognize it. Jithendra_image = face_recognition.load_image_file("jithendra.jpg") Jithendra_face_encoding = face_recognition.face_encodings(Jithendra_image)[0] # Load a sample picture and learn how to recognize it. Modi_image = face_recognition.load_image_file("Modi.jpg") Modi_face_encoding = face_recognition.face_encodings(Modi_image)[0]
Кодировки лиц:
# Create arrays of known face encodings and their names known_face_encodings = [ Jithendra_face_encoding, Modi_face_encoding, ] known_face_names = [ "Jithendra", "Modi" ]
Основной метод:
Когда идентификация лица в реальном времени верна, он обнаруживает лицо и выполняет следующие шаги в коде:
- Захватите один кадр в видео в реальном времени.
- Преобразуйте изображение из цвета BGR (который использует OpenCV) в цвет RGB (который использует face_recognition)
- Найдите все лица и их кодировки в кадре видео в реальном времени.
- Прокрутите каждое лицо в этом кадре видео и проверьте, совпадает ли лицо с существующим или нет.
- Если лицо не распознается среди существующих лиц, выводится как неизвестное или неизвестное.
- В противном случае нарисуйте рамку вокруг идентифицированного лица после распознавания.
- Назовите идентифицированное лицо его именем.
- Показать получившееся изображение после распознавания.
while True: ret, frame = video_capture.read() rgb_frame = frame[:, :, ::-1] face_locations = face_recognition.face_locations(rgb_frame) face_encodings = face_recognition.face_encodings(rgb_frame, face_locations) for (top, right, bottom, left), face_encoding in zip(face_locations, face_encodings): # See if the face is a match for the known face(s) matches = face_recognition.compare_faces(known_face_encodings, face_encoding) name = "Unknown" # If a match was found in known_face_encodings, just use the first one. face_distances = face_recognition.face_distance(known_face_encodings, face_encoding) best_match_index = np.argmin(face_distances) if matches[best_match_index]: name = known_face_names[best_match_index] # Draw a box around the face cv2.rectangle(frame, (left, top), (right, bottom), (0, 0, 255), 2) # Draw a label with a name below the face 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) # Display the resulting image cv2.imshow('Video', frame)
Покидать:
# Hit 'q' on the keyboard to quit! if cv2.waitKey(1) & 0xFF == ord('q'): break
Отпустите ручку веб-камеры:
# Release handle to the webcam video_capture.release() cv2.destroyAllWindows()
Входы и выходы:
Примеры входных данных, которые были предоставлены модели в процессе обучения….
Вход:
Выход:
Наша учетная запись GitHub для справки при обработке кода: https://github.com/eazyciphers/deep-machine-learning-tutors