Генератор обнаружения видения

Обнаружьте объекты и маршруты от визуальных измерений

  • Библиотека:
  • Automated Driving Toolbox / Управление Сценарием и Моделирование Датчика

Описание

Блок Vision Detection Generator генерирует обнаружения от измерений камеры, проведенных датчиком видения, смонтированным на автомобиле, оборудованном датчиком. Обнаружения выведены от моделируемых положений агента и сгенерированы с промежутками равные интервалу обновления датчика. На все обнаружения ссылаются к системе координат автомобиля, оборудованного датчиком. Генератор может моделировать действительные обнаружения с добавленным случайным шумом и также сгенерировать ложные положительные обнаружения. Статистическая модель генерирует шум измерения, истинные обнаружения и ложные положительные стороны. Случайными числами, сгенерированными статистической моделью, управляют настройки генератора случайных чисел на вкладке Measurements. Можно использовать Генератор Обнаружения Видения, чтобы создать вход к блоку Multi-Object Tracker.

Порты

Входной параметр

развернуть все

Положения агента сценария, заданные как шина Simulink, содержащая структуру MATLAB.

Структура имеет эти поля.

Поле ОписаниеВвод
NumActorsКоличество агентов (исключенный автомобиль, оборудованный датчиком)Неотрицательное целое число
TimeТекущее время симуляцииДействительный скаляр
ActorsАгент позирует в координатах автомобиля, оборудованного датчикомNumActors - массив длины агента излагает структуры

Каждая структура положения агента в Actors имеет эти поля.

Поле Описание
ActorID

Заданный сценарием идентификатор агента, заданный как положительное целое число. ActorID является обязательным полем.

Position

Положение агента, заданного как [x y z] вектор с действительным знаком. Position является обязательным полем. Модули исчисляются в метрах.

Velocity

Скорость (v) агента в x - y - и z - направления, заданные как [v x v y v z] вектор с действительным знаком. Можно задать или Speed или Velocity, но не обоих. Если bothVelocity и Speed не заданы, Velocity по умолчанию [0 0 0] используется. Модули исчисляются в метрах в секунду.

Speed

Скорость агента, заданного как действительный скаляр. Когда Speed задан, скорость агента выравнивается с x - ось агента в системе координат автомобиля, оборудованного датчиком. Можно задать или Speed или Velocity, но не обоих. Если и Velocity и Speed не заданы, Velocity по умолчанию [0 0 0] используется. Модули исчисляются в метрах в секунду.

Roll

Угол вращения агента, заданного как действительный скаляр. Если Roll не задан, значением по умолчанию является 0. Модули в градусах.

Pitch

Передайте угол агента, заданного как действительный скаляр. Если Pitch не задан, значением по умолчанию является 0.Units, в градусах.

Yaw

Угол отклонения от курса агента, заданного как действительный скаляр. Если Yaw не задан, значением по умолчанию является 0.Units, в градусах.

Зависимости

Чтобы включить этот входной порт, установите параметр Types of detections generated by sensor на Objects only, Lanes with occlusion или Lanes and objects.

Контуры маршрута, заданные как шина Simulink, содержащая структуру MATLAB.

Структура имеет эти поля.

Поле ОписаниеВвод
NumLaneBoundariesКоличество контуров маршрутаНеотрицательное целое число
TimeТекущее время симуляцииДействительный скаляр
LaneBoundariesКонтуры маршрута в координатах автомобиля, оборудованного датчикомNumLaneBoundaries - массив длины граничных структур маршрута

Каждая граничная структура маршрута в LaneBoundaries имеет эти поля.

Поле Описание

Coordinates

Координаты контура маршрута, заданные как N с действительным знаком-by-3 матрица, где N является количеством контуров маршрута. Координаты контура маршрута задают положение точек на контуре на расстояниях, заданных аргументом пары "имя-значение" 'XDistance' функции laneBoundaries. Кроме того, набор граничных координат вставляются в матрицу на нулевом расстоянии. Модули исчисляются в метрах.

Curvature

Искривление контура маршрута в каждой строке матрицы Coordinates, заданной как N с действительным знаком-by-1 вектор. N является количеством контуров маршрута. Модули исчисляются в радианах на метр.

CurvatureDerivative

