AI 인공지능 드론 만들고 날리고 딥러닝 구현하기

데이터수집, 파이썬과 파이토치, 인공신경망 학습, 아두이노 AI 드론에 적용
$28.08
SKU
9791193059029
+ Wish
[Free shipping over $100]

Standard Shipping estimated by Tue 06/4 - Mon 06/10 (주문일로부 10-14 영업일)

Express Shipping estimated by Thu 05/30 - Mon 06/3 (주문일로부 7-9 영업일)

* 안내되는 배송 완료 예상일은 유통사/배송사의 상황에 따라 예고 없이 변동될 수 있습니다.
Publication Date 2023/05/30
Pages/Weight/Size 190*257*30mm
ISBN 9791193059029
Categories IT 모바일 > 컴퓨터 공학
Description
드론을 이용하여 인공지능 딥러닝을 공부하고 적용하는 방법을 소개하는데 초점을 맞춘 책입니다!

이 책에서 설명하는 드론을 이용하여 인공지능 딥러닝 배우는 3단계 학습 방법!
- 1단계 : 센서 기반 데이터 수집
- 2단계 : 파이썬과 파이토치 환경에서 인공신경망 학습
- 3단계 : 아두이노 AI 드론에 적용

『AI 인공지능 드론 만들고 날리고 딥러닝 구현하기』 책을 통해 독자 여러분은 C/C++ 환경의 Edge 단에서 센서 기반의 데이터를 수집하고, 수집한 데이터를 Python과 PyTorch 환경으로 옮겨와 인공 신경망을 학습시키고, 학습이 끝난 인공 신경망을 다시 드론과 같은 Edge 디바이스에 내려 적용할 수 있는 방법을 배울 수 있습니다.

이 책은 다음과 같이 구성되었습니다. 1장에서는 먼저 딥러닝 기반 인공지능 드론에 대해서 살펴봅니다. 강화 학습 기반 광원 탐색 드론과 강화 학습 기반 자율 레이싱 드론을 살펴보고 관련 인공 신경망도 살펴봅니다. 다음은 아두이노 AI 드론 조립방법을 소개합니다. 마지막으로 드론 개발 환경을 구성합니다. 2장에서는 아두이노 AI 드론을 구성하는 하드웨어 부품을 살펴보고 제어해 봅니다. 먼저 시리얼을 통한 문자열 출력, LED 제어, DC 모터 제어 원리를 살펴보고 구현해봅니다. 다음은 GY-91 센서를 살펴보고 가속도 자이로 센서값을 읽어봅니다. RGB LCD 사용법도 살펴봅니다. 마지막으로 PID 함수를 이용하여 드론 자율 비행을 수행해 봅니다.

3장에서는 딥러닝 7공식을 이용하여 딥러닝 기본 알고리즘을 이해하고 아두이노, python, PyTorch 환경에서 구현해 봅니다. 이 과정에서 순전파, 오차 계산, 역전파, 학습률, 인공 신경망 학습에 대해 살펴보고 구현해 봅니다. 딥러닝에서 주로 사용하는 활성화 함수인 sigmoid, ReLU, softmax 함수도 살펴보고 구현해 봅니다. softmax와 관련된 cross entropy 오차 함수도 그 원리를 이해하고 구현해 봅니다. 4장에서는 딥러닝 드론 프로젝트를 수행해 봅니다. 먼저 PyTorch를 활용하여 7 segment에 대한 인공 신경망을 학습시켜 봅니다. 그리고 PID 함수를 DNN을 이용하여 학습시켜 DPidNN 신경망 함수를 만든 후, DPidNN 신경망 함수를 이용하여 드론을 자율 비행시켜 봅니다. 부록에서는 NumPy의 기반이 되는 C++ Eigen 행렬을 이용한 DNN 구현 과정을 소개합니다.

