Разработка мобильного приложения для распознавания продуктов питания и формирование рецепта из них - Студенческий научный форум

XI Международная студенческая научная конференция Студенческий научный форум - 2019

Разработка мобильного приложения для распознавания продуктов питания и формирование рецепта из них

 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

ПЕРЕЧЕНЬ ПРИНЯТЫХ СОКРАЩЕНИЙ

EAEnterpriseArchitect;

IDE – Integrated Development Environment;

JDK – Java Development Kit;

SDK – Software Development Kit;

UML – Unified Modeling Language;

БД – База Данных;

ИК – Инфракрасное Излучение;

ИС – Информационная Система;

ОС – Операционная Система;

ПО – Программное Обеспечение;

СНГ – Содружество Независимых государств.

Введение

В настоящее время идет активное внедрение новых технологий для упрощения жизни. Управление освещением, шторами, рольставнями, воротами, дистанционное включение/отключение кондиционера или отопления, мониторинг температур, влажности, освещенности в помещении, являются стандартным набором возможностей Умного дома. Помимо этого появились новые функции у бытовой техники. Изменения коснулись и холодильников. Такие компании как Panasonic, LG, Samsung, MicrosoftиLiebherr, Bosch занимают лидирующие позиции в их инновациях. Отсутствие аналогов на российском рынке делает эту работу наиболее актуальной.

Данная система необходима для:

решения задач дистанционного распознавания содержимого холодильника;

повышения эффективности приготовления продуктов за счет выбора из всех возможных вариаций рецептов из имеющихся продуктов;

оптимизации времени путем автоматического формирования покупок.

Целью данной работы является создание мобильного приложения для взаимодействия с информационной системой «Умный холодильник». Внедрение, которого обеспечит:

удобство просмотра содержимого холодильник со смартфона, без необходимости его открывать;

возможность добавления товара в список покупок;

совершение интерактивного заказа продуктов, отправив необходимые данные в сервис доставки;

выбор оптимального рецепта приготовления блюда из имеющихся продуктов.

Основными назначениями информационной системы являются возможности распознавание содержимого и предоставление информации имеющихся продуктах пользователю.

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

Во втором разделе будет произведено моделирование диаграмм вариантов использования, состояний, развертывания, последовательности, компонентов, деятельности в EnterpriseArchitect (EA).

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

1 АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ

1.1 Общие сведения

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

Так же будет сформировано представление об аналогах мобильных приложений, которые работают совместно с системой Умного холодильника или являются отдельными сервисами по составлению рецептов. Выявлены их достоинства и недостатки.

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

Заключительным этапом главы является формирование требований к мобильному приложению.

1.2 Анализ аналогов и патентов

Почти у всех разработчиков Умных холодильников имеются патенты на их изобретение. Так как компании Panasonic, LG, Samsung, Microsoft и Liebherr, Bosch занимают лидирующие позиции в развитии Умного дома, то необходимо рассмотреть их технологии и патенты.

В июне 2016 года Bosch представила KGN36HI32. Данный холодильник имеет приложение которое можно установить на смартфон или планшет, оно позволит просматривать изображение с двух камер, находящихся внутри. Пользователь может просмотреть 20 последних фотографий содержимого через данное приложение HomeConnectApp. Так же есть возможность заказывать доставку продуктов на дом, отрегулировать температуру холодильного или морозильного отделения, уведомления, если дверцы закрыты неправильно.

Патент WO 2014016212 A1 – «Умный холодильник, охладительная система включающая в себя умный холодильник, и метод управления ими» был опубликован 30 января 2014 года, заявителем является BSHBoschundSiemensHausgerateGmbH[1]. Изобретение включает в себя: устройство съемки изображения, расположенное внутри холодильника; и устройство управления, используемое для управления устройством съемки, приема снятого изображения и отправки принятого изображения на удаленный терминал; устройство расчета веса, которое расположено на полках.

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

Процессор изображения дополнительно включает в себя: модуль предварительного информирования; модуль улучшения изображения, очерчивание контуров объектов; модель сравнения полученного изображения с предыдущим изображением. При желании пользователя содержимое может быть представлено в формате фото или видео.

Устройства съемки расположены на боковой, задней или верхней стенке отсека для хранения. Оно может перемещаться вдоль боковой стенки или по опоре для хранения бутылок. Пожеланию можно оборудовать камеру осветителем, инфракрасным устройством, Bluetooth, Wi-Fi.

Удаленным терминалом могут быть мобильные телефоны, компьютеры или планшеты.

Данный патент имеет следующие преимущества:

Дистанционное получение информации о хранящихся продуктах.

Три способа управления: команда с удаленного терминала. Команда от датчика веса, когда масса станет меньше установленного пользователем или меньше продуктов первой необходимости; команда от таймера о свободном времени у пользователя, а затем он сам определяет необходимость закупки.

Имеется модуль для улучшения изображения.

Беспроводная связь с устройством управления.

Устройство съемки включает в себя камеру и лампу.

Microsoft и Liebherr разработали новые модели холодильников поколения BluPerfomanceс модулем SmartDeviceBox, который умеет распознавать продукты, определять наилучшие условия для их хранения. Также имеет голосовое управление – модуль Mia, сделанный на базе MicrosoftCortana. Информация о содержимом хранится в приложении на смартфоне или планшете. Программа позволяет планировать список покупок, заказывать необходимые продукты с сервисов доставок. Используется алгоритмы, входящие в состав нейросетевого инструментария CNTK. Разработанный холодильник еще не поступил в продажу. Производители посчитали необходимым подвергнуть холодильник некоторым модернизациям.

В июне 2017 года SamsungElectronics в партнерстве с SmartKitchenSummit разработала холодильник SamsungFamilyHub. Была внедрена технология распознавания голоса и дисплея 21,5 дюйма на дверце холодильника, которая помогает в поиске рецепта, прогноза погоды, добавления продуктов в список покупок, воспроизведении музыки и просмотра содержимого холодильника. Существует возможность заказа доставки продуктов Instacart и Groceries от MasterCard. Сенсорный экран выполняет функцию доски объявления, обмен фотографиями, обновление календаря и добавления записок для членов семьи. Внутри холодильника встроены три камеры: они делают снимки при каждом закрытии дверцы, просмотреть эти изображения можно с помощью приложения.

«Метод управления запасами для холодильника с использованием мобильного терминала» запатентован компанией SamsungElectronicsCo., Ltd. 11 ноября 2008 года [2]. Способ управления основан на сканировании RF-тегов, прикрепленных к изделиям вручную. Мобильное приложение не только хранит информацию о хранящихся продуктах, но и предлагает рецепты, а недостающие продукты добавляются в список покупок.

Холодильник снабжен ЖК-дисплеем, на котором отображается информация о температурах в отсеках заморозки и охлаждения, хранимых продуктах и их сроках годности. Метод распознавания основан на радиочастотной идентификации (RFID), в которой используется метка. RF-метка передает информацию, когда обнаруживает сигнал с заданной частотой. Сканер начинает работать всякий раз когда открывается дверь холодильника. Так же есть возможность ввода данных вручную через интернет для упрощения процесса ввода вручную.

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