Производная искривления контура маршрута в каждой строке матрицы Coordinates, заданной как N с действительным знаком-by-1 вектор. N является количеством контуров маршрута. Модули исчисляются в радианах на квадратный метр.

HeadingAngle

Начальный контур маршрута направляющийся угол, заданный как действительный скаляр. Направляющийся угол контура маршрута относительно заголовка автомобиля, оборудованного датчиком. Модули в градусах.

LateralOffset

Расстояние от контура маршрута от положения автомобиля, оборудованного датчиком, заданного как действительный скаляр. Смещение к контуру маршрута слева от автомобиля, оборудованного датчиком положительно. Смещение справа от автомобиля, оборудованного датчиком отрицательно. Модули исчисляются в метрах.

BoundaryType

Тип маркировки контура маршрута, заданной как одно из этих значений:

  • 'Unmarked' — Никакой физический маркер маршрута не существует

  • 'Solid' — Одна неповрежденная строка

  • 'Dashed' — Одна строка пунктирных маркеров маршрута

  • 'DoubleSolid' — Две неповрежденных строки

  • 'DoubleDashed' — Две пунктирных линии

  • 'SolidDashed' — Сплошная линия слева и пунктирная линия справа

  • 'DashedSolid' — Пунктирная линия слева и сплошная линия справа

Strength

Сила маркировки контура маршрута, заданной как действительный скаляр от 0 до 1. Значение 0 соответствует маркировке, которая не видима. Значение 1 соответствует маркировке, которая абсолютно видима. Значения между 0 и 1 соответствуют частично видимым маркировкам.

Width

Ширина контура маршрута, заданная как положительный действительный скаляр. В маркере маршрута двойной строки та же ширина используется для обеих строк и для пробела между строками. Модули исчисляются в метрах.

Length

Длина тире в пунктирных линиях, заданных как положительный действительный скаляр. В маркере маршрута двойной строки та же длина используется для обеих строк.

Space

Продолжительность пробела между тире в пунктирных линиях, заданных как положительный действительный скаляр. В пунктирном маркере маршрута двойной строки то же пространство используется для обеих строк.

Зависимости

Чтобы включить этот входной порт, установите параметр Types of detections generated by sensor на Lanes only, Lanes only, Lanes with occlusion или Lanes and objects.

Вывод

развернуть все

Обнаружения объектов, возвращенные как шина Simulink, содержащая структуру MATLAB. Смотрите Начало работы с Шинами (Simulink). Структура имеет форму:

Поле ОписаниеВвод
NumDetectionsКоличество обнаруженийцелое число
IsValidTimeЛожь, когда обновления время от времени требуют, которые являются между интервалами вызова блокаБулевская переменная
DetectionsОбнаружения объектовмассив структур обнаружения объектов длины установлен параметром Maximum number of reported detections. Только NumDetections этих обнаружений является фактическими обнаружениями.

Структура обнаружения объектов содержит эти свойства.

СвойствоОпределение
TimeВремя измерения
MeasurementОбъектные измерения
MeasurementNoiseКовариационная матрица шума измерения
SensorIndexУникальный идентификатор датчика
ObjectClassIDПредметная классификация
MeasurementParametersПараметры используются функциями инициализации нелинейного Кальмана, отслеживающего фильтры
ObjectAttributesДополнительная информация передала средству отслеживания

  • Для Декартовых координат о Measurement и MeasurementNoise сообщают в системе координат, заданной параметром Coordinate system used to report detections.

  • Для сферических координат о Measurement и MeasurementNoise сообщают в сферической системе координат на основе Декартовой системы координат датчика. о MeasurementParameters сообщают в Декартовых координатах датчика.

Измерение и шум измерения

Coordinate system used to report detectionsИзмерение и координаты шума измерения
'Ego Cartesian'

Координатная зависимость от Enable range rate measurements

Enable range rate measurementsКоординаты
tRUE[x;y;z;vx;vy;vz]
ложь[x;y;z]
'Sensor Cartesian'
'Sensor Spherical'

Координатная зависимость от Enable elevation angle measurements и Enable range rate measurements

Enable range rate measurementsEnable elevation angle measurementsКоординаты
tRUEtRUE[az;el;rng;rr]
tRUEложь[az;rng;rr]
ложьtRUE[az;el;rng]
ложьложь[az;rng]

