Инновационные технологии экспериментального исследования микропроцессов зрительного восприятия комплексных объектов и событий

3

Аннотация

В предлагаемой работе автор делится опытом за более чем 10 лет исследований в области айтрекинга с применением собственных программных решений. Показаны основные ключевые точки, на которые следует обратить внимание при реализации процедуры эксперимента, сравниваются подходы в процессе программирования и объясняются причины выбора того или иного решения в каждом случае. Отдельно рассматривается вновь предложенный метод синхронизации всех программных частей экспериментальной установки на базе специального сетевого протокола Network Time Protocol [19], который исключает необходимость вторичного контроля за процессом визуальной экспозиции различного рода датчиками (известными как транзистор-транзисторная логика).

Общая информация

Ключевые слова: синхронизация, протокол NTP, эквитемпоральность, движение, методика мерцания

Рубрика издания: Психология восприятия

Тип материала: научная статья

DOI: https://doi.org/10.17759/exppsy.2024170403

Финансирование. Исследование выполнено при финансовой поддержке Российского научного фонда (РНФ), в рамках научного проекта № 24-18-00904 «Механизмы восприятия эмоционального состояния человека в процессах невербальной коммуникации».

Получена: 14.10.2024

Принята в печать:

Для цитаты: Жердев И.Ю. Инновационные технологии экспериментального исследования микропроцессов зрительного восприятия комплексных объектов и событий // Экспериментальная психология. 2024. Том 17. № 4. С. 44–59. DOI: 10.17759/exppsy.2024170403

Полный текст

Введение

Данная работа продолжает серию программных решений на базе персонального компьютера для проведения лабораторных экспериментальных замеров перцептивной функции на примере визуальных психофизически корректных, тахистоскопически экспонируемых стимулов [1; 2; 5; 9; 10; 23] и частично повторяет результаты работы Nyström et al. [20], включая использованную реализацию протокола синхронизации и замеры точности с течением времени, однако расширяет обсуждение проблемы синхронизации применительно к парадигме кажущегося движения, которое в интра- и парасаккадических интервалах может проявляться в отсутствии эффекта саккадического подавления при использовании комплексных объектов.

Была поставлена задача повышения возможного диапазона применения айтрекерного стенда с сохранением экспериментальной парадигмы. Примененные в исследовании платформа (здесь и далее термин платформа применяется в значении «программная библиотека с высоким уровнем абстракции») и средства разработчика позволили полностью отказаться от устаревшей аппаратно-технической базы, уменьшить количество элементов в стенде и одновременно расширить спектр изучаемых явлений в парадигме gaze-contingent (обратная зрительная связь) за счет расширенных технических возможностей, снимающих некоторые артефакты, связанные с ограничениями предыдущей программной базы.

С годами возникает потребность в более надежном программном обеспечении, обладающем более выгодными эксплуатационными качествами, чем имеющееся. Мы занимаемся проведением психофизических экспериментов с повышенными требованиями к технической части программного компонента. Предоставляемые поставщиками оборудования и «универсальные» программные пакеты (Noldus Observer, SMI Experiment Center, Tobii Pro Studio, OpenSesame, Vision Egg), как показывают многочисленные отзывы исследователей, позволяют реализовать только базовый функционал стандартизированных исследовательских процедур, таких как анкетирование, тахистоскопическое предъявление, тестирование. Программная логика может быть, потенциально, исполнена программистом и на этих пакетах, но она не заменяет полноценные языки программирования и, что важно, достаточно быстро достигает теоретического максимума по таким характеристикам ПО, как обслуживаемость и интеллигибельность (постижимость). В случае низкой обслуживаемости созданное программное решение после первых лет использования переходит в разряд «наследия» от предыдущих авторов. Это ситуация, когда заведомо рабочее и отлаженное ПО не может быть никем изменено и подстроено под новые исследования. Термин «интеллигибельность» означает ситуацию, когда сам разработчик не может реализовать в проекте требуемый функционал по причине чрезмерной сложности и запутанности связей внутри программных систем или функциональных блоков (если речь идет о языках функциональной парадигмы программирования). Через какое-то время наступает ситуация, когда внести изменения в имеющуюся программу требует больше времени, чем создать новую. Это влечет за собой, помимо издержек по времени и затрачиваемого труда, еще одну важную в психофизике проблему — верифицируемость и воспроизводимость. При создании новой программы, дополняющей функционал предыдущей, требуется полностью протестировать тождественность их работы — и аналогичность получаемых на выходе результатов — при одинаковых вводных параметрах.