※ 이 책의 예제 소스파일 다운로드 방법은 4쪽을 참조하고, 책을 보면서 궁금한 사항의 질의응답 방법은 5쪽을 참조합니다.
※ 이 책의 실습 준비물은 6쪽을 참고하고, 조립 방법 22~27쪽을 참조합니다.
Contents
Chapter 01 인공지능 드론 이해하기

01 인공지능 드론의 이해
01_1 딥러닝과 드론
01_2 딥러닝 드론 살펴보기
강화 학습 기반 광원 탐색 드론
강화 학습 기반 자율 레이싱 드론

02 아두이노 AI 드론 조립하기
02_1 부품 살펴보기
02_2 AI 드론조립하기

03 아두이노 AI 드론 살펴보기
03_1 ESP32 아두이노 살펴보기
ESP-WROOM-32 모듈 살펴보기
03_2 아두이노 AI 드론 쉴드 살펴보기

04 아두이노 개발환경 구성하기
04_1 아두이노 소프트웨어 설치하기
04_2 USB 드라이버 설치하기
04_3 ESP32 아두이노 패키지 설치하기
ESP32 보드 컴퓨터에 연결하기
ESP32 패키지 설치하기
04_4 아두이노 스케치 작성해 보기
스케치 작성하기
스케치 저장하기
스케치 컴파일하기
스케치 업로드하기
시리얼 모니터 확인

Chapter 02 아두이노 드론 살펴보기

01 문자열 내보내기
01_1 여러 형식의 자료 내보내기
01_2 여러 형식의 숫자 내보내기

02 LED 켜고 끄기
02_1 LED 켜고 끄기 확인하기
02_2 LED 켜고 끄기 간격 줄여보기
02_3 LED 켜고 끄기를 밝기로 느껴보기
02_4 LED 어둡게 하기
02_5 LED 밝게 하기
02_6 LED 밝기 조절해 보기
0.01초 간격으로 LED 밝기 11 단계 조절해 보기
0.1초 간격으로 LED 밝기 11 단계 조절해 보기
02_7 모터 회전 정지 반복해 보기
모터 회전 정지 간격 줄여보기
반복적인 모터 회전 정지를 일정한 회전으로 느껴보기

03 모터 속도 조절 : ledcWrite
03_1 ledcWrite 함수로 모터 회전 정지 반복해 보기
모터 회전 정지 간격 줄여보기
반복적인 모터 회전 정지를 일정한 회전으로 느껴보기
모터 회전 부드럽게 만들기
03_2 모터로 멜로디 연주하기

04 드론 모터의 이해와 테스트
04_1 드론 모터의 구조 이해
일반 DC 모터의 구조
BLDC 모터의 구조
CLDC 모터의 구조
04_2 드론 모터 회로 살펴보기
04_3 모터 제어 프로그램 작성하기
모터 돌려 보기
브라운 아웃 리셋 비활성화하기

05 사용자 입력 받기
05_1 사용자 입력 받기
05_2 모터 속도 조절해 보기

06 GY-91 모듈 살펴보기
06_1 Roll, Pitch, Yaw 이해하기
06_2 가속도 센서 축의 이해
06_3 자이로 센서 축의 이해
06_4 ESP32 아두이노 드론과 가속도 자이로 센서
06_5 MPU9250 레지스터 살펴보기
06_6 가속도 자이로 센서 값 읽어보기
06_7 가속도 자이로 센서 값 해석하기
가속도 센서 값 해석하기
자이로 센서 값 해석하기

07 RGB LCD 제어하기
RGB LCD 핀설명
07_1 ST7735 라이브러리 설치하기
07_2 RGB LCD 제어해 보기
문자열 표시해보기
그림 그려보기
픽셀 찍어보기
LCD 귀퉁이 점찍어보기
기타 함수 사용해 보기

08 PID 함수로 자율 비행하기
08_1 ESP32 SOC 살펴보기
08_2 아두이노 스케치 수행 CPU 코어 확인하기
08_3 CPU 코어 0에서 동작하는 태스크 생성하기
08_4 BOOT 핀 읽어보기
08_5 자율 비행 수행하기

