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

Сер. 10. 2009. Вып. 1

ВЕСТНИК САНКТ-ПЕТЕРБУРГСКОГО УНИВЕРСИТЕТА

ПРИКЛАДНАЯ МАТЕМАТИКА

УДК 532.5+519.688+004.932

С. Б. Афанасьев, Д. С. Лавренюк, П. О. Николаев, М. А. Павлейно,

Ю. К. Стишков, В. А. Чирков

ПОЛУАВТОМАТИЧЕСКИЙ МЕТОД КОМПЬЮТЕРНОЙ ОБРАБОТКИ ХАРАКТЕРИСТИК ГРУППОВОГО ДВИЖЕНИЯ ОБЪЕКТОВ И ТЕЧЕНИЙ РАЗЛИЧНОЙ ПРИРОДЫ

Введение. Определение кинематической структуры течений различной природы либо траекторий группового движения объектов является важной задачей при изучении характеристик движения объектов или течений сплошной среды. Перед экспериментаторами часто ставится задача восстановить траекторию и скорость движения частиц по их положению в дискретные моменты времени. Например, исходными данными могут быть координаты самолета, определенные при помощи локатора, сигнал с навигационной системы GPS, видеосъемка движения спортсмена, последовательность фотографий визуализирующих меток, движущихся вместе с жидкостью. Если в двух первых примерах задача сводится к построению интерполяционной функции по заданным наборам значений координат и времени, то в третьем и четвертом возникает дополнительная подзадача выделения объектов на последовательности изображений и сопоставления им мгновенных значений координат. Такое, на первый взгляд, небольшое усложнение алгоритма приводит к значительному увеличению времени обработки

Афанасьев Сергей Борисович — программист научно-исследовательского института радиофизики Санкт-Петербургского государственного университета. Количество опубликованных работ: 10. Научное направление: электрофизика. E-mail: afanasb@mail.ru.

Лавренюк Дмитрий Сергеевич — студент 6-го курса (2-го курса магистратуры) физического факультета Санкт-Петербургского государственного университета. Количество опубликованных работ: 3. Научное направление: физические процессы в жидкостях и газах при воздействии высоких напряжений. E-mail: nuc4uec4e@yandex.ru.

Николаев Петр Олегович — студент 6-го курса (2-го курса магистратуры) физического факультета Санкт-Петербургского государственного университета. Количество опубликованных работ: 4. Научное направление: теплофизика. E-mail: p-nikolaev@yandex.ru.

Павлейно Михаил Анатольевич — доцент кафедры радиофизики физического факультета Санкт-Петербургского государственного университета. Количество опубликованных работ: 35. Научное направление: электрофизика. E-mail: pmf@nm.ru.

Стишков Юрий Константинович — профессор кафедры радиофизики физического факультета Санкт-Петербургского государственного университета. Количество опубликованных работ: более 150. Научные направления: электрофизика, тепловая конвекция. E-mail: stishkov@paloma.spbu.ru.

Чирков Владимир Александрович — студент 6-го курса (2-го курса магистратуры) физического факультета Санкт-Петербургского государственного университета. Количество опубликованных работ: 5. Научное направление: физические процессы в жидкостях и газах при воздействии высоких напряжений. E-mail: vlrchirkov@gmail.com.

© С. Б. Афанасьев, Д. С. Лавренюк, П. О. Николаев, М. А. Павлейно, Ю. К. Стишков, В. А. Чирков, 2009

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

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

Возможности и особенности программы. В этой работе представлена программа EHD reader, которая позволяет автоматизировать процесс обработки последовательной серии видеокадров либо фотографий движущихся объектов и тем самым уменьшить затрачиваемое на получение результатов время. Разработанная программа полностью реализована в среде MATLAB и снабжена удобным графическим интерфейсом. Она состоит из двух основных модулей, один из которых обеспечивает загрузку графических файлов и позволяет выделять на них движущиеся объекты, а второй осуществляет восстановление траекторий, рассчитывает поле скоростей и графически представляет полученные результаты. Используются средства стандартных библиотек системы MATLAB: Image Processing Toolbox и Spline Toolbox. От пользователя не требуется ни знания методов компьютерной обработки изображения, ни численных методов, а также навыков программирования в среде MATLAB. Для работы данной программы нет необходимости в предварительной подготовке используемых изображений.

