В этом примере показано, как обнаружить и отследить дорожные маркеры маршрута в видео последовательности и уведомляют драйвер, если они преодолевают маршрут. Пример иллюстрирует, как использовать Преобразование Хафа, Линии Хью и блоки Фильтра Калмана, чтобы создать алгоритм обнаружения и отслеживания линии. Пример реализует этот алгоритм с помощью следующих шагов: 1) Обнаружьте маркеры маршрута в текущем видеокадре. 2) Совпадайте с текущими маркерами маршрута обнаруженным в предыдущем видеокадре. 3) Найдите левые и правые маркеры маршрута. 4) Выпустите предупреждающее сообщение, если транспортное средство преодолевает любой из маркеров маршрута.
К низкокачественным последовательностям видео процесса, где маркеры маршрута могут затруднить, чтобы видеть или скрыты позади объектов, пример ожидает маркера маршрута, чтобы появиться в нескольких системах координат, прежде чем он будет полагать, что маркер допустим. Пример использует тот же процесс, чтобы решить, когда начать игнорировать маркер маршрута.
Примечание: параметры в качестве примера заданы в рабочем пространстве модели. Чтобы получить доступ к параметрам, нажмите View> Model Explorer. Затем перейдите к Рабочему пространству модели под именем модели.
См. Системный пример предупреждения о сходе с полосы.
Следующий рисунок показывает Системную модель предупреждения о сходе с полосы в качестве примера:
Эта подсистема использует 2D КИХ-блоки Фильтра и Автопорога, чтобы обнаружить левые контуры маркеров маршрута в текущем видеокадре. Контуры маркеров маршрута напоминают прямые линии и соответствуют пиковым значениям в матрице Преобразования Хафа. Эта подсистема использует блок Find Local Maxima, чтобы определить местоположение Полярной координаты маркеров маршрута.
Пример сохраняет ранее обнаруженные маршруты в репозитории и считает число раз, каждый маршрут обнаруживается. Эта подсистема совпадает с маршрутами, найденными в текущем видеокадре с теми в репозитории. Если текущий маршрут достаточно похож на другой маршрут в репозитории, пример обновляет репозиторий с текущим местоположением маршрутов. Блок Kalman Filter предсказывает местоположение каждого маршрута в репозитории, который улучшает точность отслеживания маршрута.
Эта подсистема использует блок Hough Lines, чтобы преобразовать Полярные координаты линии к Декартовым координатам. Подсистема использует эти Декартовы координаты, чтобы вычислить расстояние между маркерами маршрута и центром видео нижней границы. Если это расстояние меньше порогового значения, пример выдает предупреждение. Эта подсистема также определяет, является ли линия желтой или белой и твердо ли это или повреждается.
Окно Safety Margin Signals показывает график метрики запаса прочности. Метрика запаса прочности определяется расстоянием между автомобилем и самым близким маркером маршрута. Когда метрика запаса прочности, отображенная желтым, опускается ниже 0, отображенный синим, автомобиль находится в исходном режиме маршрута в противном случае, автомобиль находится в нормальном ведущем режиме.
Окно Results показывает левые и правые маркеры маршрута и предупреждающее сообщение. Предупреждающее сообщение указывает, что транспортное средство преодолевает правильный маркер маршрута. Тип и цвет маркеров маршрута также показывают в этом окне. В дополнение к текстовому сообщению версия Windows® примера выдает аудио предупреждение.
Версия с плавающей точкой этого примера: vipldws.slx
Версия фиксированной точки этого примера: vipldws_fixpt.slx