6조

CIVIL capstone
이동: 둘러보기, 검색

프로젝트 개요

기술개발 과제

국문 : 도로 손상 실시간 업데이트 프로젝트..

영문 : Road damage real-time update project..

과제 팀명

도로돌려조..

지도교수

김지수 교수님

개발기간

2023년 03월 ~ 2023년 06월 (총 4개월)

구성원 소개

서울시립대학교 토목공학과 2018860021 오지원(팀장)

서울시립대학교 토목공학과 2018860006 김석균

서울시립대학교 토목공학과 2018860007 김예지

서울시립대학교 토목공학과 2018860020 오승훈

서울시립대학교 토목공학과 2018860028 이준민

서울시립대학교 토목공학과 2018860036 조광래

서론

개발 과제의 개요

개발 과제 요약

도로 손상 실시간 로드맵 제작 프로젝트 개발을 위해 카메라와 GPS를 활용하여 실시간 노면 손상을 탐지, 그 결과를 이용해 교내 손상 로드맵을 제작

개발 과제의 배경

4차 산업혁명 기술을 활용한 선제적 스마트 도로관리를 위하여 선진기술 도입 및 안전하고 편리한 도로환경을 조성하여 도로 손상으로 인한 교통사고를 예방하기 위한 실시간 업데이트 필요

개발 과제의 목표 및 내용

도로 손상 실시간 로드맵 제작 프로젝트 개발을 위해 카메라와 GPS를 활용하여 실시간 노면 손상을 탐지, 그 결과를 이용해 교내 손상 로드맵을 제작을 목표 본 프로젝트와 관련한 내용으로는 컴퓨터 비전 활용, 물체 인식, Classification & B-box regression, 실시간 노면 손상 탐지(카메라 & GPS 활용), 손상탐지결과를 이용 교내 손상 로드맵 제작에 있음. 본 프로젝트를 수행함으로써 도로 손상으로 인한 교통사고 예방과 도로 정비 작업 편의성 개선을 기대

관련 기술의 현황

관련 기술의 현황 및 분석(State of art)

  • 전 세계적인 기술현황
◇ 홍성삼, 김동욱, 김병곤, 이재강.(2020).도로포장에서 파손 및 크랙 탐지를 위한 이미지 레이블링 기술 분석 및 학습셋 생성 모델.대한공간정보학회지,28(4),119-125.

- 도로포장의 파손을 탐지를 자동화하기 위한 AI 모델을 구축하기 위한 고품질의 이미지 넷, 즉 학습셋을 구축하기 위한 레이블링 기술을 분석 및 제안하였다. 기존의 이미지넷 구축, 레이블링 기법, 자동 레이블링, 적은양의 데이터로 모델을 구축하는 기법들에 대해 조사 및 분석하여 도로포장에 적용가능한 기술들을 연구하였다. 또한 효율적인 도로포장 이미지넷 구축을 위한 자동 레이블링 시스템을 설계하여 제안하였다.

◇ 지봉준, “스몰 딥러닝을 이용한 아스팔트 도로 포장의 균열 탐지에 관한 연구”, 한국지반환경공학회 논문집 (2021. 10)

- 모바일 기기에 적용 가능한 스몰 딥러닝 모델을 적용하여 아스팔트 도로 포장의 균열을 탐지하는 모델의 개발을 위한 프레임워크를 제안한다. 사례연구를 통해 제안한 스몰 딥러닝 모델은 일반적인 딥러닝 모델들과 비교 연구되었으며, 상대적으로 적은 파라미터를 가지는 모델임에도 일반적인 딥러닝 모델들과 유사한 성능을 보였다.

◇ 하종우, 박경원, 김민수.(2021).딥러닝 기반의 분할과 객체탐지를 활용한 도로균열 탐지시스템 개발.한국전자거래학회지,26(1),93-106.

- 균열의 심각도를 산출하기 위해서는 균열의 유형과 이미지 속 균열의 부위가 함께 파악되어야 한다. 본 연구에서는 균열 유형과 균열 부위의 동시적 탐지를 효과적으로 자동화하기 위해 딥러닝 기반의 객체탐지 모델인 Mobilenet-SSD를 활용하는 방법을 다루고 있다. 균열탐지의 정확도를 개선하기 위해 U-Net을 활용해 입력 이미지를 자동 분할하고, 이를 객체탐지 기법과 결합하기 위한 여러 실험을 진행하여 그 결과를 정리하였다. 결과적으로 U-Net을 활용한 이미지 의 자동 마스킹을 통해 객체탐지의 성능을 mAP 값이 0.9315가 되도록 향상시킬 수 있었다.

  • 기술 로드맵