Хотя изначально программа EHD reader разрабатывалась для обработки электро-гидродинамических (ЭГД) течений, она может применяться для расчета кинематических характеристик движения групп либо одиночных объектов в различных экспериментах. Например, с ее помощью по серии фотографий или видеосъемке можно восстанавливать поля скоростей группового движения аэрозолей, различного рода суспензий, перемещения микрообъектов биологической природы, рассчитывать кинематические характеристики разных течений (магнитогидродинамических, акустических, термогравитационных и др.).

EHD reader предназначена для:

- определения координат объектов на фотокадрах;

- восстановления траекторий движения визуализирующих частиц;

- восстановления распределений скорости движения объектов вдоль траектории их движения;

- восстановления линий тока течений;

- интерполяции полученных значений скорости на всю рассматриваемую область;

- представления результатов обработки в виде графиков.

Дополнительные возможности программы:

- задание/выделение неподвижных областей и границ (стенок сосудов, центров завихрений жидкости и т. п.);

- полуавтоматическое выделение меток, относящихся к одной траектории;

- корректировка координат: определение координат геометрического центра выбранного объекта (в случае, когда метки представляют собой светлые области на темном фоне или наоборот);

- использование «горячих» клавиш;

- выделение на одном кадре как одной, так и нескольких «точек», относящихся к обрабатываемой траектории (данная функция, в частности, используется, когда съемка была проведена при стробоскопической подсветке).

Программа разработана в двумерном варианте и предназначена для обработки исключительно «плоских» течений, т. е. таких течений, линии тока которых лежат в определенной плоскости.

Получение корректных результатов возможно только при выполнении следующих необходимых условий: 1) движение объектов проходит в плоскости фотокадров; 2) съемка осуществляется неподвижной камерой; 3) метки (штрихи/точки/объекты) имеют небольшие размеры и четкие границы; 4) известна частота следования кадров либо длительность импульсов подсветки; 5) известно разрешение кадров - соотношение между длиной в пикселях и единицах измерения длины.

Приведенные условия являются необходимыми ограничениями на область применимости данной программы.

Программа EHD reader предназначена для работы с течениями различной природы, зарегистрированными при помощи метода визуализирующих частиц [1]. Она работает как при непрерывной подсветке и съемке в виде видеофильма, так и при стробированной подсветке и съемке в виде фотографии или видеофильма. Для работы программы необходим оцифрованный видеоряд либо последовательность фотографий.

На рис. 1 представлено основное окно программы EHD reader. Ее интерфейс состоит из нескольких разделов:

1) рабочая область - представляет собой окно, в котором выводится текущий кадр; нажимая левую кнопку мыши в этом окне, можно ставить «метки», соответствующие положениям движущихся объектов;

2) информация о кадре - раздел состоит из двух частей: ниспадающего меню «№ траектории», позволяющего переключаться между траекториями, и строки редактирования «№ кадра», отображающей и позволяющей изменять номер активного графического файла;

3) параметры - включают в себя три пункта: «Автопоиск», «Корректор» и «Результаты ». Функция «Автопоиск» дает возможность автоматически находить новое положение объекта по координатам трех последних точек, принадлежащих текущей траектории. При использовании функции «Корректор» производится уточнение значений координат путем определения геометрического центра объекта;

4) управление кадрами - кнопки «Предыдущей кадр» и «Следующий кадр» из этого меню позволяют переходить от кадра к кадру, поочередно обрабатывая их;

5) управление траекториями и «метками» - содержит кнопки, с помощью которых можно установить «метку» («Установить точку»), удалить активную «метку» («Удалить точку») и текущую траекторию («Удалить траекторию»).

