Оцените геометрическое преобразование из совпадающих пар точек
Computer Vision Toolbox/Геометрические преобразования
Используйте блок Estimate Geometric Transformation, чтобы найти матрицу преобразования, которая отображает наибольшее количество пар точек между двумя изображениями. point pair относится к точке в вход изображении и связанной с ней точке на изображении, созданном с помощью матрицы преобразования. Можно выбрать, чтобы использовать RANdom SAmple Consensus (RANSAC) или алгоритм наименьших медианных квадратов, чтобы исключить выбросы и вычислить матрицу преобразования. Можно также использовать все входные точки, чтобы вычислить матрицу преобразования.
Pts1
- Координаты точекКоординаты точки, заданные как матрица M-на-2 с одной основанной [x y] координатами точки, где M представляет количество точек.
Блок выводит тот совпадающий тип данных для матрицы преобразования, что и точки изображения Pts1 и Pts2.
Типы данных: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
Pts2
- Координаты точекКоординаты точки, заданные как матрица M-на-2 с одной основанной [x y] координатами точки, где M представляет количество точек.
Блок выводит тот совпадающий тип данных для матрицы преобразования, что и точки изображения Pts1 и Pts2.
Типы данных: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
Num
- Количество действительных точекКоличество допустимых точек для поиска в Pts1 и Pts2, заданное как скаляр. Этот порт появляется, когда вы включаете параметр Allow variable-size signal input.
Типы данных: int8
| int16
| int32
| uint8
| uint16
| uint32
TForm
- ПреобразованиеПреобразование, возвращенное как матрица 3 на 2 или 3 на 3. Блок выводит тот совпадающий тип данных для матрицы преобразования, что и точки изображения Pts1 и Pts2.
Когда Pts1 и Pts2 являются одинарными или двойными, матрица преобразования выхода также будет иметь один или двойной тип данных.
Когда Pts1 и Pts2 изображения являются встроенными целыми числами, опция доступна, чтобы задать тип матричных данных преобразования равным любому Single
или Double
.
Типы данных: single
| double
Inlier
- Используемые точкиТочки, используемые для вычисления TForm
, возвращенный как вектор M -by-1.
Порт Inlier появляется, когда вы включаете параметр Output Boolean signal indicating which point pairs are inliers.
Типы данных: Boolean
Transformation type
- Тип преобразованияAffine
(по умолчанию) | Nonreflective similarity
| Projective
Задайте тип преобразования как Nonreflective similarity
, Affine
, или Projective
. Более подробное обсуждение см. в разделе «Преобразования».
Можно задать дополнительные параметры в зависимости от типа преобразования:
Для Projective
преобразование, можно задать скаляр алгебраический порог расстояния для определения инлиеров.
Для Affine
или Projective
преобразование, можно задать порог расстояния для определения инлиеров в пикселях.
Find and exclude outliers
- Найти и исключить выбросыВключите поиск и исключение выбросов из точек входа и используйте только точки inlier для вычисления матрицы преобразования. Когда вы отключаете этот параметр, все входные точки используются для вычисления матрицы преобразования.
Method
- Метод поиска выбросовRANdom SAmple Consensus (RANSAC)
(по умолчанию) | Least Median of Squares
Выберите метод, чтобы найти выбросы как RANdom SAmple Consensus (RANSAC)
или Least Median of Squares
Более подробное обсуждение см. в алгоритмах RANSAC и методом наименьших медиан квадратов.
Этот параметр появляется при включении флажка Find and exclude outliers.
Algebraic distance threshold for determining inliers
- Алгебраический порог расстояния для определения инлиеровЗадайте скалярное пороговое значение для определения инлиеров. Порог управляет верхним пределом, используемым для нахождения алгебраического расстояния в алгоритме RANSAC.
Этот параметр появляется, когда вы устанавливаете параметр Method равным Random Sample Consensus (RANSAC)
и параметр Transformation type для Projective
.
Distance threshold for determining inliers (in pixels)
- Порог расстояния для определения инлиеров (в пикселях)1.5
(по умолчанию) | скаляромЗадайте верхнее предельное расстояние, которое может отличаться от расположения проекции соответствующей точки.
Этот параметр появляется, когда вы устанавливаете параметр Method равным Random Sample Consensus (RANSAC)
и вы устанавливаете значение параметра Transformation type равным Nonreflective similarity
или Affine
.
Determine number of random samplings using
- Определить количество случайных выборок используяSpecified value
(по умолчанию) | Desired confidence
Выберите Specified value
для ввода положительного целого значения для количества случайных выборок. Выберите Desired confidence
чтобы задать количество случайных выборок в процентах и максимальном количестве.
Этот параметр появляется, когда вы выбираете флажок Find and exclude outliers, и вы устанавливаете значение параметра Method равным Random Sample Consensus (RANSAC)
.
Number of random samplings
- Количество случайных выборок500
(по умолчанию) | скаляромЗадайте количество случайных выборок для выполнения алгоритма.
Этот параметр появляется, когда вы устанавливаете значение параметра Determine number of random samplings using равным Specified value
.
Desired confidence (in %)
- Желаемое доверие (в%)99
(по умолчанию) | скаляромЗадайте процент необходимого доверия путем ввода числа между 0
и 100
. Значение представляет вероятность того, что алгоритм найдет самую большую группу точек, которая может быть отображена матрицей преобразования.
Этот параметр появляется, когда вы устанавливаете параметр Determine number of random samplings using равным Desired confidence
.
Maximum number of random samplings
- Максимальное количество случайных выборок1000
(по умолчанию) | целое числоЗадайте целое число для максимального количества случайных выборок.
Этот параметр появляется, когда вы устанавливаете параметр Method равным Random Sample Consensus (RANSAC)
и вы устанавливаете значение параметра Determine number of random samplings using равным Desired confidence
.
Stop sampling earlier when a specified percentage of point pairs are determined to be inlier
- Остановить отбор пробВключите этот параметр, чтобы остановить случайную выборку, когда процент входа точек были найдены как inliers.
Этот параметр появляется, когда вы устанавливаете параметр Method равным Random Sample Consensus (RANSAC)
.
Perform additional iterative refinement of the transformation matrix
- Выполните дополнительное итерационное уточнениеЗадайте, выполнять ли уточнение для матрицы преобразования.
Этот параметр появляется, когда вы устанавливаете Find and exclude outliers флажок.
Output Boolean signal indicating which point pairs are inliers
- Выходной логический сигналВключите этот параметр, чтобы вывести пары точек inlier, которые использовались для вычисления матрицы преобразования.
Этот параметр появляется при установке флажка Find and exclude outliers .
Блок не будет использовать этот параметр со знаковыми или двойными точками типа данных.
When Pts1 and Pts2 are built-in integers, set transformation matrix date type to
- Установите тип даты матрицы преобразованияSingle
(по умолчанию) | Double
Задайте матрицу данных преобразования как Single
или Double
когда входные точки являются встроенными целыми числами.
Блок не будет использовать этот параметр со знаковыми или двойными точками типа данных.
Allow variable-sized signal input
- Разрешить вход сигнала переменного размераВключите этот параметр, чтобы разрешить вход сигнала переменного размера.
Алгоритм RANSAC опирается на порог расстояния. Пара точек, (изображение a, Pts1) и (изображение b, Pts2) является inlier только, когда расстояние между и проекция на основе матрицы преобразования попадает в заданный порог. Метрика расстояния, используемая в алгоритме RANSAC, выглядит следующим образом:
Алгоритм Наименьших Медиан Квадратов принимает, по крайней мере, 50% пар точек могут быть отображены матрицей преобразования. Алгоритму не нужно явно задавать порог расстояния. Вместо этого используется медианное расстояние между всеми парами входных точек. Метрика расстояния, используемая в алгоритме наименьшей медианы квадратов, выглядит следующим образом:
Для обоих уравнений:
является точкой в изображении a (Pts1
)
является точкой в изображении b (Pts2
)
- проекция точки на изображении, основанная на матрице преобразования H
- расстояние между двумя парами точек на изображении b
- порог
является число точек
Чем меньше метрика расстояния, тем лучше матрица преобразования и, следовательно, тем точнее проекционное изображение.
Блок Estimate Geometric Transformation поддерживает Nonreflective similarity
, Affine
, и Projective
типы преобразования, которые описаны в этом разделе.
Неотражающее преобразование подобия поддерживает перемещение, вращение и изотропное масштабирование. Он имеет четыре степени свободы и требует двух пар точек.
Матрица преобразования:
Проекция точки около является:
аффинное преобразование поддерживает неизотропное масштабирование в дополнение ко всем преобразованиям, которые поддерживает невосполнимое преобразование подобия. Он имеет шесть степеней свободы, которые могут быть определены из трех пар неколлинейных точек.
Матрица преобразования:
Проекция точки около является:
Проективное преобразование поддерживает наклон в дополнение ко всем преобразованиям, которые поддерживает аффинное преобразование.
Матрица преобразования:
Проекция точки около представлен однородными координатами как:
Для вычислительной простоты и эффективности в этом блоке используется алгебраическое расстояние. Алгебраическое расстояние для пары точек, на изображении a, и на изображении b, согласно преобразованию определяется следующим образом;
Для проективного преобразования:
, где
Для нерефлективного подобия или аффинного преобразования: ,
где
Блок выполняет сравнение и повторяет его K количество раз между последовательными матрицами преобразования. Если вы выбираете опцию Find and exclude outliers, алгоритмы RANSAC и LMS становятся доступными. Эти алгоритмы вычисляют и сравнивают метрику расстояния. Матрица преобразования, которая создает меньшую метрику расстояния, становится новой матрицей преобразования, которую использует следующее сравнение. Итоговая матрица преобразования разрешается, когда либо:
K количество случайных выборок
Алгоритм RANSAC, когда может быть сопоставлено достаточное количество пар inlier point, (динамически обновляющееся K)
Алгоритм оценки геометрического преобразования следует следующим шагам:
Матрица преобразования инициализируется в нули
Задайте count = 0
(Случайная выборка).
Пока count < K
, где K
- общее количество случайных выборок для выполнения, выполнения следующего;
Увеличьте счетчик; count = count + 1
.
Случайным образом выберите пару точек из изображений a и b (2 пары для Нерефлективного подобия, 3 пары для аффина или 4 пары для проективного).
Вычислим матрицу преобразования , из выбранных точек.
Если имеет метрику расстояния, меньшую, чем метрика расстояния , затем замените с .
(Необязательно только для алгоритма RANSAC)
Обновление K
динамически.
Выход из цикла дискретизации, если может быть отображено достаточное количество пар точек .
Используйте все пары точек в изображениях a и b, которые могут быть отображены для вычисления уточненной матрицы преобразования
Итеративное уточнение (необязательно для RANSAC и LMS-алгоритмов)
Обозначите все пары точек, которые могут быть отображены как инлиеры.
Используйте пары точек inlier, чтобы вычислить матрицу преобразования .
Если имеет метрику расстояния, меньшую, чем метрика расстояния , затем замените с , в противном случае выход из цикла.
Количество случайных выборок может быть задано пользователем для алгоритмов RANSAC и методом наименьших средних квадратов. Можно использовать дополнительную опцию с алгоритмом RANSAC, который вычисляет это число на основе требования точности. Уровень Desired Confidence управляет точностью.
Вычисленное количество случайных выборок, K используемое с алгоритмом RANSAC, выглядит следующим образом:
где
p - вероятность принадлежности независимых пар точек к самой большой группе, которая может быть отображена тем же преобразованием. Вероятность динамически вычисляется на основе количества найденных инлиеров в зависимости от общего числа точек. Когда вероятность увеличивается, количество дискретизаций, K, уменьшается.
q - вероятность нахождения самой большой группы, которая может быть отображена тем же преобразованием.
s равно значению 2, 3 или 4 для Нерефлективного подобия, аффина и проективного преобразования, соответственно.
Матрица преобразования, вычисленная из всех инлиеров, может использоваться, чтобы вычислить уточненную матрицу преобразования. Уточненная матрица преобразования затем используется, чтобы найти новый набор инкрустаторов. Эта процедура может быть повторена, пока матрица преобразования не может быть дополнительно улучшена. Это итерационное уточнение необязательно.
[1] R. Hartley and A. Ziserman, «Multiple View Geometry in Компьютерное Зрение», Second edition, Cambridge University Press, 2003
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.