КОМПЬЮТЕРНОЕ ЗРЕНИЕ (ЧАСТЬ 2): Создайте приложение для профилирования людей на основе пола и цвета лица (изучите концепцию предварительно обученных моделей)

ЦЕЛЬ: Мы создадим простое приложение компьютерного зрения для определения пола человека на основе распознавания лиц с использованием предварительно обученной модели кафе. Мы также кратко объясним другие концепции предварительно обученной модели, такие как: хаар-каскады, тензорный зоопарк, VGG16, VGG19, ResNet50, InceptionV3, DenseNet и NASNet.

ССЫЛКА НА ЧАСТЬ-1 (объясняет обучение модели лица и AutoML): https://juniorboyboy2.medium.com/computer-vision-part-1-build-a-person-profiler-application-based-on-gender- и-цвета-использования-738f1b631c82

КОНТУР:

  1. Концепции предварительно обученной модели кофе.
  2. хаар-каскады
  3. тензорный зоопарк
  4. ВГГ16 и ВГГ19
  5. Реснет50
  6. НачалоV3
  7. Плотная сеть
  8. NASNet
  9. МобильныйВнет2

1.Концепции предварительно обученной модели кофе.

Caffe (Сверточная архитектура для быстрого внедрения функций) — это среда глубокого обучения, которая позволяет пользователям создавать модели классификации и сегментации изображений. Первоначально пользователи создают и сохраняют свои модели в виде простых текстовых файлов PROTOTEXT. После того, как пользователь обучает и уточняет свою модель с помощью Caffe, программа сохраняет обученную модель пользователя в виде файла CAFFEMODEL. Вы можете загрузить caffemodel с помощью keras.

Например, загрузка гендерной модели кафе, используемой в приложении для профилирования людей.

2. хаар-каскады

OpenCV предоставляет метод обучения (см. Обучение каскадного классификатора) или предварительно обученные модели, которые можно прочитать с помощью метода classify1CascadeClassifier.html#a1a5884c8cc749422f9eb77c2471958bc">cv::CascadeClassifier::load. Предобученные модели находятся в папке данных в установке OpenCV или могут быть найдены здесь. https://github.com/opencv/opencv/tree/master/data/haarcascades

Примеры использования каскадов лица и глаз в python.

3 тензорный зоопарк

он содержит код глубокого обучения с открытым исходным кодом и предварительно обученные модели. это набор моделей обнаружения, предварительно обученных на наборе данных COCO 2017. Эти модели могут быть полезны для готовых выводов, если вас интересуют категории, которые уже есть в этих наборах данных.

Их можно найти здесь: https://modelzoo.co/

Некоторые примеры: CenterNet HourGlass 104 512x512, Mask R-CNN, Fastphotostyle, RESNET 50 и т. д.

4. VGG16 и VGG19

В 2014 году сети VGG16 и 19 уровней считались очень глубокими (хотя сейчас у нас есть архитектура ResNet, которую можно успешно обучать на глубинах 50–200 для ImageNet и более 1000 для CIFAR-10).

Симонян и Зиссерман сочли обучение VGG16 и VGG19 сложным (особенно в отношении конвергенции в более глубоких сетях), поэтому, чтобы упростить обучение, они сначала обучили меньшие версии VGG с меньшим весом слоев (столбцы A и C). ) первый.

5. Реснет50

ResNet-50 — это сверточная нейронная сеть с глубиной 50 слоев. Вы можете загрузить предварительно обученную версию сети, обученную на более чем миллионе изображений из базы данных ImageNet [1]. Предварительно обученная сеть может классифицировать изображения по 1000 категориям объектов, таким как клавиатура, мышь, карандаш и многие животные. В результате сеть изучила богатые представления функций для широкого спектра изображений. Сеть имеет входной размер изображения 224 на 224. Дополнительные сведения о предварительно обученных сетях в MATLAB® см. в разделе Предварительно обученные глубокие нейронные сети.

Вы можете использовать classify для классификации новых изображений с помощью модели ResNet-50.

6. Начальная версия 3

Inception v3 — это сверточная нейронная сеть для помощи в анализе изображений и обнаружении объектов, которая появилась как модуль для Googlenet. Это третье издание начальной сверточной нейронной сети Google, первоначально представленной во время конкурса ImageNet Recognition Challenge. Подобно тому, как ImageNet можно рассматривать как базу данных классифицированных визуальных объектов, Inception помогает классифицировать объекты в мире компьютерного зрения.

7. Плотная сеть

DenseNet — это тип сверточной нейронной сети, в которой используются плотные связи между слоями посредством плотных блоков, где мы соединяем все слои (с соответствующими размерами карт объектов) напрямую друг с другом. Реализация Tensorflow DenseNet с предварительно обученными моделями ImageNet.

8. NASNet

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

9. Мобильная сеть V2

MobileNets — это небольшие модели с малой задержкой и низким энергопотреблением, параметризованные для соответствия ограничениям ресурсов для различных вариантов использования. Их можно использовать для классификации, обнаружения, встраивания и сегментации аналогично тому, как используются другие популярные крупномасштабные модели, такие как Inception. MobileNets можно эффективно запускать на мобильных устройствах с помощью TensorFlow Lite.

MobileNetV2 — это предварительно обученная модель, в которую могут быть дополнительно загружены веса, предварительно обученные в ImageNet, и она очень похожа на исходную MobileNet, за исключением того, что в ней используются перевернутые остаточные блоки с узкими местами. Он имеет значительно меньшее количество параметров, чем оригинальный MobileNet. MobileNets поддерживает любой размер входных данных, превышающий 32 x 32, при этом изображения большего размера обеспечивают более высокую производительность.

MobileNetV2 использовался при обучении модели лица для приложения для профилирования человека.

ВЫВОД

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

ПИСАТЕЛЬ: ОЛУЙЕДЕ СЕГУН. А (младший)

Используемые ресурсы (ссылки) и дополнительная литература:





Посмотрите код на моем GitHub:

для mobilevnet2, используемого в модели цвета лица:



для кофемодели, используемой в гендерной модели:



профиль на LinkedIn: https://www.linkedin.com/in/oluyede-segun-adedeji-jr-a5550b167/

профиль Twitter: https://twitter.com/oluyedejun1

ТЕГИ: #COMPUTERVISION #OPENCV #PYTHON #AUTOML #PRETRAINED