Компьютерная обработка. Принципы работы программы и последовательность действий будут показаны на примере обработки видеозаписи ЭГД-течений в системе электродов игла-плоскость [2]. Исходными данными в этом случае являются кадры видеоряда, на которых запечатлено движение меток (пузырьков воздуха), визуализирующих течение жидкости. Видеосъемка проводилась с частотой кадров и подсветки

Рис. 1. Интерфейс программы EHD reader 1 - рабочая область; 2 - информация о кадре; 3 - параметры;

4 - управление кадрами; 5 - управление траекториями и «метками».

25 и 150 Гц соответственно; при этом на одном снимке каждый пузырек оставлял 6 отметок. В результате компьютерной обработки требуется восстановить поле скоростей движения жидкости в экспериментальной кювете, для чего необходимо последовательно обработать набор траекторий пузырьков.

Чтобы представленная программа могла применяться для обработки данных из экспериментов, проведенных при различных условиях, в ней предусмотрена возможность проведения гибкой настройки параметров. Она осуществляется из диалогового окна «Параметры», общий вид которого представлен на рис. 2. За задание тех или иных параметров отвечает соответствующий пункт ниспадающего меню « Тип параметров».

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

Рис. 2. Окно «Параметры» программы EHD reader 1 - меню «Тип параметров»; 2 - реперные точки; 3 - строка ввода «Истинный размер»;

4 - строка ввода « Частота подсветки»; 5 - смещение объекта за промежуток времени между двумя последовательными вспышками стробоскопической подсветки.

как определены координаты реперных точек, в строке «Истинный размер» задается значение реального расстояния между ними, измеренное в сантиметрах. В том случае, когда съемка проводится при стробоскопической подсветке, важным параметром является « Частота подсветки», которая определяет промежуток времени ДЬ, за который объект смещается на расстояние Д5 на фотокадре.

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

Также могут задаваться дополнительные опции, в частности «Нулевая точка», «Центральная точка» и «Нормировка длины». Они соответственно позволяют перенести начало отсчета координат в произвольную точку изображения, задать область сгущения сетки, на которую будут интерполироваться значения скорости, и выбрать характерное расстояние, на которое будет произведена нормировка длины.

Разработанная программа позволяет выделять неподвижные части модели, т. е. те области, где жидкость покоится. Для этого используется функция «Добавить неподвижную область». Примерами таких областей могут быть стенки сосудов, поверхности электродов, центры завихрений жидкости и т. д.

Рис. 3. Выделение неподвижных областей 1 - вызов данной функции; 2 - пример выделения неподвижных областей; 3 - управление введенными данными.

На рис. 3 приведен пример выделения неподвижных областей. В данном случае ими являются поверхности электродов: иглы (сверху) и плоскости (снизу). Контуры границ неподвижных областей задаются набором отрезков. В случае если была неверно отмечена область или неточно поставлена точка, то имеется возможность удалить ранее введенную точку или всю неподвижную область, используя меню «Управление».

Перейдем к описанию процесса обработки отдельной траектории. Положение движущегося объекта (метки) в текущем кадре выделяется с помощью курсора мыши и фиксируется нажатием кнопки «Установить точку». Если включена функция «Корректор », то координаты курсора в момент нажатия на клавишу считываются и передаются в функцию, которая производит бинаризацию по заданному уровню, выделяет объект, содержащий данный пиксель, и возвращает координаты геометрического

центра этого объекта. Работа с графическими объектами осуществляется с помощью средств библиотеки Image Processing Toolbox. Для повышения точности ввода можно использовать функцию « Увеличение».

Далее выбирается следующая метка, оставленная рассматриваемым движущимся объектом. Она может быть запечатлена либо на том же кадре, если съемка велась при стробоскопической подсветке, либо на следующем. Рассмотрим случай, когда съемка проводилась с частотой кадров 25 Гц и частотой подсветки 150 Гц. Тогда на каждом кадре движущаяся частица оставляла по 6 меток. Каждая метка должна быть последовательно выделена и зафиксирована с помощью кнопки «Установить точку». После этого можно перейти к следующему кадру и произвести аналогичную обработку. Пример обработки траектории для описанных условий эксперимента приведен на рис. 4.