Технологической целью нового поколения экспериментальных тахистоскопических стендов в нашем исследовании стало сохранение корректности выдерживаемых временных интервалов в диапазоне частот от 144 до 240 кадров/с. При этом важна не только длительность экспонирования, но и точность регистрации момента начала экспонирования (onset time). Ввиду необходимости использования объективных методов контроля за ходом экспонирования, в частности за работой фототранзисторных датчиков, была поставлена задача снять ограничения на установку датчика на экран (что неизбежно ведет к парциальной окклюзии зрительного поля респондента) и необходимости регистрировать данные в лабораторном помещении. Для этих целей был собран пакет сопутствующих технологий, позволяющих приблизить ослабленные условия регистрации к лабораторным. В частности, в стимульный модуль были добавлены процедуры синхронизации системных таймеров всех компьютеров в стенде, стимульный компьютер заменен на портативный (ноутбук) с сохранением технических требований по минимально возможной длительности стимула, стационарный айтрекер заменен на мобильную версию, а сам стимульный модуль адаптирован под различные современные библиотеки, в частности стек PsychoPy/pyglet/winGDI. Накопленный опыт работы с процедурами такой сложности позволил выполнить технические требования к стенду с минимальными потерями качества регистрации каналов окуломоторики и временных меток, важнейшим требованием для которых является синхронность происходящих при экспонировании событий, поскольку от этого принципиально зависит, будет ли происходить маскировка целевого стимула и какая, а также возможно ли наблюдать обратный от этого процесс во время развития перцептивной ситуации —демаскировку стимула [см.: 13; 22].

Выделяют две системы восприятия темпоральных признаков движения — переходную и устойчивую [15], которые работают в разных диапазонах пространственных частот. Устойчивая система восприятия предполагает смещение объекта с течением времени (истинное движение), тогда как переходная воспринимает мерцающие объекты [12, p. 971] с пространственными частотами до 4 циклов/градус (cpd) зрительного поля. Компонентный анализ парадигмы симультанности [там же] постулирует, что нередко начало следующего стимула воспринимается как завершение предыдущего (что является иллюзией offset-onset simultaneity), даже когда временные границы событий не совпадают [18, p. 69]. Исходя из этого, крайне важно иметь в распоряжении такой стенд, технические характеристики которого позволяют строго восстановить фактическую последовательность происходивших в эксперименте событий.

Какая именно точность синхронизации является необходимым теоретическим максимумом, зависит от конкретной экспериментальной парадигмы, однако есть свидетельства того, что визуальная стимуляция длительностью в 0,00025 с не остается без нейронного ответа [28]. Мы работаем в парадигме с обратной зрительной связью в интрасаккадическом интервале, и для наших исследований достаточно, чтобы длительность стимула и точность синхронизации былина порядок меньше, чем длительность окуломоторных событий. Так, если наименьшая возможная длительность саккады находится в пределах 21—22 мс, а самые короткие саккады при заданных нами условиях составляют 31—32 мс, то приемлемой точностью синхронизации потоков для нас будет 0,8—4,0 мс друг относительно друга (здесь и далее под потоком данных понимается последовательность числовых данных, формируемая каждой отдельной аппаратной базой во время эксперимента, такими как айтрекер, время реакции, прочие метрики деятельности респондента; отличительной особенностью потока является то, что его необходимо регистрировать постоянно на протяжении всего хода эксперимента, чтобы добиться заданной точности по времени, а также то, что момент начала и завершения записи у двух любых потоков может не совпадать). При этом наличие прерываний (в частности мерцания) в стимульном поле будет влиять на восприятие одновременности увиденного и улучшать опознание, в частности на дальней периферии [29], и, как следствие, на формирование обратной или прямой зрительной маскировки. «Воспринимаемая стабильность фундаментально определяется моментом появления стимула, но не его длительностью и не моментом исчезновения» [4, p. 2]. Перцептивная синхронность, в свою очередь, сильнейшим образом корректируется различными постановками задачи.

В статье не рассматриваются проблемы, связанные с измерением времени реакции (reaction time paradigm), поскольку ввод информации самим респондентом с точными временными метками требует совершенно другого оборудования, нежели клавиатуры и прочие стандартные устройства ввода. Такие системы достаточно широко представлены в виде аппаратных устройств (ProPixx, Cedrus SuperLab, Black Box toolkit, LabHackers USB2TTL).

Методические проблемы и их решения

Предлагаемый подход к стимульному программному обеспечению делает использование фототранзистора необязательным, а также впервые в нашей практике переносит экспериментальную ситуацию с высокочастотного айтрекера на упрощенные модели сегментом ниже, чем строго внутрилабораторные модели, которые функционируют в диапазоне частот 120—250 Гц (такие как SMI RED-m и Tobii Pro Fusion).

Цветопередача. Использование ноутбука с разъемом Mini DP (интерфейс DisplayPort Dock) позволяет использовать мониторы с высокими характеристиками по частоте (до 160 Гц) и скорости срабатывания матрицы (метрика GtG), чтобы стимульный материал оставался на высоком уровне по физически корректным характеристикам и с правильной (аппаратно калиброванной) цветопередачей. Однако, как видно из графика на рис. 1, компьютерные мониторы имеют нелинейности в передаче яркости, и это не может быть скомпенсировано цветовой калибровкой через Ґ-функцию. Видны нелинейности в цветопередаче, а также увеличенный диапазон черного цвета до достижения определенного порога. На графике предполагаемый монитор откалиброван на максимальное значение, равное яркости 270 кд/м2. У монитора также есть максимальная теоретическая яркость (условно 400 кд/м2), и минимальное значение, на которое возможно настроить точку белого на данном мониторе (которое условно составляет 60 кд/м2).

Рис. 1. Концептуальный график прироста фактической яркости компьютерного монитора в зависимости от номинальной яркости точки на экране

