Построение скелетной модели фигуры человека по потоку изображений

УДК 004.932

М.Ю. Катаев, А.П. Коробко

Построение скелетной модели фигуры человека по потоку изображений

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

Ключевые слова: изображение, алгоритм, скелетная модель, фигура человека.

Применение видеоинформации, где главным действующим лицом является человек в спорте, контроле, управлении и в медицине, стало обыденным делом. Однако более эта информация используется лишь для целей визуального наблюдения и анализа. Одним из важнейших элементов эффективной жизни человека является двигательная активность, которая включает движение руками, головой, туловищем, ходьбу и др. Изучение двигательного режима человека в норме и различных патологиях для различных профессиональных, возрастных и гендерных групп уже давно привлекает внимание ученых и медиков многих стран. Интерес к изучению и решению этой проблемы однозначно обусловлен непосредственной связью двигательной активности и здоровья человека. Поэтому разработка системы контроля двигательной активности является важной и актуальной [1—3].

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

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

Поэтому разработка простой, недорогой и информативной системы оценки и анализа параметров ходьбы человека является насущной и актуальной задачей. Решение этой задач целиком определяется надежностью и качеством выделения фигуры человека на изображении (безмаркерный подход). Нами этот подход используется для анализа двигательной активности через определение центра масс [8-10]. Этот подход позволяет получить достаточное количество информации о движении, но весьма затрудняет сравнительный анализ движения человека в целом. Развитие данного направления возможно при получении скелетной модели фигуры человека, что позволит более точно оценивать не только движение в целом, но и отдельные элементы и фазы движения.

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

Существующие пути решения задачи. Выделение фигуры человека на изображении предполагает решение задачи сегментации или отделения от фона (часть изображения, не включающую фигуру человека) как отдельной области. Решение этой задачи сложно ввиду наличия возможно сложной сцены, когда в область фона попадают другие объекты, тени, резкие перепады освещения и др. Существует много методов, позволяющих построить эффективные алгоритмы выделения фигуры человека на изображении [11—12]. Далее необходимо на основе выделенной фигуры человека построить скелетную модель (рис. 1), которая бы четко определяла основные элементы фигуры человека (положение головы, ноги, руки, туловища). Параметры этой скелетной модели должны лечь в основу нового подхода оценки двигательной активности человека.

Известно много моделей фигуры человека [13-17]: биомеханическая, кинематическая, формы и др. Все эти модели являются моделями с большим количеством параметров. Применение таких моделей сложно на практике ввиду наличия наряду с числом параметров и большого числа ограничений на них, что приводит к высокой вычислительной сложности задач. Заметим, что за счет сложности модели удается достичь высокой реалистичности. Для практики необходимы простые, быстрые, с необходимой точностью модели, адекватно представляющие собой объект исследования. К таким моделям можно отнести скелетные модели фигуры человека.

Предлагаемый подход. Нами предлагается такой относительно простой подход, который связан с решением следующего ряда задач:

