DOI QR코드

DOI QR Code

Tracking Method of Dynamic Smoke based on U-net

U-net기반 동적 연기 탐지 기법

  • 곽경민 (한국산업기술대학교 컴퓨터공학부) ;
  • 노영주 (한국산업기술대학교 컴퓨터공학부)
  • Received : 2021.05.12
  • Accepted : 2021.08.06
  • Published : 2021.08.31

Abstract

Artificial intelligence technology is developing as it enters the fourth industrial revolution. Active researches are going on; visual-based models using CNNs. U-net is one of the visual-based models. It has shown strong performance for semantic segmentation. Although various U-net studies have been conducted, studies on tracking objects with unclear outlines such as gases and smokes are still insufficient. We conducted a U-net study to tackle this limitation. In this paper, we describe how 3D cameras are used to collect data. The data are organized into learning and test sets. This paper also describes how U-net is applied and how the results is validated.

4차 산업혁명 시대에 맞추어 인공지능 기술은 눈에 띄게 발전하고 있다. 그 중 CNN 등을 활용한 시각 데이터 기반의 인공지능이 활발히 연구 진행 중이다. 시각 기반 모델 중 하나인 U-net은 Semantic Segmentation에 강한 정확도를 보이고 있다. 기존의 U-net을 활용하여 여러 가지 연구들이 진행 되어왔지만 가스, 연기와 같이 외곽선이 뚜렷하지 않은 연구들은 아직 부족한 실정이다. 또한 이와 대조적으로 가스, 연기 탐지에 대해 많은 연구들이 진행이 되어왔지만 U-net 등을 활용하여 단순한 Detection이 아닌 Segmentation 연구는 부족하다. 이를 토대로 본 연구에서는 U-net을 활용하여 가스, 연기 등을 탐지하는 연구를 진행하였다. 본 논문에서는 설정한 실험환경에서 3D camera를 활용하여 데이터를 수집하고 학습 및 테스트 셋을 생성한 방법을 기술하고, U-net을 적용한 방법과 얻은 결과를 검증한 내용을 서술하고, 마지막으로 활용방안 등에 대하여 논하였다.

Keywords

Ⅰ. 서론

4차 산업혁명 시대에 접어들며 인공지능 기술은 나날이 발전하고 있다. 그 중 딥러닝 분야가 활발히 연구되고 있다. 딥러닝의 발전은 제조업의 설비교체 주기 예측 등 다양한 환경에서 적용 되고 있다.[1] 특히 LeNet, ResNet AlexNet, U-net 등의 시각 데이터를 기반으로 한 CNN 분야가 활발하게 연구되고 있는데, 이러한 딥러닝 연구를 기반으로 이를 활용할 수 있는 다양한 2차 연구들 또한 진행되고 있다. 새로운 사진, 그림, 음악들을 창작할 수 있는 기술부터 인간보다 뛰어난 탐지, 추적 등의 기술들이 대표적이다.[2] CNN을 이용하여 병해충 분류를 하거나 반려견의 얼굴을 분류하는 등의 기술이 있다.[3][4] 그 중 U-net은 Semantic Segmentation 분야에서 뛰어난 성능을 보인다.[5]

본 연구에서는 학습을 위해 사용될 데이터는 3D Camera로 수집하여 U-net을 기반으로 한 연기 탐지 기법을 설명한다. 본 연구와 같이 연기를 탐지하는 연구들이 존재 하며, U-net을 활용해 Segmentation을 진행한 사례 또한 존재했으나 연기와 같이 외곽선이 뚜렷하지 않은 객체들에 관해 U-net을 활용한 사례가 부족하여 본 연구를 진행한다.[6][7]

Ⅱ. 관련 연구

1. Semanntic Segmentation

Semantic Segmentation은 이미지 각 픽셀들이 어느 클래스에 속하는 지를 예측하는 알고리즘으로 컬러 혹은 흑백사진을 입력 값으로 하며, segmentation map을 출력한다. 단순히 사진을 보고 분류하는 것이 아닌 객체 자체를 픽셀 단위로 완벽히 이해해야 하는 높은 수준의 Deep Convolution Neural Network로 컴퓨터 비전 분야에서 핵심적인 역할을 담당한다. 최근 Kaggle 에서 있었던 ‘해상에서 선박찾기’부터 자율 주행 등 활용 분야가 광범위하다.[8]

