Андрей Смирнов
Время чтения: ~18 мин.
Просмотров: 67

Машинное зрение на Python. Обучаем нейросеть распознавать цифры

Распознавание объектов на Python / Глубокое машинное обучение

Python является одним из самых перспективных языков, позволяющий воплощать искусственный интеллект в жизнь. В уроке мы создадим распознавание объектов при помощи Python и ImageAI.

Одна из самых перспективных наук о компьютерах и программах – компьютерное зрение. Его смысл заключается в способности ПК к распознанию и определению сути картинки. Это важнейшая область в искусственном интеллекте, включающая сразу несколько действий: распознание содержимого фотографии, определение предмета и его классификация или генерация. Поиск объектов на картинке, скорее всего, является важнейшей областью компьютерного зрения.

Определение вещей или живых существ на фотографии активно используется в следующих сферах:

  • Поиск автомобилей;
  • Система распознания людей;
  • Поиск и подсчёт количества пешеходов;
  • Усиление системы безопасности;
  • Создание беспилотных автомобилей и т. д.

Сегодня удалось разработать много методов для поиска объектов, которые применяются в зависимости от целевой области. В этой сфере, как и в других направлениях использования ИТ-технологий, многое напрямую зависит от программиста. Это отличный инструмент для творчества, с которым «творение» может получить собственный ум. Как использовать интеллект программы уже зависит от творческого мышления разработчика.

1551167480.jpg

Технология действительно перевернула представление об искусственном интеллекте. В дальнейшем она стала основой для следующих методов R-CNN, Fast-RCNN, Faster-RCNN, RetinaNet. Среди них и высокоточные, быстрые методы — SSD и YOLO. Для применения перечисленных алгоритмов, в основе которых глубокое обучение, требуется наличие глубоких познаний в математике и доскональное понимание фреймворков.

Начнем

Рассмотрение советов следует начинать с функциональной библиотеки , написанной на Python. Данный фреймворков позволяет с лёгкостью интегрировать инновационные достижения в сфере компьютерного зрения в уже разработанные или новые программы.

Установка Python

Без инсталляции Python 3 здесь не обойтись. Нужно всего лишь загрузить файл с и запустить процесс установки.

Создание зависимостей

Сейчас самое время для того, чтобы посредством pip установить зависимости. Принцип создания команды прост: pip install и название библиотеки (основные фреймворки описаны в списке ниже). Как это выглядит:

pip install tensorflow # устанавливает программную среду Tensorflow.

Какие фреймворки нужно добавить:

  • Numpy;
  • SciPy;
  • OpenCV (opencv-python);
  • Pillow;
  • Matplotlib;
  • H5py;
  • Keras;
  • ImageAI ().

Просмотреть все фреймворки и команды для их установки вы можете на официальном сайте с .

1551167282.png

Retina Net

Теперь стоит скачать для модели Retina Net. Он участвует в процессе идентификации объектов на изображениях.

Как только зависимости установлены, уже есть возможность написать первые строки кода для вычисления предметов на картинках. Следует создать файл FirstDetection с расширением .py. В созданный файл следует вставить код из следующего раздела. Ещё нужно скопировать файл из модели Retina и добавить картинку для обработки в папку с файлом Python.

Тестирование

Создайте файл и разместите в нем следующий код:

from imageai.Detection import ObjectDetection import os  exec_path = os.getcwd()  detector = ObjectDetection() detector.setModelTypeAsRetinaNet() detector.setModelPath(os.path.join( exec_path, "resnet50_coco_best_v2.0.1.h5") ) detector.loadModel()  list = detector.detectObjectsFromImage( input_image=os.path.join(exec_path, "objects.jpg"), output_image_path=os.path.join(exec_path, "new_objects.jpg"), minimum_percentage_probability=90, display_percentage_probability=True, display_object_name=False )

Осталось запустить код и ожидать появление результатов работы в консоли. Дальше следует пройти в каталог, где установлен файл FirstDetection.py. Здесь же должна появиться новая фотография или несколько. Чтобы лучше понимать, что произошло, следует открыть изначальную и новую картинку.

Время рассмотреть принцип работы кода:

from imageai.Detection import ObjectDetection import os  exec_path = os.getcwd()

Описание строк:

  • 1 строка: перенос ImageAI и класса для поиска предмета;
  • 2 строка: импорт Python os;
  • 4 строка: создание переменной, в которой указывается путь к директории с файлом Python, RetinaNet, моделью и образом.
