Upload
-
View
228
Download
5
Embed Size (px)
DESCRIPTION
Citation preview
자동차 번호판 인식 프로그램
- Back Propagation 신경망을 이용한 번호판 인식 프로그램 구현 -
인공지능 Term Project 20800577 장 호 상
목 차
1. 문제 정의 a. 설계목표 b. 사용할 인공지능 기법 소
개 c. 팀 구성 및 역할 분담 d. 구현 일정
2. 예제 프로그램 간략한 소개
3. 구현 프로그램 소개 a. 동작 및 구조 b. 자동차 번호판의 특성 c. 문자 인식 방법 d. 프로그램 구성 – Out Line e. 신경망 구성
4. 중요 Function
5. User Manual
6. 구현 결과
7. Improvement
8. Demonstration
1. 문제정의
1-a. 설계 목표
"Back Propagation Algorithm" 을 이용하여 자동차 번호판을 인식하는 프로그램을 구현한다.
사용하는 프로그래밍 언어는 JAVA 를 선택하였으며, Eclipse 를 개발 툴로 사용할 예정이다.
1. 문제 정의
1-b. 사용 할 인공지능 기법 소개
Back Propagation 신경망
Supervised Learning
자동차 번호판은 비교적 규격화 된 형식의 문자
Back Propagation Algorithm은 문자인식에 많이 사용되는 기법으로 자동차 번호판(문자로 이루어짐)을 인식하는 프로그램에 적합할 것으로 생각된다.
1. 문제 정의
1-c. 팀 구성 및 역할 분담 단독 팀으로 진행할 예정
1-d. 구현 일정 10.24 ~ 10.26 : Term Project 주제 선정 10.26 ~ 10.27 : 도서 대출 및 사용할 예제 코드 분석 10.27 : Term Project 기획서 작성 10.30 ~ 10.31 : 예제 코드 실행 및 분석 11. 1 ~ 11. 3 : 필요한 자료 및 추가 소스코드 수집 11. 5 ~ 11.23 : 최종 프로그램 구현 및 디버깅 11.26 ~ 11.27 : 최종 보고서 작성 11.28 : 발표용 데모 및 PPT 작성
2. 예제 프로그램 소개
XOR에 대한 Back Propagation 신경망을
C++을 통해 구현한 예제 프로그램이다.
3. 구현 프로그램 소개
3-a. 동작 및 구조
3. 구현 프로그램 소개
3-b. 자동차 번호판의 특성
3. 구현 프로그램 소개
3-c. 문자 인식 방법
구현하는 프로그램은 자동차의 영상자료에 대한 디지털화 및 영역 추출은 이미 되어 있다고 가정하고 진행한다.
3. 구현 프로그램 소개
3-c. 문자 인식 방법 - 구성 요소 별 인식 방법
앞 숫자 2, 가운데 한글 1, 뒤 고유 숫자 4
영역을 파악하기 위해서 각 영역별 상대적인 위치 좌표를 이용.
각 영역의 크기는 항상 일정
각 구성요소가 차지하는 영역의 크기 및 위치는 항상 동일한 상대좌표를 갖는다.
3. 구현 프로그램 소개
3-c. 문자 인식 방법
- 문자 인식을 위한 입력 데이터 추출 방법
자동차 번호판은 바탕이 흰색이고
글자는 검정색으로 고정
색상 정보를 이용하여 문자를 인식
3. 구현 프로그램 소개
3-c. 문자 인식에 방법
각 문자 영역의 RGB 정보를 흑백으로 변환하여 Input 데이터로 입력
한 번호판 마다 4번 반복하여 4개의 문자에 대해서 인식
Output Neuron 의 값 중 가장 큰 값을 찾아서 해당 Index 의 문자로 인식
outValue 의 값이 0.0 보다 작으면 인식 오류로
처리
3. 구현 프로그램 소개
3- d. 프로그램 구성 - Out - Line
3. 구현 프로그램 소개
3-e. 신경망 구성
Neuron 의 수
Input Neuron 수 330 개
(전체 pixels 중 약 1/2)
Hidden Neuron 수 : 50 개 -> 1000 개
(인식률 문제로 수정)
Output Neuron 수 : 10 개
(인식할 문자 수 : 0 ~ 9 까지 10 개)
3. 구현 프로그램 소개
3-e. 신경망 구성
Training 설정
한 문자 당 training 은 에러 값이 0.000001f 보다
작을 때까지 학습
같은 문자에 대해서 정확도를 높이기 위해서 6번을 반복하여 training
한 번호판에서 번호 영역의 4개의 문자에 대해 training
4. 중요 Function – Train()
4. 중요 Function – Forwardpass()
4. 중요 Function – Sigmoid()
4. 중요 Function – Putchar()
5. User Manual
6. 구현 결과 - 학습
6. 구현 결과 – 문자인식(성공)
6. 구현 결과 – 문자인식(실패)
7. Improvement
학습 결과 저장하는 기능
실제 카메라를 이용해서 번호판 인식
여러 가지 번호판 종류 추가
오차율을 줄인다면,
실제 번호판 인식 프로그램 구축 가능
8. Demonstration