Кроме того, существует проблема кратковременного неверного отображения светлоты на мониторах, что проявляется в первых трех кадрах после установления заданной матрицы изображения на ЖК-экране, и которая может достигать 63% от калиброванного значения. При этом величина ошибки зависит от амплитуды перехода между яркостью различных исходных значений. После первого кадра величина ошибки падает до 26%, а после третьего — до 7,2% [28]. Таким образом, только высокочастотные ЖК-мониторы (>120 Гц) обладают приемлемыми характеристиками в качестве экспозиционного средства для тахистоскопических исследований в интрасаккадических временных интервалах, поскольку тогда можно говорить о том, что некая средняя спектральная характеристика стимула выдерживается в заданных пределах и на заданных временных интервалах.

На рис. 2. представлены моментальные снимки хода стимульной ситуации на сверхкоротких интервалах времени. На кадрах № 8—20 отчетливо виден эффект проскока (выход локальной яркости за пределы целевого значения) при переходе с более темного стимула на более светлый фон (в эксперименте варьировалось соотношение яркости фигура/фон), известный в технической документации как «овершут». Кроме того, видно, что при данном режиме работы монитора изображение экспонируется синхронно по всей высоте, а не последовательно в виде тонкой полоски, как в случае с более старыми мониторами. Также на первом кадре видно, что фиксационный крест пересекается по времени со стимульным изображением, чего, согласно процедуре, быть не должно.

Рис. 2. Покадровая развертка тахистоскопической стимульной ситуации (натурщик M07 из фотобазы ADFES) на современном ЖК-мониторе (AOC Agon AG251FG). Каждый зафиксированный кадр соответствует отрезку времени 1 мс. Заявленная длительность всей экспозиции — 1 кадр вертикальной развертки при частоте 144 Гц (6,94 мс)

На рис. 3. видно, что период овершута превышает начальное значение на ~2% и постепенно возвращается к исходному значению втечение 13 мс, следующих за экспозицией. Данный негативный эффект исправляется установкой частотной компенсации (RTC, или «овердрайв») в настройках монитора на среднее или высокое значение. Обратите внимание на то, что данный стимул имеет соотношение светлоты фигуры к фону менее 1 (начальное значение перед экспозицией выше, чем во время экспозиции).

Рис. 3. Динамика изменения локальной светлоты на экране во время стимульной ситуации. Подписи по оси x соответствуют номерам кадров на рис. 2. Горизонтальная пунктирная линия означает начальное значение светлоты (перед появлением стимула). Вертикальная пунктирная линия означает заявленную длительность экспозиции. Данные на графике получены с помощью косвенных технических средств

Мерцание при экспозиции (фликер). Есть данные, что в психофизическом эксперименте может быть зафиксирована критическая частота слияния (CFF) до 64 Гц [17; 25]. Частоты выше этой воспринимаются как неподвижные фигуры и не влияют на ход эксперимента. Однако они фиксируются на подпороговом уровне [24] и на периферии с эксцентриситетом около 52 dva. В работе Erlikhmann et al. показано, что частоты мерцания до 5 Гц не приводят к значительному снижению точности в задачах на обнаружение (однако низкие частоты в 0—2 Гц способствуют возникновению иллюзорного движения целей), тогда как при достижении частоты >12 Гц точность падает вдвое [8, p. 27], причем при большем эксцентриситете цели этот эффект усиливается. Кроме того, было сделано важное наблюдение: величина иллюзорного движения вследствие мерцания целей зависит от их количества и резко нарастает при достижении количества целей, равного 4.

Современные ЖК-матрицы экспонируют изображение по-другому, нежели ЭЛТ-мониторы аналоговой эпохи. Практически исчез эффект мерцания заэкранных ламп подсветки (так называемые источники света с нулевой пульсацией, или flicker-free/zero flicker дисплеи), который приближал по своим перцептивным характеристикам более ранние ЖК-мониторы к ЭЛТ-экранам, но остались эффекты затухания матрицы и эффект проскока [7; 14].

Более того, с развитием ЖК-мониторов крайне важным аспектом является то, что практически исчез эффект разорванного кадра (tearing effect). Период вертикального стробирования в новейших ЖК-мониторах настолько мал и всегда идет уже после обновления изображения на матрице, что даже при выключенной функции вертикальной синхронизации (V-Sync) разорванных кадров в стимульной ситуации практически не случается. Все изображение выводится из видеобуфера на экран практически одномоментно, даже в ситуациях, когда момент экспозиции не совпадает с разверткой монитора. Это имеет один важный побочный (положительный для экспериментатора) эффект — можно отказаться от использования функции V-Sync/G-Sync и при этом не ставить под угрозу корректность экспонирования визуальных стимулов. Использование данных функций, по определению, вносило задержку в 1—2 кадра развертки перед началом экспозиции, что критично на частотах 144 Гц и менее. Кроме того, в новейших драйверах видеокарты добавлена функция принудительного ограничения максимальной частоты обновления.