detector = ObjectDetection() detector.setModelTypeAsRetinaNet() detector.setModelPath(os.path.join( exec_path, "resnet50_coco_best_v2.0.1.h5") ) detector.loadModel()  list = detector.detectObjectsFromImage( input_image=os.path.join(exec_path, "objects.jpg"), output_image_path=os.path.join(exec_path, "new_objects.jpg"), minimum_percentage_probability=90, display_percentage_probability=True, display_object_name=False )

Описание строк:

  • 1 строка: объявление нового класса для поиска объектов;
  • 2 строка: установка типа модели RetinaNet;
  • 3 строка: указание пути к модели RetinaNet;
  • 6 строка: загрузка модели внутрь класса для поиска;
  • 8 строка: вызов функции обнаружения (распознавания объектов) и запуск парсинга пути начального и конечного изображений.

ImageAI имеет поддержку массы различных настроек для поиска объектов. Например, можно настроить извлечение всех найденных объектов во время обработки картинки. Класс поиска способен создать отдельную папку с названием image, а затем извлечь, сохранить и вернуть массив с путём ко всем объектам.

list, extracted_images = detector.detectObjectsFromImage (input_image=os.path.join(execution_path , "objects.jpg"),  output_image_path=os.path.join(execution_path , "new_objects.jpg"),  extract_detected_objects=True)

Видео обзор

Для более детального рассмотрения библиотеки советуем просмотреть видео обзор этой библиотеки. В ходе видео будет показано не только распознавание объектов на фото, но также вы узнаете про рассмотрение объектов на видео.

Ссылки из видео:

  1. Установка ;
  2. Установка ; 
  3. Редактор ;
  4. Большой курс по ;
  5. ;
  6. ImageAI .

В ходе урока было создано распознавание объектов на видео. Код приведен ниже: 

from imageai.Detection import VideoObjectDetection import os  execution_path = os.getcwd()  detector = VideoObjectDetection() detector.setModelTypeAsYOLOv3() detector.setModelPath( os.path.join(execution_path , "yolo.h5")) detector.loadModel()  video_path = detector.detectObjectsFromVideo( input_file_path=os.path.join(execution_path, "traffic.mp4"), output_file_path=os.path.join(execution_path, "traffic_detected"), frames_per_second=20, log_progress=True )  print(video_path)

Заключение

В конце советов по глубокому изучению следует добавить небольшую выборку из самых полезных функций ImageAI, ведь её возможности выходят далеко за пределы обычного обнаружения объектов:

  • Установка порога минимальной вероятности: стандартные настройки исключают из выборки все объекты с вероятностью до 50%. Они даже не записываются в лог. При желании можно изменить в большую или меньшую сторону вероятности для определённых случаев;
  • Особые настройки обнаружения: с помощью класса CustomObject, есть возможность попросить приложение передавать информацию об определении некоторых уникальных объектов;
  • Скорость поиска: существует возможность вручную снизить время, которое затрачивает приложение для сканирования фотографии. Есть 3 режима работы: fast, faster, fastest;
  • Входящие типы: поддерживает указание в качесиве пути картинке – Numpy-массива, а также файлового потока;
  • Выходные типы: можно установить, чтобы функция detectObjectsFromImage возвращала картинки файлом или массивом Numpy.

Конечно, охватить всё компьютерное зрение нереально даже за целую книгу, но основные понятия, надеемся, мы смогли донести.

Больше интересных новостей

1561198705.jpgПочему Python – лучший выбор для машинного обученияЛучшие AR-приложения, которые уже есть на рынкеВведение в регулярные выражения JavaScript Как работает искусственный интеллект в играх?Reading Time: 5minutes

Когда я начинал изучение компьютерного зрения, я работал в банке и писал программы на C#. Как оказалось, C# хорошо подходит для написания бизнес-логики, сайтов и больших систем BI, но для машинного обучения и обработки изображений он подходит гораздо хуже. Дело не в синтаксисе и не в возможностях языка, а в малом количестве библиотек для обработки данных. На помощь приходит Python, с его практически всеохватывающим PIP и сильным коммьюнити в области DataScience и CV. Первые месяцы прошли в выборе набора библиотек для работы, как же я тогда хотел найти хороший список совместно работающих плагинов и заняться уже решением задач.