Image01.jpg

시장상황에 대한 분석

  • 경쟁제품 조사 비교

완전 합성곱 신경망(Fully Convolution Neural Network) 구조의 학습을 통한 포트홀 파손 부위를 분류하는 AI 학습 모델 – 한국건설기술연구원 도로교통연구본부 연구팀

- 적절한 학습용 데이터구축 위해 도로를 직접 주행, 촬영한 동영상에서 약 1만장의 노면 파손 이미지를 추출한 후, 라벨링 실시 및 5등분 해 서로 다른 학습 및 검증 데이터 셋 조합으로 5개의 AI 추론 모델을 완성했다. - AI 추론 모델의 성능을 평가하기 위한 지표로 IoU(Intersection over Union)를 주로 사용함. IoU는 추론 모델이 예측한 픽셀 영역과 이미지에서의 실제 파손이 점한 영역을 비교해 두 영역의 중첩 면적을 두 영역의 총면적으로 나눈 값이며, IoU가 1에 가까울수록 예측한 픽셀 영역이 실제 파손 영역과 일치한다는 의미를 지닌다. - 특히 실험용 테스트 데이터 기준으로 5개의 AI 학습 모델로 측정한 mIoU는 각각 0.722, 0.700, 0.725, 0.719, 0.724였으며 전체 모델의 평균 IoU는 0.718로 나타났다. - 도로 주행 중에 도로 관리자나 일반인이 쉽게 측정할 수 있는 휴대폰 애플리케이션과 각 단말에서 전송된 포트홀 발생 정보를 한눈에 파악하기 위한 지도기반 클라우드 서버 플랫폼으로 구성해 놓은 상태이다.

  • 마케팅 전략 제시

실시간으로 도로 파손에 대한 정보를 업데이트하는 기술을 통해 운전자와 관리자에게 데이터를 제공함으로써 사고 예방 및 관리의 효율을 개선하는 프로그램의 수요가 충분할 것으로 예상함.

개발과제의 기대효과

기술적 기대효과

1. 정량적이고 객관적인 도로 손상탐지 가능 : 사진과 영상 등 다양한 데이터를 활용하여 기존의 탐지 방법인 육안 관찰보다 더욱 정량적이고 객관적인 탐지가 가능하다.

2. 도로 파손 탐지와 보수에 들어가는 시간 및 비용 감소 : 기존의 인력을 투입한 수시 점검보다 탐지 시간과 인건비 등의 비용 절감 효과를 기대할 수 있다.

3. 본 프로젝트는 인공지능을 활용한 기술로, 도로 손상탐지뿐만 아닌 다양한 토목 분야에 적용할 수 있다.

4. 인공지능을 활용한 기술이므로 지속적인 학습과 개선을 할 수 있다

5. 객체탐지 모델을 Faster R CNN을 사용하여 기존 학습에 많이 쓰인 CNN 모델보다 정확도를 향상할 수 있다.

경제적, 사회적 기대 및 파급효과

1. 포트홀로 인한 피해보상 건수는 2015년 199건에서 2018년 877건으로 4.4배 급증했고, 같은 기간 피해보상 금액은 1억 5000만 원에서 6억 원으로 4배가 늘었다. 또한, 최근 5년간 1904건에 14억3000여만 원의 피해보상이 이뤄졌다. 포트홀로 인한 교통사고는 57건이 발생했다. 이에 우리 조는 국내 취급하고 있는 도로 결함의 종류 중 사고의 위험성과 도로관리 대상 중 순위가 높은 Pothole, Alligator Crack, Longitudinal Crack을 탐지할 예정이다. 또한, Faster R CNN 모델을 사용함으로써 인공지능이 가지는 정확도 문제를 해결함과 동시에 사용자의 편의성을 증가시킬 수 있다. 이를 통해 운전자의 사고를 예방하고 도로관리를 쉽게 함으로써 기존에 투입되던 사회적 비용을 감소시킬 수 있는 효과가 예상된다.