Настройки видеокарты. Корректная работа стимульного модуля радикальным образом определяется настройками в драйвере видеокарты. Библиотека PsychoPy [21] версии 2020 г содержит широко используемый функционал простановки временных меток начала и завершения экспозиции визуального стимула, который реализован в функциях GetFutureFlipTime и TimeOnFlip класса Window. Стоит заметить, что все они основаны на косвенных временных метках, которые программа получает при готовности видеобуфера к записи следующего кадра, сигнал о которой она получает через системную библиотеку GDI32 (если рассматривать работу под ОС Windows). Важно помнить, что при дальнейшей обработке необходимо вычислить фактический момент начала экспозиции, исходя из частоты монитора, позиции стимула на экране и высоты экрана [см.: 6; 26].

Начиная с версии 1.62, платформа позволяет блокировать исполнение в ожидании сигнала о завершении предыдущего кадра (часто упоминается в тех. документации как переменная VBLANK) и, таким образом, косвенно синхронизироваться к моменту начала следующего. Тем не менее, данная механика не гарантирует ни точных значений по таймерам, ни привязки к аппаратной части монитора или видеотракта в целом. Функционально ее нельзя считать аналогом датчика, установленного на поверхность экрана. Стоит отметить, что указанный сигнал будет в стимульную программу приходить только в том случае, если в настройках драйвера видеокарты включена функция «Вертикальная синхронизация», а окно, в которое выводится стимул, имеет свойство WaitBlanking, равное True. Любые ограничения на максимальную частоту обновления при этом рекомендуется снять, поскольку они вносят погрешность в таймер, значениями которого будут помечаться моменты смены кадров.

В более поздних версиях добавлена возможность контролировать момент начала вертикальной развертки даже без глобальной принудительной функции вертикальной синхронизации (выводится отдельное предупреждение, если включен глобальный параметр). А некоторая часть функционала этих пакетов и вовсе рассчитана на то, что глобальный параметр в драйвере видеокарты находится в выключенном положении. Как было показано в большом исследовании ранее [3; 11], каждую конкретную конфигурацию драйвера / операционной системы / версии стимульной платформы / настроек монитора следует многогранно тестировать на предмет корректности временных интервалов и пространственно-частотных характеристик стимула (фактически выводимых на экран).

Отдельно хотим отметить функцию, известную под названием G-Sync (отложенный вертикальный синхроимпульс). Данный функционал видеокарты следует использовать, только когда не важен момент начала экспозиции, поскольку он привносит задержку в два лишних кадра и перехватывает управление синхроимпульсом вертикальной развертки монитора. Кроме того, эта функция может иметь неопределенное поведение на пиковых частотах работы монитора. Использование данной функции в целях разового уменьшения межстимульного интервала см. в работе Poth et al. [23].

Проблема пропуска кадров. Как показывают результаты замеров точности [11], интервалы длительностью в 1—2 кадра, — а именно такие временные режимы и важны в тахистоскопических исследованиях в интрасаккадическом интервале, —данная платформа выдерживает ненадежно, и случаются пропуски кадров (что равнозначно как для момента появления, так и для момента исчезновения стимула). К тому же на разных компьютерах и при разных установленных видеодрайверах наблюдаются совершенно разные результаты, что компрометирует надежность комплекса на этапе проведения серии экспериментов и существенно усложняет воспроизводимость результатов.

Кроме того, авторы сообщают о том, что точность замера интервалов зависит (sic!) от способа проведения тестового пробега, точнее — от количества замеров в цикле (замеры проводились для разных длин интервала сериями по 5 в циклах типа for заданной длины). Косвенно можно судить о том, что такая особенность (иногда ее называют «разогрев»/warmup) связана с менеджментом памяти модуля Lazy Import, на который данное средство опирается как на библиотеку.

Поскольку в нашем эксперименте требуется не только соблюсти длительность стимульной экспозиции, но и вовремя ее начать, крайне важно иметь возможность детектировать пробы, в которых экспозиция не соответствует показаниям внутренних синхрометок в стимульной программе. На видеокартах бытового сегмента может быть пропуск кадров — такая ситуация, когда функция передаст вам значение временной метки наступающей экспозиции, а реально изображение не появится / не сменится вовремя. Однако, на основании сотен замеров средствами объективного контроля, на видеокарте линейки Nvidia Quadro (настольная версия) пропуск кадра не был зафиксирован ни одного раза, и значения таймеров также показывали полное совпадение с моментами смены кадра.

В остальном, как показали наши замеры в более поздних версиях платформы (≥ 2020.2), косвенно определить пробу с неверными показаниями таймера можно только на основании самого факта наличия значений, отличающихся более, чем на 2%, от номинальных. При этом показания таймера будут неверно указывать момент, где произошел пропуск кадра (происходит накопительный эффект ошибки). Обратите внимание на то, что при выключенной функции V-Sync нарушения длительностей экспозиционных ситуаций также будут происходить (несмотря на якобы отличные показатели всех таймеров), но значения таймера не будут позволять их надежно определить, поскольку они не будут зависеть от фактической смены кадра на экране. Существует лишь одна ситуация, когда выключение V-Sync желательно, — если важно минимизировать задержку перед началом экспозиции. В таком случае рекомендуется использовать ее вариацию «Быстрый V-Sync».

