"노이제로"의 두 판 사이의 차이

env wiki
이동: 둘러보기, 검색
(특허 조사 및 특허 전략 분석)
 
(같은 사용자의 중간 판 44개는 보이지 않습니다)
4번째 줄: 4번째 줄:
 
=== 기술개발 과제 ===
 
=== 기술개발 과제 ===
 
''' 국문 : ''' 딥러닝을 이용한 교통사고음 감지 모델 개발
 
''' 국문 : ''' 딥러닝을 이용한 교통사고음 감지 모델 개발
 +
 
''' 영문 : ''' Development of traffic accident noise model using deep learning
 
''' 영문 : ''' Development of traffic accident noise model using deep learning
  
13번째 줄: 14번째 줄:
  
 
===개발기간===
 
===개발기간===
2022년 3월 ~ 2022년 6월 (총 4개월)
+
2023년 3월 ~ 2023년 6월 (총 4개월)
  
 
===구성원 소개===
 
===구성원 소개===
62번째 줄: 63번째 줄:
  
 
'''3. 기술로드맵'''
 
'''3. 기술로드맵'''
:[[파일:기술로드맵 그림.jpg|600픽셀|섬네일|가운데|[그림 1] 기술로드맵]]
+
:[[파일:가나다.jpg|600픽셀|섬네일|가운데|[그림 1] 기술로드맵]]
  
 
====관련 시장에 대한 분석====
 
====관련 시장에 대한 분석====
102번째 줄: 103번째 줄:
 
'''2. 비용 편익 분석(B/C ratio)'''
 
'''2. 비용 편익 분석(B/C ratio)'''
 
* 편익(Benefit)
 
* 편익(Benefit)
::본 과제 개발을 통해 얻을 수 있는 이익은 ‘인간의 생명’이므로 앞서 산출한 생명가치를 이용하여 비용편익분석을 실시하였다. 이때 뺑소니 사고가 가장 많이 발생한 ‘경기도’를 시범지역으로 선정하였고, 마이크로폰의 설치간격은 절대적인 기준이 부재하므로 경기도의 2023년 기준 교통단속 및 교통정보 수집용 CCTV 옆에 설치하는 것으로 가정하였다. 이는 CCTV의 사각지대라는 단점을 보완하고 전국에 도입하기 전에 구축된 모델의 분류 정확도를 확인하여 성능을 검증하기 위해 가정한 요소이다.
+
:본 과제 개발을 통해 얻을 수 있는 이익은 ‘인간의 생명’이므로 앞서 산출한 생명가치를 이용하여 비용편익분석을 실시하였다. 이때 뺑소니 사고가 가장 많이 발생한 ‘경기도’를 시범지역으로 선정하였고, 마이크로폰의 설치간격은 절대적인 기준이 부재하므로 경기도의 2023년 기준 교통단속 및 교통정보 수집용 CCTV 옆에 설치하는 것으로 가정하였다. 이는 CCTV의 사각지대라는 단점을 보완하고 전국에 도입하기 전에 구축된 모델의 분류 정확도를 확인하여 성능을 검증하기 위해 가정한 요소이다.
::앞서 진술선호법을 통해 산출된 1명에 대한 통계적 인간생명가치는 69억8천만원이며 경찰청 통계에 따라 2021년 경기도 뺑소니 사망자 수는 18명으로 ‘노이제로 시스템’ 도입을 통해 얻을 수 있는 총편익(B)은 약 1,256억4천만원이다.
+
:앞서 진술선호법을 통해 산출된 1명에 대한 통계적 인간생명가치는 69억8천만원이며 경찰청 통계에 따라 2021년 경기도 뺑소니 사망자 수는 18명으로 ‘노이제로 시스템’ 도입을 통해 얻을 수 있는 총편익(B)은 약 1,256억4천만원이다.
 
*총 편익(B) = 6,980,000,000원/1명 * 18명 = 125,640,000,000원
 
*총 편익(B) = 6,980,000,000원/1명 * 18명 = 125,640,000,000원
:[[파일:B/C ratio 수식.png|400픽셀|]]
+
:[[파일:BC.jpg|600픽셀|섬네일|가운데|[수식 1] B/C ratio 산정 식]]
  
 
* 비용(Cost)
 
* 비용(Cost)
::반면, 마이크로폰 1대당 가격은 선정한 ‘MP40’ 마이크로폰 모델 가격 150만원에 1대당 설치비용 50만원을 추가하여 1대당 총비용을 200만원으로 가정하였다. 마이크로폰의 설치주기를 구하기 함에 앞서 마이크로폰의 설치주기는 수음성능과 관련있다. 이때, 마이크로폰의 수음성능은 모델마다 상이하여 객관적인 수음성능지표가 제시되어있지 않다. 그러나 일반적인 옥외용 마이크로폰의 경우 수백m에서 수km의 수음성능을 갖는 것으로 알려져 있기 때문에 본 설계에서 마이크로폰의 수음거리를 500m로 가정하여 계산하였다.  
+
:반면, 마이크로폰 1대당 가격은 선정한 ‘MP40’ 마이크로폰 모델 가격 150만원에 1대당 설치비용 50만원을 추가하여 1대당 총비용을 200만원으로 가정하였다. 마이크로폰의 설치주기를 구하기 함에 앞서 마이크로폰의 설치주기는 수음성능과 관련있다. 이때, 마이크로폰의 수음성능은 모델마다 상이하여 객관적인 수음성능지표가 제시되어있지 않다. 그러나 일반적인 옥외용 마이크로폰의 경우 수백m에서 수km의 수음성능을 갖는 것으로 알려져 있기 때문에 본 설계에서 마이크로폰의 수음거리를 500m로 가정하여 계산하였다.  
::2023년 기준 경기도 CCTV의 대수는 총 4,147대이며 국토교통부에 따른 2022년 기준 경기도 도로연장길이는 14,813km로 CCTV 1대당 이격거리는 3.57km/대임을 알 수 있다.  
+
:2023년 기준 경기도 CCTV의 대수는 총 4,147대이며 국토교통부에 따른 2022년 기준 경기도 도로연장길이는 14,813km로 CCTV 1대당 이격거리는 3.57km/대임을 알 수 있다.  
  
:[[파일:CCTV 1대당 이격거리 수식.png|400픽셀|]]
+
:[[파일:CCTV 1대당 이격거리 수식.jpg|600픽셀|섬네일|가운데|CCTV 1대당 이격거리]]
  
::이때, 마이크로폰의 수음거리는 500m로 가정하였으므로 CCTV 1대당 마이크로폰 7대를 설치하는 것과 같다.
+
:이때, 마이크로폰의 수음거리는 500m로 가정하였으므로 CCTV 1대당 마이크로폰 7대를 설치하는 것과 같다.
  
:[[파일:CCTV 1대당 마이크로폰 7대.png|400픽셀|]]
+
:[[파일:CCTV 1대당 마이크로폰 7대.jpg|600픽셀|섬네일|가운데| CCTV 1대당 마이크로폰 7대]]
  
::따라서 설치할 마이크로폰의 개수는 CCTV 개수인 4,147대에 7배한 29,029대로 설정하였다. 총비용을 산출한 결과는 580억5천8백만원이다.
+
:따라서 설치할 마이크로폰의 개수는 CCTV 개수인 4,147대에 7배한 29,029대로 설정하였다. 총비용을 산출한 결과는 580억5천8백만원이다.
  
:[[파일:Cost 계산.png|400픽셀|]]
+
:[[파일:Cost 계산.jpg|600픽셀|섬네일|가운데| Cost 계산]]
  
 
* 경제성 분석 결과
 
* 경제성 분석 결과
:[[파일:B/C 분석 결과.png|400픽셀|]]
+
:[[파일:BC 분석 결과.jpg|600픽셀|섬네일|가운데| B/C 분석 결과]]
::최종적으로 B/C 분석을 실시하면 B/C 비율이 2.16으로 1을 초과하기 때문에 개발 과제의 경제적 타당성이 충분한 것으로 판단된다.
+
:최종적으로 B/C 분석을 실시하면 B/C 비율이 2.16으로 1을 초과하기 때문에 개발 과제의 경제적 타당성이 충분한 것으로 판단된다.
  
 
===기술개발 일정 및 추진체계===
 
===기술개발 일정 및 추진체계===
 
====개발 일정====
 
====개발 일정====
[[파일:개발일정.jpg]]
+
[[파일:개발일정_노이제로.jpg|600픽셀|섬네일|가운데|노이제로 시스템 개발일정]]
  
 
====구성원 및 추진체계====
 
====구성원 및 추진체계====
137번째 줄: 138번째 줄:
 
===제품 요구사항===
 
===제품 요구사항===
 
*요구사항
 
*요구사항
:[[파일:제품의 요구사항.png|400픽셀]]
+
:[[파일:설계 요구사항.jpg|600픽셀|섬네일|가운데|[표 3] 설계 요구사항]]
  
 
*QFD(Quality Function Deployment)
 
*QFD(Quality Function Deployment)
 
:* 고객 요구사항과 기술 요구사항 간 상관관계를 나타냄
 
:* 고객 요구사항과 기술 요구사항 간 상관관계를 나타냄
:[[파일:QFD분석.png|400픽셀]]
+
:[[파일:QFD분석.jpg|600픽셀|섬네일|가운데|[그림 4] QFD 분석]]
  
 
===개념설계안===
 
===개념설계안===
 
====설계사양====
 
====설계사양====
:[[파일:설계사양.png|400픽셀]]
+
:[[파일:설계사양 그림.jpg|600픽셀|섬네일|가운데|[표 4] 설계사양]]
  
 
====시스템 운영====
 
====시스템 운영====
 
# 딥러닝을 이용한 IoT 기반의 사고 감지 시스템
 
# 딥러닝을 이용한 IoT 기반의 사고 감지 시스템
 
* 설계 시스템 개요
 
* 설계 시스템 개요
:[[파일:설계 시스템 개요.png|400픽셀]]
+
:[[파일:설계시스템 개요.jpg|600픽셀|섬네일|가운데|[그림 5] 설계 시스템 개요]]
  
 
* 목적계통도
 
