Наиболее частый тип оксиметра – пульсоксиметр, он крепится на палец, прос вечивает капилляры через кожу и по цвету крови определяет, насколько кровь насыщена кислородом. Измерение получается довольно точное.
Мобильный телефон тоже способен измерять уровень кислорода в крови. Все, что для этого нужно, уже имеется в нем – это вспышка и камера. Палец прикладывается к вспышке, которая выступает источником света, при этом рядом должна быть камера, которая будет фиксировать цветовую картинку.
Конечно же, такой метод измерения не может быть на сто процентов достоверным. Потому что палец может сдвигаться, а вспышка имеет один цвет и яркость, пульсоксиметры при имеют два источника света для оценки насыщенного гемоглобина и ненасыщенного, и палец в них надежно закреплен. Но для бытовой диагностики данный метод подходит.
Заказчиком стала исследовательская лаборатория из Вашингтона. Им понадобилось приложение, измеряющее уровень кислорода в крови при помощи iPhone, для внутреннего использования.
Для определения уровня кислорода предполагалось использовать нейронную сеть. Поэтому работа над приложением была поделена на две части:
Для нейронной сети был использован фреймворк Core ML. Он значительно облегчает работу с технологиями машинного обучения. В его основе идея о том, чтобы взять заранее предобученную модель данных, и буквально в несколько строк кода интегрировать ее в свое приложение. С помощью Core ML можно реализовать множество функций: от определения объектов на фото и видео до распознавания изображений в реальном времени. ;
Core ML использует низкоуровневые Metal, Accelerate и BNNS, и поэтому результаты вычислений происходят очень быстро. Поэтому результаты анализа уровня кислорода в крови пользователь получается за секунды на экране своего iPhone.