Тема: ИЗВЛЕЧЕНИЕ СТРУКТУРИРОВАННЫХ ДАННЫХ ИЗ ВИЗУАЛЬНОГО ДИЗАЙНА МОБИЛЬНЫХ ПРИЛОЖЕНИЙ С ПРИМЕНЕНИЕМ МЕТОДОВ МАШИННОГО ОБУЧЕНИЯ
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
Обзор предметной области 6
1.1 Инструмент pix2code 6
1.2 Инструмент AirBnB Sketching Interfaces 8
1.3 Инструмент FloydHub 9
1.4 Обзор средств разработки 10
2 Архитектура приложения 13
2.1 Функциональные требования к системе 13
2.2 Функциональные части приложения 13
2.3 Концепция работы приложения 15
3 Сервис распознавания компонентов 17
3.1 Методы для определения объектов 17
3.1.1 Region-based Convolutional Network (R-CNN) 17
3.1.2 Fast Region-based Convolutional Network (Fast R-CNN) 18
3.1.3 Faster Region-based Convolutional Network (Faster R-CNN) 19
3.1.4 Single-Shot Detector (SSD) 20
3.2 Выбор модели 21
3.3 Подготовка датасета 23
3.4 Конфигурация Object Detection Training Pipeline 27
3.5 Обучение модели 28
3.6 Результат работы модели 29
4 Реализация Sketch Service 32
4.1 Описание Sketch Web Service 32
4.2 Структура Sketch-файла 32
4.3 Интеграция с Object Detection Service 33
4.4 Сопоставление распознанных компонентов со слоями Sketch 34
4.5 Организация компонентов в иерархическую структуру 37
4.6 Получение атрибутов стилизации компонентов 41
4.7 Генерация JSON-объекта с иерархической структурой экрана 41
Заключение 43
Словарь терминов 45
Список использованных источников 46
Приложение
📖 Введение
Реализация пользовательского интерфейса для мобильного приложения может занять значительное количество времени из-за следующих факторов:
• стилизация отдельных компонентов может потребовать установления большого количества атрибутов;
• взаимное расположение компонентов требует правильного определения внутренних и внешних отступов;
• необходимо поддерживать корректное отображение пользовательского интерфейса на всех платформах.
Однако, в большинстве случаев разработка пользовательского интерфейса производится по готовому дизайну. Автоматизация процесса разработки пользовательского интерфейса на основе дизайна значительно сократит время, потраченное на реализацию UI.
При разработке дизайна мобильного приложения в таких программах как Sketch, дизайнеры указывают большинство атрибутов компонентов, которые можно использовать при генерации кода. Однако, в этих программах большинство компонентов реализуются в виде векторной графики, из-за чего невозможно определить класс компонента. Дополнительную сложность для генерации исходного кода создает то, что все элементы имеют абсолютные координаты. Без информации о классе компонента и иерархической структуры их расположения невозможно сгенерировать код UI-части.
Целью данной работы является разработка инструмента для автоматической генерации структуры пользовательского интерфейса мобильного приложения по данным графического редактора Sketch.
Для достижения данной цели были поставлены следующие задачи:
• сформировать список классов распознаваемых компонентов и их атрибутов;
• реализовать модуль определения классов по заданному дизайну с применением методов машинного обучения;
• разработать модуль для извлечения атрибутов элементов дизайна по распознанным компонентам;
• реализовать генерацию структуры компонентов;
• реализовать API для подключения сторонних клиентских приложений.
✅ Заключение
Для достижения поставленной цели были выполнены следующие задачи:
• сформирован список классов распознаваемых компонентов и их атрибутов;
• реализован модуль определения классов по заданному дизайну с применением методов машинного обучения;
• разработан модуль для извлечения атрибутов элементов дизайна по распознанным компонентам;
• реализована генерация структуры компонентов;
• реализован API для подключения сторонних клиентских приложений. Разработанное решение поможет реализовать генерацию кода
пользовательского интерфейса мобильного приложения, что может существенно уменьшить временные затраты на разработку
пользовательского интерфейса приложения. Также, оно может быть использовано в других задачах, например, для сбора статистики используемых компонентов в дизайне.
В дальнейшем в приложение может быть добавлена поддержка других программ для разработки дизайна: Photoshop, Figma и другие.
Также будет продолжена работа для увеличения точности распознавания классов компонентов, в частности будет реализован функционал для дообучения нейронной сети.



