Korean Institute of Information Technology

Current Issue

The Journal of Korean Institute of Information Technology - Vol. 22 , No. 2

[ Article ]
The Journal of Korean Institute of Information Technology - Vol. 20, No. 10, pp. 47-52
Abbreviation: Journal of KIIT
ISSN: 1598-8619 (Print) 2093-7571 (Online)
Print publication date 31 Oct 2022
Received 28 Jul 2022 Revised 04 Aug 2022 Accepted 07 Aug 2022
DOI: https://doi.org/10.14801/jkiit.2022.20.10.47

항온 항습기 제어 시스템을 위한 Stacked LSTM 기반의 온도 이상 예측
시종욱* ; 김성영**
*금오공과대학교 컴퓨터공학과 박사과정
**금오공과대학교 컴퓨터공학과 교수(교신저자)

Prediction of Temperature Abnormality based on Stacked LSTM for Control System of Thermo-Hygrostat
Jongwook Si* ; Sungyoung Kim**
Correspondence to : Sungyoung Kim Dept. of Computer Engineering, Kumoh National Institute of Technology, 61 Daehak-ro(yangho-dong), Gumi, Gyeongbuk, Korea Tel.: +82-54-478-7530, Email: sykim@kumoh.ac.kr


초록

항온 항습기는 적절한 온도나 습도가 유지되어야 하는 환경에서 주로 사용되지만, 급격한 온도 변화가 일어나면 에너지 효율에 좋지 못한 영향을 끼친다. 발열체의 온도가 갑자기 변화하게 되면 항온 항습기는 최적의 환경을 제공하기 위해 정상적인 상황과는 다른 작동을 하게 된다. 이러한 급격한 상황 변화를 미리 예측하여 전체적인 환경을 최적으로 조성한다면 에너지 효율 면에서 큰 장점을 보일 수 있다. 본 논문에서는 발열체의 시계열 온도 데이터를 이용해 Stacked LSTM 기반으로 이상을 조기에 예측하여 항온 항습기를 제어할 수 있는 시스템을 제안한다. 그리고 거리 센서와 온도 센서, Pan-Tilt HAT, 카메라를 결합한 하드웨어를 제안한다. 온도에 따라 오차가 커지는 점을 보정하는 방법을 보이며 발열체의 이상을 높은 성능으로 예측할 수 있다.

Abstract

Thermo-hygrostat is mainly used in environments where proper temperature or humidity must be maintained, but rapid temperature changes have a negative effect on energy efficiency. Suddenly, if the temperature of heating element changes, thermo-hygrostat chamber operates differently from the normal situation to provide an optimal environment. If such a rapid change of situation is predicted in advance and the overall environment is optimally created, it can show great advantages in terms of energy efficiency. In this paper, we propose a system capable of controlling therno-hygrostat by predicting abnormality early based on Stacked LSTM using time series temperature data of heating element. And, it proposes hardware that combines distance sensor, temperature sensor, Pan-Tilt HAT, and camera. It can predict the abnormality of the heating element with high performance by showing a method of correcting the point where the error increases according to the temperature.


Keywords: thermo-hygrostat, prediction, time-series, stacked LSTM, anomaly detection, sensor, calibration

Ⅰ. 서 론

항온 항습기는 공기 상태를 조절해주는 것이 주된 목적이며 실내 환경을 유지하고 적절한 온·습도를 유지해야만 하는 실험실과 같은 공간에서 주로 활용된다. 따라서, 항온 항습기는 각종 기기나 장비를 최적의 상태에서 작동을 가능하게 하는 다기능 공조 기기라 할 수 있다[1]. 항온 항습기의 실내기는 일정한 송풍량을 제공하기 위한 팬, 안정적인 가습량을 유지하기 위한 습도계 등으로 구성된다.

항온 항습기는 사람이나 사물의 이동과 변화에 따라 항온 및 항습을 유지하기 위하여 온도와 습도를 제어하게 된다. 이때, 급격하게 온도를 제어하게 되면 에너지의 낭비를 초래하고, 비효율적이라는 문제점이 있다.

