노이제로

env wiki
2023adenv2 (토론 | 기여)님의 2023년 6월 15일 (목) 02:55 판 (기술개발 과제)
이동: 둘러보기, 검색

프로젝트 개요

기술개발 과제

국문 : 딥러닝을 이용한 교통사고음 감지 모델 개발

영문 : Development of traffic accident noise model using deep learning

과제 팀명

노이제로

지도교수

박승부 교수님

개발기간

2022년 3월 ~ 2022년 6월 (총 4개월)

구성원 소개

서울시립대학교 환경공학부 20188900** 김*종(팀장)

서울시립대학교 환경공학부 20208900** 김*민

서울시립대학교 환경공학부 20178900** 서*범

서론

개발 과제의 개요

개발 과제 요약

  • 뺑소니 사고 발견 지연을 방지하기 위한 교통사고 소음 감지 모델 개발.

개발 과제의 배경

  • 교통사고 발견 지연으로 인한 피해는 사회적으로 심각한 문제임.
  • 특히 [표 1]과 같이 심야 시간대(02~06시)의 교통사고 건수는 상대적으로 적으나, 높은 치사율이 나타남.
  • 이는 인적이 드문 시간대의 지연된 사고발견이 원인으로 판단됨.
  • 기존의 CCTV, 신고접수 방법은 신속한 감지 및 대응이 어려움
  • 경찰청 자료에 따른 2021년 뺑소니 사고 건수는 7,492건으로 교통사고 감지 기술 개선의 필요성을 시사함.
[표 1] 2021년 시간대별 교통사고 통계(최석훈 외, 2022)

개발 과제의 목표 및 내용

  • 딥러닝을 이용한 교통사고 소음 감지 모델을 개발하여 교통사고 감지 시간을 단축하고, 인명피해 및 추가 피해를 방지.
  • 교통사고 소음 데이터를 수집한 후, 이를 스펙트로그램(Spectrogram) 전처리를 통해 음향데이터 시각화.
  • 시각화 한 데이터의 특징을 합성곱 신경망(CNN, Convolutional Neural Network) 모델에 학습.
  • 이후 개발된 모델 상용화를 위한 교통사고 소음 감지 모델 설계.

경쟁력 분석

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

1. 차량 간 통신(V2V) 기술

  • 차량에 장착된 무선 통신 장치를 사용하여 서로 위치, 속도, 주행경로, 사고 발생 여부 등의 교통상황 정보를 공유하는 기술.

2. CCTV와 인공지능(AI) 기술

  • CCTV와 인공지능 기술을 결합하여 교통사고를 감지하는 시스템 개발.
  • CCTV의 영상정보를 실시간으로 수집하고, 인공지능 알고리즘을 활용하여 영상 데이터를 분석하고 판단하는 방식으로 작동.
  • 교통상황을 감지하여 사고 발생 가능성을 예측함으로써 사고발생 저감 및 교통안전 강화.

특허 조사 및 특허 전략 분석

1. 관련 특허 조사

[표 2] 개발과제 관련 특허

2. 특허 전략 분석

  • 도로교통소음에 특화된 딥러닝 기반 음향 사건 탐지 시스템을 구축하여 기존 특허와 차별성을 둠.
  • 도로교통소음에 적합하도록 자동차 경적, 브레이크 소음 등 예상 설치 장소인 외진 도로에서 발생할 수 있는 소음(야생동물의 울음소리 등)을 분별 소음으로 입력하여 감지시스템의 정확도 향상.
  • 상용화 시, 옥외용 마이크로폰과 결합한 시스템을 개발함으로써 실시간으로 수집한 데이터를 개발 시스템에 자동 입력하여 경보를 울려 사고발견 지연을 예방

3. 기술로드맵

[그림 1] 기술로드맵

관련 시장에 대한 분석

