목차 전체
1
인공지능 기반 하수관로 결함탐지 알고리즘 개발 연구
Ⅰ. 연구 개요 15
1.1 연구 배경 및 목적 15
1.2 연구의 구성 16
Ⅱ. 선행연구 검토 18
2.1 선행 연구와 본 연구의 데이터 및 인식률 비교 19
2.2 선행 연구의 모델 20
2.3 선행 연구의 데이터와 본 연구의 데이터의 비교 21
2.4 소결 23
Ⅲ. 하수관 손상 정보 데이터베이스 구축 방안 24
3.1 하수관로 CCTV 조사 영상 데이터베이스 24
3.2 데이터베이스 구축 24
3.3 하수관로 CCTV 영상 데이터 셋 26
3.4 데이터베이스 유형별 클래스 분류 27
3.5 소결 39
Ⅳ. 하수관로 손상 자동 추출 시스템 구축 40
4.1 시스템 구조 41
4.2 손상 분류 시스템 구조도 42
4.3 손상 분류 모델 학습 과정 43
4.4 하수관로 실험 결과 63
Ⅴ. 설명 가능한 인공지능 시스템의 적용 73
5.1 Activation Visualization 73
5.2 Gradient-weighted Class Activation Mapping 75
5.3 Smooth Gradient 77
Ⅵ. 하수관로 손상 자동 추출 시스템 검증 79
6.1 성능 평가 테스트 셋 80
6.2 손상 자동 인식 성능 평가 방법 82
6.3 손상 자동 인식 성능 평가 83
6.4 소결 133
Ⅶ. 결론 및 연구제안 134
부록 135
Ⅰ. S/W 배포 환경 부록 137
1.1 하수관로 CCTV 조사 영상 손상 자동 추출 S/W CD 부록 137
1.2 하수관 하수관로 CCTV 조사 영상 손상 자동 추출 S/W CD 내부 부록 138
1.2.1 Source Code & GitHub 부록 139
1.2.2 S/W 테스트 비디오 부록 142
1.2.3 하수관로 CCTV 조사 영상 손상 자동 추출 S/W 부록 143
Ⅱ. 하수관로 CCTV 조사 영상 손상 자동 추출 S/W 부록 144
2.1 프로그램 화면 구성 부록 144
2.1.1 메인 윈도우의 상단바 부록 145
2.1.2 사업목록 테이블 부록 146
2.1.3 보고서 목록 테이블 부록 148
2.1.4 보고서 입력 창 부록 150
2.1.5 파손 부위 인식 창 부록 151
2.1.6 출력범위 설정 및 테이블 부록 152
2.2 사용자 시나리오 부록 153
2.2.1 프로그램 실행 부록 153
2.2.2 각 창에 접근하는 방법 부록 155
2.2.3 열 편집, 추가 부록 162
2.2.4 자동인식 부록 163
2.2.5 수동인식 부록 171
2.2.6 파손 부위 인식창 안에서 데이터베이스의 편집 부록 179
2.2.7 PDF파일 출력 부록 181
Ⅲ. 요구사항 명세 부록 183
3.1 S/W 개발 범위 부록 183
3.2 S/W 개발 환경 부록 184
3.3 Unified Modeling Language 기반 설계 부록 185
Ⅳ. 결론 및 결과물 부록
?표 차례
?표 2-1? 이전 연구와 본 연구의 비교 19
?표 2-2? 이전 연구 트레이닝 데이터 셋 21
?표 2-3? 본 연구 트레이닝 데이터 셋 (손상 유형) 22
?표 2-4? 본 연구 트레이닝 데이터 셋 (비 손상 유형) 22
?표 3-1? 하수관로 CCTV 영상 데이터 셋 26
?표 3-2? 하수관 최종 분류 클래스 27
?표 3-3? 손상 유형의 이미지 수 29
?표 3-4? 비 손상 유형의 이미지 수 29
?표 3-5? 손상 유형과 비 손상 유형 이미지의 간략한 예 30
?표 4-1? 트레이닝 셋 손상 유형 이미지 44
?표 4-2? 트레이닝 셋 비 손상 유형 이미지 44
?표 4-3? 테스팅 셋 손상 유형 이미지 57
?표 4-4? 테스팅 셋 비 손상 유형 이미지 57
?표 4-5? 하수관로 결함 자동 인식 시스템의 인식률 측정 65
?표 6-1? 성능 평가 테스트 셋 80
?표 6-2? 테스트 결과 1 131
?표 6-3? 테스트 결과 2 132
?부록 표 차례
?표 1? 소프트웨어 제작 PC 사양 부록 184
?표 2? Deep Learning Server 1 사양 부록 184
?표 3? Deep Learning Server 2 사양 부록 184
?그림 차례
?그림 2-1? AlexNet 구조도 20
?그림 3-1? 영상 내 손상 예 28
?그림 3-2? 균열 길이 손상 유형 예시 34
?그림 3-3? 균열 원주 손상 유형 예시 34
?그림 3-4? 관 파손 손상 유형 예시 35
?그림 3-5? 연결관 도출 손상 유형 예시 35
?그림 3-6? 이음부 결함 손상 유형 예시 36
?그림 3-7? 이음부 단차(이탈) 손상 유형 예시 36
?그림 3-8? 토사 퇴적 손상 유형 예시 37
?그림 3-9? 표면 손상 손상 유형 예시 37
?그림 3-10? 하수관 내부 예시 38
?그림 3-11? 하수관 외부 예시 38
?그림 4-1? 하수관로 손상 자동 인식 시스템 구조 41
?그림 4-2? 손상 분류 과정 42
?그림 4-3? Deep Learning 전용 서버 43
?그림 4-4? 트레이닝 균열 길이 이미지 45
?그림 4-5? 트레이닝 균열 원주 이미지 45
?그림 4-6? 트레이닝 관 파손 이미지 46
?그림 4-7? 트레이닝 연결관 돌출 이미지 46
?그림 4-8? 트레이닝 이음부 결함 이미지 47
?그림 4-9? 트레이닝 이음부 단차(이탈) 이미지 47
?그림 4-10? 트레이닝 토사 퇴적 이미지 48
?그림 4-11? 트레이닝 표면 손상 이미지 48
?그림 4-12? 트레이닝 내부 이미지 49
?그림 4-13? 트레이닝 외부 이미지 49
?그림 4-14? VGGNet 구조 51
?그림 4-15? VGG-19 모델의 구조 52
?그림 4-16? Convolution 연산 과정 53
?그림 4-17? Average Pooling과 Max Pooling 연산 54
?그림 4-18? ReLU와 다른 활성 함수들 55
?그림 4-19? Local Response Normalization 과정 55
?그림 4-20? 일반적인 CNN 구조에서의 Fully Connected layer 56
?그림 4-21? Softmax 함수 사용 예 56
?그림 4-22? 테스팅을 위한 균열 길이 이미지 58
?그림 4-23? 테스팅을 위한 균열 원주 이미지 58
?그림 4-24? 테스팅을 위한 관 파손 이미지 59
?그림 4-25? 테스팅을 위한 연결관 돌출 이미지 59
?그림 4-26? 테스팅을 위한 이음부 결함 이미지 60
?그림 4-27? 테스팅을 위한 이음부 단차(이탈) 이미지 60
?그림 4-28? 테스팅을 위한 토사 퇴적 이미지 61
?그림 4-29? 테스팅을 위한 표면 손상 이미지 61
?그림 4-30? 테스팅을 위한 내부 이미지 62
?그림 4-31? 테스팅을 위한 외부 이미지 62
?그림 4-32? 트레이닝/검증 데이터 셋 구조 63
?그림 4-33? 제안된 VGG-19 모델의 인식률과 손실 측면의 Training/Validation 64
?그림 4-34? Final Report 1 67
?그림 4-35? Final Report 2 68
?그림 4-36? Final Report 3 69
?그림 4-37? Final Report 4 70
?그림 4-38? Final Report 5 71
?그림 4-39? Final Report 6 72
?그림 5-1? 활성 시각화 과정 (64 Activation maps) 74
?그림 5-2? XAI 모델인 Gradient-weighted Class Activation Mapping(Grad-CAM) 75
?그림 5-3? 하수관로 이미지의 Smooth Gradient 적용 77
?그림 6-1? 보고서에 기록된 손상 예 81
?그림 6-2? 이음부 결함 84
?그림 6-3? 연결관 돌출 84
?그림 6-4? 연결관 돌출 85
?그림 6-5? 연결관 돌출 85
?그림 6-6? 연결관 돌출 86
?그림 6-7? 연결관 돌출 86
?그림 6-8? 연결관 돌출 87
?그림 6-9? 연결관 돌출 87
?그림 6-10? 이음부 단차(이탈) 88
?그림 6-11? 이음부 단차(이탈) 88
?그림 6-12? 균열 원주 89
?그림 6-13? 균열 원주 90
?그림 6-14? 연결관 돌출 90
?그림 6-15? 연결관 돌출 91
?그림 6-16? 연결관 돌출 91
?그림 6-17? 연결관 돌출 92
?그림 6-18? 표면 손상 93
?그림 6-19? 연결관 돌출 93
?그림 6-20? 연결관 돌출 94
?그림 6-21? 관 파손 94
?그림 6-22? 이음부 단차(이탈) 95
?그림 6-23? 연결관 돌출 95
?그림 6-24? 이음부 결함 96
?그림 6-25? 연결관 돌출 96
?그림 6-26? 이음부 단차(이탈) 97
?그림 6-27? 이음부 단차(이탈) 97
?그림 6-28? 이음부 결함 98
?그림 6-29? 이음부 단차(이탈) 98
?그림 6-30? 이음부 단차(이탈) 99
?그림 6-31? 연결관 돌출 99
?그림 6-32? 표면 손상 100
?그림 6-33? 연결관 돌출 100
?그림 6-34? 표면 손상 101
?그림 6-35? 이음부 결함 101
?그림 6-36? 이음부 단차(이탈) 102
?그림 6-37? 연결관 돌출 102
?그림 6-38? 연결관 돌출 103
?그림 6-39? 연결관 돌출 103
?그림 6-40? 이음부 단차(이탈) 104
?그림 6-41? 이음부 단차(이탈) 104
?그림 6-42? 이음부 결함 105
?그림 6-43? 이음부 단차(이탈) 105
?그림 6-44? 표면 손상 106
?그림 6-45? 균열 원주 106
?그림 6-46? 표면 손상 107
?그림 6-47? 연결관 돌출 107
?그림 6-48? 연결관 돌출 108
?그림 6-49? 균열 원주 108
?그림 6-50? 균열 원주 109
?그림 6-51? 균열 원주 109
?그림 6-52? 표면 손상 110
?그림 6-53? 토사 퇴적 110
?그림 6-54? 연결관 돌출 111
?그림 6-55? 연결관 돌출 112
?그림 6-56? 이음부 단차(이탈) 112
?그림 6-57? 이음부 결함 113
?그림 6-58? 토사 퇴적 113
?그림 6-59? 이음부 단차(이탈) 114
?그림 6-60? 관 파손 114
?그림 6-61? 토사 퇴적 115
?그림 6-62? 토사 퇴적 115
?그림 6-63? 관 파손 116
?그림 6-64? 이음부 단차(이탈) 116
?그림 6-65? 이음부 결함 117
?그림 6-66? 관 파손 117
?그림 6-67? 토사 퇴적 118
?그림 6-68? 토사 퇴적 118
?그림 6-69? 토사 퇴적 119
?그림 6-70? 이음부 단차 119
?그림 6-71? 토사 퇴적 120
?그림 6-72? 토사 퇴적 120
?그림 6-73? 토사 퇴적 121
?그림 6-74? 이음부 결함 121
?그림 6-75? 이음부 단차(이탈) 122
?그림 6-76? 토사 퇴적 122
?그림 6-77? 토사 퇴적 123
?그림 6-78? 이음부 단차(이탈) 123
?그림 6-79? 연결관 돌출 124
?그림 6-80? 이음부 결함 125
?그림 6-81? 이음부 단차(이탈) 125
?그림 6-82? 균열 원주 126
?그림 6-83? 이음부 단차(이탈) 126
?그림 6-84? 균열 원주 127
?그림 6-85? 이음부 결함 127
?그림 6-86? 이음부 단차(이탈) 128
?그림 6-87? 연결관 돌출 128
?그림 6-88? 연결관 돌출 129
?그림 6-89? 표면 손상 129
?그림 6-90? 연결관 돌출 130
?그림 6-91? 이음부 결함 130
?부록 그림 차례
?그림 1? 하수관로 CCTV 조사 영상 손상 자동 추출 S/W CD 137
?그림 2? 하수관로 CCTV 조사 영상 손상 자동 추출 S/W 루트 폴더 138
?그림 3? [Source Code] 폴더 파일 목록 139
?그림 4? GitHub를 이용한 Source Code 저장/관리 141
?그림 5? [SW 테스트 비디오] 폴더 142
?그림 6? [하수관로 CCTV 조사 영상 손상 자동 추출 S/W] 폴더 파일 목록 143
?그림 7? 하수관로 CCTV 조사 영상 손상 자동 추출 S/W 초기화면 144
?그림 8? 하수관로 CCTV 조사 영상 손상 자동 추출 S/W 상단 메뉴 145
?그림 9? 하수관로 CCTV 조사 영상 손상 자동 추출 S/W 사업목록 기본화면 146
?그림 10? 하수관로 CCTV 조사 영상 손상 자동 추출 S/W 사업목록 편집화면 147
?그림 11? 하수관로 CCTV 조사 영상 손상 자동 추출 S/W 보고서 목록 기본화면 148
?그림 12? 하수관로 CCTV 조사 영상 손상 자동 추출 S/W 보고서 목록 편집화면 149
?그림 13? 하수관로 CCTV 조사 영상 손상 자동 추출 S/W 보고서 목록 보고서 입력 창 150
?그림 14? 하수관로 CCTV 조사 영상 손상 자동 추출 S/W 파손 부위 인식 창 151
?그림 15? 하수관로 CCTV 조사 영상 손상 자동 추출 S/W 보고서 출력 창 152
?그림 16? 프로그램 실행파일 저장 경로 153
?그림 17? 프로그램의 초기 실행화면의 일부 154
?그림 18? 프로그램의 초기 실행화면의 일부 155
?그림 19? 메인 윈도우의 탭을 이용해 연 사업 목록 156
?그림 20? 더블 클릭을 하여 열을 선택하기 직전의 사업목록 창 157
?그림 21? 더블 클릭을 하여 열을 선택하기 직전의 보고서 목록 창 158
?그림 22? 클릭을 하여 파손 부위 인식 창을 열기 직전의 보고서 입력 창 159
?그림 23? 메인 윈도우의 탭을 이용해 연 발주처 목록 160
?그림 24? 메인 윈도우의 탭을 이용해 연 종합 보고서 161
?그림 25? 사업 목록의 열 편집 162
?그림 26? 동영상 로드가 끝난 파손 부위 인식 창 163
?그림 27? 더블 클릭을 하여 열을 선택하기 직전의 사업목록 창 164
?그림 28? 더블 클릭을 하여 열은 선택하기 직전의 보고서 목록 창 165
?그림 29? 클릭을 하여 파손 부위 인식 창을 열기 직전의 보고서 입력 창 166
?그림 30? 파손 부위 인식 창의 기본화면 167
?그림 31? 동영상 불러우기 버튼으로 열리는 창 168
?그림 32? 자동 인식을 진행 중인 상태 168
?그림 33? 자동 인식을 진행 중인 상태 169
?그림 34? 자동 인식이 끝난 상태 170
?그림 35? 영상 캡처 버튼을 누른 직후의 파손 부위 인식 창 171
?그림 36? 더블 클릭을 하여 열을 선택하기 직전의 사업목록 창 172
?그림 37? 더블 클릭을 하여 열을 선택하기 직전의 보고서 목록 창 173
?그림 38? 클릭을 하여 파손 부위 인식 창을 열기 직전의 보고서 입력 창 174
?그림 39? 파손 부위 인식 창의 기본화면 175
?그림 40? 동영상 불러오기 버튼으로 열리는 창 176
?그림 41? 선택한 동영상이 로드된 파손 부위 인식 창 176
?그림 42? 로드한 영상의 한 부분을 저장해 오른쪽 화면에 표시되는 상태 177
?그림 43? 추가 버튼을 통해 DB에 온전히 저장된 상태 178
?그림 44? 셀을 클릭하여 이상 확대한 상태 179
?그림 45? 필요 없는 셀을 삭제하기 위해 선택한 상태 180
?그림 46? 삭제 버튼을 눌러 열을 삭제한 상태 180
?그림 47? 종합 보고서 창 181
?그림 48? PDF 출력 예제 182
?그림 49? S/W 주요 개발 기능 183
?그림 50? 시퀀스 다이어그램 186
?그림 51? 유스케이스 다이어그램 187
?그림 52? 각 클래스 간의 관계도 188
?그림 53? 클래스 다이어그램 전체 구조도 189
?그림 54? 클래스 관계도의 Main_Ui에 대한 클래스 상세 내역 190
?그림 55? 클래스 관계도의 table saup에 대한 클래스 상세 내역 191
?그림 56? 클래스 관계도의 tables2에 대한 클래스 상세 내역 192
?그림 57? 클래스 관계도의 pop_ups에 관한 클래스 상세 내역 1 193
?그림 58? 클래스 관계도의 pop_ups에 관한 클래스 상세 내역 2 194
?그림 59? 클래스 관계도의 Find Crack Info에 관한 클래스 상세 내역 195
?그림 60? 클래스 관계도의 Auto Crack Detection에 관한 클래스 상세 내역 195
?그림 61? 클래스 관계도의 Print Report에 관한 클래스 상세 내역 196
?그림 62? 클래스 관계도의 table_balju에 대한 클래스 상세 내역 197
?그림 63? 클래스 관계도의 Data Base에 관한 클래스 상세 내역 1 198
?그림 64? 클래스 관계도의 Data Base에 관한 클래스 상세 내역 2 199