Обнаружение лиц — это технология обнаружения лиц людей в цифровых медиа. Эта статья поможет вам начать работу с Kaggle, используя библиотеку openCV (компьютерное зрение с открытым исходным кодом) в python.
Что такое Каггл?
Kaggle часто называют AirBnB для специалистов по данным.
Если вы заинтересованы в машинном обучении и хотите учиться, опробовав некоторые из доступных алгоритмов и библиотек, то Kaggle — это то, с чего стоит начать.
Это бесплатная среда Jupyter Notebook с многочисленными наборами данных и кодами машинного обучения для игры.
Как выполняется распознавание лиц с помощью OpenCV?
Давайте рассмотрим код, выполняющий обнаружение лиц с помощью OpenCV.
Импортируйте все необходимые библиотеки для распознавания лиц
import cv2 import sys import matplotlib.pyplot as plt
Настройте путь к обнаруживаемому изображению вместе с каскадным путем к файлу xml, который является частью библиотеки openCV
imagePath = "/kaggle/input/mygithubrepo/girl1.jpg" cascPath = "/kaggle/input/mygithubrepo/haarcascade_frontalface_default.xml"
Инициализируйте переменную faceCascade с помощью XML-файла openCV, необходимого для обнаружения лиц спереди
faceCascade = cv2.CascadeClassifier(cascPath)
Чтение изображения и преобразование в оттенки серого
image = cv2.imread(imagePath) gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
Обнаружение лиц с помощью detectMultiScale из библиотеки openCV
faces = faceCascade.detectMultiScale( gray, scaleFactor=1.1, minNeighbors=5, minSize=(30, 30), flags = cv2.CASCADE_SCALE_IMAGE )
Постройте изображения с обнаруженным лицом в форме прямоугольника
print ("Found {0} faces!".format(len(faces))) # Draw a rectangle around the faces for (x, y, w, h) in faces: cv2.rectangle(image, (x, y), (x+w, y+h), (0, 255, 0), 2) #cv2.imshow("Faces found", image) plt.imshow(image, cmap = 'gray', interpolation = 'bicubic') plt.xticks([]), plt.yticks([]) # to hide tick values on X and Y axis plt.show()
cv2.imshow() не работает в Kaggle. Следовательно, он заменен на plt.show()
Как запустить распознавание лиц в Kaggle?
Шаг 1: Войдите в Kaggle
Если вы впервые регистрируетесь в kaggle, обновите свою биографию, как показано ниже.
Шаг 2. Нажмите «Код», а затем «Новый блокнот».
Kaggle Notebook открывается со следующим предварительно заполненным кодом
Шаг 3: Нажмите «Добавить данные», чтобы загрузить наборы данных (в данном случае это будет изображение)
Шаг 4: Нажмите «Загрузить», чтобы загрузить наборы данных из github, которые содержат файл изображения.
Шаг 5: Выберите значок github (3-й значок), введите URL-адрес github и нажмите кнопку «Создать».
Раздел ввода будет отражать ваше недавнее добавление набора данных, как показано на снимке экрана ниже.
Шаг 6. Введите код распознавания лиц в Kaggle, нажав кнопку +, чтобы добавить код.
Шаг 7. Используйте приведенную ниже ссылку на репозиторий github, чтобы заполнить раздел кода в блокноте Kaggle.
Шаг 8: Запустите код
Вы можете запустить каждый сегмент кода по одному, нажав кнопку запуска (треугольник) сбоку от сегмента кода.
Вы также можете запустить весь код, нажав кнопку «запустить все» в верхней части кода.
Нажатие кнопки запуска запустит код для обнаружения лиц из файла изображения.
Убедитесь, что ниже 2 записей (раздел кода Kaggle и имя набора входных данных) совпадают, чтобы распознавание лиц работало в kaggle.
imagePath = "/kaggle/input/mygithubrepo/girl1.jpg" cascPath = "/kaggle/input/mygithubrepo/haarcascade_frontalface_default.xml"