1. 경쟁제품 조사 및 비교: e-Call

  • 개요: '인공지능 기반의 교통사고 감지 시스템 적용 사례 분석' 논문에서 e-Call이라고 불리는 차량 긴급구조체계 서비스에 사용될 수 있는 여러가지 감지 시스템을 리뷰함.
  1. 차량 충돌 시 발생하는 충격으로 감지하는 시스템
  2. 차량 블랙박스 영상을 이용한 사고 감지 시스템
  • 동향: EU는 교통사고의 인명피해를 최소화하기 위해 2018년 4월 이후 출시되는 모든 신차에 e-Call 장착을 의무화한다고 밝힘. 비슷한 시스템으로는 러시아의 ERA-GLONASS로 해당 시스템도 2017년부터 의무화되었음.
  • 문제점
  1. 기존 차량 및 중고차를 사용하는 소비자들은 과도한 설치비용 부담
  2. e-Call 시스템으로 인해 개인정보 노출 가능성 존재
  3. 교통사고 시 차량 내부 기기 결함으로 인한 미작동 가능성 존재
  • 개발 과제의 이점
  1. 차량의 사고에 따른 오작동 방지
  2. 차량의 성능과 무관하여 자동차 생산일자에 따른 성능차 없음

2. 마케팅 전략

  • SWOT 분석: 본 개발 과제의 SWOT 분석을 통해 내외부적 강점과 약점을 파악하고 마케팅 전략을 수립.
[그림 2] 개발과제의 SWOT 분석
[그림 3] SWOT 분석에 따른 마케팅 전략

개발과제의 기대효과

1. 기술적 기대효과

  • 정확한 교통사고 소음 분류: CNN은 이미지 처리 분야에서 강력한 성능을 발휘하는 딥러닝 모델이다. 오디오 신호를 시간-주파수 영역으로 변환하고 해당 영역에서 패턴을 학습하여 교통사고 소음을 정확하게 분류할 수 있다.
  • 실시간 처리: 교통사고는 신속한 대처가 필요한 상황으로, CNN 모델은 GPU를 이용하여 고속으로 연산을 수행할 수 있으며, 이를 활용하여 교통사고 소음을 실시간으로 처리할 수 있다.
  • 다양한 활용분야: 교통사고 소음 분류 모델은 교통사고 예방 및 처리 뿐만 아니라 다양한 분야에서 활용할 수 있다. 예를 들어, 도로 건설 시 교통사고 소음을 예측하여 방음벽 설계에 활용하거나, 도시계획 시 교통량과 교통사고 소음의 관계를 파악하여 도시환경 개선에 활용할 수 있다.

2. 경제적 및 사회적 파급효과

기존의 교통정보용 CCTV는 한 장소에 설치할 때 카메라를 포함하여 1억 2000만 원의 비용이 소요된다.(기호일보, 2009) 반면에 교통사고 소음 감지 모델은 마이크 가격과 설치 비용을 고려했을 때 약 300만 원 미만의 비용이 소요될 것으로 추정된다.(ROGA Instruments,n.d.)
특히 기존의 교통정보용 CCTV와 교통사고 소음 감지 모델을 함께 사용할 때 파급효과가 클 것으로 예상된다. 300만원 미만의 비용을 추가 투자하는 것으로 교통사고 감지율을 크게 향상시킬 수 있다.

경제성 분석

1. 생명가치 산출

 본 과제 개발을 통해 얻을 수 있는 이익은 인간의 생명이다. 따라서 생명가치를 산출하여 후생 증가액을 산정하고자 한다. 진술선호법을 이용한 사전연구에 따르면, 교통사고 사망에 대한 통계적 인간생명가치는 평균 69억 8,000만 원 정도이다(원두환, 2020). 2021년 뺑소니 사망자는 98명으로 교통사고 소음 감지 모델을 도입하여 모든 뺑소니 사망사고를 예방했다고 가정했을 때, 이는 6,840억 4,000만 원으로 환산할 수 있다. 뺑소니 이외의 교통사고 감지 지연으로 발생한 사망자 수를 추가해 계산한다면, 사회적으로 대략 1조 이상의 후생 증가가 이루어질 수 있다.

2. 비용 편익 분석(B/C ratio)

  • 편익(Benefit)