Этот список не претендует на законченность и правильность. Я перечислил библиотеки, которые я использую почти каждый день для решения задач по DataScience и компьютерному зрению. У каждой библиотеки будет описание для чего она используется и как ее установить. Если вы можете посоветовать как расширить этот список или заменить что то из него на более новое — пишите в комментарии или на почту. Пользователи Anaconda, для вас этот список — лишь малая часть того, что есть в этом замечательном пакете.

Базовые:

1. NumPy

NumPy это больше чем просто библиотека для Python, мало какие плагины для обработки данных могут обойтись без нее. NumPy позволяет быстро и удобно работать с такими структурами данных как большие многомерные массивы. В чем отличие их от встроенных массивов в Python, как в форме List, так и из библиотеки collections?  NumPy написать на быстром коде C++ и все операции с массивами уже содержат максимально оптимизированный код, ускорение в сравнении со стандартными библиотеками может составлять сотни раз!  Как данные возможности помогают при обработке изображений? Для примера рассмотрим стандартное изображение Лены(цензурное). В представлении NumPy оно будет представлять из себя массив 512 × 512 × 4  значений в формате RGB, где каждое число представляет из себя R G B A значение пикселя. Все значения находятся в промежутке <= value <= 255, так как изображения представлено в 32 битном цвете. С полученным массивом мы можем совершить все матричные преобразования, с максимально эффективной реализацией, такие как афинные преобразования, размытия, повышения резкости и прочее. Устанавливается NumPy очень просто через менеджер пакетов pip: pip install numpy. В случае установки на слабые системы, такие как Raspberry Pi можно во время установки успеть поставить и заварить чай, компилироваться пакет будет долго.

2. Matplotlib

Matplotlib это настоящий комбайн для отображения данных. В работе обычно используются только самые простые его методы: отрисовать график или изображение, построить гистограмму и разместить элементы на графике, такие как шкалы и пояснения. Работать с Matplotlib стоит хотя бы потому, что он делает красивые и наглядные графики, которые являются стандартом в научных статьях. Устанавливается библиотека через менеджер pip командой: pip install matplotlib. Подтягивает за собой множество зависимостей, поэтому не пугайтесь, если он установит что то еще.

3. IPython Jupyter

Если вы до сих пор не пробовали IPython Jupyter Notebook, самое время это сделать. Настолько удобная среда программирования для Python, что из нее буквально не хочется выходить. Ее основные цели — быстро, красиво, просто. Установка происходит через менеджер пакетов pip: pip install jupyter. Далее следует запустить ее командой jupyter notebook, и зайти на созданный сервер. Программирование происходит внутри ячеек, которые могут содержать произвольное количество команд. Графики можно рисовать в Matplotlib, предварительно написав одну из «магических команд» %matplotlib inline. Весь код можно сохранять на жесткий диск в формате .ipynb, либо конвертировать в html.

4. Pillow

Если вы не хотите заморачиваться с установкой и разбором OpenCV, Pillow -лучший вариант для побаловаться. Он имеет в себе методы для открытие различных форматов изображений, их сохранения, изменения размеров, поворотов и т.д. Pillow используется в таких фреймворках как Django, где он замечательно справляется. Но если вы хотите хорошо разобраться в компьютерном зрении — лучше начинайте сразу с OpenCV. Pillow устанавливается через менеджер пакетов pip командой: pip install Pillow.

Продвинутые:

5. OpenCV

OpenCV по сути стандарт в области обработки изображений и компьютерного зрения. Данная библиотека изначально разрабатывалась для обработки визуальных данных в реальном времени. Это открытая библиотека, вы можете увидеть ее исходный код, скачав его с сайта, и даже поучаствовать в его дальнейшем развитии. Она была впервые опубликована в 1999 году. В 2009 году была выпущена версия 2.0 с поддержкой NumPy, что позволило значительно ускорить ее работу. Начиная с версии 3.0 в ней появилось разделение на запатентованный код, в модуле opencv_contrib, и основной. Весь код на сайте будет написан с использованием версии 3.2 или новее. Устанавливается данная библиотека уже не так просто, как предыдущие, и в лучшем варианте ее надо будет компилировать на своей системе. Но не бойтесь, в следующем посте я подробно расскажу как это сделать.

6. SciPy

