$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
Это исследование проводилось в виде серии случаев с использованием репрезентативных результатов четырёх детей для демонстрации осуществимости протокола, а не статистических выводов. В этом исследовании приняли участие два детей, обычно развивающиеся (мальчик 4 года, 100 см, 14,5 кг; мальчик 10 лет, 144 см, 40,8 кг) и двое детей с церебральным параличом, система классификации общей моторной функции III (женщина 4 года, 93 см, 13,8 кг; мужчина 4 года, 102 см, 16,7 кг). Родители/законные опекуны и дети предоставили информированное согласие/согласие перед участием в соответствии с нашим протоколом, одобренным Институциональным советом по обзору (IRB-FY2024-33).
ПРИМЕЧАНИЕ: Хотя этот протокол описывает процедуры как для 3D-маркерных, так и для 2D систем захвата движения без маркеров, основное внимание исследования сосредоточено на внедрении 2D-метода без маркеров, который является основным клиническим и практическим применением этой работы. Основная реализация текущего протокола требует системы захвата движения на основе маркеров (минимум 8 камер) для 3D-кинематического сбора данных и одной RGB-камеры (минимальное разрешение 1920 × 1080 пикселей, 50 Гц), расположенной перпендикулярно сагиттальной плоскости для 2D-захвата без маркеров. Метод подходит для контролируемых клинических или лабораторных условий с достаточным освещением (> 500 люкс) и минимальным количеством фоновых помех. Для повышения устойчивости в неидеальных условиях набор инструментов vailá интегрирует инструменты предварительной обработки (например, маскировка drawbox, кадрирование/изменение размера видео), которые позволяют изолировать участника от фоновых отвлекающих факторов или корректировать неоптимальное кадрирование камеры. Ключевые ограничения включают снижение точности для однокамерного, безмаркерного подхода для детей, проявляющих значительные движения за пределы плоскости, поскольку этот подход не может фиксировать информацию о глубине или движения вне поля зрения камеры. Пользователям следует следить за тем, чтобы участники оставались в пределах заранее определённого объема захвата и поддерживали выравнивание сагиттальной плоскости во время выполнения задачи, чтобы оптимизировать работу отслеживания без маркеров.
1. Предтестовые проверки
- Включить и прогреть инфракрасную камеру захвата движения и видеокамеру. Инфракрасная система захвата движения требует примерно 30-60 минут разогрева для достижения термостабилизации перед калибровкой и сбором данных. Проверьте частоту дискретизации на 100 Гц (инфракрасные камеры для систем с маркерами) и 50 Гц (видеокамера для системы без маркеров).
- Очистить и/или закрыть отражающие объекты от объёма захвата.
2. Размещение камеры
- Система на основе маркеров (3D-камера)
- Камеры размещаются примерно на расстоянии 1,5–2,5 м от центра зоны передвижения, устанавливаются на высотах от 0,5 до 2,5 м. Убедитесь, что камеры равномерно распределены по объёму съёмки, чтобы оптимизировать видимость маркеров и минимизировать окклюзию во время выполнения задачи «сидя и стоять». Чередуйте высоты положения камеры для повышения точности триангуляции и снижения помех по прямой видимости.
- Каждая точка в целевом объёме (где ребёнок будет выполнять задачу) должна быть видна как минимум двум камерам в любое время, в соответствии со стандартными рекомендациями для оптимального 3D-захвата данных. Определите объём захвата на основе антропометрии педиатрических участников и оцениваемой задачи.
ПРИМЕЧАНИЕ: Рабочее пространство располагалось примерно на высоте 0,80 м над полом.
- Используйте программные инструменты системы на основе маркеров для уточнения трёх основных оптических настроек (зум, диафрагма, фокус), чтобы обеспечить низкие остатки калибровки и высокую согласованность отслеживания маркеров на протяжении всех испытаний.
- Система без маркеров (2D-камера)
- Разместите видеокамеру латерально на расстоянии 3,0 м от участника (или, если возможно, ближе, при условии, чтобы всё тело объекта было видно на протяжении всего задания, от сидения до стояния), по центру на уровне таза, когда участник стоит, ортогонально сагиттальной плоскости.
- Выровняйте оптическую ось (без крена) и выровняйте среднюю линию изображения с центральной областью тазобедренного сустава.
- Настройте камеру с фиксированными параметрами изображения для всех записей.
- Установить область приобретения в область интереса 1920 × 1200 пикселей для определения эффективного разрешения. Используйте фокусный объектив 20 мм и держите диафрагму (достаточно контраста между окружением и участником) постоянной на протяжении всего эксперимента.
- Установите частоту кадров на 50 Гц и зафиксируйте длительность затвора на 5 мс. Применяйте следующие аппаратные настройки и не изменяйте их во время сбора данных: усиление 9.998, гамма 0.4, чёрный уровень 0, насыщение 1.
- Отключите все автоматические настройки экспозиции и баланса белого, чтобы предотвратить временное смещение изображения.
ПРИМЕЧАНИЕ: Для корректировки фокуса можно использовать табличку с короткой фразой, написанной шрифтом Calibri, жирным шрифтом, размером 48, где участник будет выполнять задание. В поле зрения камеры буквы должны быть чёткими, без видимого размытия.
- При использовании любого объектива с заметными искажениями готовьте Charuco/Checkerboard 18,19 для калибровки/неискажения (опционально для строго сагитальных, стационарных задач).
ПРИМЕЧАНИЕ: На рисунке 1 показаны как маркерные, так и безмаркерные видеокамеры.