본 과제 개발을 통해 얻을 수 있는 이익은 ‘인간의 생명’이므로 앞서 산출한 생명가치를 이용하여 비용편익분석을 실시하였다. 이때 뺑소니 사고가 가장 많이 발생한 ‘경기도’를 시범지역으로 선정하였고, 마이크로폰의 설치간격은 절대적인 기준이 부재하므로 경기도의 2023년 기준 교통단속 및 교통정보 수집용 CCTV 옆에 설치하는 것으로 가정하였다. 이는 CCTV의 사각지대라는 단점을 보완하고 전국에 도입하기 전에 구축된 모델의 분류 정확도를 확인하여 성능을 검증하기 위해 가정한 요소이다.
앞서 진술선호법을 통해 산출된 1명에 대한 통계적 인간생명가치는 69억8천만원이며 경찰청 통계에 따라 2021년 경기도 뺑소니 사망자 수는 18명으로 ‘노이제로 시스템’ 도입을 통해 얻을 수 있는 총편익(B)은 약 1,256억4천만원이다.
  • 총 편익(B) = 6,980,000,000원/1명 * 18명 = 125,640,000,000원
[수식 1] B/C ratio 산정 식
  • 비용(Cost)
반면, 마이크로폰 1대당 가격은 선정한 ‘MP40’ 마이크로폰 모델 가격 150만원에 1대당 설치비용 50만원을 추가하여 1대당 총비용을 200만원으로 가정하였다. 마이크로폰의 설치주기를 구하기 함에 앞서 마이크로폰의 설치주기는 수음성능과 관련있다. 이때, 마이크로폰의 수음성능은 모델마다 상이하여 객관적인 수음성능지표가 제시되어있지 않다. 그러나 일반적인 옥외용 마이크로폰의 경우 수백m에서 수km의 수음성능을 갖는 것으로 알려져 있기 때문에 본 설계에서 마이크로폰의 수음거리를 500m로 가정하여 계산하였다.
2023년 기준 경기도 CCTV의 대수는 총 4,147대이며 국토교통부에 따른 2022년 기준 경기도 도로연장길이는 14,813km로 CCTV 1대당 이격거리는 3.57km/대임을 알 수 있다.
CCTV 1대당 이격거리
이때, 마이크로폰의 수음거리는 500m로 가정하였으므로 CCTV 1대당 마이크로폰 7대를 설치하는 것과 같다.
CCTV 1대당 마이크로폰 7대
따라서 설치할 마이크로폰의 개수는 CCTV 개수인 4,147대에 7배한 29,029대로 설정하였다. 총비용을 산출한 결과는 580억5천8백만원이다.
Cost 계산
  • 경제성 분석 결과
B/C 분석 결과
최종적으로 B/C 분석을 실시하면 B/C 비율이 2.16으로 1을 초과하기 때문에 개발 과제의 경제적 타당성이 충분한 것으로 판단된다.

기술개발 일정 및 추진체계

개발 일정

개발일정.jpg

구성원 및 추진체계

  • 서*범: 유튜브 교통사고 소음 데이터 수집, 분별해야 할 유사소음(고라니 울음소리, 도로교통 소음, 항공기 소음 등) 데이터 수집 및 전처리
  • 김*종: 효과음 플랫폼의 데이터 수집 및 전처리, CNN 기반 모델 개발, 시뮬레이션
  • 김*민: 데이터 이미지화(Spectrogram) 및 데이터 가공, CNN 기반 모델 개발, 시뮬레이션

설계

제품 요구사항

  • 요구사항
[표 3] 설계 요구사항
  • QFD(Quality Function Deployment)
  • 고객 요구사항과 기술 요구사항 간 상관관계를 나타냄
[그림 4] QFD 분석

개념설계안

설계사양

[표 4] 설계사양

시스템 운영

  1. 딥러닝을 이용한 IoT 기반의 사고 감지 시스템
  • 설계 시스템 개요
[그림 5] 설계 시스템 개요
  • 목적계통도
[그림 6] 목적계통도
교통사고 소음의 효율적인 관리를 위해 설계 시스템은 위 그림과 같이 구성된다. 사고 감지 시스템에 IoT 기술을 적용하여 옥외용 마이크로폰을 통해 교통소음을 수집하고, 수신기를 통해 중앙관리시스템인 ‘노이제로 시스템’과 연결하여 정보통신의 용이성을 얻는다.
중앙관리시스템인 ‘노이제로 시스템’에 수집되는 정보에는 일반적인 도로교통소음이 해당된다. ‘노이제로 시스템’에는 본 설계에서 구축될 딥러닝 기반의 사고 소음 감지 모델이 적용될 예정이며, 해당 시스템은 도로교통 소음 중 교통사고 소음만을 선별하여 사고 발생 시 교통정보센터에 알림을 보낸다. 이후 교통정보센터에서 데이터를 발신한 수신기의 위치를 확인하여 사고 위치를 정확히 파악하고 긴급 구조대에 긴급 구조요청을 보내 사고에 신속히 대응할 수 있도록 한다. 만약 해당 위치에 인접한 CCTV가 있는 경우에는, CCTV 수동 조작을 통해 사고의 진위여부를 재확인하는 과정을 거쳐 정확도를 높일 수 있다.