Рассказав про библиотеку NumPy, нельзя не рассказать по пакет SciPy. Данный пакет расширяет возможности работы с векторами и матрицами. Устанавливается через менеджер pip командой: pip install scipy. Данная библиотека содержит такие модули как физические константы, преобразования Фурье, интегрирование и интерполяции, линейная алгебра, статистика. В общем, если вы делаете что то связанное с физикой или математикой — этот пакет на 95% покроет ваши требования.

7. scikit-learn

Начиная с этой библиотеки — все будет связано с машинным обучением. Тут уж ничего не поделаешь, если ты хочешь не только повернуть и уменьшить картинку, но и понять что на ней находится, ты попадаешь на территорию ML.  Scikit-learn это самый легкий способ начать свое знакомство с этой областью. Данная библиотека содержит различные реализации методов кластеризации, классификации и других. Устанавливается через менеджер пакетов pip командой: pip install scikit-learn.

Бонус. Джедай уровень:

8. Tensor-flow

Данная библиотека разработка Google и она используется в текущих проектах компании, таких как Photos, Inbox, Translate, Assistant. Плюс она имеет открытый исходный код и может запускаться даже на смартфонах. В чем же подвох? Для ее изучения, а не просто запуска демок, придется понять хотя бы теорию нейронных сетей, глубоких нейронных сетей. На самом деле, после получения базовых знаний работать с ней приятно а ее скорость и гибкость вас приятно удивят. Устанавливается она через менеджер пакетов pip командой: pip install tensorflow. Она умеет работать с GPU. Очень быстро работать.

9. Caffe

Caffe разработана в институте Беркли, США. Основной ее целью было создать инструмент для анализа мультимедийных данных с открытым исходным кодом который будет ориентирован на коммерческое применение. Вся библиотека написана на C++, в своей работе опирается на обработку данных графическим чипом, полностью поддерживает написание пользовательских алгоритмов на Python/NumPy, а также совместим с MATLAB. Для данной библиотеки есть множество уже готовых алгоритмов и вы можете написать к ней свой. Устанавливается Caffe компиляцией их исходных кодов. Я напишу отдельный пост про это, но имейте ввиду, данный процесс не быстрый и лучше заложить на него несколько часов.

10. CatBoost

CatBoost отличается от Tensor-Flow и Caffe тем, что она реализует механизм глубокого обучения через градиентный бустинг, в отличии от нейронных сетей. Библиотека разработана и написана в Яндексе, поддерживает работу из Python и R, имеет открытый исходный код. Рекомендуется к изучению уже потому, что умеет хорошо находить котиков. Устанавливается через менеджер пакетов pip командой: pip install catboost.

Итог:

В данный момент Python имеет множество превосходных пакетов для обработки изображений. Почти все они основываются на представлении данных в виде многомерного массива NumPy, поэтому данный пакет является практически обязательным для установки. Если вы будете проводить только первичную обработку изображений, например для сайта или проекта не связанного с распознаванием, вы можете ограничиться набором Pillow Numpy, matplotlib и IPython. Если же вы всерьез намерены изучить машинное зрение — рекомендую установить все 7 перечисленных библиотек и научиться пользоваться этим прекрасным набором инструментов. Успехов в коде и решении задач!

Компьютерное зрение связано с моделированием и копированием человеческого зрения с использованием компьютерного программного и аппаратного обеспечения. В этой главе вы узнаете подробно об этом.

Компьютерное зрение

Компьютерное зрение – это дисциплина, которая изучает, как реконструировать, прерывать и понимать трехмерную сцену по ее 2-мерным изображениям с точки зрения свойств структуры, присутствующей в сцене.

Иерархия компьютерного зрения

Компьютерное зрение делится на три основные категории следующим образом:

  • Низкоуровневое зрение – включает изображение процесса для извлечения объектов.

  • Видение промежуточного уровня – включает распознавание объектов и интерпретацию трехмерных сцен

  • Видение высокого уровня – включает концептуальное описание сцены, такой как активность, намерение и поведение.

Низкоуровневое зрение – включает изображение процесса для извлечения объектов.

Видение промежуточного уровня – включает распознавание объектов и интерпретацию трехмерных сцен

Видение высокого уровня – включает концептуальное описание сцены, такой как активность, намерение и поведение.

Computer Vision Vs Обработка изображений

Обработка изображений изучает преобразование изображения в изображение. Вход и выход обработки изображения оба изображения.

Компьютерное зрение – это построение явных, значимых описаний физических объектов по их изображению. Результатом компьютерного зрения является описание или интерпретация структур в трехмерной сцене.

Приложения

