📘 사운드 분류 사용 설명서

이 가이드에서는 데이터 수집부터 학습, 결과 확인까지 모든 과정을 쉽게 따라할 수 있도록 설명합니다.

🖼️ 사운드 콘텐츠 소개

사운드 분류는 다양한 소리(음성, 효과음, 주변음 등) 데이터를 수집∙학습∙분석할 수 있는 기능입니다.

사운드 데이터를 스펙트로그램으로 변환하여 이미지화를 하게 됩니다. 그리고 이 이미지를 이미지 분류에 사용했던 모델을 그대로 활용하여 학습시킵니다.

🖥️ UI 컴포넌트 구성 소개

데이터를 수집하고 학습하기 버튼을 클릭하면 나만의 AI 모델이 만들어집니다.

제목

페이지 상단에 사운드 기능을 설명하는 제목이 표시됩니다.

클래스

클래스 이름

화면 상단의 입력란에 분류하고자 하는 클래스 이름을 입력하세요.

예: 배경음

이미지

소리의 파형을 스펙트로그램 시각화된 이미지로 표현

이미지

소리의 파형을 스펙트로그램 시각화된 이미지로 표현

추가하기

새로운 클래스를 추가할 수 있는 버튼입니다.

학습하기

수집된 시각화된 이미지를 기반으로 AI 모델을 학습시키는 버튼입니다.

학습 설정

학습 과정에서 필요한 다양한 설정(예: 학습 횟수, 학습률 등)을 조정할 수 있는 영역입니다.

📸 수집하기

정확한 모델을 만들기 위해서는 다양한 상황과 환경에서 발생하는 소리를 충분히 모으는게 중요합니다.

실시간 녹음 방식

데이터 수집 버튼 클릭

데이터 수집 버튼을 클릭하면, 브라우저/마이크를 통해 실시간으로 소리를 녹음할 수 있습니다.

녹음된 소리는 자동으로 스펙트로그램(이미지 형태)으로 변환되어 UI에서 바로 확인 가능합니다.

녹음 환경 설정

주변 소음을 최소화하거나, 특정 상황(작업장 소음, 도로 소음 등)에 맞게 환경을 조성해 다양한 패턴을 수집하는 것이 좋습니다.

배경음

이미지 분류와 같은 원리

사운드 프로젝트는 소리를 스펙트로그램으로 바꿔서, 마치 "이미지 분류"를 하듯이 학습합니다.

이때 박수 소리나 핑거스냅 소리만 따로 녹음해서 모델을 만들면, 배경음(주변 잡음)만 들어있는 상황을 모델이 제대로 인지하지 못하게 됩니다.

배경음만 있는 소리도 하나의 클래스

실제 환경에서는 특정 소리가 없는 배경음만 들리는 상태가 매우 흔합니다.

이를 배경음 클래스로 따로 구분해 학습하면, 모델이 이 소리는 아무 소리도 아닌 그냥 배경음이구나라고 올바르게 구분할 수 있게 됩니다.

오인식 방지

박수 소리가 아닌데 박수로 잘못 판단하거나, 핑거스냅 소리인데 잡음으로 오인하는 상황을 줄이려면, 배경음만 있는 데이터도 반드시 필요합니다.

📚 학습하기

사운드는 어떻게 학습될까요?

스펙트로그램(이미지)로 변환

우리가 흔히 듣는 "소리"는 실제로는 시간에 따라 변하는 파동(파형)입니다.

이 파형을 주파수 영역으로 바꾼 뒤, 시간 축과 주파수 축을 2차원으로 배치하면 스펙트로그램이라는 이미지를 얻을 수 있습니다.

녹음된 소리가 자동으로 이런 스펙트로그램 이미지로 변환되어 저장되는데, 결과적으로 이미지 분류와 비슷한 방식으로 학습을 진행할 수 있게 됩니다.

패턴 인식

예를 들어, "박수 소리"의 스펙트로그램은 일정한 간격과 강도(주파수 대역)를 갖고, "핑거 스냅"은 또 다른 고유 패턴을 갖습니다.

AI 모델은 스펙트로그램에 나타나는 색깔(진폭)과 모양의 패턴을 반복적으로 학습하면서, 각 소리를 구분하는 기준을 만들게 됩니다.

학습하기

학습하기 버튼을 누르면 학습이 시작되면 상단에 학습 진행률을 나타내는 그래프 바가 표시됩니다.

이 그래프는 학습의 현재 상태를 실시간으로 보여주며, 사용자가 학습 완료까지 얼마나 남았는지 확인할 수 있도록 도와줍니다.

학습 설정

학습 과정에서 필요한 다양한 설정(예: 학습 횟수, 학습률 등)을 조정할 수 있는 영역입니다.

학습 횟수 (Epoch)

입력한 데이터 전체를 몇 번 반복하여 학습할지 정하는 부분입니다. 예를들어 학습 횟수가 10일 경우, 전체 데이터를 10번 반복하여 학습합니다. 많이 학습할 수록 더 정확한 모델을 만들 수 있지만, 학습 시간이 오래 걸립니다. 또한 학습 횟수가 많을수록 과적합(Overfitting)이 발생하여 오히려 안좋은 모델이 생성 될 수 있습니다.

배치 크기 (Batch Size)

입력한 데이터 전체를 얼마큼 작은 부분으로 쪼개서 학습할지 정하는 부분입니다. 예를들어 전체 데이터가 1000개이고 배치 크기가 100일 경우, 한번에 100개의 데이터로 학습하게 됩니다. 배치크기가 작을수록 모델이 더 자주 학습하게 됩니다. 배치크기가 클수록 메모리 사용량이 올라가며, 일반적으로 1~1024의 배치 크기를 사용합니다.

학습률 (Learning Rate)

AI 모델을 얼마나 빠르게 학습할지 정하는 부분입니다. 학습률이 너무 높으면 학습이 빠르게 진행되지만, 최적의 값을 찾지 못할 수 있습니다. 학습률이 너무 낮으면 학습이 느리게 진행되지만, 최적의 값을 찾을 수 있습니다.

📈 결과보기

결과 UI를 보려면 UI 컴포넌트 구성 소개 학습하기 버튼을 클릭하세요.

학습 모델명

페이지 상단에 학습된 모델의 이름이 표시됩니다.

시각화된 이미지 수집 및 분석

시각화된 이미지를 실시간으로 분석합니다.

클래스 및 퍼센트

분석된 이미지가 속하는 클래스와 해당 클래스의 신뢰도를 퍼센트로 표시합니다.