Birds-Eye View
Преобразуйте обращенное к передней стороне изображение камеры в нисходящее представление
Описание
Блок Birds-Eye View деформирует обращенное к передней стороне изображение камеры в нисходящее представление. Это использует эффективную оборудованием архитектуру, которая поддерживает генерацию HDL-кода.
Необходимо обеспечить матрицу homography, которая описывает преобразование. Эта матрица может быть вычислена от физических свойств камеры, или опытным путем выведена путем анализа изображения шаблона сетки, взятого камерой. Блок использует матрицу, чтобы вычислить преобразованные координаты каждого пикселя. Преобразование не интерполирует между пиксельными местоположениями. Вместо этого это округляет результат к самой близкой координате.
Блок работает с трапециевидной областью входного изображения ниже предела. Эти изображения показывают входную область, выбранную для преобразования и получившегося нисходящего представления.
Можно задать количество линий в преобразованной области и размере выходной системы координат. Если заданная матрица homography не может сопоставить от требуемого количества линий к требуемому выходному размеру, блок возвращает предупреждение.
Поскольку блок реплицирует линии из входной области, чтобы создать большую выходную систему координат, это не может завершить преобразование одной системы координат, прежде чем следующая система координат прибудет. Блок игнорирует любые новые входные кадры, в то время как он все еще преобразовывает предыдущую систему координат. Поэтому в зависимости от сохраненных линий и выходного размера, блок может пропустить входные кадры. Эта синхронизация также позволяет блоку обеспечить интервалы гашения потока входного пикселя.
Порты
Этот блок использует пиксельный интерфейс потоковой передачи с pixelcontrol
соедините шиной для сигналов управления кадром. Этот интерфейс позволяет блоку действовать независимо от размера изображения и формата. Все блоки Vision HDL Toolbox™ используют тот же интерфейс потоковой передачи. Блок принимает и возвращает скалярное пиксельное значение и шину, которая содержит пять управляющих сигналов. Управляющие сигналы указывают на валидность каждого пикселя и его местоположения в системе координат. Чтобы преобразовать систему координат (пиксельная матрица) в последовательный пиксельный поток и управляющие сигналы, используйте блок Frame To Pixels. Для полного описания интерфейса смотрите Пиксельный Интерфейс Потоковой передачи.
Входной параметр
развернуть все
pixel
— Один пиксель изображения
скаляр
Один пиксель изображения в пиксельном потоке, заданном как скаляр, который представляет полутоновую интенсивность.
double
и single
типы данных поддерживаются для симуляции, но не для генерации HDL-кода.
Типы данных: uint8
| uint16
| uint32
| int8
| int16
| int32
| fixed point
| Boolean
| double
| single
ctrl
— Управляющие сигналы сопоставлены с пиксельным потоком
pixelcontrol
шина
Управляющие сигналы сопоставлены с пиксельным потоком, заданным как pixelcontrol
соедините шиной, который содержит пять сигналов. Сигналы описывают валидность пикселя и его местоположения в системе координат. Для получения дополнительной информации смотрите Пиксельную Шину управления.
Типы данных: bus
Вывод
развернуть все
pixel
— Один пиксель изображения
скаляр
Один пиксель изображения в пиксельном потоке, возвращенном как скаляр, представляющий полутоновую интенсивность. Тип данных выходного пикселя совпадает с типом данных входного пикселя.
double
и single
типы данных поддерживаются для симуляции, но не для генерации HDL-кода.
Типы данных: uint8
| uint16
| uint32
| int8
| int16
| int32
| fixed point
| Boolean
| double
| single
ctrl
— Управляющие сигналы сопоставлены с пиксельным потоком
pixelcontrol
шина
Управляющие сигналы сопоставлены с пиксельным потоком, возвращенным как pixelcontrol
соедините шиной, который содержит пять сигналов. Сигналы описывают валидность пикселя и его местоположения в системе координат. Для получения дополнительной информации смотрите Пиксельную Шину управления.
Типы данных: bus
Параметры
развернуть все
Homography matrix
— Передаточная функция выведена из параметров камеры
[0.000100990123328 0 0;0.000412396945637 0.001302203393162 1.293171994e-06;-0.103019798961327 -0.255811259450009 -0.000222053779501]
(значение по умолчанию) | 3х3 матрица
Передаточная функция выведена из параметров камеры, заданных как 3х3 матрица.
Матрица homography, h, выведена из четырех внутренних параметров физической настройки камеры: фокусное расстояние, подача, высота и основная точка (из модели камеры с точечной диафрагмой). Значением по умолчанию является матрица для настройки камеры, используемой в примере Обнаружения Маршрута.
Эта матрица может быть вычислена от физических свойств камеры, или опытным путем выведена путем анализа изображения тестового шаблона сетки, взятого камерой. Смотрите estimateGeometricTransform
или одно приложение Camera Calibrator (Computer Vision Toolbox).
Maximum buffer size, in pixels
— Количество входных пикселей, чтобы буферизовать
40000
(значение по умолчанию) | целое число
Количество входных пикселей, чтобы буферизовать, заданный как целое число. Вычислите это значение из Number of input lines to buffer *ActivePixelsPerLine. Блок использует память об этом размере, чтобы сохранить входные пиксели. Если вы задаете значение, которое не является степенью двойки, блок использует следующую самую большую степень двойки.
Number of input lines to buffer
— Количество линий, чтобы преобразовать
54
(значение по умолчанию) | целое число
Количество линий, чтобы преобразовать, заданный как целое число. Блок хранит и преобразовывает это количество линий в выходное изображение вида с высоты птичьего полета, запускающееся на пределе, как определено Homography matrix.
Хранение полного входного кадра использует слишком много памяти, чтобы реализовать алгоритм без устройства хранения данных вне кристалла. Поэтому для аппаратной реализации, выберите меньшую область, чтобы сохранить и преобразовать, та, которая генерирует приемлемый выходной формат кадра.
Например, с помощью Homography matrix по умолчанию с входным изображением 640 480 пикселей, полноразмерные преобразовывают результаты в 900 640 выходное изображение. Анализ входа к выходу x - координатное отображение показывает, что приблизительно 50 линий входного изображения требуются, чтобы генерировать лучшие 700 линий выходного изображения вида с высоты птичьего полета. Это количество входных линий может храниться с помощью памяти на чипе. Предел для настройки камеры по умолчанию вокруг линии 200, и линии выше той точки не способствуют получившемуся виду с высоты птичьего полета. Поэтому блок может сохранить только входные линии 200–250 для преобразования.
Output active pixels
— Горизонтальный размер выходной системы координат
640
(значение по умолчанию) | целое число
Горизонтальный размер выходной системы координат, заданной как целое число. Этот параметр является количеством активных пикселей в каждой выходной линии.
Output active lines
— Вертикальный размер выходной системы координат
700
(значение по умолчанию) | целое число
Вертикальный размер выходной системы координат, заданной как целое число. Этот параметр является количеством активных линий в каждой выходной системе координат.
Алгоритмы
Преобразование от координаты входного пикселя (x,y) к видимой с большого расстояния пиксельной координате выведено из матрицы homography, h. Матрица homography основана на физических параметрах и поэтому является константой для конкретной установки камеры.
Реализация видимого с большого расстояния преобразования в оборудовании непосредственно не выполняет это вычисление. Вместо этого блок предварительно вычисляет интерполяционные таблицы для горизонтальных и вертикальных аспектов преобразования.
Во-первых, блок хранит входные линии, начинающие с предварительно вычисленного предела. Сохраненные пиксели формируют трапецоид с короткими линиями около предела и более широкими линиями около камеры. Это устройство хранения данных использует ячейки памяти Maximum buffer size, in pixels.
Горизонтальная интерполяционная таблица содержит параметры интерполяции, которые описывают фрагмент каждой линии трапециевидной входной области к требуемой ширине выходной системы координат. Линии, которые падают ближе на предел, расширяются больше, чем линии ближе к камере.
Вертикальная интерполяционная таблица содержит y - координатное отображение, и сколько раз каждая линия повторяется, чтобы заполнить требуемую высоту выходной системы координат. Около предела, входной контурной карты ко многим выходным линиям, в то время как каждая линия ближе камера сопоставляет с уменьшающимся количеством выходных линий.
Интерполяционные таблицы используют 3*Number of input lines to buffer ячейки памяти.
Расширенные возможности
Генерация кода C/C++
Генерация кода C и C++ с помощью Simulink® Coder™.
Этот блок поддерживает генерацию кода C/C++ для акселератора Simulink® и быстрых режимов Accelerator и для генерации компонента DPI.
Генерация HDL-кода
Сгенерируйте Verilog и код VHDL для FPGA и проекты ASIC с помощью HDL Coder™.
HDL Coder™ обеспечивает дополнительные параметры конфигурации, которые влияют на реализацию HDL и синтезируемую логику.
Архитектура HDL
Этот блок имеет одну, архитектуру HDL по умолчанию.
Свойства блока HDL
ConstrainedOutputPipeline | Количество регистров, чтобы поместить при выходных параметрах путем перемещения существующих задержек в рамках проекта. Распределенная конвейеризация не перераспределяет эти регистры. Значением по умолчанию является 0 . Для получения дополнительной информации смотрите ConstrainedOutputPipeline (HDL Coder).
|
InputPipeline | Количество входных настроек канала связи, чтобы вставить в сгенерированный код. Распределенная конвейеризация и ограниченная выходная конвейеризация могут переместить эти регистры. Значением по умолчанию является 0 . Для получения дополнительной информации смотрите InputPipeline (HDL Coder).
|
OutputPipeline | Количество выходных настроек канала связи, чтобы вставить в сгенерированный код. Распределенная конвейеризация и ограниченная выходная конвейеризация могут переместить эти регистры. Значением по умолчанию является 0 . Для получения дополнительной информации смотрите OutputPipeline (HDL Coder).
|
Смотрите также
Блоки
Объекты
Функции
Введенный в R2017b