Компьютерное зрение находит применение в следующих областях –

робототехника

  • Локализация – определить местоположение робота автоматически

  • навигация

  • Избегание препятствий

  • Сборка (колышек, сварка, покраска)

  • Манипуляции (например, робот-манипулятор PUMA)

  • Human Robot Interaction (HRI): интеллектуальная робототехника для взаимодействия и обслуживания людей

Локализация – определить местоположение робота автоматически

навигация

Избегание препятствий

Сборка (колышек, сварка, покраска)

Манипуляции (например, робот-манипулятор PUMA)

Human Robot Interaction (HRI): интеллектуальная робототехника для взаимодействия и обслуживания людей

Лекарственное средство

  • Классификация и обнаружение (например, классификация повреждения или клеток и обнаружение опухоли)

  • 2D / 3D сегментация

  • 3D реконструкция человеческого органа (МРТ или УЗИ)

  • Визуальная робототехника

Классификация и обнаружение (например, классификация повреждения или клеток и обнаружение опухоли)

2D / 3D сегментация

3D реконструкция человеческого органа (МРТ или УЗИ)

Визуальная робототехника

Безопасность

  • Биометрия (радужная оболочка, отпечаток пальца, распознавание лица)
  • Наблюдение – обнаружение определенных подозрительных действий или поведения

Транспорт

  • Автономное транспортное средство
  • Безопасность, например, мониторинг бдительности водителя

Применение промышленной автоматизации

  • Промышленный контроль (обнаружение дефектов)
  • сборочный
  • Считывание штрих-кода и этикетки на упаковке
  • Сортировка объектов
  • Понимание документа (например, OCR)

Установка полезных пакетов

Для компьютерного зрения с Python вы можете использовать популярную библиотеку OpenCV (Open Source Computer Vision). Это библиотека функций программирования, в основном предназначенная для компьютерного зрения в реальном времени. Он написан на C ++, а его основной интерфейс – на C ++. Вы можете установить этот пакет с помощью следующей команды –

pip install opencv_python-X.X-cp36-cp36m-winX.whl 

Здесь X представляет версию Python, установленную на вашем компьютере, а также win32 или 64-битную версию, которую вы используете.

Если вы используете среду anaconda , используйте следующую команду для установки OpenCV:

conda install -c conda-forge opencv 

Чтение, запись и отображение изображения

Большинство приложений CV должны получать изображения в качестве входных данных и выводить изображения в качестве выходных. В этом разделе вы узнаете, как читать и писать файл изображения с помощью функций, предоставляемых OpenCV.

Функции OpenCV для чтения, отображения, записи файла изображения

OpenCV предоставляет следующие функции для этой цели –

  • Функция imread () – это функция для чтения изображения. OpenCV imread () поддерживает различные форматы изображений, такие как PNG, JPEG, JPG, TIFF и т. Д.

  • Функция imshow () – это функция для отображения изображения в окне. Окно автоматически подгоняется под размер изображения. OpenCV imshow () поддерживает различные форматы изображений, такие как PNG, JPEG, JPG, TIFF и т. Д.

  • Функция imwrite () – это функция для записи изображения. OpenCV imwrite () поддерживает различные форматы изображений, такие как PNG, JPEG, JPG, TIFF и т. Д.

Функция imread () – это функция для чтения изображения. OpenCV imread () поддерживает различные форматы изображений, такие как PNG, JPEG, JPG, TIFF и т. Д.

Функция imshow () – это функция для отображения изображения в окне. Окно автоматически подгоняется под размер изображения. OpenCV imshow () поддерживает различные форматы изображений, такие как PNG, JPEG, JPG, TIFF и т. Д.

Функция imwrite () – это функция для записи изображения. OpenCV imwrite () поддерживает различные форматы изображений, такие как PNG, JPEG, JPG, TIFF и т. Д.

пример

В этом примере показан код Python для чтения изображения в одном формате – показ его в окне и запись того же изображения в другом формате. Рассмотрим шаги, показанные ниже –

Импортируйте пакет OpenCV, как показано на рисунке –

Теперь для чтения определенного изображения используйте функцию imread () –

Для показа изображения используйте функцию imshow () . Название окна, в котором вы можете видеть изображение, будет image_flower .

image_flower.jpg

Теперь мы можем записать то же изображение в другой формат, скажем .png, используя функцию imwrite () –

Вывод True означает, что изображение было успешно записано в виде файла .png также в той же папке.