본 논문에서는 에너지 효율에 관한 문제점을 해결하기 위해 항온 및 항습을 유지할 수 있는 딥러닝 기반의 시스템을 제안한다. 발열체로 인한 온도 변화가 발생하기 전에 보다 빨리 발열체에 공조를 수행하여 온도 제어를 보다 효율적으로 할 수 있도록 한다. Stack LSTM[2] 모델을 기반으로 시계열 데이터를 입력으로 받아 이상 온도를 미리 예측하여 항온 항습기를 제어할 수 있는 시스템을 보인다.


Ⅱ. 관련 연구
2.1 항온 항습기 연구

차인수 연구팀은 항온 항습기의 정밀한 온습도의 제어를 위하여 퍼지 PID 제어기를 이용한 알고리즘을 제안하였다[3]. 또한, 외기보상장치를 적용하여 제습 능력을 향상하고 시로코 팬을 이용해 장비특성에 맞는 방식으로 설계한 고효율의 시스템을 제안하였다.

류찬주 연구팀은 PET 장치에서 신틸레이터라는 항온 항습기의 내부의 온습도의 변화에 대하여 온습도 센서를 이용한 결과를 분석하였다[4]. 그리고 각 센서들의 값과 항온 항습기의 결과를 비교하여 온도와 습도의 차이를 분석하여 관리 범위를 벗어나는 결론을 도출하였다.

2.2 이상 감지 및 예측

A. Deng 연구팀은 센서 데이터와 같은 고차원의 시계열 데이터의 비정상적인 징후를 감지하기 위해 GNN을 접목하여 센서 간의 상관관계를 탐지하여 이상을 감지하였다[5]. Y. Liu 연구팀은 IoT에서 시r계열 데이터의 이상을 검출하는 FL 기반의 프레임 워크를 제안하였다[6]. 이 프레임워크는 어텐션 메커니즘에 기반한 AMCNN-LSTM 모델로, 상세한 특징을 포착함과 동시에 데이터를 예측할 수 있다. 김진영 연구팀은 진동 데이터를 고속 푸리에 변환을 통해 특징을 추출하고 GNN에 기반하여 IoT 시스템의 진동 데이터의 고장 여부를 검출하는 연구를 보였다[7]. 제안하는 방법은 데이터 불균형에 대하여 높은 검출 성능을 보였다. Q. Zhang 연구팀은 Non-local U-Net을 제안하고 두 개의 Generator가 존재하는 GAN 구조의 프레임워크를 통해 전역적인 내용과 윤곽선 정보를 추출하여 이상을 감지하는 방법을 소개하였다[8]. 시종욱 연구팀은 GAN을 기반으로 교통 도로 영상을 이용해 다음 프레임을 예측하고, 실제와의 비교를 통해 이상 상황임을 감지하는 프레임워크를 제시하였다[9].


Ⅲ. 제안 시스템을 위한 모듈 소개
3.1 거리 센서

제안 시스템에서 거리를 감지하기 위해 사용한 LiDAR 센서는 TFmini Plus LiDAR Module[10]이며 그림 1과 같다.


Fig. 1. 
Distance sensor : TFmini plus LiDAR module

TFmini Plus LiDAR Module은 거리를 TOF 방식에 기반하여 계산하게 된다. 이는 적외선을 이용해 물체와 접촉 후 반사되는 시간으로, 거리 D는 Point to Point 방식으로 식 (1)과 같이 물체와의 거리를 측정할 수 있다.

D=c2×12πf×Δϕ(1) 

