1. 서론
최근 수면케어는 체온, 뇌파와 같은 생체 데이터를 직접 측정하고 분석하여 사용자에게 맞춤형 숙면 유도 서비스의 제공을 목표로 하고 있다[1-3]. 그중 하나의 예로 수면 전 사용자의 안구 주위를 온열하는 온열 마사지 서비스를 들 수 있다[4]. 그러나 이러한 서비스는 사용자에 따라 만족도도 다르고 효과도 다르므로 개인 맞춤형으로 제공되어야 한다[5-6]. 이를 위해 개인식별이 필요하다.
개인을 식별하는데 활용하는 생체 데이터는 안전도(EOG, Electrooculography), 지문, 뇌파, 홍채, 심전도, 음성이 있다[7-10]. 특히, 안전도 데이터는 사용자의 눈 주위의 이마 부근(전두엽)에서 측정하는 뇌파 데이터이다. 눈을 깜빡일 때 뇌파를 측정하면 전위(㎶)의 세기가 일정한 형태로 변화한다[11]. 이러한 특징으로 눈을 깜빡일 때마다 뇌파에서 안전도 데이터를 분리할 수 있다. 이 데이터를 이용하면 실시간 개인식별이 가능하며, 맞춤형 수면케어 서비스에도 접목할 수 있다[12].
그러나 기존의 연구 사례는 안전도 데이터와 함께 측정되는 잡파를 고려하지 않았다. 잡파는 땀, 사용자의 뒤척임, 침 삼킴, 전극선의 흔들림, 접촉 불량, 정전기와 같은 원인으로 발생하는 오염된 파형을 말한다[13-14]. 잡파는 안전도 데이터에서 눈 깜빡임 데이터를 추출하는 데에 방해되어 개인식별의 정확도를 떨어뜨리는 주된 원인이 된다. 따라서 실제 서비스로 활용하기 위해서는 안전도 데이터와 잡파를 분리하여 제거하는 필터링이 필요하다.
본 논문에서는 필터링 과정을 1차와 2차로 구분하여 제안한다. 잡파는 순수한 안전도 데이터에 비해 불규칙적이고 큰 전위를 갖기 때문에 1차 필터링으로 임계치를 설정하여 벗어나는 데이터를 잡파로 분리할 수 있다.2차 필터링에서는 임계치를 벗어나지 않는 데이터에서 머신러닝 모델을 이용하여 잡파를 분리하고 제거한다. 머신러닝 방법 중 하나인 신경망 모델은 최적화 함수와 손실함수의 미분 값을 이용하여 전역 최소값을 찾는 과정을 통해 분류 정확도를 높일 수 있다[15]. 이 과정에서 신경망 모델은 은닉층을 학습하는데, 이 은닉층의 파라메터에 따라 모델의 성능이 결정된다. 따라서 2차 필터링을 위한 신경망 모델에서 최적의 파라메터를 찾아 정의할 필요가 있다. 이를 위해 잡파 필터링 성능을 기준으로 하여 눈 깜빡임 데이터와 잡파 분리 실험을 통하여 확인한다.
본 논문의 구성은 다음과 같다.2장에서는 본 논문의 기본이 되는 안전도 데이터의 특징과 함께 측정되는 잡파를 정의한다.3장에서는 본 논문에서 사용된 데이터셋을 정의하고 데이터 전처리 방법과 학습과 정, 그리고 잡파 예측 방법을 제안한다.4장에서는 실험과정과 실험 데이터를 기술하며, 본 논문에서 제안하는 눈 깜빡임 데이터와 필터링 실험을 진행한다. 마지막 5장에서는 결론을 맺고, 향후 연구 주제에 대해 제시한다.
2. 관련연구
2.1 안전도 데이터와 눈 깜빡임 특징
안전도 데이터는 눈의 양전위를 갖는 각막과 음전위를 갖는 망막의 쌍극자 역할 때문에 Fig.1과 같이 사용자가 눈을 깜빡이게 되면 전위가 일정한 형태로 변화한다. 이를 눈 깜빡임 데이터라고 한다. 측정된 이 데이터는 임계값을 경계로 전위차에 거의 영향을 주지 않는 단순한 안구 움직임과 대비되어 쉽게 분류된다[16].
Fig. 1. Threshold for eye blink data.
또한, 무의식으로 하는 비의도적 눈 깜빡임(a)과 의식하고 하는 의도적 눈 깜빡임(b) 사이에도 전위차가 존재하므로 의도적 눈 깜빡임 임계값을 경계로 분류할 수 있다[17]. 이러한 눈 깜빡임 데이터는 사용자가 의도적으로 쉽게 발생시키고, 분류할 수 있다는 점에서 이벤트 발생을 위한 트리거로도 활용한다. 그 한 예로 팔을 자유자재로 움직일 수 없는 환자에게 눈 깜빡임으로 전동 휠체어를 제어하는 경우이다[18]. 또한, 의도적인 눈 깜빡임 데이터는 개인마다 서로 다른 특징을 갖는다. 예를 들어 Fig.1.의 (b)에서 파형은 양전위를 유지하다가 음전위로 바뀌며 다시 중성으로 돌아오는데 안구의 크기에 따라 양전위, 음전위의 세기나 지속시간이 달라진다. 이러한 특징을 통하여 기존의 연구 사례에서 25명의 눈 깜빡임 데이터로 최대 97.3%의 개인식별 정확도를 얻은 사례가 있다[16].
그러나 눈 깜빡임 데이터 측정 과정에서 잡파가 발생하여 섞인다면 잡파를 안전도 데이터의 파형 중 하나로 오인식할 수 있어 개인식별 정확도가 떨어지는 원인이 된다. 이러한 점에서 안전도 데이터를 분석하기 전에 잡파를 필터링하여 제거하는 과정이 필요하다.
2.2 안전도 데이터와 잡파 필터링
잡파를 필터링하는 방법 중 하나로 노치 필터와 밴드 패스 필터를 이용하여 특정 대역만을 얻거나 제거할 수 있다. 또한, 하이패스 필터와 로우패스 필 터를 이용하여 일정 범위의 대역을 추출할 수 있다. Fig.2는 기존의 연구 사례에서 안전도 데이터 분석을 위해 수행한 잡파 필터링 과정이다. 사용자에게서 측정한 안전도 데이터는 잡파가 섞일 수 있으므로 잡파 제거를 위한 필터링 과정을 거친다.Fig.2의 (a)는 전기 주파수 표준인 60㎐ 대역을 제거하기 위한 60㎐ 노치 필터가 사용되며 (b)는 안전도 데이터가 측정되는 세타파 대역을 얻기 위해 0.1㎐하이패 스 필터와 14㎐로 우패스 필터를 적용한다. 이와 같은 과정으로 잡파가 제거된 안전도 데이터를 얻을 수 있으며 눈 깜빡임 데이터를 쉽게 추출할 수 있다.
Fig. 2. Preprocessing process for eye blink data.
시선추적을 위해 안전도 데이터를 사용한 연구에서는 PSL-iEOG2안전도 측정기기를 사용하며, 60 ㎐ 노치필터와 0.05㎐ 하이패스 필터를 적용한다[19]. 안전도 데이터를 활용하여 키보드를 구현한 연구에서는 Mindwave안전도 측정기기를 사용하며 1㎐ 하이패스 필터와 50㎐ 로우패스 필터를 적용한다[20]. 체스게임을 위해 안전도 데이터를 측정한 연구에서는 ActiChamp 안전도 데이터 측정기기를 사용하며 60㎐ 노치필터와 1㎐ 하이패스 필터와 17㎐ 로우패스 필터를 적용한다[21].
그러나 안전도 데이터를 측정할 때 잡파가 심하게 섞인다면 기존의 필터링 방식만으로 잡파를 제거하기 어렵다.Fig.3은 사용자의 땀에 의한 잡파가 섞인 안전도 데이터에 Fig.2에서 제시한 필터링만 적용한 결과이다.Fig.2에서 필터링의 결과로 눈 깜빡임 데이터를 쉽게 추출할 수 있는 데에 반해 Fig.3에서는 잡파가 완전히 제거되지 않아 눈 깜빡임 데이터를 추출할 수 없다. 이는 실제 서비스를 제공하는 환경에서 심한 잡파가 발생한다면 고품질의 서비스를 제공할 수 없다는 것을 의미한다. 예를 들어 눈 깜빡임으로 전동 휠체어를 제어하는 시스템에서 순간적인 잡파가 발생하여 눈 깜빡임에 대해 이벤트가 발생하지 않거나 잡파를 눈 깜빡임으로 오인하여 의도하지 않은 이벤트를 발생시킬 수 있다. 이러한 경우 휠체어에 대한 제어권을 잃는 심각한 장애가 발생할 것이다.
Fig. 3. Preprocessed eye blink data with noise.
이러한 점에서 잡파를 제거할 수 있는 필터링 과정이 필요하다. 따라서 본 연구에서는 안전도 데이터 필터링 모델을 제안하고 다음의 연구방법과 실험으로 잡파 필터링 성능이 우수한 모델의 파라메터를 찾고자 한다.
3. 안전도 데이터의 인공지능 필터링 모델
3.1 안전도 데이터 필터링 모델
안전도 데이터 필터링 모델은 사용자에게서 측정한 안전도 데이터에서 눈 깜빡임으로 오인되는 잡파를 분리하여 잡파가 섞이지 않은 눈 깜빡임 데이터를 추출하는 모델이다. 이를 위해 모델을 1차 필터링과 2차 필터링으로 나누는 모델을 제시하고자 한다.1차 필터링으로 안전도 데이터의 범위를 벗어나는 잡파를 제거하며 2차 필터링으로 신경망 모델을 통하여 잡파가 섞이지 않은 눈 깜빡임 데이터의 특징을 학습하고, 그 학습결과로 필터링하는 과정을 Fig.4에서 제시하고자 한다.
Fig. 4. Electrooculography data filtering model.
Fig.4에서 보듯이 User의 뇌파로부터 측정된 원시 안전도 데이터에 잡파가 섞인다면 눈 깜빡임 데이터의 추출이 어렵다. 잡파가 섞이지 않은 안전도 데이터는 -250㎶∼250㎶ 사이의 전위를 갖기 때문에 1차 필터링 과정에서 -250㎶ 로우패스 필터와 250㎶ 하이패스 필터로 잡파를 제거한다.
1차 필터링으로 제거되지 않은 잡파는 2차 필터링으로 제거한다. 본 논문에서는 2차 필터링의 학습을 위한 데이터로 Fig.4의 (a)와 같이 눈 깜빡임 특징(features) 데이터를 이용한다. 이 특징들은 눈을 깜빡일 때 안전도 데이터로부터 추출할 수 있으며 일정한 형태의 파형을 갖기 때문에 잡파가 섞인다면 구별해 낼 수 있다. 따라서 User의 눈 깜빡임에서 특징 데이터를 추출하고 이를 학습시켜 잡파가 섞인 눈 깜빡임 데이터를 분리하는 안전도 데이터 필터링 모델을 통하여 2차 필터링을 수행한다.
Fig.4의 (b)의 학습과정에서는 활성화 함수, 옵티마이저, 손실함수와 같은 중요한 파라메터를 선정하여 신경망 모델에 적용시켜야 한다. 이러한 파라메터의 선택은 신경망 모델의 분류 성능에 직접적인 영향을 준다. 따라서 모델을 구현하기 위한 파라메터들을 변경하여 다양한 모델을 학습하고 모델의 성능을 평가하는 과정으로 적절한 파라메터 값을 찾는다. 생성한 안전도 데이터 필터링 모델은 Fig.4의 (c)에서 잡파 분리를 위한 분석과 예측과정에 이용되어 잡파가 섞이지 않은 눈 깜빡임 데이터를 추출하도록 한다. 그러나 머신러닝에서 학습 성능이 우수하려면 무엇보다도 데이터의 전처리가 매우 중요하다.
3.2 데이터의 측정과 전처리 과정
눈 깜빡임 데이터는 사용자의 이마 부위에 부착된 전극에서 측정할 수 있는데 Fig.5와 같은 1주기 파형으로 나타난다.Fig.5의 (a)는 눈 깜빡임이 시작되는 부분이며, (b)는 눈을 완전히 감았을 때 안구가 올라감에 따라 상대적으로 양의 파형을 보이고 다시 중성으로 돌아오는 것을 의미한다.(c)는 눈을 뜨는 과정에서 안구가 다시 내려와 상대적으로 음의 파형을 보이다가 안정화되어 중성으로 돌아오는 것이다. 만약 잡파가 섞인다고 하여도 기본적인 파형은 이와 같이 나타난다.
Fig. 5. Features of eye blink data.
본 논문에서는 한번 눈을 깜빡일 때마다 측정한 파형에서 10개의 특징을 추출하여 학습에 필요한 데 이터셋을 구성한다. 이는 Table1과 같다. Table1과 Fig.5에서 HP는 눈 깜빡임의 시작 지점(a)부터 양의 파형에 나타나는 최대 피크 전위값으로 정의한다. LP는 눈 깜빡임 중간 지점(b)부터 음의 파형에 나타나는 최소 피크 전위값이며, LHPL는 눈 깜빡임 시작 지점부터 최대 피크를 보이기까지의 시간이다.LLPL 눈 깜빡임 중간 지점부터 최소 피크까지의 시간이며, LHPG는 눈 깜빡임 시작 지점의 기울기로 정했다. LLPG는 눈 깜빡임 중간 지점에서 측정한 음의 파형 시작 기울기이며, RHPG는 눈 깜빡임 중간 지점에서 측정한 음의 파형으로 바뀌는 지점의 기울기로 정의한다.RLPG는 눈 깜빡임 종료 지점(c)의 기울기이며, HPL은 눈 깜빡임 시작 지점부터 눈 깜빡임 중간 지점까지의 시간으로 정의한다. 마지막으로 LPL은 눈 깜빡임 중간 지점부터 눈 깜빡임 종료 지점까지의 시간으로 정의한다.
Table 1. Feature table of eye blink data.
Fig.5에서 특징 데이터를 얻는 과정은 Fig.6의 안전도 원시데이터(raw data)에서 특징을 추출하는 과정에 해당한다.Fig.6의 안전도 원시데이터는 눈 깜빡임에서 음의 파형을 가지는 부분의 데이터이다. 이 중에서 -147.336315209가 최소 피크 전위값을 가지며 이를 기준으로 전위값이 중성으로 돌아가려는 경향을 보인다. 이때 Fig.5에서 제시한 LP를 얻을 수 있으며 이는 특징 추출과정에서 첫 번째 데이터의 10개 특징 데이터 중 LP에 해당한다는 것을 볼 수 있다.
Fig. 6. Preprocessing process for eye blink features.
추출된 특징 데이터는 1차 필터링에서 제거하지 않은 –250㎶∼250㎶ 사이의 값을 가질 수 있다. 이는 최대 500㎶라는 차이를 보이게 하여 특징 데이터 내에서 각각의 값들 사이에 큰 변화를 보이게 한다. 예를 들어 Fig.6특징 추출과정의 첫 번째 데이터에서 HP 값을 보면 1.19490321e+03인 것을 볼 수 있다. 그러나 두 번째 데이터에서 HP는 2.10300306e+02, 마지막 데이터에서 HP는 7.00694601e+01을 갖는다. 이러한 차이는 안전도 데이터 필터링 모델을 학습할 때 성능을 저하시키는 요소로 작용할 수 있다. 따라서 학습을 위해 각 특징 데이터를 정규화하여 일정 범위 내로 차이를 줄여줄 필요가 있다.Z-Dist는 평균을 0으로 하고 표준편차를 1로 하는 정규화 방법이다. 이 방법으로 각 특징을 정규화하면 95%의 데이터가 -1과 1 사이의 값으로 변환된다. 이는 모든 특징의 중요도를 동일하게 반영되도록 하므로 모델이 학습하는 데에 있어서 한 가지의 특징에 치우치는 것을 방지하여 모델의 성능을 높이는데 기여할 수 있다.
안전도 데이터 필터링 모델의 학습을 위해서는 눈 깜빡임 특징 데이터와 해당 데이터에 잡파가 포함되었는지에 대한 라벨 부여가 필요하다. 그러나 눈 깜빡임을 측정한 오픈 데이터는 잡파가 섞였는지에 대한 명확한 제시가 되어있지 않아 라벨을 만들 수 없다. 그래서 눈 깜빡임 데이터를 직접 측정하고 잡파가 섞였는지에 대한 라벨을 부여해야 한다. 그러나 눈 깜빡임 데이터를 피지오넷[22]과 같은 오픈 데이터에서 제공하지 않고 있으므로, 직접 측정한 데이터를 학습과정에서 사용해야 하는데 부족한 데이터 수를 보완하려면, 4-겹 교차검증 방식을 학습과정에서 도입하여 사용한다. 또한, 실험에 사용할 데이터의 분할비율은 학습 데이터 60%, 검증 데이터 20%, 테스트 데이터 20%로 하고, 각 데이터셋에 대해 눈 깜빡임 데이터와 잡파를 균등하게 분할하여 학습과 필터링 예측과정에서 사용한다.
3.3 학습과정과 필터링 예측과정
학습과정에서는 전처리 된 10개의 특징 데이터를 입력하여 눈 깜빡임 데이터와 잡파를 분류하는 학습 모델을 생성한다. 이를 위해 입력층의 노드 수는 10개, 출력층의 노드 수는 2개로 한다. 출력층의 활성화 함수는 다중 분류에서 하나를 선택하는 데에 성능이 좋다고 평가된 soft max를 사용한다. 학습은 입력층의 특징 데이터가 은닉층의 노드 값을 변화시키고 출력층으로 출력된 결과와 라벨을 비교하여 손실 값만큼 은닉층의 노드 값을 수정하는 과정이다. 따라서 은닉층의 구조가 학습에 영향을 주기 때문에 학습과정에서 이를 고려해야 한다.
학습을 너무 반복하면 검증 정확도가 낮아지는 과학습을 보이므로 이를 방지하기 위해서 검증 데이터의 손실 값을 통한 재학습을 도입하여 학습할 필요가 있다. 재학습을 과학습 방지용으로 활용하여 학습모델을 생성하고, 준비해 놓은 테스트 데이터로 학습 모델을 평가한다. 일반적으로 다층 신경망에서 우수한 평가결과를 얻으려면 은닉층의 개수, 적용할 활성화 함수와 최적화 함수 등 여러 개의 파라메터를 다르게 적용시켜가며 최적의 성능을 찾는다. 이를 위해 본 학습과정에서는 중첩된 반복문을 통하여 신경망 모델이 가질 수 있는 파라메터의 모든 후보를 고려한다. 그러나 모델이 가질 수 있는 파라메터의 모든 경우의 수를 학습하는 것은 시간적으로 비효율적이다. 따라서 선행실험을 통하여 잡파 필터링 성능에 항상 부정적인 영향을 준 파라메터 값은 고려하지 않는다. 예를 들어 활성화 함수로 elu와 selu를 선택하였을 때에 다른 활성화 함수를 선택하였을 때보다 항상 낮은 필터링 성능을 보였다. 이와 같은 값을 제외한 파라메터를 고려하여 검증 과정에서 최대 정확도와 평균 정확도를 분석하는 실험을 통해서 최적 결과를 얻을 수 있도록 진행한다.
4. 실험 및 분석
4.1 실험과정
눈 깜빡임 데이터와 잡파 분리 실험은 눈 깜빡임 데이터 수집 과정, 학습과정, 그리고 예측과정으로 나누어 진행한다. 학습을 위한 눈 깜빡임 데이터 수집은 뇌파측정기기를 사용한다. 이때 뇌파측정기기를 사용자의 이마 부근에 부착하고 이마를 감싸는 헤드밴드 형태로 고정한다. 전극을 통하여 안전도 데이터를 실시간으로 측정하고 1차 필터링을 거친다. 필터링 된 데이터는 특징 데이터와 라벨을 추출하는 데에 사용된다.
학습과정은 특징 데이터와 라벨을 이용하여 잡파를 분리하는 모델을 학습하는 과정이다. 입력층과 출력층을 정의하고 은닉층의 파라메터를 변경하여 파라메터에 따른 모델의 성능 표로 정리한다. 파라메터는 은닉층의 깊이, 은닉층의 노드 수, 은닉층의 활성화 함수, 그리고 드롭아웃이다. 각각 다른 파라메터를 갖는 모델 중에서 잡파 필터링에 대한 최적 성능을 갖는 모델 하나를 선택하기 위해 검증 과정으로 검증 정확도와 손실률을 기록한다. 이때 과학습되어 검증 정확도가 낮은 모델은 검증 최대 정확도를 기준으로 재학습하여 모델을 보완한다. 그 후 각 모델의 검증 최대 정확도와 평균 정확도를 비교하여 잡파 필터링 성능을 평가하고 모델을 선택한다.
예측과정은 선택된 모델의 잡파 필터링 성능을 평가하는 과정이다. 특징 데이터를 모델에 입력하여 나온 예측결과를 로그 파일 형태로 기록하고 해당 특징 데이터의 라벨과 비교하여 잡파 필터링 정확도 평가에 활용한다.
4.2 실험 데이터
눈 깜빡임 데이터 측정에는 뇌파 연구용 실험 키트인 Open BCI Ganglion Board를 이용한다[23]. Ganglion Board는 사용자의 이마에 부착된 전극으로 안전도 데이터를 측정한다. 이 과정에서 1차 필터링을 적용하여 안전도 데이터가 갖는 범위를 벗어난 잡파를 제거한다. 그 후 사용자가 눈을 깜빡임에 따라 Fig.6에서 제안한 방법으로 특징 데이터를 추출하여 눈 깜빡임 데이터로 기록한다. 그러나 사용자의 뒤척임과 같은 행위로 노이즈가 섞인 데이터가 추출된다면 이는 잡파로 기록한다.
이와 같은 방식으로 Table2과 같은 실험 데이터를 얻었다. 실험 데이터는 3명의 사용자에게서 측정하였다. 사용자는 20대 남성 1명, 30대 남성 1명, 20대 여성 1명으로 구성하였다. 실험 데이터는 눈 깜빡임 데이터 2,357개, 잡파가 섞인 눈 깜빡임 데이터 882개로 총 3,239개의 데이터를 얻었다. 이 중에서 1,960개는 학습 데이터, 640개는 검증 데이터, 그리고 639개는 테스트 데이터로 사용하였다.
Table 2. Number of eye blink data partitions.
잡파가 섞이지 않은 눈 깜빡임 데이터의 라벨을 0으로 설정하고 잡파가 섞인 눈 깜빡임 데이터는 1로 정의한다. 그러나 안전도 데이터 필터링 모델의 출력층의 노드 수가 2이고 활성화 함수가 soft max이므로 출력층의 예측결과와 라벨을 비교하기 위해 라벨을 원-핫 인코딩한다. 결과적으로 라벨에서 잡파가 섞이지 않은 눈 깜빡임 데이터는 [1,0], 잡파가 섞인 눈 깜빡임 데이터는 [0,1]로 전처리된다.
4.3 실험 환경
Fig.7의 (a)는 뇌파측정기기인 Ganglion Board이다. Ganglion Board는 눈을 완전히 감싼 형태로 하우징하여 눈 깜빡임 데이터를 측정하는 사용자의 특정 물체에 대한 시선 추적을 방지한다. 이를 통하여 안구 이동에 대한 영향을 최소화한다.Fig.7의 (a)의 내부는 Fig.8과 같다.Fig.8의 (a)는 Ganglion Board 이다. Ganglion Board는 안대의 내부에 위치하며 Fig.8의 (b)와 (c)를 통하여 사용자의 눈 깜빡임 데이터를 측정한다.(b)는 귓불에 위치하는 이어클립전극이며 (c)는 사용자의 눈을 감싼 형태로 자연스럽게 안구 위쪽에 고정되어 사용자의 눈 깜빡임 데이터를 측정한다.
Fig. 7.Experimental environment and measuring in- struments.
Fig. 8.Internal structure of eye blink data measuring device.
측정된 눈 깜빡임 데이터는 Fig.7의 (b)의 Ras- pberry Pi 4 model B에서 구현한 1차 필터링 프로그램으로 전송된다.1차 필터링과 2차 필터링은 Raspberry Pi 보드의 커널 Linux raspberrypi 5.4.51에서 Node.js 8.17.0으로 구현하였다. 또한, 2차 필터링의 안전도 데이터 필터링 모델은 Python3.6.0과 Keras 2.1.5로 구현하였다. 실제 개발과 결과 확인은 Fig. 7의 (c)에서 확인하였다.Fig.7의 (c)의 왼쪽은 1차 필터링 후 눈 깜빡임 특징 데이터를 추출하는 결과 화면이다. 오른쪽은 모델을 학습하고 이를 평가하는 화면이다. 이때 모델의 구조, 학습 및 검증 데이터의 정확도와 손실률 그래프를 확인할 수 있다. 실험에 사용한 소스코드는 1차 필터링과 2차 필터링 모델로 구분하여 구현한 뒤에 사용하였다[24-25].
4.4 실험 및 성능 분석
학습과정에서 안전도 데이터 필터링 모델을 선택하기 위해 은닉층의 파라메터를 다르게 적용시킨 모델을 학습하였다. 이 과정에서 검증 데이터의 최대 정확도와 평균 정확도를 비교하였다. 학습한 결과는 Table3과 같다.Table3에서 보면 은닉층의 깊이가 1이고 노드를 16개로 설정한 뒤, relu활성화 함수로 설정한 경우에는 최대 정확도를 0.911로 얻을 수 있었고 평균 정확도를 0.897로 얻을 수 있었다. 이와 같은 방식의 조건으로 은닉층의 깊이가 3일 때를 보면 검증 데이터의 최대 정확도가 94.3%, 94.3%, 92.6 %, 92.3%로 나타나 은닉층의 깊이가 1, 2, 4인 경우와 비교하여 우수한 성능을 보였다. 또한, 다른 조건이 같은 경우 활성화 함수로 relu를 선택하였을 때 sig-moid를 선택한 경우보다 우수한 성능을 보였다. 그러나 드롭아웃의 경우, 다른 조건이 같았을 때 유의미한 차이를 보이지 않았다.
Table 3. Model performance results based on different parameters.
Fig.9는 Table3에서 잡파 분리 정확도에 유의미한 차이를 보였던 은닉층의 깊이에 따른 ROC(Receiver operating characteristic)곡선이다.ROC곡 선은 정답을 정답으로 판정하는 민감도와 정답을 오답으로 판정하는 특이도를 통하여 모델의 성능을 평가하는 방법이다. 이를 통하여 모델의 잡파 필터링 성능을 평가하였다.Fig.9에서 은닉층의 깊이가 1일 때 잡파 필터링 성능이 낮다는 것을 알 수 있었다. 또한, 은닉층의 깊이가 증가할수록 잡파 필터링 성능이 높다는 것을 확인하였다. 그러나 은닉층의 깊이가 4인 경우 잡파 필터링 성능이 전체적으로 낮아져 은닉층의 깊이가 1일 때와 비슷한 잡파 필터링 성능을 보였다. 이는 모델 학습과정에서 학습 데이터에 과적합되어 필터링 성능이 낮아지는 것으로 평가된다. 이와 같은 결과를 볼 때, 은닉층의 깊이가 3일 경우 잡파 필터링의 성능이 가장 우수하다고 판단되므로 예측과정을 위한 은닉층의 깊이로 3을 선택하는 것이 적합하다고 평가한다.
Fig. 9. Noise filtering performance ROC curve.
예측과정은 Table3의 잡파 분리 정확도와 Fig. 9의 ROC 곡선을 기반으로 모델 선택 후 잡파 필터링 성능을 평가하기 위해 파라메터로 은닉층의 깊이는 3, 활성화 함수는 relu, 드롭아웃은 0.1로 통일하였다. 드롭아웃은 3개의 은닉층에 모두 적용하여 모델의 학습률을 조절하였다. 그 후 각 은닉층의 노드 수를 변경하며 눈 깜빡임 데이터와 잡파 분리에 대한 오차 행렬을 작성하였다.
Table4의 긍정 대답은 잡파가 섞이지 않은 눈 깜빡임 데이터이고 부정 대답은 잡파가 섞인 눈 깜빡임 데이터이다. 예를 들어 각 은닉층의 노드 수가 (32, 8, 8)인 모델에서 눈 깜빡임 데이터를 눈 깜빡임 데이터로 판단한 경우는 445개, 눈 깜빡임 데이터를 잡파로 판단한 경우는 21개이다. 이와 같은 방식으로 은닉층의 노드의 수가 (32, 32, 16)인 경우에 안전도 데이터 필터링 모델의 최대 정확도인 95.7%를 얻을 수가 있었다.
Table 4. Noise filtering performance confusion matrix.
5. 결론
최근의 수면케어 서비스는 사용자의 생체 데이터를 측정하여 맞춤형 서비스 제공을 목표로 하고 있다. 그 중에서도 안전도 데이터는 수면 단계 분석이나 개인식별이 가능하다는 점에서 다양하게 연구되어 왔다. 그러나 안전도 데이터 측정 과정에서 여러 가지 노이즈가 섞여 잡파가 발생할 경우 개인식별의 정확도가 떨어지므로 잡파를 제거해야 한다.
따라서 본 논문에서는 안전도 데이터에서 데이터 분석에 많이 활용되는 눈 깜빡임 데이터와 잡파가 섞여 데이터 분석에 방해되는 눈 깜빡임 데이터를 분류하는 모델을 제안하였다. 실제 서비스 환경과 비슷한 곳에서 사용자의 안전도를 측정한 후 이를 분류하는 실험을 통해 제안한 모델이 잡파를 분리하는 데에 효과적임을 확인하였으며 3개의 은닉층을 사용하여 95.7%의 평균 정확도를 얻을 수 있었다. 이 필터링 학습모델을 실제 서비스에 활용한다면 개인식별의 정확도를 높여 사용자에게 좀 더 품질 높은 수면 케어 서비스를 제공할 수 있을 것을 기대한다.
그러나 본 연구에서는 좀 더 다양한 환경과 불특정 다수의 눈 깜빡임 데이터에 대한 부분을 고려하지 않았다. 이를 향후 연구에서 고려한다면 좀 더 범용적이고 분리 성능이 우수한 안전도 데이터 필터링 모델을 통한 개인 식별 및 수면 케어 서비스를 제공할 수 있을 것이다.
참고문헌
- H.S. Wi and B.M. Lee, "Customized Realtime Control of Sleep Induction Sound based on Brain Wave Data," Journal of Korea Multimedia Society, Vol. 23, No. 2, pp. 204-215, 2020.
- H.S. Wi and B.M. Lee, "Classification Method of Sleep Induction Sounds in Sleep Care Service based on Brain Wave," Journal of Korea Multimedia Society, Vol. 23, No. 11, pp. 1406-1417, 2020. https://doi.org/10.9717/KMMS.2020.23.11.1406
- E. Jo and S.M. Kim, "A Study on the UI Design of Sleep Management Mobile App for Pregnant Women," The Journal of the Korea Contents Association, Vol. 18, No. 2, pp. 378-387, 2018. https://doi.org/10.5392/JKCA.2018.18.02.378
- M. Igaki, M. Suzuki, I. Sakamoto, T. Ichiba, and K. Kuriyama, "Effects of Bedtime Periocular and Posterior Cervical Cutaneous Warming on Sleep Status in Adult Male Subjects: A Preliminary Study," Sleep and Biological Rhythms, Vol. 16, No. 1, pp. 77-84, 2018. https://doi.org/10.1007/s41105-017-0129-3
- S.Y. Shin, K.S. S, and Y.W. R, "Improvement of Sleep Quality Using Color Histogram," Journal of the Korea Institute of Information and Communication Engineering, Vol. 15, No. 6, pp. 1283-1288, 2011. https://doi.org/10.6109/jkiice.2011.15.6.1283
- Y.M. Seo, J.S. Kim, and N.J. Je, "Factors Relating Quality of Sleep: Comparison between Young-old People and Old-old People," Journal of the Korea Academia-Industrial cooperation Society, Vol. 20, No. 6, pp. 332-341, 2019. https://doi.org/10.5762/KAIS.2019.20.6.332
- S.W. Lee and J.S. Kim, "Bio-Signal Authentication Algorithm Using Electrocardiogram," The Journal of Korean Institute of Communications and Information Sciences, Vol. 42, No. 12, pp. 2350-2356, 2017. https://doi.org/10.7840/kics.2017.42.12.2350
- M.S. Yook, H.Y. Kim, and H.R. Shim, "User Recognition of Each Personal Identification Technique based on the Biometrics," The Journal of the Korea Contents Association, Vol. 16, No. 11, pp. 11-19, 2016. https://doi.org/10.5392/JKCA.2016.16.11.011
- P. Kasprowski and J. Ober, "Eye movements in biometrics," International Workshop on Biometric Authentication, pp. 248-258, 2004.
- D.J. Lee, H.J. Go, K.C. Kwak, and M.G. Chun, "Development of Advanced Personal Identification System Using Iris Image and Speech Signal," Journal of Korean Institute of Intelligent Systems, Vol. 13, No. 3, pp. 348-354, 2003. https://doi.org/10.5391/JKIIS.2003.13.3.348
- X. Kong and G.F. Wilson, "A new EOG-based eyeblink detection algorithm," Behavior Research Methods, Instruments, & Computers, Vol. 30, No. 4, pp. 713-719, 1998. https://doi.org/10.3758/BF03209491
- K.H. Hong, B.M. Lee, and Y.J. Park, "Realtime Individual Identification Based on EOG Algorithm for Customized Sleep Care Service," Journal of Convergence for Information Technology, Vol. 9, No. 12, pp. 8-16, 2019. https://doi.org/10.22156/CS4SMB.2019.9.12.008
- Korea EEG Study Group, Art and application of EEG analysis, Medbook, Seoul, 2017.
- Korea Society for EEG and Neurophysiology, Understanding and application of EEG, hakjisa, Seoul, 2017.
- W.J. Park, J.H. Park, and Y.H. Lee, "A DNN-based Epileptic EEG Detection System for Epileptic Patient Classification," Journal of Computing Science and Engineering, Vol. 46, No. 12, pp. 1291-1295, 2019.
- M. Abo-Zahhad, S.M. Ahmed, and S.N. Abbas, "A Novel Biometric Approach for Human Identification and Verification Using Eye Blinking Signal," IEEE Signal P rocessing Letters, Vol. 22, No. 7, pp. 876-880, 2014.
- M. Nakanishi, Y. Mitsukura, Y. Wang, and Y.T. Wang, "Online Voluntary Eye Blink Detection Using Electrooculogram," International Symposium on Nonlinear Theory and Its Applications, pp. 114-117, 2012.
- R. Barea, L. Boquete, M. Mazo, and E. Lopez, "Wheelchair Guidance Strategies Using EOG," Journal of Intelligent and Robotic Systems, Vol. 34, No. 3, pp. 279-299, 2002. https://doi.org/10.1023/A:1016359503796
- S.T. Jang, J.H. Lee, J.Y. Jang, and W.D. Chang, "Gaze Tracking with Low-cost EOG Measuring Device," Journal of the Korea Convergence Society, Vol. 9, No. 11, pp. 53-60, 2018. https://doi.org/10.15207/JKCS.2018.9.11.053
- B.J. Kim, K.C. Kwon, Y.M. Yang, and N. Kim, "Keyboard for Virtual Reality Head Mounted Display using Electro-oculogram," The Journal of the Korea Contents Association, Vol. 18, No. 1 pp. 1-9, 2018. https://doi.org/10.5392/JKCA.2018.18.01.001
- J.W. Choi and S.H. Jo, "Implementation of EOG Signal to Chess Game Control," The Korean Institute of Information Scientists and Engineers, Vol. 24, No. 8, pp. 416-421, 2018.
- PhysioNet Databases(1999). https://physionet.org/about/database (accessed December 22, 2020).
- OpenBCI Documentation(2020). https://docs.openbci.com/docs/03Ganglion/GanglionLanding (accessed December 22, 2020).
- Source codes of the first filtering model for experiment (2020). https://github.com/KiHyeonHong/EOG_Blink_Identification (accessed January 21, 2021).
- Source codes of the second filtering model for experiment (2020). https://github.com/KiHyeonHong/EOG_filtering_model_final (accessed January 21, 2021).