모델 시연 모식도

[그림 7] 시연용 모델 개요
교통사고 소음 감지 모델이 효과적으로 작동하기 위해서는 교통사고 소음과 일반 도로교통 소음을 구별하는 기능이 가장 우선적이다. 따라서 개념설계안에서는 본 기능이 올바르게 작동하는 것을 명시적으로 나타내는 프로그램 설계를 목표로 하였다.
교통사고 소음은 충돌음으로 설정하였으며, 도로교통 소음은 충돌음과 혼동될 가능성이 있는 브레이크음, 고라니음, 항공기음으로 설정하였다. CNN상에 소리 파일(wav, mp4 등)을 입력했을 때 충돌음의 경우에는 “충돌음입니다” 텍스트를 출력한 뒤에 경보음 파일을 실행한다. 브레이크음, 고라니음, 항공기음의 경우에는 “충돌음이 아닙니다.” 텍스트를 출력한다. 이를 통해 충돌음, 브레이크음, 고라니음, 항공기음의 4가지 유형의 소음 중 충돌음을 선택적으로 구별한다.

상세설계

소프트웨어 설계

  • 소프트웨어 설계는 두 가지 모델의 성능 검증 실시
  • Method 1: 제작 CNN 모델
  • Method 2: 구글넷 특징을 활용한 CNN 모델
[그림 8] Method 1 및 Method 2의 알고리즘 Flow Chart

1. 입력 데이터셋 및 전처리

  • 입력데이터셋
입력 데이터는 충돌음 이외에도 도로에서 발생할 수 있는 분별 소음인 브레이크 소음, 고라니 울음소리, 항공기 소음을 데이터셋으로 구성하였다. 이때 충돌음의 개수가 부족하여 데이터 증강 기법(Data Augmentation)으로 충돌음의 개수를 153개로 늘렸다. 따라서 전체 데이터셋의 개수는 564개이다.
[표 5] Data set
  • 음향데이터 변환 및 전처리
[그림 9] wav 파일 형태의 음향 데이터를 스펙트로그램 이미지로 변환한 코드
각 소음별로 수집한 전체 음향 데이터를 CNN의 입력값으로 사용하기 위해 전처리 과정을 나타냈다. wav 파일 형태의 음향 데이터를 스펙트로그램 이미지로 변환하였다. 이때 신호처리에 사용된 것은 주파수 성분의 구성만을 확인할 수 있는 ‘고속 푸리에 변환(FFT, Fast Fourier Transform)’의 단점을 극복하고, 시간에 따라 특성이 변하는 신호 분석에 용이한 ‘국소 푸리에 변환(STFT, Short Time Fourier Transform)’을 선택하였다. 최종적으로 변환된 STFT 스펙트로그램은 해당 소음원 파일에 저장하였다. 각 소음에 따른 스펙트로그램 이미지는 다음과 같다.
[그림 10] 변환된 스펙트로그램 이미지

2. Method 1: 자체 제작한 CNN 모델의 구조 및 성능

  • CNN 모델 구성
본 과제에서 설계한 CNN 모델의 구성, 구조 및 코드는 다음과 같다.
[표 6] 학습 옵션
[표 7] CNN의 하이퍼파라미터
[그림 11] 자체제작 CNN모델의 구조
  • 전처리를 마친 데이터를 활용한 분류 모델 구성