* 목적계통도
:[[파일:목적계통도.png|400픽셀]]
+
:[[파일:목적계통도.jpg|600픽셀|섬네일|가운데|[그림 6] 목적계통도]]
::교통사고 소음의 효율적인 관리를 위해 설계 시스템은 위 그림과 같이 구성된다. 사고 감지 시스템에 IoT 기술을 적용하여 옥외용 마이크로폰을 통해 교통소음을 수집하고, 수신기를 통해 중앙관리시스템인 ‘노이제로 시스템’과 연결하여 정보통신의 용이성을 얻는다.  
+
:교통사고 소음의 효율적인 관리를 위해 설계 시스템은 위 그림과 같이 구성된다. 사고 감지 시스템에 IoT 기술을 적용하여 옥외용 마이크로폰을 통해 교통소음을 수집하고, 수신기를 통해 중앙관리시스템인 ‘노이제로 시스템’과 연결하여 정보통신의 용이성을 얻는다.  
::중앙관리시스템인 ‘노이제로 시스템’에 수집되는 정보에는 일반적인 도로교통소음이 해당된다. ‘노이제로 시스템’에는 본 설계에서 구축될 딥러닝 기반의 사고 소음 감지 모델이 적용될 예정이며, 해당 시스템은 도로교통 소음 중 교통사고 소음만을 선별하여 사고 발생 시 교통정보센터에 알림을 보낸다. 이후 교통정보센터에서 데이터를 발신한 수신기의 위치를 확인하여 사고 위치를 정확히 파악하고 긴급 구조대에 긴급 구조요청을 보내 사고에 신속히 대응할 수 있도록 한다. 만약 해당 위치에 인접한 CCTV가 있는 경우에는, CCTV 수동 조작을 통해 사고의 진위여부를 재확인하는 과정을 거쳐 정확도를 높일 수 있다.
+
:중앙관리시스템인 ‘노이제로 시스템’에 수집되는 정보에는 일반적인 도로교통소음이 해당된다. ‘노이제로 시스템’에는 본 설계에서 구축될 딥러닝 기반의 사고 소음 감지 모델이 적용될 예정이며, 해당 시스템은 도로교통 소음 중 교통사고 소음만을 선별하여 사고 발생 시 교통정보센터에 알림을 보낸다. 이후 교통정보센터에서 데이터를 발신한 수신기의 위치를 확인하여 사고 위치를 정확히 파악하고 긴급 구조대에 긴급 구조요청을 보내 사고에 신속히 대응할 수 있도록 한다. 만약 해당 위치에 인접한 CCTV가 있는 경우에는, CCTV 수동 조작을 통해 사고의 진위여부를 재확인하는 과정을 거쳐 정확도를 높일 수 있다.
  
 
====모델 시연 모식도====
 
====모델 시연 모식도====
:[[파일:시연용 모델 개요.png|400픽셀]]
+
:[[파일:시연용 모델 개요.jpg|600픽셀|섬네일|가운데|[그림 7] 시연용 모델 개요]]
::교통사고 소음 감지 모델이 효과적으로 작동하기 위해서는 교통사고 소음과 일반 도로교통 소음을 구별하는 기능이 가장 우선적이다. 따라서 개념설계안에서는 본 기능이 올바르게 작동하는 것을 명시적으로 나타내는 프로그램 설계를 목표로 하였다.
+
:교통사고 소음 감지 모델이 효과적으로 작동하기 위해서는 교통사고 소음과 일반 도로교통 소음을 구별하는 기능이 가장 우선적이다. 따라서 개념설계안에서는 본 기능이 올바르게 작동하는 것을 명시적으로 나타내는 프로그램 설계를 목표로 하였다.
::교통사고 소음은 충돌음으로 설정하였으며, 도로교통 소음은 충돌음과 혼동될 가능성이 있는 브레이크음, 고라니음, 항공기음으로 설정하였다. CNN상에 소리 파일(wav, mp4 등)을 입력했을 때 충돌음의 경우에는 “충돌음입니다” 텍스트를 출력한 뒤에 경보음 파일을 실행한다. 브레이크음, 고라니음, 항공기음의 경우에는 “충돌음이 아닙니다.” 텍스트를 출력한다. 이를 통해 충돌음, 브레이크음, 고라니음, 항공기음의 4가지 유형의 소음 중 충돌음을 선택적으로 구별한다.
+
:교통사고 소음은 충돌음으로 설정하였으며, 도로교통 소음은 충돌음과 혼동될 가능성이 있는 브레이크음, 고라니음, 항공기음으로 설정하였다. CNN상에 소리 파일(wav, mp4 등)을 입력했을 때 충돌음의 경우에는 “충돌음입니다” 텍스트를 출력한 뒤에 경보음 파일을 실행한다. 브레이크음, 고라니음, 항공기음의 경우에는 “충돌음이 아닙니다.” 텍스트를 출력한다. 이를 통해 충돌음, 브레이크음, 고라니음, 항공기음의 4가지 유형의 소음 중 충돌음을 선택적으로 구별한다.
  
 
===상세설계===
 
===상세설계===
167번째 줄: 168번째 줄:
 
* Method 1: 제작 CNN 모델
 
* Method 1: 제작 CNN 모델
 
* Method 2: 구글넷 특징을 활용한 CNN 모델
 
* Method 2: 구글넷 특징을 활용한 CNN 모델
:[[파일:알고리즘 Flow chart.png|500픽셀]]
+
:[[파일:알고리즘 플로우차트.jpg|600픽셀|섬네일|가운데|[그림 8] Method 1 및 Method 2의 알고리즘 Flow Chart]]
  
# 입력 데이터셋 및 전처리
+
'''1. 입력 데이터셋 및 전처리'''
 
* 입력데이터셋
 
* 입력데이터셋
::입력 데이터는 충돌음 이외에도 도로에서 발생할 수 있는 분별 소음인 브레이크 소음, 고라니 울음소리, 항공기 소음을 데이터셋으로 구성하였다. 이때 충돌음의 개수가 부족하여 데이터 증강 기법(Data Augmentation)으로 충돌음의 개수를 153개로 늘렸다. 따라서 전체 데이터셋의 개수는 564개이다.
+
:입력 데이터는 충돌음 이외에도 도로에서 발생할 수 있는 분별 소음인 브레이크 소음, 고라니 울음소리, 항공기 소음을 데이터셋으로 구성하였다. 이때 충돌음의 개수가 부족하여 데이터 증강 기법(Data Augmentation)으로 충돌음의 개수를 153개로 늘렸다. 따라서 전체 데이터셋의 개수는 564개이다.
:[[파일:입력 데이터셋.png|400픽셀]]
+
:[[파일:표 2 데이터셋.jpg|400픽셀|섬네일|가운데|[표 5] Data set]]
  
 
* 음향데이터 변환 및 전처리
 
* 음향데이터 변환 및 전처리
:[[파일:wav 파일 형태의 음향 데이터를 스펙트로그램 이미지로 변환한 코드.png|400픽셀]]
+
:[[파일:코드.jpg|600픽셀|섬네일|가운데|[그림 9] wav 파일 형태의 음향 데이터를 스펙트로그램 이미지로 변환한 코드]]
::각 소음별로 수집한 전체 음향 데이터를 CNN의 입력값으로 사용하기 위해 전처리 과정을 나타냈다. wav 파일 형태의 음향 데이터를 스펙트로그램 이미지로 변환하였다. 이때 신호처리에 사용된 것은 주파수 성분의 구성만을 확인할 수 있는 ‘고속 푸리에 변환(FFT, Fast Fourier Transform)’의 단점을 극복하고, 시간에 따라 특성이 변하는 신호 분석에 용이한 ‘국소 푸리에 변환(STFT, Short Time Fourier Transform)’을 선택하였다. 최종적으로 변환된 STFT 스펙트로그램은 해당 소음원 파일에 저장하였다. 각 소음에 따른 스펙트로그램 이미지는 다음과 같다.
+
:각 소음별로 수집한 전체 음향 데이터를 CNN의 입력값으로 사용하기 위해 전처리 과정을 나타냈다. wav 파일 형태의 음향 데이터를 스펙트로그램 이미지로 변환하였다. 이때 신호처리에 사용된 것은 주파수 성분의 구성만을 확인할 수 있는 ‘고속 푸리에 변환(FFT, Fast Fourier Transform)’의 단점을 극복하고, 시간에 따라 특성이 변하는 신호 분석에 용이한 ‘국소 푸리에 변환(STFT, Short Time Fourier Transform)’을 선택하였다. 최종적으로 변환된 STFT 스펙트로그램은 해당 소음원 파일에 저장하였다. 각 소음에 따른 스펙트로그램 이미지는 다음과 같다.
 +
:[[파일:스펙트로그램.jpg|600픽셀|섬네일|가운데|[그림 10] 변환된 스펙트로그램 이미지]]
  
:[[파일:변환된 스펙트로그램 이미지 대표4개.png|400픽셀]]
+
'''2. Method 1: 자체 제작한 CNN 모델의 구조 및  성능'''
 
 
# Method 1: 자체 제작한 CNN 모델의 구조 및  성능
 
 
* CNN 모델 구성
 
* CNN 모델 구성
::본 과제에서 설계한 CNN 모델의 구성, 구조 및 코드는 다음과 같다.
+
:본 과제에서 설계한 CNN 모델의 구성, 구조 및 코드는 다음과 같다.
:[[파일:Method 1 학습옵션.png|400픽셀]]
+
:[[파일:Method 1 학습옵션.jpg|600픽셀|섬네일|가운데|[표 6] 학습 옵션]]
:[[파일:Method 1의 하이퍼파라미터.png|400픽셀]]
+
:[[파일:Method 1의 하이퍼파라미터.jpg|600픽셀|섬네일|가운데|[표 7] CNN의 하이퍼파라미터]]
:[[파일:Method 1의 모델구조.png|400픽셀]]
+
:[[파일:Method 1의 모델구조.jpg|600픽셀|섬네일|가운데|[그림 11] 자체제작 CNN모델의 구조]]
  
 
* 전처리를 마친 데이터를 활용한 분류 모델 구성
 
