Як безпілотні автомобілі використовують технологію CNN

У дитинстві мене завжди зачаровували мультфільми, де машини їздили наче самі по собі. Мене не покидала думка: а чи можливо таке насправді? Чи не ховаються всередині цих авто крихітні роботи, що чаклують над кермом?

Сьогодні, коли ми стали дорослими, безпілотні автомобілі перестають бути фантазією і стають реальністю! Я щиро захоплююсь цим досягненням. Чи справді вони здатні розпізнавати знаки “Стоп” та червоне світло світлофора? Чи бачать вони тварин та людей на дорозі? А що з поїздками у темряві, дощі чи снігопадах?

Давайте детальніше розглянемо безпілотні автомобілі. Це транспортні засоби, що можуть пересуватися самостійно, без водія-людини. Такі гіганти, як Tesla та Waymo, застосовують передові комп’ютерні технології, зокрема глибинне навчання, щоб зробити ці машини неймовірно “розумними”. Глибинне навчання допомагає їм орієнтуватися в дорожніх знаках та безпечно їздити навіть за складних погодних умов. Це все про використання інноваційних технологій, що визначають майбутнє нашого пересування!

Історія створення безпілотних авто

Історія створення безпілотних авто нагадує захоплюючу пригоду. Згадайте 1920-ті роки, коли автономні автомобілі були лише мрією. Серед перших винахідників виділився Френсіс Гудіна, який створив авто, що рухалося, орієнтуючись на лінії дороги. Щоправда, для його руху потрібні були спеціальні дроти під дорожнім полотном.

Джерело: theatlantic.com

Вже у 1980-х та 1990-х роках талановиті науковці з Університету Карнегі-Меллона взялися за справу всерйоз. Вони розробили авто, що “бачили” дорогу за допомогою камер, що допомагало їм орієнтуватися на міських вулицях. Ці автомобілі були наче дослідники, що вивчали основи водіння, спостерігаючи за навколишнім світом.

Переломний момент настав у 2004 році, коли безпілотні авто з’явилися на арені складних змагань в пустелі. Хоча вони не перемогли, ці гонки стали чудовим тренуванням для майбутніх водіїв без участі людей.

Справжній прорив відбувся в 2000-х та 2010-х роках, коли такі відомі компанії як Tesla, Uber та Google (тепер Waymo) вийшли на автомобільний ринок. Google розпочав тестування безпілотних авто у 2009 році, а у 2015 році Tesla представила функцію, що дозволяла авто частково їздити самостійно на певних ділянках дороги. Вони могли керувати автомобілем і триматися своєї смуги без постійного втручання людини.

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

Але історія на цьому не закінчується. Ми продовжуємо працювати над створенням авто, що можуть їздити самостійно, і це змінить наше уявлення про подорожі. Ця пригода ще триває, і майбутнє обіцяє нам безпечніші та простіші подорожі завдяки вдосконаленню цих дивовижних безпілотних машин.

Як працюють безпілотні автомобілі?

Безпілотні автомобілі – це справжні інтелектуали, що приймають самостійні рішення! Вони збирають інформацію про навколишній світ за допомогою камер, LiDAR, RADAR, GPS та інерційних датчиків. Спеціальні алгоритми, засновані на глибинному навчанні, обробляють ці дані, щоб зрозуміти навколишню ситуацію. На основі цього аналізу вони ухвалюють рішення щодо безпечного та плавного руху.

Джерело: arxiv.org

Щоб глибше зрозуміти механізм роботи безпілотних автомобілів, розглянемо чотири ключові етапи, представлені на схемі вище. Це схоже на розв’язання головоломки: кожна деталь допомагає нам зрозуміти загальну картину роботи цих дивовижних машин:

  • Сприйняття
  • Локалізація
  • Прогнозування
  • Прийняття рішень
    • Планування маршруту високого рівня
    • Арбітраж поведінки
    • Контролер руху

Сприйняття

#1. Камера

Камери – це очі безпілотного автомобіля, і їх роль є надзвичайно важливою! Вони допомагають машині орієнтуватися в навколишньому середовищі. Ці камери виконують різні функції, зокрема: розпізнають об’єкти, розрізняють їхні складові частини та визначають положення автомобіля.

Для забезпечення повноти спостереження, автомобіль оснащений камерами спереду, ззаду, зліва та справа. Вони працюють в комплексі, щоб створити повну картину всього, що відбувається навколо. Це як особливий круговий огляд автомобіля на 360 градусів!

Ці камери не просто фіксують зображення, вони “розумні”. Деякі з них здатні бачити на відстань до 200 метрів, щоб автомобіль заздалегідь знав про ситуацію на дорозі. Інші зосереджуються на деталях поблизу, забезпечуючи максимальну пильність. Ця команда камер допомагає автомобілю бачити та розуміти все, що відбувається, керувати ним та приймати правильні рішення.

Камери особливо корисні при паркуванні, оскільки вони надають широкий огляд та допомагають маневрувати обережно.

Проте, використання лише камер для спостереження має свої недоліки, особливо у складних погодних умовах, таких як туман, сильний дощ або в темну пору доби. У таких ситуаціях зображення з камер може бути розмитим і нечітким, що може становити значну небезпеку.

Для вирішення цих проблем потрібні спеціальні датчики, що здатні працювати в умовах обмеженої видимості. Вони також повинні вимірювати відстань до об’єктів без використання видимого світла. Завдяки інтеграції цих датчиків у систему сприйняття, автомобіль здатний краще керуватись в умовах негоди та обмеженої видимості, забезпечуючи більшу безпеку для всіх учасників дорожнього руху.

#2. ЛіДАР

LiDAR (Light Detection And Ranging) – це дивовижна технологія, що використовує лазери для визначення відстані до об’єктів. LiDAR посилає лазерні промені та вимірює час їхнього повернення після відбиття від об’єктів.

Спільна робота LiDAR і камер дозволяє автомобілю чіткіше сприймати навколишній світ. Він створює тривимірну карту оточення. Ця інформація аналізується спеціальними комп’ютерними програмами, що допомагають автомобілю передбачити дії інших машин. Це особливо важливо на складних ділянках дороги, таких як перехрестя, де автомобіль може спостерігати за іншими учасниками руху та забезпечувати безпечне пересування.

Проте LiDAR має свої обмеження. Хоча він добре працює вночі та в темряві, він може давати збої в умовах дощу чи туману, що призводить до неточностей сприйняття. Для розв’язання цих проблем, датчики LiDAR працюють паралельно з RADAR. Ці датчики надають додаткову інформацію, що допомагає автомобілю чіткіше розуміти ситуацію, що робить керування більш надійним.

#3. РАДАР

RADAR (Radio Detection and Ranging) вже давно застосовується у різних сферах, включаючи військову. Спочатку він використовувався для виявлення об’єктів, а сьогодні є невід’ємною частиною багатьох автомобілів, особливо безпілотних.

RADAR має перевагу, оскільки може працювати за будь-якої погоди та освітлення. Замість лазерів він використовує радіохвилі, що робить його універсальним та ефективним. Однак, RADAR вважається “галасливим” датчиком, що означає, що він може виявляти перешкоди, які не бачить камера.

Мозок безпілотного автомобіля може заплутатись від додаткових сигналів RADAR, які ще називають “шумом”. Тому, для правильного аналізу, автомобіль повинен очистити інформацію RADAR, щоб приймати точні рішення.

Очищення даних означає застосування спеціальних методів для розрізнення сильних сигналів від слабких, тобто, відокремлення важливих даних від несуттєвих. Автомобіль використовує хитру техніку, що називається швидким перетворенням Фур’є (ШПФ), для глибшого розуміння інформації.

RADAR і LiDAR передають інформацію про окремі точки, наче точки на папері. Для кращого розуміння цих точок, автомобіль використовує щось на зразок групування. Це як складати схожі речі разом. Автомобіль використовує інтелектуальні статистичні методи, такі як Евклідова кластеризація або K-середнє кластерування, щоб об’єднати подібні точки та зрозуміти їх значення, що дозволяє автомобілю їздити безпечніше та ефективніше.

