Максимизация KPI за счет анализа изображений

ВВЕДЕНИЕ

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

Архив набора данных, представленный в корзине s3, состоит из папки «Активы» и CSV-файла «performance_data». Как следует из названий, папка содержит изображение ресурса, используемое для создания объявлений, а файл CSV содержит значения производительности для каждого объявления. Каждая папка в папке «Активы» представляет собой строковое значение «game_id», и ее эталонная производительность доступна в файле CSV. Ниже приведены значения столбцов из файла «performace_data.csv».

  • game_id — представляет уникальный идентификатор креатива для значений производительности.
  • ER — представляет показатель вовлеченности креатива.
  • CTR – показатель рейтинга кликов креатива.

Зачем нужна динамическая оптимизация объявлений?

Динамическая креативная оптимизация (DCO) — это усовершенствованная форма динамического креатива, в которой используются искусственный интеллект (ИИ) и технология машинного обучения для создания гиперперсонализированных впечатлений для зрителей. Это автоматизированный процесс, в котором используются существующие данные о клиентах и ​​другие подключенные источники данных, а также тестирование и аналитика в режиме реального времени для выбора наиболее эффективной комбинации творческих элементов для каждого зрителя.

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

  • Используйте неожиданные идеи
  • Улучшить рекламный креатив
  • Повышение контекстной релевантности
  • Таргетинг на более определенные сегменты
  • Делайте ставки более стратегически

Современные алгоритмы сегментации изображений

Сегментация изображения позволяет нам разложить изображение на значимые части и понять сцену на более детальном уровне. Задачи сегментации можно разделить на две большие категории: семантическая сегментация и сегментация экземпляров. При семантической сегментации каждый пиксель принадлежит к определенному классу (подумайте о классификации на уровне пикселей). Например, на изображении выше такими классами были автобус, автомобиль, дерево, здание и т. д. Любой пиксель, принадлежащий любому автомобилю, назначается одному и тому же классу «автомобиль». Сегментация экземпляров делает еще один шаг вперед и разделяет отдельные объекты, принадлежащие к одному и тому же классу. Например, если бы на изображении выше было две машины, каждой машине была бы присвоена метка «автомобиль», но ей был бы присвоен отдельный цвет, поскольку они являются разными экземплярами класса. Ниже приведены наиболее распространенные алгоритмы, используемые для сегментации изображений.

Сегментация изображений Otsu (сегментация на основе порога)

Он подпадает под пороговую сегментацию. В Otsu’s Segmentation сначала обрабатывается входное изображение, а затем мы пытаемся получить гистограмму изображения, которая покажет распределение пикселей на изображении. Здесь мы ориентируемся на пиковое значение. Следующим шагом является вычисление порогового значения и сравнение его с пикселями изображения. Установите белый цвет пикселя; если они больше, чем пороговое значение else, установите его в черный цвет. Таким образом, он выполняет автоматическое пороговое значение. Этот метод не подходит для шумных изображений. Приложения включают сканирование документов, распознавание шаблонов.

Алгоритмы сегментации изображений на основе краев

В этом методе к изображению применяется краевой фильтр. Затем пиксели изображения классифицируются как краевые или некраевые в зависимости от выходных данных фильтра. Обнаружение краев помогает удалить нежелательную и ненужную информацию с изображения. Он включает в себя 2 шага: обнаружение краев и связывание краев. Существуют следующие типы операторов обнаружения границ:

  • Оператор Роберта: выделяет области с высокой пространственной частотой
  • Оператор Prewitt: он используется для обнаружения вертикальных и горизонтальных краев в изображениях.
  • Оператор Собеля: используется для обнаружения вертикальных и горизонтальных краев изображений.

Алгоритм сегментации изображения на основе области

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

Алгоритмы сегментации изображений на основе кластеризации

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

Нейронные сети для сегментации изображений

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

Отличный инструмент для сегментации изображений; Йоло 7

Это один из инструментов сегментации изображений. YOLO расшифровывается как You Only Look Once.Это модель глубокого обучения, используемая для обнаружения изображений и видео. Первая версия YOLO была выпущена в 2016 году. С тех пор производятся частые обновления с последними улучшениями: более быстрые вычисления, лучшая точность. Обратитесь к этому о том, как его использовать.

Методология

  • Получите доступ к данным из корзины s3 и изучите структуру папок. Также понимание данных о производительности, чтобы понять, как связать их с каталогом активов. Мы можем сделать это, используя game_id. Мы также можем добавить извлеченные начальный и конечный кадры, используя game_id = folder_name, который также является подстрокой ссылки для предварительного просмотра.
  • Затем приступайте к извлечению признаков. Извлечение важных функций, которые могут быть очень полезны при определении KPI, из файлов изображений. Эти функции представлены в разделе результатов этого блога.
  • Наконец, после добавления этих извлеченных функций к данным о производительности и применения некоторой предварительной обработки, такой как удаление неанглоязычного текста и нормализация, маркировка и масштабирование, мы передали данные в модель машинного обучения, обучили модель и сохранили в папке моделей.

Полученные результаты

1. Извлеченные признаки и их важность

2. Результаты машинного обучения и метрики оценки применяемых алгоритмов

3. Матрица корреляции между извлеченными функциями

Заключение

Этот проект дал нам очень полезные навыки в области обработки изображений и компьютерного зрения. Он познакомил нас с полезными библиотеками и пакетами. Этот проект должен стать трамплином для повышения наших навыков в обработке изображений. Мы работали с фреймворками глубокого обучения, например. pyTorch и Tensorflow, оптимизированные архитектуры глубокого обучения сегментации изображений, использование общедоступных моделей CV и API-интерфейсов и, наконец, моделирование ML с KPI и артефактами ML путем формулирования и разработки стратегий тестирования и обучения. Мы смогли извлечь интересные функции и представить их на панели инструментов с подсветкой. Таким образом, мы в целом выполнили поставленные задачи и тем самым проект.

РАЗВЕРТЫВАНИЕ:

https://amanuel3065-creative-image-optimization-app-yu2h7h.streamlit.app/

Будущая работа

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

Ссылки: Дополнительная литература

Обратитесь к следующим превосходным сайтам, чтобы лучше понять эту тему.

https://datagen.tech/guides/image-annotation/image-segmentation/

https://www.fritz.ai/image-segmentation/

https://huggingface.co/tasks/изображение-сегментация

https://medium.com/@pedroazevedo6/object-detection-state-of-the-art-2022-ad750e0f6003

https://digibuo.uniovi.es/dspace/bitstream/handle/10651/53052/vbolon_aire2020.pdf?sequence=1

https://arxiv.org/pdf/2103.00436.pdf

http://www.cristinasegalin.com/research/papers/JCP19.pdf