УДК 519.673
О.А. Кривцов, А.М. Кориков
Отслеживание положения головы человека в пространстве на основе анализа видеокадров
Предлагается система отслеживания пространственной ориентации головы пользователя на основе анализа видеокадров, работающая по схеме: распознавание фронтального изображения лица - полуавтоматическая инициализация модели головы - отслеживание межкадрового перемещения головы с помощью градиентного метода оптимизации. В качестве модели головы используется трехмерная цилиндрическая поверхность, на которую наложена двумерная текстура.
Ключевые слова: отслеживание головы человека, модель головы, прямой композиционный метод, сопоставление изображений, веб-камера, интерфейс человек-компьютер, управление мышью, фильтр Калмана.
Задачи отслеживания пространственного положения головы человека путем анализа видеокадров, получаемых с бытовой камеры в реальном масштабе времени, возникают при анализе мимики лица человека — пользователя компьютера, создании компьютерной анимации, разработке новых способов человеко-машинного взаимодействия. Известные методы решения подобных задач можно разделить на три группы.
Во-первых, выделим группу методов [1, 2], основанную на построении модели головы и отслеживании ее перемещения путем сопоставления изображения головы и проекции ее модели. В качестве модели применяются трехмерные поверхности, на которые накладывается текстурное изображение. Если предполагается, что форма головы может деформироваться, то используют так называемые активные модели внешнего вида [3], которые позволяют отслеживать и детальные изменения мимики лица. Эти методы имеют следующие достоинства: приемлемая для практики точность определения ориентации головы, невысо-кие требования к качеству видео, незначительная вычислительная сложность.
Во-вторых, выделим методы [4], основанные на отслеживании «особых» точек лица либо фрагментов лица. Несмотря на хорошую точность, эти методы накладывают ограничения на качество видео.
В-третьих, существуют попытки [5] использовать иерархические классификаторы образов при решении задачи классификации изображения (лицо/не лицо) и определения пространственной ориентации лица. Для этих методов характерны высокие вычислительные затраты и ограничения по точности определения ориентации головы в пространстве.
Назовем два примера реализации перечисленных выше методов: библиотека WATSON (http://groups.csail.mit.edu/vision/vip/watson/) и программа института робототехники Бостонского университета (http://www.cs.bu.edu/groups/ivc/HeadTracking/).
Из краткого анализа существующих методов отслеживания головы пользователя компьютера следует, что многие задачи практики могут успешно решаться методами, основанными на построении модели головы. В качестве модели предлагаем использовать жесткий трехмерный цилиндр. Его преимущество - сравнительно невысокая чувствительность к ошибкам инициализации модели. В процессе отслеживания объекта выделим 3 этапа: 1) распознавание объекта на первом видеокадре; 2) инициализация модели в пространстве; 3) определение перемещения модели для каждого из последующих кадров. Этапы 1 и 2 в нашей системе могут выполняться полуавтоматически: пользователю необходимо расположить голову фронтально к камере и запустить процесс отслеживания. При этом производится детекция головы 2D детектором лица человека, и модель инициализируется с помощью полученной от детектора информации. Этап 3 будем выполнять с использованием прямого композиционного метода (ПКМ) сопоставления изображений [1, 7]. Отметим преимущества выбранного метода: невысокая вычислительная сложность (способность работать в реальном времени); приемлемая точность в оценке положения головы; нечувствительность к качеству видео, т.е. возможность обработки видео низкого качества с USB веб-камер.
1. Модель головы и построение ее проекции
ПКМ сопоставления изображений использует двумерные растровые изображения, поэтому построим проекцию трехмерной модели головы и преобразуем примитивы, составляющие модель,_из векторного формятя в растровый формят. Далее используется терми-
Доклады ТУСУРа, № 2 (18), часть 2, декабрь 2008
спецификации
компьютерной графики
OpenGL
нология, применяемая в (http: //opengl .org).
Преобразование координат
Трехмерная модель объекта (рис. 1, а) представляет собой набор примитивов: треугольников или плоских выпуклых многоугольников. Позиционирование объекта относительно наблюдателя определяется матрицей модель-вид М размера 4x4:
M =
R
0lx3
(1)
Матрица M содержит в себе матрицу вращения R размера 3x3 и вектор параллельного переноса T = (tx,ty,tz) , определяющий смещение системы координат объекта относительно точки отсчета системы координат, связанной с наблюдателем. Матрица R задает поворот объекта относительно определенной оси вращения. Ее можно представить как произведение матриц Rx (a), RyfP), и Rzfy) (pitch-yaw-roll представление):
R = Rx (a)Ry (P)RZ (у), (2)
где a, р, у — углы Эйлера, определяющие последовательный поворот системы координат объекта вокруг оси Xe, затем Ye, и, наконец, Ze.
Перспективная модель камеры определяется матрицей проекции
P
2n 0 r +1 0
r -1 r -1
0 2n t + b 0
t - b t - b
0 0 -(f + n) -2fn
f - n f - n
0 0 -1 0
(3)
где I, г, Ь, t, п, f — координаты соответственно левой, правой, нижней, верхней, ближней и дальней плоскостей отсечения.
Плоскость Система У
О
^ 4
k
' 1
1
r
( r
1
•
в J
ХА
Система координат наблюдателя
Кк
а б
Рис. 1. Проецирование модели объекта на экран
Т
Координаты объекта задаются в виде вектора X0 = (х0;у0;х0) . После умножения
координат объекта Х0 на матрицу модель-вид М они преобразуются в координаты на-
Т
блюдателя X е = (хе ;уе ;ге ;ше) :
Xe = MX0.
(4)
Умножая матрицу проецирования Р на вектор Xе, получим вектор координат отсечеТ
ния Xс = (хс;ус;гс;шс) :
Доклады ТУСУРа, № 2 (18), часть 2, декабрь 2008
Xc = PXe . (5)
ных экранных координат Xd = (xd;yd\zd)
И, наконец, разделив компоненты вектора Xc на wc, получим вектор нормализован-
T .
Т
Xd = (хс/шс ; Усс ;гс /Г . (6)
Нормализованные экранные координаты (6) могут принимать значения в интервале [—1; 1]. В [6] предлагается использовать иной способ нормализации экранных координат, который аргументируется упрощением вычислений. Для нас же стандартность принятых в компьютерной графике преобразований имеет приоритетное значение.
Каждый примитив, проецируемый на плоскость кадра, проходит процедуру растеризации (перевода из векторного формата в интенсивность дискретных пикселей, выводимых на экран). Область экрана, или окно (см. рис. 1, б), в котором производится рисование объекта, представляет собой растровое изображение 1(х), где х = (и^)Т — дискретные координаты пикселя изображения. Координаты пикселей растра могут принимать целочисленные значения: и е [0,1,2,...,рх -1]; V е [0,1,2,...,Ру -1]. Значение пикселя
растра называется его интенсивностью.
Преобразование нормализованных экранных координат (6) в координаты окна имеет
вид
(( Р
/2)xd + ОхЛ У„ ) [ (Ру /2)Уd +Оу
где рх, Ру — соответственно ширина и высота окна; (ох ,Оу)— координаты центра окна. Цилиндрическая модель головы
При незначительных движениях рта и небольших изменениях выражения лица можно упрощенно считать, что голова представляет собой твердое недеформируемое тело, которое можно описать цилиндрической моделью (рис. 2, а). В качестве примитивов модели возьмем треугольники. Нас интересует только боковая поверхность цилиндра, повернутая к наблюдателю. Часть поверхности, обозначенная на рис. 2, а серым цветом, считается невидимой и не используется. Крышка и дно у цилиндра отсутствуют.
(7)
а б
Рис. 2. Цилиндрическая модель головы
На каждом Ь-м кадре цилиндр имеет некоторое положение в пространстве, определяемое вектором конфигурации с :
Т
сь = (хо;уо;го;а;Р;у) , (8)
где хо , Уо, — координаты центра цилиндра (точка О на рис. 2, а) в системе координат наблюдателя; а, Р , у — три угла поворота системы координат модели вокруг осей системы координат наблюдателя Хе, Уе , Ze соответственно.
На боковую поверхность цилиндра накладывается двумерная текстура (см. рис. 2, б).
Пусть точка текстуры задается нормализованными координатами (э^) , где э е [0;1];
Т
t е [0;1]. Тогда объектные координаты точки поверхности цилиндра XО = (хО;уО;гО;шО) , соответствующей данной точке текстуры, определяются следующей формулой:
Доклады ТУСУРа, № 2 (18), часть 2, декабрь 2008
Xo = (-R cos2rcs; H(t - 0,5); R sin2rcs; 1)T .
Имея изображение головы пользователя, являющейся проекцией трехмерного тела, построим текстуру для боковой поверхности цилиндра. Пусть модель состоит из треугольников, причем каждой вершине треугольника соответствует пара текстурных координат. Отобразим модель в режиме отклика OpenGL (feedback mode). При этом выдается информация обо всех отображаемых примитивах. Получив информацию о том, в какие координаты окна проецируется каждая вершина треугольника и соответствующая ей точка текстуры, мы можем построить текстурное изображение по его проекции.
Построение проекции модели
Операцию получения проекции модели разделим на четыре этапа: 1) построение шаблона T(x) ; 2) определение прямоугольной «области интереса» Q ; 3) построение карты уверенности C(x) ; 4) определение 3D координат для каждого пикселя шаблона T(x) с ненулевым весом w(x).
Произведем рисование модели (рис. 3, а) в буфер кадра и получим шаблон T(x) . OpenGL производит проверку на видимость для каждого примитива, поэтому невидимая часть цилиндра отбрасывается.
(х;у)
Для каждого пикселя проекции модели сохраним соответствующие ему трехмерные объектные координаты, т.е. 3D координаты точки поверхности цилиндра
Т т
Х0 = (х0 ;у0 ) , которая проецируется в соответствующую точку окна Хш = (хш ;уш) .
Эти 3D координаты используются в процедуре минимизации ПКМ.
В изображении Т(х) выделим прямоугольную область интереса О (обозначена прямоугольником на рис. 3, а). Координаты области О вычисляются путем отображения модели в режиме отклика и нахождения минимальных и максимальных координат, проецируемых в область вывода вершин.
Изображение на рис. 3, б, называемое картой уверенности С(х), отражает величину вклада каждого пикселя шаблона Т(х) в процесс оптимизации. Чем выше интенсивность пикселя — тем больше его вес w(x). Если интенсивность пикселя равна нулю, он не принадлежит проекции модели.
2. Отслеживание головы на видеокадрах
Пусть на каждом им кадре последовательности отображена проекция головы пользователя, имеющей некую пространственную конфигурацию с . Необходимо: 1) позиционировать модель для первого кадра последовательности, т. е. определить вектор С1, задать высоту Н, радиус R цилиндра, а также матрицу проецирования Р; 2) для каждого ^го кадра, начиная со второго, определить параметры межкадрового перемещения головы и оценить конфигурацию с .
Инициализация модели на первом кадре
Воспользуемся алгоритмом распознавания образов, предложенным П. Виолой и М. Джонсом [8]. Пусть пользователь расположил голову фронтально к камере (рис. 4, а). Получим с помощью детектора координаты прямоугольной области F = \х;у;ш;Ь^, в кото-
Доклады ТУСУРа, № 2 (18), часть 2, декабрь 2008
рой предположительно находится лицо. Параметры камеры и размер трехмерного объекта считаем неизвестными. Выберем их таким образом, чтобы область проекции модели на кадре приближенно соответствовала области F.
Модель объекта
Плоскость кадра
а б
Рис. 4. Проецирование объекта в плоскость кадра
Пусть высота Н цилиндра примерно соответствует вертикальному размеру области лица, заключенной между линией подбородка и линией волос. Размер лица каждого человека индивидуален, но для расчета используем субъективную оценку Н = 0,15 м. Расстояние d от ближайшей к камере точки головы до наблюдателя (рис. 4, б) примем равным d = 0,6 м, что равно расстоянию от монитора, на который пользователь, сидя за компьютером, интуитивно ориентирует свою голову. Считая, что соотношение ширины и
высоты области F примерно соответствует соотношению диаметра и высоты цилинд-
^ ^ , „
ра, можно вычислить R =- (м).
2—
Зададим координаты плоскостей отсечения I, г, Ь, t, п, f и компоненты матрицы Р (3). Координаты ближней и дальней плоскостей отсечения установим соответственно п = 0,1 м и f = 10 м. Используем симметричную перспективную проекцию (I = -г; Ь = ^). Пусть направления оси Zo системы координат модели и оси Ze системы координат наблюдателя совпадают. Обозначим через ^ = —— , тогда координаты плоскостей отсечения
Н
г и t соответственно определяются формулами:
r =
nPx 2fL
t = -
nPy 2fL
где рх и Ру — соответственно ширина и высота окна.
Подставив I, г, Ь, t, п, f в (3), получим матрицу проецирования Р.
Определим координаты центра О цилиндра (хо , Уо и го). Так как мы приняли расстояние от камеры до головы равным — = 0,6 м, то го =-0,6, а хо и уо соответственно определим по следующим формулам:
w - px | d xO =1-— + x I—
O ' 2 J fL
Уо =
h -
Py
2
+ У
d_
f
где х, у, w, — — соответственно координаты нижнего левого угла, ширина и высота области F; рх , Ру — соответственно ширина и высота окна.
Так как направления координатных осей Zo и Zе совпадают, то углы поворота цилиндра а, Р и у вокруг осей координат равны нулю.
Итак, определены все компоненты вектора конфигурации с;. Подставив их в (1) и (2), получим матрицу модель-вид М.
Отметим, что изложенный способ инициализации модели не является полностью автоматическим, что обусловлено недостаточной точностью детектирования фронтального положения лица. Необходим критерий, по которому можно было бы судить, не «поте-
Доклады ТУСУРа, № 2 (18), часть 2, декабрь 2008
рял» ли трекер голову на видеокадре, чтобы можно было перейти на этап детектирования лица, однако это — предмет дальнейших исследований.
Отслеживание межкадрового перемещения модели
Инициализировав модель для первого кадра, будем искать параметры ее движения между первым и вторым кадрами, вторым и третьим кадрами, ..., ь-м и (ь+1)-м кадрами.
Пусть имеются два последовательных видеокадра I;(х) и 1;+1(х). Предположим, что условия освещения постоянны, и разница между этими изображениями обусловлена лишь перемещением головы пользователя. Конфигурация головы с; на ь-м кадре известна. Необходимо найти оценку конфигурации головы €¿+1 на кадре (ь+1).
Сформулируем постановку решаемой задачи, заменив обозначения Iь (х) и 1;+1(х) соответственно на Т(х) и 1(х).
Постановка задачи. Пусть имеются два растровых полутоновых изображения: шаблон Т(х) и видеокадр 1(х). Предположим, что условия освещения неизменны, и разница между изображениями Т(х) и 1(х) обусловлена лишь перемещением головы пользователя. Конфигурация с; головы для изображения Т(х) известна. Необходимо найти оценку конфигурации головы €¿+1 для изображения 1(х).
Для определения параметров движения модели между двумя последовательными кадрами применим ПКМ [1, 7]. Обработаем ПКМ два растровых полутоновых изображения (шаблон Т(х) и изображение 1(х)) и в результате получим матрицу деформации W(p), с помощью которой Т(х) деформируется так, чтобы оптимально соответствовать изображению 1(х), т.е. решается следующая экстремальная задача:
тт X [I(Ж(Ж(х;Ар);р) - Т(х)] 2 ,
Ар хеО
где Ж(х;р) — функция деформации; р — вектор параметров.
Найдя вектор параметров деформации р, мы определим параметры межкадрового перемещения головы. Пошаговая схема метода приведена в [7], далее кратко описывается его применение к нашему случаю.
Т
Пусть имеем пиксель шаблона Т(х) с координатами х = (иV , которому соответст-
Т
вует точка поверхности цилиндра с объектными координатами X0 = (х0; у0; х0; ш0) . Пусть положение модели для Т(х) (матрица модель-вид М) известно, а на изображении 1(х) положение модели стало М'= W(p)M . Матрицу W(p) будем называть матрицей деформации.
Следуя [1], используем твист-представление матрицы деформации W(p), которое записывается в виде
W(p) =
' 1 -Wz wy tx'
wz 1 -wx h
-Wy wx 1 tz
{ 0 0 0 1,
(9)
где р = (шХ ;Шу ;шг \Ьу ) — вектор параметров деформации.
W(p) входит в состав функции деформации Ж(х;р), которая переводит координаты пикселя х шаблона Т(х) в координаты соответствующего ему пикселя х' изображения 1(х). Определим вид функции деформации Ж(х;р).
Учитывая (4) и (5), координаты отсечения трансформированной точки имеют вид
ХС = PW(p)xe. (10)
С учетом (9) распишем (10) более детально:
ГР\1(Хе - ^гУе + шу2е + *х) + Р1з(—+ ШхУе + 2 + гг Р22(™гхе + Уе — ™х2 + *у ) + Р2з( Уе + 2 + tz )
Р33(—™уХе + wxУe + 2е + ) + Р34
V —1
где через Рь^ обозначены соответствующие элементы матрицы проецирования Р.
Доклады ТУСУРа, № 2 (18), часть 2, декабрь 2008
( x' > c
yC
z'c
w'cj
(11)
(12)
Разделив (11) на компоненту ш'с и применяя оконное преобразование (6), получим
\ХС/ш'с)рх /2 + ох"
ч(УС /шС )Ру /2 + 0у ,
Выражения (11) и (12) задают функцию деформации Ж^ф). Тогда матрица Якоби дW (x;p)
dp
запишется в следующем виде:
(
dW (x;p) dp
P11 Px
2z 0
2
P22 Py
2z2
xy y2 + z2
22 -x - z
xy
yz
-xz
-z 0 0 -z
(13)
Отметим, что матрица Якоби (13) имеет более сложный вид, чем предлагаемая в [1], что обусловлено отличием используемой нами матрицы проецирования P.
Критерий останова цикла минимизации
В качестве критерия останова итеративного цикла оптимизации используется следующее правило: искать минимум, пока не выполнено ни одно из условий: 1) ||Ap|| <е,
2) &гекущий > ^макс, где Ap — приращение вектора параметров движения на текущей итерации; е — скаляр, значение которого определяет, осуществляется ли выход из цикла; ^текущий и ^макс— соответственно текущий и максимально возможный номер итерации.
Обнаружилось, что в описанной итеративной процедуре возможны осцилляции значения средней ошибки ßk _ А. ^|(x) - 7(W(x;p)|, где суммирование производится по всем N
пикселям шаблона с ненулевым весом. Это может быть обусловлено, например, несоответствием реальной формы головы и ее цилиндрической модели и т.п. Чтобы избавиться от осцилляций, дополним критерий выхода из цикла следующим условием: пусть Ek —
значение средней ошибки на k-й итерации, Emin — минимальное значение средней ошибки на всех пройденных итерациях; выход из цикла производится, если в течение K итераций подряд (в наших экспериментах K = 5) выполняется условие Ek > Emin . В качестве результата принимается матрица W(p), при которой средняя ошибка была наименьшей.
3. Управление экранным курсором мыши
Традиционные средства взаимодействия пользователя с компьютером (клавиатура и мышь) приводятся в действие движением рук пользователя. При этом используется лишь один способ коммуникации. Однако возможно использовать и дополнительную информацию, например, анализируя видеосъемку пользователя.
Среди работ, посвященных развитию новых методов человеко-машинного взаимодействия с помощью анализа изображения пользователя на видеокадрах, отметим работу [9], в которой делается попытка скомбинировать детектор лица с 2D трекером, основанным на цветовой информации, для определения ориентации лица в пространстве. Отслеживание ориентации лица пользователя используется для управления курсором мыши.
В нашей работе делается попытка управления курсором мыши путем анализа видео, полученного с веб-камеры. Для обзора всего монитора пользователю обычно бывает недостаточно лишь движения глаз, а требуется вращение головой, поэтому предлагается использовать наклон головы для управления курсором мыши. Для каждого видеокадра трекер головы определяет матрицу модель-вид M для модели головы. Из М можно получить три угла вращения объекта (вокруг осей Xe, Ye , и Ze), которые используются для пози-ци-онирования курсора. Для компенсации дрожания курсора применяется фильтр Кал-мана.
При исследовании разработанной системы использованы синтетическая последовательность видеокадров с движущимся на них лицом и «живое» видеоизображение пользователя, получаемое с веб-камеры. Эксперименты подтвердили вполне удовлетворительное качество управления курсором мыши. Однако отметим, что система пока не способна работать полностью автоматически, так как для инициализации модели головы требуется вмешательство человека. Созданная система доступна по адресу http: //headtracking. googlepages .com.
Заключение
Доклады ТУСУРа, № 2 (18), часть 2, декабрь 2008
0
x
y
Задача отслеживания ориентации головы человека — пользователя компьютера на видеокадрах актуальна при создании новых методов человеко-машинного взаимодействия, исследовании мимики лица человека, анализе визуальной речи, компьютерной анимации. В данной работе предложена реализация системы отслеживания положения головы человека, базирующаяся на анализе видеокадров, поступающих с неоткалиброванной USB веб-камеры. Отслеживание головы производится путем сопоставления видеокадра с проекцией цилиндрической текстурной модели головы и оценки перемещения модели в пространстве с помощью прямого композиционного метода сопоставления изображений. Созданная система применена для управления экранным курсором мыши путем отслеживания наклона головы человека — пользователя компьютера и способна работать в реальном масштабе времени (около 20—25 кадров в секунду на процессоре Pentium IV 3 GHz).
Литература
1. Robust Full-Motion Recovery of Head by Dynamic Templates and Re-registration Techniques / J. Xiao, T. Moriyama, T. Kanade, J. Cohn // Intnl. Journal of Imaging Systems and Technology. -N.Y., USA: Wiley, - 2003. - Vol. 13. - P. 85-94.
2. Cascia M. Fast, Reliable Head Tracking under Varying Illumination: An Approach Based on Registration of Texture-Mapped 3D Models / M. La Cascia, S. Sclaroff, V. Athitsos // In IEEE Tran. on Pattern Analysis and Machine Intelligence. - Washington, DC, USA: IEEE Computer Society, 2000. -Vol. 22, № 4. - P. 322-336.
3. Matthews I. Active Appearance Models Revisited / I. Matthews, S. Baker // Intnl. Journal of Computer Vision. - Hingham, MA, USA: Kluwer Academic Publishers, 2004. - Vol. 60, № 2. - P. 135164.
4. Face Recognition by Elastic Bunch Graph Matching / L. Wiskott, J.-M. Fellous, N. K^ger, C. Malsburg // IEEE Trans. Pattern Anal. Mach. Intell. - Washington, DC, USA: IEEE Computer Society, 1997. - Vol. 19, № 7. - P. 775-779.
5. Robust Head Tracking with Particles Based on Multiple Cues Fusion / Y. Li, H. Ai, C. Huang, S. Lao // In Proc. of CVHCI06. - Berlin Heidelberg: Springer-Verlag, 2006. - P. 29-39.
6. Szeliski R. Image alignment and stitching: A tutorial // Foundations and Trends in Computer Graphics and Computer Vision. - Hanover, MA, USA: Now Publishers Inc., 2006. - Vol. 2, № 1. -P. 1-104.
7. Baker S. Lucas-Kanade 20 Years On: A Unifying Framework: Part 1 / S. Baker, I. Matthews // Tech. report CMU-RI-TR-02-16, Robotics Institute, Carnegie Mellon University. - Pittsburg, PA, USA, 2002. - 47 p.
8. Viola P. Robust Real-Time Face Detection / P. Viola, M. J. Jones // International Journal of Computer Vision. - Kluwer Academic Publishers: Netherlands, 2004. - Vol. 57, № 2. - P. 137-154.
9. Вежневец В. Система управления курсором «мыши» при помощи движений головы пользователя / В. Вежневец, Р. Шоргин, А. Вежневец // Труды конф. по комп. графике и машинному зрению Graphicon-2006. - Новосибирск, 2006. - С. 455-458.
Кривцов Олег Александрович
Аспирант кафедры автоматизированных систем управления ТУСУРа
Тел.: 8 (382-2) 41-42-79
Эл. почта: [email protected]
Кориков Анатолий Михайлович
Д-р техн. наук, проф., зав. кафедрой автоматизированных систем управления ТУСУРа
Тел.: 8 (382-2) 41-42-79
Эл. почта: [email protected]
O.A. Krivtsov, A.M. Korikov
Spatial tracking of human head position based on the video frames analysis
A spatial tracking system of PC user head position is suggested. The system operates on frames captured by video camera, and includes the following operation stages: detection of user's front face view, semi-automatic initialization of head model, tracking of inter-frame head movement with the use of gradient-based optimization method. As a head model, 3D cylinder surface with applied 2D texture has been used.
Key words: head tracking, head model, forwards compositional method, image alignment, webcamera, human-computer interface, mouse control, Kalman filter.
Доклады ТУСУРа, № 2 (18), часть 2, декабрь 2008