Локалізація

В безпілотних автомобілях алгоритми локалізації відіграють ключову роль у визначенні положення та орієнтації транспортного засобу під час руху, що називається візуальною одометрією (VO). VO працює шляхом визначення та зіставлення ключових моментів у послідовних відеокадрах.

Автомобіль розглядає певні точки інформації, наче позначки на карті. Потім, за допомогою статистики під назвою SLAM, визначає місцезнаходження об’єктів і їхній рух. Це допомагає авто орієнтуватися у просторі, розпізнаючи дороги та людей.

Для підвищення точності, автомобіль використовує методи глибинного навчання, наче суперкомп’ютер.

Завдяки цим технологіям, машина добре орієнтується в просторі. Нейронні мережі, такі як PoseNet і VLocNet++, обробляють дані для оцінки 3D-положення та орієнтації об’єктів. Ці обчислення використовуються для визначення семантики сцени, як зображено нижче. Використовуючи математичні розрахунки та комп’ютерні технології, автомобіль знає своє місцезнаходження та оточення, що забезпечує безпечний та плавний рух.

Прогнозування

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

Уявіть собі, що безпілотні автомобілі мають “очі” по всьому периметру, забезпечуючи круговий огляд. Це дозволяє їм бачити все, що відбувається навколо. Автомобілі використовують цю інформацію для глибинного навчання. Розумні алгоритми допомагають передбачити дії інших водіїв, що дає можливість заздалегідь планувати свої дії.

Прогнозування за допомогою глибинного навчання

Спеціальні датчики в безпілотних автомобілях допомагають їм розпізнавати об’єкти на фотографіях, визначати їхнє місцезнаходження та передбачати їхні дії. Це дозволяє автомобілю приймати зважені рішення.

Під час навчання, алгоритми глибокого навчання аналізують дані зображень і точок, отриманих з LiDAR та RADAR. Під час реального руху (виведення), ця ж модель допомагає автомобілю передбачити можливі рухи, такі як гальмування, зупинка, зниження швидкості, зміна смуги руху тощо.

Глибинне навчання – це надійний помічник для автомобіля. Це дозволяє йому краще розуміти невизначені ситуації, визначати своє місцезнаходження та вдосконалювати свої навички водіння, забезпечуючи безпеку та плавність руху.

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

Прийняття рішень

Безпілотні автомобілі повинні приймати важливі рішення в складних ситуаціях, що не є легкою задачею. Це пов’язано з тим, що датчики не завжди працюють ідеально, а люди на дорозі можуть робити непередбачувані дії. Машина має передбачити поведінку інших та маневрувати, щоб уникнути аварій.

Для прийняття рішень, автомобілю необхідна велика кількість інформації. Автомобіль збирає ці дані за допомогою датчиків та використовує алгоритми глибокого навчання для визначення положення об’єктів та прогнозування майбутніх подій. Локалізація допомагає автомобілю визначити його вихідне положення, тоді як передбачення генерує кілька можливих дій на основі ситуації.

Але питання залишається: як саме автомобіль вибирає найкращу дію з багатьох можливих варіантів?

Джерело: semanticscholar.org

Глибинне навчання з підкріпленням (DRL) – це техніка, що застосовує алгоритм, під назвою “Марківський процес прийняття рішень” (МПРР). МПРР допомагає прогнозувати поведінку людей на дорозі. Коли в русі знаходиться багато об’єктів, ситуація ускладнюється, і самокерованому автомобілю потрібно враховувати ще більшу кількість можливих дій.

Щоб вирішити проблему пошуку найкращої дії для автомобіля, використовують глибинне навчання, оптимізоване за допомогою баєсівської оптимізації. Іноді, для прийняття рішень застосовують модель, що поєднує приховану марківську модель та баєсівську оптимізацію, що дозволяє безпілотному автомобілю ефективно та безпечно пересуватися у різних складних ситуаціях.

Джерело: arxiv.org

Процес прийняття рішень безпілотними автомобілями є ієрархічним та складається з чотирьох ключових етапів:

