Идентификация образов по цвету, текстуре и форме (Identification of images by color, texture and shape)

Автор: | 01.02.2018

Постановка задачи. Интерфейс программы
Абстрагирование
Сопоставление гистограмм цвета
Критерии оценки различий гистограмм цвета
Уменьшение влияния освещенности на признаки цвета
Описание текстуры через колебания сигнала цвета
Разложение сигнала цвета в ряд Фурье
Признаки текстуры через параметры гармоник в ряде Фурье
Оценка информативности признака
Анализ изображений на предмет выбора признаков формы
Выделение границ и построение сигнатуры
Признаки формы
Создание базы данных признаков продуктов
Идентификация по множеству признаков. Часть 1 (Основы)
Идентификация по множеству признаков. Часть 2 (Использование нейросети)
Обработка результатов измерений
Полезные ссылки

Постановка задачи. Интерфейс программы

Один из моих выполненных заказов — разработка алгоритма идентификации продуктов (фруктов и овощей) на основе данных от видеокамеры. Необходимо создать «умные весы», которые кроме веса определяют  вид продукта.

Выделим специфические особенности задачи. В целом проблема распознавания образов состоит из описания, обучения и сравнения. Под проблемой описания подразумевается выделение свойств (признаков) образа. Обучение заключается в наделении признаков соответствующими значениями, а сравнение – в определении близости образов тому или другому множеству признаков.

Для обучения используются изображения кучи продуктов одного вида (например, апельсина). Продукты располагаются на контрастном и ровном фоне серого цвета. Для тестирования используются изображения кучи продуктов разных видов и определяется % правильных ответов программы.

Куча из продуктов рассматривается программой как единое целое. Т. е., не ставится задача выделять контуры каждого продукта из кучи. Необходимо лишь выявить вид продуктов в куче.

Интерфейс программы для обучения и идентификации:

В окно формы загружается фото продукта и нажимается кнопка “Выполнить”. При обучении вводится имя тестируемого продукта, при идентификации выводится имя тестируемого продукта.

Суть обучения состоит в определении значений признаков продуктов, полученных на основе растрового изображения (см. Формат и чтение BMP), и занесении их в базу данных (файл данных). При тестировании значения признаков продукта сопоставляются со значениями признаков из базы данных.

Абстрагирование

Зрительно один продукт можно отличить от другого  через совокупность следующих характеристик: цвет; текстура; форма; размер. Эти характеристики понятны для человека, но не для компьютера, который понимает язык цифр. Необходимо их формализовать в числовые признаки.

В идеальном случае признаки не должны зависеть от размеров кучи объекта, расположения и ориентации объектов, но должны содержать достаточное количество информации для надежной идентификации объектов.

Исходная информация – 24 разрядное цветное изображение. Для 24 битного изображения точки рисунка описываются тремя цветами (красный, синий и зеленый), интенсивность каждого из которых кодируется байтом (числами от 0 до 255).

Прежде, чем выделять формальные признаки, необходимо отсечь точки фона от точек продукта. Это можно реализовать двумя способами:

  1. Выделяя границы кучи по градиентному переходу.
  2. Отсекая точки фона по характерному цвету – серому.

Недостаток 2-го способа – игнорируется серый цвет. Но этот способ проще, поэтому выбираем его. Серый цвет характеризуется одинаковыми значениями 3-х составляющих цвета (Red, Green, Blue).

От описания точек кучи на изображении нужно перейти в пространство признаков. При выборе признаков будем исходить из естественных правил:

  • признаки одного класса отличаются незначительно, а разных классов – существенно;
  • на значения признаков мало влияют внешние факторы.

 Сопоставление гистограмм цвета

Цвет большинства продуктов неоднороден. Поэтому, если его просто формализовать одним числом (например, средним значением), то едва ли такой признак  будет избирательным.  Хотя принять его в рассмотрение в совокупности с другими можно.

Для поиска других признаков сопоставим гистограммы цвета. Гистограмма цвета – графическая зависимость, по оси абсцисс интенсивность цвета (от 0 до 255), по оси ординат – частота повторяемости цвета.