Chapter 03 Deep Learning 알고리즘 이해

01 딥러닝 이해
01_1 인공 신경망이란
인공 신경망으로 할 수 있는 일들
인공 신경망 구조
01_2 인공 신경망의 학습 방법
지도 학습
비지도 학습
강화 학습
01_3 인공 신경 살펴보기
인공 신경과 생물학적 신경
인공 신경 내부살펴보기
인공 신경 함수 수식
가장 간단한 인공 신경
인공 신경망 기초 정리하기
01_4 퍼셉트론의 이해
퍼셉트론과 논리 게이트
퍼셉트론 구현하기 1
편향 개념 가져오기
퍼셉트론 구현하기 2
퍼셉트론의 한계 : XOR
다중 퍼셉트론으로 해결 : XOR
XOR 구현하기

02 딥러닝 7 공식
02_1 딥러닝 제 1 공식 : 순전파
순전파 살펴보기
순전파 코딩하기
02_2 딥러닝 제 2 공식 : 평균제곱 오차
평균 제곱 오차 코딩하기
02_3 딥러닝 제 3 공식 : 역전파 오차
역전파 오차 코딩하기
02_4 딥러닝 제 4 공식 : 입력 역전파
02_5 딥러닝 제 5 공식 : 가중치, 편향 순전파
02_6 딥러닝 제 6 공식 : 가중치, 편향 역전파
가중치, 편향 역전파 코딩하기
02_7 딥러닝 제 7 공식 : 신경망 학습
신경망 학습해 보기
신경망 학습 코딩하기 1
학습률 적용하기
신경망 학습 코딩하기 2
학습된 신경망으로 예측하기
02_8 딥러닝 반복 학습해 보기
반복 학습 2회 수행하기
반복 학습 20회 수행하기
반복 학습 200회 수행하기
오차 조건 추가하기
학습률 변경하기
02_9 딥러닝 7 공식 정리하기

03 딥러닝 7 공식 확장하기
03_1 2입력 1출력 인공 신경
딥러닝 제 1 공식 : 순전파
딥러닝 제 2 공식 : 평균 제곱 오차
딥러닝 제 3 공식 : 역전파 오차
딥러닝 제 4 공식 : 입력 역전파
딥러닝 제 5 공식 : 가중치, 편향 순전파
딥러닝 제 6 공식 : 가중치, 편향 역전파
딥러닝 제 7 공식 : 신경망 학습
딥러닝 반복 학습해 보기
03_2 2입력 2출력 인공 신경망
딥러닝 제 1 공식 : 순전파
딥러닝 제 2 공식 : 평균 제곱 오차
딥러닝 제 3 공식 : 역전파 오차
딥러닝 제 4 공식 : 입력 역전파
딥러닝 제 5 공식 : 가중치, 편향 순전파
딥러닝 제 6 공식 : 가중치, 편향 역전파
딥러닝 제 7 공식 : 신경망 학습
딥러닝 반복 학습해 보기
연습문제
03_3 2입력 2은닉 2출력 인공 신경망
인공 신경망 수식 정리하기
인공 신경망 구현하기

04 딥러닝 7 공식 구현하기 : PyTorch
04_1 PyTorch 실습 환경 구현하기
Thonny IDE 설치하기
파이썬 실습 환경 설정하기
파이썬 프로그램 작성하기
파이썬 프로그램 실행하기
파이썬 프로그램 종료하기
PyTorch 라이브러리 설치하기
04_2 1입력 1출력 인공 신경 구현하기
04_3 2입력 1출력 인공 신경 구현하기
04_4 2입력 2출력 인공 신경망 구현하기
04_5 2입력 2은익 2출력 인공 신경망 구현하기
04_6 딥러닝 학습 과정 살펴보기
w, b, E의 관계 살펴보기 1
numpy 연산 살펴보기
w, b, E의 관계 살펴보기 2
바둑판 좌표 생성해 보기
w, b, E의 관계 살펴보기 3
학습과정 살펴보기 3