Планування шляху або маршруту: на початку поїздки автомобіль визначає оптимальний маршрут від поточного положення до потрібної точки призначення. Мета – знайти найкращий варіант серед безлічі можливих маршрутів.

Арбітраж поведінки: після планування маршруту, автомобіль повинен керуватися ним. Автомобіль розпізнає статичні об’єкти, такі як дороги та перехрестя, але не може точно передбачити дії інших водіїв. Для подолання цієї невизначеності, використовують інтелектуальні методи планування, такі як процеси прийняття рішень за Марковим (МПРР).

Сценарне рішення верхньої державної машини

Планування руху: після планування маршруту та визначення стратегії поведінки, система планування руху керує пересуванням автомобіля. Вона відповідає за безпеку та комфорт пасажирів, аналізуючи швидкість, зміну смуги руху та навколишні об’єкти.

Управління транспортним засобом: на останньому етапі, система керування виконує траєкторію, згенеровану системою планування руху, забезпечуючи плавне та безпечне пересування автомобіля по визначеному маршруту.

Розділення процесу прийняття рішень на окремі етапи дозволяє безпілотним автомобілям ефективно та безпечно керуватись в складних умовах. Це гарантує пасажирам спокійну та комфортну поїздку.

Згорткові нейронні мережі

Згорткові нейронні мережі (CNN) широко використовуються в безпілотних автомобілях, завдяки їхній здатності аналізувати просторову інформацію, зокрема, зображення. CNN ефективно розпізнають особливості зображень, що робить їх корисними для вирішення різних завдань.

В CNN, зі збільшенням глибини мережі, різні рівні аналізують різні види інформації. Початкові шари розпізнають прості елементи, такі як контури, а глибші – більш складні, наприклад, форми об’єктів (листя на деревах, шини на автомобілях). Саме тому CNN є центральним алгоритмом в безпілотних автомобілях.

Ключовим компонентом CNN є згортковий шар, що використовує згорткове ядро (матрицю фільтра) для обробки локальних ділянок вхідного зображення.

Матриця фільтра оновлюється під час навчання для отримання значущих ваг. Важливою властивістю CNN є розподіл ваги, де однакові параметри ваги використовуються для різних перетворень, що економить ресурси обробки та дозволяє отримувати різноманітні представлення функцій.

Дані з згорткового шару зазвичай проходять через нелінійну функцію активації, наприклад Sigmoid, Tanh або ReLU. ReLU є кращим, оскільки він працює швидше, ніж інші. Крім того, результат часто проходить через шар максимального об’єднання, який зберігає важливі деталі зображення, такі як фон і текстури.

Три важливі властивості CNN роблять їх універсальними та незамінними в безпілотних автомобілях:

  • Локальні рецептивні поля
  • Спільні ваги
  • Просторова вибірка

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

Ось дві мережі CNN, що використовуються компаніями, які створюють безпілотні автомобілі:

  • HydraNet від Tesla
  • ChauffeurNet від Google Waymo

Дізнайтеся більше про згорткові нейронні мережі.

#1. HydraNet від Tesla

HydraNet – це динамічна архітектура, запропонована Ravi et al. в 2018 році, розроблена в основному для семантичної сегментації в безпілотних автомобілях. Її головною метою є підвищення обчислювальної ефективності під час логічного висновку.

Концепція HydraNet передбачає використання різних мереж CNN, що називаються гілками, для виконання конкретних завдань. Кожна гілка отримує різні вхідні дані, і мережа може вибірково визначати, які гілки запускати під час висновку, об’єднуючи результати з різних гілок для прийняття остаточного рішення.

Гідранет Тесли

Для безпілотних автомобілів, вхідні дані можуть представляти різні аспекти середовища, такі як статичні об’єкти (дерева та дорожні огорожі), дороги та смуги, світлофори тощо. Ці вхідні дані опрацьовуються в окремих гілках. Під час висновку механізм воріт вирішує, які гілки активувати, а комбайнер збирає їхні результати для прийняття остаточного рішення.

Виявлення швидкості, смуги руху та руху

