Способ контроля положения и дыхания пациента с применением набора инфракрасных датчиков глубины
METHOD FOR MONITORING PATIENT'S POSITION AND BREATH USING SET OF INFRARED DEPTH SENSORS

Изобретение относится к медицинской технике, а именно к системам контроля дыхания пациента в комплексах лучевой терапии, и может быть использовано для контроля положения пациента в других клинических условиях.
В качестве прототипа выбирается патент на изобретение US 2019209871 (А1) «Способ бесконтактного измерения и калибровки системы позиционирования пациента при радиотерапии в реальном времени». Способ включает вычисление трехмерного представления облака точек пациента с помощью камеры для получения точек глубины пациента, где направление Z соответствует направлению вдоль фокусной дистанции камеры, требующее предельных значений по оси Z, которые соответствуют нижней (Z-min) и верхней (Z-max) спецификации, вычисление ковариации облака точек и среднего значения облака точек для оптимизированного анализа компонентов принципа для вычисления топографии туловища пациента, определение центральной точки облака точек в качестве опорной области измерения и использование камеры для определения расстояния до пациента для установления угла между туловищем пациента и вектором, перпендикулярным камере, усреднение измерений глубины в опорных областях и компенсацию ошибки от параллакса в режиме реального времени во время калибровочного измерения или плана лучевой терапии.
Техническим результатом является повышение точности рассчитанной фазы дыхания и ее интерполяция с указанием верхнего и нижнего пределов амплитуды движения поверхности грудной клетки пациента по вертикальной оси Z, перпендикулярной горизонтальной плоскости стола пациента системы координат, образованной с использованием маркерного объекта ArUco, получаемые угол поворота и величины смещений, в результате сопоставления референсного изображения с текущим изображением положения пациента для контроля положения пациента и повышение точности определения смещений пациента за счет использования данных не менее чем от двух дистанционных датчиков.
Указанный технический результат достигается за счет применения не менее двух дистанционных датчиков, комплексирования данных не менее чем с двух дистанционных датчиков, а также за счет сопоставления референсного изображения с текущим изображением положения пациента.
На рис. 1 изображена структурная схема программно-аппаратного комплекса (ПАК), предназначенного для контроля положения и дыхания пациента и имеющего в своем составе 2 модуля инфракрасных датчиков глубины и компьютер с установленными программными модулями. Датчики и компьютер соединены между собой интерфейсом USB3.1 Gen 1.
На рис. 2 показана схема калибровки с использованием маркерного объекта ArUco.
Маркерный объект ArUco, представляющий собой напечатанный бумажный лист с кодами ArUco, выкладывают в любое место поверхности стола пациента. После запуска и прохождения процесса калибровки инфракрасные датчики глубины начинают выдавать координаты относительно центра системы координат расположения маркерного объекта ArUco.
На рис. 3 показаны синусообразная кривая дыхания пациента, выводящаяся в окно графического интерфейса пользователя программы, а также уровни верхнего и нижнего пределов. Данные уровни вычисляются на этапе обучения. Выход кривой за верхний или нижний пределы, а также изменение частоты колебаний сигнализируют об изменении состояния пациента (кашель, смех, поворот тела).
На рис. 4 показаны размещение пациента и выделяемая врачом область интереса пациента на карте глубин, формируемой инфракрасными датчиками.
На рис. 5 показано созданное облако точек контролируемой поверхности.
Для определения фазы дыхания пациента и контроля положения пациента используется программно-аппаратный комплекс (ПАК), имеющий в своем составе набор не менее чем из двух инфракрасных датчиков глубины.
ПАК имеет в своем составе следующие взаимодействующие программные модули:
- модуль калибровки массива, состоящего не менее чем из двух инфракрасных датчиков и настройки системы;
- модуль первичного захвата и предобработки данных;
- модуль самотестирования;
- модуль визуализации данных;
- модуль комплексирования сигналов, получаемых не менее чем с двух инфракрасных датчиков, и реконструкции поверхности;
- модуль расчета фазы цикла дыхания и пороговых пределов амплитуды;
- модуль регистрации положения поверхности тела пациента;
- модуль интеграции с системой управления.
Программная реализация модулей ПАК выполнена на языке программирования С++ с использованием:
- библиотеки алгоритмов компьютерного зрения OpenCV (версия 3.1.0) обработки изображений и численных алгоритмов общего назначения с открытым исходным кодом (Open Source Computer Vision Library, англ.);
- спецификации OpenGL (версия 4.1), определяющей платформонезависимый (независимый от языка программирования) программный интерфейс для написания приложений, использующих двумерную и трехмерную компьютерную графику (Open Graphics Library, англ.);
- наборов средств разработки.
Модуль калибровки
Калибровка дистанционных датчиков осуществляется путем размещения на столе пациента шаблона с изображением ArUco-кода. Модуль калибровочной программы сравнивает измеренные дистанции до маркерных точек изображения ArUco-кода с эталонными и вносит поправки в калибровочный файл датчика, при этом калибровка происходит один раз в регламентированный период времени без присутствия пациента Процесс калибровки происходит не менее чем по 4 угловым точкам маркерного объекта. Текстовый калибровочный файл содержит значения смещений (в см., шкала 0.02) по трем векторам и матрицу с углами поворотов (в углах Эйлера) для каждого смещения.
Алгоритм калибровки имеет следующий порядок действий:
1) Размещение калибровочного маркерного объекта (доска ArUco-маркеров) в выбранной области обзора дистанционных датчиков и фиксирование в неподвижном положении как маркерного объекта, так и дистанционных датчиков.
2) Запуск процесса калибровки при входящих потоках данных от n датчиков, учитывающего внутренние аппаратные параметры датчиков, такие как дисторсия и фокусное расстояние. Результатом процесса калибровки являются калибровочные файлы для каждого датчика, используемые в течение всего процесса контроля положения пациента и содержащих матрицы значений углов поворота и вектора смещения.
Модуль первичного захвата и предобработки данных
Предназначен для получения и обработки потоков данных не менее чем с двух датчиков, которые с помощью встроенного инфракрасного прожектора формируют на поверхности контролируемого объекта облако маркерных точек (рис. 5), инфракрасной видеокамерой создают изображения этих точек и затем определяют расстояния до них по их яркости. Для захвата оптического потока данных используется готовая протестированная и оптимизированная реализация алгоритмов из библиотеки технического зрения OpenCV.
Данный алгоритм имеет следующий порядок действий:
1) Захват потоков данных не менее чем с двух датчиков, содержащих набор изображений с маркерными точками. Захват осуществляется средствами комплекта средств разработки (SDK). При этом технические параметры датчиков определяются данными конфигурационных файлов.
2) Формирование облаков маркерных точек из каждого маркерного пикселя соответствующего датчика. Используя данные, содержащиеся в калибровочном файле, вносят поправки в данные о координатах пикселей.
3) Фильтрация поврежденных пикселей или пикселей, расстояние до которых не определилось. Такие пиксели перестают учитываться модулем.
4) Фильтрация выбросов или пикселей, выходящих за границы определенного межквартильного размаха выборки, характеризующего степень разброса данных.
5) Приведение значений координат пикселей в миллиметры.
Модуль самотестирования
Предназначен для тестирования ПАК. В случае возникновения ошибок они записываются в файл ошибок.
Модуль визуализации данных Выполняет следующие функции:
- получения видеопотока данных и загрузки параметров;
- ожидания кадра и перевода его в формат для вывода на экран;
- программных управляющих элементов (кнопок) графического интерфейса модуля;
- отсчета времени для воспроизводимого видео;
- выбора области интереса (ROI) не менее чем с двух инфракрасных датчиков. Модуль комплексирования
Происходит процесс комплексирования сигналов не менее чем с двух инфракрасных датчиков и реконструкция поверхности пациента.
Режим интеграции данных не менее чем с двух датчиков, осуществляемый ПО из библиотек технического зрения OpenCV и SDK, называется комплексированием данных, полученных с датчиков в соответствии с учетом калибровочных и конфигурационных файлов. Результатом комплексирования являются изображение трехмерного облака маркерных точек и так называемая карта расстояний, показывающая расстояния от каждого датчика до каждой соответствующей этому датчику маркерной точки.
Алгоритм комплексирования сигналов датчиков и реконструкции поверхности имеет следующий порядок действий:
1) Получение видеопотоков данных не менее чем с двух датчиков и загрузка калибровочных и конфигурационных файлов датчиков.
2) Выбор области интереса поверхности тела пациента.
3) Получение изображений трехмерных облаков маркерных точек и осуществление преобразования из локальной системы координат каждого датчика в общую для всех датчиков систему координат ArUco.
Модуль расчета фазы цикла дыхания
Для определения одномерной фазы цикла дыхания пациента и установки нижнего и верхнего пределов амплитуды используют программный модуль расчета фазы цикла дыхания, который при помощи интерполяционного полинома второго порядка и периода обучения рассчитывает фазу дыхания и временные метки. Данная амплитуда применяется после обучения для получения фазы дыхания. Для этого данный интервал делится на заданное число фаз (участков), и для текущего значения определяется, в какой интервал попало положение поверхности тела пациента.
В случае превышения значений порогов фазы цикла дыхания, установленных оператором, выдается сообщение об ошибке определения фазы цикла дыхания, что сигнализирует об изменении состояния пациента (кашель, смех, поворот тела и др.).
Для определения одномерной фазы цикла дыхания пациента применена полиноминальная функция второго порядка, оценивающая вектор состояния динамической системы с использованием ряда неполных и зашумленных измерений. [URL: https://ru.wikipedia.org/wiki//Целая_рациональная_функция]. Поступающая карта расстояний обрабатывается модулем, содержащим перечисленные алгоритмы. В результате при помощи разработанных функций получаются фаза дыхания и временные метки.
При построении графика контроля дыхания осуществляется взаимодействие с другими модулями ПАК (с модулем визуализации - выбор области интереса пользователем ПАК, с модулем предварительной фильтрации и захвата - построение карты расстояний и определение центра масс облака точек в области интереса).
Период обучения составляет 30 с или 5-6 циклов дыхания человека.
Модуль регистрации положения поверхности тела пациента
Происходит регистрация (сопоставление) референсного изображения с текущим изображением положения пациента и рассчитываются углы поворота и величины смещений, используемые для передвижения и поворота стола с пациентом в необходимое положение.
С помощью модуля выполняют следующие функции:
- Получают облака точек не менее чем с двух датчиков.
- Комплексируют данные облаков точек не менее чем с двух датчиков, переводя их в систему координат маркерного объекта, и сохраняют комплексированные данные. (Эти данные будут считаться референсными.)
- Получают еще одно комплексированное облако точек с тем же объектом на изображении, но занимающим другое положение, и сохраняют в другой файл.
- С помощью итеративного алгоритма ближайших точек (англ. Iterative Closest Point - ICP) вычисляют поворот и смещение второго облака относительно первого. При этом на экран компьютера и в файл выводится найденное смещение по всем осям и погрешность совмещения в мм.
Модуль интеграции
ПАК посредством стандартных протоколов связи и известного API интегрируют в систему управления радиотерапией.