Power BI Embedded, IoT и машинное обучение для обработки термограмм мозга

в 7:38, , рубрики: big data, IoT, microsoft, Microsoft Technical Case Studies, Power BI, Блог компании Microsoft, Интернет вещей, машинное обучение, Разработка для интернета вещей

Каждую неделю в Microsoft появляются кейсы, посвящённые разработке решений для компаний, университетов и даже государств. Мы решили поделиться с вами самыми интересными из них и начать серию статей «Microsoft Technical Case Studies». В первом материале вы узнаете про IoT-решение для обработки изображений «теплового тоннеля мозга» (Brain Temperature Tunnel) согласно методике, основанной на исследованиях доктора Марка Абреу (Marc Abreu) из Йельского университета.

Power BI Embedded, IoT и машинное обучение для обработки термограмм мозга - 1

Цикл статей «Microsoft Technical Case Studies»

1. Power BI Embedded, IoT и машинное обучение для обработки термограмм мозга.
2. Поиск пропавших детей с помощью функций Azure.
3. Loading…

Введение

Brain Tunnelgenix Technologies Corp (BTT Corp) — компания, которая занимается производством медицинской техники. Её офисы расположены в США и Бразилии. BTT Corp является владельцем патента на «тепловой тоннель мозга» и разрабатывает несколько семейств продуктов, связанных с этим открытием. Главная цель компании — научиться использовать аналитические данные о термодинамике мозга для лечения пациентов.

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

Устройство BTT неинвазивно — в этом одно из главных его преимуществ. Внешний вид устройства показан на фотографии ниже.

Power BI Embedded, IoT и машинное обучение для обработки термограмм мозга - 2

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

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

  1. IoT Hub → Stream Analytics → база данных Azure SQL
  2. IoT Hub → Stream Analytics → база данных Azure SQL → Power BI
  3. IoT Hub → Stream Analytics → база данных Azure SQL → Power BI Embedded
  4. IoT Hub → Stream Analytics → база данных Azure SQL → локальные высокопроизводительные вычислительные системы → машинное обучение Azure

Power BI

Power BI играет важную роль в визуализации тепловых сигналов мозга, которые получает устройство BTT. Эти данные отражаются во внутренних отчетах Power BI и демонстрируются внешним пользователям с помощью Power BI Embedded. Защита данных на уровне строк обеспечивает безопасный доступ к ним.

Использование сложной R-аналитики в Power BI и пакетов визуализации — ценные возможности решения BTT. Благодаря языку R можно использовать развитые аналитические инструменты, в том числе преобразование Фурье, частотный анализ данных и обнаружение минимумов и максимумов.

Power BI Embedded, IoT и машинное обучение для обработки термограмм мозга - 3

Power BI Embedded, IoT и машинное обучение для обработки термограмм мозга - 4

Традиционно сложной является задача надёжной передачи подробной аналитической информации и зрительных образов клиентским приложениям. Например, настройка R-среды и обеспечение защищённого доступа к ней через Интернет требуют выполнения большого объема работ. С помощью Power BI Embedded можно создавать защищённые интерактивные информационные панели и отчёты, предназначенные для врачей и пациентов. В них используются зрительные образы R, которые передаются через веб-приложение ASP.NET, работающее на платформе Microsoft Azure. Следующие шаги будут выглядеть так:

  1. Создать рабочую область Power BI в Azure.
  2. Создать отчет в Power BI Desktop, используя базу данных Azure SQL в качестве источника данных.
  3. Применить защиту на уровне строк в отчете, где необходимо.
  4. Отправить результирующий файл .pbix в рабочую область Power BI.
  5. Добавить учетные данные источника в набор данных.
  6. Получить надлежащий токен OAuth.
  7. Внедрить отчет в веб-страницу с помощью токена OAuth.

Агрегирование данных

Для агрегирования данных используется последовательность операторов GROUP BY. Мы принимаем данные, собранные во время сна пользователя, группируем их по пользователям и идентификаторам сеансов, сортируем их в хронологическом порядке, а затем применяем к ним частотные методы обработки сигналов для получения детальной аналитической информации. На текущий момент компания BTT оценивает наиболее эффективные способы подробного анализа и классификации используемых данных.

Стратегия архивирования

На текущий момент архивирование данных не выполняется. Эта функция пока не является необходимой, поскольку в настоящее время компания BTT использует лишь небольшую часть максимального объёма базы данных Azure SQL. Тем не менее, когда используемый объем приблизится к максимальному, BTT потребуется разработать стратегию архивирования. Вероятно, архивирование будет выполняться путем переноса данных на долгосрочное хранение в хранилище больших двоичных объектов Azure посредством пула SQL Server в сочетании с фабрикой данных Azure.

Извлечение, преобразование и загрузка

На текущий момент процессы извлечения, преобразования и загрузки не используются, поскольку у нас есть прямой доступ к базе данных Azure SQL с помощью DirectQuery. Система BTT ещё находится в стадии разработки, поэтому пока совсем немного пользователей обращается к ней для доступа к отчетам Power BI Embedded. Тем не менее с увеличением количества пользователей BTT и приближением нагрузки на базу данных SQL к пороговым значениям начнётся переход на пул SQL Server. На текущий момент BTT создает запросы только на чтение данных к реплицированным нетранзакционным базам данных и архивным хранилищам. В стандартных условиях разработчики не используют транзакционное хранилище, однако в данном кейсе было выбрано именно такое архитектурное решение в существующем начальном сценарии BTT.

Пример

Ниже приведён снимок экрана с информационной панелью, которая отображает исторические данные, обработанные несложными аналитическими методами Power BI.

Power BI Embedded, IoT и машинное обучение для обработки термограмм мозга - 5

Информационная панель Power BI, отображаемая посредством Power BI Embedded в приложении ASP.NET.

Power BI Embedded, IoT и машинное обучение для обработки термограмм мозга - 6

Технический директор BTT, Роберт Ортега, демонстрирует настройку защиты на уровне строк с помощью Power BI Embedded в веб-приложении ASP.NET.

Интернет вещей и машинное обучение

Важнейшей разработкой компании BTT является технология распознавания образов, на которой основана большая часть её продуктов. Поскольку в компании уже разрабатывают на C++, Python и R на своих рабочих станциях, мы решили дать им возможность приступить к развёртыванию в производственной среде, одновременно продолжая свою научно-исследовательскую работу. Вместе с разработчиками была создана модель на основе пакетов sklearn языка Python и введена в действие с помощью машинного обучения Azure (несколько месяцев назад мы уже рассказывали на Хабре как выбирать алгоритмы для машинного обучения Microsoft Azure). Ниже приведён снимок экрана, сделанный в процессе разработки модели двоичных классификаций с помощью sklearn на рабочей станции Linux.

Power BI Embedded, IoT и машинное обучение для обработки термограмм мозга - 7

Как видно, мы используем Linux, Python и Anaconda для анализа данных, извлекаемых из источника Azure SQL. Этот выбор обусловлен исключительно нашими личными предпочтениями, однако процесс настолько гибок, что вы можете использовать почти любые технологии. Процесс ввода модели в эксплуатацию с помощью машинного обучения Azure показан ниже.

Power BI Embedded, IoT и машинное обучение для обработки термограмм мозга - 8

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

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

Power BI Embedded, IoT и машинное обучение для обработки термограмм мозга - 9

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

Power BI Embedded, IoT и машинное обучение для обработки термограмм мозга - 10

Архитектура решения

Компания BTT разработала IoT-решение, которое использует развитые возможности Microsoft IoT Suite и реализовано в соответствии с руководством по эталонным архитектурам Microsoft Azure IoT. Общие сведения об этом решении опубликованы здесь. Главное отличие этого решения от многих других заключается в возможности анализировать данные как локально, так и в облаке, а также отсутствии масштабной инфраструктуры данных. SQL успешно справляется с текущими нагрузками. BTT оценивает перспективу использования хранилища данных SQL в качестве платформы для работы с большими данными после того, как рабочие нагрузки превысят возможности текущего источника данных Azure SQL.

Power BI Embedded, IoT и машинное обучение для обработки термограмм мозга - 11

Используемое устройство и исходники кода

В этой работе мы используем собственное устройство на основе встроенного микроконтроллера Texas Instruments с интерфейсом Bluetooth. Это устройство синхронизируется с клиентским устройством под управлением Windows, которое разработано с помощью универсальной платформы Windows и языка C#. В этом сценарии используется пакет SDK IoT Hub для языка C#. Приложение для маркировки шаблонов временных рядов находится на GitHub. Пошаговые инструкции по развертыванию пользовательских моделей klearn машинного обучения Azure находятся здесь. Инструкции по созданию глубокой нейронной сети с помощью Theano и Lasagne, а также по её вводу в эксплуатацию посредством машинного обучения Azure находятся здесь.

Заключение

С помощью технологий Microsoft (Power BI) компания BTT планирует создать решение анализа сигналов и создания отчетов BTT (в том числе для врачей и специалистов, занимающихся проблемами сна). BTT также собирается реализовать кроссплатформенные возможности отправки оповещений с помощью Azure Notification Hub и перенести BTT Monitor на Xamarin.Forms для обеспечения поддержки различных платформ. Компания также рассматривает возможность использования Microsoft HealthVault и хранилища данных SQL Azure.

Бизнес.IoT: открывая интернет вещей

Приглашаем вас пообщаться на тему IoT для бизнеса 30 марта 2017 года. У нас будет проходить онлайн-конференция «Бизнес.IoT: открывая интернет вещей». В программе будет два параллельных трека (бизнес и технологический) с экспертами в области интернета вещей, машинного обучения и предиктивной аналитики.

Среди спикеров будут присутствовать: Михаил Черномордиков (Microsoft), Сергей Осипов (MAYKOR-GMCS), Дмитрий Бергельсон (GuaranaCam), Анна Кулашова (Microsoft), Дмитрий Марченко (Microsoft), Андрей Мелузов (ГК «КОРУС Консалтинг») и Василий Есипов (КПМГ).

Чтобы принять участие, необходимо зарегистрироваться здесь.

Напоминаем, что бесплатно попробовать Microsoft Azure можно здесь.

Если вы увидели неточность перевода, сообщите, пожалуйста, об этом в личные сообщения.

Автор: Microsoft

Источник

Поделиться

* - обязательные к заполнению поля