Перед сопоставлением гистограмм необходимо провести их нормализацию. Частота повторяемости каждого цвета должна быть определена в процентном отношении ко всему количеству точек продукта.

Возможность распознавания продуктов по гистограммам цвета оценим по степени их расхождения для:

  • подобных по цвету продуктов.
  • различных по цвету продуктов.
  • одного и того же вида продуктов при различных внешних факторах (освещенности, расположения и т.п.).

Гистограммы цвета одного вида продукта (апельсинов и арбузов) в различных положениях:

Гистограммы цвета продуктов, близких по цветовым характеристикам (лимонов и апельсинов):

Гистограммы цвета продуктов, отдаленных по цветовым характеристикам (апельсинов и арбуза):

Гистограммы цвета одного вида продукта (дыни) при различном освещении:

Вывод. В большинстве случаев гистограммы цвета позволяют идентифицировать продукты. Однако, гистограммы лимонов и апельсинов практически совпадают. Следовательно, для решения проблемы идентификации продуктов не стоит ограничиваться только лишь признаками совпадения гистограмм цвета. Смещение гистограмм цвета при различном освещении свидетельствует о необходимости его по возможности учитывать.

Критерии оценки различий гистограмм цвета

В прикладных задачах математической статистики, при теоретическом изучении эмпирических распределений, отличающихся от нормального распределения, возникает необходимость количественных оценок этих различий. Для этой цели введены специальные безразмерные характеристики:

  • среднее значение;
  • дисперсия;
  • асимметрия;
  • эксцесс.

Эти характеристики могут использоваться для определения различий между гистограммами цвета.

Пусть N – количество точек на продукте. Тогда указанные характеристики определятся следующим образом:

Дисперсия характеризует, как наблюдения группируются вокруг центрального значения.

Асимметрия характеризует перекошенность гистограммы (графика функции f(х)). Если А = 0, то график f(х) симметричен относительно центрального значения, А < 0 – вытянут левый. А > 0 – вытянут правый конец.

Эксцесс распределения характеризует степень остроты пика кривой по сравнению с нормальным законом. Е > 0 – более острый пик, а Е < 0 – менее.

Уменьшение влияния освещенности на признаки цвета

Признаки идентификации по цвету (построенные на основе гистограмм сигналов RGB) зависят от освещенности. Оценим степень этой зависимости.

К влиянию освещенности имеет отношение и другая проблема – отделение точек фона от точек продукта, поскольку цвет фона также меняется при изменении освещенности. Точки фона отсекаются по характерному цвету – серому.  Т.е., при идентификации продуктов эти точки игнорируются. При различной освещенности диапазон изменения цветовых сигналов фона будет шире.

Известно, что при увеличении освещенности одновременно возрастает значение всех 3-х сигналов (R, G и B). Можно предположить, что относительная составляющая каждого из сигналов к суммарному сигналу (R+G +B) может меньше зависеть от интенсивности освещения. Для сравнения были проведены следующие эксперименты. По изображению в графическом редакторе Photoshop снимались значения сигналов R, G, B в нескольких точках и вычислялись по ним относительные значения сигналов (табл. 1). Сигналы снимались для одноцветных продуктов (лимон и апельсин) – в точках с различным освещением, а также для арбуза – в точках одинакового освещения для участков различной светлости.

Измеренные сигналы обрабатывались – определялись математическое ожидание и дисперсия для каждой группы измерений. По дисперсии сигналов (см. табл. 1) можно судить, что наиболее стабильные относительные сигналы. Т.е., освещенность меньше влияет на значение относительных сигналов одноцветного продукта. Однако, получив стабильность сигнала, мы теряем избирательность признаков по цвету, если цвет один и тот же, а отличия лишь в светлости. Действительно, математическое ожидание относительных сигналов светло-зеленого и темно-зеленого участков арбуза практически одинаковое (см. табл. 1).

Итак, исключив влияние освещенности, мы вместе с этим потеряли возможность фиксировать различия в светлости цвета. Однако, если признаков по цвету (без светлости) вместе с признаками формы и текстуры будет достаточно для идентификации объектов в заданном множестве, то можно согласиться с потерями в избирательности признаков по цвету.

