이책에서다루는내용
-카메라보정을수행하는방법
-OpenCV을사용해자율주행차량에서차로감지기능이작동하는방식숙지
-비디오게임시뮬레이터에서자율주행을통한행동복제탐구
-라이다를사용해파악
-자율주행차량의컨트롤구성방법
-객체감지및시맨틱분할을사용해차로,자동차및보행자위치파악
-시뮬레이터에서주행하는자율주행차를제어하기위한PID컨트롤러작성
이책의대상독자
이책은자율주행차를만드는데필요한몇가지측면을다루고있으며,프로그래밍언어에대한기본지식을갖춘프로그래머(가급적이면파이썬)를대상으로한다.딥러닝경험이필요하지않지만,책의앞부분을완전히이해하려면제안된판독값중일부를살펴보는것이좋다.11장‘환경매핑’과관련된소스코드는C++에있다.
이책의구성
1장,‘OpenCV기초와카메라보정’은OpenCV및넘파이(NumPy)에대해소개한다.OpenCV를사용해영상과비디오를조작하는방법과보행자를감지하는방법을설명한다.
2장,‘신호에대한이해와작업’에서는직렬,병렬,디지털,아날로그,싱글엔드및차동등다양한유형의신호를설명한다.또한매우중요한프로토콜인CAN,이더넷,TCP,UDP도다룬다.
3장,‘차로인식’에서는OpenCV를사용해도로의차선을감지하는데필요한모든사항을설명한다.
4장,‘신경망을통한딥러닝’은네트워크신경망에대한실용적인소개로,신경망을쓰는방법을빠르게가르치고자고안됐다.
5장,‘딥러닝워크플로’는4장,‘신경망을통한딥러닝’의이론을보완한다.데이터셋을확보하거나생성하고,교육,검증,테스트세트로분할하고,데이터증강,분류기에사용되는주요계층그리고학습,추론,재학습방법을포함한일반적인워크플로의단계를보여줄것이다.
6장,‘신경망개선하기’에서는배치정규화,조기중지,데이터확대,드롭아웃(dropout)을사용해중립네트워크를최적화하고파라미터를줄이는방법과정확성을높이는방법을설명한다.
7장,‘보행자및신호등감지’는당신을CARLA에소개한다.교통신호등의데이터셋을만드는데사용할자율주행자동차시뮬레이터SSD라는사전학습된신경망으로보행자,자동차,신호등을탐지하고,전송학습이라는강력한기술을활용해신호등을색깔에따라분류하는신경망을학습할예정이다.
8장,‘행동복제’에서는CARLA를구동하는신경망을학습시키는방법을설명한다.또한동작복제,CARLA를사용해구동데이터셋을구축하는방법,이작업에적합한네트워크를생성하는방법및학습방법을설명한다.
9장,‘시맨틱분할’은딥러닝에대한최종적이고가장선구적인장으로,시맨틱분할이무엇인지설명한다.DenseNet이라고불리는매우흥미로운아키텍처를설명하고,그것을시맨틱분할에어떻게적응시키는지보여줄것이다.
10장,‘조향,스로틀,브레이크제어’는자율주행차를제어하는것에대해설명한다.PID컨트롤러에초점을맞추고MPC컨트롤러의기본사항을다루는컨트롤러가무엇인지설명한다.
11장,‘주변환경매핑하기’에서는지도에대해논하고로컬라이제이션,라이다등오픈소스매핑도구를설명한다.동시로컬라이제이션및매핑(SLAM,SimultaneousLocalizationAndMapping)이무엇인지,아우스터라이다(Ousterlidar)및구글카르토그래퍼(GoogleCartographer)를사용해SLAM을구현하는방법을배운다.
지은이의말
자율주행차는곧우리주변에등장할것이다.이분야에서볼수있는발전은정말대단한것이다.자율주행차를처음접한것은2010년,도쿄에있는도요타(Toyota)전시장이었다.당시자율주행차를한번타는가격은1달러정도였다.차는매우느렸고,도로에내장된센서에의존했다.그리고몇년후컴퓨터비전의발전과딥러닝과라이다(lidar)는당시의기술이원시적이고불필요하게강박적이며비싸게보이게만드는효과를보여줬다.
이책에서는보행자감지및차로감지를포함한다양한작업에OpenCV를사용할것이다.또한가장영향력있는신경망을연구해딥러닝으로이미지분류,물체감지,의미분할에활용하는방법을배우고보행자,자동차,도로,인도,신호등을식별하는방법을학습할것이다.그리고행동복제및PID컨트롤러를사용해자동차를제어하는데사용되는CARLA시뮬레이터를사용할것이며,네트워크프로토콜,센서,카메라,라이다로주변세계를매핑하고위치를찾는방법을배울수있다.
하지만이놀라운기술들을탐구하기전에잠시20년후의미래를상상해보자.그차들은스스로운전할수있을것이다.하지만날수도있을까?아직도건널목신호등이있을까?얼마나빠르고무겁고비쌀까?어떻게사용될것이며,얼마나자주사용하게될것인가?자율주행버스와트럭은어떨까?미래는알수없지만자율주행차,그리고일반적으로자율주행하는것들이우리의일상과도시를새롭고흥미진진한방식으로형성하는풍경은자연스럽게상상해볼수있다.이미래를만들어나가는데적극적인역할을하고싶은가?만약그렇다면계속읽어주길바란다.이책은당신의여행의첫번째발걸음이될수있다.
옮긴이의말
인공지능기술의눈부신발전과더불어모든자동차제조사가자율주행기술개발에열을올리고있다.덕분에자율주행기술은현재도매우빠른속도로성장하고있으며,기술적완성도와안정성역시하루가다르게개선되고있는추세다.이책에서는자율주행차량의완성을위한기술을구현관점에서상세히다루고있다.간단한개념설명부터실제파이썬및각종라이브러리를활용한코딩에이르기까지현업개발자를목표로공부하는사람들에게입문서와같은책이될것이다.이책을통해자율주행기술분야에입문한수많은공학도들이미래대한민국의자율주행산업을선도할수있기를희망한다.
-김은도
새롭게출시되는자동차에서는자율주행기술이빠진모델을찾아보기힘들다.이는자율주행차관련기술은우리삶의일부가되고있음을의미한다.이책은영상처리와신호처리기법,네트워크프로토콜등기본적인기술소개부터최근화두가되고있는딥러닝을통한성능향상기법까지자율주행차를구성하는다양한기술전반을실습예제와함께다루고있다.자율주행차에이제막관심을갖기시작한학생과현업에종사하는모든독자들에게하나의안내서가될이책을통해자율주행기술이더안전한방향으로발전되길희망한다.
-신지호
이책은컴퓨터비전과딥러닝이자율주행차량에어떻게적용되는지에대한심도있는탐구내용을담고있다.체계적이고자세한설명,직접시도해볼수있는실제코드를통해자율주행차를개발하는과정을경험할수있다.차량에장착된카메라의비디오스트림을분석하기위해OpenCV,TensorFlow,Keras를사용하는법을배우고,라이다로장애물과위치를식별하는방법을습득한다.나아가차선감지,보행자인식,세그멘테이션등자율주행차향의핵심도전과제를다루게된다.이책은이론적인배경뿐만아니라실질적인경험을제공해자율주행차량개발에필요한역량을기르는데도움을줄것이다.
-박희웅
현대자율주행차량의발전에는컴퓨터비전과인공지능기술이깊이관여하고있다.이러한기술을이해하고응용하는것은자율주행산업에입문하는이들에게는매우중요한역량이다.이책은그러한역량을키우기위한실용가이드로서,시각인식기술을기반으로자율주행차량의성능을향상시키는방법을소개하고있다.독자들은이책을통해자율주행차량의시각인식및제어기술에대한깊이있는이해를얻을수있으며,오픈소스를활용해실제문제를해결하는능력을키울수있다.이책이자율주행산업에종사하는모든이들에게유용한지식과통찰력을제공하길바란다.
-이승열
레이다는자율주행차의핵심센서중하나로(주)레이다앤스페이스의자율주행차에대한관심은2015년부터시작됐다.비록이책에서는영상중심으로서술돼있지만이는인공지능의적용분야로서영상이가장적합한이유이며,이책을통해자율주행차산업이앞으로도더욱활성화되기를다른옮긴이들과함께한마음한뜻으로바란다.
-박세진