TFmini Plus LiDAR Module은 0.1m에서 12m의 작동 범위를 지니며 FOV는 3.6°이다. 또한, 6m 이전에는 오차 범위 5cm, 6m 이상은 1%의 오차범위를 지닌다. UART 통신을 기반으로 하며 Baud Rate는 115,200이다. Data Bit는 8, Stop Bit는 1이며 Parity Check은 None으로 설정한다. 데이터 포맷은 Byte 0부터 Byte 8까지 9개의 영역으로 구성된다. 이 중 Byte 2, Byte 3은 거리에 대한 정보를 지니고 있다. 거리에 대한 값은 16bit로 구성되며 Low Byte는 Byte 2, High Byte는 Byte 3에 나타난다.

3.2 온도 센서

온도를 측정하기 위한 센서는 DTPA-UART-3232[11]이며 그림 2와 같다.


Fig. 2. 
Temperature sensor : DTPA-UART-3232

본 센서는 32×32개의 센서를 내장하여 1024개 픽셀에 해당하는 온도를 획득할 수 있기 때문에, 열화상 이미지 구현이 가능한 특징이 있다. 그리고 측정 범위 내에서 주변보다 온도가 높은 영역을 감지할 수 있다. 해당 센서는 비접촉 방식으로 원하는 물체의 표면 온도를 빠르고 정확하게 측정할 수 있는 센서 모듈이다. UART 통신을 이용해 온도를 출력하며 센서 온도와 대상 온도를 동시에 측정한다.

송수신 시퀀스는 반드시 최소 500ms 이상의 요청 주기가 존재하며 모듈의 온도가 갱신된 이후에 응답이 이뤄진다. 따라서 요청 시간에 따라 응답 시간의 변동이 존재한다. 데이터는 2054 Byte의 Response를 가지며, 32×32의 픽셀에 해당하는 온도 값들을 읽을 수 있으며 하나의 픽셀에 대한 온도가 2byte씩 할당된다.

따라서 특정 픽셀에 해당하는 온도를 알 수 있지만, 거리가 멀어질수록 실제 온도보다 낮게 특정되는 단점이 있기 때문에 보완해야만 한다.

3.3 Pan-Tilt HAT

본 연구에서 사용할 Pan-Tilt는 Pimoroni 라즈베리용 Pan/Tilt HAT[12]이며 그림 3과 같다. Pan-Tilt HAT은 라즈베리파이 위에 Pan-Tilt HAT를 연결하여 사용할 수 있으며, PWM을 이용해 LED를 제어할 수 있다. HAT 보드에서 두 개의 서보 모터를 개별적으로 제어할 수 있는 마이크로컨트롤러가 내장되어 있으며 각각의 축으로 180도까지 움직일 수 있다. 따라서 고정된 센서를 Pan-Tilt HAT에 장착하면 범위를 넓혀서 진행할 수 있는 장점이 있다.


Fig. 3. 
Hardware of proposed system


Ⅳ. 제안 시스템 구현 및 실험

라즈베리파이 상단에 Pan-Tilt HAT을 연결하고, 온도 센서, 거리 센서를 상단에 부착하여 온도 정보를 생성한다. 생성된 데이터들은 Stacked-LSTM 모델을 기반으로 이상 온도를 조기에 예측한다. 그리고 카메라 센서를 추가로 부착하여 발열체의 위치를 온도 값들에 기반하여 영상처리를 이용해 계산한 후 사용자에게 제공한다.

그림 3은 라즈베리파이를 기반으로 온도 센서, LiDAR 센서, Pan-Tilt HAT과 RGB 카메라를 결합한 하드웨어 구성을 보인다.

본 논문에서는 발열체가 아래에 위치하기 때문에 위에서 아래 방향으로 스캔하도록 한다. 그리고 검출된 발열체들의 전체 위치에서 평균 온도를 계산하여 출력하는 방식으로 구현한다. 다양한 센서의 위치는 다르지만 같은 영역을 촬영하기 위해 Calibration을 진행한다. 거리 센서와 RGB 카메라의 거리는 8cm이며 실험을 통해 동일한 위치를 향하도록 하여 신뢰성을 높인다.

온도 센서의 출력을 기반으로 검출하되 거리 센서를 이용해 온도 값을 보정한다. 거리에 따른 온도 센서의 보정은 표 1과 같다. DTPA-UART-3232 Specification의 거리에 따른 온도 측정 결과 및 오차의 그래프를 참고하여 전처리 후 선형 보간 방식으로 데이터를 매핑한다. 고정된 거리의 발열체 측정값에 따라 12m까지를 계산하고 이를 공식화하여 식 (2)와 같이 나타낸다. 식 (2)는 온도와 거리가 멀어질수록 실제 온도 값과의 오류가 커지는 심각한 문제점을 보완할 수 있다.

tm=tr+ini+d-dmin×sti,i=t-15(2) 
Table 1. 
Calibration to actual temperature according to distance and temperature
Temperature 5 10 15 20 25 30 35 40 45 50
Init 0.020 0.040 0.060 0.140 0.210 0.238 0.286 0.334 0.382 0.430
Step 0.010 0.047 0.063 0.077 0.093 0.131 0.149 0.177 0.204 0.232
Temperature 55 60 65 70 75 80 85 90 95 100
Init 0.478 0.526 0.574 0.622 0.670 0.718 0.766 0.814 0.862 0.910
Step 0.260 0.287 0.315 0.343 0.370 0.398 0.426 0.453 0.481 0.509
Temperature 105 110 115 120 125 130 135 140 145 150
Init 0.958 1.006 1.054 1.102 1.150 1.198 1.246 1.294 1.342 1.390
Step 0.533 0.560 0.587 0.614 0.642 0.669 0.696 0.723 0.750 0.777
Temperature 155 160 165 170 175 180 185 190 195 200
Init 1.438 1.486 1.534 1.582 1.630 1.678 1.726 1.774 1.822 1.870
Step 0.805 0.832 0.859 0.886 0.913 0.941 0.968 0.995 1.022 1.049

i는 온도를 5단위로 구역을 나눈 값이며 in[i]와 st[i]는 5단위의 온도에서 보정하는 초기값 init과 거리에 따른 step 값을 나타낸다. d는 실제 측정된 거리이며 dmin은 센서가 측정 가능한 최소 거리를 의미하며 0.1로 고정한다. tr은 온도 센서에서 획득한 최초의 값이며 식 (1)을 이용해 보정한 최종 온도의 결과는 tm으로 나타낸다. 그리고 Pan-Tilt HAT을 이용해 전체를 스캔하여 센서를 2도씩 움직이며 스캔하며 전체를 1회 완료하는 데 약 5분의 시간이 소요된다. 스캔을 완료하면 320x240의 온도 맵을 생성하여 RGB 카메라의 출력과 결합할 수 있도록 한다. Pan-Tilt HAT의 서보 모터들을 이용해 센서들을 스캔하는 방법을 위에서 아래로, 아래에서 위로 ‘ㄹ’ 형식으로 진행한다.

RGB 카메라의 촬영 결과도 320x240의 해상도로 변경하여 해당 픽셀에 대한 온도 정보를 알 수 있다. 발열체는 주변 온도보다 높다는 특징을 지니기 때문에, 온도 값들을 이용해 발열체의 위치를 검출할 수 있다. 따라서 주변 온도 tback보다 높으면 1, 그렇지 않으면 0으로 매핑한 이진 영상을 생성한다. 이 영상에 대하여 컨투어를 찾은 후 바운딩 박스의 좌표를 획득한다. 이 좌표 내부에 있는 온도 값들의 평균 온도를 구해 각각의 발열체에 대한 온도를 계산한다. 저장된 평균 온도의 길이가 5 이상인 경우 FIFO 방식으로 업데이트를 진행하며, 딥러닝 모델에 입력으로 넣은 후 결과를 출력하여 이상을 예측한다. 본 논문에서는 Stacked LSTM을 기반으로 데이터들의 분포를 학습하여 이상 온도가 발생할 가능성을 미리 파악하여 조기에 예측할 수 있다.

Stacked LSTM은 LSTM 모델을 여러 개 쌓아 성능을 향상시킨 모델의 구조이다. 층을 깊게 쌓는 형태이며, 복잡도가 높아 효율적인 특징을 지닌다. 따라서 Stacked LSTM은 LSTM보다 더 복잡한 내용 들을 해결할 수 있다. 그림 4는 Stacked LSTM을 기반으로 항온 항습기의 보정된 온도를 이용해 이상 온도를 예측하도록 하는 모델의 구조를 나타낸다.


Fig. 4. 
Model architecture of proposed method based on stacked LSTM

Stacked LSTM을 이용하여 Many to One 방식으로 모델을 설계하고 층은 2층으로 고정하여 실험한다. 5개의 연속 데이터 [t1, t2, t3, t4, t5]에 따른 결과값 하나를 예측하며, 이 결과의 범위는 [0, 1]으로 설정한다. 유닛의 개수는 30개이며 과적합 방지를 위한 1층과 2층의 Dropout은 70%와 90%로 설정한다.

데이터 세트는 직접 제작한 발열체의 200개의 데이터를 사용하며 학습과 테스트에는 7:3의 비율로 분리하여 진행한다. 그림 5는 제작한 데이터 세트를 나타낸다. 1~5열에서 연속적인 온도 [t1, t2, t3, t4, t5]를, label에서 0은 정상, 1은 이상을 나타낸다.


Fig. 5. 
Examples of created data

학습은 Ubuntu 18.04 LTS 환경에서 Geforce RTX 3090을 이용해 진행한다. Geforce RTX 3090가 지원되는 Cuda 중 GPU 사용이 가능한 Nvidia-Tensorflow 1.15.4 버전을 기반으로 한다. 학습시킨 모델을 라즈베리파이에 저장하고, 이 모델을 이용해 평가한다.

평균치보다 온도가 높을수록 결과값이 높아지는 경향이 있지만 적절한 임계값 설정에 따라 해결이 가능하다. 본 논문에서는 테스트 데이터를 이용해 실험한 결과는 임계값을 0.6으로 설정하였을 때 정확도는 93.5%으로 가장 높은 성능을 보인다.

표 2는 5개의 보정된 시계열의 온도 값에 대하여 이상을 예측한 결과의 일부를 나타낸 것이다. 상위 6개의 행은 이상 시계열 온도 데이터, 하위 6개의 행은 정상 시계열 온도 데이터를 나타낸다. 전체적인 데이터 분포가 높을수록 결과가 높아지는 경향이 보이지만, 이상이 있는 데이터들은 모두 임계값 보다 높은 결과로 산출되어 이상이라 인식하게 된다.

Table 2. 
Prediction results of proposed method
Input data Output
70.8 70.4 70.2 70 72.1 0.77 Abnormal
70.5 70.3 71 70.8 73.4 0.92 Abnormal
60.8 60.4 60.2 60 62.1 0.71 Abnormal
60.5 60.3 61 60.8 63.4 0.88 Abnormal
50.8 50.4 50.2 50 52.1 0.62 Abnormal
50.5 50.3 51 50.8 53.4 0.80 Abnormal
70.8 70.4 70.2 70 70.1 0.53 Normal
70.5 70.3 71 70.8 70.4 0.55 Normal
60.8 60.4 60.2 60 60.1 0.46 Normal
60.5 60.3 61 60.8 60.4 0.48 Normal
50.8 50.4 50.2 50 50.1 0.36 Normal
50.5 50.3 51 50.8 50.4 0.38 Normal


Ⅴ. 결론 및 향후 과제