Ниже рассмотрен способ уменьшения влияния освещенности за счет перехода от цветовой модели RGB к модели HSV (цветовой тон, насыщенность, светлота).

Насыщенность меняется от 0 до 1 и зависит от цветового охвата, т.е. расстояния от оси до границы для каждого V. При S=1 цвета или их дополнения полностью насыщенны. Если S=0, то тон H не определен, те на центральной оси находятся ахроматические, серые цвета.

Обычно изображения от фотокамеры сохраняют в RGB модели. Ниже приведены формулы перехода из цветовой модели RGB в HSV:

Если H < 0 тогда H = H + 360 (Приведение к положительным величинам)

RGB – основные цвета (0 – 1) (относительные значения R/255, G/255, B/255)

H — цветовой тон (0–360), 0 – красный

S — насыщенность (0–1)

V — светлота (0–1)

fmax – функция определения максимума

fmin – функция определения минимума

При статической обработке цветовых сигналов по формулам перехода возникает проблема в определении математического ожидания H. На стыке углов 0 и 360 значения получаются либо маленькие (близкие к нулю), либо большие (близкие 360). Вариант решения проблемы – определять синус угла H вместо его значения:

H = (Sin H + 1) / 2

(Перевод в синус и нормализация – только положительные значения, близкие к 1). Есть издержки такого решения проблемы – синусы различных углов могут быть одинаковы (например, 0 и 180, или 10 и 170), поэтому будет меньшая избирательность признака Н.

Сопоставим цветовые сигналы модели HSV (табл.2) для продуктов и серого ахроматического фона – с освещением и без него.

Анализируя полученные результаты можно сделать следующие выводы:

  • Признак V (светлота) существенно зависит от освещенности, поэтому нецелесообразно его использовать для распознавания продуктов, где освещенность нестабильная
  • Признаки S (насыщенность) и H (тон) практически не зависят от освещенности и их значения имеют высокую стабильность параметра (маленькую дисперсию) при высоких значениях S.
  • Для серого ахроматического цвета значения признака S остаются маленькими (< 0.15) независимо от освещенности. Эта особенность позволяет достаточно просто отделить точки фона от точек продукта. Однако, следует иметь в виду, что отсекая фон условием S < 0.15 мы ограничиваем перечень продуктов для распознавания (серый чеснок, баклажаны черные….)

Описание текстуры через колебания сигнала цвета

Текстура – рисунок, образуемый на поверхности объекта. В таком рисунке обычно присутствуют регулярности повторения каких-либо специфических для объекта особенностей. Например, на поверхности арбуза через определенный интервал чередуются темные и светлые полосы. Регулярность изменения цвета можно также увидеть на изображении кукурузы – за счет зернистости ее строения, на лимоне или апельсине – за счет шероховатости их поверхности. Ниже на рисунках показаны колебания сигнала цвета (по 2 продольным сечениям) для различных продуктов

Колебания сигнала цвета арбуза и кукурузы:

Колебания сигнала цвета лимона и кукурузы:

Колебания сигнала цвета лимона и банана:

 

Разложение сигнала цвета в ряд Фурье

Итак, характерные особенности текстуры проявляются в периодичности изменения сигнала R (G или B), измеряемого в точках сечения изображения продукта. Теперь возникает вопрос, какие формальные признаки идентификации объектов по текстуре выбрать, используя эти особенности.

Воспользуемся инструментом Фурье-анализа. Фурье доказал, что волна любой формы может быть составлена из элементарных гармонических составляющих, и она может быть разложена на них, или снова из них воспроизведена.

Каждая составляющая называется гармоникой. Уравнение для элементарной гармоники:

Поскольку гармоник может быть много, то им присвоены номера. Первой гармоникой считается та, которая имеет наибольшую из всех длину волны. При разложении в ряд Фурье функция f (t) представляется следующим образом:

В выражении (1)

Признаки текстуры через параметры гармоник в ряде Фурье

Итак, при заданном периоде первой гармоники Т каждая из k гармоник, входящих в ряд Фурье (1), определяется двумя параметрами:

Следовательно, степень совпадения кривых можно определять по совпадению этих параметров для гармоник соответствующей частоты. При разложении в ряд Фурье сигнала цвета идентифицируемого продукта (см. рис.1) начальные фазы гармоник имеют случайный характер. Поэтому, в рассматриваемой задаче (идентификация объектов по признакам текстуры) в качестве признаков идентификации объектов можно принять только амплитуды гармоник.

Зависимость амплитуды гармоник от частоты называют амплитудно-частотной характеристикой спектра (АЧХ), ее обычно изображают амплитудно-частотной диаграммой (рис.1 б). Амплитуда каждой гармоники, присутствующая в функции y( t), изображается на диаграмме перпендикуляром, проведенным к оси абсцисс из точки с координатами:

Рассмотрим, как можно реализовать инструмент Фурье-анализа в задаче идентификации объектов по изображению. Изменение сигнала цвета в сечениях изображения продукта (см. рис.1) можно представить в виде дискретных функций y (t ). Т.е., на периоде Т (длина участка выборки изображения в пикселах) функция y (t ) представляется N дискретными значениями сигнала цвета y0…yi….yN, измеряемыми через равные участки dT = T/N. В случае T=N (в рассмотрение принимается сигнал каждой точки на периоде T), тогда dT =1. Выражения (2) и (3) запишутся в виде:

Как было уже отмечено выше, в качестве признаков идентификации объектов принимаем амплитуды гармоник Ck, на которые раскладывается дискретная функция изменения сигнала цвета в сечениях изображения продукта y (t ). Для нормализации процесса сопоставления объектов необходимо выбрать оптимальные для множества объектов период первой гармоники T=N и количество гармоник m. При выборе количества гармоник должен быть обеспечен компромисс между простотой описания и информативностью параметров, выбираемых для идентификации.

Выбор периода первой гармоники. Первая гармоника, также как и последующие должна отображать реальные колебания цвета на объекте. Поэтому период гармоники T=N не должен быть меньше самого большого периода колебаний, определяемого для одного из объектов множества. Среди множества продуктов таким объектом может быть арбуз. На рисунке 2 приведены реальная картина изменения цвета и ее разложения в ряд Фурье для периода основной гармоники T=250 и количеством гармоник k=1, k=5 k=50.

Как видно из рисунка, первая гармоника мало отражает изменение цвета на продукте. В этом случае оптимальным периодом колебаний можно считать длину в пикселях, которая перекрывает полосы темного и светлого цвета на изображении арбуза. При габаритах изображения 640 * 480 точек реальная длина участка, перекрывающего две полосы арбуза, может быть порядка 50.

Выбор количества гармоник. При представлении функции дискретными значениями номер наивысшей гармоники m должен выбираться из условия m< N/5 – количество точек на период одной гармоники должно быть не менее 5. Соответственно, для N=50 количество гармоник не должно превышать 10.

Оценка информативности признака

Высокая информативность параметра обеспечивается его стабильностью и избирательностью. Стабильность можно формально охарактеризовать невысоким допуском d (рис.3) значений параметра, усредненным для множества объектов; избирательность – расстоянием D между значениями параметра усредненным для всех пар объектов множества.

Приближенно эффективность параметра можно оценить отношением D/d . Были проведены оценочные расчеты эффективности амплитуд насыщенности цвета – параметра S в цветовой модели HSV для 10 гармоник из множества объектов (кукуруза, дыня, чеснок и баклажан). Результаты расчетов приведены в таблице 1 (в таблице значения параметров S и d увеличены в 10 раз).

Полученные результаты (см. табл.1) свидетельствуют о достаточной информативности амплитуд гармоник, чтобы можно их было использовать в качестве признаков для идентификации продуктов. Предложенный метод идентификации объектов по признакам текстуры является значительно более простым по сравнению с классическими методами, которые реализуются через сложные алгоритмы сегментации поверхности объектов.

Анализ изображений на предмет выбора признаков формы

