Аннотация 2
ВВЕДЕНИЕ 3
1 РАЗРАБОТКА МАТЕМАТИЧЕСКОЙ МОДЕЛИ ДЛЯ АЛГОРИТМОВ ТРАНСФОРМАЦИИ ИЗОБРАЖЕНИЙ 5
1.1 Анализ предметной области 5
1.2 Проектирование алгоритмов трансформации изображений 8
1.2.1 Анализ алгоритмов масштабирования изображений 8
1.2.2 Масштабирование методом билинейной интерполяции 14
1.2.3 Способы построения кривой по точкам 15
1.2.4 Построение фигуры с помощью сплайнов 18
1.3 Формализация требований к алгоритмам 22
2 ПРОЕКТИРОВАНИЕ И РЕАЛИЗАЦИЯ АЛГОРИТМОВ ТРАНСФОРМАЦИИ ИЗОБРАЖЕНИЙ 25
2.1 Анализ и выбор технологии разработки 25
2.2 Разработка алгоритмов 26
3 ТЕСТИРОВАНИЕ И АНАЛИЗ РАЗРАБОТАННЫХ АЛГОРИТМОВ ТРАНСФОРМАЦИИ ИЗОБРАЖЕНИЙ 34
3.1 Описание технологий тестирования 34
3.2 Испытание алгоритмов с разными изображениями и фигурами 35
ЗАКЛЮЧЕНИЕ 42
СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ 45
Приложение А. UML диаграмма классов 49
Приложение Б. Код класса Algorithms 50
Информационные технологии стремительно развиваются, как и сфера их применения. Трудно перечислить весь спектр их возможного использования. Одной из важнейших областей, связанных с IT, является Всемирная паутина: интернет-технологии уже стали неотъемлемой частью жизни и продолжают развиваться. Интернет предоставляет пользователям почти неограниченные возможности в работе с разнообразнейшей информацией.
Все большую популярность набирает интернет-шоппинг, и это неудивительно: это удобно, занимает в разы меньше времени, позволяет получить доступ к товару, который в магазине не купишь, цены в интернет- магазинах зачастую ниже реальных. Но, к сожалению, у медали есть обратная сторона: известно, что осуществление покупок таким образом сопряжено с риском. Это может быть вина почты, потерявшей посылку; вина продавца, отправившего не то, что ожидалось; вина производителя, выпустившего брак; наконец, ЧП в виде независящих от человека факторов.
Интернет-магазины одежды здесь уязвимы едва ли не больше остальных: помимо уже перечисленных факторов, далеко не каждый может подобрать подходящую вещь, ориентируясь лишь на фото. Часто случается, что риск не оправдывается, и пользователь зарекается пользоваться такими магазинами. Разрабатываемый в данной работе алгоритм призван частично решить эту проблему, предлагая возможность примерить виртуальную одежду перед покупкой.
Актуальность данной работы не вызывает сомнений: проведенное исследование показало, что несмотря на общее развитие интернет-шоппинга, виртуальные примерочные есть далеко не в каждом магазине. В тех же, в которых они есть, они обладают довольно бедным функционалом и спорной возможностью примерки.
Предмет исследования: процесс преобразования изображений в виртуальной примерочной.
Объект исследования: алгоритмы трансформации изображений в виртуальной примерочной.
Цель работы: разработать алгоритм, трансформирующий одежду с учетом особенностей фигуры клиента, чтобы снизить риск во время покупки в интернет-магазине.
Для достижения цели решаются следующие задачи:
• рассмотрение алгоритмов масштабирования и выбор алгоритма для дальнейшей разработки;
• изучение выбранного алгоритма;
• рассмотрение способов построения фигуры клиента и выбор одного из них;
• изучение выбранного способа;
• выбор технологии реализации;
• реализация алгоритмов и демонстрационной программы;
• тестирование разработанных алгоритмов.
Выпускная квалификационная работа состоит из введения, трех глав и заключения.
В первой главе проводится анализ выбранной темы, определяется математическая модель алгоритма. Рассматриваются и выбираются наиболее подходящие для дальнейшей разработки математические алгоритмы.
Во второй главе обосновывается выбор технологии реализации, а также описывается процесс разработки алгоритма.
Третья глава посвящена тестированию: проверяется работа алгоритма с различными фигурами и типами одежды, делаются выводы.
В ходе выполнения бакалаврской работы были спроектированы и реализованы алгоритмы примерки одежды для виртуальной примерочной. В основу легли два других алгоритма: масштабирование билинейной интерполяцией и способ построения фигуры по ключевым точкам при помощи сплайнов в виде кривой Безье.
Для этого были рассмотрены и проанализированы наиболее популярные существующие методы масштабирования: метод ближайшего соседа, билинейной и бикубической интерполяции. Так как алгоритм масштабирования в данном случае является лишь «оберткой», его выбор играет меньшую роль. Поэтому выбор остановился на билинейной интерполяции как простом и дающем относительно неплохой результат алгоритме.
После этого были изучены способы построения кривой по точкам для формирования фигуры клиента: кривые различных порядков, кривые Безье, сплайны. Из рассмотренных удовлетворял требованиям только последний; для более качественного построения сегменты сплайна соединялись кривыми Безье.
На основе выбранных алгоритмов были составлены новые. Работа алгоритмов разделена на две части: сначала строится фигура с помощью сплайнов, уточняется и обрабатывается, а затем данные фигуры передаются алгоритму масштабирования для окончательной обработки изображения.
Тестирование показало, что алгоритмы могут дать более точное представление о том, как купленная вещь будет смотреться на клиенте. Использование алгоритмов, возможно, не даст гарантию удачной покупки, но поможет сделать более взвешенный выбор.
Уже сейчас видно множество путей возможного дальнейшего развития алгоритмов: сокращение количества используемых ключевых точек, усовершенствование алгоритма построения фигуры, использование более качественных алгоритмов масштабирования, переход к построению трехмерной фигуры.
Сегодня виртуальные примерочные находятся на довольно низкой ступени развития, и отчасти это объясняется сложностью создания такого приложения, которое бы учитывало все нюансы как поведения одежды, так и построения фигуры. Со стороны клиента нежелание использовать такие примерочные продиктовано отсутствием выбора способа посмотреть желаемую вещь: одно дело смотреть на фото модели, и совсем другое - на свое собственное. Разработанные алгоритмы призваны расширить возможности современных примерочных за счет учета особенностей фигуры при примерке.