Tesla адаптувала архітектуру HydraNet, додавши спільну магістраль для вирішення проблем з розділенням даних для окремих завдань під час висновку. Спільна магістраль, зазвичай на базі модифікованих блоків ResNet-50, дозволяє навчати мережу на даних усіх об’єктів. Спеціалізовані заголовки завдань на основі архітектури семантичної сегментації, наприклад U-Net, дозволяють моделі генерувати прогнози для кожного завдання.

HydraNet від Tesla має особливість – можливість створювати тривимірну проекцію навколишнього середовища з будь-якого кута, що допомагає автомобілю краще орієнтуватися. Примітно, що Tesla досягає цього без використання датчиків LiDAR, покладаючись лише на камери та радар. Ефективність HydraNet від Tesla дозволяє обробляти інформацію з восьми камер та отримувати дані про глибину без необхідності застосування технології LiDAR.

#2. ChauffeurNet від Google Waymo

ChauffeurNet – це нейронна мережа на основі RNN, що застосовується Google Waymo для навчання самокерованих автомобілів за допомогою імітаційного навчання. Хоча для генерування траєкторій руху, в основному, використовується RNN, вона також включає компонент CNN під назвою FeatureNet.

Ця мережа згорткових функцій вилучає контекстні представлення ознак, що спільно використовуються іншими мережами, та застосовується для виділення ознак із системи сприйняття.

Джерело: Researchgate

Ідея ChauffeurNet полягає в навчанні самокерованого автомобіля, імітуючи досвідчених водіїв за допомогою імітаційного навчання. Для подолання обмежень, пов’язаних із нестачею реальних даних для навчання, автори статті “ChauffeurNet: Learning to Drive by Imitating the Best and Synthesizing the Worst” запропонували використовувати синтетичні дані.

Ці синтетичні дані включають різні відхилення, такі як спотворення траєкторії, додавання перешкод та створення нетипових сцен. Навчання автомобіля на синтетичних даних виявилося ефективнішим, ніж використання лише реальних даних.

В ChauffeurNet система сприйняття не є частиною наскрізного процесу, а функціонує як проміжна система. Це дозволяє мережі використовувати різні вхідні варіанти від системи сприйняття. Мережа аналізує зображення сцени проміжного рівня з датчиків та, використовуючи цю інформацію разом із синтетичними даними, імітує поведінку досвідченого водія.

Виокремлюючи завдання сприйняття та створюючи високоякісний огляд навколишнього середовища, ChauffeurNet спрощує навчання передачі даних, дозволяючи мережі приймати точніші рішення, засновані на реальних та змодельованих даних. Мережа генерує траєкторії руху, прогнозуючи послідовні точки на шляху, використовуючи уявлення проміжного рівня. Цей підхід продемонстрував багатообіцяючі можливості для ефективнішого навчання самокерованих автомобілів, забезпечуючи шлях до безпечніших та надійніших систем автономного керування.

#3. Частково спостережуваний процес прийняття рішень Маркова, що використовується для самокерованих автомобілів

Частково спостережуваний марковський процес прийняття рішень (POMDP) – це математична система, що використовується в контексті самокерованих автомобілів для прийняття рішень в умовах невизначеності. У реальних ситуаціях безпілотні автомобілі часто мають обмежену інформацію про навколишнє середовище через шум датчиків, перешкоди або недосконалі системи сприйняття. POMDP призначений для обробки такої часткової спостережуваності та прийняття оптимальних рішень, враховуючи як невизначеність, так і доступні спостереження.

У POMDP агент, що приймає рішення, працює в середовищі з частково спостережуваними станами. Агент вживає дій, а навколишнє середовище переходить у нові стани з певною ймовірністю. Однак, агент отримує лише часткові спостереження або інформацію з перешкодами про справжній стан середовища. Мета полягає в тому, щоб знайти політику, яка максимізує очікуваний сукупний прибуток з часом, враховуючи невизначеність середовища та спостереження агента.

Джерело: Researchgate

У контексті безпілотних автомобілів POMDP особливо корисний для таких завдань, як планування руху, прогнозування траєкторії та взаємодія з іншими учасниками дорожнього руху. Безпілот