На выставке CES 2017 компания LG показала новую модель холодильников Door-in-Door. Они оснащены сенсорным экраном с диагональю 29 дюймов. Функция InstaView, с помощью 2.0 мегапиксельной панорамной камеры со сверх широкоугольным объективом, позволяет узнать, что внутри холодильника, не открывая дверь. Распознавание голоса AlexaVoiceService от компании Amazon предоставляет доступ к поиску рецептов, воспроизведению музыки, размещению заказов на доставку продуктов питания, созданию списка покупок, установке таймера, проверки прогноза погоды и прочему. Меню SmartTag позволяет добавить стикеры и ярлыки, указывающие, какие продукты хранятся в холодильнике, а так же вводить их срок годности.

От компании LgElectronicsInc.US6393848 B2 – «Интернет холодильник и способ его использования», опубликован 28 мая 2002 года [3]. Интернет-холодильник включает в себя модем для осуществления обмена данными с удаленными устройствами связи через интернет.

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

Патент на Интернет-холодильник имеет множество преимуществ, однако главным недостатком является отсутствие распознавания продуктов.

В сентябре 2017 года на выставке бытовой техники IFA компания Panasonic представила самоходный холодильник мини-бар, способный отзываться на голосовые команды. Благодаря системе из лазерных дальномеров и ультразвуковых датчиков, не врезается ни в мебель, ни в людей, ни в домашних животных. Холодильник связан с базой данных, с помощью которой он может рекомендовать продукты, подходящие к хранящимся внутри напиткам. Данное устройство еще не поступило в продажу.

В таблице 1.1 представлен сравнительный анализ существующих технологий рассмотренных компаний. Сравнение происходит по нескольким параметрам: дисплей на дверце холодильника и отображение на нем содержимого или с помощью мобильного приложения, возможность голосового управления, распознавания содержимого.

Таблица 1.1 – Результаты сравнительного анализа технологий

Возможности

Компания

Дисплей

Распознавание голоса

Распознавание содержимого

Отображение содержимого

Приложение

Panasonic

-

+

+

-

-

LG

+

+

-

+

+

Samsung

+

+

-

+

+

Microsoft и Liebherr

-

+

+

-

+

Bosch

-

-

-

+

+

Существует еще несколько патентов на создание, но реализация отсутствует. Они представлены ниже.

Грант US9279611 B2 от компании ShenzhenK&DTechnologyCo., Ltd. имеет название «Интеллектуальный холодильник с прикладной системой на базе интернета». Дата публикации 8 марта 2016 года [4]. Содержит в себе основной корпус и модуль управления, который в нем расположен. Корпус так же содержит центральный модуль системы обработки, модуль управления соединенный с центральным модулем системы обработки через интерфейс UART, модуль сенсорного дисплея. Управление информацией о хранящихся продуктах может быть осуществлено графическим способом.

Центральный модуль дополнительно подключен к сенсорному дисплею и к модулю сетевой связи для подключения к интернету. Центральный модуль содержит: блок управления хранилищем пищевых продуктов (изображения), блок запроса и заказа, блок мониторинга качества еды.

Модуль сетевой связи представляет собой: модуль Wi-Fi, модуль Ethernet, модуль радиосвязи GPRS. Позволяет соединить удаленного клиента (пользователя) с центральным модулем для совершения онлайн-покупок. Удаленный клиент представляет собой мобильный телефон, планшетный компьютер, компьютер.

«Система умного холодильника с дисплеем» – грант с номером CN103673499 B, опубликован 16 марта 2016 года [5]. Холодильник содержит: датчик свежести, датчик температуры, модель ввода, считывающее устройство, модуль отображения, модуль сигнализации, микропроцессор и модуль питания. Работа системы происходит по следующим этапам:

Датчики считывают информацию о состоянии холодильника, передают ее на микропроцессор.

Пользователь складывает продукты питания и ставит маркеры, на микропроцессор поступает информация о поступлении объектов.

Происходит сканирование маркеров, сохранение полученных результатов.

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

Следующий патент US9449208 B2 патентообладатель Paypal, Inc., называется «Разделенный умный холодильник с автоматическим управлением товарами», опубликован 20 сентября 2016 года [6]. Распознавание продуктов осуществляется по меткам, которые пользователь устанавливает самостоятельно.

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

Имеется компонент сетевого интерфейса, соединяющий систему с сетью, память, один или несколько аппаратных процессоров. Операции, которые выполняет процессор: считывание команд с памяти, получение информации о предмете, соответствующему одному или нескольким считывающим устройствам, определение комфортной температуры для продукта и ее регулировка в отсеке.

Достоинства патента US9449208 B2:

Дистанционное управление.

Автоматическая регулировка температуры в отсеке.

Уведомление о необходимости закупить продукты, если вес становится меньше.

Учет срока годности продуктов.

Рассмотренный патент похож на техническое решение гранта CN103673499 B. Отличием является то, что грант не имеет приложения для пользователя. Все управление происходит непосредственно через дисплей, расположенный на холодильнике.

В результате проведенного анализа были рассмотрены новые разработки ведущих производителей в области умных холодильников. Выявлены недостатки и достоинства имеющихся технологий, которые необходимо учесть при дальнейшей разработке. Аналогов от российских производителей Бирюса, Орск, POZIS, Смоленск, Океан на данный момент не существует.

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

1.3 Анализ аналогов мобильных приложений

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

Приложение для холодильника от компании Microsoft и Liebherr еще не доступно для скачивания, поскольку холодильник не поступил в продажу. Планируется, что это приложение будет предоставлять список имеющихся ингредиентов, а не фотографии.

Например, у производителя LG имеется приложение «LG DOOR-IN-DOOR™ 3D AR». Данное приложение работает только при наличии холодильника. Сначала необходимо навести камеру на AR маркер, после можно визуализировать содержимое на телефоне, изображение будет в сферическом зрении. Внешний вид приложения представлен на рисунке 1.1.

Рисунок 1.1 - LG DOOR-IN-DOOR™ 3D AR

Samsung тоже имеет приложение для своего холодильника – «SamsungFamilyHub». На двери находится камера, которая снимает содержимое при каждом закрытии, которое после можно посмотреть на телефоне. Так же есть возможность оставлять записки, фотографии, составлять список покупок, список дел, прикреплять фотографии и отправлять их на дисплей холодильника. Внешний вид приложения представлен на рисунке 1.2.

Рисунок 1.2 - SamsungFamilyHub

Так же у компании Bosch имеется приложение «HomeConnect». У этого приложения так же есть доступ к посудомоечной машине, духовому шкафу, стиральной машине, кофеварке, вытяжке, сушилке. В приложении нет возможности распознавания хранящихся продуктов, показывается двадцать последних фотографий содержимого. Приложение отображено на рисунке 1.3.

