Тип работы:
Предмет:
Язык работы:


ИЗВЛЕЧЕНИЕ СТРУКТУРИРОВАННЫХ ДАННЫХ ИЗ ВИЗУАЛЬНОГО ДИЗАЙНА МОБИЛЬНЫХ ПРИЛОЖЕНИЙ С ПРИМЕНЕНИЕМ МЕТОДОВ МАШИННОГО ОБУЧЕНИЯ

Работа №35388

Тип работы

Дипломные работы, ВКР

Предмет

информационные системы

Объем работы68
Год сдачи2019
Стоимость4900 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
260
Не подходит работа?

Узнай цену на написание


Введение
Обзор предметной области 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 для подключения сторонних клиентских приложений.


Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


В результате выполнения данной работы был разработан программный инструмент для автоматической генерации структуры пользовательского интерфейса мобильного приложения по данным графического редактора Sketch.
Для достижения поставленной цели были выполнены следующие задачи:
• сформирован список классов распознаваемых компонентов и их атрибутов;
• реализован модуль определения классов по заданному дизайну с применением методов машинного обучения;
• разработан модуль для извлечения атрибутов элементов дизайна по распознанным компонентам;
• реализована генерация структуры компонентов;
• реализован API для подключения сторонних клиентских приложений. Разработанное решение поможет реализовать генерацию кода
пользовательского интерфейса мобильного приложения, что может существенно уменьшить временные затраты на разработку
пользовательского интерфейса приложения. Также, оно может быть использовано в других задачах, например, для сбора статистики используемых компонентов в дизайне.
В дальнейшем в приложение может быть добавлена поддержка других программ для разработки дизайна: Photoshop, Figma и другие.
Также будет продолжена работа для увеличения точности распознавания классов компонентов, в частности будет реализован функционал для дообучения нейронной сети. 


1. Beltramelli, Т. pix2code: Generating Code from a Graphical User Interface Screenshot [Text] / T. Beltramelli // arXiv preprint arXiv: 1705.07962. - 2017. -P. 3-8.
2. Zaremba, W. Recurrent neural network regularization [Text] / W. Zaremba I. Sutskever, O. Vinyals // arXiv: 1409.2329. - 2014. - P. 12.
3. Krizhevsky, A. Imagenet classification with deep convolutional neural networks [Text] / A. Krizhevsky, I. Sutskever, G. E. Hinton // Advances in neural information processing systems. - 2012, P. 1097-1105.
4. Xu, K. Neural image caption generation with visual attention [Text] / K. Xu,
J. Ba, R. Kiros, K. Cho, A. C. Courville, R. Salakhutdinov, R. S. Zemel, Y. Bengio//ICML. -2015. - V. 14. - P. 77-81.
5. Simonya, K. Very deep convolutional networks for large-scale image recognition [Text] / K. Simonya, A. Zisserman // arXiv preprint arXiv: 1409. -2014. -P. 1556.
6. Sketching Interfaces: Generating code from low fidelity wireframes [Электронный ресурс]. - URL: https://airbnb.design/sketching-interfaces (дата обращения: 10.10.2018).
7. Turning Design Mockups Into Code With Deep Learning [Электронный ресурс]. - URL: https://blog.floydhub.com/Tuming-design-mockups-into- code-with-deep-leaming (дата обращения: 17.11.2018).
8. TensorFlow: An open source machine learning framework for everyone
[Электронный ресурс]. - URL: https://www.tensorflow.org (дата
обращения: 24.12.2019).
9. TensorFlow Object Detection API [Электронный ресурс]. - URL: https://github.com/tensorflow/models/tree/master/research/object_detection (дата обращения: 24.12.2018).
10. Review of Deep Learning Algorithms for Object Detection [Электронный
ресурс]. - URL: https://medium.com/comet-app/review-of-deep-leaming-
algorithms-for-object-detection-clf3d437b852 (дата обращения:
10.01.2019) .
11. Python programming language [Электронный ресурс]. - URL: https://www.python.org (дата обращения: 24.12.2018).
12. Google Cloud Platform [Электронный ресурс]. - URL: https://cloud.google.com (дата обращения: 15.01.2019).
13. NodeJS platform [Электронный ресурс]. - URL: https://nodejs.org/en (дата обращения: 24.12.2018).
14. sketch2json [Электронный ресурс]. - URL: https://github.com/
stackdot/sketch2json (дата обращения 10.02.2019).
15. python-shell [Электронный ресурс]. - URL: https://www.npmjs.com/
package/python-shell (дата обращения 02.02.2019).
16. Review of Deep Learning Algorithms for Object Detection [Электронный
ресурс]. - URL: https://medium.com/zylapp/review-of-deep-leaming-
algorithms-for-object-detection-clf3d437b852 (дата обращения:
20.01.2019) .
17. Tensorflow detection model [Электронный ресурс]. - URL: https://github.com/tensorflow/models/blob/master/research/object_detection/ g3doc/detection_model_zoo.md (дата обращения: 25.01.2019).
18. m AP (mean Average Precision) for Object Detection [Электронный ресурс]. - URL: - https://medium.com/@jonathan_hui/map-mean-average- precision-for-object-detection-45cl21a31173 (дата обращения: 25.01.2019)
19. Rico: A Mobile App Dataset for Building Data-Driven Design Application
[Электронный ресурс]. - URL: http://interactionmining.org (дата
обращения: 14.01.2019).
20. Using TFRecords [Электронный ресурс]. - URL: https://www.tensorflow.org/tutorials/load_data/tf_records (дата обращения
11.01.2019) .
21. Everything you need to know about the Sketch 43 file format [Электронный
ресурс]. - URL: httpsV/medium.com/sketch-app-sources/everything
-you-need-to-know-about-the-sketch-43-file-format-If0ba31c3096 (дата обращения: 01.02.2019).
22. Sketch [Электронный ресурс]. - URL: https://www.sketch.com/ (дата обращения 24.12.2018).

Работу высылаем на протяжении 30 минут после оплаты.




©2025 Cервис помощи студентам в выполнении работ