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


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

Работа №45736

Тип работы

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

Предмет

информатика

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

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


Введение 3
1. Постановка задачи 6
2. Этапы решения 7
2.1 Представление звука как информации 7
2.2 Архитектура нейронной сети 13
2.3 Адаптация модели для мобильного приложения 29
2.4 Разработка интерфейса приложения 30
3. Реализация 37
3.1 Использованные технологии 37
3.2 Технические характеристики приложения 37
4. Эксперименты 39
5. Сравнение результатов 43
Заключение 45
Список литературы 46
Приложение (В текущем разделе представлен код, реализованный при написание данной
квалификационной выпускной работы)

Мобильные телефоны развиваются с каждым годом и давно перестали быть лишь средством связи между людьми. Сегодня телефон помогает нам во всех повседневных задачах. Он облегчает нам поиск информации, получение актуальных новостей и погодных сводок. Подсказывает сколько шагов нужно сделать в день и что съесть, чтобы быть здоровым. Смартфоны, вошли в нашу жизнь и стали настолько функциональны, что сложно сказать, что они не могут делать: он обладает функциями и фотоаппарата, и видеокамеры, и mp3-плеера. Фактически, современные телефоны являются уменьшенной копией настольного компьютера, которую вы всегда можете носить с собой. А с развитием технологий появляется все больше и больше различных мобильных устройств: от ноутбуков и телевизоров, до смартфонов и умных часов, и многие из них выпускаются на платформе операционной системы Linux - Android. Вот несколько причин, почему эта система стала так популярна.
Начнем с того, что Android является кроссплатформенной операционной системой, что позволяет запускать его под огромное множество различных устройств от различных производителей. Кроме того, нельзя упустить тот факт, что разработка под Android имеет огромное количество различных средств и инструментов. Эти инструменты, в своем большинстве, являются бесплатными, в то время как производство и распространение ПО, например, для техники компании Apple требует покупки лицензий на продажу и специализированных сред разработки. В дополнение ко всему вышесказанному, благодаря своей популярности, под Android разработано большое количество различных библиотек, в том числе и для работы с нейронными сетями [1].
Учитывая все это, выбор Android в качестве платформы для ведения разработки является более чем оправданным.
Данная работа посвящена определению фазы человеческого сна, ведь, как известно, сон - это особое состояние человеческого сознания, включающее в себя целый ряд стадий, закономерно повторяющихся в течение ночи, называемых фазами сна. Появление этих стадий обусловлено активностью различных структур мозга [2].
При нормально суточном графике сна, его структуру составляют четыре основные фазы длительностью от 80 до 90 минут - это фаза сновидений и дремоты, фаза неглубокого сна, когда человека легко разбудить, фаза медленного сна и фаза самого глубокого сна, когда разбудить человека очень сложно. Наиболее комфортной для пробуждения фазой является вторая. При здоровом сне человек просыпается именно в эту фазу и чувствует себя наиболее выспавшимся. Однако, в условиях современного мира человек может ложиться спать и просыпаться не соответственно этим фазам из-за будильника и плотного графика, что приводит к ухудшению внимательности, плохому самочувствию и снижению аппетита. В итоге, производительность труда в такой день будет значительно снижена.
Для решения данной проблемы были разработаны были разработаны так называемые «умные» будильники. Принцип их работы таков, что необходимо положить будильник на кровать рядом с собой, при помощи акселерометров устройство определяет фазу сна: фазе неглубокого сна предшествует фаза, в которой человек чаще и интенсивнее проявляет мышечную активность, например, переворачивается с бока на бок. При выявлении такой фазы умный будильник включается и позволяет человеку комфортно проснуться.
У такого подхода есть ряд очевидных минусов: он сильно зависит от качества матраса, от того, насколько устройство близко расположено к человеку. Также не исключена возможность падения такого устройства с кровати, что не даст сделать верное предсказание фазы сна.
Данная выпускная квалификационная работа представляет собой альтернативное решение: вместо того, чтобы опираться на показания акселерометра, можно вести запись звуков во время сна и сделать предсказания на этой основе, потому что во время стадии неглубокого сна человек также имеет учащенное дыхание и храп. Опираясь на эти показатели можно достаточно точно определить время второй фазы сна. И для этого не потребуется класть телефон на кровать: достаточно положить его на комод неподалеку от пользователя. Для решения этой задачи был выбран подход на основе алгоритмов машинного обучения.

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

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

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


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



1. Tensorflow Mobile: Building TensorFlow on Android, https://www.tensorflow.org/mobile/android_build
2. Википедия: Сон, https://ru.wikipedia.org/wiki/CoH
3. И. П. Голямина. Звук // Физическая энциклопедия: [в 5 т.] / Гл. ред. А. М. Прохоров. — М.: Советская энциклопедия (тт. 1—2); Большая Российская энциклопедия (тт. 3—5), 1988—1999
4. Урок "Определение объема звукового файла", http: //informatika.edusite.ru/lezione 10_12i. htma
5. How to teach Neural Networks to detect everyday sounds, https://www.skcript.com/svr/building-audio-classifier-nueral-network/
6. AudioSet: A large-scale dataset of manually annotated audio events, https://research.google.com/audioset/
7. Мел-кепстральные коэффициенты (MFCC) и распознавание речи, https://habr.com/post/140828/
8. Свёрточная нейронная сеть,
https: //ru.wikipedia. org/wiki/Cвёртoчная_нейрoнная_сеть
9. Глубокое обучение для новичков: распознаем изображения с помощью сверточных сетей, https://habr.Com/company/wunderfund/blog/314872/
10. CS231n Convolutional Neural Networks for Visual Recognition, http://cs231 n.github.io/convolutional-networks/#pool
11. Сверточная нейронная сеть, часть 1: структура, топология, функции активации и обучающее множество, https://habr.com/post/348000/
12. What is meant by "Batch" in machine learning, https://www.quora.com/What- is-meant-by-Batch-in-machine-learning
13. Types of Optimization Algorithms used in Neural Networks and Ways to Optimize Gradient Descent, https://towardsdatascience.com/types-of- optimization-algorithms-used-in-neural-networks-and-ways-to-optimize- gradient-95ae5d39529f
14. Gentle Introduction to the Adam Optimization Algorithm for Deep Learning, https://machinelearningmastery.com/adam-optimization-algorithm-for-deep- learning/
15. Diederik P. Kingma, Jimmy Lei Ba. - Adam: A Method for Stochastic Optimization, 2014-2017
16. Softmax, https://ru.wikipedia.org/wiki/Softmax
17. Распознавание: Переобучение, http://www.machinelearning.ru/wiki/index.php?title=%D0%9F%D0%B5%D1 %80%D0%B5%D0%BE%D0%B1 %D 1 %83%D 1 %87%D0%B5%D0%BD%D 0%B8%D0%B5
18. Dropout — метод решения проблемы переобучения в нейронных сетях, https: //habr.com/company/wunderfund/blog/330814/
19. Batch Normalization для ускорения обучения нейронных сетей, https://habr.com/post/309302/
20. Protocol Buffers, https://ru.wikipedia.org/wiki/Protocol_Buffers
21. TensorFlow: How to freeze a model and serve it with a python API, https://blog.metaflow.fr/tensorflow-how-to-freeze-a-model-and-serve-it-with- a-python-api-d4f3596b3adc
22. Android Developers: AlarmManager, https://developer.android.com/reference/android/app/AlarmManager
23. Таймер - классы Timer и TimerTask,
http: //developer.alexanderklimov.ru/android/j ava/timer.php
24. Android Developers: AudioFormat,
https: //developer.android.com/reference/android/media/AudioF ormat


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




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