* 전처리를 마친 데이터를 활용한 분류 모델 구성
::각 소음에 대한 음향 데이터를 STFT 스펙트로그램 이미지로 변환하는 전처리 이후, 전처리를 마친 스펙트로그램 이미지를 입력값으로 설정하였다.
+
:각 소음에 대한 음향 데이터를 STFT 스펙트로그램 이미지로 변환하는 전처리 이후, 전처리를 마친 스펙트로그램 이미지를 입력값으로 설정하였다.
:[[파일:Method 1 그림 8 과적합 방지 및 비선형적 학습을 위한 셔플링과정 코드.png|400픽셀]]
+
:[[파일:Method 1 그림 8 .jpg|600픽셀|섬네일|가운데|[그림 12] 과적합 방지 및 비선형적 학습을 위한 셔플링과정 코드]]
:[[파일:Method 1의 그림 9 Train set과 Test set으로 분할 코드.png|400픽셀]]
+
:[[파일:Method 1의 그림 9 .jpg|600픽셀|섬네일|가운데|[그림 13] Train set과 Test set으로 분할 코드]]
:[[파일:Method 1의 그림 10 선정한 CNN 하이퍼파라미터에 따른 모델 구성 코드.png|400픽셀]]
+
:[[파일:Method 1의 그림 10 .jpg|600픽셀|섬네일|가운데|[그림 14] 선정한 CNN 하이퍼파라미터에 따른 모델 구성 코드]]
:[[파일:Method 1 그림 11 구축한 모델 저장 .png|400픽셀]]
+
:[[파일:Method 1 그림 11 .jpg|600픽셀|섬네일|가운데|[그림 15] 구축한 모델 저장]]
:[[파일:Method 1 그림 12 100번의에포크에 따른 자체제작모델의 검증손실 및 검증정확도 변동그랲.png|400픽셀]]
+
:[[파일:Method 1 그림 12 .jpg|600픽셀|섬네일|가운데|[그림 16] 100번의 Epoch에 따른 자체 제작 모델의 검증손실 및 검증정확도 변동그래프]]
:[[파일:Method 1 표 5 최적의 epoch와 해당 epoch의 검증손실 및 검증정확도.png|400픽셀]]
+
:[[파일:Method 1 표 5 .jpg|600픽셀|섬네일|가운데|[표 8] 최적의 Epoch와 해당 Epoch의 검증손실 및 검증정확도]]
 
+
:100 Epoch에 따라 검증손실 및 검증정확도 변동을 나타낸 그래프를 보면 50 이상의 Epoch에서 검증손실이 증가하였는데, 이는 과적합으로 판단할 수 있다. 따라서 Epoch를 50으로 수정한 모델에서 50 Epoch에서 최적의 성능을 보였으며, 이때 검증 손실은 0.0403, 검증정확도는 0.9908이다.
::100 Epoch에 따라 검증손실 및 검증정확도 변동을 나타낸 그래프를 보면 50 이상의 Epoch에서 검증손실이 증가하였는데, 이는 과적합으로 판단할 수 있다. 따라서 Epoch를 50으로 수정한 모델에서 50 Epoch에서 최적의 성능을 보였으며, 이때 검증 손실은 0.0403, 검증정확도는 0.9908이다.
 
  
 
* 모델 성능 평가 이론
 
* 모델 성능 평가 이론
::코드에 구성된 Accuracy 이외에 분류 모델의 추가적인 성능 평가를 진행했다. 분류 모델(Classifier) 평가 시에는 주로 Confusion Matrix를 기반으로 측정한다. 이때 추가로 사용된 성능평가지표는 Precision, Recall, F1 Score이다. 모든 성능평가지표들은 0~1사이 값을 가지며, 1에 가까울수록 좋다.
+
:코드에 구성된 Accuracy 이외에 분류 모델의 추가적인 성능 평가를 진행했다. 분류 모델(Classifier) 평가 시에는 주로 Confusion Matrix를 기반으로 측정한다. 이때 추가로 사용된 성능평가지표는 Precision, Recall, F1 Score이다. 모든 성능평가지표들은 0~1사이 값을 가지며, 1에 가까울수록 좋다.
  
 
(1) Confusion Matrix(혼동 행렬, 오차 행렬)
 
(1) Confusion Matrix(혼동 행렬, 오차 행렬)
::다음 표는 분류 모델의 성능을 측정하는 데 자주 사용되는 표로 모델이 두 개의 클래스를 헷갈려하는 정도를 알 수 있다.
+
:다음 표는 분류 모델의 성능을 측정하는 데 자주 사용되는 표로 모델이 두 개의 클래스를 헷갈려하는 정도를 알 수 있다.
:[[파일:모델성능평가_Confusion Matrix 분류표.png|400픽셀]]
+
:[[파일:표 6.jpg|600픽셀|섬네일|가운데|[표 9] Confusion Matrix 분류 표]]
  
- T(True): 예측한 것이 정답- F(False): 예측한 것이 오답- P(Positive): 모델이 positive라고 예측- N(Negative): 모델이 negative라고 예측
+
- T(True): 예측한 것이 정답
- TP(True Positive): 모델이 positive라고 예측했는데 실제로 정답이 positive (정답)- TN(False Negative): 모델이 negative라고 예측했는데 실제로 정답이 negative (정답)- FP(False Positive): 모델이 positive라고 예측했는데 실제로 정답이 negative (오답)- FN(False Negative): 모델이 negative라고 예측했는데 실제로 정답이 positive (오답)
+
 
 +
- 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(정확도)
 
(2) Accuracy(정확도)
::본 지표는 모델이 전체 문제 중에서 정답을 맞춘 비율을 의미한다. 이때 positive:negative=9:1인 경우와 같이 데이터가 불균형할 때 Accuracy만으로는 제대로 분류했는지 알 수 없기 때문에 Recall과 Precision을 사용한다.
+
:본 지표는 모델이 전체 문제 중에서 정답을 맞춘 비율을 의미한다. 이때 positive:negative=9:1인 경우와 같이 데이터가 불균형할 때 Accuracy만으로는 제대로 분류했는지 알 수 없기 때문에 Recall과 Precision을 사용한다.
:[[파일:Accuracy 수식.png|400픽셀]]
+
:[[파일:수식 2.jpg|600픽셀|섬네일|가운데|[수식 2] Accuracy 산출식]]
  
 
(3) Precision(정밀도)
 
(3) Precision(정밀도)
::본 지표는 모델이 Positive라고 예측한 것들 중에서 실제로 정답이 positive인 비율을 의미한다. 실제 정답이 negative인 데이터를 positive라고 예측하면 안 되는 경우 중요한 지표가 된다. Precision을 높이기 위해서는 FP(False Positive)를 낮추는 것이 중요하다.
+
:본 지표는 모델이 Positive라고 예측한 것들 중에서 실제로 정답이 positive인 비율을 의미한다. 실제 정답이 negative인 데이터를 positive라고 예측하면 안 되는 경우 중요한 지표가 된다. Precision을 높이기 위해서는 FP(False Positive)를 낮추는 것이 중요하다.
:[[파일:Precision 수식.png|400픽셀]]
+
:[[파일:수식 3.jpg|600픽셀|섬네일|가운데|[수식 3] Precision 산출식]]
  
 
(4) Recall(재현율)
 
(4) Recall(재현율)
::본 지표는 실제로 정답이 positive인 것들 중에서 모델이 positive라고 예측한 비율을 의미한다. 실제 정답이 positive인 데이터를 negative라고 잘못 예측하면 안 되는 경우에 중요한 지표가 된다. Recall을 높이기 위해서는 FN(False Negative)을 낮추는 것이 중요하다.
+
:본 지표는 실제로 정답이 positive인 것들 중에서 모델이 positive라고 예측한 비율을 의미한다. 실제 정답이 positive인 데이터를 negative라고 잘못 예측하면 안 되는 경우에 중요한 지표가 된다. Recall을 높이기 위해서는 FN(False Negative)을 낮추는 것이 중요하다.
:[[파일:Recall 수식.png|400픽셀]]
+
:[[파일:수식 4.jpg|600픽셀|섬네일|가운데|[수식 4] Recall 산출식]]
  
 
(5) F1 Score
 
(5) F1 Score
::본 지표는 Recall과 Precision의 조화평균으로, Recall과 Precision은 상호 보완적인 평가지표이기 때문에 주로 F1 Score를 사용한다. Precision과 Recall이 한 쪽으로 치우쳐지지 않고 모두 클 때 큰 값을 가진다.
+
:본 지표는 Recall과 Precision의 조화평균으로, Recall과 Precision은 상호 보완적인 평가지표이기 때문에 주로 F1 Score를 사용한다. Precision과 Recall이 한 쪽으로 치우쳐지지 않고 모두 클 때 큰 값을 가진다.
:[[파일:F1 Score 수식.png|400픽셀]]
+
:[[파일:수식 5.jpg|600픽셀|섬네일|가운데|[수식 5] F1 Score 산출식]]
  
 
* 모델 성능 평가 결과
 
* 모델 성능 평가 결과
::각 성능평가지표를 도출한 결과는 다음 표와 같다. 성능평가지표의 값들이 1에 가깝기 때문에 설계한 모델의 분류 성능이 뛰어남을 확인할 수 있으며, 본 과제에서 요구한 설계사양 중 하나인 모델의 정확도가 80%이상으로 평가기준을 충족하였다.
+
:각 성능평가지표를 도출한 결과는 다음 표와 같다. 성능평가지표의 값들이 1에 가깝기 때문에 설계한 모델의 분류 성능이 뛰어남을 확인할 수 있으며, 본 과제에서 요구한 설계사양 중 하나인 모델의 정확도가 80%이상으로 평가기준을 충족하였다.
:[[파일:Method 1_자체제작 모델의 성능평가지표별 결과값.png|400픽셀]]
+
:[[파일:표 7.jpg|600픽셀|섬네일|가운데|[표 10] 자체 제작 모델의 성능평가지표별 결과값]]
  
# Method 2: 구글넷(GoogLeNet)의 구조 및 성능
+
3. Method 2: 구글넷(GoogLeNet)의 구조 및 성능
 
* 구글넷(GoogLeNet)
 
* 구글넷(GoogLeNet)
::2014년 ImageNet에서 개최된 ILSVRC14(ImageNet Large-Scale Visual Recognition Challenge 2014)에서 우승한 인공신경망인 구글넷(GooGLeNet)을 해당 연구에 적용하여, 자체제작 모델과 성능 비교를 진행하였다. 단, 구글넷은 매우 복잡하고 긴 연산 구조를 가진 모델로, 구글넷의 전체 구성을 사용하는 것은 모델의 총 연산 소요 시간이 길며, 높은 메모리(RAM)를 필요로 하는 등의 단점이 존재한다. 그러므로 해당 모델의 특성을 유지하나 간소화한 형태로 사용하였다.  
+
:2014년 ImageNet에서 개최된 ILSVRC14(ImageNet Large-Scale Visual Recognition Challenge 2014)에서 우승한 인공신경망인 구글넷(GooGLeNet)을 해당 연구에 적용하여, 자체제작 모델과 성능 비교를 진행하였다. 단, 구글넷은 매우 복잡하고 긴 연산 구조를 가진 모델로, 구글넷의 전체 구성을 사용하는 것은 모델의 총 연산 소요 시간이 길며, 높은 메모리(RAM)를 필요로 하는 등의 단점이 존재한다. 그러므로 해당 모델의 특성을 유지하나 간소화한 형태로 사용하였다.  
  
 
* 구글넷 구성
 
