МЕТОДИКА ИДЕНТИФИКАЦИИ ОБЪЕКТОВ ПО УНИКАЛЬНЫМ ХАРАКТЕРИСТИКАМ НА ИЗОБРАЖЕНИЯХ

METHOD OF IDENTIFICATION OF OBJECTS BY UNIQUE CHARACTERISTICS IN IMAGES
Маркеев М.В.
Цитировать:
Маркеев М.В. МЕТОДИКА ИДЕНТИФИКАЦИИ ОБЪЕКТОВ ПО УНИКАЛЬНЫМ ХАРАКТЕРИСТИКАМ НА ИЗОБРАЖЕНИЯХ // Universum: технические науки : электрон. научн. журн. 2022. 11(104). URL: https://7universum.com/ru/tech/archive/item/14631 (дата обращения: 23.11.2024).
Прочитать статью:
DOI - 10.32743/UniTech.2022.104.11.14631

 

АННОТАЦИЯ

Современные нейросети способны решать множество полезных задач. Например, обнаружение объектов на изображениях с последующей идентификацией. Это может применятся для распознавания лиц, нахождения дефектов при производстве, определении качества и состояния урожая, отслеживания миграции китов и дельфинов и так далее. Основная проблема заключается в том, что объект может быть виден не целиком, а видна лишь определенная часть. Данная методика предполагает определение нескольких ключевых уникальных характеристик на изображениях и дальнейшую их обработку с целью идентификации. Данный метод позволяет опираться сразу на несколько уникальных характеристик, что придает ему дополнительную устойчивость при работе с изображениями, где объект не виден целиком, а видна лишь определенная часть. Например, на фотографиях китов и дельфинов часть спины может быть хорошо видна или может быть скрытой под водой, однако, как правило, плавник почти всегда отчетливо виден. Создавая два различных датасета: для полного туловища и отдельно для плавника, можно добиться более высокой точности работы модели. Методика апробирована на большом объеме данных.

ABSTRACT

Modern neural networks can solve many useful problems. For example, the detection of objects in images with subsequent identification. This can be used for face recognition, finding defects in production, determining the quality and condition of crops, tracking the migration of whales and dolphins, and so on. The main problem is that the object may not be seen as a whole, but only a certain part. This technique involves identifying several key unique characteristics in images and further processing them for identification purposes. This method makes it possible to rely on several unique characteristics at once, which gives it additional stability when working with images where the object is not visible in its entirety, but only a certain part is visible. For example, in photos of whales and dolphins, part of the back may be clearly visible or may be hidden underwater, but as a rule, the fin is almost always clearly visible. By creating two different datasets: for the full body and separately for the fin, it is possible to achieve a higher accuracy of the model. The technique has been tested on a large amount of data.

 

Ключевые слова: нейронные сети, машинное обучение, искусственный интеллект, ArcFace, YOLO, детекция объектов, TensorFlow, Keras, эмбеддинг, Python.

Keywords: neural networks, machine learning, artificial intelligence, ArcFace, YOLO, object detection, TensorFlow, Keras, embedding, Python.

 

Введение

Среди задач по компьютерному зрению часто возникает задача определить идентичные объекты на разных фотографиях. При этом на фотографиях эти объекты могут быть видны не целиком, а лишь частично. Это часто встречается в реальной жизни. Например, при распознавании лиц: на некоторых фотографиях лицо человека может быть видно не целиком или на лице могут появится новые атрибуты, например, очки или шрамы. Конкретно, в этой статье методика будет применена к распознаванию китов и дельфинов по их различным фотографиям. Основная проблема с ними заключается в том, что:

  • на многих фотографиях они видны не целиком
  • у них могут появляется новые шрамы, отметки или пятна