컴퓨터 비전에서 많이 다뤄지는 문제들은 그림 1. 과 같이 3가지로 분류할 수 있다: Classification, Localization / Detection / Segmentation Semantic Segmentation 에서는 목적 이미지에 있는 같은 라벨링의 객체 각각을 instance로 분류하지 않고 객체를 class로 분류한다 (예를 들어, 사람 1, 2, 3, 4, 강아지 1이 있다고 가정하면, 사람 1, 2, 3, 4는 모두 인간 클래스로 분류되고 강아지 1은 강아지로 분류한다).[9] 이는 Semantic segmentation의 단점으로 작용하기도 하지만 본 연구에서 연기의 Instance를 구분할 필요가 없으므로 Instance로 구분하여 복잡도가 올라가 속도를 저하하는 현상을 방지할 수 있다.

OTNBBE_2021_v21n4_81_f0001.png 이미지

그림 1. 분류, 발견, 분할 표현 기법 예시

Fig. 1. example of Classification, Detection and Segmentation

U-net은 인코딩 과정과 디코딩 과정이 요구되며 이러한 형태를 가지는 네트워크는 FGN, SegNet , U-net 등이 대표적이며, 본 연구에서는 U-net을 기반으로 본 과정을 진행한다.[10]

2. U-net

U-net은 2015년 5월에 독일의 프라이 부르크 대학에서 Olaf Rnnebeger, PhilippFischer, Thomas Brox. 에 의해 작성 되었다. 본 논문은 Segmetation을 하는 단순하고 효과적인 방법으로 Fully Convolution Network(FCN)을 기반으로 적은 데이터를 가지고 효과적인 Segmentation을 도출하는 구조로 수정 한다.

기본적인 Architecture는 그림 2. 로 구성된다.

OTNBBE_2021_v21n4_81_f0002.png 이미지

그림 2. U-net Architecture

Fig. 2. U-net Architecture

그림 2.에서 빨간 중앙 경계선을 기준으로 좌측이 Encoder, 우측이 Decoder로 역할을 수행한다.(혹은 Constructing Path, Expansive Path로 불리기도 한다.)

인코더는 이미지의 context를 포착하고, 디코더는 up sampling 과정과 함께 인코더에서 포착 된 feature map을 결합하여 localization을 강화하는 역할을 한다. 이러한 형태가 U자를 그린다하여 U-net 이라는 이름이 붙여졌다. 가중치가 학습되는 과정의 수식은 다음과 같다.

\(w(x)=w_{c}(x)+w_{0} \cdot e^{-\frac{\left(d_{1}(x)+d_{2}(x)\right)^{2}}{2 \sigma^{2}}}\)       (1)

where wc : Ω→ℝ 클래스빈도의 균형을 맞추기 위한 가중치 맵

d1 : Ω→ℝ 가장 가까운 셀의 경계까지의 거리

d2 : Ω→ℝ 두 번째로 가장 가까운 셀의 경계까지의 거리

3. Mean IoU

IoU는 인식 모델 평가 지표중 하나로 Jaccard index 라고도 한다. IoU metric은 목표 값과 예측 값의 percent overlap을 정량화 하는 기법이다. 그림 3. 은 정량화 하는 예시이며, 수식 (2) 는 정량화 하는 수식이다.

OTNBBE_2021_v21n4_81_f0003.png 이미지

그림 3. Mean IoU 예시

Fig. 3. Example of Mean IoU

본 연구에서는 전체 pixel의 IoU를 평균화 하는 Mean IoU 기법을 활용한다[11].

\(I o U=\frac{\text { target } \cap \text { prediction }}{\text { target } \cup \text { prediction }}\)       (2)

4. 3D Camera의 Depth 기반 촬영

3D Depth 카메라는 기존의 물체에 반사 된 빛을 렌즈로 받아 RGV 값을 표현하는 방식과는 다르게 IR 센서를 적용하여 물체와의 거리를 측정하고, 하드웨어 혹은 소프트웨어에 따라 일부 거리 내의 물체만을 인식 할 수 있도록 하는 기술이다.

본 연구에서는 연기 Mask 값만을 수집하기 위해 일정 Depth(거리) 이하의 정보만을 받아 표현하는 방식을 사용하여 일정 거리 안에 연기를 연무시키고 연기만을 투영하는 방식을 채택한다. 이는 이후에 실험 환경 구성에서 설명한다.

Ⅲ. 본론

1. 실험 환경 구성 및 데이터 수집

가. 실험 환경