* 구글넷 구성
:[[파일:Method 2_구글넷 학습 옵션.png|400픽셀]]
+
:[[파일:Method 2_구글넷 학습 옵션.jpg|400픽셀|섬네일|가운데|[표 11] 구글넷 학습 옵션]]
:[[파일:Method 2_표 9 구글넷의 하이퍼파라미터.png|400픽셀]]
+
:[[파일:Method 2_표 9 구글넷의 하이퍼파라미터.jpg|600픽셀|섬네일|가운데|[표 12] 구글넷의 하이퍼파라미터]]
:[[파일:Method 2_그림 13 구글넷의 일부구조.png|400픽셀]]
+
:[[파일:Method 2_그림 13 구글넷의 일부구조.jpg|600픽셀|섬네일|가운데|[그림 17] 구글넷의 일부 구조]]
:[[파일:Method 2_그림 14 구글넷의 인셉션 모듈.png|400픽셀]]
 
:[[파일:Method 2_그림 15 인셉션 모듈 이후 구성 코드.png|400픽셀]]
 
:[[파일:Method 2_.png|400픽셀]]
 
:[[파일:Method 2_.png|400픽셀]]
 
  
 +
* 구글넷의 주요 특성인 인셉션 모듈
 +
:[[파일:Method 2_그림 14 구글넷의 인셉션 모듈.jpg|600픽셀|섬네일|가운데|[그림 18] 구글넷의 인셉션 모듈]]
 +
:[[파일:Method 2_그림 15 인셉션 모듈 이후 구성 코드.jpg|600픽셀|섬네일|가운데|[그림 19] 인셉션 모듈 이후 구성 코드]]
 +
:[[파일:Method 2_그림 16 100번의 Epoch에 따른 구글넷의 검증손실 및 검증정확도 변동 그래프.jpg|600픽셀|섬네일|가운데|[그림 20] 100번의 Epoch에 따른 구글넷의 검증손실 및 검증정확도 변동 그래프]]
 +
:[[파일:Method 2_표 10 구글넷의 최적 Epoch와 해당 Epoch에서 검증손실 및 검증정확도.jpg|600픽셀|섬네일|가운데|[표 13] 구글넷의 최적 Epoch와 해당 Epoch에서 검증손실 및 검증정확도]]
  
 +
* 모델 성능 평가
 +
:앞선 모델과 동일하게 성능평가지표 Precision, Recall, F1 Score를 도출하였다.
 +
:[[파일:Method 2_표 11 구글넷 모델의 성능평가지표별 결과값.jpg|600픽셀|섬네일|가운데|[표 14] 구글넷 모델의 성능평가지표별 결과값]]
  
 +
4. 자체제작 모델과 구글넷의 성능 비교 및 최종 모델 선정
 +
:자체제작 모델과 구글넷의 성능 비교 결과, 네 가지의 성능지표 모두 구글넷이 우세한 것을 확인하였다. 이에 본 과제의 최종 모델을 구글넷으로 선정하였다.
 +
:[[파일:Method 1_표 12 자체제작모델의 성능평가지표별 결과값.jpg|600픽셀|섬네일|가운데|[표 15] 자체 제작 모델의 성능평가지표별 결과값]]
 +
:[[파일:Method 2_표 13 구글넷 모델의 성능평가지표별 결과값.jpg|600픽셀|섬네일|가운데|[표 16] 구글넷 모델의 성능평가지표별 결과값]]
  
 +
====시뮬레이션====
 +
1. 새로운 데이터 입력 시 모델의 정확성 검증
 +
:구축된 CNN 모델 시뮬레이션을 위해 새로운 충돌음을 입력하였다.
 +
:[[파일:그림 17 새로운 충돌음을 입력한 코드.jpg|600픽셀|섬네일|가운데|[그림 21] 새로운 충돌음을 입력한 코드]]
 +
:[[파일:그림 18 올바른 결과가 도출됨을 확인.jpg|600픽셀|섬네일|가운데|[그림 22] 올바른 결과가 도출됨을 확인]]
 +
:충돌음, 브레이크음, 고라니음, 항공기음의 4가지 유형의 소음 중 충돌음을 선택적으로 구별하는 것이 본 알고리즘의 목표이다. CNN상에 소리 파일(wav, mp4 등)을 입력했을 때 충돌음의 경우에는 “충돌음입니다” 텍스트를 출력한 뒤에 경보음 파일을 실행한다. 브레이크음, 고라니음, 항공기음의 경우에는 “충돌음이 아닙니다.” 텍스트를 출력한다.
  
 +
2. 검증 모델을 이용한 경보 시스템 설계
 +
:앞서 성능검증을 거친 모델을 활용하여 실제 상황을 가정한 경보음 작동 시뮬레이션을 실시하였다. 실제 충돌음 발생했을 때 교통상황실에 울리게 될 알림은 사이렌 경보음과 빨간색 점멸 LED 5회의 깜빡임이다. 따라서 아두이노를 이용하여 빨간색 LED와 경보음이 동시에 발동하도록 설계하였다.
  
 +
* 아두이노 회로 설계
 +
:아두이노 회로 설계시 사용된 재료는 아두이노 우노보드, 브레드보드(빵판), 빨간색 LED 램프, 220Ω 저항, 수수점퍼선 2개, USB 케이블이다.
 +
:[[파일:표 14 아두이노 회로 설계 재료.jpg|600픽셀|섬네일|가운데|[표 17] 아두이노 회로 설계 재료]]
 +
:위의 재료를 사용하여 아두이노 LED 점등 회로를 구성하였다. LED는 두 개의 리드선 중 긴쪽이 +에 해당하므로 브레드보드 A열의 12번과 13번에 –핀과 +핀을 각각 연결한다. 일반적인 LED의 경우 구동전압이 1.5~2V인데, 아두이노 우노에서 사용하는 전압은 5V이므로 LED를 구동하기 위한 전압으로 낮추기 위해서 저항을 병렬로 연결한다. 이때 병렬저항은 220Ω이 사용되었으며 저항은 브레드보드 C열의 8번과 12번에 핀을 연결하였다. 이후 하나의 수수점퍼선을 이용하여 우노보드의 GND와 브레드보드 A열 8번을 연결하고, 나머지 수수점퍼선을 우노보드의 디지털IO 13번과 브레드보드 A열 13번을 연결하여 회로를 설계하였다.
 +
:[[파일:그림 19 아두이노 회로 설계.jpg|600픽셀|섬네일|가운데|[그림 23] 아두이노 회로 설계]]
  
 +
* 파이썬 구성 코드
 +
:먼저 Python과 아두이노 간의 통신을 위해 ‘pip install pyserial’ 명령을 사용하여 pySerial 라이브러리를 설치하였다. 시뮬레이션을 위한 파이썬 코드 작성에는 ‘Visual Studio Code(VS code)’를 활용하였으며 구성한 코드는 다음과 같다.
 +
:[[파일:그림 20 입력 데이터가 충돌음일 때, 울리게 될 경보음 파일 로드.jpg|600픽셀|섬네일|가운데|[그림 24] 입력 데이터가 충돌음일 때, 울리게 될 경보음 파일 로드]]
 +
:[[파일:그림 21 입력 소음데이터의 스펙트로그램 전처리 후 모델로 데이터 입력 코드.jpg|600픽셀|섬네일|가운데|[그림 25] 입력 소음데이터의 스펙트로그램 전처리 후 모델로 데이터 입력 코드]]
 +
:[[파일:그림 22 입력 데이터가 충돌음일 때 LED와 경보음 발동 코드.jpg|600픽셀|섬네일|가운데|[그림 26] 입력 데이터가 충돌음일 때 LED와 경보음 발동 코드]]
 +
:입력 데이터가 충돌음일 경우 label이 1로 도출되도록 하고, 충돌음이 아니면 label이 0으로 도출되도록 구성하였다. label 결과값이 시리얼 통신을 통해 아두이노로 전송되면 아두이노 깜빡임 제어 코드에 따라 LED가 작동한다.
 +
:[[파일:그림 23 데이터 처리 후 새로운 데이터 입력을 위한 저장 데이터 리셋 코드.jpg|600픽셀|섬네일|가운데|[그림 27] 데이터 처리 후 새로운 데이터 입력을 위한 저장 데이터 리셋 코드]]
 +
:아두이노와 데이터 송⦁수신을 통해 데이터 처리가 끝나면 두 모델을 연동하는 시리얼 포트를 닫는다.
  
 +
* 아두이노 구성 코드
 +
:[[파일:그림 24 아두이노에 입력한 LED 깜빡임 구현 코드.jpg|600픽셀|섬네일|가운데|[그림 28] 아두이노에 입력한 LED 깜빡임 구현 코드]]
 +
:파이썬 코드를 통해 입력 데이터의 충돌음 여부를 판단하여 시리얼 통신을 통해 Label값 1이 수신된 경우 아두이노 회로의 빨간색 LED가 5번 깜빡이도록 하고, Label값 0이 수신된 경우 LED가 깜빡이지 않고 꺼지도록 한다.
  
 +
====예상 구상도====
 +
:본 설계의 시연결과에서는 별도의 마이크로폰을 설치하지 않았지만, 상용화 되었을 때를 가정하여 예상 구상도를 제작하였다.
  
 +
1. 부품도
 +
:[[파일:그림 25 마이크로폰 기기 구성.jpg|600픽셀|섬네일|가운데|[그림 29] 마이크로폰 기기 구성(순서대로 수신기, 마이크로폰, 방풍망)]]
 +
:[[파일:그림 26.jpg|600픽셀|섬네일|가운데|[그림 30] 송⦁수신기 계측치]]
 +
