СПОСОБ И СИСТЕМА ДЛЯ ОПРЕДЕЛЕНИЯ ЦВЕТА ИЗ ИЗОБРАЖЕНИЯ
METHOD AND SYSTEM FOR IMAGE COLOUR DEFINITION

ОБЛАСТЬ ТЕХНИКИ
Варианты осуществления изобретения относятся к способу и системе для определения цвета цветового образца из изображения цветового образца.
ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ
Когда выбирают цвет краски для декорирования комнаты, часто происходит так, что клиент хочет подобрать цвет краски к цвету определенного элемента, который будет находиться в комнате, например, элемента мебели или мягкой обивки, например, подушек, дивана, занавесок и т.п. Производители краски обычно обеспечивают большие палитры цветов, и розничные магазины красок обеспечивают подробное представление цветов, что предоставляет возможность клиентам выбирать цвет. Карты цветовых образцов доступны пользователю, чтобы он отвез их домой и подобрал цвет к элементу, к которому нужно подобрать цвет. Однако, обычно требуется, чтобы клиент посетил розничный магазин красок, забрал карты цветов, отвез эти карты цветов домой, и затем попытался сравнить цветовые образцы на картах цветов с цветом элемента, который должен быть подобран. Клиент должен затем возвратиться в магазин, обычно купить тестовые емкости с краской, возвратиться домой, использовать тестовые емкости с краской и затем окончательно принять решение о покупке. Кроме того, такие обычные методики основаны на восприятии отдельного клиента о том, какой цвет краски лучше подобран. Однако известно, что восприятие цвета значительно отличается от одного человека к другому, так что цвет, подобранный для образца, выбранный одним человеком, не будет казаться подобранным цветом другому человеку.
Одним из возможных решений данной проблемы является попытка подбирать цвета с помощью электроники, используя цифровое изображение. При этом в настоящее время в распоряжении бытовых пользователей обычно имеется множество цифровых устройств захвата изображения в форме цифровых камер или камер мобильных телефонов.
Однако, характеристики захвата цвета обычных бытовых доступных устройств захвата изображения, таких как цифровые камеры, мобильные телефоны и т.п., значительно отличаются от устройства к устройству, и следовательно, точный захват цвета обычно невозможен. Доступны специализированные спектрофотометрические устройства, которые могут точно измерять цвет, но они не по средствам большинству бытовых потребителей. Обычные бытовые устройства захвата изображения захватывают изображение и представляют цвет, используя пиксельные значения RGB. Обычно используют 24 бита или 16 битов RGB. Когда используют 16-битные значения, с каждым из красного и синего каналов обычно сопоставляют пять битов, тогда как с зеленым каналом сопоставляют шесть битов. При этом человеческий глаз более чувствителен к зеленым цветам, чем к красным и синим цветам, и, следовательно, он обнаруживает большее количество зеленых цветов. Когда используют 24-битный цвет, тогда это приводит к восьми битам, или 256 цветов, в канале цвета.
Однако, из-за отмеченных выше различий в устройствах захвата изображения при точном захвате цвета, и также в устройствах воспроизведения изображения, таких как мониторы и т.п., при воспроизведении цветов, значения RGB цвета не расценивают как стандартные значения. Вместо этого существуют определенные определяющие цвет стандарты, установленные Международной комиссией по освещению (CIE), как координаты цвета CIE X, Y, Z, или так называемые значения CIELAB (L*, a*, b*). Значения CIELAB соотносят с координатами цвета XYZ, используя известную математическую формулу. Сами координаты цвета XYZ соотносятся с длинами волн, присутствующими в определенном цвете.
ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ
Вопрос калибровки устройства захвата изображения с помощью установления соотношения захваченных с его помощью значений RGB со стандартными значениями, такими как координаты цвета XYZ, или значения CIELAB, решили ранее в US 5150199 и WO01/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 в значительной степени является экспериментальным.
Однако, WO01/25737 частично устраняет эти недостатки US 5150199. WO01/25737 также описывает подбор захваченных значений RGB для стандартных колориметрических данных, и в частности, подбор для значений CIELAB. Математический анализ, описанный в WO01/25737, является, по существу, тем же самым, что и описанный в US 5150199, хотя WO01/25737 вводит концепцию шаблона калибровки известных цветов, колориметрические данные которых известны. Неизвестный цвет, который будут измерять, затем отображают одновременно с шаблоном калибровки. Шаблон калибровки содержит в одном примере 65 известных цветов, а в другом примере - 37 известных цветов, распределенных по цветовому пространству. С помощью захвата значений RGB цветов калибровки можно вычислять математическую модель, необходимую для преобразования измеренных сигналов известных цветов в колориметрические данные (например, в значения CIELab). Когда эта модель получена, тогда цвета (в цветовом пространстве CIELab) любых неизвестных цветов изображения можно затем определять из его значений RGB.
WO01/25737 описывает, что изображение цветового образца, который должен быть определен, захватывают одновременно с шаблоном калибровки, используя, например, планшетный сканер или цифровую камеру. Захваченное изображение затем обрабатывают для определения неизвестного цвета изображения. Данная структура описана, как особенно полезная в промышленности ремонта автомобилей. При этом цвет автомобиля, который необходимо отремонтировать, измеряют, используя электронное устройство создания изображений. Перед этим или в то же самое время регистрируют панель, на которой нанесены различные цвета калибровки. Колориметрические данные цвета автомобиля затем вычисляют и затем находят формулу цвета, которая даст цвет, идентичный цвету автомобиля, который необходимо отремонтировать. Формулу цвета подготавливают в дозаторе и затем применяют.
WO01/25737 поэтому описывает структуру, которая будет использоваться в профессиональных ситуациях, например, при ремонте автомобилей или в окрасочных цехах. Также, WO01/25737 не решает все проблемы, относящиеся к таким вопросам, как случаи, когда освещение изменяется на захваченном изображении, когда изображение не находится в правильной ориентации, или когда цветовой образец фактически содержит различные цвета, пространственно перемешанные на образце. Для сравнения, в бытовой ситуации могут происходить все эти необычные ситуации.
Другой предшествующий уровень техники изобретения включает в себя WO02/13136, WO2008/108763 и WO2004/028144.
СУЩНОСТЬ ПРИМЕРОВ ИЗОБРЕТЕНИЯ
Варианты осуществления изобретения решают некоторые из отмеченных выше вопросов, и относятся к определению цвета цветового образца из изображения цветового образца, данное изображение обычно (хотя не исключительно) захвачено низкоквалифицированным пользователем, используя неспециализированное оборудование. В одном из вариантов осуществления обеспечивают карту захвата цветовых образцов, на которой имеются напечатанные на ней цветовые образцы известных цветов (например, координаты цвета XYZ). Изображение тестового цветового образца затемзахватывают, используя доступное бытовое оборудование, например, потребительскую цифровую камеру или оборудованный камерой мобильный телефон, изображение также содержит карту захвата цветовых образцов. В одном из вариантов осуществления изображение затем передают к службе удаленного определения цвета для определения цвета цветового образца. Регрессионный анализ выполняют, используя цветовые образцы RGB на изображении и их известные цвета XYZ, для определения характеристик отклика захвата цвета устройства захвата изображения. После определения характеристик устройства захвата изображения цвет XYZ неизвестного цветового образца можно определять по цвету RGB на изображении. Зная цвет 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) сообщения MMS; и/или iii) как данные изображения на веб-странице. Кроме того, информацию, относящуюся к подобранному цвету краски, можно также предоставлять, как любое из i) сообщения электронной почты; ii) сообщения MMS; iii) сообщения SMS и/или iv) данных на веб-странице. Такие протоколы связи облегчают обеспечение услуги дистанционного побора краски, которая знакома и удобна пользователям.
В одном из вариантов осуществления данные первого изображения и данные второго изображения создает пользователь, используя устройство захвата изображения; причем устройство захвата изображения предпочтительно является любым из: i) цифровой камеры; ii) оборудованного камерой мобильного телефона; и/или iii) цифровой видеокамеры. К тому же таким оборудованием легко управлять обычному пользователю, и пользователь знаком с работой такого оборудования.
В одном из вариантов осуществления определенные колориметрические данные и/или известные колориметрические данные являются значениями координат XYZ. Значения координат XYZ определяют постоянные и определенные стандартизированные цвета.
В одном из вариантов осуществления можно определять дополнительные цвета для подобранного цвета, и информацию, относящуюся к определенным дополнительным цветам, обеспечивают пользователю. С помощью обеспечения дополнительных цветов можно более легко определять цветовую схему.
В одном из вариантов осуществления по меньшей мере данные второго изображения ориентируют в известную ориентацию для обеспечения распознавания известных цветовых образцов калибровки. Автоматическое ориентирование данных изображения предоставляет возможность легкого использования для конечного пользователя, поскольку захваченные данные второго изображения не должны быть захвачены ни в какой определенной необходимой ориентации.
В данном варианте осуществления ориентирование предпочтительно содержит выполнение обнаружения края для идентификации расположения набора известных цветовых образцов калибровки в данных второго изображения. Кроме того, ориентирование может дополнительно содержать идентификацию множества предопределенных точек, относящихся к набору известных цветовых образцов калибровки, в данных второго изображения. Когда эти известные точки идентифицированы, перспективное преобразование можно применять к данным второго изображения в зависимости от расположения идентифицированных точек для устранения искажения изображения набора известных цветовых образцов калибровки.
Кроме того, в данном варианте осуществления ориентирование может дополнительно содержать идентификацию предварительно определенных меток вращательной ориентации, относящихся к набору известных цветовых образцов калибровки, в данных второго изображения. Данные второго изображения можно затем вращать в зависимости от расположения идентифицированных меток вращательной ориентации таким образом, что известные цветовые образцы калибровки размещают в известной позиции в данных второго изображения.
В одном из вариантов осуществления отличия яркости можно также компенсировать по набору известных цветовых образцов калибровки. Это предоставляет возможность захвата данных изображения в неуправляемых условиях освещения, когда может существовать неравномерное освещение по изображению. Кроме того, это предоставляет возможность легкого использования для конечного пользователя.
В данном варианте осуществления компенсация может содержать определение первого набора из одной или большего количества функций, имеющих первый набор коэффициентов калибровки, эти одна или большее количество функций соотносят измеренные цвета известных цветовых образцов калибровки из данных второго изображения с известными колориметрическими данными цветовых образцов калибровки и известной позицией каждого известного образца на изображении. Определенные функции затем анализируют для поиска второго набора функций, устанавливающих вторые коэффициенты калибровки. Первые и вторые наборы функций и коэффициентов калибровки затем используют при вычислении колориметрических данных неизвестного цветового образца.
Кроме того, более предпочтительно компенсация яркости дополнительно содержит, перед определением первого набора функций, определение набора исходных функций, устанавливающих исходные коэффициенты калибровки, которые соотносят измеренные цвета известных цветовых образцов калибровки из данных второго изображения с известными колориметрическими данными цветовых образцов калибровки, не учитывая позицию известных цветовых образцов. Набор исходных коэффициентов калибровки затем используют в качестве части первого набора коэффициентов калибровки при определении первого набора из одной или большего количества функций.
В одном из вариантов осуществления изобретения алгоритм разделения на кластеры можно применять к пиксельным значениям пикселей, представляющих неизвестный цветовой образец на первом изображении, для определения количества цветов на изображении образца, и цвет идентифицировать для каждого идентифицированного кластера. С помощью такой структуры, если неизвестный цветовой образец содержит больше одного цвета, то можно идентифицировать каждый преобладающий цвет и/или отдельно идентифицировать отдельные цвета.
В данном варианте осуществления пиксельные значения сначала калибруют, используя характеристики калибровки цвета. Это имеет влияние на обеспечение того, что алгоритм разделения на кластеры работает с реальными цветами в цветовом образце.
Используемый алгоритм разделения на кластеры может затем работать с помощью: i) вычисления среднего значения для пикселей в кластере; ii) последующего определения количества пикселей в пределах предопределенного порогового расстояния от среднего значения; и затем iii) увеличения количества кластеров, если определенное количество пикселей меньше предопределенной части от количества пикселей в данных первого изображения, относящихся к неизвестному образцу. Таким образом стало возможным идентифицировать различные цвета в образце, причем каждый идентифицированный кластер относится к соответствующему отдельному цвету.
Чтобы гарантировать, что обнаружены преобладающие или важные цвета в образце, в одном из вариантов осуществления можно также фильтровать кластеры для удаления из рассмотрения тех кластеров, которые не содержат пороговое количество пикселей в пределах второго порогового расстояния от среднего значения из кластера. Следовательно, кластеры цвета только с небольшим количеством пикселей не идентифицируют в качестве преобладающих или важных цветов на образце.
По второму аспекту изобретения также обеспечивают устройство, содержание: по меньшей мере один процессор; и по меньшей мере одно запоминающее устройство, включающее в себя код компьютерной программы, причем по меньшей мере одно запоминающее устройство и код компьютерной программы сконфигурированы для того, чтобы с помощью по меньшей мере одного процессора побудить устройство выполнять по меньшей мере следующие этапы, на которых: i) принимают данные первого изображения, относящиеся к неизвестному цветовому образцу, колориметрические данные для которого должны быть определены, и данные второго изображения, относящиеся ко множеству известных цветовых образцов калибровки, колориметрические данные которых уже известны; ii) определяют множество характеристик калибровки цвета, соотносящих измерения цвета известных цветовых образцов калибровки из данных второго изображения с соответствующими известными колориметрическими данными цветовых образцов калибровки; и iii) вычисляют колориметрические данные неизвестного цветового образца в зависимости от измерений цвета из данных первого изображения и определенных характеристик калибровки цвета; которое отличается тем, что характеристики калибровки цвета определяют, используя N известных цветовых образцов калибровки, причем N меньше общего количества известных цветовых образцов калибровки по всему цветовому пространству.
Дополнительные аспекты и особенности настоящего изобретения будут очевидны из прилагаемой формулы изобретения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Дополнительные особенности и преимущества примеров изобретения станут очевидны из последующего описания конкретных вариантов осуществления изобретения, представленных только для примера, и в отношении сопроводительных чертежей, на которых одинаковые позиционные обозначения относятся к одинаковым частям, и на которых:
фиг. 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 через локальную сеть, например, через маршрутизатор WiFi 18. Затем пользователь может использовать компьютер 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 цветовых образцов калибровки сохраняют идентификатор карты, и затем для каждого известного цветового образца на карте сохраняют известные координаты цвета 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 и WO01/25737, и он показан более подробно на фиг. 5. Обращаясь к фиг. 3, регрессионный анализ для определения характеристик данного устройства, который выполняют на этапе 3.4, в отношении компоновки 35 карты калибровки, известен из данных 112 карты цветов, которые хранятся в базе данных 110 цветов.
Алгоритм итерационной регрессии охватывает два следующих отдельных этапа обработки:
Этап 1: определяют 3 зависимости между каждым из измеренных компонентов R, G и B и известными компонентами X, Y и Z, используя полутоновые цветовые образцы на карте 24 цветовых образцов калибровки, т.е.
1
- X как функция R (называют функцией R).
1
- Y как функция G (называют функцией G).
1
- Z как функция B (называют функцией B).
1
1
1
-го
-го
Аппроксимацию экспоненциальной кривой можно использовать для полутоновых данных для получения зависимости R, G, B на приведенном выше этапе 1. Также можно использовать аппроксимацию полиномиальной кривой любого 2, 4 или более высоких порядков.
Этап 2: определяют многовариантные линейные зависимости между каждым из известных компонент X, Y и Z и тремя функциями, определенными выше на этапе 1, т.е.
1
1
1
1
- X как функция R, G, B (называют функцией X).
1
1
1
1
- Y как функция R, G, B (называют функцией Y).
1
1
1
1
- Z как функция R, G, B (называют функцией Z).
1
1
1
На этапе 2 в алгоритме выполняют многовариантную регрессию X, Y и Z в зависимости от аппроксимаций экспоненциальной кривой R, G и B, полученных на этапе 1, т.е.
1
1
1
X=f (R, G, B)
1
1
1
Y=f (R, G, B)
1
1
1
Z=f (R, G, B)
Или
1
1
1
где a, b, c и d - постоянные коэффициенты. Три многовариантных аппроксимации регрессии X, Y и Z обозначены X, Y и Z, соответственно.
На фиг. 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, и затем на этапе 5.10 координаты XYZ цвета для этого образца в той же самой позиции (x, y) ищут в базе данных. Этот процесс повторяют для всех полутоновых образцов на изображении, которые на карте 24 калибровки расположены на внешнем краю цветовых образцов, как образцы 250. В альтернативных вариантах осуществления этот этап не должен быть ограничен полутоновыми образцами, и другие цветовые образцы можно также использовать в дополнение или в качестве альтернативы.
К концу обработки составляющих этапов 5.6-5.12, поэтому, для каждого известного цвета или полутонового образца на изображении координаты XYZ цвета получены из соответствующих данных карты цветов в базе данных 110 цветов, и значения 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, и изображение было захвачено, используя профессиональную цифровую камеру (Canon 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, который был определен, с каждым цветом палитры, используя данное измерение отличия, выбирают цвет с наименьшим отличием. Можно использовать несколько различных измерений отличия, но в вариантах осуществления изобретения предпочтительно используют измерения E Delta CIE. В частности, можно использовать исходный показатель отличия цвета E Delta CIE (1976), или в другом варианте осуществления - измерение E Delta CIE (2000). В дополнительном варианте осуществления можно использовать E Delta (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, полученные для каждого из описанных выше способов.
Тип полутоновой аппроксимации
Компоненты XYZ
Среднее значение dE(std)
Среднее значение DE2000
Тест 1, шаблон 1; фотокамера PowerShot S30 при естественном дневном освещении
Экспоненциальная функция
X<sub>1</sub>, Y<sub>1</sub>, Z<sub>1</sub>
6,04
3,78
Тест 2, шаблон 2 (специальные серые цвета NCS); фотокамера DigEye при освещении D65/10є
Экспоненциальная функция
X<sub>1</sub>, Y<sub>1</sub>, Z<sub>1</sub>
4,64
2,83
Полином 2-го порядка
X<sub>1</sub>, Y<sub>1</sub>, Z<sub>1</sub>
4,31
2,68
Полином 4-го порядка
X<sub>1</sub>, Y<sub>1</sub>, Z<sub>1</sub>
4,80
2,83
1
1
1
Данные в приведенной выше таблице указывают, что замена аппроксимации экспоненциальной кривой полутоновых данных полиномиальной аппроксимацией имеет небольшое влияние на результирующие значения X, Y, Z с небольшим или отсутствием влияния на среднее значение DE2000. Поэтому замена аппроксимации экспоненциальной кривой полутоновых данных на полиномиальную аппроксимацию не приводит ни к какому существенному улучшению при калибровке. Это может быть потому, что любой разброс в полутоновой аппроксимации кривой учитывают в процессе многомерной регрессии на этапе 2.
Что касается результатов, измерения отличия dE разработаны таким образом, что у минимального значимого отличия для человеческого наблюдателя было бы значение dE, равное 1. Однако, для многих людей dE, равное 1, не приводит ни к какому значимому отличию в цвете, и особенно, если цвета не размещены рядом. В данном случае описанный процесс определения цвета, который используется в шаблоне с дополнительными полутоновыми значениями, используемыми в итерационной регрессии (тест 2, используя шаблон, показанный на фиг. 11), приводит к вычислению значений XYZ, имеющих среднее значение dE2000, которое меньше 3, из фактических значений XYZ в каждом тестовом случае.
Как до сих пор описано, регрессионный анализ для поиска коэффициентов калибровки использовался для максимального количества образцов на карте по всему цветовому пространству. Однако, в настоящем варианте осуществления, если некоторая предварительная информация о возможном цвете неизвестного образца, который должен быть определен, может быть получена, то регрессионный анализ для определения коэффициентов калибровки можно выполнять, используя эти известные цветовые образцы, которые расположены близко к цвету неизвестного образца. Это похоже на «увеличение масштаба» для представляющей интерес части цветового пространства, т.е. той части характеристики захвата цвета пользовательского устройства захвата изображения, которая имеет фактически больший интерес из-за того, что эта часть использовалась для захвата значения 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. Затем на этапе 6.4 определяют цвет XYZ неизвестного цветового образца.
G
G
G
Эту информацию затем используют на этапе 6.6 для идентификации N самых близких цветов образца для идентифицированного цвета XYZ неизвестного образца. В данном варианте осуществления находят N самых близких полутоновых образцов и Nc самых близких цветовых образцов, где N обычно меньше Nc. Подробности тестов, выполняемых для определения значения для N и Nc, будут приведены ниже по тексту. Самые близкие полутоновые образцы и цветовые образцы находят, используя измерение отличия delta_E, например, delta_E (2000).
Найдя самые близкие цвета (полутоновые и цветные), на этапе 6.8 снова выполняют калибровку для повторного определения коэффициентов калибровки, но на этот раз используя только найденные самые близкие цвета. Как отмечено, это аналогично увеличению масштаба изображения или фокусировке на определенной зоне в цветовом пространстве. В теории необходимо учитывать любые локальные влияния, которые присутствуют в процессе калибровки.
Повторно определив коэффициенты калибровки, на этапе 6.10 значения XYZ неизвестного образца затем повторно вычисляют, используя новые коэффициенты калибровки и измеренные значения RGB изображения.
Множество тестов было выполнено для оценки влияния этой повторной калибровки, и они детализированы ниже, в отношении фиг. 18 - 21.
Тест 1
G
C
1
1
1
В качестве начальной оценки данного зонального способа калибровки измеренные значения RGB для двух ранее обсуждаемых тестовых шаблонов (второй тестовый шаблон показан на фиг. 11, первый шаблон идентичен, но без строки полутоновых цветов внизу) использовались в качестве значений RGB образца. Диапазон размеров поднаборов (т.е. значения для N и N) проверялся во втором (зональном) проходе следующим образом. Представленные значения dE и DE2000 предназначены для определенных значений X, Y, Z.
Тест 1: Шаблон 1 (6 серых цветов), Canon PowerShot S30, естественный дневной свет
# ближайших цветов
# ближайших серых цветов
Среднее значение dE (std)
Среднее значение DE2000
1-й проход
256 (все)
6
6,04
3,78
2-й проход
150
6
4,63
3,01
2-й проход
150
3
4,48
2,85
2-й проход
100
6
4,01
2,69
2-й проход
100
3
3,87
2,56
2-й проход
50
6
3,30
2,29
2-й проход
50
3
3,30
2,24
2-й проход
25
6
2,80
1,97
2-й проход
25
3
2,85
1,96
c
G
Из приведенной выше таблицы ясно, что во всех случаях второй зональный проход улучшает средние значения dE и DE2000 (существует меньше разброса). На фиг. 18 обобщают данные с уменьшением количества цветов шаблона (N), используемых во втором проходе, что приводит к существенному улучшению в DE2000. Сокращение количества цветов полутонового шаблона (N) для использования во 2-ом проходе также улучшает DE2000, хотя влияние не столь существенно, как влияние, полученное с помощью сокращения количества цветов.
Тест 2
Аналогичный анализ был выполнен с данными из второго шаблона (показан на фиг. 11). Как с первым шаблоном, 2-й проход приводит к существенному улучшению среднего значения dE и DE2000 (см. приведенную ниже таблицу). Результаты отображают графически на фиг. 19.
Тест 2: Шаблон 2 (23 серых цвета), Canon PowerShot Pro90 IS (DigEye), освещение D65
# ближайших цветов
# ближайшихсерых цветов
Среднее значение dE (std)
Среднее значение DE2000
1-й проход
272
23
4,64
2,83
2-й проход
150
23
3,49
2,10
2-ой проход
150
10
3,42
2,07
2-й проход
150
5
3,26
1,98
2-й проход
100
23
3,00
1,83
2-й проход
100
10
2,92
1,78
2-й проход
100
5
2,81
1,72
2-й проход
50
23
2,32
1,44
2-ой проход
50
10
2,26
1,40
2-й проход
50
5
2,24
1,39
2-й проход
25
23
1,95
1,23
2-й проход
25
10
1,92
1,20
2-й проход
25
5
1,93
1,20
c
G
-ом
Фиг. 19 демонстрирует, что сокращение количества цветов (N), используемых в поднаборе данных калибровки для второго прохода, значительно улучшает точность определения XYZ (т.е. снижает DE2000). Однако, сокращение количества полутоновых образцов (N) для использования на этапе аппроксимации экспоненциальной кривой во 2 проходе имеет небольшое влияние на точность цвета.
Тест 3 и тест 4
Тест 3 и тест 4 используют стандарты шаблона 2, но дополнительно имеют «реальные» данные образца на изображении для оценки зонального способа калибровки.
Тест 3
Тест 3 является сценарием «наилучшего случая» с использованием профессиональной цифровой камеры (DigiEye) при управляемых условиях освещения (D65). Результаты 10 тестовых образцов представлены в следующей таблице.
Тест 3: Шаблон 2 (23 серых цвета), Canon PowerShot Pro90 IS (DigEye), освещение D65
# ближайших цветов
# ближайшихсерых цветов
Среднее значение dE (std)
Среднее значение DE2000
1-й проход
272
23
7,08
3,90
2-й проход
150
23
6,12
3,45
2-й проход
150
10
5,73
3,22
2-й проход
150
5
5,30
2,93
2-й проход
100
23
5,36
3,14
2-й проход
100
10
5,08
2,96
2-й проход
100
5
4,59
2,62
2-й проход
50
23
4,41
2,67
2-й проход
50
10
4,36
2,59
2-й проход
50
5
3,84
2,28
2-й проход
25
23
3,59
2,33
2-й проход
25
10
3,64
2,30
2-й проход
25
5
3,31
2,06
2-й проход
10
23
3,30
2,07
2-й проход
10
10
3,45
2,09
2-ой проход
10
5
3,39
2,03
G
c
Еще раз, 2 зональных прохода уменьшают среднее значение dE и DE2000, обеспечивая улучшение по сравнению со структурой с одним проходом. Влияние на DE2000 показано на фиг. 20. В данном случае сокращение и N, и N имело влияние на снижение получаемых средних значений delta_E.
Тест 4
Тест 4 является сценарием «реалистического случая» с использованием стандартной цифровой камеры (Canon PowerShot S30) при хорошем естественном дневном свете. Результаты 10 тестовых образцов представлены в следующей таблице.
Тест 4: Шаблон 2 (23 серых цвета), Canon PowerShot S30, естественный дневной свет
# ближайших цветов
# ближайшихсерых цветов
Среднее значение dE (std)
Среднее значение DE2000
1-й проход
272
23
7,23
3,69
2-й проход
150
23
6,16
3,32
2-й проход
150
10
6,08
3,25
2-й проход
150
5
7,08
3,43
2-й проход
100
23
5,27
2,95
2-й проход
100
10
5,11
2,85
2-й проход
100
5
5,47
2,84
2-й проход
50
23
4,97
2,74
2-й проход
50
10
4,80
2,64
2-й проход
50
5
5,31
2,67
2-й проход
25
23
5,06
2,80
2-й проход
25
10
4,91
2,73
2-й проход
25
5
5,36
2,74
2-й проход
10
23
6,51
3,56
2-й проход
10
10
6,38
3,49
2-й проход
10
5
7,03
3,55
Влияние на DE2000 показано на фиг. 21. В этом тесте, однако, существуют минимумы значений DE2000 приблизительно при 50 стандартах. Сокращение количества полутоновых стандартов для использования во втором проходе имеет небольшое влияние на DE2000.
c,
c
Эти тесты показывают, что уменьшение количества цветов N используемых при многомерной регрессии, имеет ощутимое влияние на точность цвета, полученного для неизвестного образца. В частности, может быть получено обеспечение некоторой предварительной информации о цвете неизвестного образца, затем ограничивая Nc самыми близкими цветами, где N находится в диапазоне 5-250, или более предпочтительно 10-100, или даже более предпочтительно 20-100, или еще более предпочтительно 30-70, или наиболее предпочтительно 40-60 для многомерной регрессии может улучшить точность определения цвета. На фиг. 21 показывают, что самое точное определение цвета получено, когда приблизительно 50 самых близких цветов использовались для многомерного анализа, хотя хорошие результаты со значением DE 2000 меньше 3,0 получены, когда используют количество цветов в диапазоне от приблизительно 20 цветов до приблизительно 100 цветов. В процентах это составляет приблизительно от 8% до приблизительно 40% от количества цветов, которые могут быть доступны на карте 24 цветов, предполагая, например, что на карте существует приблизительно 250 цветов.
В отношении того, как предварительная информация о цвете образца может быть получена, как отмечено выше, в настоящем варианте осуществления его получают, выполняя обработку первого прохода для определения цвета, и затем выполняя второй проход с уменьшенным количеством цветов на этапе калибровки. Однако, это не важно, и в других вариантах осуществления предварительная информация может быть получена другим способом. Например, в одном из вариантов осуществления можно сделать предположение о природе характеристик устройства создания изображений (например, предполагают, что цвета RGB находятся в цветовом пространстве sRGB). В другом варианте осуществления уменьшенное количество цветов можно получать, выбирая образцы, для которых измеренные значения RGB расположены близко к цвету RGB, который будут измерять. В дополнительном варианте осуществления цвета на карте цветов могут иметь уменьшенный диапазон. Например, могут быть созданы различные версии карты цветов, на каждой из которых имеется поднабор цветового пространства, т.е. карта, на которой имеются «красные цвета», или другая карта, на которой имеются «синие цвета». Пользователь затем выбирает карту, на которой имеются цвета, которые являются самыми близкими к цвету, который ему нужно подобрать - например, пользователь знает, что ему нужно подобрать цвет красной подушки, и следовательно, он использует карту 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. Третий вариант осуществления - пространственное исправление яркости
Далее будет описан третий вариант осуществления изобретения. Третий вариант осуществления берет в качестве своей основы или первый, или второй ранее описанные варианты осуществления, и, следовательно, общие черты между ними не будут снова описаны.
Третий вариант осуществления изобретения обращает особое внимание на улучшение определения коэффициентов калибровки, выполняемого на этапе 3.4 процесса на фиг. 3, и в частности, на учет различия в яркости и контрастности по изображению карты 34. То есть пользователь может создавать изображение 32 при таких неидеальных условиях освещения, когда на карте 24 существуют различия в освещении, так что яркость и контраст по карте неравномерны. Третий вариант осуществления изобретения представляет дополнительную обработку, которую можно выполнять на стадии калибровки для расширения возможностей модели калибровки для учета таких пространственных различий в освещении. Данный вариант осуществления представляет методику, которая предполагает линейное изменение яркости и контраста по карте, хотя можно находить коэффициенты более высокого порядка, которые моделируют изменения более высокого порядка.
i
i
i
i;
i
i
i
i
На фиг. 7 показывают процесс более подробно. Процесс содержит два основных этапа (B.7.6 и B.7.10). Сначала на этапе 7.2 образцы R, G и B в (x y) на изображении измеряют, и соответствующие значения XYZ X, Y и Z получают из данных карты цветов в базе данных цветов. Затем находят соответствующие зависимости, которые сопоставляют известный X с измеренным R, учитывая позицию (x, y) каждого измеренного R на изображении карты 34. То же самое также делают для сопоставления известного Y с измеренным G, и известного Z с измеренным B. Таким образом, рассматривая X-R более подробно, формулируют зависимость, которая соотносит X с R, используя экспоненциальную аппроксимацию, но где коэффициент R зависит от позиции на изображении карты. Кроме того, в уравнение также вводят показатель смещения, который также зависит от позиции. То есть зависимость, которая будет найдена между X и R, зависит от позиции образцов на карте. Аналогичные зависимые от позиции зависимости также находят между Y и G, и Z и B. В настоящем варианте осуществления используются следующие уравнения:
x, γ, z,
x, γ, z
x, γ, z,
x, γ, z,
x, γ, z,
x, γ, z
x, γ, z
i
i
i
i
i
где αβ, ζ η γ δ и ε являются фиксированными коэффициентами, и (x, y) является позицией i-го образца на карте, R, G и B являются измеренными значениями RGB i-го образца. Однако, в других вариантах осуществления можно использовать другие уравнения - можно использовать любую зависимость, которая учитывает позицию образцов на карте.
x, γ, z,
x, γ, z
x, γ, z,
x, γ, z,
x, γ, z,
x, γ, z
x, γ, z
x, γ, z,
x, γ, z
i
i
i
i
i
i
x, γ, z
x, γ, z
Приведенные выше уравнения решают, используя способ аппроксимации по методу наименьших квадратов в B.7.6 для определения значений для αβ, ζ η γ δ и ε. Однако, может случиться так, что без какой-либо предварительной информации эти уравнения нелегко решить (найти локальные максимумы или минимумы). Поэтому, в некоторых случаях (на этапе 7.4) коэффициенты αβ можно находить заранее, используя полутоновые образцы на изображении вне зависимости от позиции и выполняя (по методу наименьших квадратов) аппроксимацию экспоненциальной кривой для X как функции от R и затем так же для Y как функции от G и Z как функции от B, предоставляя 6 коэффициентов α,β:
x, γ, z,
x, γ, z
Следует отметить, что эти уравнения не учитывают пространственное распределение яркости, но они представлены для обеспечения начальных значений αβ, которые можно затем использовать при решении зависимых от позиции уравнений.
x, γ, z,
x, γ, z
x, γ, z,
x, γ, z,
x, γ, z,
x, γ, z
x, γ, z
i
i
i
i
i
i
i
i
i
Затем, на этапе 7.8 этот 21 коэффициент (7 на канал - αβ, ζ η γ δ и ε) используют для вычисления значений (X', Y', Z') для всех известных образцов на изображении (R, G, B) - не только полутоновых образцов. Они затем используются для многомерной аппроксимации на этапе 7.10, по существу, выполняя аппроксимацию по методу наименьших квадратов этих образцов в зависимости от измеренных значений (X, Y, Z), используя уравнение
x, γ, z,
x, γ, z,
x, γ, z,
x, γ, z
x, γ, z,
x, γ, z,
x, γ, z,
x, γ, z,
x, γ, z,
x, γ, z
x, γ, z
x, γ, z,
x, γ, z,
x, γ, z,
x, γ, z
Многомерная аппроксимация в таком случае обеспечивает дополнительные 12 коэффициентов (a, b, c, d). Набор из 21 коэффициента αβ, ζ η γ δ и ε и 12 коэффициентов a, b, c, d затем сохраняют как данные 36 калибровки. Эти 21 + 12 коэффициентов можно в таком случае использовать впоследствии (на этапе B.3.12 на фиг. 3) для вычисления значения XYZ (Xsamp, Ysamp, Zsamp) представляющего интерес цвета RGB (Rsamp, Gsamp, Bsamp), используя указанные выше уравнения.
Таким образом, в третьем варианте осуществления процесс калибровки настраивают для учета изменения яркости и контраста по карте 24 на изображении. Это делает систему даже более легкой для использования, и создает меньше ограничений на освещение отображаемой сцены, все еще предоставляя возможность получать хорошие результаты.
4. Четвертый вариант осуществления - разделение на кластеры для поиска множества цветов в образце
Далее будет описан четвертый вариант осуществления изобретения. Четвертый вариант осуществления берет в качестве своей основы любой из уже описанных первого, второго или третьего вариантов осуществления, и, следовательно, общие элементы между ними не будут обсуждаться снова.
Четвертый вариант осуществления изобретения представляет методику, которая может использоваться, например, на этапе 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. Среднее пиксельное значение (Lab ) (этап 8.10)
b. Количество пикселей в пределах dE_thresh от среднего пиксельные значения (P_thresh) (этап 8.12)
4. Если сумма (P_thresh)/(количество пикселей на изображении) меньше F_img (этап 8.14), то увеличивают количество кластеров на 1 и переходят на этап 2 (этап 8.16).
5. Фильтруют кластеры, чтобы они включали в себя только те кластеры, у которых P_thresh/(количество пикселей в кластере)>F_cluster (этап 8.20).
Хотя выше рассматривают цветовые значения в пространстве Lab, данный алгоритм можно также выполнять, используя значения XYZ, поскольку два набора данных цветов математически соотнесены.
На фиг. 9 и 10 графически показывают работу данного алгоритма. На фиг. 9(a) идентифицируют кластер 92, но данный кластер не проходит тест порогового значения плотности, поскольку слишком высокий процент от пикселей находится вне расстояния dE_thresh от среднего значения для кластера. На фиг. 9(b) делают попытку разделить данное распределение на два кластера, но кластер 94 является недопустимым, поскольку недостаточное количество пикселей расположено в пределах радиуса кластера. Кроме того, образец в целом не соответствует пороговому значению для всего изображения образца, поскольку слишком много пикселей не находится в действительных кластерах. Поэтому, количество кластеров увеличивают до 3, и снова выполняют разделение на кластеры.
На фиг. 10 показывают то же самое распределение, как на фиг. 9(b), но с тремя кластерами. В части (a) на фиг. 10 количество пикселей находится в пределах расстояния от среднего значения не достаточно высоко, чтобы соответствовать условиям, используя два кластера в алгоритме методом k-средних, таким образом анализ запускают вторично, используя три кластера. В этом случае количество пикселей в пределах установленного расстояния достаточно высоко, таким образом три цвета, найденные на изображении, являются средними значениями для каждого кластера пикселей. В этом случае можно идентифицировать кластеры 1010, 1020 и 1030, так, чтобы каждый соответствовал пороговому значению применяемых тестов.
Различные модификации можно сделать к описанным выше вариантам осуществления для обеспечения дополнительных вариантов осуществления. Например, все варианты осуществления со второго по четвертый описаны, как основанные на первом варианте осуществления. В первом варианте осуществления изображение передают через сеть передачи данных на внутренний сервер для обработки. Однако в модификациях вариантов осуществления с первого по четвертый это не обязательно должно происходить. Вместо этого может быть создана программа, которая доступна для загрузки на компьютер или мобильный телефон пользователя, которая может выполнять описанные операции по обработке. Таким образом, пользовательский компьютер или телефон могут вычислять цвет неизвестного образца из созданного изображения, и дополнительно предлагать подбор цвета краски без необходимости передавать какие-либо данные изображения по сети.
Дополнительно, в описанных выше вариантах осуществления описывают, что созданное изображение содержит и карту 24, и неизвестный образец. Однако, это не важно. В других вариантах осуществления можно обеспечивать два отдельных разнесенных во времени изображения. На первом изображении может быть карта 24, и оно используется для поиска коэффициентов калибровки для отображающего устройства пользователя. Отдельное изображение может в таком случае содержать неизвестный образец, найденные из первого изображения коэффициенты калибровки затем применяют к значениям RGB неизвестного образца во втором изображении. Однако, данная структура менее предпочтительна, чем вышеописанная структура, поскольку для точности условия освещения первого и второго изображений необходимо сохранять , по существу, идентичными. Однако, это препятствие устраняют, если одно изображение содержит и карту 24 калибровки, и сфотографированный образец.
Различные дополнительные модификации, независимо от того, созданы ли они посредством добавления, удаления или замены, будут очевидны читателю-специалисту для обеспечения дополнительных примеров, все без исключения из которых находятся в пределах прилагаемой формулы изобретения.