Я читал этот вопрос , эту статью opencv и, конечно, оригинальную статью об алгоритме FAST с использованием машинного обучения.
Кажется, я этого не понимаю. Вот выдержка из статьи (выделена жирным шрифтом), следующая с моим пониманием:
Выберите набор изображений для обучения (желательно из целевой области приложения). Давайте предположим, что это мое изображение в градациях серого имеет 4 функции.
+------------+
| + + |
| | | |
| +--------+ |
| | | |
| +--------+ |
| + + |
| |
+------------+
Запускайте алгоритм FAST для каждого изображения, чтобы найти характерные точки.
Как указано в предыдущем шаге, у него есть 4 функции (угловые).
Для каждой характерной точки сохраните 16 пикселей вокруг нее как вектор. Сделайте это для всех изображений, чтобы получить вектор признаков P. Представьте, что это значения пикселей, и в каждом из них имеется 16 из них.
Каждый пиксель (скажем, x) в этих 16 пикселях может иметь одно из следующих трех состояний:
Теперь я беру все эти векторы признаков и помещаю их в 1 вектор признаков, называемый P, где я также оцениваю каждый пиксель, если он темнее, похожее или ярче в соответствии с заданным p.
Вектор P
b s d b s d b s b b s d d d d d | b b b b d d s d b s d b s d b s | д д д д д д д д б б д д д д д д д | д с б д с б д с б д с б д д б с
- В зависимости от этих состояний вектор признаков P подразделяется на 3 подмножества: P_d, P_s, P_b.
Я не понимаю эту часть. Я делю каждый элемент в нем на P_s, P_b и P_d?
b b b b s s s s d d d d d d d d | b b b b s s s s s s d d d d d d d | b b b b b b s s s s s s s d d d d | b b b b b s s s s s s s d d d d d
или мне взять целый вектор P и разделить его на эти 3 подмножества?
b b b b b b b b b b b b b b b s b s s s s s s s s s s s s s s s s s s d d d d d d d d d ...
или поскольку я могу вычислить, какие из b, d и s являются самыми высокими, я могу сказать, что feature1 - это b, feature2 - это d, feature3 - это s, feature4 - это b?
Как мы можем использовать это для создания ID3? Я думаю, что это основная часть, которую я не понимаю.
Определите новую логическую переменную K_p, которая истинна, если p является углом, и ложь в противном случае.
Используйте алгоритм ID3 (классификатор дерева решений) для запроса каждого подмножества, используя переменную K_p для получения информации об истинном классе. Он выбирает x, который дает наибольшую информацию о том, является ли пиксель-кандидат углом, измеренным энтропией K_p.
Это рекурсивно применяется ко всем подмножествам, пока его энтропия не станет равной нулю.
Созданное таким образом дерево решений используется для быстрого обнаружения в других изображениях.