05 활성화 함수 추가하기
05_1 활성화 함수의 필요성
활성화 함수는 무엇인가요?
활성화 함수는 왜 필요한가요?
어떤 활성화 함수가 있나요?
활성화 함수 그려보기
matplotlib animation으로 그려보기
순전파에 sigmoid 활성화 함수 적용해 보기
05_2 활성화 함수의 순전파와 역전파
05_3 활성화 함수 적용하기
딥러닝 7 공식에 적용하기
PyTorch에 적용하기
05_4 출력층에linear 함수 적용해 보기
딥러닝 7 공식에 적용하기
PyTorch에 적용하기
05_5 softmax 활성화함수/ cross entropy 오차 함수 살펴보기
softmax와 cross entropy
softmax 함수 구현해 보기
softmax 함수의 분모 크기 줄이기
cross entropy 오차 구현해 보기
05_6 softmax 활성화 함수 / cross entropy 오차 함수 적용하기
딥러닝 7 공식에 적용하기
PyTorch에 적용하기
출력층 활성화 함수와 오차 함수의 관계

Chapter 04 딥러닝 드론 프로젝트

01 PyTorch 활용하기
01_1 세그먼트 인공 신경망
torch FloatTensor로 데이터 초기화하기
딥러닝 모델 학습시키기
국소해의 문제 해결해 보기
출력층에 linear 함수 적용해 보기
목표값 변경해 보기
입력층과 목표층 바꿔보기
01_2 은닉층 늘려보기
학습 시키고 모델 내보내기
모델 불러와 예측하기 1
모델 불러와 예측하기 2
모델 모양 살펴보기
모델 아두이노 스케치로 변환하기
Eigen 행렬 라이브러리 설치하기
아두이노 DNN으로 예측해 보기
아두이노 DNN 살펴 보기

02 DNN 드론 프로젝트
02_1 PID 데이터 수집하기
아두이노 DNN 살펴보기
02_2 PyTorch로 PID 학습시키기
수집된 PID 데이터 확인하기
DataLoader 적용하기
인경 신경망 구성하기
인경 신경망 학습하기
학습된 인공 신경망 평가하기
학습된 인공 신경망 불러와 예측하기
학습된 가중치와 편향 내보내기
02_3 DPidNN으로 드론 날리기
아두이노 DPidNN으로 예측해 보기
드론에 DPidNN 인공 지능 적용하기

APPENDIX Eigen 행렬을 이용한 DNN 구현

01 행렬 이해하기
Eigen 행렬 라이브러리 설치하기
행렬의 정의
행렬의 모양
행렬의 덧셈, 뺄셈, 스칼라 배
행렬의 곱셈
행렬의 전치
1x2 행렬의 전치 행렬과의 곱

02 딥러닝 7 공식 구현하기
딥러닝 제 1 공식 : 순전파
딥러닝 제 2 공식 : 평균 제곱 오차
딥러닝 제 3 공식 : 역전파 오차
딥러닝 제 4 공식 : 입력 역전파
딥러닝 제 6 공식 : 가중치, 편향 역전파
딥러닝 제 7 공식 : 신경망 학습
딥러닝 반복 학습해 보기
2입력 2은닉 2출력 인공 신경망
2입력 2은닉 2출력 인공 신경망 구현하기
연습문제

03 활성화 함수 구현하기
sigmoid 활성화 함수 실습하기
nelu 활성화 함수 실습하기
sigmoid 활성화 함수 정리하기
relu 활성화 함수 정리하기
활성화 함수 적용하기

04 softmax/cross entorpy 함수 구현하기
softmax 함수 구현해 보기
softmax 함수의 분모 크기 줄이기
cross entropy 오차 구현해 보기
softmax 활성화 함수 정리하기
softmax 활성화 함수 cross entropy 오차 함수 적용하기
Author
서민우
연세대학교 정보산업공학 학사

코코랩스(http://www.kocolabs.co.kr/) 대표
MDS 아카데미 Cortex-M3/M4, 드론, 리눅스 교육
대한상공회의소 서울기술교육센터 출강
LG 전자 신입사원 C/C++ 교육
SK 하이닉스 RTOS 교육
삼성전자 리눅스 드라이버/RTOS 교육
Xilinx FPGA/HDL 교육
ETRI verilogHDL 교육
숭실대 아두이노 IoT 교육
국민대 Cortex-M3 교육

[저서]
한 권으로 끝내는 파이썬 아두이노 입문+실전(종합편) (2021. 9 앤써북)
아두이노로 코딩하며 배우는 딥러닝(2021. 06 앤써북)
ESP32 아두이노 드론 만들고 직접 코딩으로 PID 제어하기(2021. 02 앤써북)
아두이노 자율주행 RC카 만들고 직접 코딩하기(2020. 12 앤써북)
진짜 코딩하며 배우는 라즈베리파이 4(2020. 08 앤써북)
진짜 코딩하며 배우는 파이썬(2020. 08 앤써북)
아두이노 드론 만들고 날리고 직접 코딩하기(2020. 03 앤써북)
마이크로비트로 배우는 파이썬(2020. 02 앤써북)
아두이노로 만드는 사물인터넷(2019. 07 앤써북)
라즈베리파이 드론 만들고 직접 코딩하기(2018. 07 앤써북)
아두이노 드론 만들고 직접 코딩하기(2018. 06 앤써북)
아두이노처럼 사용하는 라즈베리 파이 3 직접 코딩하기(2018. 03 앤써북)
아두이노 피지컬 컴퓨팅 다두블럭으로 만들고 엔트리로 코딩하기(2017. 09 앤써북)
아두이노 드론 만들고 코딩하고 날리기 입문 (2017. 03 앤써북)
아두이노와 안드로이드로 45개 프로젝트 만들기(2014. 9 앤써북)
연세대학교 정보산업공학 학사

코코랩스(http://www.kocolabs.co.kr/) 대표
MDS 아카데미 Cortex-M3/M4, 드론, 리눅스 교육
대한상공회의소 서울기술교육센터 출강
LG 전자 신입사원 C/C++ 교육
SK 하이닉스 RTOS 교육
삼성전자 리눅스 드라이버/RTOS 교육
Xilinx FPGA/HDL 교육
ETRI verilogHDL 교육
숭실대 아두이노 IoT 교육
국민대 Cortex-M3 교육

[저서]
한 권으로 끝내는 파이썬 아두이노 입문+실전(종합편) (2021. 9 앤써북)
아두이노로 코딩하며 배우는 딥러닝(2021. 06 앤써북)
ESP32 아두이노 드론 만들고 직접 코딩으로 PID 제어하기(2021. 02 앤써북)
아두이노 자율주행 RC카 만들고 직접 코딩하기(2020. 12 앤써북)
진짜 코딩하며 배우는 라즈베리파이 4(2020. 08 앤써북)
진짜 코딩하며 배우는 파이썬(2020. 08 앤써북)
아두이노 드론 만들고 날리고 직접 코딩하기(2020. 03 앤써북)
마이크로비트로 배우는 파이썬(2020. 02 앤써북)
아두이노로 만드는 사물인터넷(2019. 07 앤써북)
라즈베리파이 드론 만들고 직접 코딩하기(2018. 07 앤써북)
아두이노 드론 만들고 직접 코딩하기(2018. 06 앤써북)
아두이노처럼 사용하는 라즈베리 파이 3 직접 코딩하기(2018. 03 앤써북)
아두이노 피지컬 컴퓨팅 다두블럭으로 만들고 엔트리로 코딩하기(2017. 09 앤써북)
아두이노 드론 만들고 코딩하고 날리기 입문 (2017. 03 앤써북)
아두이노와 안드로이드로 45개 프로젝트 만들기(2014. 9 앤써북)