Рисунок 1: Крупный план двух систем камер, использованных в этом исследовании. Использовалась инфракрасная камера 3D-кинематической системы (слева), в которой 12 камер составляли систему для маркерного подхода, а одна видеокамера (справа) — для подхода без маркеров. Пожалуйста, нажмите здесь, чтобы увидеть увеличенную версию этой фигуры.
3. Синхронизация
ПРИМЕЧАНИЕ: Этот шаг необходим только при одновременном использовании разных систем. Синхронизация между системами не требуется при использовании только одной кинематической (2D или 3D) системы.
- Подключите LockLab (или аналогичный блок управления/синхронизации) для отправки триггера транзистор-транзисторной логики (TTL) к обеим системам в начале каждого испытания.
- Если аппаратные триггеры недоступны, используйте вспышку с видимым светодиодом (LED) (предпочтительный способ) или слышимый хлопок, зафиксированный обеими системами для последующего выравнивания.
4. Калибровка объёма захвата (система на основе маркеров)
- Визуально осматривайте поле зрения камер (как инфракрасных, так и видеокамер), чтобы удалить ненужные объекты из каждого ракурса. В программном обеспечении системы на основе маркеров маскируются отражающие объекты, которые нельзя было убрать из поля зрения камеры (например, другие камеры).
- Выполните калибровку палочки там, где будет выполняться задача. Проведите палочку по всему объёму захвата, чтобы покрыто всё пространство. Допускайте калибровку только если пространственная точность ≤ 1 мм (средний остаток).
ПРИМЕЧАНИЕ: Убедитесь, что как минимум три камеры одновременно видят калибровочный шпал во время этой процедуры. Двигайте палочку по объёму захвата с такой скоростью, которая приближается к движению, ожидаемому в экспериментальной задаче: Для задач с высокой скоростью двигайте палочку быстро; Для более медленных движений ведите палочкой медленнее. В конце калибровочного прохода проверьте программные индикаторы на наличие камер, которые не зафиксировали достаточное количество видов палочки, и выполните дополнительные целенаправленные движения палочкой в полях зрения этих камер перед завершением калибровки. Остаточные ошибки после калибровки палочки обычно составляют от 0,3 до 0,8 мм, когда проход палочки плавный, объём захвата равномерно освещен, и все камеры имеют свободный обзор.
- Установите начало громкости, разместив калибровочную палочку в назначенном месте начала в определённом тестовом пространстве. Определите плоскость пола согласно инструкциям производителя.
5. Установка маркеров (система на основе маркеров)
- Размещайте ретрорефлексивные маркеры по модели Plug-inGait 20,21,22 (рисунок 2), выполненной обученным экзаменатором.
- Проверьте видимость двусторонних маркеров бедра, колена и туловища во время краткого тестового движения перед проведением статического испытания (необходимого для систем на основе 3D-маркеров).