2. 안전한 도로환경 조성 및 사고에 의한 사회적 비용 감소 효과 기대 : 신속한 탐지 및 보수로 더욱 안전한 도로환경을 조성하고 도로 파손으로 인해 사고 처리 비용 및 사회적 손실 예방 효과를 기대할 수 있다.

기술개발 일정 및 추진체계

개발 일정

청량리동, 휘경동 일대에 도로 결함 Data Image 수집 (4월 30일) 사고의 위험성과 도로관리 우선도가 높은 결함 및 구조물 5가지 선정 뒤 이외의 손상 물은 Spalling으로 표현함, (총 900장의 학습 Data Image 수집)

pothole, alligator crack, Longitudinal crack, spalling, manhole, speed bump


- 라벨링 (ground truth) 진행 과정 CVAT(Computer Vision Annotation Tool)을 이용, B-box 형태의 annotation을 각각의 결함에 RGB 값을 다르게 적용하여 진행(4월 30일 ~ 5월 6일)

- 학습 진행 과정 augmentation 적용으로 데이터 수 보완

초기 hyper parameters 설정

학습 결과와 Loss 그래프를 확인 후 F1 Score 결과에 따라 추가 학습데이터 수집 및 학습 또는 예정

구성원 및 추진체계

서울시립대학교 토목공학과 2018860021 오지원(팀장)

서울시립대학교 토목공학과 2018860006 김석균

서울시립대학교 토목공학과 2018860007 김예지

서울시립대학교 토목공학과 2018860020 오승훈

서울시립대학교 토목공학과 2018860028 이준민

서울시립대학교 토목공학과 2018860036 조광래

설계

설계사양

제품의 요구사항

첫째, 결함에 대한 사진 데이터를 충분히 확보할 수 있는가? : D

둘째, 결함을 분류하는 딥러닝 모델을 구축하였는가? : D

셋째, 구축한 모델의 실용성이 충분한가? : D

넷째, 결함의 종류에 대한 분류가 적절한가? : W

다섯째, 탐지의 정확도가 기준에 도달하였는가? : W

여섯째, 다른 환경의 도로에도 적용이 가능한가? : W

설계 사양

Image02.jpg

개념설계안

Image03.jpg

이론적 계산 및 시뮬레이션

◇ MM dectection 공개소스 라이브러리 사용

MM dectection은 pytorch 기반의 object detection 공개소스 라이브러리이다. 전체 프레임워크를 모듈 단위로 분리해 관리할 수 있다는 것이 가장 큰 특징이다. 학습을 위해서는 ‘config’ 파일이 필요하다. config 파일은 model, datasets, schedules, runtime으로 구성된다. 이중 dataset은 customdataset, model은 faster r cnn으로 구성하였다. 4가지를 토대로 학습을 진행했고, 진행한 학습 결과를 바탕으로 ‘visualize’을 실시하였다.

1. dataset

'config'을 구성하는 첫 번째 dataset 같은 경우 customize를 진행하였다. 이미지 같은 경우 train 400장, test 40장으로 구성하였고 annotation 자리에는 라벨링 한 COCO dataset이 사용되었다. 이후 class 같은 경우 기존에 정의하였던 class가 사용되었다 (pothole, alligator crack, longitudinal crack, speed bump, manhole, spalling) 또한 이미지의 scale을 (1380, 800)으로 resize를 적용하였다.


2. faster RCNN, schedule 계산과정 model은 faster RCNN이 사용되었으며 위의 이론적 설명과 같은 format으로 구성되었다. backbone은 Resnet 50이라는 CNN, Neck에는 FPN, head는 RPN으로 구성되어 있다. 또한, customizing dataset을 사용하였기 때문에 B box 조정이 필요하고, 학습시킬 class에 맞춰서 Num_class를 6개로 다시 정의하였다. schedule에는 epoch, batch size 등 학습에 필요한 초기 설정값 즉 hyperparameter 값들이 들어간다. batch size는 16, epoch은 40번, learning rate는 0.02로 설정하였다. 이미지 데이터 셋 학습 시 데이터 셋은 400개를 16개 묶음 단위로 학습이 진행되며 이 전체를 학습하면 1 epoch이며 epoch 40은 이 전체를 40번 학습하게 된다.

3. visualize 과정