실험환경은 그림 4. 와 같이 카메라, 연무기 백그라운드로 구성된다. 연소나 화학 반응에 의한 연기는 질식, 화재 등의 위험이 있어서 실험에서는 연기와 시각적 특성이 유사한 수증기를 사용한다. 수증기 연무 장치는 시중에서 쉽게 구할 수 있는 가습기를 사용한다. 영상의 노이즈를 제어하기 위해 단색의 백그라운드를 설치하고, 카메라와 백그라운드 사이에 가습기를 설치하여 이를 측정한다. 측정을 위해 3D depth camera(intel D435i)를 활용한다.

OTNBBE_2021_v21n4_81_f0004.png 이미지

그림 4. 실험 환경 구성도와 수집 데이터 예시

Fig. 4. Experimental environment

나. 실험 방법

카메라와 백그라운드 사이에 연무기를 설치하고 분무를 시작한다. RGB 카메라로 pixel 전체의 이미지를 수집하고, depth 카메라로는 일정 depth 내(1 meter 미만)의 pixel만을 수집한다. 초당 3 프레임을 수집하고 총 11, 000개의 데이터를 수집한다. 이 때 수집되는 RGB 데이터는 모델의 X 입력 값으로, Depth 카메라 데이터는 전처리 후 Y 입력 값으로 활용 한다.

데이터 수집은 메모리 오버플로(overflow)를 방지가 필요하다. 3.46 gb 기준 U-net 모델 적용 시에 RAM 점유율이 과도하게 높아져 메모리 오버플로 발생이 가능하다. 이를 방지하기 위하여 데이터 분할이 필요하다. 본연구에서는 각각 데이터를 학습 데이터를 10개 단위로 학습하고 다시 불러오는 방식으로 오버플로를 처리 한다.

다. 수집 데이터

데이터는 480x640x3 크기의 3가지 데이터 총 33, 000개로 20, 000개는 학습 데이터로 사용되고 1, 000 개의 데이터는 테스트 데이터로 사용된다. 학습 데이터 일반 RGB 데이터와 Mask 데이터를 입력 값으로 한다.

OTNBBE_2021_v21n4_81_f0006.png 이미지

그림 5. 수집 데이터 3가지

Fig. 5. 3 type of collected data

2. 실험 데이터 분석 및 전처리

학습 데이터와 테스트 데이터는 각각 동일한 실험 환경에서 수집 되었고, 각각 X 입력 값으로 RGB 이미지인 3 channel 데이터를 활용하고, depth 카메라를 활용해 1 meter 이내의 pixel을 입력 받아 pixel에 객체가 존재하면 True, 존재하지 않으면 False의 값으로 주어 Boolean 형태의 1 channel 값으로 변환하여 Y 입력 값 (mask)으로 사용한다.

또한 mask 데이터는 노이즈 제거를 위해 모폴로지 연산 중 하나인 Dilation 연산과 Erosion 연산을 사용하는 Closing 연산을 특정 크기의 커널 연산 작업한다.

그림 6. 는 Y 입력 값의 예시이고, 그림 7. 은 실제 수집된 데이터 이다.

OTNBBE_2021_v21n4_81_f0007.png 이미지

그림 6. 640x480x1 크기의 Y 입력 값 예시

Fig. 6. example of Y data size 640x480x1

OTNBBE_2021_v21n4_81_f0008.png 이미지

그림 7. RGBl(좌), mask데이터(우) (X 입력, Y 입력)

Fig. 7. RGB(L), Mask data(R) (X input, Y input)

3. 모델 정의 및 적용

U-net의 기본적인 구조는 그림 2. 와 같으며 본 연구에서 사용된 모델은 그림 8, 9. 와 같다.

OTNBBE_2021_v21n4_81_f0009.png 이미지

그림 8. 본 연구에 적용된U-net 모델의 Encoder

Fig. 8. Encoder part of U-net model

OTNBBE_2021_v21n4_81_f0010.png 이미지

그림 9. 본 연구에 적용된 U-net 모델의 Decoder

Fig. 9. Decoder part of U-net model

그림 8.은 인코더, 그림 9. 은 디코더 부분에 해당된다.

본 연구의 적용된 모델에서는 활성 함수(activation function)로는 ReLu 보다 학습 속도를 향상키기는 것이 가능하여 ELU 함수를 사용하고, 손실 함수(loss function)로는 바이너리 크로스 엔트로피(binary cross entropy)를 사용한다. 이 방법은 True or False 두 개의 예측 값과 기대 값의 차이를 계산하는데 효과적이다.

