Оцените геометрическое преобразование от соответствия с парами точки
Геометрические преобразования
visiongeotforms
Используйте блок Estimate Geometric Transformation, чтобы найти матрицу преобразования, которая сопоставляет самое большое количество пар точки между двумя изображениями. point pair относится к точке во входном изображении и его связанной точке на изображении, созданном с помощью матрицы преобразования. Можно выбрать, чтобы использовать Согласие Случайной выборки (RANSAC) или Наименее средний алгоритм Квадратов, чтобы исключить выбросы и вычислить матрицу преобразования. Можно также использовать все точки ввода, чтобы вычислить матрицу преобразования.
Порт | Ввод/вывод | Поддерживаемые типы данных | Поддерживаемые комплексные числа |
---|---|---|---|
Pts1/Pts2 | M-by-2 Матрица на основе одного [x y] указывает координаты, где M представляет число точек. |
| Нет |
Num | Скалярное значение, которое представляет количество актуальных вопросов в Pts1 и Pts 2. |
| Нет |
TForm | 3 2 или 3х3 матрица преобразования. |
| Нет |
Inlier | M-by-1 вектор, указывающий, какие точки использовались, чтобы вычислить | Булевская переменная | Нет |
Порты Pts1
и Pts2
являются точками на двух изображениях, которые имеют совпадающий тип данных. Блок выводит совпадающий тип данных для матрицы преобразования
Когда Pts1
и Pts2
будут одним или двойными, выходная матрица преобразования будет также иметь один или двойной тип данных. Когда Pts1
и изображения Pts2
являются встроенными целыми числами, опция доступна, чтобы установить тип данных матрицы преобразования или на Single
или на Double
. TForm
вывод обеспечивает матрицу преобразования. Выходной порт Inlier
обеспечивает точки Inlier, на которых базируется матрица преобразования. Этот вывод появляется, когда вы устанавливаете флажок Output Boolean signal indicating which point pairs are inliers .
Алгоритм RANSAC полагается на порог расстояния. Пара точек, (отобразите a, Pts1), и (отобразите b, Pts 2), inlier только когда расстояние между и проекция на основе матрицы преобразования находится в пределах заданного порога. Метрика расстояния, используемая в алгоритме RANSAC, следующие:
Наименее средний алгоритм Квадратов принимает, что по крайней мере 50% пар точки могут быть сопоставлены матрицей преобразования. Алгоритм не должен явным образом задавать порог расстояния. Вместо этого это использует среднее расстояние между всеми парами точки ввода. Метрика расстояния, используемая в Наименее среднем из алгоритма Квадратов, следующие:
Для обоих уравнений:
точка в изображении (Pts1
)
точка в изображении b (Pts2
)
проекция точки на изображении на основе матрицы преобразования H
расстояние между двумя парами точки на изображении b
порог
число точек
Чем меньший метрика расстояния, тем лучше матрица преобразования и поэтому более точное изображение проекции.
Блок Estimate Geometric Transformation поддерживает Nonreflective similarity
, Affine
и типы преобразования Projective
, которые описаны в этом разделе.
Неотражающее преобразование подобия поддерживает перевод, вращение и изотропное масштабирование. Это имеет четыре степени свободы и требует двух пар точек.
Матрица преобразования:
Проекция точки :
аффинное преобразование поддерживает неизотропное масштабирование в дополнение ко всем преобразованиям, которые поддерживает неотражающее преобразование подобия. Это имеет шесть степеней свободы, которые могут быть определены от трех пар неколлинеарных точек.
Матрица преобразования:
Проекция точки :
Проективные поддержки преобразования, наклоняющиеся в дополнение ко всем преобразованиям, которые поддерживает аффинное преобразование.
Матрица преобразования:
Проекция точки представлен однородными координатами как:
Для вычислительной простоты и эффективности, этот блок использует алгебраическое расстояние. Алгебраическое расстояние для пары точек, на изображении a, и на изображении b, согласно преобразованию задан можно следующим образом;
Для проективного преобразования:
, где
Для Неотражающего подобия или аффинного преобразования: ,
где
Блок выполняет сравнение и повторяет его число раз K между последовательными матрицами преобразования. Если вы выбираете опцию Find and exclude outliers, RANSAC и алгоритмы Наименьшее количество средних квадратов (LMS) становятся доступными. Эти алгоритмы вычисляют и сравнивают метрику расстояния. Матрица преобразования, которая производит меньшую метрику расстояния, становится новой матрицей преобразования, которую использует следующее сравнение. Итоговая матрица преобразования разрешена когда также:
Количество K случайных выборок выполняется
Алгоритм RANSAC, когда достаточно количества пар точки inlier может быть сопоставлено, (динамически обновление K)
Оценочный алгоритм Геометрического преобразования выполняет эти шаги:
Матрица преобразования инициализируется к нулям
Установите count = 0
(Случайным образом выбирающий).
В то время как count < K
, где K
является общим количеством случайных выборок, чтобы выполнить, выполняет следующее;
Постепенно увеличьте количество; count = count + 1
.
Случайным образом выберите пару точек от изображений a и b, (2 пары для Неотражающего подобия, 3 пары для аффинного, или 4 пары для проективного).
Вычислите матрицу преобразования , от выбранных точек.
Если имеет метрику расстояния меньше, чем тот из , затем замена с .
(Дополнительный только для алгоритма RANSAC)
Обновите K
динамически.
Выйдите из выборки цикла, если достаточно количества пар точки может быть сопоставлено .
Используйте все пары точки в изображениях a и b, который может быть сопоставлен вычислить усовершенствованную матрицу преобразования
Итеративное Улучшение, (Дополнительный для RANSAC и LMS-алгоритмов)
Обозначьте все пары точки, которые могут быть сопоставлены как inliers.
Используйте пары точки inlier, чтобы вычислить матрицу преобразования .
Если имеет метрику расстояния меньше, чем тот из , затем замена с , в противном случае выйдите из цикла.
Количество случайных выборок может быть задано пользователем для RANSAC и Наименьшего количества Средних алгоритмов Квадратов. Можно использовать дополнительную опцию с алгоритмом RANSAC, который вычисляет этот номер на основе требования точности. Уровень Desired Confidence управляет точностью.
Расчетное количество случайных выборок, K, используемый с алгоритмом RANSAC, следующие:
где
p является вероятностью независимых пар точки, принадлежащих самой многочисленной группе, которая может быть сопоставлена тем же преобразованием. Вероятность динамически вычисляется на основе количества inliers, найденного по сравнению с общим количеством точек. Когда вероятность увеличивается, количество выборок, K, уменьшений.
q является вероятностью нахождения самой многочисленной группы, которая может быть сопоставлена тем же преобразованием.
s равен значению 2, 3, или 4 для Неотражающего подобия, аффинно, и проективного преобразования, соответственно.
Матрица преобразования, вычисленная от всего inliers, может использоваться, чтобы вычислить усовершенствованную матрицу преобразования. Усовершенствованная матрица преобразования затем используется, чтобы найти новый набор inliers. Эта процедура может быть повторена, пока матрица преобразования не может быть далее улучшена. Это итеративное улучшение является дополнительным.
Задайте тип преобразования, или Nonreflective similarity
, Affine
или преобразование Projective
. Если вы выбираете преобразование Projective
, можно также задать скалярный алгебраический порог расстояния для определения inliers. Если вы выбираете Affine
или преобразование Projective
, можно задать порог расстояния для определения inliers в пикселях. Смотрите Преобразования для более детального обсуждения. Значением по умолчанию является Projective
.
Когда выбрано, блок находит и исключает выбросы из точек ввода и использует только точки inlier, чтобы вычислить матрицу преобразования. Когда эта опция не выбрана, все точки ввода используются, чтобы вычислить матрицу преобразования.
Выберите RANdom SAmple Consensus (RANSAC)
или алгоритм Least Median of Squares
, чтобы найти выбросы. См. RANSAC и Наименьшее количество Средних Алгоритмов Квадратов для более детального обсуждения. Этот параметр появляется, когда вы устанавливаете флажок Find and exclude outliers.
Задайте скалярное пороговое значение для определения inliers. Порог управляет верхним пределом, используемым, чтобы найти алгебраическое расстояние в алгоритме RANSAC. Этот параметр появляется, когда вы устанавливаете параметр Method на Random Sample Consensus (RANSAC)
и параметр Transformation type к Projective
. Значением по умолчанию является 1.5
.
Задайте расстояние верхнего предела, точка может отличаться от местоположения проекции своей точки соединения. Этот параметр появляется, когда вы устанавливаете параметр Method на Random Sample Consensus (RANSAC)
, и вы устанавливаете значение параметра Transformation type к Nonreflective similarity
или Affine
. Значением по умолчанию является 1.5
.
Выберите Specified value
, чтобы ввести положительное целочисленное значение для количества случайных выборок или выбрать Desired confidence
, чтобы определить номер случайных выборок как процент и максимальное количество. Этот параметр появляется, когда вы устанавливаете флажок Find and exclude outliers, и вы устанавливаете значение параметра Method к Random Sample Consensus (RANSAC)
.
Задайте количество случайных выборок для алгоритма, чтобы выполнить. Этот параметр появляется, когда вы устанавливаете значение параметра Determine number of random samplings using к Specified value
.
Задайте процент путем введения номера между 0
и 100
. Значение Desired confidence (in %) представляет вероятность алгоритма, чтобы найти самую многочисленную группу точек, которые могут быть сопоставлены матрицей преобразования. Этот параметр появляется, когда вы устанавливаете параметр Determine number of random samplings using на Desired confidence
.
Задайте целое число для максимального количества случайных выборок. Этот параметр появляется, когда вы устанавливаете параметр Method на Random Sample Consensus (RANSAC)
, и вы устанавливаете значение параметра Determine number of random samplings using к Desired confidence
.
Задайте, чтобы остановить случайную выборку, когда процент точек ввода будет найден как inliers. Этот параметр появляется, когда вы устанавливаете параметр Method на Random Sample Consensus (RANSAC)
.
Задайте, выполнить ли улучшение на матрице преобразования. Этот параметр появляется, когда вы устанавливаете флажок Find and exclude outliers .
Выберите эту опцию, чтобы вывести пары точки inlier, которые использовались, чтобы вычислить матрицу преобразования. Этот параметр появляется, когда вы устанавливаете флажок Find and exclude outliers . Блок не будет использовать этот параметр с со знаком или двойным, точками типа данных.
Задайте тип данных матрицы преобразования как Single
или Double
, когда точки ввода будут встроенными целыми числами. Блок не будет использовать этот параметр с со знаком или двойным, точками типа данных.
Примеры входных данных и приложение блока Estimate Geometric Transformation появляются в следующих фигурах. Рисунки (a) и (b) показывают пары точки. Точки обозначаются звездами или кругами, и числа после них показывают, как они соединяются. Некоторые пары точки могут быть сопоставлены той же матрицей преобразования. Другие пары точки требуют различной матрицы преобразования. Одна матрица существует, который сопоставляет наибольшее число пар точки, блок вычисляет и возвращает эту матрицу. Блок находит пары точки в самой многочисленной группе и использует их, чтобы вычислить матрицу преобразования. Пары точки, соединенные пурпурными строками, являются самой многочисленной группой.
Матрица преобразования может затем использоваться, чтобы сшить изображения как показано в рисунке (e).
Чтобы видеть пример блока Estimate Geometric Transformation, используемого в модели с другими блоками, посмотрите Видео пример Mosaicking.
Успех оценки правильного геометрического преобразования зависит в большой степени от качества пар точки ввода. Если вы выбрали RANSAC или LMS-алгоритм, блок случайным образом выберет пары точки, чтобы вычислить матрицу преобразования и будет использовать преобразование что лучшие подгонки точки ввода. Существует шанс, что все случайным образом выбранные пары точки могут содержать выбросы несмотря на повторные выборки. В этом случае выходная матрица преобразования, TForm
, недопустима, обозначается матрицей нулей.
Чтобы улучшить ваши результаты, попробуйте следующее:
Увеличьте процент inliers в точках ввода. |
Увеличьте число для случайных выборок. |
Для метода RANSAC увеличьте желаемую уверенность. |
Для метода LMS убедитесь, что точки ввода имеют 50% или больше inliers. |
Используйте функции, подходящие для содержимых изображения |
Следует иметь в виду, что повторные шаблоны, например, окна в офисном здании, вызовут ложные соответствия, когда вы будете совпадать с функциями. Это увеличивает число выбросов. |
Не используйте эту функцию, если изображения имеют значительный параллакс. Можно использовать функцию estimateFundamentalMatrix вместо этого. |
Выберите минимальное преобразование для своей проблемы. |
Если проективное преобразование производит сообщение об ошибке, “Фрагмент входного изображения был преобразован к местоположению в бесконечности. Только матрицы преобразования, которые не преобразовывают части изображения к бесконечности, поддерживаются”. это обычно вызывается матрицей преобразования и изображением, которое привело бы к выходному искажению, которое не соответствует физической действительности. Если бы матрицей был вывод блока Estimate Geometric Transformation, то, скорее всего, это не могло найти достаточно inliers. |
Р. Хартли и А. Зизермен, “Несколько Геометрия Представления в Компьютерном зрении”, Второй выпуск, издательство Кембриджского университета, 2003
Image Processing Toolbox™ | |
vipmosaicking | Computer Vision Toolbox™ |