Область техники, к которой относится изобретение
Варианты осуществления изобретения относятся к способу и системе для определения цвета образца цвета из изображения образца цвета.
Уровень техники
При выборе цвета краски для косметического ремонта комнаты часто бывает так, что заказчик желает подобрать цвет краски к цвету конкретного предмета, содержащегося в комнате, такого как предмет мебели, или декоративной ткани, такого как диванные подушки, диваны, шторы и т.п. Изготовители краски обычно предоставляют большие цветовые палитры, и подробные цветовые изображения предоставляются у розничных продавцов краски, чтобы заказчики имели возможность выбора цвета. Карты образцов цвета доступны для того, чтобы пользователь взял их домой и подобрал к предмету, к которому должен быть подобран цвет. Однако обычно для этого необходимо посещение заказчиком розничного магазина красок, сбора карт цветов, взятие карт цветов домой и затем попытка сравнить образцы цвета на картах цветов с подбираемым цветом предмета. Заказчик затем должен вернуть магазину, обычно купить цветовые пробники краски, возвратиться домой, использовать цветовые пробники краски и затем, наконец, принять решение о покупке. Кроме того, такие обычные методы основываются на восприятии индивидуального заказчика в отношении того, какой является наиболее сочетающимся цветом краски. Однако хорошо известно, что восприятие цветов существенно изменяется от человека к человеку, так что цвет, сочетающийся с образцом, выбранным одним человеком, не будет казаться сочетающимся цветом для другого человека.
Одним потенциальным решением данной проблемы является попытка подбора цветов электронным образом, используя цифровое изображение. В этом отношении в настоящее время домашние пользователи обычно имеют в своем распоряжении многочисленные цифровые устройства захвата (съемки) изображения в виде цифровых камер или оснащенных камерой мобильных телефонов.
Однако характеристики захвата цвета обычных бытовых устройств захвата изображения, таких как цифровые камеры, мобильные телефоны или т.п., значительно изменяются от устройства к устройству и, следовательно, обычно невозможен очный захват цвета. Доступны специальные устройства спектрофотометров, которые могут точно измерять цвет, но они не по средствам для большинства домашних заказчиков. Обычные бытовые устройства съемки изображения выполняют съемку изображения и представляют цвет, используя значения RGB (красный, зеленый, синий) пикселей. Обычно используется 16 битов или 24 бита RGB. Когда используются значения с 16 битами, каждый из красного и синего каналов обычно имеет пять битов, ассоциированных с ними, тогда как зеленый канал имеет шесть битов, ассоциированных с ним. В этом отношении глаз человека является более чувствительным к зеленым цветам, чем к красным и синим цветам, и, следовательно, обнаруживается большее количество зеленых цветов. Когда используется 24-битовый цвет, тогда он равен восьми битам, или 256 цветам, на цветовой канал.
Однако из-за вышеотмеченных различий в устройствах съемки изображения при точном захвате цвета и также в устройствах воспроизведения изображения, таких как мониторы и т.п., при воспроизведении цветов RGB-значения цвета не рассматриваются в качестве эталонных значений. Вместо этого имеются фиксированные эталоны, определяющие цвета, составленные Международной комиссией по освещению (CIE), такие как координаты X, Y, Z цвета CIE или так называемые значения CIELAB (L*, a*, b*). Значения CIELAB связаны с координатами X, Y, Z цвета, используя известную математическую формулу. XYZ-координаты цвета сами связаны с длинами волн, присутствующими в конкретном цвете.
Предшествующий уровень техники
Вопрос калибровки устройства съемки изображения посредством связывания RGB-значений, полученных при съемке, с эталонными значениями, такими как XYZ-координаты цвета, или значения CIELAB, был ранее предложен в US 5150199 и WO 01/25737.
Более конкретно, US 5150199 (Megatronics, Inc.) описывает способ для преобразования или корреляции числовых RGB-значений, созданных разными приборами, в эталонные координаты цвета. В этом отношении используется итерационный регрессионный анализ для определения исходных функций, которые преобразуют RGB-значения, сгенерированные видеокамерой, из исходных цветов в эталонные XYZ-координаты цвета. Затем используется регрессионный анализ для определения дополнительных функций, которые преобразуют RGB-значения, сгенерированные видеокамерой, представляющей дополнительные цвета отличными от исходных цветов, в эталонные XYZ-значения. Функции, сгенерированные для видеокамеры, затем используются для преобразования RGB-значений, сгенерированных видеокамерой при формировании изображения цветного объекта, в эталонные XYZ-значения.
Более конкретно, в US 5150199 как RGB-значения, так и XYZ-значения определяются из набора образцов цвета. RGB-значения определяются с использованием обычной видеокамеры и оцифровывающего оборудования, способного обнаруживать и записывать числовые значения для RGB-составляющих каждого цвета. XYZ-значения образцов цвета определяются посредством использования обычного колориметра или спектрофотометра.
Выполнив захват этих данных, в качестве первого этапа в анализе, итерационный регрессионный анализ выполняется для нахождения X в качестве функции R, Y в качестве функции G и Z в качестве функции B. Этот регрессионный анализ использует так называемые значения «серой шкалы» в образцах цвета, где R-, G- и B-значения приблизительно равны. Результирующими функциями являются степенные функции. После этого на этапе 2 выполняется многомерный анализ степенных функций, определяя функции, которые связывают каждый из X, Y и Z индивидуально со всеми из R, G и B. В US 5150199 также описывается другой метод, который адаптирует Y функцию в качестве функции насыщенности красного цвета, хотя он не является уместным в данном документе.
Таким образом, US 5150199 описывает базовый метод для характеризации передаточной функции захвата цвета устройства захвата изображения, чтобы RGB-значения, захваченные устройством, преобразовывать в XYZ-координаты цвета. Однако, как отмечается, чтобы использовать устройство по US 5150199 для определения характеристик захватываемого изображения, пользователь должен иметь доступ к колориметру или спектрофотометру для измерения цвета образцов цвета, изображение которых также формируются характеризуемым устройством захвата изображения. Обычно при сценарии использования, представленном в общих чертах выше в разделе уровня техники, пользователь не имеет доступа к специальному оборудованию, такому как колориметр или спектрофотометр. Следовательно, способ по US 5150199 является преимущественно экспериментальным.
Однако WO 01/25737 частично преодолевает эти недостатки US 5150199. WO 01/25737 также описывает согласование захваченных RGB-значений с эталонными колориметрическими данными и, в частности, согласование с значениями CIELAB. Математический анализ, описанный в WO 01/25737, по существу, является таким же, что и описанный в US 5150199, хотя WO 01/25737 вводит принцип шаблона калибровки известных цветов, колориметрические данные для которых известны. Затем формируется изображение измеряемого неизвестного цвета одновременно с шаблоном калибровки. Шаблон калибровки содержит в одном примере 65 известных цветов и в другом примере 37 известных цветов, распределенных по цветовому пространству. Посредством захвата RGB-значений цветов калибровки можно вычислить математическую модель, необходимую для того, чтобы преобразовать измеренные сигналы известных цветов в колориметрические данные (например, значения CIELab). Если данная модель получена, тогда цвета (в цветовом пространстве CIELab) любых неизвестных цветов в изображении могут определяться из его RGB-значений.
WO 01/25737 описывает, что изображение образца цвета, подлежащего определению, захватывается одновременно с изображением шаблона калибровки, используя, например, планшетный сканер или цифровую камеру. Захваченное изображение затем обрабатывается для определения неизвестных цветов в изображении. Устройство описывается как особенно полезное в отрасли ремонта автомобилей. В этом отношении цвет автомобиля, подлежащего ремонту, измеряется с использованием электронного устройства формирования изображения. Перед этим или одновременно выполняется запись панели, на которой были нанесены разные цвета калибровки. Колориметрические данные цвета автомобиля затем вычисляются, и затем находится цветовая формула, которая дает цвет, идентичный цвету автомобиля, подлежащего ремонту. Цветовая формула подготавливается в дозирующем устройстве и затем применяется.
Поэтому WO 01/25737 описывает устройство, подлежащее использованию в профессиональных ситуациях, таких как при ремонте автомобилей или в малярных цехах. По существу, WO 01/25737 совсем не рассматривает проблемы, относящиеся к вопросам, где освещение меняется по захватываемому изображению, где изображение не находится в правильной ориентации или где образец цвета фактически содержит другие цвета, пространственно смешанные по образцу. И наоборот, в домашней ситуации могут иметь место все из этих аномальных ситуаций.
Другой предшествующий уровень техники для изобретения включает в себя WO 02/13136, WO 2008/108763 и WO 2004/028144.
Краткое изложение примеров изобретения
Варианты осуществления изобретения направлены на решение некоторых из вышеотмеченных вопросов и относятся к определению цвета образца цвета из изображения образца цвета, причем съемка изображения обычно (хотя не исключительно) выполняется неквалифицированным пользователем, использующим неспециальное оборудование. В одном варианте осуществления обеспечивается карта захвата образца цвета, имеющая отпечатанные на ней образцы цвета известного цвета (например, XYZ-координаты цвета). Изображение испытываемого образца цвета затем захватывается с использованием имеющегося дома оборудования, такого как бытовая цифровая камера или оснащенный камерой мобильный телефон, причем изображение также содержит карту захвата образца цвета. В одном варианте осуществления изображение затем передается удаленной службе определения цвета для определения цвета образца цвета. Регрессионный анализ выполняется с использованием образцов RGB-цвета в изображении и известные его XYZ-цвета для характеризации отклика захвата цвета устройства захвата изображения. На основе характеризации устройства захвата изображения XYZ-цвет образца неизвестного цвета может быть определен из его RGB-цвета в изображении. В одном варианте осуществления, зная XYZ-цвет, цвет затем может быть точно подобран по палитре цветов краски для определения цвета краски для соответствия неизвестному цвету. Кроме того, могут идентифицироваться дополнительные цвета в палитре краски.
При выполнении вышеописанного в одном варианте осуществления могут учитываться различия в пространственной яркости по изображению. В другом варианте осуществления ошибки размещения карты в изображении также корректируются перед обработкой, используя устранение наклона изображения и вращательные преобразования. В другом варианте осуществления XYZ-цвет вычисляется за два прохода, используя информацию из первого прохода для информирования второго прохода. В еще одном варианте осуществления, где образец цвета фактически содержит более одного цвета, определяются индивидуальные цвета, используя методы кластеризации, для идентификации преобладающих цветов в образце.
С учетом вышеописанного первый аспект изобретения обеспечивает способ, содержащий прием первых данных изображения, относящихся к неизвестному образцу цвета, колориметрические данные для которого должны быть определены; и прием вторых данных изображения, относящихся к множеству известных образцов цвета калибровки, колориметрические данные для которых уже известны. Затем определяется множество характеристик калибровки цвета, связывающих измерения цвета известных образцов цвета калибровки из вторых данных изображения с соответствующими известными колориметрическими данными образцов цвета калибровки; и колориметрические данные неизвестного образца цвета вычисляются в зависимости от их измерений цвета из первых данных изображения и определенных характеристик калибровки цвета. Кроме того, также могут компенсироваться различия яркости по набору известных образцов цвета калибровки. Это позволяет захватывать данные изображения в условиях неконтролируемого освещения, где может быть неровное освещение по изображению. Это делает возможным легкое использование для конечного пользователя.
В данном варианте осуществления компенсация может содержать определение первого набора одной или нескольких функций, имеющих первый набор коэффициентов калибровки, причем одна или несколько функций связывают измеренные цвета известных образцов цвета калибровки из вторых данных изображения с известными колориметрическими данными образцов цвета калибровки и известным положением каждого известного образца в изображении. Определенные функции затем анализируются для нахождения второго набора функций, имеющих второй набор коэффициентов калибровки. Первый и второй наборы функций и коэффициентов калибровки затем используются при вычислении колориметрических данных неизвестного образца цвета.
В данном варианте осуществления анализ может содержать вычисление промежуточных значений цвета для, по существу, каждого известного образца цвета калибровки и затем использование вычисленных промежуточных значений цвета для определения второго набора функций, имеющих второй набор коэффициентов калибровки.
Более конкретно, вычисленные промежуточные значения цвета подвергаются многомерной подгонке для определения второго набора функций, имеющих второй набор коэффициентов калибровки. Предпочтительно, что многомерная подгонка имеет форму:
Кроме того, более предпочтительно, компенсация яркости дополнительно содержит перед определением первого набора функций определение предшествующего набора функций, имеющих предшествующий набор коэффициентов калибровки, которые связывают измеренные цвета известных образцов цвета калибровки из вторых данных изображения с известными колориметрическими данными образцов цвета калибровки без учета положения известных образцов цвета. Предшествующий набор коэффициентов калибровки затем используется в качестве части первого набора коэффициентов калибровки при определении первого набора одной или нескольких функций. В одном варианте осуществления предпочтительно находят предшествующий набор коэффициентов калибровки, используя только образцы серой шкалы.
В одном варианте осуществления определенные колориметрические данные неизвестного образца цвета затем могут сопоставляться с цветовой палитрой цветов краски для идентификации подобранного (согласующегося) цвета краски, и информации, относящейся к согласующемуся цвету краски, представляемой пользователю.
В одном варианте осуществления первые данные изображения и вторые данные изображения принимаются от удаленного пользователя по сети связи. Кроме того, информация, относящаяся к согласующемуся цвету краски, может предоставляться пользователю по сети связи. Таким образом, согласующиеся цвета краски для неизвестного образца цвета могут предоставляться с использованием удаленной услуги.
В варианте осуществления первые данные изображения и вторые данные изображения принимаются как любое из: i) сообщения электронной почты; ii) сообщения службы передачи мультимедийных сообщений (MMS); и/или iii) данных изображения на веб-странице. Кроме того, информация, относящаяся к согласующемуся цвету краски, также может предоставляться в виде любого из: i) сообщения электронной почты; ii) сообщения MMS; iii) сообщения службы коротких сообщений (SMS) и/или iv) данных на веб-странице. Такие протоколы связи способствуют удаленному предоставлению услуги подбора краски, являясь известным для пользователей и легким для использования.
В одном варианте осуществления первые данные изображения и вторые данные изображения создаются пользователем с использованием устройства захвата (съемки) изображения; причем устройство захвата изображения предпочтительно является любым из: i) цифровой камеры; ii) оснащенного камерой мобильного телефона; и/или iii) цифровой записывающей видеокамеры. Обычный пользователь легко обращается с таким оборудованием, и пользователь знаком с работой такого оборудования.
В одном варианте осуществления определенные колориметрические данные и/или известные колориметрические данные представляют собой XYZ-координаты цвета. XYZ-координаты цвета определяют фиксированные и конкретные эталонные цвета.
В одном варианте осуществления могут определяться цвета, дополнительные к подобранному цвету, и информация, относящаяся к определенным дополнительным цветам, предоставляется пользователю. Посредством предоставления дополнительных цветов легче могут быть определены цветовые схемы.
В одном варианте осуществления по меньшей мере вторые данные изображения ориентируются в известную ориентацию, позволяя распознавать в них известные образцы цвета калибровки. Автоматическое ориентирование данных изображения делает возможным легкое использование для конечного пользователя, так как нет необходимости захватывать захватываемые вторые данные изображения в какой-либо конкретной требуемой ориентации.
В данном варианте осуществления ориентирование предпочтительно содержит выполнение обнаружения краев для идентификации расположения набора известных образцов цвета калибровки во вторых данных изображения. Кроме того, ориентирование может дополнительно содержать идентификацию множества предварительно определенных точек, относящихся к набору известных образцов цвета калибровки во вторых данных изображения. Если эти известные точки идентифицированы, может быть применено перспективное преобразование ко вторым данных изображения в зависимости от расположения идентифицированных точек для устранения наклона изображения набора известных образцов цвета калибровки.
Кроме того, в данном варианте осуществления ориентирование может дополнительно содержать идентификацию меток заданной угловой ориентации, относящихся к набору известных образцов цвета калибровки во вторых данных изображения. Вторые данные изображения тогда могут быть повернуты в зависимости от расположения идентифицированных меток угловой ориентации, так что известные образцы цвета калибровки размещаются в известное положение во вторых данных изображения.
В одном варианте осуществления характеристики калибровки цвета определяются с использованием N известных образцов цвета калибровки, где N меньше общего количества известных образцов цвета калибровки по всему цветовому пространству. При некоторых обстоятельствах это может обеспечивать более точные результаты.
Более предпочтительно, в вышеупомянутом варианте осуществления N известных образцов цвета калибровки представляют собой N образцов, которые находятся ближе всего в цветовом пространстве к оцениваемому цвету неизвестного образца цвета. Это эффективно позволяет выполнять «увеличение масштаба» цветового пространства при определении характеристик калибровки цвета, так что более точно характеризуется часть цветового пространства, которая содержит неизвестный образец цвета.
В вышеописанном варианте осуществления оцениваемый цвет может быть получен посредством определения первого набора характеристик калибровки, используя все доступные известные образцы цвета калибровки, и вычисления оцениваемого цвета, используя первый набор характеристик калибровки. Затем выполняется «второй проход» обработки, используя N ближайших известных образцов цвета калибровки к оцениваемому цвету. Таким образом, используется подход с двухпроходной обработкой, который позволяет охарактеризовать общее цветовое пространство, и затем более подробно характеризовать часть пространства, содержащую неизвестный образец цвета, обеспечивая более точные результаты.
Альтернативно, N известных образцов цвета калибровки представляют собой те N образцов, используемых в ограниченном цветовом пространстве, которые, как известно, представляют вторые данные изображения. В этом отношении может быть, что известные образцы цвета калибровки, как известно, находятся в ограниченной части цветового пространства, например могут быть все красные, или синие. Т.е. если пытаться подобрать красный цвет, то пользователь использует известные образцы цвета калибровки, которые представляют собой преимущественно красные, или близко к красным, тем самым ограничивая часть цветового пространства устройства захвата, которое требует характеризации.
В другом альтернативном случае, N известных образцов цвета калибровки представляют собой N образцов, которые имеют измеренные цветовые значения из вторых данных изображения, которые наиболее подобны измеренному цветовому значению неизвестного образца из первых данных изображения. Например, могут использоваться N известных образцов цвета калибровки, которые имеют RGB-значения, ближайшие к неизвестному образцу цвета.
В вышеупомянутых вариантах осуществления N предпочтительно находится в диапазоне от, по существу, 5 до, по существу, 250, или более предпочтительно от, по существу, 10 до, по существу, 100, или более предпочтительно от, по существу, 20 до, по существу, 85, или более предпочтительно от, по существу, 30 до, по существу, 70, или более предпочтительно от, по существу, 40 до, по существу, 60, или наиболее предпочтительно равен или около 50. В других вариантах осуществления тогда могут использоваться другие числа или диапазоны N.
В одном варианте осуществления изобретения алгоритм кластеризации может применяться к значениям пикселей в пикселях, представляющих неизвестный образец цвета в первом изображении, для определения количества цветов в изображении образца, и цвет, идентифицированный для каждого идентифицированного кластера. С таким устройством, если неизвестный образец цвета содержит более одного цвета, тогда или может идентифицироваться преобладающий цвет, и/или могут отдельно идентифицироваться индивидуальные цвета.
В данном варианте осуществления значения пикселей сначала калибруются с использованием характеристик калибровки цвета. Это имеет результатом гарантирование, что алгоритм кластеризации работает на реальных цветах в образце цвета.
Алгоритм кластеризации в использовании может тогда работать посредством: i) калибровки среднего значения пикселей в кластере; ii) затем определения количества пикселей в пределах заданного порогового расстояния от среднего значения; и затем iii) увеличения количества кластеров, если определенное количество пикселей меньше заданной доли количества пикселей в первых данных изображения, относящихся к неизвестному образцу. Таким образом, становится возможным идентифицировать разные цвета в образце, причем каждый идентифицированный кластер относится к соответствующему индивидуальному цвету.
Чтобы гарантировать, что обнаруживаются преобладающие или важные цвета в образце, вариант осуществления также может фильтровать кластеры для удаления тех кластеров из рассмотрения, которые не содержат пороговое количество пикселей в пределах второго порогового расстояния от среднего значения кластера. Следовательно, кластеры цветов только с малым количеством пикселей не идентифицируются в качестве преобладающих или важных цветов в образце.
Во втором аспекте настоящее изобретение дополнительно обеспечивает устройство, содержащее по меньшей мере один процессор; и по меньшей мере одну память, включающую в себя компьютерный программный код, причем по меньшей мере одна память и компьютерный программный код выполнены так, что вызывают выполнение устройством при помощи по меньшей мере одного процессора по меньшей мере следующего: прием первых данных изображения, относящихся к неизвестному образцу цвета, колориметрические данные для которого должны быть определены; прием вторых данных изображения, относящихся к множеству известных образцов цвета калибровки, колориметрические данные для которых являются уже известными; определение множества характеристик калибровки цвета, связывающих измерения цвета известных образцов цвета калибровки из вторых данных изображения с соответствующими известными колориметрическими данными образцов цвета калибровки; вычисление колориметрических данных неизвестного образца цвета в зависимости от их измерений цвета из первых данных изображения и определенных характеристик калибровки цвета; причем устройство отличается тем, что по меньшей мере одна память и компьютерный программный код выполнены так, что вызывают компенсацию устройством при помощи по меньшей мере одного процессора различий яркости по набору известных образцов цвета калибровки при определении множества характеристик калибровки цвета.
Другие аспекты и признаки настоящего изобретения будут очевидны из прилагаемой формулы изобретения.
Краткое описание чертежей
Другие признаки и преимущества примеров изобретения становятся очевидными из последующего описания конкретных вариантов осуществления изобретения, представленных только в качестве примера, и посредством ссылки на прилагаемые чертежи, на которых подобные позиции ссылаются на подобные детали и на которых:
фиг.1 представляет собой блок-схему системы согласно варианту осуществления изобретения;
фиг.2 представляет собой чертеж карты образцов калибровки цвета, используемой в варианте осуществления изобретения;
фиг.3 представляет собой блок-схему последовательности операций процесса, выполняемого в варианте осуществления изобретения;
фиг.4 представляет собой блок-схему последовательности операций и связанные с ней чертежи, иллюстрирующие процесс ориентирования изображения, используемый в варианте осуществления изобретения;
фиг.5 представляет собой блок-схему последовательности операций, описывающую процесс калибровки цвета, используемый в варианте осуществления изобретения;
фиг.6 представляет собой блок-схему последовательности операций, иллюстрирующую многопроходный процесс, используемый в варианте осуществления изобретения;
фиг.7 представляет собой блок-схему последовательности операций, иллюстрирующую часть процесса калибровки пространственной яркости, используемого в варианте осуществления изобретения;
фиг.8 представляет собой блок-схему последовательности операций, иллюстрирующую процесс кластеризации, используемый в варианте осуществления изобретения;
фиг.9 представляет собой чертеж, демонстрирующий использование процесса кластеризации, используемого в варианте осуществления изобретения;
фиг.10 представляет собой другой чертеж, иллюстрирующий использование процесса кластеризации, используемого в варианте осуществления изобретения;
фиг.11 представляет собой фотографию экспериментального шаблона образца калибровки цвета, используемого для испытаний варианта осуществления изобретения;
фиг.12 представляет собой график, изображающий степенную подгонку серой шкалы, полученную из процесса калибровки во время испытания варианта осуществления изобретения;
фиг.13-15 представляют собой графики регрессионной подгонки степенной функции для X, Y и Z, основываясь на степенных функциях, показанных на фиг.12;
фиг.16 представляет собой график подгонки серой шкалы, использующий полином второго порядка;
фиг.17 представляет собой график подгонки серой шкалы, использующий полином четвертого порядка, ограниченный до пересечения в нуле; и
фиг.18-20 представляют собой графики результатов испытания, полученных из варианта осуществления, где выполняется второй проход обработки.
Описание конкретных вариантов осуществления
Различные примеры изобретения ниже описываются в отношении прилагаемых чертежей.
1. Первый вариант осуществления - коррекция пространственной яркости
Фиг.1 представляет собой блок-схему системы согласно первому варианту осуществления настоящего изобретения. Система имеет элементы на стороне пользователя и элементы на стороне внутреннего сервера. Элементы на стороне пользователя используются для захвата изображения образца цвета, подлежащего определению, вместе с изображением образцов цвета калибровки, колориметрические данные которого известны. Элементы на стороне сервера или внутренние элементы относятся к элементам обработки, которые принимают данные изображения, обрабатывают данные изображения, определяют цвет неизвестного цвета образца, подбирают цвет к палитре красок и затем возвращают подобранный цвет из палитры пользователю.
В этом отношении целью первого варианта осуществления настоящего изобретения является обеспечение системы, которая дает возможность домашнему заказчику, или другому пользователю, точно идентифицировать цвет неизвестного образца цвета. Чтобы это выполнить, пользователь получает карту образцов цвета калибровки, например, по почте, или посредством посещения розничного магазина по продаже красок, где они имеются в наличии. Карта образцов цвета калибровки имеет вырезанный участок, в котором может быть размещен объект, цвет которого должен быть определен. Пользователь затем выполняет захват изображения карты образцов цвета калибровки с объектом, цвет которого должен быть определен, в вырезанном участке, используя легкодоступные устройства захвата изображения, такие как цифровая камера или оснащенный камерой мобильный телефон. Затем изображение передается пользователем, например, при помощи электронной почты, службы передачи мультимедийных сообщений (MMS), или используя веб-интерфейс, на внутренний сервер, где оно обрабатывается, определяется цвет неизвестного образца цвета, и информация, относящаяся к подобранному цвету краски, передается обратно пользователю. Кроме того, информация, касающаяся дополнительных цветов краски, чтобы составить цветовую схему красок, также может передаваться обратно пользователю.
Фиг.1 более подробно иллюстрирует элементы такой системы. Начиная с оконечного устройства пользователя, пользователь получает карту 24 образцов цвета калибровки, например, от местного розничного торговца красок, или отсылает письмо для нее по почте. Карта 24 образцов цвета калибровки имеет на ней некоторое количество образцов 242 индивидуальных цветов, пространственно распределенных по карте, причем цвета образцов 242 цвета также распределены по цветовому пространству. Карта 24 образцов цвета калибровки имеет вырезанный участок 244, показанный на фиг.1, расположенный в середине, но который в других вариантах осуществления может быть расположен в любом месте на карте, в котором при использовании размещается объект, подлежащий замеру, или карта размещается на объекте, подлежащем замеру, так что часть объекта, подлежащего замеру, видна через вырезанный участок 244. Дополнительные подробности карты 24 образцов цвета калибровки описываются ниже в отношении фиг.2.
При использовании, как отмечено, пользователь размещает карту 24 образцов цвета калибровки над объектом, цвет которого необходимо определить. Затем пользователь использует устройство захвата изображения, такое как цифровая камера, или мобильный телефон, предусмотренный с камерой, чтобы сфотографировать изображение карты 24 образцов цвета калибровки с неизвестным образцом цвета, подлежащим определению, также расположенным в изображении. Как показано на фиг.1, может использоваться устройство 12 захвата изображения пользователя, такое как цифровая камера, или мобильное устройство 14 пользователя, оснащенное устройством захвата изображения, таким как встроенная камера.
Если пользователь выполнил захват изображения, пользователь должен затем передать изображение на внутренний сервер 10 для обработки изображения. Могут использоваться многочисленные разные технологии передачи для передачи данных изображения на внутренний сервер 10, и варианты осуществления изобретения не ограничиваются этими описанными. Например, пользователь может загрузить захваченное изображение с цифровой камеры 12 в свой компьютер 16, причем компьютер 16 подключен к Интернету 22 при помощи локальной сети, такой как маршрутизатор 18 WiFi (беспроводная точность). Затем пользователь может использовать компьютер 16 для посылки сообщения электронной почты с изображением в качестве вложения по адресу электронной почты, который относится к внутреннему серверу 10.
Альтернативно, внутренний сервер 10 при помощи сетевого интерфейса может обеспечивать выделенную веб-страницу, которая может загружаться компьютером 16 и отображаться программой браузера, в которую могут быть помещены данные изображения, чтобы быть посланными обратно на внутренний сервер 10.
Обеспечивается альтернативный маршрут на внутренний сервер, когда пользователь использует мобильный телефон для захвата изображения. Некоторые мобильные устройства, часто известные как смартфоны, имеют функциональную возможность WiFi и могут использоваться для посылки сообщений электронной почты или веб-страниц доступа аналогично портативному или настольному компьютеру. В данном случае мобильное устройство пользователя используется в качестве портативного компьютера, и изображение, захваченное им, может посылаться по электронной почте, или в качестве данных, введенных в веб-страницу, обратно на внутренний сервер. Альтернативно, мобильное устройство пользователя может использовать свой сотовый радиоинтерфейс для посылки данных изображения на внутренний сервер 10. В данном случае данные изображения могут посылаться, например, в качестве сообщения службы передачи мультимедийных сообщений (MMS) по сотовой сети 26 на мобильный шлюз 20, который затем передает данные изображения на внутренний сервер 10. В этом отношении может обеспечиваться конкретный контактный номер, и он может быть сделан известным пользователю (например, отпечатан на карте 24 образцов цвета калибровки), на который могут посылаться сообщения MMS.
Внутренний сервер 10 содержит сетевой интерфейс 102, соединенный с сетью 22, для приема данных изображения от пользователей и передачи на него данных подбора цвета, как описано ниже. Внутренний сервер 10 дополнительно содержит процессор 104, на котором исполняются программы, выполняющие определение цвета и которые, в основном, управляют работой внутреннего сервера 10. Рабочая память 106 обеспечивается для использования процессором, в которой могут временно сохраняться данные.
Также во внутреннем сервере 10 обеспечивается считываемый компьютером носитель 108, который образует долгосрочное хранилище, в котором могут храниться данные и программы. Например, считываемый компьютером носитель 108 может представлять собой накопитель на жестком диске, или, например, может представлять собой твердотельное запоминающее устройство. На считываемом компьютером носителе 108 хранятся несколько программ управления. В данном первом варианте осуществления обеспечивается модуль 104 управления подбором цвета, который управляет всей работой системы и вызывает другие модули для выполнения операций, как и когда потребуется. В первом варианте осуществления дополнительно обеспечивается модуль 118 калибровки, который принимает, соответствующим образом, команды управления от модуля 114 управления подбором цвета и исполняется процессором 104, чтобы выполнять функцию калибровки и, в частности, чтобы выполнять необходимые регрессионные анализы, чтобы можно было охарактеризовать характеристики захвата цвета устройства захвата изображения, используемого пользователем. Дополнительные подробности работы модуля 118 калибровки приведены ниже.
В других вариантах осуществления могут обеспечиваться дополнительные модули, такие как модуль 116 ориентирования изображения или модуль 120 кластеризации. Работа этих дополнительных модулей описывается ниже в отношении соответствующего варианта осуществления.
Во внутреннем сервере 10 дополнительно обеспечивается другой считываемый компьютером носитель 110 данных, который также может принимать вид жесткого диска, твердотельного запоминающего устройства или т.п. В этом отношении второй считываемый компьютером носитель 110 данных может фактически представлять собой такой же носитель, что и носитель 108, и может представлять собой, например, раздел этого же жесткого диска, который составляет первый считываемый компьютером носитель 108 данных. Второй компьютерный носитель 110 данных, однако, хранит базу данных цветов, содержащую колориметрические данные, относящиеся к образцам цвета на карте 24 образцов цвета калибровки. Может храниться несколько наборов таких данных, относящихся к разным картам 24 образцов цвета калибровки, которые могут быть доступны. Для каждой карты 24 образцов цвета калибровки сохраняется идентификатор (ID) карты, и затем для каждого известного образца цвета на карте сохраняются известные XYZ-координаты цвета вместе с координатами x, y расположения образца цвета, имеющего эти координаты цвета на карте. Поэтому имеется столько наборов значений координат и связанных с ними координат цвета, сколько имеется элементов образца цвета на карте 24 образцов цвета калибровки.
Фиг.2 иллюстрирует более подробно образец 24 карты цветов калибровки. В частности, карта 24 образцов цвета калибровки имеет обрамление 248 на ее внешнем крае и затем имеет отпечатанные на ней элементы образца цвета известного цвета. Элементы образца цвета расположены так, что элементы 250 по внешнему краю области элементов образца цвета представляют собой элементы серой шкалы, т.е. они имеют предел изменения от черного через различные цвета серого цвета до белого. Они должны захватываться устройством захвата изображения, таким как цифровая камера, с, по существу, одинаковыми RGB-значениями. Они полезны при выполнении коррекции пространственной яркости, как описано в последующем варианте осуществления.
Элементы 242 образца цвета, расположенные далее внутрь от краев карты 24 образцов цвета калибровки, представляют собой цветовые элементы, каждый из которых имеет известные координаты цвета. В этом отношении цветовые элементы должны быть отпечатаны максимально точно к желательным значениям трехцветных координат. Альтернативно, карты цветов калибровки могут быть отпечатаны, и затем каждый элемент измерен для определения его XYZ-значений, используя, например, спектрофотометр. Цвета элементов 242 образца цвета предпочтительно распределены по всему цветовому пространству. Однако в других вариантах осуществления, описанных ниже, цвета могут быть сконцентрированы в конкретной зоне цветового пространства.
Карта 24 также обеспечивается с некоторым видом идентифицирующей метки 246, которой может быть штриховой код, или некоторая другая доверительная метка, такая как отпечатанное название, символ или т.п. Она используется для идентификации, какая карта используется пользователем, так что корректные данные карты цветов могут быть выбраны для использования.
Наконец, карта 24 калибровки имеет вырезанный участок 244, показанный здесь в середине. Однако положение вырезанного участка не является важным, и он может быть расположен в любом месте на карте и даже на краях. Кроме того, не является существенным, что включен вырезанный участок; в этом отношении карта 24 образцов цвета калибровки просто может быть размещена рядом с объектом или образцом, цвет которого должен быть определен, хотя это является менее предпочтительным.
При использовании, как отмечено, пользователь получает карту 24 образцов цвета калибровки, например, от розничного торговца красками, и затем размещает карту 24 калибровки так, что вырезанный участок находится над цветом, подлежащим замеру, например цветом диванной подушки, шторы, предмета мебели или т.п. В этом отношении карта 24 размещается сверху или против объекта, цвет которого должен быть замерен, так что его цвет виден через вырезанный участок 244. Используя мобильный телефон, цифровую камеру или т.п., пользователь затем снимает неподвижное изображение объекта, подлежащего замеру, с картой захвата цвета в изображении и посылает его на внутренний сервер 10, используя различные маршруты связи, описанные ранее, такие как MMS, электронная почта, или используя веб-доступ.
Фиг.3 изображает более подробно процесс, выполняемый на внутреннем сервере 10.
Сначала данные 32 изображения, посылаемые пользователем, принимаются на сетевом интерфейсе 102 внутреннего сервера 10. Внутренний сервер 10 управляется модулем 114 управления подбором цвета, исполняющимся на процессоре 104. Когда принимаются данные изображения, модуль 114 управления подбором цвета сначала, опционально, выполняет обработку изображения для расположения и ориентирования карты 24 образцов цвета калибровки в изображении 32. Это выполняется в блоке 3.2 и является опциональным, так как в зависимости от инструкций, данных пользователю, этот этап может не потребоваться. Например, карта 24 образцов цвета калибровки может поступать с инструкциями пользователю для захвата изображения так, что положение карты в изображении не является наклонным. Кроме того, пользователь может быть проинструктирован обрезать изображение так, что изображением является исключительно карта 24 калибровки в известной угловой ориентации, перед тем как она будет послана на внутренний сервер 10. Если пользователю предоставлены такие инструкции, и он их выполняет, то нет необходимости выполнять какие-либо процедуры расположения или ориентирования карты. Поэтому в этом случае принятое изображение 32 будет представлять собой изображение исключительно карты калибровки с неизвестным образцом в известной ориентации, т.е. оно будет изображением 34 карты для карты и образца.
Если изображение 34 карты получено, модуль 114 управления подбором цвета управляет процессором 104 и запускает модуль 118 калибровки, чтобы выполнить регрессионный анализ для характеризации характеристик захвата цвета устройства захвата изображения пользователя. Регрессионный анализ, используемый в настоящем варианте осуществления, по существу, аналогичен описанному ранее в US 5150199 и WO 01/25737 и показан более подробно на фиг.5. В отношении фиг.3 регрессионный анализ для характеризации устройства выполняется в блоке 3.4 со ссылкой на схему 35 размещения карты калибровки, известную из данных 112 карты цветов, хранимых в базе 110 данных цветов.
Итерационный регрессионный алгоритм включает в себя два индивидуальных этапа обработки следующим образом:
Этап 1: Определить 3 зависимости между каждой из измеренных составляющих R, G и B и известными составляющими X, Y и Z, используя образцы цвета серой шкалы на карте 24 образцов цвета калибровки, т.е.
• X как функция R (названная функция R1).
• Y как функция G (названная функция G1).
• Z как функция B (названная функция B1).
Подгонка степенной кривой может использоваться над данными серой шкалы для получения зависимостей R1, G1, B1 на этапе 1 выше. Также можно использовать подгонку полиномиальной кривой или 2-го, 4-го или более высоких порядков.
Этап 2: Определить многомерные линейные зависимости между каждой из известных составляющих X, Y и Z и тремя функциями, определенными на этапе 1 выше, т.е.
• X как функцию R1, G1, B1 (названная функция X1).
• Y как функцию R1, G1, B1 (названная функция Y1).
• Z как функцию R1, G1, B1 (названная функция Z1).
Этап 2 в алгоритме выполняет многомерную регрессию X, Y и Z относительно подгонок степенной кривой R1, G1 и B1, полученных на этапе 1, т.е.
X=f(R1, G1, B1)
Y=f(R1, G1, B1)
Z=f(R1, G1, B1)
или
X=a+b.R1+c.G1+d.B1
Y=a+b.R1+c.G1+d.B1
Z=a+b.R1+c.G1+d.B1
где a, b, c и d представляют собой постоянные коэффициенты. Три подгонки X, Y и Z многомерной регрессии обозначены X1, Y1 и Z1 соответственно.
Фиг.5 изображает вышеописанное более подробно. В частности, процесс на фиг.5 выполняется как блок 3.4 на фиг.3.
Сначала в блоке 5.2, как описано, принимаются данные изображения из карты цветов известной ориентации. Затем необходимо идентифицировать карту цветов, используемую в блоке 5.4, что выполняется с использованием идентифицирующей метки 246, расположенной на карте 24 калибровки. Т.е. выполняется распознавание идентифицирующей метки 246, которая затем используется в качестве индекса для выбора соответствующего набора данных карты цветов из базы 110 данных карт цветов.
Затем начинается первый этап вышеотмеченного алгоритма, выполняющийся в блоках 5.6-5.14. Т.е. в блоке 5.6 начинается цикл процесса считывания данных из изображения в известных положениях в изображении. Т.е. в блоке 5.6 каждый образец серой шкалы в известном положении (x, y) на карте 24 калибровки имеет свои RGB-значения, измеренные из изображения в блоке 5.8, и затем выполняется поиск XYZ-координат цвета для этого образца в этом же положении (x, y) в базе данных на этапе 5.10. Этот процесс повторяется для всех образцов серой шкалы на изображении, которые с картой 24 калибровки расположены на внешнем краю образцов цвета в качестве образцов 250. В альтернативных вариантах осуществления не требуется ограничивать этот этап образцами серой шкалы, и другие образцы цвета также могут использоваться в дополнение или в качестве альтернативы.
В конце обработки, составляющей блоки 5.6-5.12, для каждого известного образца цвета или серой шкалы в изображении XYZ-координаты цвета будут получены из соответствующих данных карты цветов в базе 10 данных цветов, и будут измерены RGB-значения этого образца цвета на изображении. Соответствующие RGB- и XYZ-значения сохраняются ассоциированными друг с другом в памяти 106. Например, можно нанести на график измеренные RGB-значения для каждого известного образца относительно известных XYZ-значений этого образца на графике, как показано на фиг.12, 16 и 17.
Если RGB-значения были измерены, и соответствующие XYZ-значения получены из базы данных цветов на этапе 5.14, выполняется вышеуказанный этап 1 алгоритма для определения X-значений в качестве измеренной функции R-значений, Y-значений в качестве функции измеренных G-значений и Z-значений в качестве функции измеренных B-значений. Этот этап выполняется с использованием степенной подгонки или полиномиальной подгонки для получения функции, связывающей X с R, Y с G и Z с B. Обычно степенная подгонка дает уравнение в виде:
где коэффициенты αx, y, z и βx, y, z характеризуют соответствующие зависимости.
Фиг.12, 16 и 17 иллюстрируют примерные подгонки кривой, которые были получены для экспериментальных данных испытания, выполненные над захваченными изображениями тестового массива 1102 образцов калибровки, показанного на фиг.11. Фиг.11 изображает массив элементов 1102 образца цвета вместе с элементами 1104 серой шкалы, расположенными внизу массива. Элементы 1102 образца цвета содержат 256 случайно расположенных эталонных цветов, включая шесть эталонов серой шкалы. Элементы 1104 серой шкалы содержат 16 цветов серой шкалы от черного к белому.
Для тестирования процесса экспериментальный тестовый массив по фиг.11 освещался с использованием света D65, и изображение захватывалось с использованием высококачественной цифровой камеры (Cannon PowerShot Pro 90IS). Данные XYZ-координат цвета из цветовых элементов в тестовом массиве были известны заранее, индексированы по положению элемента в массиве. С этими данными можно было нанести на график измеренные R-, G- и B-значения для каждого элемента относительно известных XYZ-значений для каждого тестового элемента, как показано на фиг.12, 16 и 17. Необходимо отметить, что графики данных на каждой из фиг.12, 16 и 17 идентичны. Отличающейся является подгонка кривой, которая была применена. В частности, на фиг.12 была использована степенная подгонка, в соответствии с описанной выше зависимостью. Однако, как отмечено, также можно использовать полиномиальную подгонку, кроме степенной подгонки; фиг.16 изображает полиномиальную подгонку второго порядка, а фиг.17 изображает полиномиальную подгонку четвертого порядка, где функция ограничена пересечением в нуле. Как описано ниже, используется ли степенная подгонка или полиномиальная подгонка, результаты, по существу, идентичны, и, по-видимому, имеется незначительное преимущество, если таковое вообще есть, при использовании полиномиальной подгонки над степенной подгонкой.
Если подгонка кривой была выполнена для получения вышеуказанных функций, то в блоке 5.16 выполняется многомерная регрессия X, Y и Z относительно полученных функций для получения коэффициентов, связывающих X с R, G и B, Y с R, G и B и Z с R, G и B, как отмечено на этапе 2 выше. Фиг.13 иллюстрирует график известного X относительно регрессионных подгонок R1 и X1, тогда как фиг.17 изображает известного Y относительно регрессионных подгонок G1 и Y1, и фиг.15 изображает график известного Z относительно регрессионных подгонок B1 и Z1. Это находит постоянные коэффициенты (a, b, c и d на этапе 2 выше), которые помогают характеризовать каждый из X, Y и Z как функцию R, G и B, как описано выше. Если эти коэффициенты найдены, т.е. коэффициенты из этапа 1 и этапа 2 вышеописанного алгоритма, они сохраняются и затем характеризуют функцию захвата цвета устройства захвата изображения, используемого пользователем. Используя эти коэффициенты, затем можно найти цвет неизвестного образца в изображении из его RGB-значений.
Согласно фиг.3, в блоке 3.4 выполняется вышеуказанный процесс калибровки, который возвращает набор коэффициентов 36 калибровки, которые затем могут использоваться для последующего определения цвета.
Сначала, однако, необходимо определить, имеется ли какой-либо преобладающий цвет в известном образце цвета, что выполняется в блоке 3.6. Например, RGB-значения пикселя, представляющие неизвестный образец, могут исследоваться для определения, имеется ли преобладающее RGB-значение. Альтернативно, если нет преобладающего RGB-значения, если веб-интерфейс используется в блоке 3.10, пользователю может быть предложено выбрать цвет, подлежащий калибровке. В блоке 3.12 выбранный цвет затем калибруется. В другом варианте осуществления описывается процесс кластеризации, который способен идентифицировать многочисленные цвета в неизвестном образце и возвращать откалиброванный цвет для каждого из них.
В блоке 3.12 выбранный цвет калибруется с использованием коэффициентов 36 калибровки. Т.е. RGB-значения применяются в уравнениях, найденных в блоке 3.4, с использованием коэффициентов 36 калибровки. Этот процесс дает XYZ-координаты цвета выбранного цвета.
После нахождения XYZ-значений неизвестного образца цвета (или выбранного преобладающего значения в образце цвета, если имеется более одного цвета) модуль 114 управления подбором цвета затем действует для нахождения ближайшего цвета в доступной цветовой палитре в блоке 3.14. В этом отношении данные 45 цветовой палитры доступны для модуля 114 управления подбором цвета и сохраняются в базе 110 данных цветов. Нахождение ближайшего цвета выполняется посредством использования метрики цветового различия и сравнения XYZ-цвета, который был определен, с каждым цветом в палитре, используя метрику различия, при этом выбирается цвет с наименьшим различием. Могут использоваться несколько разных метрик различия, но в вариантах осуществления изобретения предпочтительно использовать метрики CIE Delta E. В частности, может использоваться оригинальная метрика цветового различия CIE Delta E (1976), или в другом варианте осуществления метрика CIE Delta E (2000). В другом варианте осуществления может использоваться Delta E (2000), но с другими весовыми коэффициентами.
Процесс подбора цвета в блоке 3.14 возвращает цвет краски подбора, являющийся цветом краски в палитре, который является ближайшим к определенному XYZ-цвету испытательного образца. Эта информация 42 о цвете краски затем предоставляется обратно пользователю при помощи сетевого интерфейса 102 по сети 22. Например, если пользователь передал изображение на внутренний сервер 10 посредством MMS, используя мобильное устройство, сетевой интерфейс 102 может составить сообщение службы коротких сообщений (SMS) или сообщение MMS для посылки информации о цвете краски обратно на мобильное устройство пользователя. Альтернативно, если пользователь послал сообщение электронной почты на внутренний сервер 10, сетевой интерфейс 102 может составить сообщение электронной почты в ответ с информацией о цвете краски. Если используется веб-интерфейс, веб-страница может быть послана пользователю для отображения веб-браузером пользователя, предоставляя информацию о цвете краски подбора.
Наконец, в некоторых вариантах осуществления изобретения, в дополнение к возврату информации 42 о цвете краски, в блоке 3.16 внутренний сервер 10 также служит для нахождения цветовой схемы, которая дополняет определенный цвет 42 краски. Например, существует несколько методологий для определения цветовых схем, которые дополняют друг друга. Например, цвет, который находится на 120° от первого цвета на цветовом круге CIELAB, часто рассматривается дополнительным цветом. Кроме того, цвет, который находится через 180° от первого цвета на цветовом круге CIELAB, также считается дополнительным. Поэтому в блоке 3.16 используются такие методы определения дополнительного цвета для определения информации 44 о цветовой схеме, которая также возвращается пользователю.
Поэтому в первом варианте осуществления пользователь может снять цифровую фотографию, используя свой мобильный телефон или свою цифровую камеру, объекта, цвет которого необходимо определить. Фотография снимается посредством размещения карты 24 образцов цвета калибровки поверх, рядом или около объекта, так что как карта 24 образцов цвета калибровки, так и объект захватываются в изображении. Затем пользователь посылает изображение по сети связи из своего дома на внутренний сервер. В этом отношении подробности контакта, такие как адрес электронной почты, номер MMS или веб-адрес, могут предусматриваться на задней стороне карты 24 образцов цвета калибровки. Внутренний сервер 10 принимает изображение, обрабатывает изображение, как описано, для определения фактического цвета объекта, подлежащего определению, и затем подбирает этот цвет к палитре красок для определения согласующегося цвета краски к объекту. Информация, касающаяся подобранного цвета краски, затем возвращается в ответе пользователю по сети связи. Ответ, например, может выполняться посредством сообщения электронной почты, SMS, MMS, или посредством передачи соответствующей веб-страницы для отображения в браузере на компьютере или мобильном телефоне пользователя. С таким устройством существенно улучшается возможность легкого подбора пользователем цвета краски. В частности, больше не требуется получение пользователем многочисленных наборов карт образцов цвета от своего местного магазина красок и попытка подобрать цвета на основе собственного восприятия. Вместо этого может быть получен значительно более точный и математически надежный подбор цвета. Кроме того, не требуется специализированное оборудование для захвата изображения, и пользователь может использовать оборудование захвата изображения, которым он обычно владеет.
Чтобы оценить результаты вышеуказанного процесса, измеренные RGB-данные для двух шаблонных эталонов (второй шаблонный эталон показан на фиг.11, описанной ранее; первым шаблонным эталоном является такой же, но без элементов 1104 серой шкалы внизу) также использовались в качестве данных ввода образца. Эти RGB-данные ввода использовались для вычисления калиброванных XYZ-значений с использованием описанных выше способов. Определенные калиброванные XYZ-цвета затем сравнивались численным способом с известными XYZ-значениями для обеспечения меры эффективности регрессионных подгонок в алгоритме. С этой целью использовались две эталонные метрики различия в восприятии CIE dE и CIE DE2000.
Таблица внизу отображает средние значения dE и также DE2000, полученные для каждого из способов, описанных выше.
Данные в вышеприведенной таблице указывают, что замена подгонки степенной кривой к данным серой шкалы при помощи полиномиальных подгонок имеет малое влияние на результирующие значения X1, Y1, Z1 с малым или отсутствующим влиянием на среднюю DE2000. Поэтому замена подгонки степенной кривой к данным серой шкалы полиномиальными подгонками приводит к несущественному улучшению калибровки. Это может объясняться тем, что учитывается любой разброс в подгонке кривой серой шкалы в процессе многомерной регрессии на этапе 2.
С точки зрения результатов, метрики различия dE разработаны так, что минимальное заметное различие для наблюдателя-человека будет иметь значение dE, равное 1. Однако для многих людей dE, равное 1, приводит к отсутствию заметного различия в цвете, особенно, если цвета не размещены рядом. В настоящем случае описанный процесс определения цвета, когда он используется на шаблоне с дополнительными значениями серой шкалы, используемыми в итерационной регрессии (испытание 2, использующее шаблон, показанный на фиг.11), приводит к вычисленным XYZ-значениям, имеющим среднюю dE2000 менее 3 из фактических XYZ-значений в каждом случае испытаний.
В дополнение к вышеописанному, варианты осуществления изобретения также рассматривают компенсацию разной пространственной яркости по изображению. Это выполняется в настоящем варианте осуществления изобретения следующим образом.
Более конкретно, настоящий вариант осуществления изобретения обращает внимание на улучшение определения коэффициентов калибровки, выполняемое в блоке 3.4 процесса на фиг.3, и, в частности, учитывая различия в яркости и контрастности по изображению 34 карты. Т.е. пользователь может снять изображение 32 при неидеальных условиях освещения, так что по карте 24 имеются различия освещения, так что яркость и контрастность по карте не являются равномерными. Настоящий вариант осуществления поэтому представляет дополнительную обработку, которая может выполняться на этапе калибровки для расширения модели калибровки, учитывая такие различия пространственного освещения. Вариант осуществления представляет способ, который предполагает линейное изменение яркости и контрастности по карте, хотя можно было бы найти коэффициенты более высокого порядка, которые моделируют изменения более высокого порядка.
Фиг.7 более подробно иллюстрирует процесс. Процесс содержит два главных этапа (B.7.6 и B.7.10). Сначала в блоке 7.2 измеряются образцы Ri, Gi и Bi при (x i , y i) в изображении, и соответствующие XYZ-значения Xi, Yi и Zi получаются из данных карты цветов в базе данных цветов. Затем находятся соответствующие зависимости, которые отображают известное X на измеренное R, учитывая положение (x, y) каждого измеренного R в изображении 34 карты. Это также выполняется для отображения известного Y на измеренное G, и известного Z на измеренное B. Т.е. рассматривая X-R более подробно, формулируется зависимость, которая связывает X с R, используя степенную подгонку, но где коэффициент у R зависит от положения в изображении карты. Кроме того, член смещения также вводится в уравнение, который также является зависимым от положения. Т.е. искомое соотношение между X и R является позиционно зависимым, зависимым от положения образцов на карте. Подобные зависимые от положения соотношения также находятся между Y и G, и Z и B. В настоящем варианте осуществления используются следующие уравнения:
где αX, Y, Z, βX, Y, Z, ζX, Y, Z, ηX, Y, Z, YX, Y, Z, δX, Y, Z, и εX, Y, Z представляют собой постоянные коэффициенты, и (x i , y i) представляет собой положение i-го образца на карте, причем Ri, Gi и Bi представляют собой измеренные RGB-значения i-го образца. Однако в других вариантах осуществления могут использоваться разные уравнения, могут использоваться любые зависимости, которые учитывают положение образцов на карте.
Вышеприведенные уравнения решаются с использованием способа подгонки методом наименьших квадратов в B.7.6 для определения значений для αX, Y, Z, βX, Y, Z, ζX, Y, Z, ηX, Y, Z, YX, Y, Z, δX, Y, Z, и εX, Y, Z. Однако может быть, что без какого-либо предварительного знания эти уравнения не будут легко решаться (могут находиться локальное максимальное значение или минимальное значение). Поэтому опционально (в блоке 7.4) коэффициенты αX, Y, Z, βX, Y, Z могут быть найдены заранее, используя образцы серой шкалы в изображении без зависимости от положения и выполняя подгонку (методом наименьших квадратов) степенной кривой для X i относительно R i и затем аналогично для Y i относительно G i и Z i относительно B i, получая 6 коэффициентов α X, Y, Z, β X, Y, Z:
Эти уравнения не учитывают никакое пространственное распределение яркости, но выполняются для обеспечения первоначальных значений αX, Y, Z, βX, Y, Z, которые затем могут использоваться при решении зависимых от положения уравнений.
Затем в блоке 7.8 эти 21 коэффициент (7 на канал - αX, Y, Z, βX, Y, Z, ζX, Y, Z, ηX, Y, Z, YX, Y, Z, δX, Y, Z, и εX, Y, Z) используются для вычисления значений (X' i, Y' i, Z' i) для всех известных образцов в изображении (R i, G i, B i) - не только образцов серой шкалы. Они затем используются для многомерной подгонки в блоке 7.10, - по существу, выполняя подгонку методом наименьших квадратов этих образцов по отношению к измеренным значениям (X i, Y i, Z i), используя уравнение
Многомерная подгонка затем обеспечивает дополнительные 12 коэффициентов (aX, Y, Z, bX, Y, Z, cX, Y, Z, dX, Y, Z). Набор из 21 коэффициентов αX, Y, Z, βX, Y, Z, ζX, Y, Z, ηX, Y, Z, YX, Y, Z, δX, Y, Z, и εX, Y, Z и 12 коэффициентов aX, Y, Z, bX, Y, Z, cX, Y, Z, dX, Y, Z затем сохраняются в виде данных 36 калибровки. Эти 21+12 коэффициентов затем могут использоваться впоследствии (в B.3.12 на фиг.3) для вычисления XYZ-значения (X samp,Y samp,Z samp), представляющего интерес RGB-цвета (R samp,G samp,B samp), используя вышеописанные уравнения.
Таким образом, в настоящем варианте осуществления адаптируется процесс калибровки, чтобы учитывать изменения яркости и контрастности по карте 24 в изображении. Это делает систему еще более легкой для использования и накладывает меньшие ограничения на освещение сцены изображения, в то же время все же позволяя получать хорошие результаты.
2. Второй вариант осуществления - ориентирование изображения
Ниже описывается второй вариант осуществления изобретения. Второй вариант осуществления изобретения в качестве своей основы берет первый вариант осуществления, описанный выше, и, следовательно, общие признаки между ними повторно не описываются.
Второй вариант осуществления относится к ориентированию изображения, выполняемому в блоке 3.2 процесса по фиг.3. Более конкретно, как описано ранее в первом варианте осуществления, такое ориентирование изображения может быть необязательным, так как пользователь может создать изображение карты посредством ручной обрезки и поворота изображения карты 24 образцов цвета калибровки и неизвестного образца до посылки его на внутренний сервер. В этом отношении пользователь при снятии изображения может обеспечивать, что ориентация карты для плоскости изображения является правильной, без какой-либо перспективы или наклона.
Однако для непрофессиональных пользователей является более предпочтительным, чтобы не требовалось выполнение предобработки изображения пользователем или чтобы не выполнялись специальные условия при ориентировании изображения при снятии изображения. Вместо этого система должна быть максимально легкой для непрофессиональных пользователей, требуя только, чтобы они могли сделать фотоснимок карты 24 образцов цвета калибровки с неизвестным образцом цвета с картой 24 образцов цвета калибровки в любой ориентации. При этом система будет легкой для понимания и использования непрофессиональными пользователями и, следовательно, будет содействовать использованию системы.
Во втором варианте осуществления, чтобы сделать возможным легкое использование, изображение 32, принятое внутренним сервером, может содержать изображение карты 24 образцов цвета калибровки в любой ориентации. Однако чтобы обработать данные в изображении, должна быть известна ориентация карты 24 образцов цвета калибровки и положение элементов образца цвета на карте в изображении. Поэтому в блоке 3.2 выполняется определение расположения и ориентирование изображения карты посредством модуля 116 ориентирования изображения.
Фиг.4 изображает более подробно работу модуля 116 ориентирования изображения. Сначала в блоке 4.2 данные 32 изображения принимаются от сетевого интерфейса 102 (или от модуля 114 управления подбором цвета). Чтобы определить расположение карты 24 образцов цвета калибровки в изображении, в блоке 4.4 выполняется обнаружение края на изображении для обнаружения высококонтрастных краев. В этом отношении карта 24 образцов цвета калибровки имеет толстое двойное обрамление 248, которое может использоваться для определения расположения карты в изображении 32, причем обрамление легко допускает идентификацию алгоритмами обнаружения края. Если такие контуры в изображении найдены, то в блоке 4.6 выполняется поиск последовательности вложенных 4-сторонних выпуклых контуров, которые имеют корректную последовательность ориентации, и где каждый потомок представляет собой существенную долю размера своего предка. В этом отношении толстое обрамление выглядит после обнаружения края как две вложенные четырехсторонние формы, и, следовательно, идентификация такой вложенной формы в изображении идентифицирует карту 24.
Определив положение карты 24 в изображении на основе вышеописанного, изображение может сегментироваться, оставляя данные 46 изображения карты, как показано. Затем необходимо идентифицировать известные признаки на карте, чтобы иметь возможность выполнить перспективное преобразование для устранения наклона изображения. Поэтому в блоке 4.8 идентифицируются известные признаки карты, такие как углы карты. Можно использовать любую доверительную метку для идентификации фиксированных точек на карте калибровки, но в настоящем варианте осуществления изобретателям требуется идентифицировать 4 точки на карте, чтобы выполнить перспективное преобразование.
После идентификации известных точек на изображении карты в блоке 4.10 известные точки (например, углы самого внутреннего обрамления) используются для выполнения перспективного преобразования для устранения наклона изображения. Изображение 50 карты с устраненным наклоном показано посредством примера на фиг.4. Однако это изображение 50 карты с устраненным наклоном может иметь любую угловую ориентацию, поэтому используются априорные знания ожидаемой схемы расположения карты, чтобы правильно ориентировать карту. В этом отношении данные 112 карты цветов сохраняются в базе 110 данных цветов, причем данные 112 карты цветов хранят информацию, относящуюся к расположению доверительного признака, который может быть распознан и использован для ориентирования карты. Например, штриховой код или торговый знак на одном крае рамки имеет белые области рядом с ней. Поэтому можно визировать самые светлые 2 угла и повернуть изображение, чтобы они находились внизу. Следовательно, в блоке 4.12 распознается известный признак, относящийся к угловой ориентации карты, и изображение 50 карты с устраненным наклоном затем поворачивается в блоке 4.14, так что признак размещается с известной угловой ориентацией, таким образом, вращательно ориентируя карту. По существу, получаются данные 34 изображения карты известной ориентации.
В других вариантах осуществления можно использовать любой известный признак карты для достижения угловой ориентации. Это также может достигаться выполнением одного из доверительных признаков отличным от других. Другой возможностью является выполнение схемы расположения образцов на карте осесимметричной, так чтобы угловая ориентация карты была бы несущественной.
Общим результатом вышеописанных этапов является то, что пользователю не нужно вмешиваться и искать карту в изображении, и не нужны никакие специальные требования, накладываемые на пользователя в отношении того, как снимать изображение или выполнять предварительную обработку перед посылкой на внутренний сервер. По существу, получается значительно более дружественная к пользователю система, т.е. подходящая для использования, в большей степени, непрофессиональными пользователями.
3. Третий вариант осуществления - регрессионный анализ, использующий уменьшенное цветовое пространство
Ниже описывается третий вариант осуществления изобретения. Третий вариант осуществления основан на ранее описанных первом или втором варианте осуществления, поэтому признаки, общие между ними, повторно не описываются.
В вариантах осуществления, описанных до сих пор, регрессионный анализ для нахождения коэффициентов калибровки использовал максимально возможное количество образцов на карте по всему цветовому пространству. Однако в настоящем варианте осуществления, если могут быть получены некоторые априорные сведения о потенциальном цвете неизвестного образца, подлежащего определению, тогда регрессионный анализ для определения коэффициента калибровки может выполняться с использованием этих известных образцов цвета, которые являются близкими к цвету неизвестного образца. Это похоже на «увеличение масштаба» той части цветового пространства, которая представляет интерес, т.е. той части характеристики захвата цвета устройства захвата изображения пользователя, которая, фактически, представляет наибольший интерес в том, что именно эта часть использовалась для захвата RGB-значений неизвестного образца. Эта меньшая часть характеристики захвата цвета затем может характеризоваться максимально плотно в попытке повысить точность.
Более подробно, обычный процесс калибровки включает в себя 2 главных этапа:
1. Регрессионный анализ измеряемых образцов и их известных цветов («эталонов») для получения коэффициентов калибровки, которые характеризуют устройство, используемое для получения изображения.
2. Использование коэффициентов калибровки для взятия известного RGB-цвета (и положения относительно рамки калибровки) и получение XYZ-цвета.
В настоящем варианте осуществления данный процесс расширен и включен второй проход: если XYZ-цвет первого прохода известен, поднабор известных образцов («эталонов») на карте калибровки затем используется для повторения этапа 1. В настоящем варианте осуществления используются N ближайших эталонов к калибруемому цвету (из этапа 2) и берутся отдельные наборы ближайших цветов для части коррекции гаммы калибровки (например, B.5.14 на фиг.5) и части многомерного анализа (например, этап B.5.16 на фиг.5). Дополнительные подробности показаны на фиг.6.
Более конкретно, в блоке 6.2 выполняется первый проход процесса по фиг.3, с блоков B.3.4 до B.3.12. Т.е. находятся коэффициенты калибровки способом, описанным в предыдущем варианте осуществления, используя все известные образцы цвета на карте 24. Затем определяется XYZ-цвет известного образца цвета в блоке 6.4.
Эта информация затем используется для идентификации N ближайших цветов образца к идентифицированному XYZ-цвету неизвестного образца в блоке 6.6. В данном варианте осуществления находятся N G ближайших образцов серой шкалы и N C ближайших образцов цвета, где N G обычно меньше N C. Подробности испытаний, выполняемых для определения значений для N G и N C, приведены ниже. Находятся ближайшие образцы серой шкалы и цвета, используя метрику различия delta_E, такую как delta_E(2000).
Обнаружив ближайшие цвета (серой шкалы и цвета) в блоке 6.8, снова выполняется калибровка для повторного определения коэффициентов калибровки, но теперь с использованием только обнаруженных ближайших цветов. Как отмечено, это похоже на увеличение масштаба или фокусировку на конкретной зоне с цветовым пространством. Теоретически, тогда должны учитываться любые локальные воздействия, которые присутствуют в процессе калибровки.
Определив повторно коэффициенты калибровки, в блоке 6.10 затем повторно калибруются XYZ-значения неизвестного образца, используя новые коэффициенты калибровки и измеренные RGB-значения из изображения.
Несколько испытаний было проведено для оценки влияний этой повторной калибровки, и подробности их приведены ниже со ссылкой на фиг.18-21.
Испытание 1
В качестве начальной оценки этого зонного способа калибровки измеренные RGB-значения для двух ранее описанных испытательных шаблонов (второй испытательный шаблон показан на фиг.11 - первый шаблон идентичен, но без ряда цветов серой шкалы внизу) использовались в качестве RGB-значений образца. Диапазон размеров поднабора (т.е. значения для N G и N C) испытывался во втором (зонном) проходе следующим образом. Сообщенные значения dE и DE2000 предназначены для определенных значений X1, Y1, Z1.
Из вышеприведенной таблицы ясно, что во всех случаях второй зонный проход улучшает средние значения dE и DE2000 (имеется меньший разброс). Фиг.18 суммирует данные с уменьшением количества цветов (N C) шаблона, используемых во втором проходе, приводя к существенному улучшению DE2000. Уменьшение количества цветов (N G) шаблона серой шкалы для использования во 2-м проходе также улучшает DE2000, хотя эффект не такой существенный, как тот, который был получен посредством уменьшения цветов.
Испытание 2
Подобный анализ был выполнен над данными из второго шаблона (показанного на фиг.11). Как и для первого шаблона, 2-й проход приводит к существенному улучшению средней dE и DE2000 (см. таблицу ниже). Результаты отображены графически на фиг.19.
Фиг.19 демонстрирует, что уменьшение количества цветов (N C), используемых в поднаборе данных калибровки для второго прохода, существенно улучшает верность определенных XYZ (т.е. понижает DE2000). Однако уменьшение количества образцов (N G) серой шкалы для использования на этапе подгонки степенной кривой во 2-м проходе имеет малое влияние на верность цвета.
Испытание 3 и испытание 4
Испытание 3 и испытание 4 используют эталоны на шаблоне 2, но дополнительно имеют «реальные» данные образца в изображении, с которыми следует оценивать зонный способ калибровки.
Испытание 3
Испытание 3 представляет собой сценарий «наилучшего случая», использующий высококачественную цифровую камеру (DigiEye) при контролируемых условиях освещения (D65). Результаты от 10 испытательных образцов представлены в следующей таблице.
Еще раз, 2-й зонный проход уменьшает средние значения dE и DE2000, обеспечивая улучшение относительно устройства с единственным проходом. Влияние на DE2000 показано на фиг.20. В данном случае уменьшение как N G, так и N C оказало влияние на снижение средних полученных значений delta-E.
Испытание 4
Испытание 4 представляет собой сценарий «реалистического случая», использующий «имеющуюся в наличии» цифровую камеру (Canon PowerShot S30) при хорошем естественным дневном освещении. Результаты от 10 испытательных образцов представлены в нижеследующей таблице.
Влияние на DE2000 показано на фиг.21. В данном испытании, однако, имеются минимальные значения значений DE2000 при приблизительно 50 эталонах. Уменьшение количества эталонов серой шкалы для использования при втором проходе имеет малое влияние на DE2000.
Эти испытания показывают, что уменьшение количества цветов N C, используемых в многомерной регрессии, имеет существенное влияние на точность цвета, полученного для неизвестного образца. В частности, при условии, что могут быть получены некоторые априорные сведения о цвете неизвестного образца, ограничение до ближайших N C цветов, где N C находится в диапазоне 5-250, или более предпочтительно 10-100, или еще более предпочтительно 20-100, или более предпочтительно 30-70, или наиболее предпочтительно 40-60 для многомерной регрессии, может улучшить точность определения цвета. Фиг.21 изображает, что наиболее точное определение цвета было получено, когда около 50 ближайших цветов использовалось для многомерного анализа, хотя хорошие результаты с DE2000 менее 3,0 получены там, где используется количество цветов в пределах диапазона от около 20 цветов до около 100 цветов. В процентах это равняется от около 8% до около 40% количества цветов, которые могут быть доступны на карте 24 цветов, предполагая, например, что имеется около 250 цветов на карте.
С точки зрения того, как могут быть получены априорные сведения о цвете образца, как отмечено выше, в настоящем варианте осуществления они получаются посредством выполнения обработки первого прохода для определения цвета, и затем выполнения второго прохода с уменьшенным количеством цветов на этапе калибровки. Однако это не является существенным, и в других вариантах осуществления априорные сведения могут быть получены некоторым другим способом. Например, в одном варианте осуществления может быть возможным сделать предположение о сущности характеристик устройства формирования изображения (например, предполагая, что RGB-цвета находятся в цветовом пространстве sRGB). В другом варианте осуществления уменьшенное количество цветов может быть получено посредством выбора образцов, которые имеют измеренные RGB-значения, близкие к RGB-цвету, подлежащему измерению. В другом варианте осуществления цвета на карте цветов могут быть с уменьшенным диапазоном. Например, могут производиться разные версии карты цветов, причем каждая имеет на ней поднабор цветового пространства, т.е. карта имеет «красные цвета», или другая карта имеет «синие цвета». Пользователь тогда выбирает карту, имеющую цвета, которые являются ближайшими к цвету, который она желает подобрать, - например, пользователь знает, что она желает подобрать к красной диванной подушке, и, следовательно, использует карту 24, имеющую преимущественно красные цвета на ней. Во всех этих случаях уменьшенный набор образцов цвета, которые, как известно, находятся около цвета, подлежащего определению, используется для выполнения калибровки, и, следовательно, могут быть приняты во внимание локальные изменения в характеристике захвата цвета устройства в этой части цветового пространства.
5. Четвертый вариант осуществления - кластеризация для нахождения многочисленных цветов в образце
Ниже описывается четвертый вариант осуществления изобретения. Четвертый вариант осуществления берет в качестве своей основы любой из уже описанных первого, второго или третьего вариантов осуществления, и, следовательно, не описываются снова элементы, общие между ними.
Четвертый вариант осуществления изобретения представляет метод, который может использоваться, например, в блоке 3.6 процесса на фиг.3, где имеется более одного цвета в неизвестном образце цвета. Например, пользователь может разместить карту 24 над предметом, который является узорчатым и который, хотя имеется преобладающий цвет в узоре, имеет также несколько второстепенных цветов. В таком случае определение должно быть сделано, к какому цвету следует выполнить подбор. В первом варианте осуществления был представлен вариант выбора идентификации единственного преобладающего цвета, или посредством выбора пользователем цвета, или посредством определения преобладающего цвета, используя статистические оценки по пикселям, представляющим образец. В четвертом варианте осуществления, однако, используется алгоритм кластеризации, чтобы идентифицировать каждый из нескольких цветов в неизвестном образце цвета, так что индивидуальное определение XYZ и подбор тогда могут выполняться над каждым индивидуальным цветом.
В четвертом варианте осуществления используется алгоритм кластеризации k средних для определения главных цветов, которые присутствуют в изображении образца. Кластеризация k средних основывается на евклидовом расстоянии между значениями пикселей. В RGB-пространстве различия не наблюдаются, так как они являются равными. Это означает, что два пикселя, которые являются очень близкими друг к другу в RGB-пространстве, могут казаться очень разными цветами или очень подобными цветами. Чтобы это преодолеть, пиксели преобразуются в пространство L*a*b*, которое является более однородным с учетом восприятия, так что воспринимаемое различие между пикселями является относительно единообразным по всему цветовому пространству. Этот процесс выполняется над изображением, если у него был устранен наклон, и, предпочтительно, если было устранено изменение освещенности по карте (т.е. он работает по калиброванным цветам из изображения).
Используется итерационный процесс для определения, сколько кластеров присутствует в части изображения, представляющей неизвестный образец, и каким является средний цвет в каждом кластере. Первая итерация является самой простой, так как предполагается, что имеется только один кластер пикселей в образце. Это означает, что алгоритм k средних возвращает кластер, содержащий все пиксели. Берется среднее значение L*a*b* пикселей в изображении, и затем вычисляется количество пикселей в пределах некоторого расстояния от данного среднего. Если количество найденных пикселей превышает порог, тогда предполагается, что имеется только один цвет в изображении, однако, если количество пикселей ниже порога, тогда алгоритм k средних исполняется на изображении, пытаясь сгруппировать пиксели в два кластера. Вычисляется среднее значение L*a*b* каждого кластера, и подсчитывается количество пикселей, присутствующих в пределах некоторого расстояния от этого значения пикселя. Выполняется два вычисления для проверки, является ли это существенным - первое проверяет, что большая часть пикселей в этом кластере находится в пределах установленного расстояния (т.е. что среднее является хорошим представлением этого кластера), и этот кластер игнорируется, если недостаточное количество пикселей находится в пределах установленного расстояния. Вторым вычислением является то, что количество пикселей в пределах установленного расстояния от среднего всех действительных кластеров должно быть выше порога (т.е. проверить, что наблюдалось достаточное количество пикселей, чтобы иметь уверенность, что были идентифицированы преобладающие цвета). Если количество подсчитанных пикселей меньше данного порога, тогда алгоритм k средних исполняется снова, но пытается сгруппировать пиксели в три кластера вместо двух, и анализ повторяется.
Следующий алгоритм используется для нахождения кластеров, и он показан более подробно на фиг.8. Алгоритм имеет несколько регулируемых параметров:
Максимальный радиус delta-E (dE_thresh);
Требуемая доля изображения (F_img);
Минимальная доля в кластере (F_cluster);
Максимальное количество кластеров для попытки (N_max),
и они устанавливаются для конкретной реализации в блоке 8.2. Экспериментирование показывает подходящие значения для регулируемых параметров.
Алгоритм следующий:
1. Начать с 1 кластера (т.е. все пиксели в образце) (блок 8.4).
2. Если количество кластеров больше N_max, переходить на этап 5 (блок 8.6).
3. Вычислить следующую статистику для каждого кластера (блок 8.8):
a. Среднее значение пикселя (L*a*b*) (блок 8.10);
b. Количество пикселей в пределах dE_thresh среднего значения пикселя (P_thresh) (блок 8.12).
4. Если Sum(P_thresh)/(Количество пикселей в изображении) меньше F_img (блок 8.14), увеличить количество кластеров на 1 и перейти на этап 2 (блок 8.16).
5. Отфильтровать кластеры, чтобы они включали только те, которые имеют P_thresh/(количество пикселей в кластере)>F_cluster (блок 8.20).
В вышеописанном изобретатели ссылаются на цветовые значения в Lab-пространстве, алгоритм также может исполняться с использованием XYZ-значений, так как два набора цветовых данных математически связаны.
Фиг.9 и 10 графически иллюстрируют работу алгоритма. На фиг.9(а) идентифицируется кластер 92, но кластер не проходит испытание на порог плотности, так как слишком высокий процент пикселей находится вне расстояния dE_thrash от среднего значения кластера. На фиг.9(b) сделана попытка кластеризовать распределение в два кластера, но кластер 94 является недействительным, так как недостаточное количество пикселей располагается в пределах радиуса кластера. Кроме того, образец в целом не проходит порог для всего изображения образца, так как слишком много пикселей не находится в действительных кластерах. Поэтому количество кластеров увеличивается до 3, и кластеризация выполняется снова.
Фиг.10 иллюстрирует то же распределение, что и на фиг.9(b), но с тремя кластерами. В части (а) фиг.10 количество пикселей в пределах расстояния среднего значения является недостаточно высоким для прохода, используя два кластера в алгоритме k средних, поэтому анализ выполняется снова, используя три кластера. Тогда количество пикселей в пределах фиксированного расстояния является достаточно высоким, поэтому три цвета, найденных в изображении, представляют собой средние значения каждого кластера пикселей. В данном случае могут быть идентифицированы кластеры 1010, 1020 и 1030, так как каждый удовлетворяет примененным пороговым испытаниям.
Различные модификации могут быть выполнены в вышеописанных вариантах осуществления для обеспечения дополнительных вариантов осуществления. Например, в каждом из второго-четвертого вариантов осуществления каждый из них описан как основанный на первом варианте осуществления. В первом варианте осуществления изображение передается по сети связи на внутренний сервер для обработки. В разновидностях первого-четвертого вариантов осуществления, однако, это необязательно так. Вместо этого программа может быть сделана доступной для скачивания на компьютер или мобильный телефон пользователя, который может выполнить описанные операции обработки. Таким образом, компьютер или телефон пользователя может вычислять цвет неизвестного образца из снятого изображения и необязательно предлагать подборы цвета краски, без каких-либо данных изображения, необходимых для посылки по сети.
Кроме того, в вышеописанных вариантах осуществления указывалось, что изображение, которое снимается, содержит как карту 24, так и неизвестный образец. Однако это не является существенным. В других вариантах осуществления могут обеспечиваться два отдельных изображения, разделенных во времени. Первое изображение может представлять собой изображение карты 24, которое используется для нахождения коэффициентов калибровки для устройства формирования изображения пользователя. Отдельное изображение тогда может содержать неизвестный образец, коэффициенты калибровки, найденные из первого изображения, затем применяются к RGB-значениям неизвестного образца во втором изображении. Однако это устройство является менее предпочтительным, чем вышеописанное устройство; что касается точности, то необходимо поддерживать, по существу, идентичными условия освещения первого и второго изображений. Однако это препятствие устраняется, если снимается единственное изображение, содержащее как карту 24 калибровки, так и образец.
Различные другие модификации, посредством добавления, удаления или замены, очевидны для специалиста в данной области техники и обеспечивают дополнительные примеры, любые и все из которых, как предполагается, охватываются объемом прилагаемой формулы изобретения.
название | год | авторы | номер документа |
---|---|---|---|
СПОСОБ И СИСТЕМА ДЛЯ ОПРЕДЕЛЕНИЯ ЦВЕТА ПО ИЗОБРАЖЕНИЮ | 2011 |
|
RU2573255C2 |
СПОСОБ И СИСТЕМА ДЛЯ ОПРЕДЕЛЕНИЯ ЦВЕТА ИЗ ИЗОБРАЖЕНИЯ | 2011 |
|
RU2567500C2 |
СПОСОБ И СИСТЕМА ДЛЯ ОПРЕДЕЛЕНИЯ ЦВЕТА ИЗ ИЗОБРАЖЕНИЯ | 2011 |
|
RU2567863C2 |
ИНТЕЛЛЕКТУАЛЬНАЯ НАСАДКА НА СМАРТФОН ДЛЯ ОПРЕДЕЛЕНИЯ ЧИСТОТЫ, ВЛАЖНОСТИ И ФОТОВОЗРАСТА КОЖИ | 2016 |
|
RU2657377C2 |
ПОРТАТИВНОЕ УСТРОЙСТВО ДЛЯ ИЗМЕРЕНИЯ ХРОМОФОРОВ В КОЖЕ И СПОСОБ ПРИМЕНЕНИЯ УСТРОЙСТВА | 2014 |
|
RU2601678C2 |
ВИЗУАЛИЗАЦИЯ ТОНИРОВАНИЯ ДРЕВЕСИНЫ | 2020 |
|
RU2815612C2 |
Управление цветом | 2015 |
|
RU2707513C2 |
СПОСОБ ОПРЕДЕЛЕНИЯ ЦВЕТНОСТИ ВОДЫ | 2014 |
|
RU2572672C1 |
СПОСОБ ИЗМЕРЕНИЯ ЦВЕТА | 2005 |
|
RU2297604C1 |
УСТРОЙСТВО И СПОСОБ ОБРАБОТКИ ИЗОБРАЖЕНИЙ | 2003 |
|
RU2291585C2 |
Изобретение относится к способу определения цвета образца цвета из изображения, например, при выборе цвета краски. Техническим результатом является обеспечение точной идентификации цвета неизвестного образца цвета и надежной калибровки в условиях изменения освещенности. Предложена карта захвата образца цвета, имеющая отпечатанные на ней образцы цвета известного цвета (например, XYZ-координаты цвета), изображение испытательного образца цвета захватывается с использованием бытового оборудования с цифровой камерой. Изображение затем передается удаленной услуге определения цвета для определения цвета образца цвета и выполняется регрессионный анализ, использующий образцы RGB-цвета в изображении и его известные XYZ-цвета для характеризации отклика захвата цвета устройства захвата изображения с учетом изменений пространственной яркости по изображению. На основе характеризации устройства захвата изображения XYZ-цвет неизвестного образца цвета может быть определен из его RGB-цвета в изображении. 3 н. и 10 з.п. ф-лы, 21 ил.
1. Способ определения цвета из изображения, содержащий:
прием первых данных изображения, относящихся к неизвестному образцу цвета, колориметрические данные для которого должны быть определены;
прием вторых данных изображения, относящихся к множеству известных образцов цвета калибровки, колориметрические данные для которых уже известны;
определение множества характеристик калибровки цвета, связывающих измерения цвета известных образцов цвета калибровки из вторых данных изображения с соответствующими известными колориметрическими данными образцов цвета калибровки; и
вычисление колориметрических данных неизвестного образца цвета в зависимости от их измерений цвета из первых данных изображения и определенных характеристик калибровки цвета;
причем способ отличается тем, что дополнительно содержит компенсацию различий яркости по набору известных образцов цвета калибровки при определении множества характеристик калибровки цвета;
при этом компенсация содержит определение первого набора одной или нескольких функций, имеющих первый набор коэффициентов калибровки, причем одна или несколько функций связывают измеренные цвета известных образцов цвета калибровки из вторых данных изображения с известными колориметрическими данными образцов цвета калибровки и известным положением каждого известного образца в изображении; и анализ определенных функций для нахождения второго набора функций, имеющих второй набор коэффициентов калибровки, причем первый и второй наборы функций и коэффициентов калибровки используются при вычислении колориметрических данных неизвестного образца цвета.
2. Способ по п. 1, в котором анализ содержит вычисление промежуточных значений цвета для каждого известного образца цвета калибровки и затем использование вычисленных промежуточных значений цвета для определения второго набора функций, имеющих второй набор коэффициентов калибровки.
3. Способ по п. 2, в котором вычисленные промежуточные значения цвета подвергаются многомерной подгонке для определения второго набора функций, имеющих второй набор коэффициентов калибровки.
4. Способ по п. 3, в котором многомерная подгонка имеет вид:
5. Способ по любому из пп. 1-4, в котором компенсация дополнительно содержит, перед определением первого набора функций, определение предшествующего набора функций, имеющих предшествующий набор коэффициентов калибровки, которые связывают измеренные цвета известных образцов цвета калибровки из вторых данных изображения с известными колориметрическими данными образцов цвета калибровки без учета положения известных образцов цвета, причем предшествующий набор коэффициентов калибровки используется в качестве части первого набора коэффициентов калибровки при определении первого набора одной или нескольких функций.
6. Способ по п. 5, в котором предшествующий набор функций определяется с использованием только образцов серой шкалы.
7. Считываемый компьютером носитель, имеющий компьютерную программу, хранящуюся на нем, которая выполнена так, что при исполнении на компьютерной системе вызывает выполнение компьютерной системой способа по любому из пп. 1-6.
8. Устройство для определения цвета из изображения, содержащее:
по меньшей мере один процессор; и
по меньшей мере одну память, включающую в себя компьютерный программный код, причем по меньшей мере одна память и компьютерный программный код выполнены так, что вызывают выполнение устройством, при помощи по меньшей мере одного процессора, по меньшей мере следующего:
прием первых данных изображения, относящихся к неизвестному образцу цвета, колориметрические данные для которого должны быть определены;
прием вторых данных изображения, относящихся к множеству известных образцов цвета калибровки, колориметрические данные для которых являются уже известными;
определение множества характеристик калибровки цвета, связывающих измерения цвета известных образцов цвета калибровки из вторых данных изображения с соответствующими известными колориметрическими данными образцов цвета калибровки; и
вычисление колориметрических данных неизвестного образца цвета в зависимости от их измерений цвета из первых данных изображения и определенных характеристик калибровки цвета;
причем устройство отличается тем, что по меньшей мере одна память и компьютерный программный код выполнены так, что вызывают компенсацию устройством, при помощи по меньшей мере одного процессора, различий яркости по набору известных образцов цвета калибровки при определении множества характеристик калибровки цвета;
причем компенсация содержит определение первого набора одной или нескольких функций, имеющих первый набор коэффициентов калибровки, причем одна или несколько функций связывают измеренные цвета известных образцов цвета калибровки из вторых данных изображения с известными колориметрическими данными образцов цвета калибровки и известным положением каждого известного образца в изображении; и анализ определенных функций для нахождения второго набора функций, имеющих второй набор коэффициентов калибровки, причем первый и второй наборы функций и коэффициентов калибровки используются при вычислении колориметрических данных неизвестного образца цвета.
9. Устройство по п. 8, в котором анализ содержит вычисление промежуточных значений цвета для каждого известного образца цвета калибровки и затем использование вычисленных промежуточных значений цвета для определения второго набора функций, имеющих второй набор коэффициентов калибровки.
10. Устройство по п. 9, в котором вычисленные промежуточные значения цвета подвергаются многомерной подгонке для определения второго набора функций, имеющих второй набор коэффициентов калибровки.
11. Устройство по п. 10, в котором многомерная подгонка имеет вид:
12. Устройство по любому из пп. 8-11, в котором компенсация дополнительно содержит, перед определением первого набора функций, определение предшествующего набора функций, имеющих предшествующий набор коэффициентов калибровки, которые связывают измеренные цвета известных образцов цвета калибровки из вторых данных изображения с известными колориметрическими данными образцов цвета калибровки без учета положения известных образцов цвета, причем предшествующий набор коэффициентов калибровки используется в качестве части первого набора коэффициентов калибровки при определении первого набора одной или нескольких функций.
13. Устройство по п. 12, в котором предшествующий набор функций определяется с использованием только образцов серой шкалы.
СПОСОБ ПОДБОРА ЦВЕТА ПОСРЕДСТВОМ УСТРОЙСТВА ФОРМИРОВАНИЯ ЭЛЕКТРОННОГО ОТОБРАЖЕНИЯ | 2000 |
|
RU2251084C2 |
B | |||
FRASER et al, Real World color Management (2nd edition), Peachpit Press, 8 September 2004, с.с.151-152 | |||
SEOK-HAN LEE et al, Color Correction System Using a Color Compensation Chart for the Images from Digital Camera, 1 January 2006, Advances in Image and Video Technology lecture Notes in Computer Science, Springer, |
Авторы
Даты
2015-05-10—Публикация
2011-01-17—Подача