본 연구에서는 항온 항습기 제어 시스템을 위한 온도 이상을 예측하는 방법을 제안하였다. 거리 센서, 온도 센서, 카메라 그리고 Pan-Tilt HAT을 결합한 하드웨어 시스템을 라즈베리파이에 접목하고 Stacked LSTM 기반으로 온도의 이상을 예측하는 연구를 진행하였다. 제안하는 방법은 전체적인 온도를 효율적으로 제어할 수 있으며 에너지 낭비 면에서 경제적인 장점이 될 수 있다. 하지만, 발열체는 여러 대 존재할 수 있으므로 객체검출을 통한 항온 항습기 제어로의 확장이 필요하다.


Acknowledgments

이 연구는 2021년 국립대학 육성사업비로 지원되었음


References
1. http://www.u2net.co.kr/Maintenance/ComputerCC/ProductInfo_01.asp. [accessed: Jul. 27, 2022]
2. C. Dyer, N. A. Smith, et. al., "Transition-Based Dependency Parsing with Stack Long Short-Term Memory", Proc. Of ACL, Beijing, China, pp. 334-343, Jul. 2015.
3. I. Cha, M. Ha, and G. Jung, "Study on the Energy-Saving Constant Temperature and Humidity Machine Operating Characteristics", Journal Of Energy Engineering, Vol. 25, No. 3, pp. 27-33, Sep. 2016.
4. C. Ryu, S. Hong, et. al., "Evaluation of Temperature and Humidity of a Thermo-Hygrostat of PET/CT Equipment using a Temperature and Humidity Sensor(BME 280)", Journal Of the Korean Society of Radiology, Vol. 14, No. 1, pp. 15-22, Feb. 2020.
5. A. Deng and B. Hooi, "Graph Neural Network-Based Anomaly Detection in Multivariate Time Series", Proc. Of the AAAI Conference on Artificial Intelligence, Vol. 35, No. 5, pp. 4027-4035, May 2021.
6. Y. Liu, M. S. Hossain, et al., "Deep Anomaly Detection for Time-Series Data in Industrial IoT: A Communication-Efficient On-Device Federated Learning Approach", IEEE Internet of Things Journal, Vol. 8, No. 8, pp. 6348-6358, Apr. 2021.
7. J. Kim, J. Seon, and S. Yoon, "Classification Method based on Graph Neural Network Model for Diagnosing IoT Device Fault", Journal Of The Institute of Internet, Broadcasting and Communication, Vol. 22, No. 3, pp. 9-14, Jun. 2022.
8. Q. Zhang, G. Feng, and H. Wu, "Surveillance Video Anomaly Detection via Non-Local U-Net Frame Prediction", Multimedia Tools and Applications, Vol. 81, pp. 27073-27088, Jan. 2022.
9. J. Si and S. Kim, "Traffic Accident Detection in First-Person Videos Based on Depth and Background Motion Estimation", Journal of Korean Institute of Information Technology, Vol. 19, No. 3, pp. 25-34, Mar. 2021.
10. http://en.benewake.com/product/detail/5c345cd0e5b3a844c472329b.html. [accessed: Jul. 27, 2022]
11. http://diwell.com/product/dtpa-uart-3232/116. [accessed: Jul. 27, 2022]
12. https://shop.pimoroni.com/products/pan-tilt-hat. [accessed: Jul. 27, 2022]

저자소개
시 종 욱 (Jongwook SI)

2020년 8월 : 금오공과대학교 컴퓨터공학과(공학사)

2022년 2월 : 금오공과대학교 컴퓨터공학과(공학석사)

2022년 3월 ~ 현재 : 금오공과대학교 컴퓨터공학과 대학원(박사과정)

관심분야 : 이상 감지, 영상처리, 컴퓨터비전

김 성 영 (Sungyoung Kim)

1994년 2월 : 부산대학교 컴퓨터공학과(공학사)

1996년 2월 : 부산대학교 컴퓨터공학과(공학석사)

2003년 8월 : 부산대학교 컴퓨터공학과(공학박사)

2004년 ~ 현재 : 금오공과대학교 컴퓨터공학과 교수

관심분야 : 영상처리, 컴퓨터비전, 기계학습, 딥러닝