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% для класса «мобильный телефон».

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