Рисунок 2: Модель подключённой походки, адаптированная для настоящего исследования. Стандартный набор маркеров применялся для определения нижних сегментов конечностей, таза, туловища и головы. Маркеры верхней конечности были удалены, чтобы сосредоточиться исключительно на кинематике нижней части тела и туловища. Эта адаптация сохраняет целостность оригинальной модели полного тела Plug-in Gait, исключая движение рук из анализа. Пожалуйста, нажмите здесь, чтобы увидеть увеличенную версию этой фигуры.
6. Кресло и окружающая среда
- Используйте кресло без подлокотников и регулируйте высоту сиденья так, чтобы углы бедер и коленей были ~90°, а стопы были ровно на полу. Запишите высоту сиденья (см) для каждого участника.
- Обеспечить равномерное освещение; Избегайте подсветки и окклюзии в сагиттальном виде. Убедитесь, что фон с одинаковым контрастом.
7. Обучение участников и безопасность
- Убедитесь, что в записывающие файлы не прилагается идентифицирующая информация (только неидентифицируемые буквенно-цифровые коды для каждого участника).
- Для проведения испытаний по принципу «сиди и стоять» убедитесь, что участники осведомлены о правильных инструкциях и протоколах.
- Инструктируйте обычно развивающихся (TD) участников держать руки на бёдрах.
- Для детей с церебральным параличом (GMFCS III) при необходимости предоставляйте ручную поддержку для достижения вертикальной стойки без ущерба безопасности.
ПРИМЕЧАНИЕ: Хотя детям может потребоваться ручная поддержка для обеспечения безопасности и выполнения задач, необходимо соблюдать осторожность для минимизации окклюзии сегментов тела или маркеров, так как это может ухудшить качество данных.
- Отключите движение словесно («вверх») и обеспечьте себе выбранную комфортную скорость во время испытаний «сидя и стоять».
8. Пробное приобретение
- Перед записью динамических испытаний зафиксируйте статическую калибровку, где участник стоит в нейтральном положении, ноги на ширину плеч и руки под углом 90° похищения.
- Убедитесь, что все маркеры видны как минимум двум камерам; Проверьте в программном обеспечении системы на основе маркеров, что ≥ 95% маркеров обнаруживаются на всех камерах. Рекорд на 2-3 секунды. Один 3D-перспективный кадр должен содержать все маркеры.
- В программном обеспечении системы на основе маркеров применяется статическая модель Plug-in Gait для определения центров соединений и систем координат сегментов. Проверьте правильное соответствие модели, изучив 3D-визуализацию скелета и подтвердив анатомически правдоподобное положение центра суставов.
ПРИМЕЧАНИЕ: Это статическое испытание предоставляет параметры биомеханической модели, необходимые для последующей обработки 3D-динамических испытаний. На этом этапе необходимо ввести антропометрические показатели участника (например, вес, рост, длину ног и т.д.) в программное обеспечение системы на основе маркеров. Когда требуется ручная поддержка для педиатрических пациентов во время статического исследования, необходимо проявлять осторожность, чтобы избежать окклюзии маркеров, которая может ухудшить качество данных.
- Зафиксировано три испытания от сидения достойки — 23 на каждого участника. Период отдыха между испытаниями может быть необходимым для каждого участника, так как это не является физически сложной задачей.
- Используйте стандартизированную систему именования файлов, включая группу (например, TD, CP), буквенно-цифровое идентификатор участника и номер исследования.
- В программном обеспечении системы на основе маркеров реконструируют траектории маркеров с помощью калиброванной системы камеры.
- Маркируйте каждый маркер согласно номенклатуре набора маркеров Plug-in Gait. Используйте автоматическое заполнение зазоров (максимальный размер зазора: 10 кадров) для кратковременных окклюзий.
- Проверьте точность маркировки, визуально осматривая скелет в 3D-перспективе. Когда все маркеры правильно промаркированы и траектории будут непрерывными, экспортировать исследование в формате .c3d для анализа в наборе инструментов vailá .
- Сохраняйте оптические данные в формате .c3d и видеокадры или транслируйте как безпотерь или высокобитрейтные сжатые файлы.
9. Обработка данных
ПРИМЕЧАНИЕ: Набор инструментов vailá (v0.10.21)24 является кроссплатформенным (Windows, macOS, Linux) и требует Python 3.12 или новее. Модули анализа без маркеров (например,MediaPipe 25) оптимизированы для эффективной работы на стандартных процессорах, обеспечивая доступность в клинических условиях без специализированного оборудования. GPU с поддержкой CUDA является опциональной и используется только если пользователь выбирает альтернативные высокоскоростные двигатели (например, YOLO-Pose) для более быстрой обработки. Для получения подробных команд выполнения, пошаговых руководств и полной документации пользователи направляются к онлайн-ресурсам и интегрированным файлам помощи инструмента, доступным по адресу: https://github.com/vaila-multimodaltoolbox/vaila/tree/main/docs/modules/markerless-analysis.
- Маркерный подход: в программном обеспечении системы на основе маркеров обрабатываются статические и динамические испытания. Примените модель динамической походки с подключением к отмеченным траекториям маркера (см. шаг 7.4) для вычисления временных рядов углов соединения.
- Экспортировать обработанные данные испытаний в формате .c3d. Убедитесь, что вычисленные временные ряды углов суставов (например, углы бедра, колена, голеностопа) включены в экспорт.
- Импортируйте обработанный .c3d-файл в набор инструментов vailá с помощью функции vaila.load_c3d(). Toolbox автоматически извлекает заранее рассчитанные данные временных рядов углов соединения из файла.
- Примените низкочастотный фильтр Баттерворта с нулевым задержкой четырёх порядков (отрез 6 Гц) к данным угла соединения с помощью интегрированных функций фильтрации (как описано в шаге 9.2.4 ниже), чтобы обеспечить согласованную обработку с данными без маркеров.
- Последующие анализы (например, генерация циклограмм, вычисление координационных метрик) проводятся внутри vailá.
- Метод без маркера: модуль оценки позы Load MediaPipe (v0.10.21) внутри vailá. Установите следующие параметры: static_image_mode = Ложно, model_complexity = 1-2 (используйте уровень 2, когда ресурсы GPU/CPU обеспечивают более высокую точность), smooth_landmarks = True, min_detection_confidence = 0,6, min_tracking_confidence = 0,6.
ПРИМЕЧАНИЕ: Здесь можно использовать альтернативные фреймворки оценки позы, такие как OpenPose.
- Обработайте каждый видеокадр для извлечения ориентиров MediaPipe 33 (рисунок 3). Отбросить кадры с уверенностью обнаружения ниже порога или применить интерполяцию для отсутствующих данных.
ПРИМЕЧАНИЕ: MediaPipe обнаруживает 33 ориентира на теле, включая лицо, торс и ключевые точки конечностей (рисунок 3). В действующем протоколе использовались только ориентиры туловища и нижней части тела, относящиеся к анализу «сидя и стоя»: плечо [ориентиры 11 (левое плечо) и 12 (правое плечо)], бедро [ориентиры 23 (левое бедро) и 24 (правое бедро)], колено [ориентиры 25 (левое колено) и 26 (правое колено)], и голеностоп [ориентиры 27 (левая лодыжка) и 28 (правая лодыжка)]. Эти ориентиры автоматически обнаруживаются по RGB-видео и оцениваются по визуальным признакам (а не по ретроотражающим позициям маркера, используемых в модели Plug-in Gait).
- Убедитесь, что все ключевые ориентиры (плечо, бедро, колено, лодыжка) обнаружены с уверенностью ≥ 0,7.
- (По желанию) Если искажение объектива важно, перед запуском MediaPipe исправьте кадры с помощью калибровочных параметров (матрицу камеры и коэффициенты искажения).
- YOLO-Pose: Параллельно загрузите модуль YOLO-Pose, интегрированный в vailá.
- Настройте модель с стандартными весами для обнаружения человеческих скелетов (набор ключевых точек соответствует формату COCO). Каждый кадр обрабатывается для обнаружения ключевых точек скелета с помощью магистрали YOLO, оптимизированной для надёжной производительности при размытии движения, окклюзии или сложных фонах.
- Примените временные фильтры сглаживания для уменьшения дрожи между кадрами и выравнивания обнаруженных ключевых точек с системой координат, используемой в MediaPipe.
- Для фильтра временного сглаживания применяйте низкочастотный фильтр Баттерворта4-го порядка с частотой среза 6 Гц (движения «сидя в стойку» имеют доминирующее частотное содержание ниже 5 Гц) ко всем угловым временным рядам соединения, как на основе маркеров, так и без маркеров, чтобы устранить высокочастотный шум при сохранении сигнала движения.
- Реализуйте этот фильтр, используя функции scipy.signal.butter() и scipy.signal.filtfilt() в Python, используя нулевую фазовую фильтрацию вперёд-назад, чтобы избежать временных сдвигов.
- Обработка данных в vailá: экспортировать знаковые траектории из обоих конвейеров (MediaPipe и YOLO-Pose) в стандартизированном формате .csv или .json. Храните метаданные (номер кадра, временную метку, уверенность обнаружения) вместе с ключевыми координатами. Это обеспечивает сопоставимость между методами и воспроизводимость анализов.
- Определения координат и углы суставов: определите углы сгибания бедра в сагиттальной плоскости и колена с положительными значениями для сгибания.
- Для безмаркерных данных определите центры/сегменты суставов из ориентиров MediaPipe (например, бедро: прокси таза; колено: бедренно-большеберцовая кость; туловище: сегмент плечо-бедра) и вычислите сагиттальные углы, используя согласованную систему координат суставов.
ПРИМЕЧАНИЕ: Углы суставов сагиттальной плоскости вычисляются геометрически по координатам двумерного ориентира. Набор инструментов vailá вычисляет угол (θ) между двумя векторами сегментов (векторами a и вектором b) с использованием аркозина их точечного произведения: θ = arccos((a · b) / (|a| |b|)). Сгибание бедра определяется как угол между вектором «туловища» (вектор, соединяющий ориентиры MediaPipe 11/12 [плечо] и 23/24 [бедро]) и вектором «бедра» (вектор, соединяющий 23/24 [бедро] и 25/26 [колено]). Сгибание колена определяется как угол между вектором «бедра» (вектором, соединяющим 23/24 [бедро] и 25/26 [колено]) и вектором «шанка» (вектор, соединяющий 25/26 [колено] и 27/28 [лодыжка]).
- Примените одинаковую конвенцию знаков и фильтрацию (если нужно) к обоим подходам для облегчения сравнения.
- Временная синхронизация: выровнять данные с обоих подходов с помощью временной метки триггера LockLab; В противном случае выровняйте первый видимый кадр вспышки/хлопка по потокам данных.
- При необходимости переснимите временные ряды до общей временной базы перед сравнениями.
- Определите цикл движения:
- Определите цикл «сидя-стоя» от начала наклона вперёд туловища (положительный порог угловой скорости туловища) до стабильной вертикальной стойки для детей, обычно развивающихся (угловая скорость туловища ~0 и полное разгибание колена), а для детей с церебральным параличом — стабильной вертикальной стойки и наибольшего положения шейного маркера (система на основе маркеров).
- Для детей с церебральным параличом, которые могут не достигать полного разгибания (то есть туловище выровняется с тазом, бедро сгибается 0°, колени полностью выпрямлены), как обычно развиваются дети, определяйте конец цикла как наиболее вертикальную осанку, достигнутую в соответствии со статическим стоячим испытанием, и подтверждаемую визуальным осмотром для обеспечения стабильной стойки перед следующим испытанием.
- Не нормализуйте время для представительных графиков; Сообщайте фактическую продолжительность задачи на каждом испытании. (Временно-нормализованные анализы могут быть предоставлены в качестве дополнительного, если это необходимо.)
- Вычисление циклограмм и метрики: Постройте углы бедра (ось x) и колена (ось y) для каждого испытания для генерации циклограмм бедро-колено.
- Для визуального сравнения, применяются наложенные испытания и подходы (на основе маркеров или безмаркерных).
- Вычислите дополнительные сводные метрики: диапазоны движения бедра/колена, площадь петли, ориентация петли (угол главной оси) и длина пути.
- Экспортировать обработанные временные ряды и метрики как .csv для статистического анализа.

Рисунок 3: 33 ориентира MediaPipe. Для этого исследования мы использовали только ориентиры, относящиеся к заданию «сидя в стойку», а именно ориентиры 11 и 12 (плечи), 23 и 24 (бедра), 25 и 26 (колени), а также 27 и 28 (лодыжки). Пожалуйста, нажмите здесь, чтобы увидеть увеличенную версию этой фигуры.