Стильная надпись 11st выполненная в современном компьютерном дизайне

Hyundai и Kookmin University сократили размер 3D-детектора на 75% без потери точности

Секрет Shared KD: как Hyundai и Kookmin University сделали 3D-детектор вчетверо легче без потери точности

Представьте, что вы едете по ночному городу. Слева припаркованный грузовик, справа велосипедист, который вот-вот выедет на перекрёсток. Вы даже не успеваете подумать, а ваше сознание уже обработало картинку: скорость, направление, расстояние, опасность. Автомобиль с автопилотом устроен примерно так же, только вместо сознания у него нейросеть. И вот этой нейросети приходится работать в условиях жёсткого дефицита времени и энергии.

3D-детектор — это система, которая должна не просто увидеть объект, но и понять, где он находится в пространстве. Именно от этого зависит, нажмёт ли машина на тормоз, объедет препятствие или аккуратно притормозит. Но современные нейросети очень тяжёлые. Можно сказать, что они похожи на огромный шкаф, который не проходит в дверь. Исследователи со всего мира ищут способы сделать такие модели компактнее, сохранив при этом их полезные навыки.

Один из самых интересных решений предложили Университет Кукмин и Hyundai Motor. Как сообщает i XBT.com, исследователи представили метод Shared KD, который объединяет сжатие нейросети и дистилляцию знаний внутри одного детектора. Звучит сложно? Давайте разбираться по шагам. На самом деле история очень красивая: здесь большая учится у самой себя, а маленькая версия модели получает знания практически безболезненно. И главное — работает это не в ущерб точности, а наоборот, с её ростом.

Почему 3D-детектор — это сердце автопилота

Когда мы говорим об автопилоте, мы часто представляем себе камеры, лидары и радары. Но сами по себе сенсоры — это просто железо. Настоящее волшебство происходит внутри алгоритмов, которые превращают сырые данные в понятную картину мира. Именно 3D-детектор отвечает за то, чтобы из облака точек или потока изображений выделить объекты, которые вокруг автомобиля.

Если проще: 2D-детектор показывает прямоугольник на картинке. Он может сказать, что в кадре есть человек. Но автопилоту этого мало. Ему нужно знать, на каком расстоянии этот человек находится, с какой скоростью он движется, куда он направляется, есть ли между ним и машиной препятствие. Всё это — задача 3D-детекции.

От картинки к объёму

Обычное компьютерное зрение работает с пикселями. Мы учим нейросеть находить на изображении знакомые формы и паттерны. Но в реальном мире объекты трёхмерные. Автомобиль — это не просто набор контуров, а физический объект, который занимает место в пространстве. Чтобы автопилот мог безопасно маневрировать, ему нужно понимать геометрию объектов.

Поэтому 3D-детекторы работают с данными лидаров, стереокамер или радаров. Лидар даёт облако точек, где каждая точка имеет координаты. Задача детектора — сгруппировать эти точки в объекты и определить, что это: легковой автомобиль, грузовик, велосипедист или пешеход. Это сложнее, чем кажется, потому что объекты перекрывают друг друга, находятся в тени или на разном расстоянии.

Какие объекты нужно находить

В системах автономного вождения детектор обычно ищет несколько категорий объектов:

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

Каждая категория имеет свои особенности. Пешеход может менять направление движения резко. Велосипедист движется быстрее, чем кажется. Грузовик занимает много места, но его габариты не всегда очевидны. Все эти нюансы должны быть учтены в модели, и чем больше модель, тем лучше она справляется с такими сложными случаями.

Но большие модели требуют много вычислительных ресурсов. Именно здесь возникает главное противоречие: с одной стороны, чем мощнее нейросеть, тем точнее детекция; с другой стороны, автомобильный компьютер не может быть бесконечно мощным. Ему нужно работать быстро, потреблять мало энергии и не перегреваться.

Почему нейросеть нельзя просто оставить как есть

Когда исследователь обучает модель на мощном сервере, он редко думает о том, как она будет работать в реальном автомобиле. На сервере есть бесконечная электроэнергия, мощные GPU и система охлаждения. Но в машине всё иначе.

Бортовой компьютер должен обрабатывать данные в реальном времени. Задержка в одну секунду может стать фатальной. Если нейросеть слишком тяжёлая, она не успеет обработать кадр вовремя. А ещё она будет потреблять слишком много энергии, что критично для электромобилей, где каждый киловатт-час на счету.

Бортовой компьютер не бесконечный

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

Именно поэтому автопроизводители так заинтересованы в сжатии нейросетей. Им нужно сохранить максимальную точность, но уложиться в строгие аппаратные ограничения. Это как собрать чемодан: нужно взять всё самое важное, но при этом не превысить лимит багажа.

Проблема «больших» моделей

Современные 3D-детекторы могут содержать десятки миллионов параметров. Каждый параметр — это число, которое хранится в памяти. Во время работы модели все эти числа участвуют в вычислениях. Чем больше параметров, тем больше памяти нужно и тем дольше выполняются операции.

Если говорить о реальных цифрах, то модели для 3D-детекции могут занимать сотни мегабайт. На первый взгляд это немного. Но в автомобиле есть ещё множество других систем: распознавание речи, навигация, контроль состояния водителя, планирование маршрута. Все они конкурируют за одни и те же ресурсы.

Кроме того, нейросети нуждаются в постоянном обновлении. Автопроизводители собирают новые данные, дообучают модели и хотят быстро доставить их в автомобили. Чем меньше

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *