얼마 전 좋은 기회에 라즈베리 파이 AI 자동차를 만났습니다. 너무나 다양한 일을 할 수 있다는 것이 정말 좋았고, 쉽게 앱으로 리모컨으로 AI 인공지능 자율주행차를 제어할 수 있었습니다. 근데 하면 할수록 좀 더 체계적으로 배워보고 싶은 생각이 들더라고요. 하지만 아쉽게도 참고가 되는 자료가 그리 많지 않다는 것을 느꼈습니다.

그러던 중… 앤서북에서 [AI 인공지능 자율주행차] 책이 나왔다는 소식을 들었어요!! 오마이갓 왜 앤서북은 내 마음까지 읽어? 이 정도면 운명이냐. 뭐 그런 생각도…(웃음)
앤서북과 함께라면 AI 인공지능 자율주행차도 굴려볼 수 있다!! 책을 펴보니 정말 따라만 해도 실력이 늘 것 같았어요. 역시 믿고 보는 앤서북~ 든든한 장문철 저자님~ 그냥 믿고 따라갑니다. ^^

AI 인공지능 자율주행차 만들기 + 데이터 수집학습 + 딥러닝 with 라즈베리파이 데이터 획득, 모델 생성, 모델 적용 후 자율주행
앤서북의 장점이라면 궁금한 것을 물어보고 저자에게 답변을 받을 수 있다는 점이겠죠?그래서 따라하기가 더 쉬울 것 같아요. 막혔을 때 물어보고 싶은 것이 있다는 것은 정말 중요하다는 것을 새삼 느끼고 있는 요즘이라서..^^
앤서북카페에 등록하고 레벨업까지 진행합니다. [도서별 자체지원센터] – [인공지능 자율주행차]게시판을 활용하면 저자가 직접 답변을 해준다고 합니다. 소스 파일을 받으려면 [도서별 자체지원센터] – [인공지능 자율주행자동차]게시판에서 ‘<소스 다운로드> 인공지능 자율주행 자동차 만들기>에서 소스 파일을 받아보실 수 있습니다.
.jpg)
본서의 실습파일과 소스파일을 다운로드 받기 위해 앤서북카페로 Go~~~~https://cafe.naver.com/answerbook 앤서북은 IT/컴퓨터, 경제경영, 취미/실용/여행/건강전문 출판사입니다. cafe.naver.com


이 책을 실습하기 위한 준비물은 다두이노 사이트에서 인공지능 자율주행차 키트에서 구입할 수 있습니다. 이 책과 키트만 있으면 AI 인공지능 자율주행차를 톡톡 만들어서 프로그래밍할 수 있겠죠? ^^
목차, 차례.
Chapter01인공 지능 자동 운전 자동차의 개요 Chapter02자동 운전 자동차 조립 및 원격 개발 환경의 구성 Chapter03자동차의 기본 기능을 익힌 Chapter04자동차의 무선 조종 기능을 만들고 조종하는 Chapter05카메라를 활용한 자동 운전 자동차 만들기 OpenCV활용 Chapter06딥 러닝 자동 운전 자동차 만들기-데이터 획득 Chapter07딥 러닝 자동 운전 자동차 만들기-모델 생성 Chapter08딥 러닝 자동 운전 자동차 만들기-모델 적용 후 자동 운전 Chapter09딥 러닝 자동 운전 자동차 만들기 요약 Chapter10딥 러닝 자동 운전 자동차 필터를 적용하고 11딥 러닝 성능을 높이고 러닝 물체 감지 목차는,[인공 지능 자동 운전 차 개요], [자율주행차 조립 및 원격개발 환경구성], [자동차 기본기능 익히기], [자동차 무선조종기능을 만들어 조종하기], [카메라를 활용한 자율주행차 만들기 OpenCV활용], [딥러닝 자율주행차 만들기 – 모델생성], [딥러닝 자율주행차 만들기 요약], [딥러닝 자율주행차 만들기 요약], [딥러닝 자율주행차 필터 적용하여 성능향상], [딥러닝 물체감]. 자세한 챕터의 이야기는 아래에서 더 이야기해보겠습니다.
Chapter 01 인공지능 자율주행 자동차 개요
Chapter 01 인공지능 자율주행 자동차 개요
01_ 1자율주행차개요 01_2라즈베리파이를 알아보는 책은 [인공지능자율주행차개요]로 시작합니다. 자율주행차가 무엇인지 알아보고 실제로 이 책에서 만드는 자율주행차의 두뇌가 되는 라즈베리 파이에 대해 알아봅니다. 라즈베리의 다양한 모델들에 대한 소개가 잘 정리되어 있어 라즈베리 파이를 처음 접하는 사람들도 이해하기 쉽고 가까워질 수 있다고 생각했습니다.
Chapter 02 자율주행 자동차 조립 및 원격 개발 환경 구성
Chapter 02 자율주행 자동차 조립 및 원격 개발 환경 구성
02_1 자율주행차 조립 02_2 라즈베리 파이 이미지 설치 02_3 자율주행차를 원격으로 연결하여 사용 02_4 기본 사용법 배우기[자율주행차 조립 및 원격개발 환경 구성] 챕터에서는 자율주행차를 조립하고 라즈베리 파이를 원격으로 그래픽 환경과 연결할 수 있는 개발 환경을 구성하는 방법에 대해 정리되어 있습니다.
인공지능 자율주행차 키트에는 라즈베리 파이와 SD메모리, USB 라우터 등은 옵션으로 제공하고 있습니다. 따라서 해당 옵션이 없다면 추가로 선택하여 구매하시기 바랍니다.
이 책에서는 라즈베리 파이 4(Raspberry Pi 4 Model B)를 사용하고 있습니다. 2021.06.29일 기준 라즈베리파이4 모델이 최신인지 라즈베리파이5인지 그 이상이 출시되면 최신 모델을 사용하면 된다고 합니다. 라즈베리 파이는 OS가 호환되며 속도만 다를 뿐 코드 등은 호환됩니다.
인공지능 자율주행차 키트의 부품을 모두 꺼내니 더욱 풍성하게 느껴지네요. AI 인공지능 자율주행차 조립기는 따로 영상으로 정리해 보려고 합니다. 내 손으로 자율주행을 실현하다니 기대감 가득~ 두근두근 하네요~
자율주행차를 조립하는 방법은 무려 18페이지에 걸쳐 꼼꼼하게 정리되어 있습니다. 사진만 보고 따라하면 쉽게 조립이 완성됩니다. 그리고 라즈베리 이미지 설치 방법도 잘 정리가 되어 있었습니다. 파일을 다운로드할 수 있는 사이트 소개부터 설치하는 각각의 절차를 처음부터 끝까지 따라 할 수 있습니다.
또 원격접속을 설정하는 과정과 VNC접속 프로그램에서 원격접속을 사용하는 방법이 너무 잘 나와서 박수를 쳤네요. 전에.. 아무것도 모르는 상태에서 이 작업을 하던 때가 생각나서.. 정말 맨살에 헤딩하는 마음으로 인터넷을 찾다가 이제야 생긴 기억이.. 빨리 이 책을 만났으면 좋았을텐데..(울음)
Chapter 03 자동차의 기본 기능을 익히다
Chapter 03 자동차의 기본 기능을 익히다
03_1LED로 헤드라이트를 구현해 보기 03_2 버튼 입력을 받기 03_3 버저로 경적 기능을 구현하는 03_4 모터를 구동하여 자동차를 움직이는 03_5 스위치를 입력받아 자동차를 조종해 보기[자동차의 기본 기능을 익히기]챕터에는 코드를 작성해 자동차에 구성된 모터, LED, 스위치, 버저 등을 제어하면서 라즈베리 파이의 GPIO 기능을 익혀보고 파이썬 프로그램을 다루는 과정이 정리돼 있습니다.
코드를 작성하는 방법과 각 코드가 어떤 것을 의미하는지가 잘 정리되어 있고, 그 코드를 실행하면 어떻게 작동하는지 결과를 자세히 보여주고 있기 때문에 자신이 잘 따라하는지 확인할 수 있습니다.
알아두기로는 ‘파이썬과 C언어의 변수 저장 방법의 차이’, ‘블루투스 통신 모듈의 연결 여부 확인 방법’ 등이 정리되어 있어 이론적인 부분이나 연결 상태를 확인하는 방법 등을 살펴볼 수 있습니다. 참고가 되었습니다. ^^
Chapter 04 자동차의 무선 조종 기능을 만들어 조종하다
Chapter 04 자동차의 무선 조종 기능을 만들어 조종하다
04_1 블루투스 시리얼 통신으로 데이터를 주고받는 04_2 시리얼 데이터를 분석하여 명령을 해석하다 04_3 스레드를 활용하여 통신 기능을 분리하다 04_4 블루투스 시리얼 통신으로 조종하는 자동차 만들기 04_5 스위치를 이용하여 비상 정지 기능을 만들다 04_6 이동 방향 LED로 표시하다 04_7 버저를 이용하여 경적 기능을 추가하다 04_8 라즈베리 파이 기동 시 자동으로 코드를 실행하는 Special Page 아이폰 사용자의 블루투스 조종 방법[자동차 무선 조종 기능을 만들어 조종하다]챕터에서는 라즈베리 모듈과 통신을 통해 무선으로 연결해보기를 설명합니다.또한 통신 데이터를 안정적으로 받기 위해 스레드를 이용하여 기능을 분리하는 과정을 함께 합니다.
스페셜 페이지에서 아이폰 사용자의 블루투스 조작방법까지 친절하게 소개하고 있는 책이군요. 아이폰을 가지고 있는 사람에게 감동적인 페이지가 될 것 같습니다.(웃음)
Chapter 05 카메라를 활용한 자율주행차 만들기 OpenCV 활용
Chapter 05 카메라를 활용한 자율주행차 만들기 OpenCV 활용
05_ 1카메라로 영상확인 05_2 OpenCV 설치 및 설치확인 05_3 OpenCV 라인레이서 자동차 만들기 [카메라를 활용한 자율주행 자동차 만들기 OpenCV 활용]챕터는 카메라 활용 OpenCV 영상 처리 라이브러리를 파이썬 코드로 작성하고 영상을 받아 선을 따라 이동하는 자율주행 자동차를 만들 수 있습니다.
카메라로 영상을 확인하고 OpenCV를 설치하여 이를 이용하여 간단한 영상처리를 하고 회색(or 갈색) 계열 바닥에 흰색 테이프로 차선을 그려 라인 트레이싱을 해보는 과정을 순차적으로 파이썬 코드를 작성해 보았습니다. 마침 집 거실 바닥이 갈색이어서 나이스~ 하고 소리쳤대요. ^^ 아, 이 과정은 영상을 분석하는 알고리즘을 사람이 만드는 단계로 아직 인공지능 단계가 아닙니다.
Chapter 06 딥러닝 자율주행차 만들기 – 데이터 획득
Chapter 06 딥러닝 자율주행차 만들기 – 데이터 획득
06_1 OpenCV를 활용한 키보드 입력 06_2 모델 학습을 위한 이미지 보정 06_3 OpenCV 이미지 저장 06_4 조종 기능을 추가하여 실제 데이터 학습 06_5 학습된 데이터를 압축하여 라즈베리 파이에서 PC로 이동하는 [딥 러닝 자율주행 차량 만들기 – 데이터 획득]챕터에서는 딥러닝을 통한 자율주행차를 만드는 과정, 폭우 데이터를 획득하는 과정에서 OpenCV를 이용해 자동차를 조종하고 자동차의 조향각도가 포함된 주행사진을 획득하는 과정이 정리돼 있습니다.
코드를 작성하고 결과를 확인하는 과정을 반복하면 딥러닝 자율주행차를 위한 데이터 획득 과정을 자연스럽게 익힙니다. 데이터를 학습시킬 때는 PC 화면을 보면서 조종하고 학습하는데 자동차를 직접 보면서 조종하면 3인칭으로 보이기 때문에 실제 카메라 영상을 보면서 학습시키는 것이 필요하다는 점 등의 팁도 확인할 수 있습니다.
Chapter 07 딥러닝 자율주행 자동차 만들기 – 모델 생성
Chapter 07 딥러닝 자율주행 자동차 만들기 – 모델 생성
07_1GoogleCorp사용07_2Google드라이브연동07_3자율주행차 학습모델 생성 텐서플로우 및 켈러스 재설치후 [런타임]→[런타임 재기동] 구글드라이브 마운트 압축해제 라이브러리 읽기 조향각 분포확인 이미지 읽기 및 정규화 nvidia 모델구성 학습데이터 생성 모델 학습결과 확인검증 [딥러닝 자율주행차 만들기 – 모델 생성] 챕터는 구글Corap을 활용하여 tensorplow, CNN의 결과를 이용하여 tensorplow, 인공사진을 이용하여 tensor를 설치하고,
예전에 파이썬 교육을 들으면서 파이썬 tensorflow를 접했는데 주행해서 획득한 데이터의 학습 모델을 만들기 위해 파이썬 tensorflow와 keras를 사용하는 부분이 있어서 기뻤습니다. tensorflow(텐서 플로우)는 구글에서 작성된 딥러닝 라이브러리입니다. 딥러닝을 쉽게 구현할 수 있도록 다양한 기능을 제공합니다. keras(케라스)는 딥러닝 라이브러리에서 텐서 플로우 라이브러리를 보다 쉽게 사용할 수 있도록 지원하는 라이브러리입니다.
Chapter 08 딥러닝 자율주행 자동차 만들기 – 모델 적용 후 자율주행
Chapter 08 딥러닝 자율주행 자동차 만들기 – 모델 적용 후 자율주행
08_ 1tensorflow, keras 딥러닝 라이브러리 설치 08_2 학습 파일 라즈베리 파이에 읽어 테스트 할 08_3 예측한 결과를 바탕으로 자동차 이동 방향 결정 08_4 딥러닝 자율주행 자동차 자율주행 [딥러닝 자율주행차 만들기 – 모델 적용 후 자율주행] 챕터는 라즈베리 파이에 인공지능 라이브러리인 tensorflow, keras를 설치하고 7장에서 학습된 모델을 호출하여 자율주행합니다. 사람이 만든 알고리즘이 아니라 딥러닝을 통해 컴퓨터가 만든 알고리즘으로 정말 자율주행을 하는 과정이 정리돼 있습니다.
Chapter 09 딥러닝 자율주행차 만들기 요약
Chapter 09 딥러닝 자율주행차 만들기 요약
09_1개발환경구성09_2자동차를조종하여학습데이터획득09_3코랩으로데이터학습09_4데이터를적용하여자율주행[딥러닝자율주행자동차만들기요약]챕터는 자율주행 자동차를 만들기 위한 핵심 과정은 요약해서 설명하고 있습니다. 위의 핵심 과정은 데이터 획득 6장과 이를 통해 모델을 생성하는 7장, 모델 적용 후 자율주행을 하는 8장 이렇게 3단계입니다. 앞장에서 진행했던 내용을 다시 정리할 수 있어서 다행이네요.
Chapter 10 딥러닝 자율주행 자동차 필터를 적용하여 성능을 높이다
Chapter 10 딥러닝 자율주행 자동차 필터를 적용하여 성능을 높이다
10_1 OpenCV 필터 적용 10_2 필터 적용 파일 데이터 취득 10_3 모델 데이터 작성 10_4 자율주행차 주행 시작 10_5 자율주행차 속도를 변경하여 빠르게 하다[딥러닝 자율주행차 필터 적용하여 성능 향상]챕터는 자율주행차 데이터 획득과 적용 과정에서 OpenCV 필터를 이용해 자율주행차 성능을 높이는 과정을 정리합니다. 필터선 적용 시선을 보다 명확하게 강조하여 학습하고 결과를 적용할 수 있습니다.
Chapter 11 딥러닝 물체 감지
Chapter 11 딥러닝 물체 감지
11_1 OpenCVDNN 물체 감지 11_2 실시간으로 물체 감지 11_3 스레드를 활용하여 기능 분리 11_4 자율주행 자동차에 적용할 11_5 물체를 감지하여 긴급 정기 기능을 추가하는 [딥러닝 물체 감지] 챕터는 OpenCVDN을 이용하여 tensorflow에서 생성된 인공지능 모델을 라즈베리 파이에 적용하여 물체를 감지하는 과정을 정리하고 있다. 여기에 자율주행차와 결합해 주행 시 사람을 감지해 자동으로 멈추는 기능도 추가할 수 있습니다.
주행코스에 사람 사진을 세워놓고 (내 얼굴로 직접 해보려면 얼굴이 한참 밑에 있어야해서;;;;;;;;;;;;;;;;;;;;긴급정지기능을 추가하면 정말! 뭔가 엄청! 대단해! 코드를 완성했다고 생각하고, 자신을 무한히 칭찬하게 되었습니다.(웃음)
이러한 과정을 QR코드를 통해 동영상으로도 확인할 수 있습니다. 아, 그리고 OpenCV, tensorflow, keras 등의 라이브러리는 업데이트가 빈번하기 때문에 버전 변동에 따라 코드를 변경할 경우 앤서북 네이버 카페를 통해 공지한다고 합니다. 따라하다가 뭐가 막히면 도서별 독자지원센터로 가면 해결되겠죠? ^^자율주행 자동차를 만들어 원격조종하는 1단계, 데이터를 모으는 2단계, 학습을 시키는(모델생성) 3단계, 학습 데이터를 적용시키는 4단계, 인공지능 딥러닝 자율주행 자동차를 완성하는 5단계, 자율주행 성능을 높이고 물체를 감지하는 6단계 과정을 거치는 자율주행 자동차의 완성과정을 통해 인공지능 딥러닝을 라즈베리파이 실습으로 진행한다.
인공지능이 화제가 되고 있는 요즘 스스로 인공지능을 프로그래밍할 수 있는 기회를 갖는다는 것은 엄청난 즐거움이 아닐까 생각합니다. 이 책과 함께라면 인공지능 자율주행차를 만들어보고 프로그래밍하기까지의 과정을 재미있고 쉽게 따라할 수 있다는 확신이 듭니다.* 이 서평은 앤서북에서 책을 제공받아 작성되었습니다.