Рисунок 1.3 - HomeConnect

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

Самым популярным приложением является «Что готовим?». В начале работы необходимо указать имеющиеся продукты, поставить приоритет. Далее приложение предлагает возможные варианты блюд. Есть функция поиска рецептов по ключевым словам, формирования списка покупок, записи собственных рецептов, создания кулинарной книги. Имеет русскоязычное меню. Каталог содержит категории: супы, салаты, закуски, горячие блюда, гарниры, каши, вегетарианские блюда, выпечка, десерты, рецепты мультиварки, соусы, напитки. Приложение имеет рецептурную базу для более чем 850 блюд. Внешний вид приложения представлен на рисунке 1.4.

Рисунок 1.4 – Что готовим?

Другое приложение – 4Recipes. Поиск рецептов происходит аналогично, то есть необходимо самостоятельно указать перечень имеющихся продуктов. Но приложение указывает, что необходимо докупить, если не хватает ингредиентов для блюда. Приложение имеет сопровождение на русском языке. Так же есть возможность создания списка продуктов, добавлять других пользователей в друзья и делиться с ними приготовленными блюдами, просмотреть историю всех выполненных рецептов, просмотреть свои достижения, добавить понравившуюся еду в избранное, оставить отзыв. В приложении несколько категорий: горячие блюда, супы, салаты, завтраки, закуски, десерты, соусы, напитки. База рецептов более 1200 рецептов. Приложение изображено на рисунке 1.5.

Рисунок 1.5 - 4Recipes

AllRecipies – приложение для поиска рецептов. Поиск осуществляется не только по категории и ингредиентам, но и по времени приготовления. Кроме того, можно указать отсутствие мяса, молочных продуктов или мучного. Есть функция которая предлагает пользователю случайный рецепт. Так же можно создавать список покупок и сохранять лучшие блюда в раздел фаворитов. Данное приложение не имеет русскоязычной версии. Приложение показано на рисунке 1.6.

Рисунок 1.6 - AllRecipies

Результаты сравнительного анализа приложений представлены в таблице 1.2.

Таблица 1.2 – Анализ приложений

Название

Предложение рецептов

Отображение содержимого

Автоматическое распознавание содержимого

Поддержка русского языка

LG DOOR-IN-DOOR™ 3D AR

-

+

+

-

SamsungFamilyHub

-

+

-

-

HomeConnect

-

+

-

-

Что готовим?

+

-

-

+

4Recipes

+

-

-

+

AllRecipies

+

-

-

-

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

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

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

Так как процесс создания информационной системы трудоемкий, то в работе будет рассматриваться только создание мобильного приложения. Мобильное приложение будет создано для операционной системы Android.

1.4 Возможности распознавания продуктов

Создание умного холодильника очень затратное дело, а значит, цена такого устройства будет высока и не доступна широкому кругу лиц. Более выгодно было бы улучшить уже имеющийся. Для этого необходимо решить основную задачу – распознавание. Есть несколько возможностей это осуществить: штрих-коды, RFid, распознавание голоса и другие.

1.4.1 Штрих-код

Штрих-код – графическая информация, наносимая на поверхность. На данный момент все продукты имеют свой собственный штрих-код. Выполняет следующие функции:

информационное обеспечение маркетинговых исследований;

автоматизированная идентификация товаров с помощью машинно-считывающих устройств;

автоматизированный контроль и учет товарных запасов;

оперативное управление процессом товародвижения.

Сканеры для считывания штрих-кодов можно разделить на светодиодные, лазерные и imager.

CCD сканер имеет встроенную светодиодную матрицу, которая обеспечивает засветку кода и получает его отражение. Такие сканеры делятся на два типа: контактные и бесконтактные. Контактные дешевые, но имеют маленькую ширину поля сканирования (до 80 мм) и небольшое расстояние (от 0 до 2 мм). Бесконтактные более дорогие, но имеют большую область засветки штрих-кода и расстояние считывания до 30 см. Но CCD сканеры обладают рядом преимуществ – малая стоимость, высокая скорость считывания. К недостаткам можно отнести небольшую ширину поля сканирования и расстояние, недостоверность считывания, как с обычных так и с криволинейных плоскостей.

Лазерные сканеры построены на основе лазерного диода. Развертка лазерного луча сканеры обеспечивается за счет качающегося зеркала, которое отражает луч лазерного диода и направляет его на штрих-код по определенной траектории.

Линейные лазерные сканеры обладают высокой скоростью и большим расстоянием считывания (до 10 метров) штрих-кода. Основным недостатком является невысокая надежность, сканер необходимо жестко позиционировать относительно кода для считывания.

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

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

считывание кода на расстоянии до 2-х метров;

скорость сканирования от 270 до 450 скан/сек;

чтение кода при любой внешней освещенности – от полной темноты до яркого света.

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

фотографирование штрих-кода с последующим декодированием;

чтение кода при любой ориентации сканера относительно кода;

чтение любых видов кодов – одномерных и двухмерных, захват подписей;

одновременное считывание нескольких штрих-кодов;

чтение кода при любой внешней освещенности.

Основным минусом всех рассмотренных сканеров является необходимость учесть те продукты собственного производства, в тарах, кастрюлях. Их нужно будет маркировать пользователю самостоятельно.

1.4.2 RFID

RFID – способ автоматической идентификации объектов, в котором посредством радиосигналов считываются или записываются данные, хранящиеся в RFID-метках. Состоит из двух частей: считывающее устройство и транспондера (метка). Необходимо установить в холодильник сканеры и вручную маркировать продукты.

RFID- считыватель работает с метками по беспроводному каналу связи, большинство ридеров помимо функции считывания имеют возможность ее кодирования – записывать метку в память. Стационарный считыватель может одновременно считывать данные с большого количества меток, большую зону охвата. Ручной считыватель имеет меньшую зону охвата, но есть возможность подсоединиться к ПК, может иметь поддержку Wi-Fi.

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

1.4.3 Распознавание речи

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

Помехоустойчивость обеспечивается двумя путями:

использование нескольких, параллельно работающих, способов выделения одних и тех же элементов речевого сигнала;

параллельное независимое использование фонемного и целостного восприятия слов в потоке речи.

Этапы распознавания:

Оценка качества речевого сигнала, определение уровня помех и искажений;

Анализ в модуле акустической адаптации, который управляет модулем расчета параметров речи;

Выделение участков, содержание речь. Оценка информации о части речи, форме слова и связи между словами;

Полученная информация поступает на декодер. Определяет наиболее вероятную последовательность слов, которая является конечным результатом.

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

1.4.4 Оптическое распознавание символов

Механический или электронный перевод изображений рукописного, машинного или печатного текста в текстовые данные, использующихся для представления символов в компьютере. Некоторые системы оптического распознавания текста способны восстанавливать исходное форматирование текста, включая изображения, колонки и другие не текстовые компоненты. В настоящее время точное распознавание символов в печатном текст возможно, только если доступно четкое изображение. На изображениях с рукописным текстом может быть достигнута точность распознавания в 80%-90%.