1) фильтрация изображения от шума (применяется медианный и гауссовский фильтры), применение алгоритма «Карта градиента» для выравнивания освещенности каждого изображения [http://matlab.exponenta.ru/imageprocess/] и приведения их к одинаковым условиям;

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

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

Алгоритм построения скелетной модели представляет собой два этапа. На первом этапе происходит выделение области фигуры человека в виде прямоугольника. Вершины прямоугольника определяются по максимальным и минимальным элементам фигуры человека для каждой из сторон. Далее происходит блочное деление прямоугольника на области головы, туловища и ног человека в соответствии с пропорциями фигуры человека [18]. На втором этапе ищется центр тяжести блока, принадлежащего области головы. После этого находятся средние точки соприкосновения фигуры человека среднего блока со средними точками фигуры, касающейся нижней грани верхнего блока и верхней грани нижнего блока. Точки нижнего блока, характеризующие положение ног, находятся по алгоритму, приведенному ниже (см. шаг. 5). Эти точки определяют характерные точки, связанные с фигурой человека. Определение координат характерных точек и связывание их в единый массив и определяет скелетную модель фигуры человека.

Программная реализация. Структура программы разбита на подсистемы, которые связаны с определенными функциями:

1. Подсистема ввода изображений - обеспечивает запись и дальнейшее сохранение изображений в динамическом и статическом формате (разбиение видео на последовательность отдельных кадров в структуре {RGB}).

2. Подсистема предварительной обработки - обеспечивает перевод последовательности статических изображений во внутренний формат обработки и дальнейшую фильтрацию шумов, цветовую коррекцию и др.

Рис. 1. Переход от фигуры человека, выделенной на изображении, к скелетной модели

3. Подсистема обработки - предназначена для обнаружения и поиска объектов (человека) на изображении и нахождение скелетной модели.

4. Подсистема вывода - обеспечивает вывод результатов работы программы на экран и сохранение на жесткий диск.

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

Шаг 1. Производим операции предварительной обработки для каждого изображения: удаление шумов, выравнивание освещенности и другие процедуры.

Шаг 2. На вход для обработки поступает два изображения (рис. 2, а, б)). На рис. 2, а представлено изображение без человека, определяющее фон, а на изображении рис. 2, б показан человек. Положение человека на изображении меняется в зависимости от времени съемки и удаленности человека от камеры. Фигуру человека можно выделить, определяя изменение цветов пикселей последующих изображений относительно цветов пикселей фона (см. рис. 2, а). Далее находятся разностные изображения первого и последующих кадров.

Шаг 3. Определяем области из пятен, которые образуются на разностном изображении. Пятна возникают вследствие того, что при движении человека фон может меняться, появляются тени, изменяется освещение тех или иных участков сцены и др. Разностное изображение содержит как пятна помехи, так и пятна (или набор пятен), соответствующие фигуре человека. Соответственно пятна, принадлежащие фигуре человека, надо объединить, а все остальные удалить. Предварительно изображение очищается от пятен малых размеров обычным режекторным фильтром [11]. Далее большие пятна, принадлежащие фигуре человека, объединяем через нахождение точек соприкосновения, а малые удаляем на той же основе. В итоге получается изображение, которое показано на рис. 3, а. После бинаризации в итоге получаем изображение, показанное на рис. 3, б.

а б

Рис. 2. Изображение сцены без человека

Шаг 4. Определение фигуры человека. Для этих целей находим для всех сторон фигуры максимальные и минимальные точки в соответствии с пропорциями человека [18], на основе которых строим прямоугольники, которые показаны на рис. 4, а.

Шаг 5. Построение скелетной модели. Для области головы находим центр прямоугольника. На рис. 4, б показаны линии, проходящие через центр тяжести верхнего прямоугольника (расположение головы человека), средней точки отрезка прямоугольника, соответствующего области туловища (крайние точки отрезка не связаны с туловищем), и средней точки отрезка прямоугольника, соответствующего области ног человека. Для построения скелетной модели ног выберем боковые контуры фигуры нижнего прямоугольника. Известно [18], что толщина обеих ног примерно составляет размер туловища и что колени делят пополам высоту ног. Соответственно, отступая от найденных контуров линий на четверть фигуры к центру прямоугольника, получаем положение скелетной модели ног человека. В результате после соединения всех найденных точек прямыми линиями имеем скелетную модель фигуры человека (см. рис. 4, б).

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

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

а б

Рис. 3. Сегментация изображения на две области - фон и фигура человека

а б

Рис. 4. Формирование скелетной модели фигуры человека

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

Данная статья выполнена в рамках проекта Российского гуманитарного научного фонда (РГНФ) №14-16-70008 а(р).

Литература

1. Бернштейн Н.А. О построении движений. - М.: Медгиз, 1947. - 380 с.

2. Бернштейн Н.А. Очерки по физиологии движений и физиологии активности. - М.: Медицина, 1966. - 349 с.

3. Бернштейн Н.А. Физиология движений и активность. - М.: Наука, 1990. - 496 с.

