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

ECTtracker - Элементы отладки

Элементы отладки

Элементы отладки в ECTtracker представляют собой дополнительные окна, которые пользователь может включать при необходимости скорректировать работу программы и выключать для экономии пространства рабочего стола при стабильной работе. Каждое из этих окон выводит статистическую информацию, которая может быть использована для более точной и корректной настройки ECTtracker, что в конечном итоге позволяет добиться устойчивого распознавания изображения. Как следствие, пользователь сможет дольше непрерывно работать с программой, будет меньше утомляться. Количество ложных срабатываний при распознавании также снизится.

В текущей версии ECTtracker реализованы три окна отладки – Stripes Diagram (Диаграмма полоски), Channel Intensity (Диаграмма интенсивности каналов) и SCO9 (Диаграмма структур), а также удобный протокол событий. Рассмотрим их подробнее.

Stripes Diagram (Диаграмма полоски)

В данном окне в реальном времени показывается степень совпадения анализируемого фрагмента изображения с заданными пользователем образцами в матрице (см. рис. 24).

Окно 'Stripes Diagram' (Рис. 24. Окно "Stripes Diagram")

Количество полосок всегда соответствует количеству строк (групп образцов) в матрице образцов. Когда процесс распознавания изображения при помощи ECTtracker запущен, область полосок начинает заполняться слева направо в реальном времени. Цвет полосок – от темно-синего при отсутствии совпадений до зеленого при значительном совпадении изображения в окне программы с соответствующим образцом. Окно полосок предназначено для быстрого определения точности распознавания изображения программой и позволяет подобрать оптимальное значение параметра wlim, выбрать подходящую структуру, скорректировать другие настройки программы в соответствии с особенностями каждого конкретного пользователя и производительностью компьютера.

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

Channels Intensity (Диаграмма интенсивности каналов)

В текущих версиях ECTtracker значительно усовершенствована логика обработки цветов и поиск совпадений анализируемого изображения с пользовательскими образцами. Ранее образцы и видеоизображение сравнивались только по цветовой схеме RGB, где цвет каждого пикселя изображения задается как массив из трех цифр (значения интенсивности для красного, зеленого и синего цвета соответственно).

Но человеческое зрение работает иначе, чем цветовая схема компьютера. К примеру, если взять два цвета – ярко-желтый и темно-желтый – их RBG-значения будут отличаться значительно. Поэтому теперь при распознавании также используется цветовая модель HSL – она представляет массив из трех цифр, определяющих оттенок, насыщенность и освещенность. Для цветов, незначительно отличающихся для человеческого зрения, значения HLS будут изменяться меньше.

Рассмотрим значения RGB и HSL на примере двух приведенных выше цветов – ярко-желтого и темно-желтого (см. рис. 25).

Отличия массивов RGB и HSL. Для цвета слева: RGB – 255 242 0, HSL – 38 240 120. Для цвета справа: RGB – 221 210 0, HSL – 38 240 104 (Рис. 25. Отличия массивов RGB и HSL.
Для цвета слева: RGB – 255 242 0, HSL – 38 240 120.
Для цвета справа: RGB – 221 210 0, HSL – 38 240 104)

Для схемы RGB при данной смене цвета изменятся значения для красного и зеленого цвета. Для схемы HLS изменится только значение освещенности. Таким образом, значения массивов HLS проще сравнивать математически, и при распознавании изображения в ECTtracker это может дать более точные результаты.

Более того, если взять два последовательных кадра видеоизображения и значительно увеличить их, мы увидим, что цвета отдельных пикселей при смене кадров могут значительно изменяться (см. рис 26 и 27). Как следствие, значительно изменятся и RGB-значения цвета для этих пикселей.

Отличия цветов изображения при большом увеличении (Рис. 26a. Отличия цветов изображения при большом увеличении) Отличия цветов изображения при большом увеличении (Рис. 26b. Отличия цветов изображения при большом увеличении)

Для сравнения видеоизображения с образцами ECTtracker анализирует прямоугольную область для каждой из точек структуры и находит средние значения для следующих параметров:

Таким образом, каждый кадр изображения сравнивается с образцами по 9 различным значениям для каждой точки структуры (точнее, для прямоугольной области, центром которой является точка структуры).

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

Для просмотра интенсивности цветовых каналов в ECTtracker добавлено отдельное окно отладки – Channels Intensity (см. рис. 27).

Окно Channels Intensity (Рис. 27. Окно Channels Intensity)

Данное окно представляет собой изменяющиеся в реальном времени диаграммы интенсивности для каждого из каналов:

Общий алгоритм действий для правильной настройки таков:

Важно! Для корректной настройки программы следует выбирать наиболее интенсивные каналы для разных состояний глаз, но при этом наименее интенсивные для одного состояния. Значимость этих каналов при распознавании изображения наиболее высока. Для важных каналов стоит выставлять приоритет от 5 до 8, для наименее важных – от 1 до 3. Предел изменения приоритета каждого канала – от 0 (значение канала не учитывается в расчетах) до 9 (максимальный приоритет).

В ECTtracker предусмотрена возможность задания отдельного приоритета для каждого канала. Для этого необходимо изменить значение параметра 15 окна настроек программы. Приоритеты для всех каналов прописываются в строку без пробелов. К примеру, если пользователь как наиболее важные каналы выбирает значения массива HSL, значение переменной может принимать значения 111111888, 222222667 или подобные им.

При использовании ECTtracker в немедицинских целях (к примеру, при сортировке библиотек изображений, анализе состояния аналоговых датчиков и так далее) приоритетными будут RGB-каналы. При анализе замутнения жидкостей в сосудах, заполнения газом камер и в ряде других случаев удобнее производить распознавание по цветовой схеме HLS. При работе в медицинских центрах и использовании ECTtracker на дому при работе с потерявшими двигательную подвижность пациентами также рекомендуется использование для распознавания HLS-схемы. В любом случае выбор наиболее важных каналов зависит от внешних условий и может отличаться для каждого конкретного случая.

Несмотря на удобство окна отладки Channels Intensity задание приоритетов вручную может оказаться сложным процессом для неподготовленного пользователя. Поэтому в ECTtracker реализована функция автоматического расчета приоритетов. Для этого после автоматического или ручного заполнения матрицы образцов необходимо выбрать пункт меню "Settings" (Настройки) – "Set Channel Formula" (Установка формулы цветов). При этом программа сравнит динамику интенсивности всех каналов для одинаковых состояний. Затем будет сравниваться изменение интенсивности каналов для разных состояний. Каналы с минимальным изменением для одного состояния и максимальным изменением для разных состояний получат высокий приоритет. Каналы с большим изменением интенсивности для одного состояния получат низкий приоритет. Значение итоговой формулы будет автоматически внесено в параметр 15 окна настроек программы.

Благодаря автоматическому расчету формулы приоритетов даже неопытный пользователь сможет быстро подобрать необходимые настройки для оптимального распознавания.

PROSCO9 (Диаграмма структур)

Улучшить качество распознавания может также помочь окно, содержащее диаграмму структур. В этом окне представлены структуры для каждого из каналов, а также показана интенсивность изменения для каждой из точек структуры (см. рис. 28).

Окно SCO9 для различных структур распознавания: Первая строка – структуры для RGB-схемы, вторая – структуры для дельты RGB, третья – структуры для HSL-схемы Окно SCO9 для различных структур распознавания: Первая строка – структуры для RGB-схемы, вторая – структуры для дельты RGB, третья – структуры для HSL-схемы
(Рис. 28. Окно SCO9 для различных структур распознавания:
Первая строка – структуры для RGB-схемы, вторая – структуры для дельты RGB, третья – структуры для HSL-схемы)

Яркость точек структуры показывает вариативность каждого цветового канала для них. Несмотря на универсальность структур, часть их точек может находиться за пределами области наибольших изменений изображения. Это может негативно сказываться на качестве распознавания. К примеру, при использовании структуры распознавания для одного глаза некоторая часть точек может располагаться в области переносицы. И в этих точках структуры значения цветов в обоих состояниях (глаз открыт и глаз закрыт) будут отличаться совсем незначительно.

Таким образом, окно SCO9 позволяет определить те точки структуры, которые могут находиться в зоне наименьших изменений изображения. В этом случае необходимо произвести дополнительную настройку – при смещении изображения более точно разместить граб-форму ECTtracker, при необходимости – увеличить выводимое изображение средствами ECTcamera.

В большинстве случаев окно SCO9 предназначается для опытных пользователей, которые могут редактировать файл структуры – менять количество и расположение точек, значимость каждой из них. Но и для настройки программы для рядовых пользователей данная форма отладки также может быть полезна.

PROEvents Log (Журнал событий)

Данное дополнительное окно программы выводит список всех важных действий, производимых в ECTtracker: запуск и остановка процесса распознавания, загрузка и сохранение профилей, изменение настроек. Внешний вид журнала событий показан на рисунке 29.

Журнал событий программы (Рис. 29. Журнал событий программы)

В заголовке окна журнала событий указывается количество строк в текущем протоколе и суммарный размер протокола в байтах. Включить или выключить отображение этой информации можно при помощи пункта собственного меню формы "Settings" (Настройки) – "Statistics" (Статистика). С помощью меню журнала событий также доступны другие действия: