딥러닝 기반 자율주행 자동차
정영진 , 김성준 , 박희웅 , 김현호
1. 개요
1) 프로젝트 목적 2) 개발 목표
3) 개발 일정
2. 기능 구현
1) 개발 환경 2) 흐름도 3) 기능 구현
4) 하드웨어 구성
목차
차선인식 , 표지판인식 , 신호등인식 등을 구현하여 OPE NCV 와 딥러닝 영상인식 기반 자율주행 RC 카를 구현을 목 표로 한다 .
프로젝트 목적
일정
9 월 10 월 11 월 12 월
1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
자료조사 통신 하드웨어 차선인식 신호등 인식 표지판 인식 사람 및 물체 objectdetection
최적화
주단의 세부일정
• 9 월 30 ~ 10 월 2 일 :
• 김현호 (TTS api 사용법 )
• 정영진 ( Line Detection 코드 분석 )
• 김성준 ( tensorflow cnn 학습 방법 )
• 박희웅 ( Line Detection, Object Detection 을 Python multiPro- cessing 으로 나누기 )
• 10 월 7 ~ 11 일 : Deep Leaning 학습 모델 선정 및 성능 비교
• 10 월 14 ~ 18 일 : 하드웨어 조립 및 ROS 통신 , 제어
• 10 월 21 ~ 25 일 : 하드웨어 조립 및 ROS 통신 , 제어
• 10 월 28 ~ 11 월 1 일 : 차선인식 구현
• 11 월 4 ~ 8 일 : 신호등인식 ( 색상인식 ) 구현
• 11 월 11 ~ 15 일 : 표지판인식 ( Deep Learning ObjectDetection)
• 11 월 18 ~ 22 일 : 표지판인식 ( Deep Learning ObjectDetection)
• 11 월 25 ~ 29 일 : 데이터 수집 및 라벨링 , Object Detection CNN 학
• 12습 월 2 ~ 6 일 : 최적화
직선 , 곡선 , 신호등 , 표지판 , 전방 장애물 미션을 갖는 도로와 이를 주행하는 모형 자동차를 제작 및 구현한다 .
판매되는 RC 카 (주파수 기반 ) 를 개조하여 리눅스 ( 라즈베리파이 ) 상에서 조종 가능하 도록 모델링 한다 .
라즈베리파이 캠을 통하여 캡쳐된 이미지를 분석하여 차선 , 신호등 , 표지판 검출 및 판 별한다 .
직선 및 곡선 형태의 차선을 인지하고 주행한다 .
신호등 및 표지판 검출 및 상태를 판별한다 .
RC카 규격과 미션을 수행할 수 있는 도로를 제작한다 . ( 규격 , 제작 준비 중 )
개발 목표
하드웨어
구성
라즈베리파이 3 B+
라즈베리파이 카메라모듈
2A L298 모터드라이버 모듈
스파크펀 라즈베리파이 서보모터 컨트롤 확장보드
2WD 조향 스마트 자동차 바디
스턴트카 전용 7.2V 배터리
[Nvidia] NVIDIA® Jetson Nano™ Developer Kit [NT102110268]
개발 환경 : Ubuntu 18.04 LTS , Linux
Language : python
사용 기술 : Opencv ,Deep Learning ObjectDetection ROS 통신
사용 장비 : Raspberry3 B + , Server PC(Geforce1070)
작업 환경
흐름도
Deep learning Object-detection OpenCV
OpenCV
통신 WEBCAM 영상 전 송
모터제어 ROS 통신
라즈베리파이 3
흐름도
B+
Server 또는 Jetson Nano 로 이미지 처 리
1. 통신
1) 라즈베리파이 webcam 을 이용해 socket 통신
2. 영상인식
1) 주행 ( 차선주행 )
- ROI 설정 ( 좌측 하단 , 우측 하단 ) - 이미지 이진화 (Gray Scaling)
- 차선 경계 검출 (Edge Detection)
- 차선 직선 및 방향 제어 (Hough Transformation / PID Control) - 차량 방향 및 속도 제어
기능구현
기능구현
차선인식 구현
2) 속도 표지판 인식 ( 프레임 워크 : tensorflow , 알고리즘 : cnn) - 데이터 수집 및 라벨링
- 비디오로 도로를 촬영하고 , 정지 이미지를 만듬 - 각 정지 이미지에 인식되기 원하는 객체 영역학습 - 객체 인식
기능구현
3) 신호등 인식 (HSV)
- 원 이지미 검출 (Hough Circle Detection) - HSV 이미지 영역 설정 (RGB)
- 검출된 원의 좌표 저장
- RGB 이미지 픽셀을 HSV 로 변환
- 변수 설정 후 HSV 값과 영상 색깔 판별 - 차량 속도 제어
기능구현
Hough Circles Detection을 활용하여 영상에서 원 부분들을 검출한 후 , cv2.Circle 을 활용 하여 추출한 원을 표현해준다 .
기능구현
HoughCircles 좌표 저장 후 HSV 색깔 판별 - RED [ Motor Control / STOP]
4)보행자 인식 (객체인식 및 제동 제어 ) - 객체 인식을 활용해 사람 인식 - tensorflow 활용
5)전방 장애물 인식
- 실시간 초음파 센서 거리측정 - 장애물 거리 인식 및 정지
기능 구현
3. 제어
1. 차량의 속도 및 방향 제어 ( 모터제어 )