각 소음에 대한 음향 데이터를 STFT 스펙트로그램 이미지로 변환하는 전처리 이후, 전처리를 마친 스펙트로그램 이미지를 입력값으로 설정하였다.
[그림 12] 과적합 방지 및 비선형적 학습을 위한 셔플링과정 코드
[그림 13] Train set과 Test set으로 분할 코드
[그림 14] 선정한 CNN 하이퍼파라미터에 따른 모델 구성 코드
[그림 15] 구축한 모델 저장
[그림 16] 100번의 Epoch에 따른 자체 제작 모델의 검증손실 및 검증정확도 변동그래프
[표 8] 최적의 Epoch와 해당 Epoch의 검증손실 및 검증정확도
100 Epoch에 따라 검증손실 및 검증정확도 변동을 나타낸 그래프를 보면 50 이상의 Epoch에서 검증손실이 증가하였는데, 이는 과적합으로 판단할 수 있다. 따라서 Epoch를 50으로 수정한 모델에서 50 Epoch에서 최적의 성능을 보였으며, 이때 검증 손실은 0.0403, 검증정확도는 0.9908이다.
  • 모델 성능 평가 이론
코드에 구성된 Accuracy 이외에 분류 모델의 추가적인 성능 평가를 진행했다. 분류 모델(Classifier) 평가 시에는 주로 Confusion Matrix를 기반으로 측정한다. 이때 추가로 사용된 성능평가지표는 Precision, Recall, F1 Score이다. 모든 성능평가지표들은 0~1사이 값을 가지며, 1에 가까울수록 좋다.

(1) Confusion Matrix(혼동 행렬, 오차 행렬)

다음 표는 분류 모델의 성능을 측정하는 데 자주 사용되는 표로 모델이 두 개의 클래스를 헷갈려하는 정도를 알 수 있다.
[표 9] Confusion Matrix 분류 표

- T(True): 예측한 것이 정답 - F(False): 예측한 것이 오답 - P(Positive): 모델이 positive라고 예측 - N(Negative): 모델이 negative라고 예측 - TP(True Positive): 모델이 positive라고 예측했는데 실제로 정답이 positive (정답) - TN(False Negative): 모델이 negative라고 예측했는데 실제로 정답이 negative (정답) - FP(False Positive): 모델이 positive라고 예측했는데 실제로 정답이 negative (오답) - FN(False Negative): 모델이 negative라고 예측했는데 실제로 정답이 positive (오답)

(2) Accuracy(정확도)

본 지표는 모델이 전체 문제 중에서 정답을 맞춘 비율을 의미한다. 이때 positive:negative=9:1인 경우와 같이 데이터가 불균형할 때 Accuracy만으로는 제대로 분류했는지 알 수 없기 때문에 Recall과 Precision을 사용한다.
섬네일을 만드는 중 오류 발생: convert: ../../magick/semaphore.c:346: LockSemaphoreInfo: assertion `semaphore_info != (SemaphoreInfo *) NULL' 실패.
/usr/bin/timeout: the monitored command dumped core
/var/www/capstone/env/includes/limit.sh: line 101: 23361 중지됨 /usr/bin/timeout $MW_WALL_CLOCK_LIMIT /bin/bash -c "$1" 3>&-

Error code: 134
[수식 2] Accuracy 산출식

(3) Precision(정밀도)

본 지표는 모델이 Positive라고 예측한 것들 중에서 실제로 정답이 positive인 비율을 의미한다. 실제 정답이 negative인 데이터를 positive라고 예측하면 안 되는 경우 중요한 지표가 된다. Precision을 높이기 위해서는 FP(False Positive)를 낮추는 것이 중요하다.
섬네일을 만드는 중 오류 발생: convert: ../../magick/semaphore.c:346: LockSemaphoreInfo: assertion `semaphore_info != (SemaphoreInfo *) NULL' 실패.
/usr/bin/timeout: the monitored command dumped core
/var/www/capstone/env/includes/limit.sh: line 101: 23370 중지됨 /usr/bin/timeout $MW_WALL_CLOCK_LIMIT /bin/bash -c "$1" 3>&-

Error code: 134
[수식 3] Precision 산출식

(4) Recall(재현율)