Так же есть распознавание символов онлайн. Разница заключается в том, что при оптическом распознавании используется оффлайн-метод, работающий со статической формой представления текста. Онлайн-системы не могут быть использованы на бумажных носителях.

Распознавание рукописного ввода может производиться как онлайн, так и оффлайн. Для оффлайного распознавания требуется обучение системы распознавания человеком или готовая обучающая выборка. Проводится по следующим пунктам: предобработка изображения; сегментация и нормализация текста из области; распознавание сегментированного текста тем или иным методом.

Основные проблемы распознавания рукописного текста:

высокая вариативность начертания символов (по размеру, наклону, набору составных частей, связей между нами и др.);

орфографические ошибки;

специфические особенности начертания, не позволяющие уверенно разделять символы;

пересечение элементов текста, наложение частей текста друг на друга;

помарки, кляксы, исправления, дефекты бумаги.

Так же для оптического распознания продуктов можно применить метод перебора вида объектов под разными углами или распознавать текст на этикетке. Можно использовать метод поиска контуров объекта и исследовать его свойства. Либо использовать нейронную сеть, но это потребует большого количества примеров задачи распознавания (с правильными ответами). Однако для данных методов необходимо оставить маркировку тар, кастрюль, банок, пакетов, тех продуктов, у которых нет этикеток.

1.5 Требования к разрабатываемому мобильному приложению

Мобильное приложение должно выполнять следующие функции:

Иметь возможность отображать содержимое в виде текста.

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

Возможность совершать заказ недостающих продуктов.

Формирование списка покупок, с возможностью добавления желаемых позиций пользователем самостоятельно.

Иметь гармоничную цветовую гамму, с учетом возможностью людей с дальтонизмом.

Иметь удобочитаемый текст.

Соответствовать требованиям оформления дизайна мобильного приложения.

1.6 Выводы по разделу

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

Рассмотрены приложения для поддержки холодильников и приложения для выбора рецептов приготовления. Разница между ними заключается в том, что первые не предлагают рецепты приготовления, а вторые наоборот не имеют возможность распознать содержимое и перечень продуктов вводится вручную.

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

Так же были рассмотрены имеющиеся возможности для распознавания продуктов питания, которые находятся внутри холодильника. Оптимальным вариантом является распознавание штрих-кодов и рукописного текста, так как не все продукты могут находиться внутри упаковки и пользователю придется подписывать их самостоятельно.

2 ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

2.1 Общие сведения

В данном разделе необходимо создать UML-диаграммы на языке UML, который является стандартом, использующий графические обозначения для создания моделей системы, в программе EnterpriseArchitect. Это поможет уменьшить количество ошибок, сократить время при разработке мобильного приложения «Умный холодильник».

Диаграммы позволяют понять из каких элементов создается система. Поскольку каждому графическому символу на языке UML соответствует конкретное значение, то разрабатываемая модель будет восприниматься однозначно.

2.2 Диаграмма вариантов использования

Диаграмма вариантов использования показывает варианты использования информационной системы, заключенные в ее границы, и внешних актеров, а также определенные отношения между актерами и вариантами использования. Диаграмма вариантов использования информационной системы «Умный холодильник» представлена на рисунке 2.1.

Рисунок 2.1 – диаграмма вариантов использования

В рамках всей системы были выделены следующие действующие лица:

Пользователь – лицо, которое обладает доступом к основной функциональности системы, то есть может осуществлять выбор рецепта приготовления блюда, добавлять дополнительные продукты в список покупок, осуществлять заказ продуктов питания.

База данных – является внутренним компонентом системы, представляет собой хранилище результатов распознавания, а так же играет роль кулинарной книги.

Камера – осуществляет съемку содержимого холодильника.

Смартфон – аппаратное средство для вывода информации в мобильное приложение.

Сервер – устройство для автоматического обслуживания всей системы, занимается такими действиями как распознавание штрих-кодов и рукописного текста на тех продуктах, где содержимое находится в кастрюлях и тому подобном.

Описание вариантов использования представлено в таблицах с 2.1 по 2.6.

Таблица 2.1 – Сценарий 1

Вариант использования

Узнать содержимое холодильника

Актеры

Пользователь, камера, сервер

Цель

Распознать содержимое

Тип

Базовый

Типичный ход событий:

Камера делает снимок;

Происходит распознавание объектов на фотографии;

Формируется список содержимого.

В сценарии 1 представлен ход событий при распознавании содержимого холодильника. Распознавание содержимого происходит автоматически без участия пользователя, но если он выбирает вариант использования «узнать содержимое холодильника», то получает последний результат. Изначально камера делает снимок, отправляет на сервер, где происходят основные процессы распознавания, и после формируется список содержимого.

Таблица 2.2 – Сценарий 2

Вариант использования

Подтвердить заказ

Актеры

Пользователь, база данных, камера

Цель

Купить продукты из списка

Тип

Базовый

Типичный ход событий:

Пользователь отправляет запрос о необходимости создания списка покупок;

ПО сравнивает результаты последних распознаваний;

Формируется список покупок;

Пользователь, при необходимости, вносит изменения;

Пользователь подтверждает необходимость приобрести все продукты из списка;

Заказ передается в службу доставки.

В сценарии 2 пользователь подтверждает заказ продуктов. Так как пользователю распознавание нет необходимости запускать самостоятельно, то в БД хранятся предыдущие записи. Как только пользователь выбирает подтверждение заказа, ему приходит результат сравнения с предыдущими результатами распознавания (отсутствующие продукты). Если в списке пользователя все устраивает, то он может подтвердить заказ. После подтверждения необходимые данные передаются в службу доставки. Помимо самого списка, пользователь указывает адрес и время доставки, которые так же передаются в сервис доставки.

Таблица 2.3 – Сценарий 3

Вариант использования

Узнать что можно приготовить

Актеры

Пользователь, база данных, камера

Цель

Выбрать рецепт приготовления блюда

Тип

Базовый

Типичный ход событий:

Пользователь отправляет запрос о том, что ему необходимо узнать, что можно приготовить;

Система отправляет запрос о том, что нужно распознать содержимое холодильника;

Происходит процесс распознавание фотографий, которые сделала камера внутри холодильника;

Опираясь на те продукты, которые есть, база данных предлагает рецепт пользователю.

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

Таблица 2.4 – Сценарий 4

Вариант использования

Дополнить список покупок

Актеры

Пользователь, база данных

Цель

Составить полный список покупок

Тип

Дополнительный

Типичный ход событий:

Прежде чем подтвердить заказ пользователь ознакомляется со сформированным списком после распознавания продуктов, который хранится в базе данных;

Если не все продукты в списке, то пользователь может внести изменения в него.

Сценарий 4 показывает, как ведет себя система при варианте использования «Дополнить список покупок». Он связан со сценарием 1. Если что-то в списке покупок отсутствует, то пользователь может его дополнить или полностью изменить.