MeasurementParameters

ПараметрОпределение
Frame Перечислимый тип, указывающий на кадр раньше, сообщал об измерениях. Frame всегда устанавливается в 'rectangular', потому что Генератор Обнаружения Видения сообщает об обнаружениях в Декартовых координатах.
OriginPosition3-D векторное смещение источника датчика от источника автомобиля, оборудованного датчиком. Вектор выведен из свойств Sensor's (x,y) position (m) и Sensor's height (m), заданных в Генераторе Обнаружения Видения.
OrientationОриентация системы координат датчика видения относительно системы координат автомобиля, оборудованного датчиком. Ориентация выведена от Yaw angle of sensor mounted on ego vehicle (deg), Pitch angle of sensor mounted on ego vehicle (deg) и параметров Roll angle of sensor mounted on ego vehicle (deg) Генератора Обнаружения Видения.
HasVelocityУказывает, содержат ли измерения скорость.

Свойство ObjectAttributes каждого обнаружения является структурой с этими полями.

Поле Определение
TargetIndexИдентификатор агента, ActorID, который сгенерировал обнаружение. Для ложных предупреждений это значение отрицательно.
SNRОтношение сигнал-шум обнаружения. Модули находятся в дБ.

Зависимости

Чтобы включить этот выходной порт, установите параметр Types of detections generated by sensor на Objects only, Lanes with occlusion или Lanes and objects.

Обнаружения контура маршрута, возвращенные как шина Simulink, содержащая структуру MATLAB. Поля структуры:

Структура обнаружения контура маршрута

Поле Описание
ВремяВремя обнаружения маршрута
SensorIndexУникальный идентификатор датчика
LaneBoundariesМассив объектов clothoidLaneBoundary.

Зависимости

Чтобы включить этот выходной порт, установите параметр Types of detections generated by sensor на Lanes only, Lanes with occlusion или Lanes and objects.

Параметры

развернуть все

Основная вкладка

Уникальный идентификатор датчика, заданный как положительное целое число. Идентификатор датчика отличает обнаружения, которые прибывают из различных датчиков в системе мультидатчика.

Пример 5

Типы обнаружений сгенерированы датчиком, заданным как Objects only, Lanes only, Lanes with occlusion или Lanes and objects.

  • Когда установлено в Objects only, никакая дорожная информация не используется, чтобы закрыть агентов.

  • Когда установлено в Lanes only, никакая информация об агенте не используется, чтобы обнаружить маршруты.

  • Когда установлено в Lanes with occlusion, агенты в поле зрения камеры могут повредить способность к датчику обнаружить маршруты.

  • Когда установлено в Lanes and objects, датчик генерирует объект оба обнаружения объектов и закрытые обнаружения маршрута.

Необходимый временной интервал между обновлениями датчика, заданными как положительный действительный скаляр. Значение этого параметра должно быть целочисленным кратным интервал данных о входном порте Actors. Обновления, которые требуют от датчика между интервалами обновления, не содержат обнаружений. Модули находятся в секундах.

Необходимый временной интервал между обновлениями обнаружения маршрута, заданными как положительный действительный скаляр. Генератор обнаружения видения называется в интервалах постоянного времени. Детектор видения генерирует новые обнаружения маршрута, с промежутками заданные этим параметром, который должен быть целочисленным кратным интервал времени симуляции. Обновления, которые требуют от датчика между интервалами обновления, не содержат обнаружений маршрута. Модули находятся в секундах.

Параметры - датчик Extrinsics

Местоположение центра датчика видения, заданного как с действительным знаком 1 2 вектор. Sensor's (x,y) position (m) и параметры Sensor's height (m) задают координаты датчика видения относительно системы координат автомобиля, оборудованного датчиком. Значение по умолчанию соответствует датчику видения по ходу движения, смонтировал инструментальную панель седана. Модули исчисляются в метрах.

Высота датчика видения над землей плоскость, заданная как положительный действительный скаляр. Высота задана относительно наземной плоскости автомобиля. Sensor's (x,y) position (m) и параметры Sensor's height (m) задают координаты датчика видения относительно системы координат автомобиля, оборудованного датчиком. Значение по умолчанию соответствует датчику видения по ходу движения, смонтировал инструментальную панель седана. Модули исчисляются в метрах.