€1 ^ &

Рис. 4. Обработка траектории а, б, в - три последовательных кадра видеоряда.

Общая блок-схема алгоритма обработки данных представлена на рис. 5. На ней отображена последовательность действий, выполняемых программой, после того как пользователь произвел выделение объектов.

Вначале создаются вектора, содержащие координаты точек каждой траектории. Далее, для построения интерполирующей функции, необходимо определить промежуток времени АЬ между двумя соседними положениями объекта. Если при съемке использовалась стробоскопическая подсветка, то соответствующее время АЬ определяется частотой подсветки, в противном случае - частотой кадров. Возможен случай, когда вначале движение объекта происходит с достаточно большой скоростью, и на кадрах остается набор непересекающихся штрихов. Затем происходит замедление, такое, что за период подсветки смещение объекта практически незаметно, и метки, оставленные частицей на одном кадре, сливаются в одну точку. Для таких случаев реализован алгоритм, позволяющий корректно определять промежутки времени между последовательными положениями объекта, когда на одном кадре установлено несколько точек, а на следующем - только одна. Данная функция позволяет ускорить процесс обработки траекторий. Также она может быть использована в ситуации, когда объект движется равномерно, и, следовательно, когда нет необходимости учитывать все метки, оставленные частицей на каждом кадре в моменты вспышек стробоскопической подсветки.

Создание векторов координат X/, у, для каждой траектории Определение соответствующих моментов времени ^ Вычисление интерполирующих функций *,(/), .У,(0

г

Аппроксимация компонент скорости

скорости Ух/0, УуХО

Г

Создание массива Добавление в массив информации о неподвижных областях Интерполяция результатов на всю область

{х,у, Ух, УУ,Ъ,Г}

Рис. 5. Блок-схема алгоритма обработки данных х, у - пространственные координаты точек; г - номер траектории.

При обработке кадров все выделенные точки соединяются между собой интерполяционным сплайном [3]. Интерполяция проводится по значениям х и у - координат частицы в дискретные моменты времени (соответствующие вспышкам стробоскопической подсветки), а, следовательно, совокупность получаемых интерполяционных функций представляет собой траекторию движения объекта г(Ь) (где г - вектор). По известной зависимости г(Ь) путем дифференцирования можно вычислить скорость движения объекта вдоль траектории. Чтобы в результате такого дифференцирования получалась гладкая функция, для интерполяции в программе применяются кубические сплайны. Использование сплайнов более высокой степени может привести к осцилляциям интерполирующей функции и, таким образом, к недостоверному решению. Аппроксимация вычисленных компонент скорости помогает устранить их флуктуации, которые возникли при дифференцировании. Для повышения качества результатов в программе предусмотрена возможность задания статистического веса значений при аппроксимации.

На следующем шаге алгоритма производится создание единого массива, содержащего результаты обработки всех траекторий: {х,у,Ух,Уу, г}. Затем в этот массив добавляется информация о неподвижных областях. На заключительном шаге обработки данных программа производит интерполяцию результатов на всю рассматриваемую область.

Получение надежных и достоверных результатов, как правило, требует обработки достаточно большого числа траекторий, т. е. накопления статистики. Для того чтобы уменьшить временные затраты на компьютерную обработку экспериментальных данных, в разработанной программе реализована функция «Автопоиск» (рис. 6). После ручного ввода координат трех положений объекта координаты последующих могут быть найдены автоматически. Для этого по трем последним точкам траектории строится аппроксимирующая парабола, которая экстраполируется вперед на характерное время АЬ; вблизи полученной координаты ищется новое положение объекта.

При использовании функции «Автопоиск» автоматически активируется функция «Корректор», которая позволяет уточнить найденные координаты новой точки. От пользователя требуется лишь перелистывать кадры и контролировать правильность автоматического определения координат объекта. В случае ошибки необходимо вручную указать истинное положение точки, при этом автоматически определенные координаты будут аннулированы, а функция «Автопоиск» продолжит работать со следующей точки.

а в в

*

Рис. 6. Обработка траекории с использованием функции «Корректор»

и функции «Автопоиск»

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

Результаты. Программа EHD reader позволяет получать: 1) векторное поле скоростей; 2) поверхностный график скорости; 3) контурный график скорости; 4) обработанные траектории; 5) скорость вдоль траектории; 6) графики скорости и ускорения вдоль произвольных линейных путей, определенных пользователем. Пользователь может выбирать те графики, которые будут выведены на экран. Если какой-либо график неактивен, то соответствующие вычисления проводиться не будут.

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

