Faster-Whisper์ DFT ๊ฒฐํฉ์ ํตํ ๊ณ ์ ๋ฐ ์๋ฉด ๋ฌดํธํก์ฆ ๊ฐ์ง ํ์ดํ๋ผ์ธ ๊ตฌ์ถ
Stop Ignoring Your Snore: Building an AI Sleep Apnea Detector with Faster-Whisper and DFT ๐ค๐
AI ์์ฝ
Context
์ ํต์ ์ธ ์๋ฉด ๋ฌดํธํก์ฆ ์ง๋จ์ ๊ณ ๋น์ฉ์ ์ ๋ฌธ ์๋ฃ ์ฅ๋น ์์กด๋๊ฐ ๋์ ์ ๊ทผ์ฑ์ด ๋ฎ์. ์ค๋งํธํฐ ๊ธฐ๋ฐ์ ๊ฐ์ด ์คํฌ๋ฆฌ๋์ ์ํด ๋จ์ ์์ฑ ์ธ์์ ๋์ด์ ์๋ฆฌ์ ์ง๊ฐ๊ณผ ์ฃผํ์ ํน์ฑ ๋ถ์์ด ์๊ตฌ๋จ.
Technical Solution
- Faster-Whisper์ VAD(Voice Activity Detection) ๊ธฐ๋ฅ์ ํ์ฉํ ์ฝ๊ณจ์ด ์ด๋ฒคํธ์ ์ ๋ฐํ Temporal Segmentation ๊ตฌํ
- DFT(Discrete Fourier Transform) ๋ฐ STFT ๊ธฐ๋ฐ์ Power Spectral Density ๋ถ์์ ํตํ ๋ฌดํธํก ์ข ๋ฃ ์ ๋ฐ์ํ๋ ๊ณ ์ฃผํ Gasp ๊ตฌ๊ฐ ์๋ณ
- Librosa๋ฅผ ์ด์ฉํ Spectral Centroid ์ถ์ถ๋ก ์๋ฆฌ์ '๋ฌด๊ฒ ์ค์ฌ'์ ํ์ ํ์ฌ ์ผ๋ฐ ์์๊ณผ ์ฝ๊ณจ์ด ํจํด์ ์ฃผํ์ ํน์ฑ ๋ถ๋ฆฌ
- LSTM ๊ธฐ๋ฐ์ PyTorch Classifier๋ฅผ ์ค๊ณํ์ฌ MFCC, Spectral Centroid, Silence Duration์ ํตํฉ ์ ๋ ฅ๊ฐ์ผ๋ก ์ฌ์ฉํ๋ ์๊ณ์ด ๋ถ์ ๊ตฌ์กฐ ์ฑํ
- CUDA ๊ฐ์ ๋ฐ float16 ์์ํ๋ฅผ ์ ์ฉํ Faster-Whisper ๋ชจ๋ธ ๋ฐฐํฌ๋ก ์ถ๋ก ์๋ ์ต์ ํ
- CTranslate2 ์์กด์ฑ ๋ฐ NVIDIA ๋๋ผ์ด๋ฒ ํ๊ฒฝ ์ผ๊ด์ฑ ํ๋ณด๋ฅผ ์ํ Docker ์ปจํ ์ด๋ ๊ธฐ๋ฐ์ ๋ฐฐํฌ ์ ๋ต ์๋ฆฝ
์ค์ฒ ํฌ์ธํธ
1. ์๊ณ์ด ์ค๋์ค ๋ถ์ ์ VAD๋ก ์ ํจ ๊ตฌ๊ฐ์ ๋จผ์ ๋ถ๋ฆฌํ์ฌ ๋ชจ๋ธ์ ์ฐ์ฐ ๋ญ๋น๋ฅผ ๋ฐฉ์งํ๋๊ฐ
2. ์๊ฐ ๋๋ฉ์ธ(Temporal)๊ณผ ์ฃผํ์ ๋๋ฉ์ธ(Frequency) ํน์ง๋์ ๊ฒฐํฉํ์ฌ ๋ฐ์ดํฐ์ ๋ค๊ฐ์ ๋ถ์์ ์ํํ๋๊ฐ
3. ์๋ฃ/ํฌ์ค์ผ์ด ๋ฐ์ดํฐ์ ํน์ฑ์ ๋ ธ์ด์ฆ ๊ฐ๊ฑด์ฑ ํ๋ณด๋ฅผ ์ํด ๋ฐ์ดํฐ ์ฆ๊ฐ(Augmentation) ์ ๋ต์ ์๋ฆฝํ๋๊ฐ
4. GPU ๊ฐ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ณต์กํ ์์กด์ฑ ํด๊ฒฐ์ ์ํด ์ปจํ ์ด๋ํ๋ ๋ฐํ์ ํ๊ฒฝ์ ๊ตฌ์ถํ๋๊ฐ