Временная синхронизация. Рассмотренный метод, подробно описанный ранее [20], позволяет установить соответствие между внутренними электронными часами двух и более компьютеров, задействуя специально разработанный в 1985 г сетевой протокол обмена [19]. Мы считаем, что использование программного метода синхронизации потоков данных более универсально, чем аппаратный датчик, так как не требует наличия в компьютере айтрекера никаких дополнительных интерфейсов и упрощает процесс переноса стимульного модуля на другие виды установок. Кроме того, данный метод позволяет задействовать десятки компьютеров в составе одной сборки [20], причем так, что степень синхронизации между всеми парами будет одинакова. При необходимости достичь более высокой точности синхронизации программный протокол NTP может быть заменен на его вариант PTP (который требует аппаратной поддержки на всем сетевом маршруте и отдельного аппаратного таймера), обеспечивающий ошибку в паре системных часов менее 0,001 мс. Стоит заметить, что оба сетевых протокола инвариантны к расстоянию между компьютерами в составе стенда и позволяют синхронизировать стимульный компьютер с остальными даже на значительном удалении, при условии, что на сетевом маршруте не будет асимметричных путей коммуникации в каждой паре компьютеров. Нарастающая погрешность с течением времени линейна и предсказуема для каждой данной пары (рис. 4), а если в процессе эксперимента проводить регулярную повторную синхронизацию, то ей можно пренебречь. Особо подчеркиваем, что для операционной системы Windows приемлемая точность работы системной службы времени (W32Time) была реализована только начиная с версии 10 (билд 1607).

Рис. 4. Накопленная ошибка между таймерами двух компьютеров в экспериментальном стенде при различных частотах повторения процедуры синхронизации по протоколу NTP. Закрашенные интервалы описывают полуторные межквартильные размахи с шагом ~1 с. Данные по синхронизации двух компьютеров через локальную сеть 1 Гб/с при постоянной комнатной температуре и без использования высокоточных источников показаний времени

На графике приведен 10-минутный фрагмент осцилляций системного таймера с течением времени (тенденция постоянна и была промерена на восьмичасовом интервале), когда таймер регулярно подстраивается через заданные промежутки времени. Мы видим, что это именно осцилляции, причем двусторонние. Таймеры (внутренние часы) двух компьютеров расходятся друг относительно друга, но не в фиксированном направлении, а хаотично, то отдаляясь, то снова сходясь. Помимо осцилляций, присутствует и линейный тренд постепенной девиации, вызванный, вероятно, различиями в точности первого и второго таймера (метрика ppm). Из графика видно, что после ресинхронизации ошибка возвращается не на первоначальный уровень, а имеет некое биение относительно базового уровня в пределах 0,75 мс. Однако, при необходимости, данный факт возможно устранить путем повторения ресинхронизации до достижения нужного уровня. Исходя из нашего опыта, 3—4 попыток бывает достаточно, чтобы получить ожидаемый уровень ошибки (для каждой данной пары компьютеров). При этом каждая попытка ресинхронизации может занимать по длительности порядка 400 мс или меньше. Однако, в некоторых случаях, стоит рассмотреть вариант использования программного обеспечения, которое не только производит регулярную подстройку часов, но и минимизирует ошибку хода. Это позволит избавиться от резких скачков таймера (в пределах полученной ошибки), а также исключит ситуации, когда таймер в процессе подстройки переводится назад. Линейный тренд, как ожидается, приобретет при этом характер вертикально сжатой синусоиды. Из графика можно сделать вывод, что для поддержания точности синхронизации в ~1,5 мс достаточно подстраивать системные таймеры по протоколу NTP через каждые 60 с (1 раз в минуту).

Для сравнения, накопленная ошибка с течением времени (vertical skew в англоязычной литературе) во время эксперимента, при использовании аппаратных методов синхронизации, может достигать 0,2 мс за каждую минуту записи [16, p. 678]. Использование сетевого протокола синхронизации позволяет отказаться от необходимости посылать различного рода синхронизирующие метки (электронные импульсы, тоновые звуки или вспышки) в разномодальные каналы записи с основного (ведущего) компьютера [там же, p. 675]. Теперь каждый компьютер в составе стенда (и все программы, использующие внутренние часы) имеет привязку к общему «нулю» с прогнозируемой ошибкой точности, что упрощает дальнейшую обработку, избавляет от необходимости кодирования специфических синхрометок для каждого канала (такого как внедрение бинарных меток в аудиотракт или кодирование вспышками для инфракрасной камеры), которые, тем не менее, не гарантируют одновременности происходящего на записи.

Кроме того, архитектура стенда с использованием внутренних таймеров компьютера позволяет исключить фактор сетевых задержек при проставлении меток в потоки данных, поскольку зависит только от самого быстродействующего компонента в его составе — модулей оперативной памяти. После того, как произошла синхронизация, остается только два негативных фактора, потенциально вносящих непредсказуемые задержки — это внутренние задержки в работе монитора (input lag) и погрешность при считывании текущего времени из электронного таймера.