:[[파일:그림 27.jpg|600픽셀|섬네일|가운데|[그림 31] 마이크로폰을 구성하는 기기의 계측치(앞)]]
 +
:[[파일:그림 28.jpg|600픽셀|섬네일|가운데|[그림 32] Birdspikes와 Raincover 계측치(위)]]
 +
:[[파일:그림 29.jpg|600픽셀|섬네일|가운데|[그림 33] 방풍망의 계측치(위)]]
 +
:송⦁수신기는 가로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.jpg|600픽셀|섬네일|가운데|[그림 34] 마이크로폰 조립도]]
 +
:[[파일:그림 31.jpg|600픽셀|섬네일|가운데|[그림 35] '노이제로 시스템' 설치 예상 구상도]]
  
 +
==결과 및 평가==
 +
===구축 모델 평가===
 +
:[[파일:표 15 '노이제로 시스템' 최종 평가표.jpg|600픽셀|섬네일|가운데|[표 18] '노이제로 시스템' 최종 평가표]]
 +
:개발 모델의 평가결과 각 평가항목에 해당하는 개발목표치를 달성하여 달성률 100%로 기준 목표치였던 총합 90%이상의 기준치를 만족하였다. 따라서 본 개발 모델을 설치 대상이었던 인적이 드문 도로에 ‘노이제로 시스템’을 도입한다면 사고발견 지연으로 인해 꺼져가던 생명을 다시 활활 타오르도록 할 수 있을 것이다.
  
 +
===추가 제언===
 +
:구글넷을 이용한 현재 모델의 성능지표는 95%이지만, 최근 개발된 성능검증 완료모델을 이용한다면 정확도 99%이상을 기록하여 분별력 성능을 향상시킬 수 있을 것으로 기대된다.
  
*'''전기전자 폐기물 트래킹 시스템 개발을 위해 필요한 블록체인 기술'''
 
*'''암호화 기술'''
 
:1. 해시함수
 
:[[파일:Image06 블록폐인.jpg]]
 
::해시함수는 암호학에서 사용되는 함수로 입력된 값을 고정된 길이의 암호화된 문자열로 바꿔버리는 것을 의미한다. 해시함수는 블록체인 전반에 사용되며, 특히 블록체인상의 주소값과 암호와 과정은 모두 해시함수를 사용한다. 해시함수로 나온 데이터 값을 해시값이라 부르며, 그 과정을 해싱이라 한다. 보편적으로 여러 해시 알고리즘 중 SHA-256 함수를 사용하며 이 함수로 나올 수 있는 경우의 수(2의 256제곱)는 우주의 먼지를 다 합친 수보다 크다하여 중복이 거의 없을거라 판단하여 사용한다.
 
:2. 머클트리
 
[[파일:Image12 블록폐인.jpg]]
 
::머클트리 알고리즘은 블록체인을 사용하는 사람들이 증가 할수록 그에 따른 거래량(tps)의 증가로 인해 검증에 대한 시간이 오래 걸리는 문제와 보안에 대한 문제를 해결하기 위한 기술이다. 블록 안에 모든 데이터를 확인 하는 것이 아니라 각 거래를 연쇄적으로 해싱하여 일정길이의 문자열로 만들고, 그 경로에 대한 값을 저장하여 거래의 모든 내역을 확인하지 않고도 해당 거래를 확인 하는 것이 가능하게 해준다.
 
:3. 전자서명
 
[[파일:Image13 수정.jpg]]
 
::전자서명 이란 서명자를 확인하고 서명자가 당해 전자문서에 서명하였음을 나타내는 데 이용하기 위하여 당해 전자문서에 첨부되거나 논리적으로 결합된 전자적 형태의 정보를 말한다. 주로 거래를 전송할 때 디지털 서명을 이용하는데 이때 거래 내역을 암호화하고, 서명한 거래 내용과 함께 서명에 사용된 개인키와 쌍을 이루는 공개키를 같이 전송한다. 이 거래의 수신자는 거래 내용과 함께 수신된 공개키로 거래 내용을 열어서 거래 내용의 원본과 동일한지 비교하게 된다. 비교했을 때 두 거래 내용이 동일하다면 공개키 주인이 보낸 것임을 확신할 수 있게 되는 것이다. 디지털서명은 블록체인에서 비대칭키와 해시함수를 이용해서 다음과 같은 방식으로 데이터의 진위 여부를 확인할 수 있게 해준다. 블록체인에 담겨 있는 모든 거래 정보에는 디지털 서명이 포함되어 있어서 거래 정보에 대해 신뢰할 수 있다. 블록체인에서는 트랜잭션 정보에 전자 서명이 들어간다.
 
*'''합의 알고리즘'''
 
:'''1. PoW'''
 
:PoW는 Proof of Work의 줄임말로, 작업증명이라 불린다. 작업증명은 목표값 이하의 해시를 찾는 과정을 무수히 반복함으로써 해당 작업을 참여했을을 증명하는 방식의 합의 알고리즘이다. 그 과정을 채굴(mining)이라 하며 비트코인, 이더리움, 라이트 코인등 많은 암호화폐에서 작업증명 방식을 활용하고 있다. 이 합의 알고리즘의 최대 장점은 높은 보안성이다. 블록체인의 약점이라 불리는 51% 공격을 효과적으로 방어한다. 공격자가 51%공격을 성공시키기 위해서는 전체의 51% 이상의 컴퓨팅 파워를 확보해야하지만 그것은 천문학적인 비용을 요구하기 때문이다. 단점은 채굴 난이도가 높아짐에 따라 연산을 위한 전력소모로 인한 에너지 낭비가 심하다. 비트코인 채쿨에 소모되는 전력량은 연간 약 48테라와트시로 추정되는데 이는 페루, 홍콩 및 싱가포르의 연간 전력과 비슷한 수치이다.
 
:'''2. PoS'''
 
:[[파일:Image14_블록폐인.jpg|500픽셀]]
 
 
:Pos는 Proof of Stake의 줄임말로 해당 암호화폐를 보유하고 있는 지분율에 비례하여 의사결정권을 주는 합의 알고리즘이다. 이는 주주총회에서 주식 지분율에 비례하여 의사결정 권한을 가지는것과 유사하다. 채굴 과정이 필요없다. 이는 PoW와 비교했을 때 환경 친화적인 시스템이라는 장점과 인센트브에 대한 강한 동조 및 지지가 있다. 이 뜻은 PoW 방식의 문제점은 채굴하는 자들과 보유자들간의 이해관계가 문제가 되곤 하는데 PoS의 경우 대리인을 직접적으로 암호화폐에 투자하게 만들기 때문에 합의 대리인의 이해관계가 같아지게 된다. 단점으로는 불공정이 일어 날 수 있다는 점이고 이는 곳 보안성과 연결되어 PoW보다는 보안성이 떨어진다고 볼 수 있다.
 
:[[파일:Image15 블록폐인.jpg|500픽셀]]
 
:'''3. BFT'''
 
:BFT는 Byzantine Fault Tolerance의 줄임말로 비잔티움 장애 허용이라고 말한다. 이는 장애가 있더라도 전체의 3/1을 넘지 않는 다면 시스템이 정상 작동하도록 허용하는 합의 알고리즘이다. PoW 보다는 훨씬 빠르다는 장점과 PoS보다는 공평한 형태를 가지고 있으나, 2/3이상이 담합을 하는 경우 잘못된 데이터를 사용하게 되게 된다. 클레이튼의 경우 확정된 BFT를 사용하는데, 클레이튼의 경우 VRF(검증된 렌덤값)을 통해 BFT를 작동하게 하는 충분히 작은 숫자의 노드를 무작위로 선택하고 그 부분집합(Committee)에서 합의를 진행한다.
 
*'''스마트 컨트랙트'''
 
:블록체인 상에서 네트워크 참여자(노드)간의 계약을 하도록 만들어주는 기능이다. 스마트 컨트랙트는 참여자간의 합의한 내용 및 조건이 충족되면 자동으로 실행되도록 설계되어 있으며, 이 과정에서 사람의 개입이 불필요하다는 장점이 있다. 계약 내용은 스마트 컨트랙트 소스 코드로 작성되며, 블록체인 네트워크로 해당 스마트 커트랙트를 전송하면 참여자(노드)간의 유효성 검증이 이루어진다. 검증이 완료되면 블록체인은 스마트 컨트랙트가 담긴 블록을 생성하고 지속적으로 블록의 변경 상태를 지속적으로 확인 함으로써 보안성을 보장한다.
 
:[[파일:Image16 블록폐인.jpg|500픽셀]]
 
:스마트 컨트랙트의 장점으로는 자율성과 비용절감, 신뢰성, 보안성등이 있다. 자율성은 소스 코드로 이루어진 계약으로 제 3자가 필요 없기 때문에 당사자들이 온전한 권한을 가지게 된다. 이를 통해 제 3자가 필요 없기 때문에 비용이 절감되며, 프로그램 때문에 공정한 계약이 진행되며 문서의 위변조가 극히 어려워 지기 때문에 신뢰성을 가진다. 마지막으로 블록체인 내의 분산 원장 기술에 의해 안전하게 보관되고 업데이트 되기 때문에 보안성을 지닌다.
 
*'''전기전자폐기물 트래킹 시스템을 구현 할 블록체인 네트워크'''
 
:계획한 전기전자 폐기물 트래킹 시스템은 자체 시스템이기 때문에 노드 단위부터 개발하는 것이 적합하지만, 실질적으로 2달이라는 설계 기간과 기술적 난이도를 고려했을 때 설계 결과물을 블록체인 자체 개발을 하는 것은 불가하다. 따라서 기존의 블록체인 네트워크을 사용하여 스마트컨트랙을 개발하여 기능을 구현하는 것으로 방향성을 선정하였다. 현 시점에는 너무 많은 블록체인 네트워크가 존재한다 따라서 어떤 블록체인 네트워크를 선택할지에 대하여 평가 항목을 설정하고 그것을 바탕으로 블록체인 네트워크를 선택한다. 이렇게 기존 블록체인 네트워크로 구현한 전기전자폐기물 트래킹 시스템이 동작한다면, 추후 국가적 차원에서 자본과 인력을 들여 개발한다면 충분히 실현 가능함을 가정 할 수 있기 때문에 설계 단위에서 기존 블록체인 네트워크를 사용하는 것이 적절하다고 판단하였다.
 
:[[파일:Table15 블록폐인.jpg|400픽셀]]
 
 
:'''1.이더리움'''
 
