Конкурс по машинному обучению
С призовым фондом в 100 млн рублей
Условия
евгений аношин
42

Базовые элементы систем распознавания для автопилота в 2020 году

Набор общих принципов для создания систем распознавания

В закладки

Чтобы иметь возможность управлять автомобилем, как человеком, автопилоту нужно не так уж и много...

1. Исполнять алгоритмы управления, заложенные в правилах дорожного движения

2. Самостоятельно исполнять команду человека по достижению заданной точки за минимальное время с учётом п.1

3. При выполнении вышеизложенного не допускать превышение уровня заданного риска причинения вреда здоровью людям.

Таким образом, управлять можно или опираясь на заранее заданную информацию (карты) или обрабатывать информацию, получаемую в движении, а значит надо видеть, хотя бы. как человек. Чтобы видеть как человек (или животное) надо иметь, как минимум, парные свободнофокусные камеры на моторизованной платформе с индивидуальным и общим движением с автоматической и желательно очень быстрой фокусировкой под управлением отдельной нейросетки (ИИ) на объектах. Как правило, зрение фокусируется на зонах и объектах с быстро меняющейся яркостью. Так эволюция отобрала наилучший инструмент реагирования на опасность - тот кто опасен, как правило, быстро двигается - при быстром движении изменяется яркость освещения в секторе движения - реагируя на изменение яркости мы поворачиваем туда глаза, и/или голову и уже внимательно смотрим что там...В технике изобразить такое пока сложно и наверное не нужно... Удешевление камер позволяет решить проблему с другой стороны.Так пару человеческих глаз двигающихся в орбитах, имеющий свободный фокус, и расположенных на крутящейся шее - заменяем тремя разнофокусными (у каждый свой фокус, отличный от соседней камеры, как и разные, заранее заданные экспозиции - итого 4 набора по 3 камеры в каждом) на каждую сторону движения... Итого 12 штук, 4 из которых дальнобойные. Разберемся что делать с полученным данным (как найти машины, людей и прочие объекты на дороге)...Итак у нас есть 12 картинок разрешением 2560*1600 пикселей в цвете. Их мы получаем каждую секунду - 30 раз (хотелось бы 50, а по факту успеваем обработать только 10-15 (хотя и человек не больше)). Картинки имеют перекрытия, что позволяет убрать периферийные искажения.Получаемое количество информации уже избыточно и превышает то, что посылают глаза в мозг. Но, что поделаешь: с несовершенством качественным боремся избытком количественным.

Первое, что надо сделать - понять где и откуда возможна опасность. Сделать это надо быстро, поэтому используем грубые, оценочные методы...Превращаем цветные картинки в серые 8 битные и сравниваем усредненную яркость в 40 (8*5) зонах (320*320 пикселей) каждой картинки ретроспективно на глубину 7 секунд с частотой 1 Гц (0,-1,-2,...,-7). Траекторные (непрерывные горизонтальные) изменения яркости в зонах позволяют сделать предварительные предложения о движении внешних объектов. Поэтому мы их ищем. Сравнение найденного траекторного движения в каждом наборе камер позволяет определить грубое направления движений внешних объектов, знание скорости собственного автомобиля - определить собственную скорость внешних объектов, а значит и вероятность их пересечения с автомобилем.

Но на такой информации далеко не уедешь... Это всего лишь первая сигнальная система...

Поэтому параллельно должна работать система распознавания объектов. Несмотря на то, что камеры у нас с разной экспозиции и мы можем сразу для упрощения воспользоваться функций hdr для улучшения качества картинки и распознавания объектов - мы копируем систему обработки из человеческого мозга и делаем похоже. Исходное изображение с каждой камеры делиться на серое (берется из предыдущей операции) и цветное. Каждое серое изображение мы превращаем в 8 вариантов, отличных друг от друга на 12% яркости, и дополнительно каждое из них ещё на 2 картинки, отличающиеся на 30% по контрастности в каждую сторону. Всего 25 кадров в сером. Цветовые - подвергаются rgb фильтрации, на выходе имеем 6 дополнительных кадров. Итак из одного кадра с каждой камеры мы имеем 32 кадра для анализа. Зачем? для качественного определения контура и объектов вне зависимости от уровня освещенности объекта и степени засветки камеры. Каждый полученную картинку пропускаем через анализатор на наличие объектов, например через форк yolo v4. Обучение сети это длинный, муторный и затратный процесс (2д распознание), многократно описанный.

После распознавания объектов на каждом кадре производим суммирование кадров, и через "весовой" консенсус: определяем наличие объектов, их индексируем, а также определяем контуры и размеры (2,5д распознание). (Здесь же не забываем про цвет светофоров и огни поворотных сигналов, тормозов и габаритов, но об этом позже).

Следующая стадия. У нас есть набор картинок с объектами. Теперь нам надо объединить совокупные картинки с каждой камеры и сложить объекты, отбросив дублёры. Самое неприятное в этой работе - научить ИИ понимать, что некоторые объекты - это разные проекции одного и того же объемного предмета на плоской картинке...Здесь нам помогает алгоритм обработки обратный алгоритму трассировки лучей - каждый пиксель на картинке образован своим лучем, значит зная положение пикселя на картинке, угол места, фокус и расположение камеры - мы определяем объекты-дубликаты, которые можно сложить и тут же определяем до них расстояние (по смещению на картинке). В результате мы знаем - объекты, их размеры и расстояние (3д распознавание - по количеству координат).. Это поможет нам правильно сопоставить индексы объектов в прошлом и узнать историю их местоположений... (4д распознавание). Для чего? Сравнивая положение ( угол и расстояние до помеченных объектов) на глубину 5 секунд с частотой 1гц мы определяем скорость, ускорение и траекторию этих объектов - это называется трекинг объектов..Теперь мы уже точно на основании измеренной скорости и траектории - определяем вероятностное движение объектов и возможные точки встречи с ними...

Постоянная выверка и юстировка расчетов проводится сравнением результатов данных о расстоянии из расчетов с данными с радара и ультразвуковых датчиков парковки..

Пожалуй на сегодня достаточно...

{ "author_name": "евгений аношин", "author_type": "self", "tags": [], "comments": 0, "likes": -1, "favorites": 0, "is_advertisement": false, "subsite_label": "unknown", "id": 145211, "is_wide": true, "is_ugc": true, "date": "Sun, 26 Jul 2020 17:49:38 +0300", "is_special": false }
Право
Товарные знаки для тех, кто ведёт бизнес в интернете: защищаем домен, управляем отзывами и контролируем конкурентов
Казалось бы, регистрация брендов в Роспатенте — это история про заводы и предприятия: вот наша одежда, еда или…
Объявление на vc.ru
0
Комментариев нет
Популярные
По порядку

Комментарии

null