При анализе изображений (рис.1) отмечаем, что визуально проследить контуры объектов от начала до конца практически невозможно, поскольку они либо перекрываются другими объектами, либо мало контрастируют друг с другом. Можно лишь четко видеть части контуров объектов при контрасте с фоном. Однако этих частей вполне достаточно, чтобы человек мог увидеть признаки, которые позволяют ему определять, из какого вида продуктов состоит куча. Попытаемся формализовать эти признаки.

Итак, необходимо выделить геометрические особенности участков линий контуров множества взаимно-перекрываемых объектов одного класса. Решение задачи можно разделить на следующие этапы:

  • выделение граничных точек объекта;
  • построение сигнатуры области;
  • определение признаков формы.

Выделение границ и построение сигнатуры

Выделение граничных точек объекта. Учитывая достаточную информативность участков контура объектов, которые расположены на границе с фоном, будем выделять только эти участки контурных линий. Точки линий контура характеризуются высоким градиентом изменения интенсивности цвета. Однако если при выборе точек контура руководствоваться только лишь этим критерием, то можно ошибочно выбирать точки продукта, где резко меняется цвет (например, светлые и темные полосы на арбузе). Следует определить еще дополнительные критерии линий контура.

Посмотрим, чем отличаются точки фона (серого цвета) от точек объекта. Характерной особенностью серого цвета является относительное равенство сигналов Red, Green и Blue. Эта особенность может быть учтена при создании алгоритма выделения граничных точек объекта. Кроме условия высокого градиента изменения интенсивности цвета можно добавить условие наличия слева (или справа), по крайней мере, 5 точек с относительно равными сигналами R,G, B. Это условие позволяет, к тому же, определить с какой стороны находится объект и соответственно однозначно определить такие признаки формы как выпуклость или вогнутость. Прежде чем определять эти и другие признаки необходимо построить сигнатуры участков контура.

Построение сигнатуры области. Сигнатурой называется функциональное одномерное представление границы. Учитывая, что точки растрового изображения BMP файла упорядочены по рядам снизу вверх, предлагается следующий алгоритм построения сигнатуры. При считывании точек каждого ряда, осуществляется проверка на близость обнаруженных граничных точек текущего ряда с граничными точками предыдущего ряда. В случае обнаружения в предыдущем ряде близкой точки обе точки запоминаются, в дальнейшем к ним может присоединиться близкая граничная точка в следующем ряду и.т.д – формируется одномерный массив из точек границы. Подобным образом формируется несколько сигнатур в соответствии с количеством обнаруженных вдоль ряда граничных точек. Следует заметить, что практически сложно получить непрерывное одномерное представление границы объекта из-за размытости границы на определенных участках. Поэтому запоминаются лишь куски контуров, причем только куски достаточной для последующего анализа длины.

Признаки формы

Полученные сигнатуры областей (куски контуров) необходимо обработать на предмет выделения признаков формы. Один из вариантов такой обработки – построение гистограммы значений изменения значения угла касательной (рис.2) на длине участка AL / DS (функции плотности наклона касательной) с последующим выделением на основе нее информативных признаков формы.

Как видно из рисунка (см. рис.2б) нельзя отследить реальной картины изменение угла касательной по контуру, если определять угол по соседним точкам, поскольку на обнаружение точек контура влияло множество случайных факторов (нехарактерные для объекта изгибы, теневые участки и т.п.). Чтобы уменьшить влияние случайных факторов можно выполнить один из вариантов статистической обработки:

  • Аппроксимировать точки кривой 2-го порядка и определить для нее характеристики кривизны.
  • Разделить точки на последовательные группы (из 10-15 точек), каждую аппроксимировать прямой (см. рис.2в), и уже для этих прямых определять значение угла AL.

В данном алгоритме имеется проблема – сигнатура (рис.3а) при переходе от контура одного продукта к контуру другого (на рисунке сигнатура отмечена белыми точками) не прерывается. А поскольку на переходных участках изменение угла касательной не характеризует особенности формы объекта, то необходимо такие участки пропускать. Эта проблема легко устраняется в альтернативном алгоритме, который основан на последовательном определении радиуса кривизны (рис.3б) графическим способом.

Согласно этой схемы текущий радиус кривизны вдоль контура определяется в следующей последовательности:

  1. При формировании цепочки из точек контура, через определенный интервал по вертикали фиксируем 5 точек T(4).
  2. Для пар точек (T0-T3,T1-T4) и (Т0-T2, T2-T4) находим 2 центра
  3. Берем средние координаты центра XC0= (XC1 +XC2)/2 и YC0= (YC1 +YC2)/2 и находим дисперсию. Если она не превышает порога, принимаем выборку из точек к рассмотрению, поскольку точки определяют переход от одного объекта к другому (см. рис.3а).
  4. Находим 5 радиусов – расстояние от центра C0 к точкам (T0, T1….. T4).
  5. Определяем средний радиус.
  6. Осуществляем сдвиг точек контура на 1 позицию, точка T1 становится T0.

При дальнейшей обработке для определения признаков формы можно построить гистограмму значений кривизны по длине участка (рис.4).

На шкале кривизны (1/R) следует предусмотреть диапазоны, которые характеризуют анализируемую совокупность объектов, например:

  • вогнутость (характерно для банана или баклажана);
  • прямолинейность (морковка, кукуруза);
  • большой радиус арбуза, дыни;
  • маленький радиус арбуза дыни;
  • радиус яблока, картофеля;
  • радиус маленьких закруглений некоторых продуктов (морковка, чеснок…).

Здесь вогнутость можно условно охарактеризована отрицательным радиусом. Радиус считается отрицательным в том случае, если центр окружности расположен в противоположной от продукта стороне. Прямолинейность определяется предельно большими радиусами (кривизна близка к нулю), в том числе и отрицательными.

Теперь для идентификации объектов осталось определить критерий, по которому можно сопоставить гистограммы. По сути, задача сводится к выбору критерия, по которому определяется близость рядов чисел. Одним из простейших способов решения задачи является определение суммарного рассогласования между соответствующими числами двух рядов.

Создание базы данных признаков продуктов

Для обучения системы предоставляются изображения продуктов (по 6…8 изображений) для каждого вида (яблоки, огурцы и т. д).    При обучении признаки сохраняются в базе данных (файле данных), при идентификации они сопоставляются с признаками идентифицируемого объекта.

В режиме обучения при обработке системой очередного изображения для каждого вида продукта осуществляется пересчет математического ожидания и среднеквадратичного отклонения признака (см. «Обработка результатов измерений«). В базе данных (текстовом файле Data.txt) сохраняются  последние значения математического ожидания и среднеквадратичного отклонения для каждого признака. При этом совокупность признаков вида идентифицируются сверху именем продукта.

В базе данных также сохраняется текущее количество изображений каждого вида, использованных для обучения. Это необходимо  для пересчета математического ожидания и среднеквадратичного отклонения  признаков (расчетные формулы см. «Обработка результатов измерений«).

Далее смотри:

Обработка результатов измерений

 Допустим, что в результате измерения n раз некоторой физической величины x получен ряд значений x1, x2, …, .xn. В этой совокупности результатов измерений возможны одинаковые значения. В качестве значения, наиболее близкого к истинному, принимается среднее арифметическое

Отклонения каждого отдельного измерения от среднего,

называются абсолютными ошибками измерений. При большом числе измерений абсолютные ошибки распределены по нормальному закону. Случайную ошибку принято оценивать по среднеквадратичному отклонению от среднего значения измеряемой величины x.

где n — число измерений.

Истинное значение измеренной величины x лежит в интервале от

Вероятность этого события обозначается P и называется доверительной вероятностью. Доверительный интервал рассчитывается по формуле

где tp,n — коэффициент Стьюдента, зависящий от доверительной вероятности P и числа измерений n. При обработке результатов измерений используется таблица коэффициентов Стьюдента в зависимости от числа измерений n для доверительной вероятности P=0.95.

Число проведенных измерений  

2

 

3

 

4

 

5

 

6

 

7

 

8

 

9

 

10

Значение коэффициента Стьюдента  

12,71

 

4,30

 

3,18

 

2,78

 

2,57

 

2,45

 

2,36

 

2,31

 

2,26

Таким  образом, окончательная форма записи результата имеет вид

Полезные ссылки:

 

Автор: Николай Свирневский