Impact Factor : 1.7 Journal Impact Factor (2023)
Citations : 7
Introduction
Sound analysis에 관련된 프로젝트를 처음으로 참여하게 되어서 관련된 논문을 찾아보던 중 가장 유사한 내용을 연구한 페이퍼를 찾게 되어서 소개드립니다. 이 페이퍼는 기침 소리를 사용하여 여러 질병을 자동으로 진단하는 새로운 기계학습 모델인 DKPNet41에 대해 설명하고 있습니다.
연구 목적 : Covid-19, 심부전, 급성 천식, 정상 상태를 포함하는 4가지 진단 카테고리에 대한 기침 소리 데이터를 수집하고, 이를 이용해 자동 진단 모델을 개발 및 검증.
- 4-class cough detection -> Covid-19, heart failure, acture asthma, healthy ( 코로나, 심부전, 급성 천식, 정상)
- 이전 연구들의 한계점 언급 -> 기존 연구들과 달리 4가지 카테고리를 동시에 분류하는 다중 클래스 분류 수행
Dataset
데이터셋은 튀르키예 대학 병원에서 제공했다고 합니다. 그리고 본 연구에서는 오픈 데이터셋을 사용했다고 언급하고 있습니다.
타양한 포맷들(ogg, mpeg, mp4 ,m4a)로 이루어져 있고, 이후에 설명하지만 이 포맷들을 모델의 강건한(robust) 분류 능력을 위해
다양한 오디오 포맷을 통일시키지 않고 그대로 사용합니다.
842명의 환자들에게서 2944개의 Sample들을 추출했습니다.
본 연구에서는 어떤 전처리 알고리즘도 사용하지 않았고, 기침 소리만 세그멘테이션하여 사용한다고 언급합니다.
“Furthermore, we have not used any preprocessing algorithm, only cough sounds have been segmented. In addition, few speech signals were deleted manually. These cough sounds were collected from definitively diagnosed patients.” (Kuluozturk 등, 2022, p. 3)
단, 일부 음성 신호가 섞인 경우 수동으로 삭제되었다고 언급합니다.
그리고 Covid-19 경우 의사들이 PCR 테스트 결과를 확인한 후에 기침 소리를 수집했다고 합니다.
데이터에 대한 설명을 보면 전반적으로 최소한의 데이터 전처리를 수행했으며, 주로 기침 소리의 세그멘테이션(Segmentation)에 초점을 맞추어 진행한 것을 알 수 있습니다. 이는 모델이 실제 환경에서의 적용 가능성을 높이기 위한 일반화에 집중하겠다는 의도로 보여집니다.
Method
본 연구의 제목처럼 'DKPNet41' 모델의 방법론은 아래의 구조를 가집니다.
Fig. 2는 DKPNet41 모델의 전체 아키텍처를 보여주는 도식입니다.
이 아키텍처는 다음과 같은 주요 단계로 구성되어 있습니다:
먼저, 기침 소리가 입력으로 들어옵니다. 이 기침 소리는 세그먼트화된 형태로 사용됩니다.
모델은 원본 기침 소리와 분해된 소리로부터 특징을 추출합니다. 특징 추출 단계에서는 DKP(Directed Knight Pattern) 방법이 사용됩니다.
분해 과정(Decomposition)에서는 평균 풀링 방법을 사용하여 서브밴드를 얻고, 각 서브밴드에서 DKP 방법으로 특징을 추출합니다. 이 분해 과정은 10번 반복되며, 각 반복에서 4개의 특징 벡터가 생성됩니다.
다음 단계에서는 모델이 생성된 41개의 특징 벡터(원본 신호 1개 + 분해된 신호 40개) 중에서 가장 좋은 특징 벡터 10개를 선택하고 결합합니다. 마지막으로, 결합된 특징 벡터에서 가장 중요한 특징들을 선택하고, 이를 사용하여 '급성 천식', 'Covid-19', '심부전', '건강' 카테고리로 분류합니다. 이 아키텍처는 특징 추출, 특징 선택, 그리고 분류의 세 가지 주요 단계를 효과적으로 결합하여 높은 정확도와 효율성을 달성하도록 설계되었습니다.
Step1. Sub-bands 생성
- 평균, 최대, 최소, 조건부 풀링 함수를 사용하여 sub-bands 생성
- size 2의 비중첩 윈도우(non-overlapping)를 사용하여 기침 소리 분해
- 조건부 풀링은 입력 값의 부호에 따라 다른 통계 모멘트(최대, 최소, 평균)를 적용.
Step2. DKP를 사용한 특징 추출
- 각 서브밴드와 원본 기침 소리에서 1,536개의 특징을 추출.
- 1차원 입력 신호를 9개의 중첩 블록으로 나눔. (*One-dimensional signal input is divided into nine overlapping blocks.*)
- 9개 크기의 중첩 블록을 3x3 크기의 행렬로 변환
- 생성된 3x3 행렬에 DKP를 적용.
- DKP는 체스의 나이트 이동 패턴을 기반으로 한 두 가지 유형의 방향성 그래프 패턴 사용
- DKP 패턴과 directed 커널을 사용하여 비트를 생성.
- Directed signum, upper temary, lower ternary 함수를 사용.
- 생성된 비트를 이진-십진수 변환하여 6개의 맵 신호를 생성.
- 생성된 6개 맵 신호의 히스토그램을 추출
- 추출된 6개 히스토그램 병합 후 1536(256x6) 크기의 특징 벡터를 생성
- 41개 특징 벡터(40개 sub bands + 1 원본 신호)의 정확도를 계산
- KNN 분류기와 5-fold 교차 검증 사용
- 상위 특징 벡터 (계산된 정확도를 기반으로 상위 10개 특징 벡터 선택 )
INCA(Iterative Neighborhood Component Analysis) 선택기의 파라미터.
- kNN -> k=1 , 맨해튼 측정법, voting 방식 none, 표준화 : True
Insight + Contribution
기존 연구들은 주로 이진 분류에 초점을 맞춘 반면 , 해당 연구는 4-class를 동시 분류하는 다중 클래스 문제를 해결했습니다.
DKPNet41 모델은 99.39%의 높은 정확도를 달성했습니다. ( 기존의 다중 클래스 분류 연구인 Pal and Sankarasubbu의 90.80%, Knocikova et al.의 90%)보다 우수한 성능이죠.
또한 해당 모델은 낮은 계산 복잡도를 가지고 있으며 이는 실제 임상 환경에서의 실용성을 높일 수 있는 중요한 요소라고 생각합니다.
- 10-fold 교차 검증뿐만 아니라 다양한 분할 비율(90:10에서 50:50까지)의 홀드아웃 검증에서도 일관되게 높은 성능을 보였음.
향후 응용 가능성:
- 인공지능 기반의 기침 소리 진단을 위한 새로운 지능형 칩 진단 모델과 애플리케이션 개발이 가능할 것.
- 폐의학 및 심장학 클리닉에서 실제로 구현 가능한 수준의 성능을 보여줌.