СПОСОБ КОРРЕКЦИИ ИЗОБРАЖЕНИЯ ГЛАЗ С ИСПОЛЬЗОВАНИЕМ МАШИННОГО ОБУЧЕНИЯ И СПОСОБ МАШИННОГО ОБУЧЕНИЯ
METHOD FOR CORRECTION OF EYE IMAGE USING MACHINE LEARNING AND METHOD OF MACHINE LEARNING

ОБЛАСТЬ ТЕХНИКИ
Данная группа изобретений относится к автоматике и вычислительной технике, в общем, к области обработки изображений и видеоданных, а именно к коррекции изображения глаз собеседников во время проведения видеочатов, видеоконференций.
УРОВЕНЬ ТЕХНИКИ
В настоящее время видеоконференции между деловыми партнерами и видеозвонок к родственникам за границу стали обычным явлением. При выборе определенного программного и аппаратного обеспечения возникает сложность, связанная с отсутствием зрительного контакта между собеседниками. Данная проблема привлекает исследователей и инженеров в течение длительного времени, обусловлена неизбежным различием между положением камеры, осуществляющей съемку видеоизображения, и изображением лица на экране.
Для наиболее успешных решений, известных на данный момент, кроме веб-камеры требуется дополнительное оборудование, такое как: полупрозрачные зеркала/экраны, стереокамеры или RGB-D камеры.
Из уровня техники известна заявка на патент WO 2011148366 «Метод и система для коррекции смещения взгляда», опубликовано 01.12.2011, заявитель Ramot At Tel-Aviv University Ltd. Способ включает в себя следующие шаги: обработку изображения для извлечения расположения по меньшей мере одного глаза на изображении, обработку изображения, чтобы заменить данные съемки, связанные с каждым адресом каждого глаза с замещающими данными, тем самым обеспечивая исправленное изображение, и передавая исправленное изображение на дисплей устройства. Недостатками использования данного метода является, во-первых, необходимость проводить предзапись набора изображений со взглядом, направленным в камеру для каждого участника видеоконференции перед ее началом, а во-вторых, неестественная фиксация направления взгляда во время видеоконференции.
Также из уровня техники известна статья «Gaze Correction with а Single Webcam», авторы: D. Giger, J.C. Bazin, C. Kuster, T. Popa, M. Gross, опубликовано в: Proceedings of IEEE ICME 2014 (Chengdu, China, July 14-18, 2014). Указанный способ включает себя: нахождение особенностей лица и подстройку геометрической модели головы человека согласно найденным особенностям лица, проекцию изображения на текстуру подстроенной модели, поворот модели на определенный угол и отображение повернутой модели поверх изображения, сшивку изображения модели и исходного изображения. Недостатками данного способа являются: искажение глобальных пропорций лица, необходимость предзаписи текстуры для заслоняемых частей головы (например, подбородка) и требование наличия графического ускорителя для достижения производительности, требуемой для работы системы в режиме реального времени.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Задачей данной группы изобретений является коррекция изображения глаз собеседника во время проведения видеоконференций с использованием устройства, содержащего только одно средство видеозаписи (видеокамеры).
Техническим результатом данного изобретения является повышение точности коррекции изображения глаз при уменьшении ресурсоемкости процесса обработки видеоизображения.
Данный технический результат достигается благодаря способу машинного обучения предиктора, используемого для коррекции ориентации взгляда на изображении, в котором сначала получают множество пар изображений, содержащих внутри каждой пары изображения одного и того же человека, отличающиеся только направлением взгляда, после чего определяют положения глаз на каждой паре изображений, затем обучают предиктор, выдающий корректирующий вектор смещения, так чтобы для каждой пары изображений при замене цветовых компонент каждого пикселя первого изображения из пары на цветовые компоненты другого пикселя первого изображения из пары, смещенного согласно предсказанию предиктора, получилось изображение, максимально похожее на второе изображение пары, и в итоге сохраняют предиктор.
Предиктором может являться однослойная или многослойная нейронная сеть.
Предиктором может являться, по крайней мере, одно дерево принятия решений или ансамбль деревьев принятия решений.
Предиктор выдает фиксированный вектор смещения, зависящий только от положения пикселя относительно характерных точек глаза.
Область глаз на парах изображений приводят к предустановленному пиксельному масштабу.
Предиктор сохраняют на носитель информации, которым является жесткий диск или твердотельный накопитель или flash-память или оптический диск или гибридные накопители или оперативное запоминающее устройство (ОЗУ) или удаленная компьютерная система или удаленное хранилище данных.
Также указанный технический результат достигается благодаря способу коррекции положения глаз на изображении, в котором сначала загружают предиктор, после чего получают, по крайней мере, один кадр лица человека, затем определяют положения глаз человека на изображении и формируют две прямоугольные области, близко описанные вокруг глаз, и в итоге заменяют цветовые компоненты каждого пикселя в области глаз на цветовые компоненты пикселя, смещенного согласно предсказанию предиктора машинного обучения.
Предиктор обучен с использованием вышеописанного способа.
Предиктор загружают с носителя информации, которым может быть жесткий диск или твердотельный накопитель или flash-память или оптический диск или гибридные накопители или оперативное запоминающее устройство (ОЗУ) или удаленная компьютерная система или удаленное хранилище данных.
Предиктором является однослойная или многослойная нейронная сеть.
Предиктором является, по крайней мере, одно дерево принятия решений или ансамбль деревьев принятия решений.
Предиктор, применяемый к каждому пикселю в области глаз, удовлетворяет следующим условиям:
а. Примененный к пикселю предиктор должен выдавать корректирующий вектор смещения для замены цветовых компонент данного пикселя цветовыми компонентами заменяющего пикселя, определенного данным вектором смещения;
b. Предиктор обучался на множестве пар изображений, где одно из изображений в паре содержит исходное изображение лица человека до корректировки положения глаз, а другое изображение содержит изображение человека с желаемым положением глаз.
Вектор смещения, предсказанный предиктором, масштабируется согласно отношению размеров глаз на корректируемом изображении к тренировочной выборке.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
На Фиг. 1 - коррекция изображения глаз собеседника в режиме реального времени. Слева - входной кадр с взглядом, который направлен на десять градусов ниже камеры. Средний - входной кадр с взглядом, направленным на десять градусов выше, чем на левом кадре (в данном случае соответствует направлению камеры). Правый кадр - пример результата работы изобретения, в котором направление взгляда собеседника на изображении корректируется на десять градусов вверх относительно исходного.
На Фиг. 2 - обработка пикселя в случае, если предиктором является дерево решений.
На Фиг. 3 - блок-схема способа машинного обучения предиктора, используемого для коррекции изображения глаз.
На Фиг. 4 - блок-схема способа коррекции изображения глаз.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
Ниже будут описаны понятия и определения, необходимые для подробного раскрытия осуществляемого изобретения.
Предиктор - программная или аппаратная реализация сопоставления образцам данных определенных объектов (например, меток класса, скалярных или векторных значений), которая зависит от большого количества параметров, обученных с помощью процедуры машинного обучения на тренировочном множестве. В качестве примера предиктора можно привести дерево решений, нейронную сеть, набор деревьев решений. В зависимости от предиктора параметрами могут быть, например, веса нейронной сети, пороговые значения в деревьях решений.
Внутреннее состояние предиктора - набор значений параметров предиктора, обуславливающий его предсказания.
Деревья решений - это способ представления правил в иерархической, последовательной структуре, где каждому объекту соответствует единственный узел (лист дерева), дающий решение.
Цветовые компоненты - три или четыре значения, находящиеся в кортеже чисел, который определяет цветовую модель описания представления цветов.
Существует много различных типов цветовых моделей, но в компьютерной графике, как правило, применяется следующие: CMY, CMYK, CMYK256, RGB, HSB, HLS, L∗a∗b, YIQ, Grayscale (оттенки серого) и Registration color.
Например, в наиболее известной цветовой модели RGB, кортеж содержит три цветовые компоненты. Например: (255, 64, 23) - цвет, содержащий сильный красный компонент, немного зеленого и совсем немного синего.
Данное изобретение может быть реализуемо на компьютере, в виде системы или машиночитаемого носителя, содержащего инструкции для выполнения вышеупомянутого способа.
Способ машинного обучения предиктора, используемого для коррекции ориентации взгляда на изображении, включающий следующие шаги:
получают множество пар изображений, содержащих внутри каждой пары изображения одного и того же человека, отличающиеся только направлением взгляда;
j
j
Множество пар изображений 302 (Фиг. 3) поступает с видеокамеры 301 (Фиг. 3). Для обеспечения возможности машинного обучения необходим предопределенный набор пар изображений (I, O), удовлетворяющих следующим условиям: на каждой паре изображений представлено лицо одного и того же человека, с той же позицией головы и одинаковыми условиями визуализации, отличающиеся только направлением взгляда этого человека (Фиг. 1). Разница в направлении взгляда является одинаковой для всех учебных пар. Для корректной работы способа необходимо, чтобы данная разница в направлении взгляда была от 5 до 20 градусов.
определяют положения глаз на каждой паре изображений;
Для определения положения глаз может использоваться, например, алгоритм контролируемого градиентного спуска, описанный в статье [1]. Также могут использоваться методы, основанные на последовательном применении деревьев решений. Различные варианты реализации указанных способов описаны в статьях [2] и [3].
1
1
2
2
N
N
j
j
j
<mrow><msqrt><mrow><mi>П</mi><mi>л</mi><mi>о</mi><mi>щ</mi><mi>а</mi><mi>д</mi><mi>ь</mi><mtext> </mtext><mo stretchy="false">(</mo><mi>B</mi><mo>′</mo><mo stretchy="false">)</mo></mrow></msqrt></mrow>
a
Далее изображения приводятся к одинаковому размеру. Для каждой пары изображений, соответствующих правому глазу, фокусируются на точках (f, g), (f, g)…(f, g), соответствующих этому глазу на изображении I. В статье [1] количество точек N равно 6. Очевидно, что это не фиксированный параметр. Далее выделяют выровненные по осям изображения и ограничивающие точки каждого глаза прямоугольники B′ и определяют характерный радиус Δ как
. Далее рассматривают прямоугольник B, имеющий центр в том же положении, что и B′, а также ширину W и высоту H, которые пропорциональны Δ (т.е. W=α∗Δ,  H=β∗Δ для некоторых констант α и β). Константы α и β подбираются произвольным образом в диапазоне от 1 до 20. В проведенных экспериментах значения α и β были 2.0 и 1.6 соответственно. Таким образом, прямоугольник B ковариантен масштабу и положению глаза и имеет соотношение сторон как α:β. Изображения I и O обрезаются согласно прямоугольнику B и масштабируются в R/Δ раз, так что характерный радиус глаз на изображениях становится постоянным. Изображения для левого глаза обрабатываются аналогичным образом после зеркального отражения относительно вертикальной оси. В итоге получается множество обрезанных и масштабированных пар изображений 303 (Фиг. 3).
обучают предиктор, выдающий корректирующий вектор смещения, так чтобы для каждой пары изображений при замене цветовых компонент каждого пикселя первого изображения из пары на цветовые компоненты другого пикселя первого изображения из пары, смещенного согласно предсказанию предиктора, получилось изображение, максимально похожее на второе изображение пары;
j
j
i
i
i
i
В каждом пикселе (x,y) значение O(x,y) заменяется на значение I(x,y) с помощью операции O(x,y)=I(x+u(x,y),y+υ(x,y)). Таким образом, каждый пиксель (x,y) в пределах ограничивающего прямоугольника B задает обучение кортежа S={(x,y),I,{f,g},O(x,y)}, который включает в себя положение (x,y) пикселя, входное изображение I, точки по контуру глаз {f,g} и цвет O(x,y) пикселя в выходном изображении. Затем деревья решений обучаются на основе учебных кортежей (обучающие выборки).
Причем каждая обучающая выборка не включает в себя вектор смещения (u(x,y),υ(x,y)), а включает только требуемый цвет O(x,y), в то время как те же цветовые компоненты могут быть получены с помощью различных смещений.
Изображение глаз корректируется при применении машинно-обученного предиктора 304 (Фиг. 3) в каждом пикселе в области глаз, а предиктор P определяется следующими двумя свойствами:
(1) При обработке предиктором Ρ пикселя прогнозируется вектор смещения, который используется в соответствии с процедурой коррекции, чтобы заменить интенсивность (цветовые компоненты) этого пикселя на интенсивность (цветовые компоненты) смещенного пикселя.
(2) На тренировочном множестве пар изображений (im1, im2) применение P должно приводить к преобразованию im1 в im2, где im1 содержит входное изображение и im2 содержит желаемое изображение.
сохраняют предиктор;
В зависимости от вида предиктора (дерево решения, набор деревьев решений, нейронная сеть) осуществляется сохранение параметров данного предиктора на носитель информации 305 (Фиг. 3), которым является жесткий диск или твердотельный накопитель или оптический накопитель или flash-память. Также предиктор можно сохранять на оперативное запоминающее устройство (ОЗУ).
Например, если в качестве предиктора используется дерево решений, то параметрами могут быть: характеристики тестов, пороговые значениях, связи между вершинами, количество листьев, глубина дерева, значения вершин, полная топология дерева.
Способ коррекции изображения глаз, характеризующийся:
загружают предиктор;
В зависимости от вида предиктора 404 (Фиг. 4) (дерево решений, набор деревьев решений, нейронная сеть) осуществляется загрузка параметров данного предиктора с носителя информации 403 (Фиг. 4), которым может являться жесткий диск или твердотельный накопитель или оптический накопитель или flash-память. Также предиктор можно загружать с оперативного запоминающего устройства (ОЗУ).
Например, если в качестве предиктора используется дерево решений, то параметрами могут быть: характеристики тестов, пороговые значения τ, связи между вершинами, количество листьев, глубина дерева, значения вершин, полная топология дерева.
получают, по крайней мере, один кадр лица человека;
Изображения могут передаваться в виде потокового видео, поступающие от источника видеоданных 401 (Фиг. 4) в реальном масштабе времени или из хранилища с локального видеосервера или центрального сервера. Для передачи потокового видео могут быть использованы стандартные протоколы RTSP (RealTimeStreamingProtocol), RTMP (RealTimeMessagingProtocol), HLS (HTTPLiveStreaming) и DASH (DynamicAdaptiveStreamingover HTTP). При этом скорость и качество передаваемых видеоданных может автоматически адаптироваться к каналу связи устройства.
Видеоданные могут передаваться в компрессированном виде, например, при помощи кодеров Н.264, VP8, MJPEG, JPEG, JPEG2000.
Видеоданные могут передаваться в виде отдельных файлов. При этом могут использоваться стандартные контейнеры, например, WebM, OGV, MKV, MP4, TS, JPG и др.
Видеоданные могут передаваться по беспроводным сетям, таким как GSM (Global System for Mobile Communications), CDMA (Code division multiple access), LTE (Long Term Evolution), Wi-Fi (Wireless Fidelity). В некоторых реализациях настоящего изобретения получение и/или отправка данных осуществляется с использованием нескольких технологий, описанных выше или технологий приема/передачи.
определяют положения глаз человека на изображении и формируют две прямоугольные области, близко описанные вокруг глаз;
1
1
2
2
N
N
<mrow><msqrt><mrow><mi>П</mi><mi>л</mi><mi>о</mi><mi>щ</mi><mi>а</mi><mi>д</mi><mi>ь</mi><mtext> </mtext><mo stretchy="false">(</mo><mi>B</mi><mo>′</mo><mo stretchy="false">)</mo></mrow></msqrt></mrow>
a
Для каждого глаза фокусируются на точках (f, g), (f, g)…(f, g), соответствующих этому глазу, которые располагаются по контуру глаза. Далее выделяют выровненные по осям и ограничивающие точки каждого глаза прямоугольники B′ и определяют характерный радиус Δ как
. Далее рассматривают прямоугольник B, имеющий центр в том же положении, что и B′, а также ширину W и высоту H, которые пропорциональны Δ (т.е. W=α∗Δ,  H=β∗Δ для некоторых констант α и β). Таким образом, прямоугольник B ковариантен масштабу и положению глаза и имеет соотношение сторон как α:β.
заменяют цветовые компоненты каждого пикселя в области глаз на цветовые компоненты пикселя, смещенного согласно предсказанию предиктора машинного обучения;
После формирования ограничительных прямоугольников 405 (Фиг. 4) вокруг глаз заменяют цветовые компоненты пикселей для коррекции перенаправления взора. Данный шаг способа выполняется с помощью машинного обучения за счет использования предиктора 404 (Фиг. 4). В результате согласования пикселей в прямоугольниках входящих изображений и изображений в обучающем наборе получается двумерный (2-D) вектор смещения (u(x,y),υ(x,y)) при (x,y) координатах пикселя. Окончательное значение пикселей O(x,y) в выходном изображении вычисляется по формуле O(x,y)=I(x+u(x,y),y+υ(x,y)). Таким образом, получается набор двумерных векторов смещений 406 (Фиг. 4) для каждого пикселя ограничивающего прямоугольника 405 (Фиг. 4) вокруг глаз.
<mrow><mi>I</mi><mo stretchy="false">(</mo><mi>x</mi><mo>+</mo><mi>d</mi><mi>x</mi><mo>,</mo><mi>y</mi><mo>+</mo><mi>d</mi><mi>y</mi><mo stretchy="false">)</mo><mo stretchy="false">[</mo><mi>c</mi><mo stretchy="false">]</mo><mo>−</mo><mi>I</mi><mo stretchy="false">(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo stretchy="false">)</mo><mo stretchy="false">[</mo><mi>c</mi><mo stretchy="false">]</mo><mfrac><mo>></mo><mo><</mo></mfrac><mi>τ</mi></mrow>
<mrow><mi>x</mi><mo>−</mo><msub><mi>f</mi><mi>i</mi></msub><mfrac><mo>></mo><mo><</mo></mfrac><mi>τ</mi></mrow>
<mrow><mi>y</mi><mo>−</mo><msub><mi>g</mi><mi>i</mi></msub><mfrac><mo>></mo><mo><</mo></mfrac><mi>τ</mi></mrow>
i
i
Более подробно (Фиг. 2), при сопоставлении пикселя (x,y) обучающим данным и для нахождения и регулирования смещения пиксель обрабатывается предиктором, которым в данном случае является рандомизированное дерево решений. При прохождении пикселя через данное дерево к нему применяется последовательно два вида тестов. В каждой вершине рандомизированного дерева решений определен вид теста, который применяется к пикселю. Тест первого вида (тест на внешний вид) определяется небольшим смещением (dx, dy), каналом сигнала цветности с ∈{R;G;B} и пороговым значением τ, и в рамках этого теста сравнивают разность двух значений пикселей в этом цветовом канале с пороговым значением следующим образом:
. Тест второго вида (тест на положение пикселя относительно характерной точкой) определяется номером особой точки i∈{1, …Ν} и пороговым значением τ, и в рамках этого теста сравнивают либо x-f или y-g с пороговым значением τ следующим образом:
или
.
Каждый из листьев содержит ненормированное распределение ошибок смещения, которые называются картами совместимости. В каждом пикселе карты совместимости находится суммарная разность между истинными цветовыми компонентами пикселя в выходном изображении и цветовыми компонентами пикселя во входном изображении, смещенным на (u,v). Если эта разность достаточно мала, значит можно приблизить пиксель в выходном изображении пикселем во входном изображении после смещения на (u,v).
Общее количество примененных тестов зависит от глубины дерева решений, а тип применяемого в данный момент теста зависит от типа вершины, в которой мы в данный момент находимся.
Для увеличения точности коррекции возможно применение набора из нескольких независимо обученных деревьев решений. Каждое дерево сопоставляет каждому пикселю свою карту совместимости (записанную в соответствующем листе дерева). Карты совместимости, сопоставленные пикселю разными деревьями, складываются, что позволяет более точно оценить карту совместимости, типичную для данного типа пикселей. По итоговой карте совместимости всего дерева решений (или ансамбля деревьев решений, если используется другой предиктор) выбирается самое совместимое с данным типом пикселей смещение (как положение минимума на карте). Это значение (u,v) используется для проведения операции по восстановлению O(x,y)=I(x+u(x,y),y+υ(x,y)).
Настоящее подробное описание составлено с приведением различных не имеющих ограничительного и исчерпывающего характера вариантов осуществления. В то же время, специалистам, имеющим средний уровень компетентности в рассматриваемой области техники, очевидно, что различные замены, модификации или сочетания любых раскрытых здесь вариантов осуществления (в том числе частично) могут быть воспроизведены в пределах объема настоящего изобретения. Таким образом, подразумевается и понимается, что настоящее описание изобретения включает дополнительные варианты осуществления, суть которых не изложена здесь в явно выраженной форме. Такие варианты осуществления могут быть получены путем, например, сочетания, модификации или преобразования каких-либо действий, компонентов, элементов, свойств, аспектов, характеристик, ограничений и пр., относящихся к приведенным здесь и не имеющим ограничительного характера вариантам осуществления.
Литература
1. X. Xiong and F. De la Torre. Supervised descent method and its applications to face alignment. In Computer Vision and Pattern Recognition (CVPR), 2013 IEEE Conference on, pages 532-539. IEEE, 2013.
2. B.A. Smith, Q. Yin, S.K. Feiner, and S.K. Nayar. Gaze locking: passive eye contact detection for human-object interaction. In Proceedings of the 26th annual ACM symposium on User interface software and technology, pages 271-280. ACM, 2013.
3. S. Ren, X. Cao, Y. Wei, and J. S. 0001. Face alignment at 3000 fps via regressing local binary features. In CVPR, pages 1685-1692, 2014.