Для эксперимента используется датасет с реальными фотографиями китов и дельфинов (https://www.kaggle.com/competitions/happy-whale-and-dolphin/data)

 

Рисунок 1. Пример оригинальных фотографий одного и того же кита, сделанных разными людьми в разное время (оригинальный датасет)

 

Это фотографии с сервиса https://happywhale.com , на этот сервис любой желающий может загрузить фотографии китов и дельфинов, которые он сделал. А в дальнейшем работники этой компании вручную обрабатывают эти изображения с целью нахождения одинаковых особей для отслеживания их миграции. Это невероятно кропотливая работа. Кроме того, когда особей очень много, человеку физически невозможно запоминать ключевые особенности каждой из них.

Принцип работы методики

На рисунке 1 видно, что на фотографиях много лишней информации. Так как фотографии загружены простыми людьми, они нуждаются в предварительной обработке. Как всегда, в работе с данными для получения хорошего результата самое главное качество этих данных. Методика предполагает создание нескольких датасетов из изображений с целью повышения качества работы. Сначала нужно создать датасет, в котором нет лишней информации. Это можно сделать вручную или воспользоваться YOLO [4] подобными моделями детекции объектов. Получается следующий результат:

 

 

Рисунок 2. Пример тех же самых фотографий кита с рисунка 1 после обработки с помощью YOLO модели для идентификации полного туловища кита (датасет 1)

 

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

 

Рисунок 3. Пример тех же самых фотографий кита с рисунка 1 после обработки с помощью YOLO модели для идентификации плавников (датасет 2)

 

Таким образом, из оригинального датасета мы дополнительно создали еще 2: с полным туловищем и только с плавником. Далее методика предлагает обучать 2 нейросети на 2-х датасетах с применением техники лосса ArcFace [2].  Который активно применяется для задач распознавания лиц. ArcFace позволяет располагать эмбеддинги изображений одного класса ближе друг к другу в векторном пространстве. Для того, чтобы потом можно было сравнивать расстояние между этими векторами и определять идентичные особи.   

Описание методики по пунктам:

  1. Из оригинальных изображений с помощью детекции объектов, например, YOLO выделяем сам объект целиком, создавая таким образом новый датасет
  2. Из датасета полученного в пункте 1 выделяем дополнительные признаки (например, плавник) и детектируем эти признаки и создаем с ними с помощью того же YOLO дополнительный датасет или несколько датасетов
  3. Тренируем нейросети на датасетах из пункта 1 и 2. На каждый датасет своя нейросеть. Дополнительно можно обучить нейросеть на оригинальных изображениях. Тренировка производится с использованием лосса ArcFace
  4. При инференсе (в процессе предсказания) получаем эмбеддинги с каждой нейросети до применения ArcFace и сохраняем их в отдельные файлы для удобства обработки. Такие эмбеддинги необходимо получить и для тех изображений, на которых нейросеть обучалась, чтобы было с чем сравнивать, так и для тех, которые нужно предсказать
  5. Соединяем (конкатенируем) эмбеддинги от разных моделей и нормализуем их с помощью StandartScaler [1]
  6. С помощью метода ближайшего соседа [3] (NearestNeighbors) из предсказанных эмбеддингов находим максимально близкие к ним из тех, на которых нейросеть обучалась
  7. С помощью перебора подбираем порог, при котором считаем, что предсказанное изображение (объект на нем) соответствует изображению из тренировочной выборки. Порог подбираем по всем фолдам, используя кросс-валидацию [5].

Данная методика позволила автору получить серебряную медаль на международном соревновании по машинному обучению (https://www.kaggle.com/maxmar)

Пример нахождения идентичных особей с помощью методики

Для проведения эксперимента были созданы 2 датасета (рисунок 1 и рисунок 2). В каждом датасете 51032 картинок китов и дельфинов с 15587 уникальных особей. На некоторых особей приходится всего 1-2 картинки, что делает задачу их идентификации чрезвычайно сложной из-за несбалансированности данных. Для тестовой выборки используется тестовый датасет с 27956 фотографий. В качестве метрики используется точность по 5-ти предсказаниям для каждой фотографии (Top-5 Accuracy) [6]. В качестве модели используется EfficientNet B5 [7]. Разрешение фотографий 300 x 300. Результаты эксперимента приведены в таблице:

Таблица 1.

Обученные модели, параметры обучения и точность

Датасет

Модель

Размер, пикс

Top-5 Точность на кросс-валидации

Top-5 Точность на тестовой выборке

Top-5 Точность, Средняя

  1. Полное туловище

EfficientNet B5

300

0.7937

0.7284

0.7611

  1. Только плавник

EfficientNet B5

300

0.7521

0.6970

0.7246

Объединенный результат по методике

 

 

0.8296

0.7648

0.7972

 

После обучения моделей действуем по вышеуказанной методике:

Получаем эмбеддинги для обучающей и тестовой выборки, соединяем их и нормализуем с помощью StandartScaler. Нормализация здесь необходима, чтобы привести в единый масштаб эмбеддинги от разных моделей. Это необходимо для их корректного сравнения. Нормализуются эмбеддинги обучающие вместе с тестовыми для правильного масштабирования. Далее, с помощью метода ближайшего соседа из предсказанных эмбеддингов для тестовой выборки находим максимально близкие к ним из тех, на которых нейросеть обучалась. С помощью перебора подбираем порог, при котором считаем, что предсказанное изображение (объект на нем) соответствует изображению из тренировочной выборки. Итоговый результат по методике показан в таблице 1 в финальной строке. Результат по метрике Top-5 точность получился примерно на 3.5 % лучше, чем у самой точной модели. Это было достигнуто благодаря тому, что такой подход с тренировкой на 2-х датасетах, полученных путем нахождения разных уникальных ключевых характеристик более устойчив. Например, когда туловище видно не целиком, а частично, то модель, обученная на сравнение плавников, все равно дает хороший результат.

Чтобы еще увеличить точность нужно использовать более тяжелые модели, такие как EfficientNetB7 и другие, а также увеличивать размер изображений до 768x768 и более. В конечном итоге, можно достичь средней Top-5 точности на данном датасете около 88 %, что было подтверждено участникам на данном конкурсе по компьютерному зрению.

Заключение

Нейросети помогают нам решать множество сложных задач. Например, идентификация китов и дельфинов. Для человека помнить, как выглядят 15 тысяч особей, какие у них отличительные черты представляется нетривиальной задачей, однако, современный нейросети становятся хорошим помощником для решения подобных проблем. В реальной жизни редко можно встретить идеальные данные. Как правило, на фотографиях, особенно любительских, без предварительной обработки, объект виден не полностью.

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

Неоспоримым плюсом данной методики будет повышенная устойчивость т.к. если не все, то хоть некоторые ключевые особенности на фото будут видны. Минусом такого подхода является то, что приходится производить дополнительные вычисления: создание других датасетов и тренировка для них отдельных нейросетей.

 

Список литературы:

  1. Buitinck L. et al. API design for machine learning software: experiences from the scikit-learn project //arXiv preprint arXiv:1309.0238. – 2013.
  2. Deng J. et al. Arcface: Additive angular margin loss for deep face recognition // Proceedings of the IEEE/CVF conference on computer vision and pattern recognition. – 2019. – С. 4690-4699.
  3. Friedman J. H., Baskett F., Shustek L. J. An algorithm for finding nearest neighbors //IEEE Transactions on computers. – 1975. – Т. 100. – №. 10. – С. 1000-1006.
  4. Redmon J. et al. You only look once: Unified, real-time object detection // Proceedings of the IEEE conference on computer vision and pattern recognition. – 2016. – С. 779-788.
  5. Refaeilzadeh P., Tang L., Liu H. Cross-validation //Encyclopedia of database systems. – 2009. – Т. 5. – С. 532-538.
  6. Shankar V. et al. Evaluating machine accuracy on imagenet //International Conference on Machine Learning. – PMLR, 2020. – С. 8634-8644.
  7. Tan M., Le Q. Efficientnet: Rethinking model scaling for convolutional neural networks //International conference on machine learning. – PMLR, 2019. – С. 6105-6114.
Информация об авторах

независимый исследователь, РФ, г. Нижний Новгород

Independent Researcher, Russia, Nizhny Novgorod

Журнал зарегистрирован Федеральной службой по надзору в сфере связи, информационных технологий и массовых коммуникаций (Роскомнадзор), регистрационный номер ЭЛ №ФС77-54434 от 17.06.2013
Учредитель журнала - ООО «МЦНО»
Главный редактор - Ахметов Сайранбек Махсутович.
Top