::블록체인 기술을 기반으로 스마트 컨트랙트 기능을 구현하기 위한 분산 컴퓨팅 플렛폼이자 자체 통화. 2015년 비탈릭 부테린(Vitalik Buterin) 에 의해 개발되었다. 합의 방식으로는 현재 PoW(Proof of Work) 방식을 사용중이며 추후 PoS(Proof of Stake) 방식으로 변경할 예정이다. TPS는 PoW기반이기 때문에 느리지만 보안성 측면에서는 뛰어나며, 수수료가 비싸 문제점이 있다.
 
:'''2.클레이튼'''
 
::2018년 ㈜카카오의 자회사인 그라운드엑스(Ground X)가 개발한 분산애플리케이션을 위한 블록체인 플렛폼. 한국 기술로 글로벌한 자체 블록체인 개발 플랫폼에 의의가 있으며 현재 15개 국가의 51개 서비스가 운영되고 있다. 합의 방식으로는 BFT(Byzantine Fault Tolerant)을 사용한다. 카카오와는 독립적인 퍼블릭 블록체인 플랫폼이지만 이더리움에 비해 탈중앙화가 약한 대신 디앱에 필요한 실용성이 강화되었다. 수수료는 저렴한 편이며, 속도가 빠른 편이다.
 
:'''3.테라'''
 
::2019년 티몬 창업자인 신현성 대표가 개발한 블록체인으로 합의 알고리즘으로는 BFT(Byzantine Fault Tolerant) 와 PoS(Proof of Work)를 사용한다. 합의 알고리즘 방식에 의해 빠른 거래속도를 지니고 있으며, 다양한 분야로 활용되고 있다. 아직 이더리움과 같은 블록체인에 비하여 인지도가 많지 않지만, 계속해서 가능성을 인정받으려 생태계가 커지고 있다. 또한 유동성이 큰 코인의 문제를 해결하기 위한 스테이블 코인으로써 개발되어 발전 가능성이 크다.
 
 
===상세설계 내용===
 
:[[파일:Image17 블록폐인.jpg|500픽셀]]
 
 
:블록체인의 스마트 컨트랙트에 제품과 사용자의 데이터 구조는 <그림9>와 같다. 사용자의 데이터에는 블록체인의 지갑주소와 사용자의 코드 번호를 저장한다. 사용자 코드는 0, 1, 2, 3 으로 설정했으면 각각 관리자, 소비자, 수거자, 생산자에 대응된다. 각 코드에 따라 웹앱은 다른 기능으로 작동하도록 설계했다. 코드 0번 관리자의 경우는 전체적인 프로세스와 모든 제품에 대한 열람 및 사용자 조회가 가능하도록 설계하였고 이는 추후 국가기관이 관리하는 것으로 계획하며 설계하였다. 코드 1번 소비자는 생산과 수거 사이에 있는 모든 대상을 뜻하며, 중고 거래 상점도 이에 포함 될 수 있다. 코드 2번 수거자는 말 그대로 수거를 하는 사람을 말하며, 소비자와 다르게 수거하는 기능을 사용 할 수 있다. 코드 3번 생산자는 물건을 생산한 뒤 제품에 대한 정보를 블록체인에 올릴 수 있는 기능을 가지고 있으며 해당 제품을 추적 가능하도록 설계하였다. 제품은 탐색을 위한 고유번호를 가지며 재활용 유무와 수거 유무의 Boolean 타입을 통해 실시간 트래킹을 가능하도록 설계하였다. 또한 소유기록과 거래시간을 계속 저장하여 무단 투기된 제품의 이력을 추적 가능하다.
 
:[[파일:Image18 블록폐인.jpg|500픽셀]]
 
 
:블록체인을 바탕으로 한 서비스는 DB를 따로 두지 않고 주소와 개인키를 통한 인증을 지원한다. 그러나 개인 주소와 키는 너무 길고 복잡하기 때문에 다른 지갑 어플리케이션을 활용한다. 위 설계에서는 클레이튼과 연동되는 Klip API 지갑 서비스를 사용하였다. 그렇게 하여 사용자들은 복잡한 개인키를 암기하거나 보관할 필요를 줄인다. 사용자는 EcoTracking 앱을 통해 로그인을 시도하면, 자동으로 카카오톡 앱에 내장되어 있는 Klip 지갑으로 연결되게 되고 이를 통해 블록체인에 인증되게 된다. 이후에는 앱 서비스를 블록체인에 있는 본인의 개정으로 이용 할 수 있게된다. 위 과정에서 블록체인 네트워크  안에서는 익명성의 보안을 유지하게 되고, 만일 무단 투기로 인한 개인 신분 조회가 필요한 경우에는, Klip API와 카카오톡의 개인정보를 바탕으로 신분 조회를 가능하도록 한다.
 
:[[파일:Image19 블록폐인.jpg|500픽셀]]
 
 
:생산자가 앱에 로그인을 하여 인증을 마친 뒤에는 제품 생산과 동시에 데이터를 입력하여 블록체인상에 제품을 등록 할 수 있게 된다. 위 앱은 임시로 보여주기 위해 직접 하나하나 입력하는 방식으로 설계 되었지만, 당연하게도 자동화를 할 수 있으며, 이는 대량 생산에도 충분히 적용 가능하다. 입력된 제품 데이터는 바로 블록체인상에 올라가며 모든 사용자는 해당 데이터를 조회가능하다. 이후 제품을 구매하는 소비자는 생산자로부터 제품을 양도 받으며, 동시에 제품의 고유번호를 통해 해당 제품을 소비자 본인의 블록체인 제품으로 등록하게 되면서 거래가 이루어지게 된다. 해당 거래는 블록체인 상에 기록되어 영구적으로 조회 가능하다. 또한 이 거래는 실시간으로 업데이트 되기 때문에 실시간 트래킹이 가능하다.
 
:[[파일:Image20 블록폐인.jpg|500픽셀]]
 
 
:소비자는 다 사용한 제품을 수거 요청 할 수 있다. 수거 요청된 제품은 수거자에게 알림이 가고 이를 통해 수거를 진행하게 된다. 앱을 통한 수거 요청 과정은 기존 제도보다 절차를 단순화하는 장점과 실시간 반영되는 장점이 있다. 이를 통해 불필요한 인력 소모를 줄일 수 있으며 조금 더 발전시킨다면 수거 요청된 데이터를 바탕으로 수거 경로를 설정 할 수 도 있을 것이라 기대한다. 수거된 제품은 재활용 센터로 이동되는데, 재활용 센터에서는 해당 제품을 처리하면서 블록체인 상에 재활용 처리 가능하다. 이 과정도 QR코드와 카메라 센서등을 통해 자동화 한다면 많은 인력이 들지 않을것이라 생각하며 재활용 여부는 즉시 사용자와 생산자 등에게 전달되어, 모든 참여자가 해당 제품의 생산부터 소비, 재활용까지의 모든 과정에 참여하여 책임의식을 가질 수 있다.
 
 
==결과 및 평가==
 
===완료 작품의 소개===
 
 
====프로토타입 사진 혹은 작동 장면====
 
====프로토타입 사진 혹은 작동 장면====
'''가. 웹 어플리케이션'''
+
:[[파일:그림 32.jpg|600픽셀|섬네일|가운데|[그림 36] 분류소음 입력시]]
 
+
:[[파일:그림 33.jpg|600픽셀|섬네일|가운데|[그림 37] 충돌음 입력시]]
[[파일:image21_블록폐인.jpg|200픽셀]] [[파일:Image22 블록폐인.jpg|200픽셀]][[파일:Image23 블록폐인.jpg|200픽셀]] [[파일:Image24 블록폐인.jpg|200픽셀]][[파일:Image25 블록폐인.jpg|200픽셀]]
 
 
 
[[파일:Image26 블록폐인.jpg|200픽셀]][[파일:Image27 블록폐인.jpg|200픽셀]] [[파일:Image28 블록폐인.jpg|200픽셀]][[파일:Image29 블록폐인.jpg|200픽셀]] [[파일:Image30 블록폐인.jpg|200픽셀]]
 
 
 
 
 
'''나. 관리자 웹사이트'''
 
 
 
[[파일:Image31 블록폐인.jpg|500픽셀]]
 
[[파일:Image32 블록폐인.jpg|500픽셀]]
 
  
 
====포스터====
 
====포스터====
[[파일:Image33 블록폐인.jpg|700픽셀]]
+
:[[파일:그림 34.jpg|600픽셀|섬네일|가운데|[그림 38] 포스터 발표]]
 
+
:[[파일:그림 35.jpg|600픽셀|섬네일|가운데|[그림 39] 포스터 발표에서 시연 모습]]
===완료작품의 평가===
 
[[파일:Table16 블록폐인.jpg|400픽셀]]
 
 
 
*평가등급별 평가척도
 
:최고 A에서 최저 E 사이의 등급으로 절대 또는 상대평가 진행
 
A : 매우 우수하며 결점 또는 약점이 없음
 
 
 
B : 우수하며 중대한 결점 또는 약점이 없음
 
 
 
C : 기본적인 요구사항을 충족, 결점이 있으나 보완 가능
 
 
 
D : 요구사항의 일부만을 충족, 보완가능성이 불확실
 
 
 
E : 요구사항을 충족하지 못하고 근본적인 결점 존재, 현재의 제안으로는 보완이 불가능
 
 
 
'''1. 차별성 평가'''
 
 
 
*'''기술의 신규성'''
 
: 기존 전자폐기물의 수거 체계는 제조 기업의 서비스센터에 있는 폐전자제품 수거 시스템이나 공공기관의 폐가전 무상수거 또는 민간 기업의 수거 등으로 이루어진다. 이 때 몇몇 대형 가전(세탁기, 냉장고 등)에 대해서만 중량을 재고 나머지는 소형 가전으로 기록하며, 수거가 되는 것에 대해서 개별로 데이터를 기록하고, 통합 관리는 이루어지지 않고 있다. 하지만, 블록체인 기술을 이용해 수거 체계를 통합 관리한다면, 제조 기업의 서비스센터와 페가전 무상수거, 민간 기업의 수거에서 얻을 수 있는 모든 데이터를 실시간으로 투명한 통합 관리가 가능하다. 게다가, 사용연한에 대한 분석이나 어느 기업의 어느 제품인지까지 정확하게 알 수 있어 폐기물 통계에서 유의미한 정보를 획득하기 용이하다. 블록체인의 보안성과 거래속도 향상, 비용 절감이라는 장점을 여러 분야에서 인정받아 관련 기술 시장이 확장되고 있는 반면 현재까지 전자폐기물 처리 시스템은 구현되지 않았기에 본 설계의 핵심은 신기술을 도입한 처리 시스템을 구축하는 것이다. 기술의 차별성의 평가 요소는 다음과 같다.
 