Пример: 0.25

Угол отклонения от курса датчика видения, заданного как действительный скаляр. Угол отклонения от курса является углом между центральной линией автомобиля, оборудованного датчиком и оптической осью камеры. Положительный угол отклонения от курса соответствует по часовой стрелке вращение при взгляде в положительном направлении z - ось системы координат автомобиля, оборудованного датчиком. Модули в градусах.

Пример: -4.0

Передайте угол датчика, заданного как действительный скаляр. Угол подачи является углом между оптической осью камеры и плоскостью x-y системы координат автомобиля, оборудованного датчиком. Положительный угол подачи соответствует по часовой стрелке вращение при взгляде в положительном направлении y - ось системы координат автомобиля, оборудованного датчиком. Модули в градусах.

Пример: 3.0

Угол вращения датчика видения, заданного как действительный скаляр. Угол вращения является углом вращения оптической оси камеры вокруг x - ось системы координат автомобиля, оборудованного датчиком. Положительный угол вращения соответствует по часовой стрелке вращение при взгляде в положительном направлении x - ось системы координат. Модули в градусах.

Параметры - настройки выходного порта

Источник объектного имени шины, заданного как Auto или Property. Если вы выбираете Auto, блок автоматически создает имя шины. Если вы выбираете Property, задаете имя шины с помощью параметра Specify an object bus name.

Пример: Property

Источник выходного маршрута соединяет шиной имя, заданное как Auto или Property. Если вы выберете Auto, блок автоматически создаст имя шины. Если вы выбираете Property, задаете имя шины с помощью параметра Specify an object bus name.

Пример: Property

Объектное имя шины.

Пример: visionbus

Зависимости

Чтобы включить этот параметр, установите параметр Source of object bus name на Property.

Namer выходной шины маршрута.

Пример: lanebus

Зависимости

Чтобы включить этот параметр, установите параметр Source of output lane bus name на Property.

Параметры - создание отчетов обнаружения

О максимальном количестве обнаружений сообщает датчик, заданный как положительное целое число. Об обнаружениях сообщают в порядке увеличивающегося расстояния от датчика, пока максимальное количество не достигнуто.

Пример: 100

Зависимости

Чтобы включить этот параметр, установите параметр Types of detections generated by sensor на Objects only или Lanes and objects.

Максимальное количество маршрутов, о которых сообщают, заданных как положительное целое число.

Пример: 100

Зависимости

Чтобы включить этот параметр, установите параметр Types of detections generated by sensor на Lanes only, Lanes with occlusion или Lanes and objects.

Система координат обнаружений, о которых сообщают, заданных как одно из этих значений:

  • Ego Cartesian — Об обнаружениях сообщают в Декартовой системе координат автомобиля, оборудованного датчиком.

  • Sensor Cartesian — Об обнаружениях сообщают в Декартовой системе координат датчика.

  • Interpreted execution — Моделируйте модель с помощью интерпретатора MATLAB. Эта опция сокращает время запуска. В режиме Interpreted execution можно отладить исходный код блока.

  • Code generation — Моделируйте модель с помощью сгенерированного кода C. В первый раз, когда вы запускаете симуляцию, Simulink генерирует код С для блока. Код С снова используется для последующих симуляций, пока модель не изменяется. Эта опция требует дополнительного времени запуска.

Измерения - настройки

Максимальная область значений обнаружения, заданная как положительный действительный скаляр. Датчик видения не может обнаружить объекты вне этой области значений. Модули исчисляются в метрах.

Пример: 250

Измерения - объектные настройки детектора

Точность ограничительной рамки, заданная как положительный действительный скаляр. Это количество задает точность, которой детектор может совпадать с ограничительной рамкой к цели. Модули находятся в пикселях.

Пример 9

Шумовая интенсивность используется для фильтрации положения и скоростных измерений, заданных как положительный действительный скаляр. Шумовая интенсивность задает стандартное отклонение шума процесса внутреннего Фильтра Калмана постоянной скорости, используемого в датчике видения. Фильтр моделирует шум процесса использование кусочно-постоянной белой шумовой ускоряющей модели. Шумовая интенсивность обычно имеет порядок максимального ускоряющего значения, ожидаемого для цели. Модули находятся в m/s2.

Пример 2