본 지표는 실제로 정답이 positive인 것들 중에서 모델이 positive라고 예측한 비율을 의미한다. 실제 정답이 positive인 데이터를 negative라고 잘못 예측하면 안 되는 경우에 중요한 지표가 된다. Recall을 높이기 위해서는 FN(False Negative)을 낮추는 것이 중요하다.
섬네일을 만드는 중 오류 발생: convert: ../../magick/semaphore.c:346: LockSemaphoreInfo: assertion `semaphore_info != (SemaphoreInfo *) NULL' 실패.
/usr/bin/timeout: the monitored command dumped core
/var/www/capstone/env/includes/limit.sh: line 101: 23379 중지됨 /usr/bin/timeout $MW_WALL_CLOCK_LIMIT /bin/bash -c "$1" 3>&-

Error code: 134
[수식 4] Recall 산출식

(5) F1 Score

본 지표는 Recall과 Precision의 조화평균으로, Recall과 Precision은 상호 보완적인 평가지표이기 때문에 주로 F1 Score를 사용한다. Precision과 Recall이 한 쪽으로 치우쳐지지 않고 모두 클 때 큰 값을 가진다.
섬네일을 만드는 중 오류 발생: convert: ../../magick/semaphore.c:346: LockSemaphoreInfo: assertion `semaphore_info != (SemaphoreInfo *) NULL' 실패.
/usr/bin/timeout: the monitored command dumped core
/var/www/capstone/env/includes/limit.sh: line 101: 23388 중지됨 /usr/bin/timeout $MW_WALL_CLOCK_LIMIT /bin/bash -c "$1" 3>&-

Error code: 134
[수식 5] F1 Score 산출식
  • 모델 성능 평가 결과
각 성능평가지표를 도출한 결과는 다음 표와 같다. 성능평가지표의 값들이 1에 가깝기 때문에 설계한 모델의 분류 성능이 뛰어남을 확인할 수 있으며, 본 과제에서 요구한 설계사양 중 하나인 모델의 정확도가 80%이상으로 평가기준을 충족하였다.
[표 10] 자체 제작 모델의 성능평가지표별 결과값

3. Method 2: 구글넷(GoogLeNet)의 구조 및 성능

  • 구글넷(GoogLeNet)
2014년 ImageNet에서 개최된 ILSVRC14(ImageNet Large-Scale Visual Recognition Challenge 2014)에서 우승한 인공신경망인 구글넷(GooGLeNet)을 해당 연구에 적용하여, 자체제작 모델과 성능 비교를 진행하였다. 단, 구글넷은 매우 복잡하고 긴 연산 구조를 가진 모델로, 구글넷의 전체 구성을 사용하는 것은 모델의 총 연산 소요 시간이 길며, 높은 메모리(RAM)를 필요로 하는 등의 단점이 존재한다. 그러므로 해당 모델의 특성을 유지하나 간소화한 형태로 사용하였다.
  • 구글넷 구성
[표 8] 구글넷 학습 옵션
[표 11] 구글넷의 하이퍼파라미터
[그림 17] 구글넷의 일부 구조
  • 구글넷의 주요 특성인 인셉션 모듈
[그림 18] 구글넷의 인셉션 모듈
[그림 19] 인셉션 모듈 이후 구성 코드
[그림 20] 100번의 Epoch에 따른 구글넷의 검증손실 및 검증정확도 변동 그래프
[표 12] 구글넷의 최적 Epoch와 해당 Epoch에서 검증손실 및 검증정확도
  • 모델 성능 평가
앞선 모델과 동일하게 성능평가지표 Precision, Recall, F1 Score를 도출하였다.
[표 13] 구글넷 모델의 성능평가지표별 결과값

4. 자체제작 모델과 구글넷의 성능 비교 및 최종 모델 선정

자체제작 모델과 구글넷의 성능 비교 결과, 네 가지의 성능지표 모두 구글넷이 우세한 것을 확인하였다. 이에 본 과제의 최종 모델을 구글넷으로 선정하였다.
파일:Method 1 표 6 자체제작모델의 성능평가지표별 결과값.jpg
[표 14] 자체 제작 모델의 성능평가지표별 결과값
[표 15] 구글넷 모델의 성능평가지표별 결과값

시뮬레이션

1. 새로운 데이터 입력 시 모델의 정확성 검증

구축된 CNN 모델 시뮬레이션을 위해 새로운 충돌음을 입력하였다.
[그림 17] 새로운 충돌음을 입력한 코드
[그림 18] 올바른 결과가 도출됨을 확인
충돌음, 브레이크음, 고라니음, 항공기음의 4가지 유형의 소음 중 충돌음을 선택적으로 구별하는 것이 본 알고리즘의 목표이다. CNN상에 소리 파일(wav, mp4 등)을 입력했을 때 충돌음의 경우에는 “충돌음입니다” 텍스트를 출력한 뒤에 경보음 파일을 실행한다. 브레이크음, 고라니음, 항공기음의 경우에는 “충돌음이 아닙니다.” 텍스트를 출력한다.

