Людей часто путают с подписями к изображениям и классификацией изображений. Классификация изображений сообщает, какой объект, например, собака, кошка или человек, находится на изображении. В то время как Image Captioning дает описание изображения, как будто собака ест еду. В этой статье я даю вам представление о том, как создавать подписи к изображениям и искать эти подписи на основе оценки TFIDF.

Генерация титров — это сложная задача искусственного интеллекта, когда для данного изображения необходимо создать текстовое описание. Для обработки изображения требуется как концепция компьютерного зрения, так и модель НЛП, чтобы понимать изображение и исправлять его словами. Я использую официальный сайт Tensorflow для понимания кода и использую набор данных fliker для обучения модели.

Библиотеки Python 3, которые я использовал, — это Matplotlib, Pandas, numpy и Keras.

Я построил свою модель подписей к изображениям, взяв рекомендации с этого сайта: https://machinelearningmastery.com/develop-a-deep-learning-caption-generation-model-in-python/

Прежде чем приступить к созданию подписей к изображениям, убедитесь, что вы настроили свою среду для машинного обучения. Вот сайт, который я использовал для настройки среды python/anaconda: https://machinelearningmastery.com/setup-python-environment-machine-learning-deep-learning-anaconda/

Если вы будете внимательно следовать инструкциям, не пропуская ни одной части, вы получите результаты через 3/4 часа в зависимости от скорости вашего компьютера. Подписи создаются в текстовом файле, поэтому я преобразовал его в файл Excel. Теперь пришло время создать поисковую систему, которая ищет искомый пользователем заголовок в наборе данных и извлекает результаты на основе порядка сортировки результатов TFIDF. Я уже создал текстовый поиск на этапе 1. Алгоритм тот же. Вот ссылка на мою документацию по Фазе 1: https://medium.com/@jeevangyawali_35083/text-search-based-on-tf-idf-score-a0a0ceff1cad

Вклад и вызов

Я изменил код, чтобы он работал с моим набором данных изображений, и экспортировал результаты в формате xlms. Размещение изображений размером 1,03 ГБ было сложной задачей. Я использовал 000webhost для бесплатного размещения изображений объемом 1 ГБ. Из 8k изображений 500 изображений не были загружены на хостинг из-за ограничения размера. Веб-приложение не отображает эти 500 изображений, когда пользователь выполняет поиск в приложении. Вот ссылка, по которой я загрузил изображения flickr8k: http://jeevangyawaliflicker8kimages.000webhostapp.com/?dir=Images/

В дополнение к этому я также создал свое веб-приложение для перевода и поиска иностранного текста.

Ссылки

https://www.tensorflow.org/tutorials/text/image_captioning

https://machinelearningmastery.com/develop-a-deep-learning-caption-generation-model-in-python/

https://machinelearningmastery.com/setup-python-environment-machine-learning-deep-learning-anaconda/

https://medium.com/@jeevangyawali_35083/text-search-based-on-tf-idf-score-a0a0ceff1cad

http://jeevangyawalilicker8kiimages.000webhostapp.com/?dir=Images/