Таблица 2.5 – Сценарий 5

Вариант использования

Отобразить содержимое

Актеры

Смартфон, пользователь

Цель

Отображение пользователю списка содержимого в мобильное приложение на смартфоне

Тип

Базовый

Типичный ход событий:

Пользователь отправляет запрос о том, чтобы узнать что находится внутри холодильника;

Запрашиваются данные о содержимом, которые являются недавними по времени, из базы данных;

Формируется список продуктов;

Смартфон выводит на экран полученный список.

Сценарий 5 является схожим по ходу событий вариантов использований связанных с отображением, то есть выводом данных на экран пользователя. Так как данные распознаются не только с запроса пользователя, а так же и периодически сервер производит процедуры по распознаванию самостоятельно, то список содержимого формируется на основе последних данных, которые были записаны в базу данных.

Таблица 2.6 – Сценарий 6

Вариант использования

Предложить рецепт

Актеры

База данных, сервер, смартфон

Цель

Выбор рецептов, которые можно приготовить

Тип

Базовый

Типичный ход событий:

Сервер формирует критерий для отбора данных из базы данных, а именно составить список продуктов, которые имеются;

Критерий отправляется в базу данных;

База данных принимает критерий и осуществляет отбор, формируя список;

Список с имеющимися продуктами, делится на блюда, которые можно приготовить с учетом отсутствия пары ингредиентов;

Формируется еще один список с названиями рецептов;

База данных отправляет его для вывода на экран смартфона.

Сценарий 6 является продолжением сценария 3. Описанный ход событий в таблице 2.6 отображает действия, которые происходят внутри системы. Показаны события происходящие между базой данных, сервером и смартфоном. Выполнение основано на формировании критерия выборки данных из базы данных.

В таблицах представлены основные функции приложения для умного холодильника. Управление всеми процессами протекает на устройстве пользователя.

2.3 Диаграмма деятельности

Диаграмма деятельности показывает последовательность действий. Отвечает на вопрос как мы можем использовать систему. Диаграмма деятельности, в которой описано как происходит формирование списка покупок, представлена ниже.

Рисунок 2.2 – диаграмма деятельности

В данной диаграмме деятельности показано как осуществляется создание списка покупок. Использовались элементы: начальный узел деятельности, конечный узел деятельности, объекты, дорожки, действия, узел решения.

Начальный узел деятельности имеет камера, которая создает снимок содержимого холодильника, находясь внутри него. Далее на сервере происходит распознавание штрих-кодов и записей по фотографиям. После распознавания всех объектов база данных сохраняет список продуктов, которые внутри холодильника. После на сервере формируется список покупок. Если дополнять его нет необходимости, то список сохраняется в базу данных. Если не все продукты указаны в списке, то пользователь может его дополнить. После всех выполненных действий создается объект – список покупок.

2.4 Диаграмма компонентов

Диаграмма компонентов предназначена для того чтобы показать на какие компоненты разбита информационная система, отобразить связи между ними. В качестве компонентов выступают: камера, сервер Linux, база данных SQL. Смоделированная диаграмма находится на рисунке 2.3.

Рисунок 2.3 – диаграмма компонентов

Все компоненты связанны через зависимости, которые отражают потребность одного компонента в интерфейсе другого. То есть, показаны отношения клиент-источник.

Камера создает фотографию, которую передает серверу. Соответственно данный компонент имеет предоставляемый интерфейс. Сервер имеет один требуемый интерфейс от камеры, а так же предоставляет информацию о содержимом базе данных, то есть предоставляемый интерфейс. Сервер имеет два компонента драйвера для работы и ПО, которое помогает распознать штрих-коды и рукописные записи. База данных содержит в себе два объекта рецепт и список покупок. Требуемые интерфейсы базы данных это порт от сервера и приложения.

2.5 Диаграмма развертывания

Диаграмма развертывания моделирует физическое представление системы. Содержит графическое представления смартфон, сервер, холодильник и связей между ними. Диаграмма представлена ниже.

Рисунок 2.4 – диаграмма развертывания

При разработке было определено распределение компонентов системы по ее физическим узлам, показаны физические связи между узлами реализации системы на этапе ее использования.

Узел смартфон содержит приложение для работы с системой, соединен с узлом сервер. На узле сервер находится SQL сервер, который связан с узлом холодильника. Холодильник содержит в себе несколько узлов: камера, которая связанна с микрокомпьютером Raspberry Pi.

Камера сканирующего типа, которая имеет широкий угол обзора. Камера будет использоваться черно-белая, так как она сможет затронуть не только видимый спектр света, но и инфракрасную область. Так же необходимо применить ИК-подсветку, так как создание снимка будет производиться в условиях отсутствия освещенности. Нужно обеспечить максимально возможное расстояние друг от друга камеры и инфракрасной подсветки, что позволит получать четкое изображение высокого качества.

Микрокомпьютер – это устройство, которое заключает в одной микросхеме все составляющие компьютера (процессор, оперативная память, порты данных и другие компоненты). Микрокомпьютер Raspberry Pi представляет собой одноплатный компьютер. Для данной системы подходит версия 3B и ZeroW. В каждой из них поддерживается технология Wi-Fi. Благодаря которой происходит передача фотографии с камеры на сервер.

2.6 Диаграмма состояний

В диаграмме состояний (Рисунок 2.5) показано последовательность переходов состояний работы сервера из одного состояния в другое. Использовались элементы: переходы, состояния и события.

Рисунок 2.5 – диаграмма состояний

Изначально сервер не ожидает запроса пользователя, она работает автономно. Установлен определенный таймер, как только он срабатывает, происходит начало действий. Так как внутри холодильника находится ИК-подсветка и она работает постоянно. После происходит запуск камеры. Камера создает фотографию и отправляет ее на сервер. После этого идет процесс распознавания продуктов на снимке. Если все объекты были проверены, то происходит формирование списка продуктов. Если список продуктов подтвержден для заказа пользователем, то происходит заказ продуктов через службу доставки. Если список покупок требует доработки или пользователь считает что пока нет необходимости осуществлять заказ, то происходит возврат сервера в начальное состояние, при котором оно снова ожидает срабатывание таймера. На этом все состояния работы сервера заканчиваются.

2.7 Диаграмма последовательности (формирование списка покупок)

Диаграмма последовательности предназначена для моделирования взаимодействия объектов системы во времени, а также обмена сообщениями между ними. Данная диаграмма представлена на рисунке 2.6.

Рисунок 2.6 – диаграмма последовательности

В диаграмме последовательности показана работа приложения для распознавания содержимого холодильника. Использовались элементы: класс-сущность (база данных), актеры (пользователь), класс-контроллер (сервер), класс-разграничитель (экран смартфона).

Изначально пользователь отправляет запрос – сформировать список покупок. Этот запрос получает сервер, на нем формируется критерий сортировки данных, по принципу отсутствия предпочитаемых товаров пользователя. Данные критерий отправляется в базу данных, по нему проходит сортировка. После чего формируется список, который отправляется на экран смартфона и отображается.