2. 검증 모델을 이용한 경보 시스템 설계

앞서 성능검증을 거친 모델을 활용하여 실제 상황을 가정한 경보음 작동 시뮬레이션을 실시하였다. 실제 충돌음 발생했을 때 교통상황실에 울리게 될 알림은 사이렌 경보음과 빨간색 점멸 LED 5회의 깜빡임이다. 따라서 아두이노를 이용하여 빨간색 LED와 경보음이 동시에 발동하도록 설계하였다.
  • 아두이노 회로 설계
아두이노 회로 설계시 사용된 재료는 아두이노 우노보드, 브레드보드(빵판), 빨간색 LED 램프, 220Ω 저항, 수수점퍼선 2개, USB 케이블이다.
[표 14] 아두이노 회로 설계 재료
위의 재료를 사용하여 아두이노 LED 점등 회로를 구성하였다. LED는 두 개의 리드선 중 긴쪽이 +에 해당하므로 브레드보드 A열의 12번과 13번에 –핀과 +핀을 각각 연결한다. 일반적인 LED의 경우 구동전압이 1.5~2V인데, 아두이노 우노에서 사용하는 전압은 5V이므로 LED를 구동하기 위한 전압으로 낮추기 위해서 저항을 병렬로 연결한다. 이때 병렬저항은 220Ω이 사용되었으며 저항은 브레드보드 C열의 8번과 12번에 핀을 연결하였다. 이후 하나의 수수점퍼선을 이용하여 우노보드의 GND와 브레드보드 A열 8번을 연결하고, 나머지 수수점퍼선을 우노보드의 디지털IO 13번과 브레드보드 A열 13번을 연결하여 회로를 설계하였다.
[그림 19] 아두이노 회로 설계
  • 파이썬 구성 코드
먼저 Python과 아두이노 간의 통신을 위해 ‘pip install pyserial’ 명령을 사용하여 pySerial 라이브러리를 설치하였다. 시뮬레이션을 위한 파이썬 코드 작성에는 ‘Visual Studio Code(VS code)’를 활용하였으며 구성한 코드는 다음과 같다.
[그림 20] 입력 데이터가 충돌음일 때, 울리게 될 경보음 파일 로드
[그림 21] 입력 소음데이터의 스펙트로그램 전처리 후 모델로 데이터 입력 코드
[그림 22] 입력 데이터가 충돌음일 때 LED와 경보음 발동 코드
입력 데이터가 충돌음일 경우 label이 1로 도출되도록 하고, 충돌음이 아니면 label이 0으로 도출되도록 구성하였다. label 결과값이 시리얼 통신을 통해 아두이노로 전송되면 아두이노 깜빡임 제어 코드에 따라 LED가 작동한다.
[그림 23] 데이터 처리 후 새로운 데이터 입력을 위한 저장 데이터 리셋 코드
아두이노와 데이터 송⦁수신을 통해 데이터 처리가 끝나면 두 모델을 연동하는 시리얼 포트를 닫는다.
  • 아두이노 구성 코드
[그림 24] 아두이노에 입력한 LED 깜빡임 구현 코드
파이썬 코드를 통해 입력 데이터의 충돌음 여부를 판단하여 시리얼 통신을 통해 Label값 1이 수신된 경우 아두이노 회로의 빨간색 LED가 5번 깜빡이도록 하고, Label값 0이 수신된 경우 LED가 깜빡이지 않고 꺼지도록 한다.

예상 구상도

본 설계의 시연결과에서는 별도의 마이크로폰을 설치하지 않았지만, 상용화 되었을 때를 가정하여 예상 구상도를 제작하였다.

1. 부품도