:[[파일:Table17 블록폐인.jpg|400픽셀]]
 
  
:폐기물을 수거하고 처리하는 것은 필수적인 과정이므로 관련 분야에 있어서 자동화 혹은 고효율화가 이루어져야 하고 기존 기술 대비 우수성을 가져야 한다. 위 표의 평가내용에 따르면 블록체인 기술이 적용된 폐기물 추적 시스템은 기술차별성이 우수하다고 판단할 수 있다.
+
==참고문헌==
'''2. 성능평가'''
+
1. ''경찰통계자료''. (n.d.). 경찰청.https://www.police.go.kr/www/open/publice/publice0205.jsp.
*'''보안성'''
 
:현재 사용되고 있는 중저준위 방사성 폐기물 추척 관리 시스템 (WTS) 혹은 폐기물 적법처리 시스템 (올바로)의 경우 폐기물 이력 정보 및 처분과 관련된 모든 정보를 실시간으로 종합관리할 수 있는 기능을 갖추고 있다. 기존 시스템은 모든 정보를 데이터베이스화하여 문서관리 모듈을 활용하고 있으나 이는 별도의 암호화 통신 조치가 없다는 결점이 있으며 이로 인해 위변조의 가능성이 크다. 또한, 유선 랜에서 행해지는 다양한 공격방법이 무선랜 환경에서도 같게 사용되기 때문에 악의적인 사용자에 의해 공격당할 위험성이 있다. 블록체인 폐기물추적 시스템은 위변조할 수 없는 블록체인 기술을 도입함으로써 데이터의 무결성을 보장하는 동시에 보안 문제에 대한 위험요인을 제거할 수 있게 된다. 또한, 데이터 신뢰를 확보할 수 있는 적절한 서비스 모델을 구현하고자 사용자의 신분을 확인할 수 있는 스마트 컨트랙트를 활용하였다. 마지막으로, 개인정보에 대한 DB는 따로 두지 않고 주소와 개인 키를 통해 개인임을 인증하는데 이때 개인에 대한 다른 사적이거나 중요한 정보는 Klip 등을 통한 다른 서비스 내에 기록되기 때문에 개인정보에 대한 보안 위협이 없다.
 
*'''접근성'''
 
:본 설계는 웹 애플리케이션 ‘ECO Tracking’을 추가로 제작하고 이를 인터페이스로 활용하여 생산자, 사용자, 수거자 간의 정보 거래가 간단한 절차로 이루어지도록 하였다. 이는 스마트폰의 보급으로 모바일 APP의 시장이 폭발적으로 성장하고 있는 상황에서 개인화, 이동성 등의 강점을 극대화할 수 있을 것으로 판단된다. 도서관, 우체국 등 공공기관에서도 다양한 애플리케이션을 적극적으로 활용되고 있으며 이는 스티커를 부착하거나 동사무소를 방문하는 기존 방식보다 사용자(국민)에 대한 수용도가 더욱 높다는 것을 알 수 있다. 또한, 폐기물추적 시스템상에서 각 참여 단계의 구성원들이 시간 및 장소에 구애받지 않고 처리 상태를 확인할 수 있다는 점에서 높은 접근성을 가지게 된다. 또한, 이러한 시스템은 모두 퍼블릭 블록체인 상에서 이루어지기 때문에 모든 사용자가 폐기물에 대한 모든 통계와 데이터를 자유롭게 접근할 수 있다.
 
*'''경제성 평가'''
 
:4차 산업혁명의 핵심 기반 기술인 블록체인 산업 활성화 기반 조성을 위해서는 블록체인 산업의 경제적 파급효과와 사회적 기여도 분석에 대한 객관적인 효과 분석이 필요하지만 아직 이에 대한 구체적인 평가 기준이 없다. 그렇기 때문에 유사한 방안으로 경제성 분석을 실시해야 하는데 전세계적으로 전자폐기물 이슈가 대두되고 있는 상황과 그 공익성을 살펴 보았을 때 민간의 개인 개발이 아닌 공공정책의 하나로써 시행되어야 한다. 사회전체를 대상으로 하고 자리매김했을 시 정책 전으로 원상회복이 불가능하며 장기간 정책이고 사회적으로 복지가 증가하는 등 해당 특징을 모두 충족하고 있기 때문에 공공정책으로써의 경제성 분석을 시행해야 한다. ‘공공사업의 경제성 분석-윤갑식 교수 저’에 따라 공공정책임을 확인하여 예산측면에서 제약조건을 확인한 후 비용과 편익을 통해 B/C ratio를 계산한다.
 
:1)예산제약
 
:먼저 정책의 제약조건을 확인하기 위해 관련 산업에 대한 예산을 파악해야 한다. 아래는 과학기술정보통신부에서 2022년 블록체인 관련 사업을 위한 예산표와 환경부에서 환경정보 융합 빅데이터 플랫폼 구축을 위한 예산에 대한 표인데 각각 총 533억 1000만원, 24억 1600만원으로 현재 비용분석을 했을 때 충분히 예산 내로 들어오는 것을 확인할 수 있다.
 
:[[파일:Image34 블록폐인.jpg|500픽셀]]
 
:[[파일:Image35 블록폐인.jpg|500픽셀]]
 
  
:2)비용과 편익 분류
+
2. 김홍국, 박인영. (2021). ''딥러닝 기반 감지상황에서의 음향 사건 탐지 방법''(보고서 번호: 10-2021-0064018). 광주과학기술원.
:[[파일:Table18 블록폐인.jpg|400픽셀]]
 
  
:3)비용
+
3. 심언규. (2009.03.05.). 도내 곳곳에 교통과 방범카메라 많아. 기호일보.https://www.kihoilbo.co.kr/news/articleView.html?idxno=327869.
:[[파일:Table19 블록폐인.jpg|400픽셀]]
 
  
:관리자 인건비는 동대문구를 기준으로 했을 때 1명이 필요하므로 2022년 9급 공무원 초봉을 기준으로 계산했다. 개발비는 블록체인 개발 업체에서 평균적인 1회 개발 비용을 인용하여 계산했다.QR인식장치 설치비는 재활용업체에서 쓰이는 QR장치를 뜻하는데 동대문구의 재활용업체는 ‘에코시티서울’ 한 곳이기 때문에 한 곳에 네 개를 설치하여 160000원 * 4를 적용한다.홍보비는 공공단체에서 공익을 위해 진행되는 사업에 대한 홍보비 예산을 한 프로젝트 당 평균 10억 원으로 책정하기 떄문인 점과 시민 참여에 대한 보상이 부족해 많은 홍보가 필요하다는 점에서 이같이 책정했다. 그 이후에는 계도기간을 점점 지나 홍보에 필요한 예산이 줄어들 것이라고 가정하여 10억, 5억, 3억 순으로 책정했다. 유지보수비는 환경부 공개 법정민간대행사업비에서 ‘다. 플랫폼 유지관리’ 중 ‘HW 유지보수’와 ‘공개SW 유지보수’비 예산을 합친 106,000,000원/년으로 책정했다.
+
4. 이재준, 김완수, 이교구. (n.d.). ''합성곱 신경망 기반 환경잡음에 강인한 교통 소음 분류 모델''(석사). 서울대학교 융합학과 기술대학원, n.p..
:4)재활용 비용
 
:[[파일:Table20 블록폐인.jpg|400픽셀]]
 
  
:개당 재활용비율이 2002년 자료이기 때문에 ‘CPI소비자물가지수’의 화폐가치 계산식을 이용해 물가상승률을 곱한다.
+
5. 원두환. (2020). ''위험 환경요소에 대한 통계적 생명가치 금액 추정 : 교통사고 사망률 감소를 중심으로''(박사). 성신여자대학교, n.p..
:5)매출
 
:[[파일:Table21 블록폐인.jpg|400픽셀]]
 
  
:6)차익(매출-비용)
+
6. 정충길. (2009). ''데이터베이스를 이용한 SWOT 분석 시스템 설계 및 구현 = Design and Implementation of SWOT Analysis System Using Database''(석사). 부경대학교 대학원, 부산.
:[[파일:Table22 블록폐인.jpg|400픽셀]]
 
  
:동대문구 현재 차익을 Global E-Waste Monitor에 따라 동대문구 전체 전자폐기물의 20%에 해당하는 차익으로 한다.차익은 동대문구의 주요 4대 폐전자제품에 대한 데이터(735ton)을 통해 계산한 값이고 동대문구 현재 차익은 소형가전 등 기타가전을 모두 합친 값(1967ton)이다.
+
7. 최석훈, 유기열, 김용환, 황대곤, 김대경, 박해수, 한현용, 이종서, & 박래찬. (2022). 2022년판(2021년 통계) 교통사고 통계분석 (pp. 22). n.p.: 도로교통공단.
:7)년차별 항목별 편익과 비용
 
:[[파일:Table23 블록폐인.jpg|400픽셀]]
 
  
:해당 프로젝트에서 편익이란 현재 재활용률에 비해 재활용률이 증가했을 때 나타나는 그 증가분에 대한 재활용 판매 순이익이다.도난, 분실, 미등록 제품 등의 사유로 인해 최종 재활용률이 100%가 되는 것은 현실적으로 불가능하므로 해당 프로젝트를 10년간 진행했을 때 10년 후 재활용률 상승을 65%(20% -> 85%)로 설정하고 연간 6.5%씩 증가하도록 설정했다.
+
8. 최재경, 공찬우, 임성훈. (n.d.). 인공지능 기반의 자동차사고 감지 시스템 적용 사례 분석(석사). 울산과학기술원 대학원 경영공학부, n.p..
* 1년차 편익 : 동대문구 현재 차익/20*(6.5*년차)
 
* 1년차 비용 : 홍보비 + 인건비 + 유지보수비 + 개발비 + QR인식장치 설치비
 
* 2년차 이후 비용 : 홍보비 + 인건비 + 유지보수비
 
:8)편익/비용비(B/C ratio)
 