Максимальная обнаруживаемая объектная скорость, заданная как неотрицательный действительный скаляр. Модули исчисляются в метрах в секунду.

Пример: 20

Максимальное позволенное поглощение газов объекта, заданного как действительный скаляр в области значений [0 1). Поглощение газов является частью общей площади поверхности объекта, не видимого к датчику. Значение каждый указывает, что объект полностью закрывается. Модули являются безразмерными.

Пример: 0.2

Минимальная высота и ширина объекта, который датчик видения обнаруживает в изображении, заданном как вектор [minHeight,minWidth] положительных значений. 2D спроектированная высота объекта должна быть больше, чем или равной minHeight. Спроектированная ширина объекта должна быть больше, чем или равной minWidth. Модули находятся в пикселях.

Пример: [25 20]

Вероятность обнаружения цели, заданной как положительный действительный скаляр, меньше чем или равный 1. Это количество задает вероятность, что датчик обнаруживает обнаруживаемый объект. detectable object является объектом, который удовлетворяет минимальный обнаруживаемый размер, максимальную область значений, максимальную скорость и максимальные позволенные ограничения поглощения газов.

Пример: 0.95

Количество ложных обнаружений, сгенерированных датчиком видения на изображение, заданное как неотрицательный действительный скаляр.

Пример: 1.0

Измерения - настройки детектора маршрута

Минимальный размер спроектированной маркировки маршрута в изображении камеры, которое может быть обнаружено датчиком после составления искривления, задал как 1 2 вектор с действительным знаком, [minHeight minWidth]. Маркировки маршрута должны превысить оба из этих значений, которые будут обнаружены. Модули находятся в пикселях.

Зависимости

Чтобы включить этот параметр, установите параметр Types of detections generated by sensor на Lanes only, Lanes only или Lanes and objects.

Точность контуров маршрута, заданных как положительный действительный скаляр. Это свойство задает точность, с которой датчик маршрута может поместить контур маршрута. Модули находятся в пикселях. Это свойство используется только при обнаружении маршрутов.

Пример: 2.5

Зависимости

Чтобы включить этот параметр, установите параметр Types of detections generated by sensor на Lanes only, Lanes only или Lanes and objects.

Настройки генератора случайных чисел

Установите этот флажок, чтобы добавить шум в измерения датчика видения. В противном случае измерения бесшумны. Свойство MeasurementNoise каждого обнаружения всегда вычисляется и не затронуто значением, которое вы задаете для параметра Add noise to measurements.

Метод, чтобы установить seed генератора случайных чисел, заданный как Repeatable, Specify seed или Nonrepeatable. Когда установлено в Specify seed, набор значений в параметре InitialSeed используется. Когда установлено в Repeatable, случайный начальный seed сгенерирован для первой симуляции и затем снова использован для всех последующих симуляций. Можно, однако, изменить seed путем выдачи команды clear all. Когда установлено в Nonrepeatable, новый начальный seed сгенерирован каждый раз выполнения симуляции.

Пример: Specify seed

Seed генератора случайных чисел, заданный как неотрицательное целое число меньше чем 232.

Пример: 2001

Зависимости

Чтобы включить этот параметр, установите параметр Random Number Generator Settings на Specify seed.

Профили агента

Метод, чтобы задать профили агента, заданные как Parameters или MATLAB expression. Когда вы выбираете Parameters, устанавливаете профили агента с помощью параметров во вкладке Actor Profiles. Когда вы выбираете MATLAB expression, устанавливаете профили агента с помощью параметра MATLAB expression for actor profiles.

Выражение MATLAB для профилей агента, заданных как структура MATLAB или массив структур MATLAB.

Пример: struct('ClassID',5,'Length',5.0,'Width',2,'Height',2,'OriginOffset',[-1.55,0,0])

Зависимости

Чтобы включить этот параметр, установите параметр Select method to specify actor profiles на MATLAB expression.

Заданный сценарием идентификатор агента, заданный как положительное целое число или вектор длины-L уникальных положительных целых чисел. L должен равняться количеству входа агентов во входной порт Actor. Векторные элементы должны совпадать со значениями ActorID агентов. Можно задать Unique identifier for actors как []. В этом случае те же параметры профиля агента применяются ко всем агентам.

Пример: [1,2]

