СПОСОБ, СИСТЕМА И КОМПЬЮТЕРНЫЙ НОСИТЕЛЬ ДАННЫХ ДЛЯ ДЕТЕКТИРОВАНИЯ ЛИЦА
METHOD, SYSTEM AND COMPUTER DATA MEDIUM FOR FACE DETECTION

Область техники, к которой относится изобретение
Настоящее изобретение относится к технологии детектирования лица, в частности к способу и системе для детектирования лица и соответствующему компьютерному носителю данных.
Уровень техники
Детектирование лица широко используется в различных устройствах, функционирующих на основе распознавания лиц. Точность детектирования лица крайне важна для распознавания лица. С постоянным развитием коммуникационных технологий все больше портативных коммуникационных устройств также имеют функцию распознавания лица, например распознавание лица и захват улыбки в цифровых фотоаппаратах, разблокировка мобильных устройств путем распознавания лица владельца и тому подобное.
В существующих технологиях распознавания лица для детектирования лица требуется множество обучающих выборок, и детектирование лица требует большого количества вычислений, что делает такой алгоритм неэффективным, менее точным и неспособным отвечать требованиям обработки большого объема данных.
Раскрытие изобретения
В свете вышесказанного существует потребность в обеспечении способа детектирования лица, позволяющего повысить эффективность и точность детектирования.
Данный способ детектирования лица содержит этапы, на которых: предварительно обрабатывают изображение; выделяют углы из предварительно обработанного изображения, а также фильтруют и комбинируют данные углы для получения связной компоненты углов; выделяют центроиды из связной компоненты углов; проверяют согласование центроидов с лицевым шаблоном; вычисляют вероятность согласования центроидов с лицевым шаблоном и идентифицируют области, образованные центроидами, вероятность согласования которых больше или равна предопределенному значению, в качестве вероятных лицевых областей.
В одном из вариантов осуществления изобретения предварительная обработка содержит, по меньшей мере, одно из корректировки уровня изображения, автоматической балансировки белого, нормализации и создания мозаичного изображения.
В одном из вариантов осуществления изобретения выделение углов из предварительно обработанного изображения содержит этапы, на которых: вычисляют разности яркости между текущим пикселем и окружающими пикселями на основании предустановленного шаблона 3×3 и определяют пиксель, разность яркости которого больше или равна первому пороговому значению, в качестве угла; причем шаблон 3×3 представляет собой область с центром в текущем пикселе, включающую в себя пиксели слева, справа, сверху, снизу, слева вверху, справа вверху, слева внизу и справа внизу от текущего пикселя.
В одном из вариантов осуществления изобретения фильтрация углов содержит этапы, на которых: идентифицируют точки цвета кожи в предварительно обработанном изображении и отфильтровывают углы, не включающие в себя точку цвета кожи в предустановленном окружающем диапазоне; выделяют центр пересечения цветового пространства YcgCr и цветового пространства YcbCr в качестве центра цвета кожи, вычисляют значения компонентов Cb, Cg и Cr углов, вычисляют расстояния между центром цвета кожи и значениями компонентов Cb, Cg и Cr углов и отфильтровывают углы, расстояние от которых до центра цвета кожи превышает второе пороговое значение.
В одном из вариантов осуществления изобретения выделение центроидов из связной компоненты углов содержит этапы, на которых: выбирают связную компоненту, площадь которой больше или равна третьему пороговому значению и/или соотношение сторон которой находится в пределах предустановленного диапазона; выделяют центр выбранной связной компоненты в качестве центроида; вычисляют направление выделенного центроида и удаляют данный центроид, если перпендикулярность его направления находится в пределах заданного диапазона перпендикулярности.
В одном из вариантов осуществления изобретения лицевой шаблон представляет собой прямоугольный шаблон, включающий в себя верхнюю точку левого глаза, верхнюю точку правого глаза и, по меньшей мере, одну третью точку, расположенную на другой линии, параллельной линии, на которой расположены верхняя точка левого глаза и верхняя точка правого глаза.
В одном из вариантов осуществления изобретения проверка согласования центроидов с лицевым шаблоном, вычисление вероятности согласования центроидов с лицевым шаблоном и идентификация области, образованной центроидами, вероятность согласования которых больше или равна предопределенному значению, в качестве вероятной лицевой области, содержат этапы, на которых перебирают центроиды и для каждого из центроидов выполняют следующие этапы:
выполняют поиск второго центроида, расстояние от которого до верхней точки правого глаза меньше или равно четвертому пороговому значению, используя первый центроид в качестве верхней точки лицевого шаблона; выполняют поиск третьего центроида, расстояние от которого по вертикали до другой линии, параллельной линии, на которой расположены верхняя точка левого глаза и верхняя точка правого глаза, меньше или равно четвертому пороговому значению; вычисляют вероятность согласования на основании расстояния между вторым центроидом и верхней точкой правого глаза, расстояния по вертикали между третьим центроидом и упомянутой другой линией и кратчайшего расстояния между третьим центроидом и третьей точкой; определяют, является ли вероятность согласования большей или равной предопределенному значению, и идентифицируют область, образованную первым центроидом, вторым центроидом и третьим центроидом, в качестве вероятной лицевой области, если вероятность согласования больше или равна предопределенному значению.
В одном из вариантов осуществления изобретения данный способ дополнительно содержит этапы, на которых: после проверки согласования центроидов с лицевым шаблоном, вычисления вероятности согласования центроидов с лицевым шаблоном и идентификации области, образованной центроидами, вероятность согласования которых больше или равна предопределенному значению, в качестве вероятной лицевой области, разбивают вероятную лицевую область на заданное число ячеек и вычисляют пропорцию цвета кожи для каждой из данных ячеек; выбирают вероятную лицевую область, пропорция цвета кожи которой отвечает предустановленному пропорциональному распределению цвета кожи, в качестве окончательной лицевой области.
Дополнительно, существует необходимость обеспечить систему детектирования лица, позволяющую повысить эффективность и точность детектирования.
Система детектирования лица содержит: модуль предварительной обработки, выполненный с возможностью предварительной обработки изображения; модуль выделения углов, выполненный с возможностью выделения углов из предварительно обработанного изображения; модуль фильтрации и комбинирования углов, выполненный с возможностью фильтрации и комбинирования данных углов для получения связной компоненты для углов; модуль выделения центроида, выполненный с возможностью выделения центроида из связной компоненты углов; и модуль определения вероятной лицевой области, выполненный с возможностью проверки согласования центроидов с лицевым шаблоном, вычисления вероятности согласования центроидов с лицевым шаблоном и идентификации областей, образованных центроидами, вероятность согласования которых больше или равна предопределенному значению, в качестве вероятных лицевых областей.
В одном из вариантов осуществления изобретения предварительная обработка содержит, по меньшей мере, одно из корректировки уровня изображения, автоматической балансировки белого, нормализации и создания мозаичного изображения.
В одном из вариантов осуществления изобретения модуль выделения углов выполнен с возможностью вычисления разности яркости между текущим пикселем и окружающими пикселями на основании предопределенного шаблона 3×3 и определения пикселя, разность яркости которого больше или равна первому пороговому значению, в качестве угла; причем шаблон 3×3 представляет собой область с центром в текущем пикселе, включающую в себя пиксели слева, справа, сверху, снизу, слева вверху, справа вверху, слева внизу и справа внизу от текущего пикселя.
В одном из вариантов осуществления изобретения модуль фильтрации и комбинирования углов выполнен с возможностью идентификации точек цвета кожи в предварительно обработанном изображении и отфильтровывания углов, не включающих в себя точку цвета кожи в предустановленном окружающем диапазоне; и модуль фильтрации и комбинирования углов дополнительно выполнен с возможностью выделения центра пересечения цветового пространства YcgCr и цветового пространства YcbCr в качестве центра цвета кожи, вычисления значений компонентов Cb, Cg и Cr углов, вычисления расстояний между центром цвета кожи и значениями компонентов Cb, Cg и Cr углов и отфильтровывания углов, расстояние от которых до центра цвета кожи превышает второе пороговое значение.
В одном из вариантов осуществления изобретения модуль выделения центроида содержит: блок выбора связной компоненты, выполненный с возможностью выбора связной компоненты, площадь которой больше или равной третьему пороговому значению и/или имеющей соотношение сторон которой находится в пределах предустановленного диапазона; блок выделения центроида, выполненный с возможностью выделения центра выбранной связной компоненты в качестве центроида; блок удаления центроида, выполненный с возможностью вычисления направления выделенного центроида и удаления данного центроида, если направление имеет перпендикулярность, находящуюся в пределах заданного диапазона перпендикулярности.
В одном из вариантов осуществления изобретения лицевой шаблон представляет собой прямоугольный шаблон, включающий в себя верхнюю точку левого глаза, верхнюю точку правого глаза и, по меньшей мере, одну третью точку, расположенную на другой линии, параллельной линии, на которой расположены верхняя точка левого глаза и верхняя точка правого глаза.
В одном из вариантов осуществления изобретения модуль определения вероятной лицевой области содержит: блок поиска, выполненный с возможностью поиска, для каждого центроида, второго центроида, расстояние от которого до верхней точки правого глаза меньше или равно четвертому пороговому значению, используя первый центроид в качестве верхней точки лицевого шаблона, и поиска третьего центроида, расстояние от которого по вертикали до другой линии, параллельной линии верхней точки левого глаза и верхней точки правого глаза, меньше или равно четвертому пороговому значению; блок вычисления вероятности согласования, выполненный с возможностью вычисления вероятности согласования на основании расстояния между вторым центроидом и верхней точкой правого глаза, расстояния по вертикали между третьим центроидом и упомянутой другой линией и кратчайшего расстояния между третьим центроидом и третьей точкой; и блок локализации области, выполненный с возможностью определения того, является ли вероятность согласования большей или равной предопределенному значению, и локализации областей, образованных первым центроидом, вторым центроидом и третьим центроидом, в качестве вероятных лицевых областей, если вероятность согласования больше или равна предопределенному значению.
В одном из вариантов осуществления система дополнительно содержит: модуль выбора области, выполненный с возможностью разбивки вероятных лицевых областей на заданное число ячеек, вычисления пропорции цвета кожи для каждой из данных ячеек и выбора вероятной лицевой области, пропорция цвета кожи которой отвечает предустановленному пропорциональному распределению цвета кожи, в качестве окончательной лицевой области.
Дополнительно, существует необходимость обеспечить компьютерный носитель данных, позволяющий повысить эффективность и точность детектирования.
Данный компьютерный носитель данных содержит исполняемые компьютером команды для выполнения способа детектирования лица, причем данный способ содержит этапы, на которых: предварительно обрабатывают изображение; выделяют углы из предварительно обработанного изображения, фильтруют и комбинируют данные углы для получения связной компоненты углов; выделяют центроиды из связной компоненты углов; и проверяют согласование центроидов с лицевым шаблоном, вычисляют вероятность согласования центроидов с лицевым шаблоном и идентифицируют области, образованные центроидами, вероятность согласования которых больше или равна предопределенному значению, в качестве вероятных лицевых областей.
В способе и системе детектирования лица, а также в вышеописанном компьютерном носителе данных, вычисляют вероятность согласования центроида с лицевым шаблоном, и идентифицируют область, образованную центроидами, вероятность согласования которых больше или равна предопределенному значению, в качестве вероятной лицевой области. Вероятностная модель такого лицевого шаблона позволяет осуществлять масштабирование и поворот без сбоев, обеспечивает более точную проверку согласования лица, а также эффективность алгоритма. Таким образом, может быть повышена эффективность и точность детектирования лица.
Краткое описание чертежей
Фиг. 1 представляет собой блок-схему последовательности действий способа детектирования лица согласно одному из вариантов осуществления изобретения;
Фиг. 2 представляет собой гистограмму R канала изображения;
Фиг. 3 представляет собой схему шаблона 3×3 согласно одному из вариантов осуществления изобретения;
Фиг. 4 представляет собой блок-схему последовательности действий выделения центроида из связной компоненты углов согласно одному из вариантов осуществления изобретения;
Фиг. 5 представляет собой схему лицевого шаблона согласно одному из вариантов осуществления изобретения;
Фиг. 6 представляет собой блок-схему последовательности действий локализации вероятной лицевой области согласно одному из вариантов осуществления изобретения;
Фиг. 7 представляет собой схему проверки согласования центроида с лицевым шаблоном согласно одному из вариантов осуществления изобретения;
Фиг. 8 представляет собой схему пропорциональной модели цвета кожи согласно одному из вариантов осуществления изобретения;
Фиг. 9 представляет собой структурную схему системы детектирования лица согласно одному из вариантов осуществления изобретения;
Фиг. 10 представляет собой структурную схему модуля выделения центроида согласно одному из вариантов осуществления изобретения;
Фиг. 11 представляет собой структурную схему модуля определения вероятной области лица согласно одному из вариантов осуществления изобретения; и
Фиг. 12 представляет собой структурную схему системы детектирования лица согласно другому варианту осуществления изобретения.
Осуществление изобретения
Как показано на Фиг. 1, в одном из вариантов осуществления изобретения способ детектирования лица включает в себя следующие этапы.
Этап S102: Предварительно обрабатывают изображение.
В частности, в одном из вариантов осуществления изобретения предварительная обработка изображения включает в себя, по меньшей мере, один из следующих видов обработки изображения: корректировку уровня изображения, автоматическую балансировку белого, нормализацию и создание мозаичного изображения. После предварительной обработки на изображении может быть существенно сокращена последующая вычислительная нагрузка и соответственно повышена эффективность идентификации.
Этап S104: Выделяют углы из предварительно обработанного изображения и затем фильтруют и комбинируют данные углы. Таким образом, получают связную компоненту углов.
В одном из примеров угол относится к точке изображения, вокруг которой резко изменяется яркость. Изображение, образованное выделенными углами, можно может рассматриваться как диаграмма профиля. Однако не все углы, выделенные из предварительно обработанного изображения, представляют собой нужные углы черт лица. Поэтому углы могут быть подвергнуты фильтрации, и те из них, которые не имеют отношения к определяющим позициям черт лица, удаляются. Ввиду того, что отфильтрованные углы, например углы глаз и рта, могут быть сосредоточены локально, эти локально сосредоточенные углы можно могут быть скомбинированы для получения связной компоненты углов.
Этап S106: Выделяют центроид из связной компоненты углов.
Центроид представляет собой центр связной компоненты углов, который может объективно характеризовать основные характерные части лица, в том числе глаза, нос, рот и т.д. После выделения центроида данный центроид может быть использован для последующей проверки согласования лицевого шаблона.
Этап S108: Проверяют согласование центроида с лицевым шаблоном, вычисляют вероятность согласования центроида с лицевым шаблоном и определяют область, образованную центроидами, вероятность согласования которых больше или равна предопределенному значению, в качестве вероятной лицевой области.
В данном варианте осуществления изобретения вероятностная модель такого лицевого шаблона позволяет осуществлять масштабирование и поворот без сбоев, обеспечивает более точную проверку согласования лица, а также эффективность алгоритма. Таким образом, может быть повышена эффективность и точность детектирования лица.
В предпочтительном варианте осуществления изобретения предварительная обработка включает в себя корректировку уровня изображения, автоматическую балансировку белого, нормализацию и создание мозаичного изображения.
Корректировка уровня изображения относится к операции корректировки уровня изображения. Уровень представляет собой измерительный эталон, выражающий интенсивность освещенности изображения. От данного уровня зависят наполненность и точность цвета изображения. Посредством корректировки уровня изображения, может быть скорректирован уровень интенсивности теней, полутонов и подсвеченных участков изображения, тем самым до определенной степени улучшая визуальный эффект изображения.
В одном из вариантов осуществления изобретения могут быть скорректированы уровни трех каналов изображения (т.е., каналов RGB) соответственно. Фиг. 2 представляет собой гистограмму R канала определенного изображения. Затененные и подсвеченные области, включающие в себя незначительный объем данных, могут быть удалены, и левую и правую границы корректируют таким образом, чтобы они находились в пределах интервала [левый, правый]. Затем значения на R канале проецируются обратно на интервал [0, 255]. Интервал [левый, правый] представляет собой информацию о сохранившемся уровне после удаления затененных и подсвеченных областей.
В частности, может быть вычислено новое значение R/G/B согласно следующей формуле:
Разность=правый-левый
newRGB=(oldRGB-левый)×255/Разность.
В этой формуле под newRGB понимается новое значение R/G/B, под oldRGB понимается значение R/G/B до корректировки уровня.
В этом варианте осуществления изобретения корректировка уровня позволяет улучшить контрастность изображения и четкость границ, что благоприятствует последующему распознаванию цвета кожи, фильтрации углов и т.д.
Автоматическая балансировка белого используется для решения проблемы искажения цвета. При реальном фотографировании ограничения, накладываемые окружающей обстановкой на используемые устройства, например мобильный терминал, а также ограничения самих устройств, например фотоаппарата, могут приводить к некорректной экспозиции, что, в свою очередь, приводит к значительному искажению цвета или серьезной потере части цветов. Искажение цвета или серьезная потеря части цветов влияют на последующее выделение области цвета кожи, поэтому существует необходимость выполнения автоматической балансировки белого.
В одном из вариантов осуществления изобретения автоматическая балансировка белого может быть выполнена согласно следующей формуле:
ave
ave
ave
где R′, G′ и В′ представляют собой значения трех компонентов изображения после выполнения автоматической балансировки белого, a R, G и В представляют собой значения трех компонентов исходного изображения. Кроме того, R, G и B представляют собой усредненные значения компонентов изображения R, G и В соответственно.
Поскольку изображения, имеющие различные размеры, могут иметь различные параметры при последующем выделении углов, выделении точек, комбинировании и фильтрации углов или других этапов обработки, размер изображений может быть нормализован. То есть, для унификации параметров, используемых в последующих процессах обработки, на изображениях реализуют масштабирование.
В одном из вариантов осуществления изобретения изображение может быть масштабировано с исходной пропорцией или с пропорцией, отличной от исходной. Предпочтительно, изображение масштабируется с исходной пропорцией. Например, изображение высотой более 400 рх может быть уменьшено до изображения высотой 400 рх с исходным соотношением сторон, а изображение высотой менее 400 рх остается неизменным без увеличения.
Поскольку некоторые изображения имеют широкую границу более одного пикселя, то при выделении углов непосредственно на уровне пикселя большое количество необходимых углов может быть потеряно. В предпочтительном варианте осуществления изобретения после нормализации может быть выполнена мозаичная обработка для преобразования изображения в мозаичное изображение, обеспечивающее более точное выделение углов. Кроме того, выделение углов на мозаичном изображении также может значительно повысить скорость обработки. Например, в масштабе 400 рх в качестве шага мозаики может быть выбран шаг 2×2 рх, при этом новое значение пикселя представляет собой усредненное значение этих четырех пикселей.
В одном из вариантов осуществления изобретения характерный процесс выделения углов из предварительно обработанного изображения на этапе S104 состоит в следующем: вычисляют разность яркости между текущим пикселем и окружающими пикселями на основании предустановленного шаблона 3×3 и выделяют пиксель, разность яркости которого больше или равна первому пороговому значению, в качестве угла.
При этом шаблон 3×3 представляет собой область с центром в текущем пикселе, а также образованную пикселями слева, справа, сверху, снизу, слева вверху, справа вверху, слева внизу и справа внизу от текущего пикселя.
Как показано на Фиг. 3, текущий пиксель представляет собой С, а пиксели слева, справа, сверху, снизу, слева вверху, справа вверху, слева внизу и справа внизу от текущего пикселя представляют собой A1, A, B, B1, A3, B2, B3 и A2 соответственно. Область, образованная этими девятью пикселями, представляет собой предустановленный шаблон 3×3. В частности, в одном из вариантов осуществления изобретения для каждого пикселя (т.е., текущего пикселя) предварительно обработанного изображения рассчитывают разность яркости между текущим пикселем и окружающими его пикселями по следующей формуле.
Определение:
2
2
rA1=w1×(fA-fC)+w1×(fA1-fC)
2
2
rB1=w2×(fB-fC)+w2×(fB1-fC)
R1=min(rA1, rB1)
2
2
rA2=w3×(fA2-fC)+w3×(fA3-fC)
2
2
rB2=w4×(fB2-fC)+w4×(fB3-fC)
R2=min(rA2, rB2)
В данной формуле f обозначает яркостный компонент (0~255) пикселя. Например, fA обозначает яркость пикселя А справа от точки С.w1, w2, w3 и w4 представляют собой веса, которые могут иметь следующие значения: wi=w2=1 и w3=w4=1. Если и R1 и R2 меньше заданного порогового значения Т1 (например, Т1=200), то точка (т.е., текущий пиксель) не является углом. В противном случае выполняют вычисление согласно следующей формуле:
B1=w5×(fB-fA)×(fA-fC)+w5×(fB1-fA1)×(fA1-fC)
B2=w6×(fB-fA1)×(fA1-fC)+w6×(fB1-fA)×(fA-fC)
B3=w7×(fB2-fA2)×(fA2-fC)+w7×(fB3-fA3)× (fA3-fC)
B4=w8×(fB2-fA3)×(fA3-fC)+w8×(fB3-fA2)×(fA2-fC)
mB1=min(B1, B2)
mB2=min(B3, B4)
A1=rB1-rA1-2×mB1
A2=rB2-rA2-2×mB2
2
R1=rA1-mB1/A1, где mB1<0 и A1+mB1>0
2
R2=rA2-mB2/A2, где mB2<0 и A2+mB2>0
В данной формуле W5, W6, W7 и W8 представляют собой веса, которые могут принимать значения W5=W6=1 и W7=W8=1. Вычисленные в результате R1 и R2 представляют собой разности яркости между текущим пикселем и окружающими пикселями. Если и R1, и R2 меньше заданного порогового значения 12 (например, Т2=700), то точка (т.е., текущий пиксель) не является углом. В противном случае это означает, что вокруг точки существует резкое изменение яркости изображения, и данная точка является углом.
В одном из вариантов осуществления изобретения на этапе S104 процедуры фильтрации углов заключаются в следующем: идентификация точек цвета кожи в предварительно обработанном изображении; отфильтровывание углов, не включающих в себя точки точки цвета кожи в предустановленном окружающем диапазоне; выделение центра пересечения цветового пространства YcgCr и цветового пространства YcbCr в качестве центра цвета кожи, вычисление значений компонентов Cb, Cg и Cr углов, вычисление расстояний между центром цвета кожи и значениями, компонентов Cb, Cg и Cr углов; отфильтровывание углов, расстояние от которых до центра цвета кожи превышает второе пороговое значение. Таким образом, в данном варианте осуществления изобретения сохраняют угол, вокруг которого существует точка цвета кожи, и удаляют угол, более удаленный от точки цвета кожи.
Для детектирования кожи существует множество пригодных для этого цветовых пространств, в том числе RGB, HSV, YCbCr, YUV, YcgCr и т.д. В предпочтительном варианте осуществления изобретения может быть выполнено одновременное выделение цвета кожи из пространств YCbCr и YcgCr, что повышает точность выделения. В цветовом пространстве YCgCr существует следующий диапазон цвета кожи: Cg∈[85, 135], Cr∈[-Cg+260, -Cg+280]. В цветовом пространстве YCbCr существует следующий диапазон цвета кожи: Cb∈[77, 127], Cr∈[133, 173]. При этом в данных цветовых пространствах Y∈[16, 235].
В частности, компоненты Y, Cb, Cr и Cg могут быть вычислены на основании значений RGB пикселей в предварительно обработанном изображении согласно следующей формуле:
Если вычисленные компоненты Y, Cb, Cr и Cg удовлетворяют двум описанным выше диапазонам цвета кожи, то пиксель представляет собой пиксель цвета кожи (т.е., точку цвета кожи). Если в предустановленном диапазоне вокруг выделенного угла нет точки цвета кожи, то угол отфильтровывают.
В данном варианте осуществления изобретения центр (Per, Peg, Pcb) пересечения двух описанных выше цифровых пространств изображения выбирают в качестве центра цвета кожи. Для каждого из пикселей в предварительно обработанном изображении вычисляют компоненты Cb, Cr и Cg пикселя, затем вычисляют Эвклидово расстояние между пикселем и центром цвета кожи. Если Эвклидово расстояние между цветом пикселя и центром цвета кожи превышает второе пороговое значение, то принимают, что пиксель маловероятно является точкой цвета кожи, и данный угол отфильтровывают.
В одном из вариантов осуществления изобретения после отфильтровывания углов может быть получено бинарное изображение углов. Однако степень подчинения, связанного с выделением, слишком велика, и выполнение проверки согласования лицевого шаблона непосредственно на основании бинарного изображения углов будет приводить к большому объему вычислений. Ввиду локального сосредоточения многих углов смежные углы могут быть скомбинированы для сокращения последующей вычислительной нагрузки.
В частности, может быть предопределена функция расстояния. Если расстояние между смежными углами удовлетворяет предустановленному условию, то углы комбинируют. Для комбинирования смежных углов могут быть использованы обычный алгоритм маркировки пикселей, алгоритм последовательного кодирования взаимосвязи и алгоритм наращивания области, подробное описание которых здесь будет опущено. После комбинирования углов получают связную компоненту группы углов.
Как показано на Фиг. 4, в одном из вариантов осуществления изобретения характерный процесс этапа S106 состоит в следующем.
Этап S116: Отбирают связную компоненту, площадь которой больше или равна третьему пороговому значению и/или соотношение сторон которой находится в пределах предустановленного диапазона.
Поскольку некоторые из полученных в результате связных компонент углов могут быть не согласованы с характеристиками лица, связные компоненты углов необходимо фильтровать. В частности, связные компоненты с площадью меньше третьего порогового значения и/или соотношением сторон, лежащим вне предустановленного диапазона, могут быть удалены. Например, если третье пороговое значение установлено равным 450, то отбирают связную компоненту с площадью большей или равной 450. Предустановленный диапазон может быть таким, что соотношение сторон должно быть больше 0,5 и меньше 5. Здесь третье пороговое значение может быть установлено на основании масштаба лицевого шаблона для упрощения последующей проверки согласования лицевого шаблона.
Этап S126: Выделяют центр отобранной связной компоненты в качестве центроида.
Этап S136: Вычисляют направление выделенного центроида и удаляют центроиды в направлении, перпендикулярность которого находится в пределах заданного диапазона перпендикулярности.
В частности, центроид представляет собой вектор, направление которого связано с его позицией в изображении. Направление центроида отражает актуальную информацию о границе области, в которой расположен центроид. Затем для вычисления направления центроида может быть использован традиционный оператор Собеля (т.е., оператор выделения границы), и центроид в направлении, перпендикулярность которого лежит в пределах заданного диапазона перпендикулярности, удаляют. Таким образом, удаляют центроид в близком к вертикальному направлении, являющийся центроидом, выделенным из вертикальной границы.
После выполнения этапа S136 полученный центроид может быть использован для проверки согласования лицевого шаблона. В частности, каждый из центроидов может быть представлен в качестве (P, R, D), где P - это центр скомбинированной связной компоненты, R - это радиус связной компоненты, a D - плотность связной компоненты.
В одном из вариантов осуществления изобретения лицевой шаблон представляет собой прямоугольный шаблон, включающий в себя верхнюю точку левого глаза, верхнюю точку правого глаза и, по меньшей мере, одну третью точку, расположенную на другой линии, параллельной линии, на которой расположены верхняя точка левого глаза и верхняя точка правого глаза.
Как показано на Фиг. 5, лицевой шаблон представляет собой прямоугольный шаблон, включающий в себя, по меньшей мере, три точки, причем каждая из точек представлена как (P, w, h). Здесь P - это двумерная координата точки, W - максимально допустимая поперечная протяженность вокруг точки, a h - максимально допустимая продольная протяженность вокруг точки. Как показано на Фиг. 5, верхняя точка левого глаза - это p0, верхняя точка правого глаза - это p1, а p2 - это третья точка. На Фиг. 5 точки, изображенные пунктирными линиями, обозначают возможные положения точки p2, когда p0 и p1 определены.
Как показано на Фиг. 6, в одном из вариантов осуществления изобретения характерный процесс этапа S108 состоит в следующем: перебирают центроиды и выполняют следующие этапы для каждого из центроидов.
Этап S118: Выполняют поиск второго центроида, расстояние от которого до верхней точки правого глаза меньше или равно четвертому пороговому значению, используя первый центроид в качестве верхней точки лицевого шаблона.
В частности, если второй центроид не может быть достигнут, это указывает на то, что лицевой шаблон не согласован. Если второй центроид может быть найден, то выполняют Этап S128. "Ширина" и "высота", показанные на Фиг. 7, это ширина и высота лицевого шаблона соответственно, а найденный второй центроид - это c1.
Этап S128: Выполняют поиск третьего центроида, расстояние от которого по вертикали до другой линии, параллельной линии, на которой расположены верхняя точка левого глаза и верхняя точка правого глаза, меньше или равно четвертому пороговому значению.
В частности, если третий центроид не может быть найден, это означает, что лицевой шаблон не согласован. Если третий центроид может быть найден, то выполняют Этап S138. Как показано на Фиг. 7, найденный третий центроид - это c2.
Этап S138: Вычисляют вероятность согласования на основании расстояния между вторым центроидом и верхней точкой правого глаза, расстояния по вертикали между третьим центроидом и упомянутой другой линией и кратчайшего расстояния между третьим центроидом и несколькими третьими точками.
В частности, в одном из вариантов осуществления изобретения первая вероятность может быть вычислена на основании расстояния между вторым центроидом и верхней точкой правого глаза после поиска второго центроида. Согласно Фиг. 7, первая вероятность может быть вычислена согласно следующей формуле:
s1=1-d1/пороговое значение.
В данной формуле s1 - это первая вероятность, d1 - это расстояние между вторым центроидом c1 и верхней точкой правого глаза, а "пороговое значение" - это четвертое пороговое значение.
После нахождения третьего центроида может быть вычислена вторая вероятность на основании расстояния по вертикали между третьим центроидом и упомянутой другой линией. Согласно Фиг. 7, вторая вероятность может быть вычислена согласно следующей формуле:
s2=1-d2/пороговое значение.
В данной формуле s2 - это вторая вероятность, d2 - это расстояние по вертикали между третьим центроидом c2 и упомянутой другой линией, называемой "линия 1", а "пороговое значение" - это четвертое пороговое значение.
После нахождения третьего центроида c2 могут быть вычислены расстояния между третьим центроидом c2 и всеми третьими точками лицевого шаблона с целью получения кратчайшего расстояния. Как показано ни Фиг. 7, кратчайшее расстояние - это расстояние d3 между третьим центроидом c2 и третьей точкой p4. Если d3 больше, чем соотношение ширина/5, это означает несовпадение лицевого шаблона. В противном случае, далее вычисляют третью вероятность на основании кратчайшего расстояния между третьим центроидом и третьими точками. В частности, для вычисления третьей вероятности может быть применена следующая формула:
s3=1-d3/(ширина/5).
В данной формуле s3 - это третья вероятность, d3 - это кратчайшее расстояние, а "ширина" - это ширина лицевого шаблона.
Далее вычисляют вероятность согласования на основании трех вычисленных вероятностей. В одном из вариантов осуществления изобретения вероятность согласования может быть вычислена согласно следующей формуле: p=3×s1+s2+s3.
Этап S148: Определяют, является ли вероятность согласования большей или равной предопределенному значению. Если да, то переходят к Этапу S158. В противном случае процесс завершают.
Например, для лицевого шаблона 250 рх×250 рх четвертое пороговое значение может быть установлено величиной 50 рх, а предопределенное значение равно 0,8.
Этап S158: Определяют область, образованную первым центроидом, вторым центроидом и третьим центроидом, в качестве вероятной лицевой области.
Как показано на Фиг. 7, область, образованная первым центроидом c0, найденным вторым центроидом c1 и найденным третьим центроидом c2, локализована в качестве вероятной лицевой области.
Следует отметить, что для поиска центроида могут быть использованы различные методики поиска. Например, может быть выполнен полный поиск. Это подразумевает выполнение вычисления с использованием каждого центроида в качестве верхней точки лицевого шаблона. Для повышения эффективности поиска также может быть использован частичный поиск, при котором пренебрегают некоторыми центроидами, не отвечающими условиям в процессе во время поиска, что ускоряет процесс поиска в целом. Например, очевидно, что центроид, окруженный темной областью большой площади, не является исходной позицией левого глаза; центроиды слишком большого размера в вертикальном или горизонтальном положении не могут существовать в области, смежной с центроидами пяти органов чувств; центроидами в области, близкой к границам лицевого шаблона, пренебрегают; центроидами, имеющими размер, приближающийся к размеру лицевого шаблона и расположенными овально или дугообразно, пренебрегают.
В одном из вариантов осуществления изобретения, после Этапа S108, дополнительно может быть выполнен отбор области на вероятных лицевых областях, конкретный процесс которого состоит в следующем: разбивают каждую из вероятных лицевых областей на заданное число ячеек, вычисляют пропорцию цвета кожи для каждой из данных ячеек и выбирают вероятную лицевую область, пропорция цвета кожи которой отвечает предустановленному пропорциональному распределению цвета кожи, в качестве окончательной лицевой области.
Ввиду того, что некоторые из вероятных лицевых областей могут не быть действительными лицевыми областями, выполнение отбора вероятных лицевых областей может дополнительно повысить точность детектирования лица. В одном из вариантов осуществления изобретения, как показано на Фиг. 8, лицевая область может быть разбита на 9 ячеек, и в каждой из ячеек вычисляют пропорции цвета кожи соответственно. Пропорция цвета кожи - это пропорция пикселей, имеющих цвет кожи, в ячейке по отношению ко всем пикселям в ячейке. Для распознавания пикселя, имеющего цвет кожи, может быть использован описанный выше способ распознавания цвета кожи, подробное описание которого здесь не приводится.
В частности, как показано на Фиг. 8, пропорции цвета кожи в ячейках - это p1~p9 соответственно, и установлены пороговые значения T3 и T4. Если пропорции цвета кожи отвечают следующим условиям, то вероятная лицевая область может быть определена в качестве окончательной лицевой области:
где значение T1 можно установить 0.5, и значение T2 можно установить 0.5.
После получения окончательной лицевой области можно дополнительно получить и вывести позицию окончательной лицевой области на изображении и размер окончательной лицевой области.
Как показано на Фиг. 9, в одном из вариантов осуществления изобретения система детектирования лица содержит модуль 10 предварительной обработки, модуль 20 выделения углов, модуль 30 фильтрации и комбинирования углов, модуль 40 выделения центроида и модуль определения вероятной лицевой области.
Модуль 10 предварительной обработки выполнен с возможностью выполнения предварительной обработки на изображении.
В частности, в одном из вариантов осуществления изобретения предварительная обработка изображения, выполняемая модулем 10 предварительной обработки, включает в себя, по меньшей мере, одно из корректировки уровня изображения, автоматической балансировки белого, нормализации и создания мозаичного изображения. Предварительная обработка изображения позволяет значительно сократить последующую вычислительную нагрузку и повысить эффективность идентификации.
Модуль 20 выделения углов выполнен с возможностью выделения углов из предварительно обработанного изображения.
Модуль 30 фильтрации и комбинирования углов выполнен с возможностью фильтрации и комбинирования углов для получения связной компоненты углов.
Модуль 40 выделения центроида выполнен с возможностью выделения центроидов из связной компоненты углов.
Модуль 50 определения вероятной лицевой области выполнен с возможностью выполнения проверки согласования между центроидом и лицевым шаблоном, вычисления вероятности согласования центроида с лицевым шаблоном и локализации области, образованной центроидами, вероятность согласования которых больше или равна предопределенному значению, в качестве вероятной лицевой области.
В данном варианте осуществления изобретения вероятностная модель такого лицевого шаблона позволяет осуществлять растягивание, сжатие и поворот без сбоев, что обеспечивает более точную проверку согласования лица, а также эффективность алгоритма. Таким образом, может быть повышена эффективность и точность детектирования лица.
В одном из вариантов осуществления изобретения модуль 20 выделения углов выполнен с возможностью вычисления разностей яркости между текущим пикселем и окружающими пикселями на основании предопределенного шаблона 3×3 и выделения пикселя, разность яркости которого больше или равна первому пороговому значению, в качестве угла. При этом шаблон 3×3 представляет собой область с центром в текущем пикселе, а также образованную пикселями слева, справа, сверху, снизу, слева вверху, справа вверху, слева внизу и справа внизу от текущего пикселя.
В одном из вариантов осуществления изобретения модуль 30 фильтрации и комбинирования углов выполнен с возможностью идентификации точек цвета кожи в предварительно обработанном изображении, отфильтровывания углов, не включающих в себя точку цвета кожи в предустановленном окружающем их диапазоне, выделения центра пересечения цветового пространства YcgCr и цветового пространства YcbCr в качестве центра цвета кожи и вычисления значений компонентов Cb, Cg и Cr углов и расстояний между значениями компонентов Cb, Cg и Cr углов и центром цвета кожи и отфильтровывания углов, расстояние от которых до центра цвета кожи превышает второе пороговое значение. В этом варианте осуществления изобретения угол, вокруг которого существует точка цвета кожи, сохраняют, а угол, более удаленный от точки цвета кожи, удаляют.
В одном из вариантов осуществления изобретения после отфильтровывания углов может быть получено бинарное изображение углов. Однако, степень подчинения, связанного с выделением, слишком велика, и выполнение проверки согласования лицевого шаблона непосредственно на основе бинарного изображения углов будет приводить к большому объему вычислений. Ввиду локального сосредоточения многих углов смежные углы могут быть скомбинированы для сокращения последующей вычислительной нагрузки.
В частности, модуль 30 фильтрации и комбинирования углов выполнен с возможностью предопределения функции расстояния. Если расстояние между смежными углами удовлетворяет предустановленному условию, то углы комбинируют. Для комбинирования смежных углов могут быть использованы обычный алгоритм маркировки пикселей, алгоритм последовательного кодирования взаимосвязи и алгоритм наращивания области, подробное описание которых повторно может не приводиться. После комбинирования углов получают связную компоненту группы углов.
В одном из вариантов осуществления изобретения, как показано на Фиг. 10, модуль 40 выделения центроида содержит блок 410 выбора связной компоненты, блок 420 выделения центроида и блок 430 удаления центроида.
Блок 410 выбора связной компоненты выполнен с возможностью выбора связной компоненты, площадь которой больше или равна третьему пороговому значению и/или соотношение сторон которой лежит в пределах предустановленного диапазона.
Блок 420 выделения центроида выполнен с возможностью выделения центра отобранной связной компоненты в качестве центроида.
Блок 430 удаления центроида выполнен с возможностью вычисления направления выделенных центроидов и удаления центроида в направлении, перпендикулярность которого находится в пределах заданного диапазона перпендикулярности.
В частности, центроид представляет собой вектор, направление которого связано с его позицией в изображении. Направление центроида отражает актуальную информацию о границе области, в которой расположен центроид. Затем, в блоке 430 удаления центроида может быть использован традиционный оператор Собеля (т.е., оператор выделения границы) для вычисления направления центроида. Центроид в направлении, перпендикулярность которого лежит в пределах заданного диапазона перпендикулярности, удаляют. То есть, центроид в близком к вертикальному направлению представляет собой центроид, выделенный из вертикальной границы, который может быть удален.
В одном из вариантов осуществления изобретения лицевой шаблон представляет собой прямоугольный шаблон, включающий в себя верхнюю точку левого глаза, верхнюю точку правого глаза и, по меньшей мере, одну третью точку, расположенную на другой линии, параллельной линии, на которой расположены верхняя точка левого глаза и верхняя точка правого глаза.
Как показано на Фиг. 11, модуль 50 определения вероятной лицевой области содержит блок 510 поиска, блок 520 вычисления вероятности согласования и блок 530 локализации области.
Блок 510 поиска выполнен с возможностью поиска второго центроида, расстояние от которого до верхней точки правого глаза меньше или равно четвертому пороговому значению, используя первый центроид в качестве верхней точки лицевого шаблона. Блок 510 поиска дополнительно выполнен с возможностью поиска третьего центроида, расстояние от которого по вертикали до другой линии, параллельной линии верхней точки левого глаза и верхней точки правого глаза, меньше или равно четвертому пороговому значению.
Блок 520 вычисления вероятности согласования выполнен с возможностью вычисления вероятности согласования на основании расстояния между вторым центроидом и верхней точкой правого глаза, расстояния по вертикали между третьим центроидом и упомянутой другой линией и кратчайшего расстояния между третьим центроидом и третьей точкой.
Блок 530 локализации области выполнен с возможностью определения того, является ли вероятность согласования большей или равной предопределенному значению, и локализации области, образованной первым центроидом, вторым центроидом и третьим центроидом, в качестве вероятной лицевой области, если вероятность согласования больше или равна предопределенному значению.
В одном из вариантов осуществления изобретения для поиска центроида можно использовать различные методы поиска. Например, может быть выполнен полный поиск, что подразумевает выполнение вычисления с использованием каждого центроида в качестве верхней точки лицевого шаблона. Для повышения эффективности поиска также может быть использован частичный поиск, то есть, пренебрегают некоторыми центроидами, не отвечающими условиям в процессе поиска, что ускоряет процесс поиска в целом. Например, очевидно, что центроиды, окруженные темной областью большой площади, не являются исходной позицией левого глаза; центроиды слишком большого размера в вертикальном или горизонтальном положении не могут существовать в области, смежной с центроидами пяти органов чувств; центроидами в области, близлежащей к границам лицевого шаблона, пренебрегают; центроидами, имеющими размер, приближающийся к размерам лицевого шаблона и расположенными овально или дугообразно, пренебрегают.
Как показано на Фиг. 12, в другом варианте осуществления изобретения система детектирования лица дополнительно содержит модуль 60 выбора области.
Модуль 60 выбора области выполнен с возможностью разбивки вероятных лицевых областей на заданное число ячеек, вычисления пропорции цвета кожи для каждой из данных ячеек и выбора вероятной лицевой области, пропорциях цвета кожи которой отвечает предустановленному пропорциональному распределению цвета кожи, в качестве окончательной лицевой области.
Ввиду того, что некоторые из вероятных лицевых областей могут не быть действительными лицевыми областями, выполнение отбора вероятных лицевых областей может дополнительно повысить точность детектирования лица. В одном из вариантов осуществления изобретения, как показано на Фиг. 8, лицевая область может быть разбита на 9 ячеек и в каждой из ячеек вычисляют пропорции цвета кожи соответственно. Пропорция цвета кожи - это пропорция пикселей, имеющих цвет кожи, в ячейке по отношению ко всем пикселям в ячейке. Для распознавания пикселя, имеющего цвет кожи, может быть использован описанный выше способ распознавания цвета кожи, подробное описание которого здесь и далее не приводится.
После получения окончательной лицевой области модуль 60 выбора области дополнительно выполнен с возможностью получения и вывода позиции окончательной лицевой области на изображении и размера окончательной лицевой области.
Следует отметить, что раскрытые выше способ и система детектирования лица могут быть использованы во множестве приложений распознавания лиц. По сравнению с традиционными алгоритмами детектирования, раскрытые выше способ и система детектирования лица позволяют более точно маркировать область лица и могут быть реализованы более эффективно, что позволяет адаптироваться к большим объемам обрабатываемых данных.
Кроме того, настоящее изобретение дополнительно обеспечивает один или более компьютерный носитель данных, содержащий исполняемые компьютером команды для выполнения способа детектирования лица. Конкретные этапы способа детектирования лица, реализуемого исполняемыми компьютером командами, содержащимися на компьютерном носителе данных, раскрыты выше, и их подробное описание далее не приводится.
Несмотря на то, что подробно были раскрыты несколько вариантов осуществления настоящего изобретения, их не следует рассматривать как ограничивающие объем патентной защиты настоящего изобретения. Следует отметить, что специалистами в данной области техники без отступления от принципов настоящего изобретения могут быть выполнены различные модификации и улучшения, которые также входят в объем патентной защиты настоящего изобретения. Таким образом, объем патентной защиты настоящего изобретения определяется прилагаемой формулой изобретения.