:[[파일:Image36 블록폐인.jpg|300픽셀]]
 
  
::현재가치화된 총편익과 총비용의 비율
+
9. 한경희, 황재성, 김도경, 이철기. (2019). e-Call 도입방법 및 도입 효과분석 연구(박사). 한국ITS학회논문지, n.p..
* r = 할인율(우리나라 서울특별시 기준 0.045)
 
:[[파일:Table24 블록폐인.jpg|600픽셀]]
 
  
:9)종합
+
10. Microphone Calibrated 1/2″ Class 1 IEPE . (n.d.). ROGA Instruments. Retrieved from https://roga-instruments.com/1-2-inch-mic/.
:B/C ratio는 평가를 내릴 때 1을 기준으로 한다. B/C가 1보다 클 때 해당 프로젝트가 수익성이 있다고 판단하여 프로젝트를 집행하고 1보다 낮을 때 프로젝트를 기각한다. ‘년차별 항목별 편익과 비용’으로 계산한 B/C ratio는 1.85로 1보다 상당히 상회하는 수준을 보였다. 투자액이 작은 사업의 수익성이 과장되기 쉬운 평가 기준이라는 것과 10년간 홍보예산을 상당히 높게 책정한 점을 감안해도 높은 수치이기 때문에 프로젝트가 수익성이 충분하다고 판단할 수 있다. 추가로 급격한 재활용률 증가로 재활용 관련 인력 수요가 증가해 취업유발효과와 추후 탄소중립에 대한 부가수익까지 기대할 수 있다.
 
*'''확장성 평가'''
 
: 전기전자폐기물을 중심으로 진행한 본 설계에서 나아가 타 폐기물에 대한 추적시스템으로의 확장성을 평가한다. 본 설계물의 차별성, 성능, 경제성 등을 분석한 결과에 따라 블록체인 기술을 기반으로 하여 여러 폐기물을 추적한다면 타 폐기물의 재활용률 상승 또한 기대할 수 있다. 하지만 국내외 블록체인 사업의 경우를 조사해보았을 때, 대상의 데이터를 관리하는데 블록체인을 활용한 데이터 관리가 좋은 사례로 남아 있음에도 불구하고 사업의 확장에 있어서 몇몇 기술적 과제가 남아있음을 알 수 있다. 블록체인은 대부분 오픈소스로 개발해 배포하고 있어 기업들에게 많은 인력을 요구하고 있다. 조직에서 프라이빗 블록체인을 구성하거나 외부조직과 컨소시엄 블록체인을 형성할 때 개개인의 서버(노드)를 추가하고 설치하는 작업은 번거롭고 시간이 많이 소모된다. 블록체인 기술을 더 넓은 범위에 접목시키기 위해서는 손쉬운 설치 툴이 있는지, 다양한 인프라환경에서 기존의 시스템과 쉽게 호환해 노드를 구성할 수 있는지를 추가적으로 고려해야한다. 또한 운영, 시스템, 네트워크 보안 등 유관 부서와의 협업도 사전에 계획을 세우는 것이 필요하다. 기업용 블록체인 시장의 64%를 차지하는 하이퍼 레저 패브릭은 이 같은 확장성 문제를 해결하기 위해 전송 최적화 등의 방법을 적용, 3500 TPS까지 속도를 개선했다. 이더리움도 올해 1분기 출시 예정인 '이더리움 2.0(세레니티)' 버전에 지분증명(PoS), 분산DB 기술(샤딩) 등을 적용해 기존 25 TPS에서 1만 TPS까지 성능을 개선하겠다고 밝혔다. 이처럼 방대한 데이터를 신속하게 처리하는 시스템의 성능이 점점 향상된다면 확장 가능성 또한 향상될 것으로 평가된다.
 
===향후계획===
 
*본 설계에서는 기존 폐기물 수거 관리 시스템의 한계점을 극복하고 불법적으로 투기되거나 해외로 수출되는 폐기물의 양을 절감하고자 블록체인 기술을 도입하였다. 설계의 적용 대상을 전기전자폐기물로 지정하였으나 다양한 지표(차별성, 경제성, 성능 등)를 통해 평가한 결과, 향후 ‘타폐기물에 대한 범용가능성이 높다.’라는 평가 결과가 도출되었다. 이에 따라 과제 제안서에서 제시했던 신기술 발전을 통한 환경 선진화의 달성을 기대할 수 있다.
 
*최근에는 사회혁신의 도구로 디지털 기술의 중요성이 부각됨에 따라, 이를 통하여 사회문제에 대한 새로운 해결책을 찾아낼 수 있다는 ‘디지털 사회혁신’에 대한 연구가 활발히 진행되고 있다. 따라서 인간의 삶 속에서 오랜 시간동안 잘 해결되지 않았던 쓰레기 문제를 해결하는 것에 있어 본 설계물이 유용한 도구로 활용될 수 있을 것이라 평가된다.  
 
*'''블록체인 기술의 발전동향'''
 
:최근 국내 산업시장에서 블록체인 기반 관련 제안서가 쏟아지고 있으나 대부분의 사업들이 기술적인 가능성을 확인하는 수준에서 머물러 확장되지 못하고 있는 것이 현실이다. 이러한 문제를 해결하기 위해서는 공공분야에서 기술을 선도적으로 추진하여 모범사례를 구축하는 것이 필요하다. 이는 향후 발생가능한 부작용을 최소화할 수 있는 방안을 마련하는 시도가 될 수 도 있고, 유망한 비즈니스 모델을 개발하여 국내외 시장을 선점할 수 있는 기회가 될 수도 있을 것이다. 블록체인의 성능, 확장성에 대한 연구는 활발히 진행되고 있으므로 이를 잘 활용하여 공공 인프라를 구축한다면 블록체인 기반 산업 도약의 좋은 발판이 될 것으로 보인다.
 
*'''블록체인 관련 정책 동향'''
 
:블록체인 관련 산업과 같이 새로운 서비스를 도입함에 있어 가장 유의해야 할 것은 기존에 존재하는 법, 제도와의 상충이다. 본 설계물 또한 개인, 기업에서 폐기물의 소유 정보를 기록하는 만큼 개인정보보호법이나 전자금융거래법 등에서 요구하는 정보의 수정 및 삭제 권리와 상충할 가능성이 있으므로 명확한 가이드라인 설정과 제도의 정비가 필수적일 것으로 보인다. 블록체인 상 최소한의 데이터만을 저장하고 개인식별정보 및 민감정보는 저장하지 않도록 시스템을 구축하거나 저장된 데이터를 국가차원에서 따로 관리(사용자와의 분리)할 수 있도록 조취를 취한다면 국내 환경에 걸맞은 기술의 도입이 가능할 것으로 보인다.  
 
  
===특허 출원 내용===
+
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).
#블록체인보안협동조합, 블록체인을 활용한 개인정보 보호 시스템, 10-2018-0072120, 2018
 
#옥도영, 블록체인 기반의 다이나믹 QR 코드를 이용한 귀중품 물류 보안 이력 관리 시스템 및 그 방법, 10-2019-0072371, 2019
 
#주식회사 웨이투빗, 각 노드가 사용하는 저장 공간을 자동으로 최적화할 수 있는 블록체인을 제공하는 방법 및 장치, 10-2019-0048772, 2019
 

2023년 8월 11일 (금) 21:26 기준 최신판

프로젝트 개요

기술개발 과제

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

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

과제 팀명

노이제로

지도교수

박승부 교수님

개발기간

2023년 3월 ~ 2023년 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을 초과하기 때문에 개발 과제의 경제적 타당성이 충분한 것으로 판단된다.

기술개발 일정 및 추진체계

개발 일정

노이제로 시스템 개발일정

구성원 및 추진체계

  • 서*범: 유튜브 교통사고 소음 데이터 수집, 분별해야 할 유사소음(고라니 울음소리, 도로교통 소음, 항공기 소음 등) 데이터 수집 및 전처리
  • 김*종: 효과음 플랫폼의 데이터 수집 및 전처리, 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을 사용한다.
[수식 2] Accuracy 산출식

(3) Precision(정밀도)

본 지표는 모델이 Positive라고 예측한 것들 중에서 실제로 정답이 positive인 비율을 의미한다. 실제 정답이 negative인 데이터를 positive라고 예측하면 안 되는 경우 중요한 지표가 된다. Precision을 높이기 위해서는 FP(False Positive)를 낮추는 것이 중요하다.
[수식 3] Precision 산출식

(4) Recall(재현율)

본 지표는 실제로 정답이 positive인 것들 중에서 모델이 positive라고 예측한 비율을 의미한다. 실제 정답이 positive인 데이터를 negative라고 잘못 예측하면 안 되는 경우에 중요한 지표가 된다. Recall을 높이기 위해서는 FN(False Negative)을 낮추는 것이 중요하다.
[수식 4] Recall 산출식

(5) F1 Score

본 지표는 Recall과 Precision의 조화평균으로, Recall과 Precision은 상호 보완적인 평가지표이기 때문에 주로 F1 Score를 사용한다. Precision과 Recall이 한 쪽으로 치우쳐지지 않고 모두 클 때 큰 값을 가진다.
[수식 5] F1 Score 산출식
  • 모델 성능 평가 결과
각 성능평가지표를 도출한 결과는 다음 표와 같다. 성능평가지표의 값들이 1에 가깝기 때문에 설계한 모델의 분류 성능이 뛰어남을 확인할 수 있으며, 본 과제에서 요구한 설계사양 중 하나인 모델의 정확도가 80%이상으로 평가기준을 충족하였다.
[표 10] 자체 제작 모델의 성능평가지표별 결과값

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

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

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

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

시뮬레이션

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

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

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

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

예상 구상도

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

1. 부품도

[그림 29] 마이크로폰 기기 구성(순서대로 수신기, 마이크로폰, 방풍망)
[그림 30] 송⦁수신기 계측치
[그림 31] 마이크로폰을 구성하는 기기의 계측치(앞)
[그림 32] Birdspikes와 Raincover 계측치(위)
[그림 33] 방풍망의 계측치(위)
송⦁수신기는 가로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. 조립도

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

결과 및 평가

구축 모델 평가

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

추가 제언

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

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

[그림 36] 분류소음 입력시
[그림 37] 충돌음 입력시

포스터

[그림 38] 포스터 발표
[그림 39] 포스터 발표에서 시연 모습

참고문헌

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).