Tvorba algoritmov pre systémy využívajúce lidar

Autonómne systémy využívajú pre svoju činnosť viacero snímačov. Jedným z populárnych snímačov pre vnímanie okolia je lidar. Získané mračná bodov sa dajú nielen predspracovať, ale aj využiť na získanie zaujímavých informácií o okolí autonómneho systému. Spoločnosť MathWorks vyvinula pre systémy využívajúce lidar samostatnú nadstavbu – Lidar Toolbox.

Vývoj autonómnych systémov požaduje, aby tieto systémy dokázali čo najpresnejšie vnímať svoje okolie. V závislosti od aplikácie obsahujú kombináciu viacerých snímačov pre zlepšenie spoľahlivosti. Medzi populárne patrí kamera na detekciu objektov v obraze a lidar na detekciu vzdialenosti medzi autonómnym systémom a okolitými objektami. Hoci sa vývoj zameriava hlavne na kamerové dáta, vďaka popularite konvolučných neuronových sietí, nezaostáva ani vývoj v oblasti mračien bodov (Point Cloud) z lidaru. Spoločnosť MathWorks poskytuje pre prácu s lidarom viacero nástrojov od čítania a zápisu mračien bodov, predspracovanie dát až po algoritmy pre segmentáciu, detekciu, navigáciu alebo mapovanie prostredia.

Čítanie a zápis mračien bodov

Keďže existuje niekoľko výrobcov lidaru, môžu byt zosnímané dáta uložené vo viacerých formátoch. Lidar Toolbox podporuje viaceré populárne formáty ako sú PLY, Velodyne PCAP, PCD, LAS, LAZ a IDC súbory. S využitím ROS Toolboxu je možné mračná bodov získať aj z rosbag súborov. Pokiaľ využívate snímače od spoločnosti Velodyne, môžete dáta čítať za behu pomocou podporného balíčka Lidar Toolbox Support Package for Velodyne LiDAR Sensors. Získané dáta sa dajú vizualizovať samostatne, alebo ako rozdiel dvoch mračien bodov. Upravené dáta sa exportujú do PLY a PCD formátov.

Predspracovanie dát

Získané mračno bodov môže obsahovať vplyvom snímača a okolia skreslené body. Skôr ako sa začnú vytvárať pokročilé algoritmy, je vhodné mračno bodov predspracovať. Predspracované dáta pomáhajú zrýchliť vývoj algoritmov a poskytujú lepšie výsledky. Lidar Toolbox obsahuje funkcie pre prevzorkovanie, filtrovanie, usporiadanie, transformáciu a výber z mračna bodov.

Kalibrácia a senzorická fúzia

Ako sme už spomínali autonómne systémy využívajú viaceré snímače. Pre presnejšie pochopenie okolitého sveta je dobré poznať geometrické transformácie medzi snímačmi, čo pomáha pri fúzii dát zo snímačov. Lidar Toolbox poskytuje pracovný postup kalibrácie lidaru a kamery, ktorý využíva šachovnicový vzor. Kalibráciu uľahčuje aplikácia Lidar Camera Calibrator, kde je geometrická transformácia medzi snímačmi odhadovaná interaktívnym spôsobom. Po získaní závislostí medzi snímačmi je možné transformovať mračno bodov do obrázka, prípadne naopak presunúť farbu alebo ohraničenie (detegovaných objektov) z obrázka na mračno bodov.

Deep Learning pre mračná bodov

Dôležitou súčasťou autonómnych systémov je segmentácia a detekcia objektov v okolí systému. Ani túto oblasť neobišla umelá inteligencia a existuje niekoľko metód ako segmentáciu a detekciu vytvoriť. Pri sémantickej segmentácii asociujeme bod v mračne bodov popisom ako auto, nákladné auto, zem alebo stromy. Lidar Toolbox podporuje pri segmentácii konvolučné neurónové siete ako PointSeg, SqueezeSegV2 alebo PointNet++. Cieľom detekcie je nájsť a ohraničiť zaujímavé objekty v mračne bodov. Lidar Toolbox umožňuje vytvárať detektory pomocou sietí PointPillars. Na trénovanie modelov deep learningu pre mračná bodov je potrebné pripraviť trénovacie dáta. Lidar Toolbox poskytuje aplikáciu Lidar Labeler, ktorá umožňuje interaktívne označovať dáta manuálne, alebo pomocou algoritmu.

Navigácia a mapovanie

Okrem segmentácie a detekcie objektov je pri aplikáciách autonómnych systémov dôležité vedieť, kde sa systém nachádza, prípadne či sa blíži k nejakej prekážke. Pre odhad polohy a natočenia s mapovaním sa väčšinou využíva algoritmus SLAM (simultaneous localization and mapping). Lidar Toolbox využíva registráciu mračien bodov pomocou algoritmu FPFH (fast point feature histogram) na ich spájanie, čo sa dá následne využiť pri tvorbe 3D máp. Informácie z máp vieme využiť pri plánovaní pohybu alebo 3D SLAM algoritme v robotických alebo leteckých aplikáciách. Toolbox tiež podporuje 2D spracovanie dát, ako je odhad polohy, prípadne tvorby mriežok obsadenosti.

Ako začať?

Lidar Toolbox obsahuje dokumentáciu a referenčné príklady, ktoré vám pomôžu začať s tvorbou algoritmov systémy využívajúce lidar. Okrem Lidar Toolboxu poskytuje MATLAB ďalšie nadstavby podporujúce vývoj autonómnych systémov, ako sú napríklad Automated Driving System Toolbox, Robotics System Toolbox, Navigation Toolbox a mnoho ďalších.

Všetky uvedené nástroje si môžete otestovať v rámci nezáväznej TRIAL licencie. Postačuje vyplniť žiadosť na stránke https://www.humusoft.sk/matlab/trial/.

Michal Blaho (HUMUSOFT), 04.08.2021