Введение 4
1. Постановка задачи 6
2. Обзор 7
2.1. Микроскоп 7
2.2. Средства мобильной разработки 8
2.3. Алгоритмы обработки изображений 10
2.3.1. Фокус-стекинг 11
2.3.2. Автофокус 12
3. Программное обеспечение для микроскопа 14
3.1. Архитектура 14
3.2. Команды 15
4. Протокол обмена сообщениями для мобильного приложения и микроскопа 17
5. Мобильное приложение для ОС Android 20
5.1. Архитектура 20
5.2. Взаимодействие с микроскопом 21
5.3. Захват видеоданных 23
5.4. Внедрение библиотеки для обработки изображений ... 24
5.5. Фоторедактор 27
Заключение 28
Список литературы 30
Одним из эффективных способов изучения естественных наук является постановка экспериментов и исследование природных явлений. В биологии для изучения окружающего мира можно использовать микроскопию, которая позволяет проводить различные эксперименты и исследовать образцы с помощью сильного увеличения. Существуют разные виды микроскопов, отличающиеся увеличительными способностями и способами формирования изображения образца. В последние годы стоимость оптических микроскопов снизилась, что позволяет приобрести свой собственный микроскоп и использовать его в домашней лаборатории для изучения биологии на практике. Серьезным препятствием на пути использования данного прибора в домашних условиях является отсутствие возможности получить цифровое изображение образца и сохранить его для дальнейшего исследования. Кроме того оптические микроскопы имеют небольшой угол обзора и маленькую глубину резкости — это не позволяет рассмотреть образец целиком без постоянного корректирования положения приборного столика вручную.
Возможным способом решения всех вышеперечисленных проблем является захват видео с микроскопа и его цифровая обработка с целью получения полного сфокусированного изображения образца. К сожалению, большинство существующих оптических микроскопов не предназначены для захвата с них видеоданных. В связи с этим компания MELScience [16], занимающаяся образовательными технологиями в области естественных наук, разработала мобильный микроскоп — устройство, подготовленное для захвата видеоданных образца смартфоном. Помимо этого, данное устройство обладает дистанционно управляемым приборным столиком, способным перемещаться как в горизонтальной плоскости, так и в вертикальной для обеспечения обзора всех частей образца на различном удалении от оптики микроскопа. Вместе со смартфоном мобильный микроскоп образует систему, позволяющую изучать биологические образцы с применением технологий цифровой обработки изображений в домашних условиях.
Мобильный микроскоп оснащен платой Arduino для управления при-борным столиком, освещением и связи с мобильным приложением. Необходимо реализовать программное обеспечение для данной платы, которое позволит дистанционно управлять микроскопом и получать сообщения об ошибках с помощью специального протокола, который также предстоит разработать.
Для взаимодействия с мобильным микроскопом и изучения биологии необходимо реализовать мобильное приложение. Одной из задач мобильного приложения является обработка изображений образцов, использующая такие подходы, как:
1. фокус-стекинг (focus-stacking) — получение сфокусированного изображения образца путем объединения нескольких изображений, со-держащих в фокусе лишь его часть;
2. ститчинг (stitching) — объединение нескольких частично перекрывающихся изображений частей образца в одно большое изображение, содержащее весь образец целиком;
3. Sd-реконструкция (3D reconstruction) — воссоздание 3d-модели образца путем объединения набора кадров, сделанных при разном удалении образца от линзы микроскопа.
Также необходимо предоставить пользователю возможность знакомиться с дополнительными материалами об изучаемом образце в приложении и проходить различные тесты и лабораторные работы для за-крепления знаний. В проверочных работах могут использоваться полученные пользователем и обработанные с помощью данного приложения изображения образцов. Для этого мобильное приложение должно поддерживать возможность редактирования изображений, чтобы пользователь мог отметить на изображении определённые области, подписать обнаруженные объекты и их части.
В рамках данной работы будет описана реализация программного обеспечения для данной системы — мобильное приложение для ОС Android [12] и ПО для встроенного контроллера микроскопа.
В ходе данной работы были выполнены следующие задачи.
• Сделан обзор технологий для разработки мобильного приложения для ОС Android и используемых в приложении алгоритмов для обработки изображений. Основываясь на изученных подходах к разработке мобильных приложений, было принято решение использовать нативный подход и разрабатывать приложение на языке Kotlin.
• Спроектировано и реализовано ПО для управления микроскопом с помощью контроллера Arduino Uno. Разработанное ПО поддерживает возможность дистанционного управления по Bluetooth и обеспечивает доступ ко всем возможностям микроскопа. Для взаимодействия с микроскопом был спроектирован протокол обмена сообщениями для мобильного приложения и микроскопа. Данный протокол ориентирован на скорость распознавания на стороне Arduino и при этом прост в чтении для человека при отладке.
• Спроектировано и реализовано мобильное приложение для ОС Android. Данное приложение способно взаимодействовать с микроскопом и выполнять цифровую обработку захваченных видео-данных. В качестве архитектуры приложения была выбрана архитектура MVP. Для возможности постобработки изображений реализован фоторедактор.
• Внедрена мобильная библиотека Владимира Кутуева для обработки изображений. Она позволяет применять алгоритмы компьютерного зрения к захватываемым с микроскопа кадрам в ре-жиме реального времени.