4. Головко А.В. Определение антропометрических показателей человека путем анализа цифрового фотоизображения / А.В. Головко, В.Р. Ягьяев // Вестник ХНТУ (Херсонский национальный университет кораблестроения им. адм. С.О. Макарова). - 2010. - №2(38). - С. 441-448.

5. Ратнер П. Трехмерное моделирование и анимация человека. - М.: Вильямс, 2005. - 272 с.

6. Hanavan E.P. A mathematical model of the human body // AMRL Technical Report, 64-102, Wright Peterson Air Force Base, Dayton, OH, USA. - 1964. - 57 p.

7. Gavrila D.M. The visual analysis of human movement: A survey // Computer Vision and Image Understanding. - 1999. - Vol. 73, № 1. - С. 82-98.

8. Катаев М.Ю. Исследование двигательной активности человека на основе анализа видеоизображений. Аппаратно-программный комплекс / М.Ю. Катаев, Я.А. Хамаганов // Доклады ТУСУРа. -2010. - № 1 (21), - ч. 2. - C. 177-182.

9. Катаев М.Ю. Численный метод и алгоритм определения центра тяжести движущегося человека из анализа потока изображений / М.Ю. Катаев, С.Г. Катаев // Доклады ТУСУРа. - 2011. -№ 2(24), ч. 3. - С. 201-205.

10. Катаев М.Ю. Определение и анализ двигательной активности постинсультного пациента из потока изображений / М.Ю. Катаев, С.Г. Катаев, Н.Г. Катаева, В.А. Чистякова // Информатика и системы управления. Медицинская информатика. - 2012. - № 4 (34). - С. 43-50.

11. Гонсалес Р. Цифровая обработка изображений в среде MATLAB / P. Гонсалес, P. Вудс, C. Эддинс. - М.: Техносфера, 2006. - 621 с.

12. Постнов К.В. Компьютерная графика. - М.: Инфра-М, 2009. - 247 с.

13. Стефании Г. Анимация персонажей в 3d Studio Max. - М., 2002. - 267 c.

14. Местецкий Л.М. Непрерывная морфология бинарных изображений: фигуры, скелеты, циркуляры. - M.: Физматлит, 2009. - 288 с.

15. Фурман А.Я. Визуализация изображений в трехмерных сценах. - Йошкар-Ола: МарГТУ, 2007. - 280 c.

16. Attali D. Computing and simplifying 2d and 3d continuous skeletons / D. Attali, A. Montanvert // Computer Vision and Image Understanding. - 1997. - Vol. 67. - P. 261-273.

17. Local and global skeleton fitting techniques for optical motion capture / M.C. Silaghi, R. Plankers, R. Boulic, P. Fua, D. Thalmann // Modelling and Motion Capture Techniques for Virtual Environments. -1998. - Vol. 1537. - P. 26-40.

18. Shan G. Anthropometrical data and coefficients of regression related to gender and race / G. Shan, C. Bohn // Applied Ergonomics. - 2003. - Vol. 34. - P. 327-337.

Катаев Михаил Юрьевич

Д-р техн. наук, профессор каф. автоматизированных систем управления (АСУ) ТУСУРа, профессор Юргинского технологического института (филиала) Национального исследовательского Томского политехнического университета Тел.: 8-960-975-27-85, (382-2) 70-15-36 Эл. почта: kataev.m@sibmail.com

Коробко Андрей Петрович

Сотрудник ООО «СТС», г. Томск Тел.: 8-903-915-51-72

Эл. почта: Andrew.p.korobko@gmail.com, Duhmaster@3dbin.com Kataev M.Yu., Korobko A.P.

The building of a human skeletal model from the stream of images

The paper describes the basic steps of the algorithm for constructing a skeletal model of a human figure, recovered from a stream of images. We reviewed existing systems of movement analysis based on skeletal models and identified further stages of development of systems necessary to extend the functionality and the transition to the analysis of human movement. The applications of a human skeletal model is associated with medicine, sports, animation, control.

Keywords: image, algorithm, skeletal model, the figure of a man.