True 

Примечание. Функция destroyallWindows () просто уничтожает все созданные нами окна.

Преобразование цветового пространства

В OpenCV изображения не сохраняются с использованием обычного цвета RGB, а хранятся в обратном порядке, то есть в порядке BGR. Следовательно, код цвета по умолчанию при чтении изображения – BGR. Функция преобразования цвета cvtColor () предназначена для преобразования изображения из одного цветового кода в другой.

пример

Рассмотрим этот пример для преобразования изображения из BGR в оттенки серого.

Импортируйте пакет OpenCV , как показано на рисунке –

Теперь для чтения определенного изображения используйте функцию imread () –

Теперь, если мы видим это изображение с помощью функции imshow () , то мы можем видеть, что это изображение в BGR.

penguine.jpg

Теперь используйте функцию cvtColor () для преобразования этого изображения в градации серого.

grey_penguine.jpg

Обнаружение края

Люди, увидев черновой набросок, могут легко распознать многие типы объектов и их позы. Вот почему края играют важную роль в жизни людей, а также в приложениях компьютерного зрения. OpenCV предоставляет очень простую и полезную функцию Canny () для обнаружения ребер.

пример

В следующем примере показана четкая идентификация ребер.

Импортируйте пакет OpenCV, как показано на рисунке –

Теперь для чтения определенного изображения используйте функцию imread () .

Теперь используйте функцию Canny () для определения краев уже прочитанного изображения.

Теперь, чтобы показать изображение с краями, используйте функцию imshow ().

Эта программа на Python создаст изображение с именемdge_penguins.jpg с обнаружением краев.

edges_penguins.jpg

Обнаружение Лица

Обнаружение лица является одним из увлекательных приложений компьютерного зрения, которое делает его более реалистичным и футуристическим. OpenCV имеет встроенную функцию для распознавания лиц. Мы собираемся использовать каскадный классификатор Хаара для обнаружения лиц.

Данные каскада Хаара

Нам нужны данные, чтобы использовать каскадный классификатор Хаара. Вы можете найти эти данные в нашем пакете OpenCV. После установки OpenCv вы можете увидеть имя папки haarcascades . Там были бы .xml файлы для другого приложения. Теперь скопируйте их все для различного использования и вставьте в новую папку в текущем проекте.

пример

Ниже приведен код Python, использующий каскад Хаара для обнаружения лица Амитабха Бачча, показанный на следующем изображении.

ab_face.jpg

Импортируйте пакет OpenCV , как показано на рисунке –

Теперь используйте HaarCascadeClassifier для обнаружения лица –

Теперь для чтения определенного изображения используйте функцию imread ()

Теперь, преобразуйте его в оттенки серого, потому что он будет принимать серые изображения –

Теперь, используя face_detection.detectMultiScale , выполните фактическое обнаружение лица

Теперь нарисуйте прямоугольник вокруг всего лица –

Эта программа на Python создаст изображение с именем Face_AB.jpg с распознаванием лиц, как показано

face_ab.jpg

Обнаружение глаз

Обнаружение глаз – еще одно увлекательное применение компьютерного зрения, которое делает его более реалистичным и футуристическим. OpenCV имеет встроенное средство для обнаружения глаз. Мы собираемся использовать каскадный классификатор Хаара для обнаружения глаз.

пример

В следующем примере приведен код Python, использующий каскад Хаара для обнаружения лица Амитабха Бачча, приведенный на следующем рисунке:

haar_ab_face.jpg

Импортируйте пакет OpenCV, как показано на рисунке –

Теперь используйте HaarCascadeClassifier для обнаружения лица –

Теперь для чтения определенного изображения используйте функцию imread ()

Теперь, преобразуйте его в оттенки серого, потому что он будет принимать серые изображения –

Теперь с помощью eye_cascade.detectMultiScale выполните фактическое распознавание лица

Теперь нарисуйте прямоугольник вокруг всего лица –

Эта программа на Python создаст изображение с именем Eye_AB.jpg с обнаружением глаз, как показано на рисунке –

Используемые источники:

  • https://itproger.com/news/174
  • https://arboook.com/kompyuternoe-zrenie/moj-top-7-bibliotek-dlya-python-dlya-kompyuternogo-zreniya/
  • https://coderlessons.com/tutorials/python-technologies/izuchit-iskusstvennyi-intellekt-s-python/ai-s-python-kompiuternoe-videnie

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации