Вычислите угловую метрическую матрицу и найдите углы на изображениях
Computer Vision Toolbox/Анализ и совершенствование
Блок Corner Detection находит углы в изображении с помощью детектирования углов методом Харриса (Харрис и Стивенс), минимального собственного значения (Ши и Томази) или локального сравнения интенсивности (на основе метода Accelerated Segment Test, (FAST) Ростена и Драммонда) метода. Блок находит углы в изображении на основе пикселей, которые имеют самые большие значения угловой метрики.
I
- Входное изображениеВходное изображение, заданное как матрица значений интенсивности.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
Loc
- Расположение угловУгловые местоположения, возвращенные как M-на-2 матрица с координатами [x y]. M представляет количество углов и меньше или равен параметру Maximum number of corners.
Чтобы включить этот порт, установите параметр Output на одно из следующего:
Corner location
Corner location and metric matrix
Типы данных: uint32
Count
- Количество обнаруженных угловКоличество обнаруженных углов, возвращенных в виде скаляра.
Чтобы включить этот порт, установите следующие параметры блоков:
Output: Corner location
| Corner location and metric matrix
Output variable size signal: off
Типы данных: uint32
Metric
- Угловые метрические значенияУгловые метрические значения, возвращенные как матрица значений интенсивности. Возвращенная матрица имеет тот же размер, что и входное изображение.
Чтобы включить этот порт, установите параметр Output на одно из следующего:
Corner location and metric matrix
Metric matrix
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
Main Tab
Method
- Метод обнаружения угловHarris corner detection (Harris & Stephens)
(по умолчанию) | Minimum eigenvalue (Shi & Tomasi)
| Local intensity comparison (Rosten & Drummond)
Укажите метод обнаружения углов следующим Harris corner detection (Harris & Stephens)
, Minimum eigenvalue (Shi & Tomasi)
, или Local intensity comparison (Rosten & Drummond)
.
Чтобы получить самые точные результаты, используйте Minimum eigenvalue (Shi & Tomasi)
. Для самых быстрых расчетов используйте Local intensity comparison (Rosten & Drummond)
. Для баланса между точностью и скоростью расчетов используйте Harris corner detection (Harris & Stephens)
. Для получения дополнительной информации о каждом методе см. Раздел «Алгоритмы».
Sensitivity factor (0<k<0.25)
- Коэффициент чувствительностиЗадайте коэффициент чувствительности, k. Когда k уменьшается, вероятность того, что алгоритм может обнаружить острые углы, увеличивается.
Настраиваемый: Да
Чтобы включить этот параметр, установите параметр Method равным Harris corner detection (Harris & Stephens)
.
Coefficients for separable smoothing filter
- Фильтрация коэффициентовЗадайте вектор коэффициентов фильтра для сглаживающего фильтра.
Чтобы включить этот параметр, установите параметр Method на одно из следующего:
Harris corner detection (Harris & Stephens)
Minimum eigenvalue (Shi & Tomasi)
Intensity comparison threshold
- Порог интенсивностиЗадайте пороговое значение интенсивности, используемое для поиска допустимых окружающих пикселей.
Настраиваемый: Да
Чтобы включить этот параметр, установите параметр Method равным Local intensity comparison (Rosten & Drummond)
.
Maximum angle to be considered a corner (in degrees)
- Максимальный угловой уголЗадайте максимальный угол угла.
Настраиваемый: Да
Чтобы включить этот параметр, установите параметр Method равным Local intensity comparison (Rosten & Drummond)
.
Этот параметр настраивается только для симуляции.
Output
- Выход блокаCorner location
(по умолчанию) | Corner location and metric matrix
| Metric matrix
Задайте выход блока следующим Corner location
, Corner location and metric matrix
, и Metric matrix
.
Установите этот параметр равным Corner location
или Corner location and metric matrix
для отображения параметров Maximum number of corners, Minimum metric value that indicates a corner и Neighborhood size (suppress region around detected corners).
Maximum number of corners
- Максимальное количество угловЗадайте максимальное количество углов, которые вы хотите найти в блоке.
Чтобы включить этот параметр, установите параметр Output на одно из следующего:
Corner location
Corner location and metric matrix
Minimum metric value that indicates a corner
- Минимальная метрика углаЗадайте минимальное значение метрики угла.
Настраиваемый: Да
Чтобы включить этот параметр, установите параметр Output на одно из следующего:
Corner location
Corner location and metric matrix
Neighborhood size
- Размер окрестностиЗадайте размер окрестности как двухэлементный вектор положительных нечетных целых чисел [row, column]. Блок использует этот параметр, чтобы подавить область вокруг допустимой угловой точки с самым большим значением угловой метрики.
Чтобы включить этот параметр, установите параметр Output на одно из следующего:
Corner location
Corner location and metric matrix
Output variable size signal
- Сигнал переменного размераon
(по умолчанию) | off
Выберите этот параметр, чтобы вывести сигнал переменного размера.
Чтобы включить этот параметр, установите параметр Output на одно из следующего:
Corner location
Corner location and metric matrix
Data Types Tab
Для получения дополнительной информации о параметрах блоков с фиксированной точкой смотрите Задать атрибуты с фиксированной точкой для блоков.
Чтобы определить окончательные значения угла, блок следует этому процессу:
Найдите пиксель с наибольшим значением угловой метрики.
Проверьте, что значение метрики больше или равно значению, заданному для параметра Minimum metric value that indicates a corner.
Подавить область вокруг углового значения размером, заданным в параметре Neighborhood size (suppress region around detected corners).
Блок повторяет этот процесс, пока не найдет все углы в изображении или не найдет количество углов, заданное в параметре Maximum number of corners.
Угловые метрические значения, вычисленные Minimum eigenvalue
и Local intensity comparison
методы всегда неотрицательны. Угловые метрические значения, вычисленные Harris corner detection
метод может быть отрицательным.
Метод является более в вычислительном отношении дорогим, чем алгоритм детектирования углов методом Харриса, потому что он непосредственно вычисляет собственные значения суммы квадратной матрицы различия M.
Сумма квадратного различия матрицы M определяется следующим образом:
Предыдущее уравнение основано на следующих значениях:
где и являются градиентами входного изображения I в направлении x и y. символ обозначает операцию свертки.
Используйте параметр Coefficients for separable smoothing filter, чтобы задать вектор коэффициентов фильтра. Блок умножает этот вектор коэффициентов на его транспонирование, чтобы создать матрицу коэффициентов фильтра w.
Блок вычисляет меньшее собственное значение суммы квадратной матрицы различия. Это минимальное собственное значение соответствует угловой метрической матрице.
Метод детектирования углов методом Харриса избегает явного расчета собственных значений суммы квадратов матрицы различий путем решения для угловой метрической матрицы R:
Определения A, B и C см. в разделе «Метод минимального собственного значения».
Переменная k соответствует коэффициенту чувствительности. Можно задать его значение с помощью параметра Sensitivity factor (0<k<0.25). Когда k уменьшается, вероятность того, что алгоритм может обнаружить острые углы, увеличивается.
Используйте параметр Coefficients for separable smoothing filter, чтобы задать вектор коэффициентов фильтра. Блок умножает этот вектор коэффициентов на его транспонирование, чтобы создать матрицу коэффициентов фильтра w.
Метод определяет, что пиксель является возможным углом, если он имеет N смежных допустимых ярких окружающих пикселей или N смежных темных окружающих пикселей.
Предположим, что p является пикселем под фактор, а j является одним из пикселей, окружающих p. Местоположения других окружающих пикселей обозначены заштрихованными участками на следующем рисунке. Затененные области на этом рисунке обозначают местоположения других окружающих пикселей.
и - интенсивность пикселей p и j, соответственно. Пиксель j является допустимым ярким окружающим пикселем, если . Точно так же пиксель j является допустимым темным окружающим пикселем, если . В этих уравнениях T является значением, заданным вами для параметра Intensity comparison threshold.
Блок повторяет этот процесс, чтобы определить, имеет ли блок N смежных допустимых окружающих пикселей. Значение N связано со значением, заданным для параметра Maximum angle to be considered a corner (in degrees), как показано в этой таблице.
Количество допустимых окружающих пикселей и угла
Количество допустимых окружающих пикселей | Угол ( степени) |
---|---|
15 | 22.5 |
14 | 45 |
13 | 67.5 |
12 | 90 |
11 | 112.5 |
10 | 135 |
9 | 157.5 |
После того, как блок определяет, что пиксель является возможным углом, он вычисляет свою угловую метрику с помощью следующего уравнения:
[1] Harris, C. and M Stephens. Комбинированный детектор углов и ребер. Материалы четвертой конференции «Alvey Vision», 147-151. Август 1988 года.
[2] Shi, J. and C. Tomasi. «Хорошие функции для отслеживания». Материалы Конференции IEEE по компьютерному зрению и распознаванию шаблонов, 593-600. Июнь 1994 года.
[3] Ростен, Э. и Т. Драммонд. «Плавкие точки и линии для отслеживания высокой Эффективности». Материалы Международной конференции по компьютерному зрению IEEE Vol. 2, 1508-1511. Октябрь 2005.
Эти схемы показывают типы данных, используемые в блоке Corner Detection для сигналов с фиксированной точкой. Эти схемы применяются только к детектированиям углов методом Харриса и минимального собственного значения.
В следующей таблице представлены переменные, используемые в предыдущих схемах.
Имя переменной | Определение |
---|---|
IN_DT | Тип входных данных |
MEM_DT | Тип данных памяти |
OUT_DT | Выход данных метрики |
COEF_DT | Тип данных коэффициентов |
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.