Найти тему
Машинное обучение

Распознавание изображений предобученной моделью Inception-v3 c Python API на CPU

Оглавление

Это самый быстрый и простой способ реализовать распознавание изображений на ноутбуке или стационарном ПК без какого-либо графического процессора, потому что это можно сделать лишь с помощью API, и ваш компьютер отлично справится с этой задачей.

Я знаю, что немного опоздал с рассказом именно про этот API, потому что он шел с ранней версией TensorFlow. API использует модель CNN, обученную на 1000 классов. Для более подробной информации изучите сайт TensorFlow.

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

Будем считать входными данными изображение космической ракеты/шаттла.

-2

Выходным результатом является надпись «космический шаттл (вероятность = 89,639%)» в командной строке.

распознавание изображений туториал
распознавание изображений туториал

Не беспокойтесь, если у вас Linux или Mac. Я уверен, что это будет работать на любой системе с любым ЦП, если у вас уже установлен TensorFlow 1.4.Весь процесс будет выполнен в 4 этапа:

1. Загрузите модель из репозитория TensorFlow

Перейдите по ссылке, скачайте репозиторий TensorFlow на свой компьютер и извлеките его в корневую папку, а поскольку я использую Windows, я извлеку его на диск «C:».

Теперь назовите папку «models».

2. Командная строка

Запустите командную строку (от имени администратора).

Теперь нам нужно запустить файл classify_image.py, который находится в «models> tutorials> imagenet> classify_image.py», ввести команды из изображения ниже и нажать Enter.

туториал распознавание изображений tensorflow python
туториал распознавание изображений tensorflow python

После этого произойдет скачивание модели (200 мб), которая поможет вам в распознавании вашего изображения.

Если все прошло отлично, в командной строке вы увидите следующее:

giant panda, panda, panda bear, coon bear, Ailuropoda melanoleuca (score = 0.88493)
indri, indris, Indri indri, Indri brevicaudatus (score = 0.00878)
lesser panda, red panda, panda, bear cat, cat bear, Ailurus fulgens (score = 0.00317)
custard apple (score = 0.00149)
earthstar (score = 0.00127)

Теперь, чтобы убедиться, что мы понимаем, как правильно работать с моделью, мы сделаем это дважды. Поместите одно изображение в папку «models> tutorials> imagenet>», а другое — в другую папку 😏.

3. Загрузите изображение в папке

Возьмите любое изображение из Интернета или откуда-либо еще и поместите его в папку «models> tutorials> imagenet> images.png» вместе с файлом classify_image.py, а затем в папку «D:images.png» или любой другой каталог, просто не забудьте указать правильный адрес в командной строке. Изображение, которое я использовал, приведено ниже.

туториал image recognition python
туториал image recognition python

4. Используйте командную строку для распознавания

Для этого вам нужно просто отредактировать аргумент «— image_file» следующим образом.

а) Для изображения в том же каталоге, что и файл classify_image.py, нужно после перехода в каталог imagenet в командной строке ввести

python classify_image.py --image_file images.png

imagenet
imagenet

б) Для изображения в другой папке дополнительно укажите каталог, в котором находится ваше изображение.python classify_image.py --image_file D:/images.png

командная строка
командная строка

Результат

Теперь видно, что результаты для обоих изображений одинаковые, как показано ниже.

результат распознавания изображений
результат распознавания изображений

Можно видеть, что оценка довольно точная, то есть 98,028% для класса «мобильный телефон».

Примечание. Используйте любое изображение, которое захотите, и держите его в любой удобной вам директории. Главное — указать правильный путь к нему в командной строке.

Машинное обучение RU

#machinelearning #artificialintelligence #ai #datascience #python #programming #technology #deeplearning #coding #bigdata

Наука
7 млн интересуются