[그림 25] 마이크로폰 기기 구성(순서대로 수신기, 마이크로폰, 방풍망)
[그림 26] 송⦁수신기 계측치
[그림 27] 마이크로폰을 구성하는 기기의 계측치(앞)
[그림 28] Birdspikes와 Raincover 계측치(위)
[그림 29] 방풍망의 계측치(위)
송⦁수신기는 가로15cm*세로10cm*높이30cm의 크기로 제작한다. 음을 받아들이는 마이크로폰은 마이크로폰 본체, Raincover, Birdspikes, 방풍망으로 구성된다. 마이크로폰의 길이는 25cm이고 본체 하단부의 지름은 2cm, 본체 상단부의 지름은 1.2cm로 제작하며 Birdspikes의 높이는 12cm이고 단축의 지름을 6cm 설계하여 타원체(Prolate Spheroids) 모양으로 제작한다. 우천을 대비한 Raincover는 밑면의 지름이 1.5cm, 윗면의 지름은 0.8cm로 설정하였고, 풍속이 2m/s 이상일 때 필수적으로 부착해야 하는 방풍망은 Birdspikes와 동일한 타원체 모양이고 단축의 지름은 6.5cm, 길이는 12cm로 제작한다.

2. 조립도

[그림 30] 마이크로폰 조립도
[그림 31] '노이제로 시스템' 설치 예상 구상도

결과 및 평가

구축 모델 평가

[표 15] '노이제로 시스템' 최종 평가표
개발 모델의 평가결과 각 평가항목에 해당하는 개발목표치를 달성하여 달성률 100%로 기준 목표치였던 총합 90%이상의 기준치를 만족하였다. 따라서 본 개발 모델을 설치 대상이었던 인적이 드문 도로에 ‘노이제로 시스템’을 도입한다면 사고발견 지연으로 인해 꺼져가던 생명을 다시 활활 타오르도록 할 수 있을 것이다.

추가 제언

구글넷을 이용한 현재 모델의 성능지표는 95%이지만, 최근 개발된 성능검증 완료모델을 이용한다면 정확도 99%이상을 기록하여 분별력 성능을 향상시킬 수 있을 것으로 기대된다.

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

[그림 32] 분류소음 입력시
[그림 33] 충돌음 입력시

포스터

[그림 34] 포스터 발표
[그림 35] 포스터 발표에서 시연 모습

참고문헌

1. 경찰통계자료. (n.d.). 경찰청.https://www.police.go.kr/www/open/publice/publice0205.jsp.

2. 김홍국, 박인영. (2021). 딥러닝 기반 감지상황에서의 음향 사건 탐지 방법(보고서 번호: 10-2021-0064018). 광주과학기술원.

3. 심언규. (2009.03.05.). 도내 곳곳에 교통과 방범카메라 많아. 기호일보.https://www.kihoilbo.co.kr/news/articleView.html?idxno=327869.

4. 이재준, 김완수, 이교구. (n.d.). 합성곱 신경망 기반 환경잡음에 강인한 교통 소음 분류 모델(석사). 서울대학교 융합학과 기술대학원, n.p..

5. 원두환. (2020). 위험 환경요소에 대한 통계적 생명가치 금액 추정 : 교통사고 사망률 감소를 중심으로(박사). 성신여자대학교, n.p..

6. 정충길. (2009). 데이터베이스를 이용한 SWOT 분석 시스템 설계 및 구현 = Design and Implementation of SWOT Analysis System Using Database(석사). 부경대학교 대학원, 부산.

7. 최석훈, 유기열, 김용환, 황대곤, 김대경, 박해수, 한현용, 이종서, & 박래찬. (2022). 2022년판(2021년 통계) 교통사고 통계분석 (pp. 22). n.p.: 도로교통공단.

8. 최재경, 공찬우, 임성훈. (n.d.). 인공지능 기반의 자동차사고 감지 시스템 적용 사례 분석(석사). 울산과학기술원 대학원 경영공학부, n.p..

9. 한경희, 황재성, 김도경, 이철기. (2019). e-Call 도입방법 및 도입 효과분석 연구(박사). 한국ITS학회논문지, n.p..

10. Microphone Calibrated 1/2″ Class 1 IEPE . (n.d.). ROGA Instruments. Retrieved from https://roga-instruments.com/1-2-inch-mic/.

11. M. H. Tanveer, Hongxiao Zhu, W. Ahmed, Antony Thomas, Basit Muhammad Imran, & Muhammad Salman. (2021). Mel-spectrogram and Deep CNN Based Representation Learning from Bio-Sonar Implementation on UAVs (pp. 2). n.p.: International Conference on Computer, Control and Robotics (ICCCR).