Обнаружение лиц — это технология обнаружения лиц людей в цифровых медиа. Эта статья поможет вам начать работу с 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"

Запустите Kaggling и начните свое путешествие по науке о данных !!!

Подпишитесь на нас, чтобы узнать больше о машинном обучении и решениях для многократных операций

LinkedIn

Предера