Оцените движение между изображениями или кадрами видео
Analysis & Enhancement
visionanalysis
Блок Block Matching оценивает движение между двумя изображениями или двумя использованиями кадров видео “блоки” пикселей. Блок Block Matching совпадает с блоком пикселей в кадре k к блоку пикселей в кадре k+1 путем перемещения блока пикселей по поисковой области.
Предположим, что вход к блоку является кадром k. Блок Block Matching выполняет следующие шаги:
Блок подразделяет этот кадр с помощью значений, вы вводите для Block size [height width] и параметров Overlap [r c]. В следующем примере параметром Overlap [r c] является [0 0]
.
Для каждого подразделения или блока в кадре k+1, блок Block Matching устанавливает поисковую область на основе значения, вы вводите для параметра Maximum displacement [r c].
Поиски блока для нового местоположения блока с помощью или Exhaustive
или метода поиска Three-step
.
Порт | Вывод | Поддерживаемые типы данных | Поддерживаемые комплексные числа |
---|---|---|---|
I/I1 | Скаляр, вектор или матрица значений интенсивности |
| Нет |
I2 | Скаляр, вектор или матрица значений интенсивности | То же самое, когда я портирую | Нет |
|V |^2 | Матрица значений скорости | То же самое, когда я портирую | Нет |
V | Матрица скоростных компонентов в комплексной форме | То же самое, когда я портирую | Да |
Используйте параметр Estimate motion between, чтобы задать, оценить ли движение между двумя изображениями или двумя кадрами видео. Если вы выбираете Current frame and N-th frame back
, параметр N появляется в диалоговом окне. Введите скалярное значение, которое представляет количество кадров между ссылочным кадром и текущим кадром.
Используйте параметр Search method, чтобы задать, как блок определяет местоположение блока пикселей в кадре k+1 что лучшие соответствия блок пикселей в кадре k.
Если вы выбираете Exhaustive
, блок выбирает местоположение блока пикселей в кадре k+1 путем перемещения блока через поисковую область 1 пиксель за один раз. Этот процесс является в вычислительном отношении дорогим.
Если вы выбираете Three-step
, поиски блока для блока пикселей в кадре k+1 что лучшие соответствия блок пикселей в кадре k использование постоянно уменьшающегося размера шага. Блок начинается с размера шага, приблизительно равняются половине максимальной поисковой области значений. На каждом шаге блок сравнивает центральную точку поисковой области к восьми поисковым точкам, расположенным на контурах области, и перемещает центральную точку к поисковой точке, значения которой является самым близким к той из центральной точки. Блок затем уменьшает размер шага наполовину и начинает процесс снова. Эта опция является менее в вычислительном отношении дорогой, хотя она не может найти оптимальное решение.
Используйте параметр Block matching criteria, чтобы задать, как блок измеряет подобие блока пикселей в кадре k к блоку пикселей в кадре k+1. Если вы выбираете Mean square error (MSE)
, блок Block Matching оценивает смещение центрального пикселя блока как значения, которые минимизируют следующее уравнение MSE:
В предыдущем уравнении B блок пикселей и s (x, y, k) обозначают пиксельное местоположение в (x, y) в кадре k. Если вы выбираете Mean absolute difference (MAD)
, блок Block Matching оценивает смещение центрального пикселя блока как значения, которые минимизируют следующее уравнение MAD:
Используйте Block size [height width] и параметры Overlap [r c], чтобы задать, как блок подразделяет входное изображение. Для графического описания этих параметров смотрите первую фигуру на этой странице с описанием. Если бы параметром Overlap [r c] не является [0 0]
, блоки перекрыли бы друг друга количеством пикселей, которые вы задаете.
Используйте параметр Maximum displacement [r c], чтобы задать максимальное количество пикселей, которые любой центральный пиксель в блоке пикселей может переместить от изображения до изображения или кадра к кадру. Блок использует это значение, чтобы определить размер поисковой области.
Используйте параметр Velocity output, чтобы задать вывод блока. Если вы выбираете Magnitude-squared
, блок выводит матрицу оптического потока, где каждый элемент имеет форму u2+v2. Если вы выбираете Horizontal and vertical components in complex form
, блок выводит матрицу оптического потока, где каждый элемент имеет форму . Действительная часть каждого значения является горизонтальным скоростным компонентом, и мнимая часть каждого значения является вертикальным скоростным компонентом.
Следующая схема показывает типы данных, используемые в блоке Block Matching для сигналов фиксированной точки.
Можно установить аккумулятор и типы выходных данных в маске блока, как обсуждено в следующем разделе.
Выберите Two images
, чтобы оценить движение между двумя изображениями. Выберите Current frame and N-th frame back
, чтобы оценить движение между двумя кадрами видео, которые являются кадрами N независимо.
Введите скалярное значение, которое представляет количество кадров между ссылочным кадром и текущим кадром. Этот параметр только видим, если для параметра Estimate motion between вы выбираете Current frame and N-th frame back
.
Задайте как поиски блока для блока пикселей в следующем изображении или кадре. Вашим выбором является Exhaustive
или Three-step
.
Задайте, как блок измеряет подобие блока пикселей в кадре k к блоку пикселей в кадре k+1. Вашим выбором является Mean square error (MSE)
или Mean absolute difference (MAD)
.
Задайте размер блока пикселей.
Задайте перекрытие (в пикселях) двух подразделений входного изображения.
Задайте максимальное количество пикселей, которые любой центральный пиксель в блоке пикселей может переместить от изображения до изображения или кадра к кадру. Блок использует это значение, чтобы определить размер поисковой области.
Если вы выбираете Magnitude-squared
, блок выводит матрицу оптического потока, где каждый элемент имеет форму . Если вы выбираете Horizontal and vertical components in complex form
, блок выводит матрицу оптического потока, где каждый элемент имеет форму .
Выберите округляющийся режим для операций фиксированной точки.
Выберите режим переполнения для операций фиксированной точки.
Как показано ранее вывод множителя помещается в тип выходных данных продукта и масштабирование. Используйте этот параметр, чтобы задать, как назвать продукт выходным словом и дробными длинами.
Когда вы выбираете Same as input
, эти характеристики совпадают с теми из входа к блоку.
Когда вы выбираете Binary point scaling
, можно ввести размер слова и дробную длину продукта вывод в битах.
Когда вы выбираете Slope and bias scaling
, можно ввести размер слова в битах и наклоне продукта вывод. Смещение всех сигналов в программном обеспечении Computer Vision Toolbox™ 0.
Как изображено ранее, входные параметры к аккумулятору брошены к типу данных аккумулятора. Вывод сумматора остается в типе данных аккумулятора, когда каждый элемент входа добавляется к нему. Используйте этот параметр, чтобы задать, как определять это слово аккумулятора и дробные длины.
Когда вы выбираете Binary point scaling
, можно ввести размер слова и дробную длину аккумулятора в битах.
Когда вы выбираете Slope and bias scaling
, можно ввести размер слова в битах и наклоне аккумулятора. Смещение всех сигналов в программном обеспечении Computer Vision Toolbox 0.
Выберите, как задать размер слова и дробная продолжительность вывода блока:
Когда вы выбираете Binary point scaling
, можно ввести размер слова вывода в битах. Дробная длина всегда 0.
Когда вы выбираете Slope and bias scaling
, можно ввести размер слова, в битах, вывода. Смещение всех сигналов в программном обеспечении Computer Vision Toolbox 0.
Выберите этот параметр, чтобы препятствовать тому, чтобы Fixed-Point Tool заменили типы данных, которые вы задаете на маске блока. Для получения дополнительной информации смотрите fxptdlg
, страницу с описанием на Fixed-Point Tool в документации Simulink®.
Программное обеспечение Computer Vision Toolbox |