visualize는 MM detection이 제공해주는 tool을 사용하였는데 이는 학습시킨 데이터 셋을 가지고 실제 테스트 베드에 적용한 과정이다. checkpoint file과 config file이 들어가게 되면 checkpoint file 같은 경우 학습시킨 결과물 epoch40.pth, config file은 위에서 구성한 4가지 파일이 들어간다. 또한, pre_socre은 0.4 이상으로 진행하였으며 학습시킨 결과물과 40% 이상 같다는 의미이다.

◇ 파손 데이터 매핑

1. 구글 Map Platform 구글 Map API를 이용해 도로 파손 및 구조물의 Class와 GPS 정보를 지도상에 표시할 계획이다.

지도 공유 및 정보 공유 서비스 제공자 중 서울시 지도 API, Kakao Map API, 구글 Map API 중 구글을 후보로 선정, 한국 지도 업데이트가 잘 이뤄지며, IOS, Android, Web 개발을 모두 지원해 범용성이 큰 구글 Map Platform을 최종적으로 이용하기로 했다.

2. HTML 코드

초기 프로토타입 제작 시 Android, IOS 플랫폼을 가진 사용자들이 모두 이용 가능한 Web 상에서 결과를 표시하기로 했고, 이를 위해 HTML-CSS를 이용해 VISUAL Studio를 이용해 코딩했다.

HTML은 원래 문서를 적거나 보관하기 위해 만들어진 언어이다. 그러므로 제목, 본문, 문단의 개념에 가까운 코딩이 진행된다. Prototype을 위해 작성된 코드는 구글 맵 API를 Script 형태로 가져와 마지막 <script>항목과 같이 사용자마다 부여되는 키를 적용해 가져온다. 이를 통해 사용자마다 각각 필요한 지도의 구성과 형태를 선택할 수 있다. <body>항목에서는 우리가 만들 지도와 지도에 대한 정보를 표시할 창, 비교할 지도에 대한 항목, 그리고 구간마다 데이터에 쓰일 사진을 나타내는 코드를 넣을 예정이다. 현재 GPS 센서가 배송이 지연되어 지점에 대한 GPS 값을 넣을 <const locations> 항목에 위도, 경도 항목을 학교 내 임의의 지점에 가정해 여러 Class의 마커가 생성시키는 코드를 시험적으로 작성했고, 추후 GPS 장치를 얻은 뒤 원활한 업데이트가 이뤄지도록 할 예정이다.

상세설계 내용

- 학습데이터 수집방안

청량리동, 휘경동 일대에 도로 결함 Data Image 수집 (4월 30일) 사고의 위험성과 도로관리 우선도가 높은 결함 및 구조물 5가지 선정 뒤 이외의 손상 물은 Spalling으로 표현함, (총 900장의 학습 Data Image 수집)

pothole, alligator crack, Longitudinal crack, spalling, manhole, speed bump


- 라벨링 (ground truth) 진행 과정 CVAT(Computer Vision Annotation Tool)을 이용, B-box 형태의 annotation을 각각의 결함에 RGB 값을 다르게 적용하여 진행(4월 30일 ~ 5월 6일)


  • CVAT 학습데이터 제작
  • 학습데이터 사진 및 각 class 별 색상


- 학습 진행 과정

augmentation 적용으로 데이터 수 보완

초기 hyper parameters 설정

학습 결과와 Loss 그래프를 확인 후 F1 Score 결과에 따라 추가 학습데이터 수집 및 학습 또는 예정


<faster r cnn>

faster r cnn은 기본적으로 2-stage 방식을 사용한다. 2-stage 방식은 이미지로부터 특징을 추출한 후 B-box가 생길만한 ROI(region of interest)를 제안하고 Classification과 B box regression이 진행되는 구조이다. 이는 객체의 위치를 먼저 찾고 객체가 무엇인지 분류하기 때문에 1-stage 방식보다 정확도는 높지만, 속도는 느리다는 장단점이 있다. 여기서, faster r cnn 은 기존의 fast r cnn 와 같이 특징을 추출하고 ROI pooling 그 후 multi task learning을 통해 분류와 회귀를 동시에 진행되는 구조는 같지만, ROI를 추출하는 과정을 selective search 알고리즘을 이용하지 않고 RPN Network를 공유함으로써 속도의 단점을 보완하였다.


- 적용되는 Faster r cnn 원리

<적용되는 구조>

① 4000*6000~3000*4000 Pixel의 이미지 수집(아이폰 13과 갤럭시 S21 이용)

