fbpx

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

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

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

Перед вами перевод статьи TensorFlow Image Recognition Python API Tutorial, автор Sagar Sharma. Ссылка на оригинал — в подвале статьи.

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

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

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

распознавание изображений tensorflow python cpu
Выходным результатом является надпись «космический шаттл (вероятность = 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

После этого произойдет скачивание модели (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
4. Используйте командную строку для распознавания

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

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

python classify_image.py --image_file images.png

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

python classify_image.py --image_file D:/images.png

командная строка
Результат

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

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

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

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