옵티마이저(optimizer)로는 Adam을 사용한다. 아담은 각 네트워크 가중치에 대해 학습률이 유지되며 학습이 전개될 때 별도로 작동한다.

Metric으로는 학습에서는 아무런 역할을 하지 않고 손실 기능이 아닌 시각적으로 훈련을 비교할 수 있도록 측정 기준치는 Mean IoU를 사용한다.

OTNBBE_2021_v21n4_81_f0011.png 이미지

그림 10. Adam의 최적화 진행 과정[12]

Fig. 10. optimizing process of adam

OTNBBE_2021_v21n4_81_f0012.png 이미지

그림 11. ELU 함수와 RELU 함수

Fig. 11. Function ELU, RELU

Ⅳ. 분석 및 결과

1. 모델 출력값 분석

그림 12. 은 좌측이 X 입력 값인 RGB 데이터이고, 우측이 Y 입력 값인 Depth 기반의 mask 이미지 이다.

OTNBBE_2021_v21n4_81_f0013.png 이미지

그림 12. 좌 RGB, 우 mask 데이터

Fig. 12. Data RGB(L), Mask(R)

그림 13. 의 좌측 이미지는 그림 12. 의 데이터를 활용해 예측한 모델의 출력 값이고, 우측은 예측 값의 특정 임계치를 주어 실제 이미지와 합성한 이미지이다.

OTNBBE_2021_v21n4_81_f0014.png 이미지

그림 13. 모델의 예측 값(좌), 합성 이미지(우)

Fig. 13 Model Prediction Value(L), Merged Image(R)

그림 14. 는 테스트 데이터로 출력한 몇 가지 데이터를 나타낸다. 좌측부터 X 입력, Y 입력, 출력된 예측 값, 합성 이미지이다.

OTNBBE_2021_v21n4_81_f0015.png 이미지

그림 14. 테스트 데이터로부터 출력한 값 예시

Fig. 14. Sample of Prediction Value using Test data

1, 000개의 테스트 데이터에서 각각 이미지의 IoU와 전체 mean IoU는 그림 15. 와 같다.

OTNBBE_2021_v21n4_81_f0016.png 이미지

그림 15. 테스트 데이터 별 IoU와 전체 mean IoU 분포

Fig. 15. Dispersion of IOU and meanIoU per each Test data

그림 16. 은 U-net 원문(U-Net:Convolutional Networks for Biomedical Image Segmentation Updated: May 11, 2020) 에서 특정 데이터(cell segmentation)에서 IoU지표가 가장 높게 나타남을 의미한다. 이는 위 특정 데이터에서 가장 높은 정확도가 나타남을 의미한다.

OTNBBE_2021_v21n4_81_f0017.png 이미지

그림 16. U-net 논문의 특정 데이터셋 IoU 수치

Fig. 16. Specific Dataset IoU Figures of Unet paper

본 논문의 모델의 평균은 IoU ≒ 0.7900으로 몇 개의 이상 수치를 제외하면 높은 밀도로 IoU가 높은 값을 나타낸다. 이는 예측 값이 실제를 잘 표현하고 있다는 지표이다.

그림 17. 은 Yolo v3를 활용한 연기 탐지 모델을 활용하여 연기를 탐지하는 방식이다. Yolo 모델을 사용 할 경우에는 Box형태로 출력하지만 U-net을 활용할 경우에는 그림 12. 와 같이 더 상세한 탐지가 가능하다.

OTNBBE_2021_v21n4_81_f0018.png 이미지

그림 17. Yolo v3를 활용한 연기 탐지

Fig. 17. Smoke Detection using Yolo v3

Ⅴ. 결론

본 논문에서는 연무 장치를 이용하여 연무를 하고 이를 3D Camera를 활용하여 수집하였다. 이렇게 수집된 데이터들은 U-net 모델 학습에 적합한 형태로 전처리하고 U-net 모델을 구성하여 위 데이터들을 활용하여 학습 시켜 이미지 속 연기를 동적으로 탐지하는 연구를 진행하였다.

위의 결과를 토대로 3D 카메라로 데이터를 생성하고, 이를 활용하여 U-net에 적용한 모델은 높은 적중률을 나타내고 있다. 이를 활용하여 GAN 등 타 모델 또한 적용이 가능할 것이다.