На рис. 7 в качестве примера результатов приведены векторное поле скоростей и поверхностный график скорости. На первом графике длина и направление векторов в каждой точке соответствуют направлению и относительной величине скорости в этих точках; на втором - высота рельефа и цветовая гамма соответствуют абсолютному значению скорости.

Рис. 7. Векторное поле скоростей

Рис. 8. График скорости

1 - линии, соответствующие пересечению траектории частицы и контура характерной области; 2 - излом графика скорости; 3 - траектория движения визуализирующей частицы;

4 - контур характерной области; 5 - область резкого изменения направления течения.

На рис. 8 представлены скорость, определенная вдоль траектории движения одной из визуализирующих меток, и непосредственно сама траектория. На графике по оси ординат отложена скорость визуализирующей частицы; по оси абсцисс - длина пути вдоль траектории, нуль соответствует начальной точке траектории. На рис. 8,б контур прямоугольника ограничивает характерную область; на рис. 8,а в местах, соответствующих пересечению траектории и контура прямоугольника, проведены вертикальные линии.

Пользователь может задать характерную область в «Параметрах» программы EHD reader. Данная функция позволяет получать соответствие между точками на графике и положением объекта в экспериментальной установке. Благодаря этому, например, легко понять, что излом представленного на рисунке графика скорости соответствует области резкого изменения направления течения.

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

Summary

Afanasyev S. B., Lavrenyuk D. S., Nikolaev P. O., Pavleino M. A., Stishkov Yu. K., Chirkov V. A. A semiautomatic method for computer processing of group motion characteristics of objects and different nature flows.

The program, which allows to recover motion kinematic structure from videorecording of particles group motion, is created. The program developed in MATLAB environment uses standard tools of MATLAB libraries (Image Processing Toolbox and Spline Toolbox) and has useful interface. Due to EHD reader one may obtain a velocity field of aerosol group motion, diverse suspensions or various flows (electrohydrodynamical, magnetohydrodynamical, acoustic etc.) according to series of photographs or videorecording. The program allows semiautomatic processing of two-dimensional flows of any complexity. When one uses EHD reader, it is not necessary to use a high power laser and optical arrangement in an experiment and make thorough processing and preparing video frames before start as opposed to the case, when one uses particle image velocimetry (PIV) programs. Video frames or photographs obtained with steady as well as stroboscopic lighting may be used as input data. There is a list of graphs and output data, which user may obtain after computer processing, and also several typical graphs obtained as a result of EHD flow processing.

Key words: computer processing, flows characteristics, recover of kinematic structure.

Литература

1. Афанасьев С. Б., Лавренюк Д. С., Николаев П. О., Стишков Ю. К. Полуавтоматический метод компьютерной обработки поля скоростей ЭГД-течений // Электронная обработка материалов. 2007. № 1 (243). С. 24-30.

2. Стишков Ю. К., Остапенко А. А. Электрогидродинамические течения в жидких диэлектриках. Л.: Изд-во Ленингр. ун-та, 1989. 174 с.

3. Калиткин Н. Н. Численные методы. М.: Наука, 1978. 512 с.

Статья рекомендована к печати проф. Е. И. Веремеем.

Статья принята к печати 7 октября 2008 г.