Это самый быстрый и простой способ реализовать распознавание изображений на ноутбуке или стационарном ПК без какого-либо графического процессора, потому что это можно сделать лишь с помощью API, и ваш компьютер отлично справится с этой задачей.
Перед вами перевод статьи TensorFlow Image Recognition Python API Tutorial, автор Sagar Sharma. Ссылка на оригинал — в подвале статьи.
Я знаю, что немного опоздал с рассказом именно про этот API, потому что он шел с ранней версией TensorFlow. API использует модель CNN, обученную на 1000 классов. Для более подробной информации изучите сайт TensorFlow.
Прежде, чем я покажу, как использовать этот API для работы с любым изображением, рассмотрим следующий пример.
Будем считать входными данными изображение космической ракеты/шаттла.
Выходным результатом является надпись «космический шаттл (вероятность = 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.
После этого произойдет скачивание модели (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» или любой другой каталог, просто не забудьте указать правильный адрес в командной строке. Изображение, которое я использовал, приведено ниже.
4. Используйте командную строку для распознавания
Для этого вам нужно просто отредактировать аргумент «— image_file» следующим образом.
а) Для изображения в том же каталоге, что и файл classify_image.py, нужно после перехода в каталог imagenet в командной строке ввести
python classify_image.py --image_file images.png
б) Для изображения в другой папке дополнительно укажите каталог, в котором находится ваше изображение.
python classify_image.py --image_file D:/images.png
Результат
Теперь видно, что результаты для обоих изображений одинаковые, как показано ниже.
Можно видеть, что оценка довольно точная, то есть 98,028% для класса «мобильный телефон».
Примечание. Используйте любое изображение, которое захотите, и держите его в любой удобной вам директории. Главное — указать правильный путь к нему в командной строке.