Способ устранения эффекта красных глаз на цифровых цветных изображениях для пары глаз
Иллюстрации
Показать всеИзобретение относится к области электротехники, в частности к способу обработки изображений с целью коррекции эффекта красных глаз на цифровых изображениях. Техническим результатом изобретения является разработка полуавтоматического или полностью автоматического способа устранения эффекта красных глаз, учитывающего различия в оттенках глаз при коррекции без использования опыта оператора. Способ предусматривает определение области, относящейся к красному глазу, его ориентацию, выявление наличия второго глаза на лице фотографируемого субъекта, причем если второй глаз не обнаружен, то корректируют цвет зрачка первого глаза и способ завершается, затем далее определяют цвет зрачка второго обнаруженного глаза, корректируют цвет зрачка первого глаза, заменяя цвет красных точек на цвет зрачка второго глаза, если цвет зрачка второго глаза не является красным, либо корректируют цвет зрачков обоих глаз, заменяя цвет красных точек на одинаковый темный цвет, если цвет зрачка второго глаза является красным. При этом область, относящуюся к красному глазу, определяют автоматически, записывают в массив меток метку цвета, для каждой точки изображения фильтруя четырьмя направленными фильтрами обнаружения границ, определяют связные области точек и вычисляют фиксированные признаки на основании которых классифицируют связные области точек на области красных глаз и ложные области. 4 з.п. ф-лы, 5 ил.
Реферат
Изобретение относится к области обработки изображений, в частности относится к методам коррекции эффекта красных глаз на цифровых изображениях.
Большое количество любительских фотографий повреждено так называемым эффектом красных глаз, который часто возникает при фотографировании со вспышкой. Этот эффект значительно ухудшает впечатление от фотографии.
В настоящее время существует множество различных автоматических и ручных способов устранения эффекта красных глаз на изображении. Известны полностью автоматические способы, позволяющие отыскать и устранить данный эффект на изображении. Известны полуавтоматические, позволяющие устранить эффект по указанию области на изображении, где следует выполнять обработку. Известны и полностью ручные, которые могут только ретушировать эффект по указанной области красного пятна. Все они решают задачу устранения эффекта в различной степени и дают различное качество результата.
На Фиг.1 и Фиг.2 приведены результаты действия в полуавтоматическом режиме программ Adobe Photoshop (см. http://www.ADOBE.ru [1]) и HP Image Zone (см. http://welcome.hp.com [2]), по устранению эффекта на изображении, в котором красные глаза человека имеют различный оттенок. Обе программы устранили эффект, но в результате глаза человека на изображении получились различными, что выглядит неестественно. Такой результат коррекции не может считаться удовлетворительным. Аналогичная проблема возникает, когда на изображении у человека только один глаз поврежден эффектом красных глаз, а второй не изменился. В этом случае результаты коррекции часто также выглядят неестественно и ухудшают визуальное восприятие.
Ручное устранение эффекта позволяет достичь лучшего качества результата, однако требует указания/выбора дополнительных параметров и длительных действий опытного оператора.
Известны патенты, описывающие полуавтоматические способы коррекции эффекта красных глаз (см., например, патенты США 5,130,789 [3] и 6,728,401 [4], а также выложенную заявку США 2003/0007687 [5]). Известны способы полностью автоматической коррекции изображения (см. патент США 6,873,743 [6], а также выложенные заявки США 2003/0202105 [7] и 2004/0046878 [8]).
Во всех перечисленных способах каждый красный глаз рассматривается отдельно и независимо от второго глаза на лице, что в ряде случаев не позволяет корректировать оба глаза единообразно.
В выложенных заявках США 2005/0047655 [11], 2005/0232490 [12], 2005/0196067 [13], а также в патенте США 6,252,976 [14] свойство парности глаз учитывают при обнаружении красных глаз для уменьшения количества ложных обнаружений, но различия в оттенках глаз не учитываются при коррекции.
Авторам не известны способы коррекции красных глаз, в которых при коррекции учитывался бы оттенок второго глаза, причем как поврежденного эффектом красных глаз, так и неповрежденного. Таким образом, данное изобретение не имеет прототипов.
Известные в настоящее время автоматические/полуавтоматические способы устранения эффекта красных глаз обрабатывают каждый глаз по отдельности и не учитывают, что пара глаз после устранения эффекта должна выглядеть единообразно. В источниках [11]-[14] свойство парности глаз учитывают при обнаружении красных глаз для уменьшения количества ложных обнаружений, но различия в оттенках глаз не учитываются при коррекции. В настоящее время не существует автоматических способов, которые обнаруживали бы абсолютно все возможные разновидности проявления эффекта красных глаз.
В ручных способах коррекции можно добиться единообразия в скорректированных глазах, но, как уже ране упоминалось, это требует значительного времени и опыта оператора.
Задача, на решение которой направлено заявляемое изобретение, состоит в том, чтобы разработать способ полуавтоматического (с участием оператора) или полностью автоматического устранения эффекта красных глаз, который эффективно и единообразно корректировал бы оба глаза на лице субъекта. При этом выдвигается требование такой коррекции глаз, так чтобы они выглядели единообразно в случаях, когда оба глаза на лице повреждены эффектом красных глаз или поврежден только один глаз. Кроме того, желательно, чтобы оба глаза корректировались одновременно за одну операцию, чтобы уменьшить время, необходимое для коррекции изображения.
Технический результат достигается за счет разработки способа коррекции эффекта красных глаз на цифровых цветных изображениях для пары глаз, включающего выполнение следующих этапов:
- определяют область, относящуюся к красному глазу;
- определяют ориентацию обнаруженного глаза;
- выявляют наличие второго глаза на лице фотографируемого субъекта, причем если второй глаз не обнаружен, то корректируют цвет зрачка первого глаза и способ завершается;
- определяют цвет зрачка второго обнаруженного глаза;
- корректируют цвет зрачка первого глаза, заменяя цвет красных точек цветом зрачка второго глаза, если цвет зрачка второго глаза не является красным, либо корректируют цвет зрачков обоих глаз, заменяя цвет красных точек одинаково темным цветом, если цвет зрачка второго глаза является красным.
Для ускоренного функционирования заявляемого способа целесообразно в ряде случаев прибегать к услугам операторов, осуществляющих субъективную оценку изображения, при этом область, относящуюся к красному глазу, определяют в районе точки, указанной оператором.
В случае полной автоматизации процесса, область, относящуюся к красному глазу, определяют автоматически на всем изображении, используя следующую последовательность действий:
- для каждой точки изображения записывают в массив меток метку цвета, если цвет точки является цветом, типичным для красных глаз, и не является цветом, типичным для кожи человека;
- фильтруют однокомпонентное изображение, точки которого получают как функцию яркости и интенсивности компонент точек исходного цветного изображения, по меньшей мере, четырьмя ориентированными через равные углы направленными фильтрами для обнаружения границ, характерных для границ красных глаз, при этом для каждой точки изображения определяют максимальный результат фильтрации;
- для каждой точки изображения записывают в массив меток метку границы в случае, если максимальный результат фильтрации в этой точке больше порогового значения, а также записывают в массив меток номер фильтра, результат воздействия которого максимален;
- по массиву меток определяют связные области точек, для которых записана метка цвета или метка границы;
- для каждой связной области точек с учетом окрестности вычисляют фиксированный ряд признаков;
- на основе признаков классифицируют связные области точек на области красных глаз и ложные области.
При осуществлении полностью автоматизированного процесса целесообразно, чтобы массив меток, содержащий метки цветов, типичных для красных глаз и кожи человека, задавали аналитическими функциями, причем данные массивы, выступающие в виде математических множеств, могут пересекаться.
В альтернативном варианте полностью автоматизированного процесса массив меток, содержащий метки цветов, типичных для красных глаз и кожи человека, задают таблично, причем данные массивы, выступающие в виде математических множеств, могут пересекаться.
Для оптимального функционирования заявляемого способа предпочтительно, чтобы в качестве направленных фильтров для обнаружения границ использовали отношения сумм точек соседних равного размера прямоугольных фрагментов.
Для оптимального функционирования заявляемого способа важно, чтобы при сравнении результатов фильтрации с пороговым значением данное пороговое значение увеличивали, если цвет точки является цветом, типичным для кожи человека, и уменьшали, если цвет точки является цветом, типичным для красных глаз.
Далее существо заявляемого изобретения поясняется с привлечением графических материалов.
Фиг.1. Результат коррекции по программе Adobe Photoshop.
Фиг.2. Результат коррекции по программе HP Image Zone.
Фиг.3. Схема основных компонентов системы.
Фиг.4. Блок-схема способа.
Фиг.5. Результат коррекции заявляемым способом.
Фиг.3 показывает основные компоненты системы, на которой данный способ может быть реализован. Работа способа управляется процессором 301, который выполняет программный код, хранящийся в памяти 302. Также в памяти 302 хранится исходное цветное цифровое изображение. Изображение демонстрируется на устройстве 303 отображения, и оператор с помощью устройства 304 ввода указывает на область изображения, содержащую красный глаз. Изображение анализируют и корректируют. Результат коррекции передают на устройство 303 отображения и на устройство 305 печати. Передача информации в системе осуществляется по шине 306 данных.
На Фиг.4 приведена блок-схема этапов работы способа. На шаге 401 определяют связную область точек, относящуюся к красному глазу. В полуавтоматическом режиме обнаружение области осуществляют около точки, указанной оператором. Указание оператором точки позволяет сузить объем поиска и уменьшить количество ложных обнаружений. Для обнаружения сначала помечают все точки, цвет которых характерен для красных глаз. Множество цветов, характерных для красных глаз, задают в виде трехмерной таблицы или в виде семейства аналитических функций, ограничивающих данное множество. Затем для помеченных точек находят связные области. Все найденные связные области классифицируют с помощью алгоритма Gentle AdaBoost, который основан на взвешенном голосовании комитета простых классификаторов (см. J.Friedman, T.Hastie, R.Tibshirani. Additive logistic regression: A statistical view of boosting. The Annals of Statistics, 38 (2): 337-374, April 2000 [15]). Результатом классификации является присвоение каждой связной области веса, который можно рассматривать как степень уверенности классификатора в том, что область является областью красного глаза. Находят связную область с весом. Если этот вес больше порога T, то считают, что красный глаз обнаружен, в противном случае красный глаз не обнаружен, и работу, т.е. применение заявляемого способа, считают завершенной.
Обнаружение красного глаза может быть также осуществлено и без указания оператора, т.е. полностью автоматически. Одним из предпочтительных способов автоматического обнаружения является следующий:
- для каждой точки изображения записывают в массив меток метку цвета, если цвет точки является цветом, типичным для красных глаз и не является цветом, типичным для кожи человека;
- фильтруют однокомпонентное изображение, точки которого получают как функцию яркости и интенсивности компонент точек исходного цветного изображения, по меньшей мере, четырьмя ориентированными через равные углы направленными фильтрами для обнаружения границ, характерных для границ красных глаз, при этом для каждой точки изображения определяют максимальный результат фильтрации;
- для каждой точки изображения записывают в массив меток метку границы, если максимальный результат фильтрации в этой точке больше порогового значения, а также записывают в массив меток номер фильтра, результат работы которого максимален;
- по массиву меток определяют связные области точек, для которых записана метка цвета или метка границы;
- для каждой связной области точек с учетом окрестности вычисляют ряд признаков;
- на основе признаков классифицируют связные области точек на области красных глаз и ложные области.
Множества цветов типичных для красных глаз и кожи человека задают таблично, причем данные множества могут пересекаться. Множества цветов типичных для красных глаз и кожи человека могут также задаваться несколькими аналитическими функциями (см., например, G.Gomez, E.Morales, Automatic feature construction and a simple rule induction algorithm for skin detection, proc. of the ICML Workshop on Machine Learning in Computer Vision, pp.31-38, 2002 [16]), причем данные множества могут пересекаться. В качестве направленных фильтров для обнаружения границ используют отношения сумм точек соседних равного размера прямоугольных фрагментов. При сравнении результатов фильтрации с пороговым значением данное пороговое значение увеличивается, если цвет точки является цветом типичным для кожи человека и уменьшается, если цвет точки является цветом типичным для красных глаз.
На шаге 402 определяют ориентацию обнаруженного красного глаза. Данный шаг необходим, так как существующие способы поиска глаз являются чувствительными к повороту глаза в плоскости изображения. Рассмотрим способ определения ориентации. Пусть (х0, y0) - координаты левого верхнего угла прямоугольника, описывающего связную область красного глаза, а (х1, y1) - координаты правого нижнего угла. Тогда W=Мах (х1-х0, y1-y0). Из обрабатываемого изображения извлекается прямоугольный фрагмент и преобразуется в полутоновое (черно-белое) изображение Y, где (x0-2W, y0-2W) и (x1+2W, y1+2W) координаты левого верхнего и правого нижнего углов фрагмента в исходном изображении. Изображение Y фильтруют фильтром Лапласиан Гауссиана (Laplassian of Gaussian) и определяют точки пересечения нулевого уровня (zero-crossing), как описано в литературе по обработке изображений (см. R.C.Gonzalez, R.E.Woods, Digital Image Processing, 2nd edition, Prentice-Hall, 2002 [17]). Далее для точек пересечения нулевого уровня определяют связные области. Для связной области Ω определяют ориентацию О с помощью следующих соотношений:
или
Полагают, что глаз имеет ориентацию среднюю из ориентации 4-х областей с наибольшей площадью.
На шаге 403 слева и справа от обнаруженного красного глаза и на расстоянии от 5W до 15W с учетом ориентации обнаруживают второй глаз лица. Способ поиска глаз известен, например, из Peng Wang and Qiang Ji, "Learning Discriminant Features for Multi-View Face and Eye Detection", IEEE International Conference on Computer Vision and Pattern Recognition (CVPR), San Diego, CA, 2005 [18].
Условие 404 проверяет, был ли обнаружен второй глаз. Если второй глаз не был обнаружен, то на шаге 409 производят коррекцию первого красного глаза и операции заявляемого способа завершают. Коррекция заключается в замене красных точек зрачка глаза темным оттенком серого.
Если второй глаз был обнаружен, то на шаге 405 определяют цвет зрачка второго глаза. Если цвет зрачка второго глаза красный (условие 406), то на шаге 407 единообразно корректируются оба красных глаза. Коррекция заключается в замене красных точек зрачков глаз темным оттенком серого. Если цвет зрачка второго глаза не красный (условие 406), то на шаге 408 корректируют первый красный глаз, заменяя красные точки зрачка на цвет зрачка второго глаза.
На Фиг.5 приведен результат коррекции эффекта красных глаз данным способом.
Следует отметить, что свойство парности ранее не использовалось для коррекции эффекта, а только для обнаружения красных глаз на изображении с целью снижения количества ложных обнаружений.
Заявляемый способ предназначен для реализации в различных устройствах, регистрирующих, отображающих или печатающих фотографии, или в программном обеспечении для редактирования и обработки изображений.
1. Способ коррекции эффекта красных глаз на цифровых цветных изображениях для пары глаз, включающий выполнение следующих этапов:
определяют область и ее ориентацию в плоскости изображения, относящуюся к обнаруженному красному глазу;
выявляют наличие второго глаза на лице фотографируемого субъекта, причем если второй глаз не обнаружен, то корректируют цвет зрачка первого глаза и способ завершается;
определяют цвет зрачка второго обнаруженного глаза;
корректируют цвет зрачка первого глаза, заменяя цвет красных точек цветом зрачка второго глаза, если цвет зрачка второго глаза не является красным, либо корректируют цвет зрачков обоих глаз, заменяя цвет красных точек одинаковым темным цветом, если цвет зрачка второго глаза является красным, при этом область, относящуюся к красному глазу, определяют автоматически на всем изображении, используя следующую последовательность действий:
для каждой точки изображения записывают в массив меток метку цвета, если цвет точки является цветом, типичным для красных глаз, и не является цветом, типичным для кожи человека;
фильтруют однокомпонентное изображение, точки которого получают как функцию яркости и интенсивности компонент точек исходного цветного изображения, по меньшей мере, четырьмя ориентированными через равные углы направленными фильтрами для обнаружения границ, характерных для границ красных глаз, при этом для каждой точки изображения определяют максимальный результат фильтрации,
для каждой точки изображения записывают в массив меток метку границы в случае, если максимальный результат фильтрации в этой точке больше порогового значения, а также записывают в массив меток номер фильтра, результат воздействия которого максимален;
по массиву меток определяют связные области точек, для которых записана метка цвета или метка границы;
для каждой связной области точек с учетом окрестности вычисляют фиксированный ряд признаков;
на основе признаков классифицируют связные области точек на области красных глаз и ложные области.
2. Способ по п.1, отличающийся тем, что массив меток, содержащий метки цветов, типичных для красных глаз и кожи человека, задают аналитическими функциями, причем данные массивы могут пересекаться.
3. Способ по п.1, отличающийся тем, что массив меток, содержащий метки цветов, типичных для красных глаз и кожи человека, задают таблично, причем данные массивы могут пересекаться.
4. Способ по п.1, отличающийся тем, что в качестве направленных фильтров для обнаружения границ используют отношения сумм точек соседних равного размера прямоугольных фрагментов.
5. Способ по п.1, отличающийся тем, что при сравнении результатов фильтрации с пороговым значением данное пороговое значение увеличивают, если цвет точки является цветом, типичным для кожи человека, и уменьшают, если цвет точки является цветом, типичным для красных глаз.