После того, как установлено соответствие внутренних электронных часов всех компьютеров экспериментального стенда, остается проставить синхрометки в каждый поток данных. Они должны позволять восстановить последовательность всех событий между потоками. Интерфейс взаимодействия (API) вашего айтрекера должен давать возможность достаточно точной привязки временных меток стимульной машины к временным меткам записанных координат взора. В нашем стенде роль такой привязки выполняет самая первая, техническая метка вида «#UTC: 12345678» (айтрекер SMI RED-m), которая содержит момент начала записи относительно Юникс-эпохи (условная конвенция, по которой время в операционных системах отсчитывается от даты 01.01.1970 00:00). Получив на стороне стимульной машины аналогичную временную метку в этих же единицах, мы впоследствии можем вычислить разницу между нулями этих двух потоков данных.

Если же такой глобальной метки в данных вашего айтрекера не существует, то мы рекомендуем, в качестве лучшей из альтернатив, использовать команду передачи текстовой метки в поток данных, с проставленной внутри нее временной синхрометкой. Она не будет такой же точной, поскольку будет влиять длительность прохождения пакета через сеть, — которая не будет постоянной от записи к записи, — но она позволит синхронизировать потоки данных с приемлемой точностью (суммарная ошибка синхронизации будет порядка 2,1—3,6 ±0,54 мс [16, p. 679; 27], в которую будут входить задержки в самих операционных системах и погрешности работы системных таймеров, сетевой обмен и эпизоды расхождения/слияния системных потоков в стимульном модуле (или «тредов», в терминологии многопоточных вычислительных процессов).

Дополнительные рекомендации. Сравнительно новым трендом в современных системах управления графическим буфером является встроенная («нативная») поддержка многопоточности в библиотеках программ. Чтобы избежать блокирования остальных подпрограмм в вашем основном экспозиционном модуле, отсылка сетевых сигналов, их прием, обработка и реагирование на них (триггеры) должны выполняться в отдельном системном потоке.

В процедурах, выполненных по схеме с абсолютными временными интервалами (non-slip), когда момент начала каждого этапа должен быть одинаков для всех испытуемых, следует применять специальную компенсаторную технику перед началом экспозиции. Чтобы избежать пропусков в экспонировании и неверных длительностей при показе стимула, следует предварительно в начале стимульной ситуации вычислить время до начала следующего кадра вертикальной развертки (фактическое значение Window.monitorFramePeriod) и принять решение, пропустить пробу либо начать показ только через один кадр. Данное замечание относится к тем экспериментальным парадигмам, в которых одновременно требуется строго соблюсти момент начала показа стимула (onset time) и длительность показа.

Особо хотим отметить, что программное решение синхронизации на основе протокола NTP требует регулярной ресинхронизации в процессе эксперимента, поскольку внутренние часы двух компьютеров существенно осциллируют друг по отношению к другу даже в рамках нескольких минут. Так, по прошествии нескольких минут можно обнаружить расхождение таймеров на 30—50 мс, что абсолютно неприемлемо в такой дисциплине, как айтрекинг. Поэтому ваша стимульная программа должна включать в свой функционал регулярно выполняемую функцию по перезапуску протокола синхронизации. Кроме того, за это может отвечать и сторонняя утилита, такая как ntpq или «SP TimeSync» (обратите внимание на то, что к ней требуется и утилита контроля частоты дискретизации системного таймера, Timer Tool).

Однако намного более высокой стабильности часов возможно добиться, задействуя метод дисциплинирования (реализован не во всех решениях). Для достижения наилучших результатов следует использовать в качестве источника правильного показания времени промышленный NTP-сервер (уровня stratum 0 или stratum 1), либо отдельное аппаратное решение с внешними высокоточными часами.

Многие доступные библиотеки визуализации базируются на графическом бэкенде OpenGL через библиотеку абстракции GLFW. Так, платформа PsychoPy служит слоем абстракции над библиотеками pyglet и SDL, а графическим бэкендом для них обеих выступает системный модуль OpenGL. Однако в отличии от графических библиотек, эти абстрактные платформы только предоставляют функционал создания окна с возможностью вывода графики, переключения видеобуфера и т.п. Они не содержат функционал загрузки и формирования текстуры, считывания и декодировки звуковых файлов, сетевой коммуникации (включена в стандартные библиотеки большинства современных языков программирования), который может понадобиться при создании экспериментальной ситуации. Платформа PsychoPy опирается на стандартные сокеты (сетевые подключения) и при создании экспериментов в рамках парадигмы gaze-contingent требуется понимание механики работы сетевой коммуникации. Если ваш сетевой модуль принимает постоянный поток данных с других компьютеров комплекса и для вашей процедуры важен момент реагирования на поступающие сигналы, значит, следует реализовать хотя бы один из следующих компонентов: кольцевой буфер и приемный буфер конечного размера.

Простейшая реализация кольцевого буфера содержится в базовой поставке платформы PsychoPy (класс NumpyRingBuffer). Кольцевой буфер послужит полезным функционалом в вашем стимульном модуле в двух случаях: 1) когда нужно взять временное окно и посчитать некое сглаженное значение, например от координат взора испытуемого; 2) когда нужно взять только самое последнее значение координаты из потока айтрекера, в этом случае кольцевой буфер уменьшит время доступа к этой величине до заранее известного (и при этом константного) значения.

