Одно из самых забавных применений алгоритмов машинного зрения – это возможность определять скорость реакции нервной системы человека по реакции зрачка на свет.
Это может использоваться для оценки адекватности человека, его готовности к сложной, опасной и ответственной работе (пилот самолета, оператор АЭС, диспетчер метро и т.п.).
Раньше «пинг» делался простой реакцией зрачка на свет фонарика. Например, так делает фельдшер скорой. Но можно оценивать ещё и скорость реакции, что даёт куда больше информации. Мы нашли способ автоматизировать это, определяя зрачки на камере со съёмкой 40 fps. Вычислительная сложность невысокая, 3-5 тысяч сравнений на кадр — полный реалтайм:
Данные пупиллометрии здорового человека
По скорости реакции зрачка на свет (сужение и восстановление диаметра зрачка после вспышки) можно оценить скорость прохождения нервного импульса, а также скорость его последующей обработки в нервной системе.
То есть да, это – своеобразный пинг вашей ЦНС. Выглядит эта штука как 3D-очки.
Вот наш прототип. Обычно мы встраиваем его в диагностические терминалы (то есть из устройства торчат вот эти очки), но бывает – используем и отдельно. Можно сделать красивее, но смысла особого нет, это предсерийный образец:
Что это даёт?
Ещё конце XVII века врачи начали замечать, что пациенты в разных состояниях по-разному реагируют на свет. Спустя почти 300 лет исследования подхватил мэтр Экхард Хесс, который также сделал вывод, что на скорость реакции зрачка влияет усталость и виды мысленного напряжения перед оценкой. В целом – скорость расширения зрачка после вспышки света (адаптации к темноте) может служить мерилом степени возбуждения нервной системы. В 1982 году Хесс же доказал, что зрачки больше раскрываются, когда вы смотрите на предмет, который вам интересен. Показывал он испытуемым-мужчинам, конечно, фото девушек. Потом постепенно перешли к более тонким материям – любимой еде, кандидату от своей партии и так далее. Потом перешли к измерению ментальной нагрузки. Чем интенсивнее человек думает, тем медленнее расширяются зрачки. Тогда
Ещё позднее стали появляться исследования, численно связанные с влиянием на зрачковый рефлекс различных видов мысленного напряжения (внимательное рассмотрение предметов, проведение вычислений в уме) и нервных расстройств (депрессия, повышенная возбудимость и т.д.).
Как работает прибор
Это такие большие очки или бинокль. Вам надо заглянуть внутрь на несколько секунд, там инфракрасные светодиоды и видеокамеры.
Если быть более точным, используются: светодиоды инфракрасного спектра — для подсветки глаз, они невидимы для человеческого зрения; светодиоды видимого спектра — с белым светом, для вспышки; цифровая камера для ИК-диапазона с объективом и ещё маленький диод-метка для фокусирования взгляда во время проведения обследования. В «бинокле» также умещается управляющая плата, разъемы и прочий обвес.
Сначала он распознаёт вас по радужке, чтобы вы не принесли чужие глаза. Само обследование после аутентификации длится от 6 до 8 секунд, обследуемый плотно прикладывает к глазам маску устройства так, чтобы исключить внешнюю засветку. В первые 1-2 секунды происходит адаптация к темноте. В это время зрачки расширяются примерно до 5-6-7 миллиметров, пытаясь отдать на сетчатку максимум света, чтобы можно было распознать хоть что-то. Мы подсвечиваем глаза инфракрасным светодиодом, — для человека этот диапазон не виден, и зрачок на него не реагирует. Смотрите, зрачки большие и красивые:
После достижения максимального диаметра зрачка в течение 200 мс загораются диоды белого света (световой стимул). Начало светового стимула принимается за ноль по шкале времени при построении пупиллограммы – графика зависимости изменения диаметра зрачка от времени. Нас интересует следующие 5 секунд после вспышки. Точка Dmin (максимальное сжатие сфинктеров зрачков) выглядит вот так:
Цифровая камера регистрирует изображения двух глаз с частотой не менее 40 кадров в секунду. Управляющее программное обеспечение (ПО) находит на каждом кадре зрачок и определяет его диаметр.
Дальше зрачок постепенно расширяется.
Основная задача: нам нужно получить пупиллограмму, то есть график реакции зрачка на свет. Распознаём видео, убираем шум в данных (у нас много опорных кадров) и получаем в итоге график (это пример моего коллеги, условно-здорового человека):
Пупиллограмма содержит три важных участка: латентную область, область сужения зрачка и область восстановления. Ключевыми параметрами латентной области является начальный диаметр зрачка (DN) и время задержки реакции зрачка от начала светового воздействия (TL). Вторая область графика характеризуется минимальным диаметром (Dmin) и временем сужения (TC), третья область – точками восстановления диаметра зрачка до 50, 66 и 75 процентов от первоначального диаметра DN. Пупиллограмма может быть признана непригодной для оценки, если человек закрыл глаза во время светового воздействия, слишком часто моргал или особенно сильно водил глазами из стороны в сторону. Некорректные результаты можно получить и для испытуемого в цветных линзах.
Затем ПО анализирует эти параметры, самые главные из которых – скорость сужения и скорость расширения зрачка. После этого делается вывод об адекватности человека и его готовности к сложной и опасной работе.
Графики людей сильно уставших, после сильного недосыпа или в состоянии опьянения, алкогольного или наркотического – будут отличаться от графиков людей в адекватном состоянии. Особенно хорошо разница будет заметна, если вначале мы получим эталон – обследуем человека, когда он в нормальном состоянии, а позже – в ненормальном.
Тесты
Мы тестировали прибор на примерно 760 сотрудниках компании в разных условиях (включая корпоративы и дни после них). Всего 3496 измерений до публикации (новые добавляются каждый день). Самое сложное – это не столько распознавание, сколько оценка получаемого графика. Мы ещё в рамках теста ездили по разным интересным клиникам, где пациентам с известным диагнозом (например, хронический алкоголизм) предлагалось добровольно поучаствовать в исследовании. Испытуемых в наркотическом опьянении для репрезентативной выборки найти сложнее. В рамках исследования мы сотрудничали с несколькими наркологическими клиниками, где проходят лечение пациенты с наркотической зависимостью и психическими расстройствами. Они в медицинских целях принимают такие классы средств, как транквилизаторы, антидепрессанты, нейролептики, антиконвульсанты и седативные вещества, поэтому база накопилась довольно большая.
Нужно было отлаживать алгоритм, собирать больше данных о пациенте и так далее. У каждого человека могут быть индивидуальные особенности реакции зрачка на свет. Самые первые варианты алгоритма иногда выдавали вообще смешные вещи из-за сложностей распознавания. Так вот один раз мы чуть не госпитализировали самого доктора.
По ходу развития проекта и подключения наших бета-тестеров, мы выстроили такую систему, в которой пациент не может сознательно обмануть устройство в «лучшую» сторону. В худшую – может, с помощью ряда мер, но применение как раз должно отсеивать непригодных (например, водителей автобуса перед рейсом) от полностью боеготовых специалистов.
Мы можем проводить оценку, сравнивая с эталоном после медосмотра или с общечеловеческим эталоном для такого типа людей. Поэтому прямо сейчас берём нужные данные из кадрового досье пациента, либо собираем анамнез вот так на полевом приборе (это интерфейс врача):
Если устройство встраивается в диагностический терминал – карточки пациента и данных текущего измерения достаточно для построения очень точной гипотезы.
Предполагается, что диагностический терминал не исключает медосмотр специалистом лично, но в разы ускоряет его. А при условии замера на аппарате всех ключевых показателей (пупиллометр, алкотестер, измеритель давления) – возможно направлять на личный медосмотр только тех, в отношении кого у диагностического терминала появились хотя бы минимальные сомнения, а это уже могут быть 20 человек из 100.
Откуда берётся карточка? Напомним, раз уж мы встроили камеры в «бинокль», и раз уж мы всё равно распознаём что-то с них, глупо не воспользоваться распространёнными библиотеками распознавания человека по радужке, благо это очень давно решаемая задача. Вот мы и получаем ID пациента, и можем подтягивать его предыдущие данные.
Вот бета-тестеры самоотверженно пожертвовали собой:
Возникли проблемы с линзами:
Даже прозрачные однодневные линзы приводят к снижению выраженности зрачкового рефлекса, что очень похоже на усталость и алкогольное опьянение. Мы предполагаем, что это связано с уменьшением общего количества света, который попадает в глаза, при использовании линз. Этот эффект необходимо обязательно учитывать при анализе таких графиков, поэтому наш интерфейс содержит обязательный вопрос о линзах перед началом обследования.
Сейчас мы продолжаем дорабатывать алгоритмы и методологию. Нужно набирать большую статистику для повышения точности. Прибор уже работает как хороший наркотестер, но мы хотим большего. Сейчас статистика не позволяет делать никаких достоверных диагностических заключений. Кроме того, для хорошей диагностики состояния конкретного человека требуется провести сначала несколько нормальных измерений его зрачковой реакции, чтобы потом с высокой вероятностью после какого-либо воздействия отловить отклонения от нормы — это к вопросу инструкции по эксплуатации для персонала АЭС. Мы стремимся улучшить алгоритм, уменьшить ошибки первого и второго рода. Безопасники и специалисты по обеспечению соблюдения ТБ благостно кивают, глядя на эту работу.
Съёмка «из глаз»
Вот видео:
Ещё нужно распознавать ошибки (когда человек намеренно моргает, пытается сознательно аккомодировать и в целом мешает работе прибора) – пока такие случаи видны на графике и фиксируются руками, позже будет отметка о недостоверности результата.
Ссылки
- Относительно современное исследование про пупиллометрию для спортсменов
- Парасимпатическая нервная система на Вики
- Компьютерное зрение на практике: ловля кота-терминатора и распознавание лиц
- Ещё зрение: ловля тележек
- И место, где операторы дешевле роботов (и про медведей-токсикоманов)
- Исследования зрачковой реакции Экхарда Хесса
- Моя почта – medkiosk_info@croc.ru
Автор: TGrigorenko