2.8 Диаграмма последовательности (подсистема распознавания штрих-кодов)

Диаграмма последовательности отображает последовательность обмена сообщениями между объектами в процессе распознавания штрих кодов. Данная диаграмма представлена на рисунке 2.7.

Рисунок 2.7 – диаграмма последовательности

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

2.9 Выводы по разделу

В данном разделе были описаны созданные диаграммы в EA на языке UML. А именно:

диаграмма вариантов использования – позволяет описать все функции информационной системы, создать документацию, определить границы предметной области на начальных этапах проектирования;

диаграмма деятельности – показывает последовательность действий, необходимых для достижения какой-либо задачи, детализировать конкретные операции;

диаграмма компонентов – описывает особенности физического представления ИС, устанавливает зависимости между программными компонентами;

диаграмма развертывания – предназначена для визуального представления элементов и компонентов ИС, которые необходимы для ее функционирования;

диаграмма состояний – показывает как объект (ПО) переходит из одного состояния в другое;

диаграмма последовательности – отображает жизненный цикл какого-либо объекта на временной оси.

Созданные модели являются средством спецификации система «Умный холодильник» в процессе разработки. То есть построенные наборы диаграмм являются документами будущей ИС.

3 ТЕХНИЧЕСКОЕ РЕШЕНИЕ

3.1 Общие сведения

Разработка дизайна интерфейса мобильного приложения - важнейший этап создания. От данного этапа зависит то, понравится ли пользователю приложение, будет ли оно удобным. На дизайне строится все зрительное восприятие пользователя.

В разделе будет выбрана цветовая гамма для мобильного приложения, операционная система на которой оно будет использоваться. Мобильное приложение необходимо для управления информационной системы «Умный холодильник».

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

3.2 Выбор цветовой гаммы

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

У каждого цвета своя ассоциация, которая может быть положительной или отрицательной. Согласно исследованию под названием ImpactofColorinMarketing 90% мнений о продуктах были сформированы на основе цвета.

Для удачного выбора цветового решения необходимо рассмотреть восприятие цвета с психологической точки зрения. В таблице 3.1 представлены основные цвета и их ассоциации.

Таблица 3.1 – Ассоциации

Цвета

Ассоциация

Белый

Чистота, пустое пространство, покой.

Черный

Снижение напряжения, печаль.

Красный

Светло-красный: Радость, приток энергии, движение.

Темно-красный: Жестокость, страх, тревога, раздражение, надоедливость.

Оранжевый

Раздражение, неприязнь.

Желтый

Симпатия, веселье, счастье.

Зеленый

Умиротворение, бодрость.

Синий

Покой, серьезность, миролюбие.

Фиолетовый

Оживление, возбуждение.

Коричневый

Покой, прочность, уют, добротность.

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

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

Основными цветами разрабатываемого мобильного приложения являются белый и синий. Цвета воспринимаются положительно в независимости от пола. Так же они различимы для дальтоников.

Выбранные цвета соответствуют правилам оформления мобильных приложений:

текстовое содержимое будет легко читаемым, так как белый и синий цвет контрастны;

выбрано оптимальное количество цветов;

используются спокойные цвета, которые не вызывают резких эмоций.

3.3 Создание дизайна логотипа мобильного приложения

Иконка – элемент графического интерфейса, небольшая картинка, представляющая приложение, файл, каталог, окно, компонент операционной системы, устройство и т.п.

В создании иконки были использованы цвета, которые были выбраны в предыдущем пункте в качестве основных. Сама иконка состоит из трех элементов:

внешний синий круг с тиснением и внешней тенью;

внутренний белый круг с внешним свечением и внешней тенью;

буква У в черном цвете с теснением.

Буква символизирует словосочетание «Умный холодильник». Она выделена и занимает больше всего места, сразу бросается в глаза. Круги представляют собой белую тарелку с синей каемкой, форма круга имеет ассоциацию с блюдечком. Выбранные цвета символизируют доверие и новшество. Ниже на рисунке 3.1 представлен результат создания.

Рисунок 3.1 – иконка

В дальнейшем разработанный логотип будет использоваться в разработке мобильного приложения. Он отображает название информационной системы и будет легко заметна на экране пользователей.

3.4 Выбор операционной системы, среды разработки и языка программированния

Наличие операционной системы является отличающейся особенностью смартфонов от обычного мобильного телефона. Именно операционная система является определяющим фактором при разработке мобильного приложения.

Для того чтобы приступить к разработке мобильного приложения необходимо выбрать на какой платформе будет оно использоваться. В настоящее время самыми популярными платформами являются: Android, iSO, RIM, WindowsPhone.

Android операционная система не только для смартфонов, но и для планшетов, цифровых проигрывателей, игровых приставок, ноутбуков, телевизоров и так далее. Сейчас данная операционная система принадлежит компании Google, а именно альянсу OpenHandsetAlliance, который занимается поддержкой и развитием. Платформу используют на своих устройствах компании: Samsung, Lenovo, HTC, Sony, LG, Huawei. Эта платформа имеет наибольшую популярность, а значит, с экономической точки зрения приложение будет иметь большую аудиторию пользователей.

iSO – мобильная операционная система для смартфонов, планшетов и других устройств. Разрабатывается и выпускается компанией Apple. Магазин программ для устройств iOSAppStore. Он является самым крупным магазином приложений с качественными приложениями. Для разработки приложения к данной операционной системе необходимо иметь Mac OS X. Так же необходимо иметь Apple Developer Program – сертификат дающий возможность публиковать свое приложение App Store, его стоимость составляет 99$ в год.

WindowsPhone – мобильная операционная система от компании Microsoft. Для того чтобы начать разработку приложения необходимо установить средства разработки Windows Phone SDK в среду разработки Visual Studio.

BlackBerryOS – операционная система для смартфонов и коммуникаторов, принадлежит компании ResearchInMotionLimited. BlackBerry имеет свою собственную среду разработки Momentix IDE.

На рисунке 3.2 представлена диаграмма отображающая популярность рассмотренных ОС. Данные взяты с сайта StatCounter.

Рисунок 3.2 – диаграмма популярных операционных систем

В таблице 3.2 представлены недостатки и достоинства рассмотренных операционных систем.

Таблица 3.2 - достоинства и недостатки платформ

Название

Достоинства

Недостатки

Android

Большое количество поддерживающих устройств;

Большое количество вирусных атак;

Языком программирования является кроссплатформенный – Java;

Проблемы с совместимостью.

Легкая разработка и запуск приложения в Google Play.

iOS

Надежная система безопасности;

Высокие требования к загружаемым в AppStore приложениям;

Высокая скорость выполнения операций.

Закрытость операционной системы.

BlackBerry OS

Открытая система, с закрытым доступом к важным подсистемам.

Не популярный каталог приложений App World;