Зависимости

Чтобы включить этот параметр, установите параметр Select method to specify actor profiles на Parameters.

Пользовательский идентификатор классификации, заданный как целое число или вектор длины-L целых чисел. Когда Unique identifier for actors является вектором, этот параметр является вектором той же длины с элементами во взаимно-однозначном соответствии к агентам в Unique identifier for actors. Когда Unique identifier for actors пуст, [], необходимо задать этот параметр как одно целое число, значение которого применяется ко всем агентам.

Пример 2

Зависимости

Чтобы включить этот параметр, установите параметр Select method to specify actor profiles на Parameters.

Длина кубоида, заданного как положительный действительный скаляр или вектор длины-L положительных значений. Когда Unique identifier for actors является вектором, этот параметр является вектором той же длины с элементами во взаимно-однозначном соответствии к агентам в Unique identifier for actors. Когда Unique identifier for actors пуст, [], необходимо задать этот параметр как положительный действительный скаляр, значение которого применяется ко всем агентам. Модули исчисляются в метрах.

Пример: 6.3

Зависимости

Чтобы включить этот параметр, установите параметр Select method to specify actor profiles на Parameters.

Ширина кубоида, заданного как положительный действительный скаляр или вектор длины-L положительных значений. Когда Unique identifier for actors является вектором, этот параметр является вектором той же длины с элементами во взаимно-однозначном соответствии к агентам в Unique identifier for actors. Когда Unique identifier for actors пуст, [], необходимо задать этот параметр как положительный действительный скаляр, значение которого применяется ко всем агентам. Модули исчисляются в метрах.

Пример: 4.7

Зависимости

Чтобы включить этот параметр, установите параметр Select method to specify actor profiles на Parameters.

Высота кубоида, заданного как положительный действительный скаляр или вектор длины-L положительных значений. Когда Unique identifier for actors является вектором, этот параметр является вектором той же длины с элементами во взаимно-однозначном соответствии к агентам в Unique identifier for actors. Когда Unique identifier for actors пуст, [], необходимо задать этот параметр как положительный действительный скаляр, значение которого применяется ко всем агентам. Модули исчисляются в метрах.

Пример: 2.0

Зависимости

Чтобы включить этот параметр, установите параметр Select method to specify actor profiles на Parameters.

Вращательный центр агента, заданного как массив ячеек длины-L с действительным знаком 1 3 векторы. Каждый вектор представляет смещение вращательного центра агента от нижнего центра агента. Для автомобилей смещение соответствует точке на земле ниже центра задней оси. Когда Unique identifier for actors является вектором, этот параметр является массивом ячеек векторов с ячейками во взаимно-однозначном соответствии к агентам в Unique identifier for actors. Когда Unique identifier for actors пуст, [], необходимо задать этот параметр как массив ячеек одного элемента, содержащего вектор смещения, значения которого применяются ко всем агентам. Модули исчисляются в метрах.

Пример: [-1.35.2.3]

Зависимости

Чтобы включить этот параметр, установите параметр Select method to specify actor profiles на Parameters.

Камера Intrinsics

Фокусное расстояние камеры, в пикселях, заданных как двухэлементный вектор с действительным знаком. См. также свойство FocalLength cameraIntrinsics.

Пример: [480,320]

Оптический центр камеры, в пикселях, заданных как двухэлементный вектор с действительным знаком. См. также свойство PrincipalPoint cameraIntrinsics.

Пример: [480,320]

Размер изображения производится камерой, в пикселях, заданных как двухэлементный вектор положительных целых чисел. См. также свойство ImageSize cameraIntrinsics.

Пример: [240,320]

Радиальные коэффициенты искажения, заданные как двухэлементный или трехэлементный вектор с действительным знаком. Для получения дополнительной информации при установке этих коэффициентов, смотрите свойство RadialDistortion cameraIntrinsics.

Пример: [1,1]

Тангенциальные коэффициенты искажения, заданные как двухэлементный вектор с действительным знаком. Для получения дополнительной информации при установке этих коэффициентов, смотрите свойство TangentialDistortion cameraIntrinsics.

Пример: [1,1]

Скошенный угол осей камеры, заданных как действительный скаляр. См. также свойство Skew cameraIntrinsics.

Пример: 0.1

Введенный в R2017b