За приемный буфер конечного размера во многих операционных системах отвечает опция SO_RCVBUF (доступна через стандартные сокеты из языка Python). Она указывает длину приемного буфера (буфера входящих данных) в байтах. Так, чтобы принимать с высокой частотой входящий поток данных с координатами айтрекера (временная метка и две координаты с точностью до 7 знаков в каждой), потребуется установить ее на значение не менее 24 (байт).

Для сетевой коммуникации между стимульной и трекерной машиной рекомендуется применять кабель, обеспечивающий соединение по схеме «1000Base-TX cross», что делает применение роутера или сетевого переключателя («свитча») избыточным. Как показала наша практика, наличие роутера на маршруте (в составе вашей локальной сети) не оказывает существенного воздействия на скорость передачи пакетов с данными, поэтому данное требование носит чисто рекомендательный характер и не влияет на результаты эксперимента или качество записанных данных.

Заключение

Системный подход при анализе данных психофизического эксперимента требует включения следующих необходимых параметров: мерцание дисплея, послеслед фосфора (для ЭЛТ-мониторов) / характеристика GtG (для ЖК-дисплеев), сетевая задержка сигнала, задержка на обработку сигнала, погрешность системного таймера, погрешность синхронизации таймеров на компьютерах, проверка последовательности вертикальной развертки (функция V-Sync), аппаратная колориметрия и цветокоррекция стимульного материала. Только учет всех этих параметров в совокупности позволяет адекватно оценить фактические психофизические параметры перцептивной ситуации.

Обсуждаемый метод с использованием сетевого протокола NTP подходит для психофизических исследований с допусками по суммарной точности синхронизации потоков данных 4 мс или более. Проблема синхронизации, которую он помогает частично решить, позволяет применять его в широком спектре задач — от айтрекинга в тахистоскопии, когда нужно сопоставить моменты появления различных событий друг относительно друга, до парных экспериментов и комплексов виртуальной реальности с одновременным участием нескольких испытуемых. Рассматривать протокол синхронизации NTP для исследовательских целей следует в двух случаях: 1) когда нужна точность синхронизации около 1,5 мс или менее и все компьютеры связаны локальной сетью, которая гарантированно находится в состоянии низкой загруженности на момент эксперимента; 2) если приемлема точность синхронизации более нескольких десятков мс и компьютеры связаны многоранговой сетью (такой как институтская локальная сеть).

Использование показанного подхода к синхронизации потоков данных рекомендуется применять исключительно в тех установках, где абсолютной точности синхронизации невозможно добиться по не зависящим от экспериментатора причинам и где планируется использовать бытовой компьютерный монитор в качестве демонстрационного оборудования. При использовании всех возможностей протокола синхронизация в паре компьютеров будет поддерживаться гладко, регулярно обновляться и никогда не переводить часы назад (сохраняется линейная последовательность событий и каузальность). Метки будут иметь актуальное значение текущего времени с точностью порядка 1,5 мс или менее. Комплексы же с высокой заявленной точностью временных меток (субмиллисекундной) стоит комплектовать высокоточными датчиками в целях поддержания достигнутого класса измерений.

Литература

  1. Артеменков С.Л., Попков С.И. Графический конструктор экспериментальных процедур для компьютерного тахистоскопа // Моделирование и анализ данных. 2015. № 1. С. 41—56.
  2. Жердев И.Ю., Барабанщиков В.А. Аппаратно-программный комплекс для исследований зрительного восприятия сложных изображений во время саккадических движений глаз человека // Экспериментальная психология. 2014. Том 7. № 1. С. 123—131.
  3. Bridges D., Pitiot A., MacAskill M.R., Peirce J.W. The timing mega-study: Comparing a range of experiment generators, both lab-based and online // PeerJ. 2020. Vol. 8. P. e9414. DOI:10.7717/peerj.9414
  4. Bruchmann M., Thaler K., Vorberg D. Visible persistence of single-transient random dot patterns: Spatial parameters affect the duration of fading percepts // PLoS One. 2015. Vol. 10. № 9. P. e0137091. DOI:10.1371/journal.pone.0137091
  5. Elze T. FlashDot — a platform-independent experiment generator for visual psychophysics // J. Vision. 2009. Vol. 9. № 14. P. 58. DOI:10.1167/9.14.58
  6. Elze T. Misspecifications of stimulus presentation durations in experimental psychology: A systematic review of the psychophysics literature // PLoS One. 2010. Vol. 5. № 9. P. e12792. DOI:10.1371/journal.pone.0012792
  7. Elze T., Tanner T.G. Temporal properties of liquid crystal displays: Implications for vision science experiments // PLoS One. 2012. Vol. 7. № 9. P. e44048. DOI:10.1371/journal.pone.0044048
  8. Erlikhmann G., Gutentag S., Blair C.D., Caplovitz G.P. Interactions of flicker and motion // Vision Res. 2019. Vol. 155.P. 24— DOI:10.1016/j.visres.2018.12.005
  9. Forster K.I., Forster J.C. DMDX: A Windows display program with millisecond accuracy // Behav. Res. Meth.: Instr. & Comp. 2003. Vol. 35. № 1. P. 116— DOI:10.3758/BF03195503
  10. Fukiage T., Nishida Sh. HiddenGazeStereo: Hiding gaze-contingent disparity remapping for 2D-compatible natural 3D viewing // IEEE Access. 2022. Vol. 10. P. 94778—94796. DOI:10.1109/ACCESS.2022.3204874
  11. Garaizar P., Vadillo M.A. Accuracy and precision of visual stimulus timing in PsychoPy: No timing errors in standard usage // PLoS One. 2014. Vol. № 11. P. e112033. DOI:10.1371/journal.pone.0112033
  12. Green M. Psychophysical relationships among mechanisms sensitive to pattern, emotion and flicker // Vision Res. 1981. Vol. 21. P. 971— DOI:10.1016/0042-6989(81)90001-8
  13. Ibbotson M.R., Cloherty S.L. Visual perception: Saccadic omission —suppression or temporal masking // Curr. Biol. 2009. Vol. 19. № 12. P. 493—496. DOI:10.1016/j.cub.2009.05.010
  14. Kim J., Yoshida T. Sense of agency at a gaze-contingent display with jittery temporal delay // Frontiers Psychol. 2024. Vol. 15. DOI:10.3389/fpsyg.2024.1364076
  15. Legge G. Sustained and transient mechanisms in human vision: temporal and spatial properties // Vision Res. 1978. Vol. 18. P. 69— DOI:10.1016/0042-6989(78)90079-2
  16. Lichtenauer J., Shen J., Valstar M., Pantic M. Cost-effective solution to synchronized audio-visual data capture using multiple sensors // Image and Vision Computing. 2011. Vol. 29. № 10. P. 666— DOI:10.1016/j.imavis.2011.07.004
  17. Matin L. Critical duration, the difference luminance threshold, critical frequency flicker, and visual adaptation: A theoretical treatment // J. Opt. Soc. Am. 1968. Vol. 58. P. 404— DOI:10.1364/JOSA.58.000404
  18. Matin L., Bowen R.W. Measuring the duration of perception // Percept. & 1976. Vol. 20. № 1. P. 66—76. DOI:10.3758/BF03198708
  19. Mills D.L. Computer network time synchronization: The Network Time Protocol. Taylor & Francis, 2006. 282 p.
  20. Nyström M., Niehorster D., Cornelissen T., Garde H. Real-time sharing of gaze data between multiple eye trackers - evaluation, tools, and advice // Behav. Res. Meth. 2017. Vol. 49. P. 1310— DOI:10.3758/s13428-016-0806-1
  21. Peirce J.W., Gray J.R., Simpson S., et al. PsychoPy2: Experiments in behavior made easy // Behav. Res. Meth. 2019. Vol. 51. P. 195— DOI:10.3758/s13428-018-01193-y
  22. De Pisapia N., Kaunitz L., Melcher D. Backward masking and unmasking across saccadic eye movements // Curr. Biol. 2010. Vol. 20. № 7. P. 613—617. DOI:10.1016/j.cub.2010.01.056
  23. Poth C.H., Foerster R.M., Behler C., et al. Ultrahigh temporal resolution of visual presentation using gaming monitors and G-Sync // Behav. Res. Meth. 2018. Vol. 50. P. 26—38. DOI:10.3758/s13428-017-1003-6
  24. Roberts J.E., Wilkins A.J. Flicker can be perceived during saccades at frequencies in excess of 1 kHz // Lighting Res. Technol. 2013. Vol. 45. P. 124—132. DOI:10.1177/1477153512436367
  25. Rovamo J., Raninen A. Critical flicker frequency and M-scaling of stimulus size and retinal illuminance // Vision Res. 1984. Vol. 24. № 10. P. 1127—1131. DOI:10.1016/0042-6989(84)90166-4
  26. Saunders D.R., Woods R.L. Direct measurement of the system latency of gaze-contingent displays // Behav. Res. Meth. 2014. Vol. 46. № 2. P. 439—447. DOI:10.3758/s13428-013-0375-5
  27. Schubert T.W., D’Ausilio A., Canto R. Using Arduino microcontroller boards to measure response latencies // Behav. Res. Meth. 2013. Vol. 45. P. 1332—1346. DOI:10.3758/s13428-013-0336-z
  28. Sperdin H.F., Spierer L., Becker R., et al. Submillisecond unmasked subliminal visual stimuli evoke electrical brain responses // Hum. Brain Mapping. 2015. Vol. 36. P. 1470—1483. DOI:10.1002/hbm.22716
  29. Waldin N., Waldner M., Viola I. Flicker observer effect: Guiding attention through high frequency flicker in images // Computer Graphics Forum. 2017. Vol. 36. 2. P. 467—476. DOI:10.1111/cgf.13141

Информация об авторах

Жердев Иван Юрьевич, ассоциированный сотрудник, Институт экспериментальной психологии, ФГБОУ ВО «Московский государственный психолого-педагогический университет» (ФГБОУ ВО МГППУ), Москва, Россия, ORCID: https://orcid.org/0000-0001-6810-9297, e-mail: ivan866@mail.ru

Метрики

Просмотров

Всего: 18
В прошлом месяце: 3
В текущем месяце: 15

Скачиваний

Всего: 3
В прошлом месяце: 0
В текущем месяце: 3