Низкая работоспособность при запуске приложений;

Высокие требования к загружаемым приложениям.

Windows Phone

Возможность создавать «Универсальные приложения», которые могут работать на девайсах разных типов;

Малое число пользователей платформы.

Самый высокий заработок разработчика за одно скачивание.

По итогу проведенного анализа можно сделать вывод, что выгоднее всего в качестве платформы для разработки мобильного приложения к Умному холодильнику будет использовать Android. Так как она имеет наибольшую популярность, а разработка и запуск приложения в GooglePlay является простой.

Регистрация в GooglePlay для разработчиков является единовременно платной, стоимость 25$. При этом приложение после загрузки будет доступно для скачивания максимум через 5 часов.

Географически платформа Androidиспользуется в России, странах СНГ, Восточной и некоторых странах Западной Европы, в Азии и Африки.

Так же необходимо, какой вид приложения будет создан. Существует три вида: нативные, Web и гибридные.

Нативные приложения – это приложения созданные специально под конкретную операционную систему. Это приложения являются ресурсоемкими, требуют от разработчика специальные знания и умения для работы в конкретной среде разработки.

Web-приложения – представляют собой мобильную версию сайта, оптимизированную под смартфон, при этом имеет расширенный интерактив. Особенностью является возможность работать на устройствах разных ОС. Недостатком является отсутствие шифрования файловой системы;

Гибридные приложения – сочетают функции нативных и Web-приложений. Особенность Web-приложений сохранятся, так же могут быть кроссплатформенными, но функционал и качество приближены к нативным.

Будет реализовываться гибридное приложение для ОС Android. Так как гибридное приложение представляет собой независимую страницу с версткой, которая размещена на сервере. Что позволит редактировать мобильное приложение, внося изменения только на сервер, при этом отсутствует необходимость выпускать новые версии. Разработка занимает меньше времени и меньше ресурсов по сравнению с нативными. Отдельные части приложения могут быть написаны с использованием веб-технологий, что позволяет разработчику сочетать преимущества составных видов.

В качестве среды разработки выбрана – AndroidStudio. Производителем является Google, поэтому основной причиной выбора именно этой IDE стало доступ разработчикам ко всем инструментам для создания приложения на платформе Android. Загрузка бесплатна, содержатся инструменты для разработки мобильных приложений для смартфонов и планшетов.

Среда разработки доступна для установки на компьютеры с ОС Windows,Linux иOSX. Официальным языком программирования для платформы Android является Java, C++, Kotlin.

AndroidStudio имеет интеграцию с сервисами GoogleCloudMessaging, который позволяет разработчику запустить серверы для приложений. Сервис бесплатен.

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

В результате для реализации мобильного приложения гибридного вида выбрана операционная система Android, среда разработки AndroidStudio, язык программирования Java.

3.5 Создание дизайна интерфейса пользователя

Так как приложение будет реализованная на платформе Android, то необходимо учесть рекомендации по дизайну интерфейса. Однако они отсутствуют для дизайна главного экрана, элементов управления нет, действий над элементами.

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

Ниже на рисунке 3.3 представлен экран загрузки приложения. На нем изображен разработанный логотип и присутствует надпись. Все элементы отображены на фоне синего цвета, логотип имеет эффект тени, что позволяет выделить его на экране и привлечь внимание пользователя.

Рисунок 3.3 – экран загрузки

На рисунке 3.4 представлен экран с распознанными продуктами питания. При необходимости можно выделить один из элементов, с помощью элемента управления - checkbox. И перенести их в список заказов на другой экран, который представлен на рисунке 3.5.

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

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

Рисунок 3.4 – экран отображения содержимого

Ниже представлен экран со списком заказа, в нем тоже присутствует элементы управления – checkbox. Можно выбрать несколько позиций и после нажатия на кнопку внизу экрана «Подтвердить», продолжить оформление заказа. С помощью другой кнопки «Изменить» можно добавить продукты в список.

Верхняя часть экрана является стандартной и повторяет верх экрана с отображением содержимого.

Рисунок 3.5 – экран формирования заказа

На рисунке 3.6 изображен список рецептов из продуктов, которые находятся внутри холодильника, но для их приготовления необходимо добавить пару ингредиентов.

Рисунок 3.6 – экран выбора рецепта

Так как только из имеющихся продуктов приготовить блюда нет возможности, то отображены те для приготовления, которых нужно добавить пару ингредиентов. Все рецепты берутся из базы данных, которая содержит в себе рецепты первых, вторых блюд, напитков, рецептов для завтраков и перекусов. Так же отображаются рецепты, для которых не хватает не только одного ингредиента, но и два или три. Внизу изображены две кнопки, которые позволяют выбрать рецепт только из имеющихся продуктов или просмотреть все рецепты по категориям.

При выборе рецепта из списка отображается экран, изображенный на рисунке 3.7.

Рисунок 3.7 – экран выбранного рецепта

На рисунке выше представлен экран, который появляется, если выбрать рецепт приготовления.

В этом случае отображается рецепт – банановый коктейль. Для него имеется один ингредиент – молоко, отсутствуют – бананы, это отображено на экране. По середине расположено изображение готового блюда, ниже его название. Далее пользователю предоставляется выбор количества порций, от этого зависят вес ингредиентов, необходимых для приготовления. После список имеющихся продуктов и те которых нет. По желанию пользователя, нажав на checkbox напротив названия, можно добавить их в список заказов. Далее идет описание самого процесса приготовления в виде этапов. Все этапы подробно описаны, к ним прикреплены фотографии для наглядности. Так как рецепт является объемным, то с левой стороны находится scrollbar. Это объект который позволяет прокручивать страницу. В приложении страница прокручивается не целиком, только часть от изображения до последнего этапа приготовления. При этом верхняя часть с логотипом и меню выбора между продуктами, рецептами и заказами остается.

Объект scrollbar используется не только на экране с рисунком 3.7, он может появляться, когда возможные рецепты приготовления, список заказа или список содержимого холодильника не умещаются полностью и возникает необходимость посмотреть конец списка.

На рисунке 3.8 представлено боковое меню, которое появляется при нажатии на кнопку в левом верхнем углу.

Рисунок 3.8 – экран бокового меню

На экране расположен логотип мобильного приложения, его название. Они выделены в отдельное окно, чтобы выделить. Далее расположены вкладки: настройки, помощь, разработчики и у меня есть идея.

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

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

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

Если у пользователя есть идеи по улучшению системы или работе мобильного приложения, то написать и отправить он сможет во вкладке – у меня есть идея.

Представленные дизайны экранов соответствуют правилам оформления дизайна приложения. Используются:

три основных цвета, которые соответствуют выбранной цветовой гамме;

один дополнительный цвет (серый);

оттенки выбранных цветов для реализации мобильного приложения;

два сочетающихся между собой читабельных шрифта.

Показаны дизайны экранов, которые отображают: загрузку приложения, список содержимого, список заказов, список рецептов, рецепт приготовления, экран бокового меню.