이러한 수집 방법과 모델링 기법으로 제작된 모델은 특정 상황에서 높은 정확도를 보이며 CCTV 등의 환경에서 연기 등( 동일한 환경에서 특정 이상 물체 발견 )을 빠르고 정확하게 검출이 가능할 것으로 예상하고, 이를 반대로 활용하여 CCTV내에서 연기와 같은 유동적인 객체를 제거하여 선명한 background를 유지시키거나, 반대로 특정 객체를 생성하여 허구의 이미지를 만들어 낼 수도 있다.

또한 그림 18. 과 같은 다중 연무 환경에서도 여러 센서를 배치 할 필요가 없이 한 대의 카메라로 영상을 원격으로 수집하여 이를 수집 하는 것이 가능 할 것으로 예상된다. 이러한 장점은 비용 절감 및 기존 수치형 센서의 불안정성을 대체 할 것으로 기대된다.

OTNBBE_2021_v21n4_81_f0019.png 이미지

그림 18. 다중 연무 장치에서 데이터 수집

Fig. 18. Example of Multiple Smoke Generator

하지만 본 연구의 한계점은 활용 데이터의 다양성이 부족하기 때문에 다양한 환경에서 사용하기 어렵다는 단점이 있을 수 있다. 이를 보안하기 위해 더욱 다양한 환경에서 데이터를 수집하여 학습 데이터로 사용 할 경우 보완될 것으로 예상한다.

그림 19. 은 이러한 단점을 보여주는 예로 한가지 환경에서 모델을 학습하고 사용하기 때문에 높은 정확도를 보이나, 실험 환경과 다른 환경에 노출될 경우에는 다시 학습을 시켜줘야 제대로 된 성능을 발휘 할 수 있다. 이러한 한계점을 극복하기 위해서는 다양한 데이터 셋을 활용할 필요가 있다.

OTNBBE_2021_v21n4_81_f0020.png 이미지

그림 19. 다른 환경에서의 연기 탐지

Fig. 19. Smoke Detection of another Environment

본 연구는 가스의 유동량을 예측하기 위해 사전 연구된 모델로 이후의 연구는 RGB 기반의 입력 값이 아닌 IR 카메라를 활용하여 온도, 파장 등을 고려하여 유해 가스를 검출할 예정이다.

LSTM 등을 활용하여 동영상 기반의 시계열 데이터를 활용하여 이후의 유동 추세 유동량 등을 파악하고 Segmentation 진행 된 내부를 클러스터링 하여 상대농도를 파악할 예정이다.

References

  1. Hwang, Gwak et al."Analysis of Defective Causes in Real Time and Prediction of Facility Replace ment Cyclebased on Big Data". IIBC Vol. 19, No 6
  2. Kim et al, "Tomato Crop Diseases Classification Models Using Deep CNN-based Architectures", Journal of the Korea Academia-Industrial cooperation Society Vol. 22, No. 5 pp. 7-14, 2021 https://doi.org/10.5762/KAIS.2021.22.5.7
  3. Kim et al., "Recognition of dog's front face using deep learning and machine learning", Journal of the Korea Academia-Industrial cooperation Society Vol. 21, No. 12 pp. 1-9, 2020 https://doi.org/10.5762/KAIS.2020.21.12.1
  4. Jiankang Deng et al., "ArcFace: Additive Angular Margin Loss for Deep Face Recognition",CVPR 2019, Feb 2019
  5. Olaf Ronneberger et al., "U-Net: Convolutional Networks for Biomedical Image Segmentation", MICCAI 2015, pp 234-241, May 2015
  6. K.M Gwak et al., "Machine learning technique and image-based smoke emission prediction using Youtube video", KCC 2020 BUSAN, 07 2020
  7. Dmitry Lachinov et al., "Glioma Segmentation with Cascaded UNet", BrainLes 2018: Brainlesion: Glioma, Multiple Sclerosis, Stroke and Traumatic Brain Injuries pp 189-198
  8. Kaggle , "Airbus Ship Detection Challenge", https://www.kaggle.com/c/airbus-ship-detection, 2021-04-07
  9. Arthur Ouaknine, "Review of Deep Learning Algorithms for Object Detection", 2021-04-07, https://medium.com/zylapp/review-of-deep-learning-algorithms-for-object-detection-c1f3d437b852
  10. Vijay Badrinarayanan et al., "SegNet: A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation", IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, VOL. 39, NO. 12, DECEMBER 2017
  11. Mean IoU, " 6-5 Recognition Model Evaluation Indicators,2020-04-07, https://jetsonaicar.tistory.com/14
  12. Adam Learning Process ,"Adam", 2020-05-10, http://bakbang.blogspot.com/2017/08/adam.html