② RPN의 base 단계

1. input 이미지의 크기를 컴퓨터 사양을 고려하여 1000*1500 이미지로 Resize (이미지 왜곡으로 인한 학습효과 저하를 최소화하기 위해 원본 이미지와 유사한 비율 적용 예정) 2. 이미지를 CNN 모델 (Resnet 50)에 통과=>특징 추출 (Feature map 형성) 3. Feature map에 sliding window와 padding을 적용 후, 같은 크기의 feature map 형성 형성된 feature map에서는 각 픽셀의 지역적 특성이 축약된다.

③ anchor 형성

1. 형성된 feature map에서 중앙 픽셀을 기준으로 K개의 bounding boxes(anchor boxes)를 생성하여 input 이미지에 투사 (scale: (128,256,512), ratio: (1:1, 1:2, 2:1))

총 anchor box : 3*3*feature map의 크기

regression은 B box의 4 좌표에 대한 예측, Classification은 물체에 대한 분류를 수행

2. ground truth(실제 Labelling 이미지)와 anchor boxes IoU를 계산하여 벡터 P, N, InV(objectness)를 형성. 형성된 벡터 중 Positive에 해당하는 벡터만으로 해당 좌표를 표시 (B box offset) (0.7 이상 P, 0.3 이하 N, 0.3~0.7: invalid (학습에 쓰이지 않음->이미지 경계에서 벗어남))

④ prediction network 형성 1. sliding window를 거친 feature map에서 1*1 convolution kernel을 적용하여 regression과 classification을 수행 2. feature map의 모든 위치에 대하여 classification과 B box regression 예측 목적의 벡터 생성

<prediction network 구조>

⑤ RPN학습 1. anchor별로 9개를 예측한 결과 (prediction network)와 anchor boxes로 생성된 벡터를 통해 RPN학습

<RPN 학습> ⑥ classification과 regression 수행 1. 학습된 RPN에서 도출된 proposal을 바탕으로 Fast R CNN에서 Classifcation & regression 수행

-지도에 결함 표시 Faster R CNN을 사용해 학습된 데이터를 바탕으로 실시간 결함 탐지 진행. 웹캠과 GPS를 이동수단에 부착하고 서울시립대학교 교내에서 test 진행. 사용자는 결함의 종류와 위치를 실시간으로 확인. 종료 지점에서는 히스토그램 분포를 통해 구간 당 (ex 100m당) 결함의 종류와 개수 확인 가능.

<평가 metric> 1. Recall, precision, f1 score

True Positive (TP): 결함이 있는 이미지를 결함 있다고 잘 판별 True Negative (TN): 결함이 없는 이미지를 결함이 없다고 잘 판별 False Positive (FP): 결함이 없는 이미지를 결함이 없다고 잘못 판별 False Negative (FN): 결함이 있는 이미지를 결함이 없다고 잘못 판별

F1 Score: precision과 Recall이 가장 높은 F1 점수를 제공하는 최적의 신뢰도 점수의 임계값을 도출한다. F1 점수는 정밀도와 재현율 간의 균형을 계산한다. F1 점수가 높으면 정밀도와 재현율이 높다. 이에 프로젝트 목표는 F1 score 90% 이상이다.

결과 및 평가

완료 작품의 소개

프로토타입 사진 혹은 작동 장면

완성된 작품은 코드를 실행시킨 후 ‘도로 돌려조’ 버튼을 누르면 이미지 촬영이 된다. 이후 촬영된 이미지에 학습된 데이터가 적용되고 위도와 경도를 입력하게 된다. 이렇게 원하는 이미지를 촬영한 후, ‘q’를 누르면 이미지에 해당하는 좌표가 지도에 아이콘으로 표시된다. 아이콘을 누르면 해당하는 이미지를 확인할 수 있다.

Image05.jpg

포스터

61포스터.jpg

향후계획

더 좋은 화질의 촬영장치를 이용해 선명한 데이터를 수집하고 더 많은 양의 학습 데이터를 확보해 차량 등의 비교적 빠른 속도의 이동수단에서도 탐지가 가능하며 더 넓은 범위의 도로를 탐지할 수 있도록 발전시킬 예정. 매핑결과를 담은 도메인을 이용해 홈페이지를 개설하여 더 많은 사람들이 손상정보를 열람할 수 있도록 할 예정