3.6 Выводы по разделу

В разделе была рассмотрена цветовая гамма для мобильного приложения, которая будет использована в его дальнейшем реализации.

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

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

В качестве платформы для мобильного приложения была выбрана операционная система Android. Поскольку она является наиболее популярной ОС и разработка является простой. Среда разработки AndroidStudio, так как является наиболее распространенной средой среди разработчиков, стандартный язык для выбранной среды – язык программирования Java.

Был представлен дизайн нескольких экранов. А именно: экран загрузки, экран отображения содержимого, экран формирования заказа, экран списка рецептов и экран одного из рецепта, где отображены этапы приготовления, экран бокового меню. При создании использовалась выбранная цветовая гамма, так же для контраста некоторых элементов использовался еще один дополнительный цвет – серый, несмотря на это он сочетается со всеми остальными цветами. Было использовано два гармоничных не стандартных шрифта, а именно Flori и Nickainley.

Заключение

В результате создания выпускной квалификационной работы было спроектировано мобильное приложение для распознавания продуктов питания и составления рецепта из них, которое в дальнейшем будет использовано для взаимодействия с информационной системой «Умный холодильник». ИС предназначена для распознавания содержимого холодильника, выбора рецепта приготовления блюда и заказа продуктов.

Основные этапы разработки выпускной квалификационной работы:

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

смоделированы диаграммы вариантов использования, состояний, развертывания, последовательности, компонентов, действий в Enterprise Architect на языке UML. Перечень созданных диаграмм позволит ускорить и облегчить процесс разработки мобильного приложения и информационной системы в целом, а так же ускорит процесс разработки руководства пользователя. В дальнейшем UML-модели будут использоваться для определения, визуализации и проектирования и документирования информационной системы «Умный холодильник»;

было выбрано цветовое решение будущего приложения, согласно психологии восприятия цвета. Был разработан логотип, который удовлетворяет выбранной цветовой гамме. Выбрана ОС Android для мобильного приложения, которая является самой популярной операционной системой. Средой разработки выбрана Android Studio, доступна для операционных систем: Windows, Linux, OS X. Что облегчит пользователю работу с этой средой разработки. Языком программирования выбран объектно-ориентированный язык Java. Выбранный язык является наиболее оптимальным и популярным языком программирования для ОС Android, так же он обладает всеми необходимыми функциями. Разработан дизайн основных экранов приложения. А именно: экран загрузки, экран отображения содержимого, экран формирования заказа, экран списка рецептов и экран одного из рецепта, где отображены этапы приготовления, экран бокового меню.

Все поставленные задачи на выпускную квалификационную работу были выполнены.

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

Пат. WO 2014016212 SMART REFRIGERATOR, REFRIGERATOR SYSTEM INCLUDING THE SMART REFRIGERATOR, AND CONTROL METHOD THEREOF / BSH Bosch und Siemens Hausgeräte GmbH; опубл. 30.01.2014.

Грант US 7448546 Inventory management method for refrigerator using mobile terminal / Hee Won Jung; опубл. 11.11.2008.

Грант US 6393848 Internet refrigerator and operating method thereof / Young Hoon Roh; опубл. 28.05.2002.

ГрантUS 9279611 Intelligent refrigerator based on internet of things and application system thereof / Xueliang TAN; опубл. 8.03.2016.

ГрантCN 103673499 FridgeSmart Display System / 汪民; опубл. 16.03.2016.

Грант US 9449208 Compartmentalized smart refrigerator with automated item management / Bryant Genepang Luk; опубл. 20.09.2016.

Психологическое воздействие цвета и элементарные эстетические реакции / Цвет — это что? Курс колористики для художников-дизайнеров, http://mironovacolor.org/theory/humans_and_color/esthetic_reactions/#10, свободный.

Психология цвета для мобильных приложений / Технологии | AppTrsctor, https://apptractor.ru/info/articles/psihologiya-tsveta-dlya-mobilnyih-prilozheniy.html, свободный.

Kissmetrics Blog / Блог, https://blog.kissmetrics.com/how-colors-affect-conversions/?wide=1, свободный.

Colour Assignment / Joe Hallock – Design and Photo, http://www.joehallock.com/edu/COM498/associations.html, свободный.

Иконка (графический интерфейс) / Википедия – свободная энциклопедия, https://ru.wikipedia.org/wiki/Иконка_(графический_интерфейс), свободный.

Компания Panasonic представила модель самоходного холодильника. / Новости науки и техники SciencePop научно-популярный журнал, https://sciencepop.ru/kompaniya-panasonic-predstavila-model-samohodnogo-holodilnika/, свободный.

Microsoft и LIEBHERR представили умный холодильник, который умеет распознавать продукты. / Libherr, https://blog.liebherr.com/holodilniki/ru/umnyj-holodilnik-ot-microsoft-i-liebherr/, свободный.

Новый холодильник Samsung Family Hub станет сердцем умного дома. / Сеть фирменных магазинов Samsung, https://galaxystore.ru/news/novyy-kholodilnik-samsung-family-hub-stanet-serdtsem-umnogo-doma/, свободный.

Panasonic на IFA 2017: прозрачный телевизор, самоходный холодильник и робот-колобок. / "Вести" интернет-газета, https://hitech.vesti.ru/article/676713/, свободный.

Холодильник LG SMART INSTAVIEW на ОС WebOS с голосовым управлением и дистанционным видеонаблюдением. / Официальный сайт LG Electronics, http://www.lg.com/ru/press-release/lg-new-press-lg-smart-instaview-refrigerator, свободный.

Новожилова А. Азбука клиента. Мобильные приложения: нативные, html5, гибридные / CMS Magazine. Аналитический портал рынка веб-разработок, http://www.cmsmagazine.ru/library/items/moblile/native-vs-html5-vs-hybrid/, свободный.

Распознавание речи / Википедия. Свободная энциклопедия, https://ru.wikipedia.org/wiki/%D0%A0%D0%B0%D1%81%D0%BF%D0%BE%D0%B7%D0%BD%D0%B0%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D1%80%D0%B5%D1%87%D0%B8, свободный.

Русанова, И. В. Анализ платформ для разработки гибридного мобильного приложения для систем iOS и Android / И. В. Русанова // Актуальные проблемы авиации и космонавтики: сб. тр. науч.-практич. конф. – Красноярск: Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева, 2017. – Т.3. – С. 1100-1102.

Бурнет, Э. Привет Android! Разработка мобильных приложений / Э.Бурнет. – СПб.: Питер, 2012. – 256с.

Харди Б., Филлипс Б. Программирование под Android. Для профессионалов / Б. Харди, Б. Филлипс – СПб.: Питер, 2014. – 592с.

Дейтел П. и др. Android для разработчиков / Дейтел П., Дейтел Х., Уолд А. 3-е изд. – СПб.: Питер, 2016. – 512с.

ПРИЛОЖЕНИЕ А

(обязательное)

Просмотров работы: 341