Основная идея заключается в следующем: в информации о цвете нет ничего плохого - ее просто недостаточно. Так что лучше всего объединить несколько наборов функций.
Вы можете попробовать несколько функций, чтобы устранить эту неоднозначность. Что касается набора функций, вы можете использовать следующее:
- Цвет (что-то вроде доминирующего цвета MPEG7) ИЛИ Color Historgram
- Текстура (либо в форме ответа банка фильтров), либо
- Краевые гистограммы
В качестве основного сравнения, я хотел бы сначала провести различие между чистым кирпичным пятном и чистым травяным пятном. Для этого цвет, безусловно, является наиболее потенциальным элементом.
Объединение функций, чтобы сделать более надежную классификацию
Я бы использовал доминирующий цвет (использует, но не единственный) или ключевой цвет и сформировал бы кластеры. Посмотрите, где лежат головки кластера;
Если заголовки кластера находятся в ожидаемых областях, класс обычно легко обнаружить, если они попадают в серую область, то класс принадлежит там. Если он попадает в серую область, требуется другая функция.
Таким же образом, вы можете независимо классифицировать, используя матрицу текстур, а затем объединить обе оценки, чтобы результаты имели смысл.
Работа с пространственными проблемами
В частности, когда вы понимаете, что в пластырях могут быть части, наполовину кирпичи и пол травы. Я думаю, что вам не нужно больше дополнительных функций или другой матрицы. Это может быть обработано двумя способами.
1. Держите патч для нескольких участников как разные классы.
Например, кроме birck-only
класса и grass-only
класса, вы также можете иметь half-brick-half-grass-vertical
и half-brick-half-grass-horizontal
всего четыре класса. Это можно легко классифицировать с помощью метода кластеризации, который мы обсуждали ранее.
2. Добавьте мультимасштабную классификацию.
Например, если патч находится в серой области, вы можете разделить патч на две части, то есть слева и справа. Точно так же вы можете разделить верх и низ. Теперь вы можете применить идентичную классификацию для этой «половины». В идеале перечисленная выше функция должна позволить вам сделать ее масштабируемой, чтобы сравнивать сходство признаков между полной частью (например, доминирующий цвет может быть одинаковым независимо от размера), или вам может потребоваться изменить его размер.
Добавление большего количества классов (как в части 1) или нескольких уровней (как в части 2) будет простым; верхний предел будет обусловлен двумя факторами - либо любое дополнительное деление больше не будет добавлять никакой ценности к классификации, либо чрезмерный шум будет эффективно вносить неоднозначность в классификацию. Это где вы остановитесь.