티스토리 뷰

CNN에 꼭 개나 고양이, 사람 얼굴 사진만 집어넣어야 할까?

 

소리. 소리도 CNN에 집어넣을 수 있다.

 

세상에... 정말 대단한 발상이 아닐 수가 없다.

그런데 어떻게 소리를 학습한다는 말일까?? 귀가 달렸나?

 

그것은 바로 스펙트로그램이라는 이미지를 이용하는 방법이다.

 

https://ko.wikipedia.org/wiki/%EC%8A%A4%ED%8E%99%ED%8A%B8%EB%A1%9C%EA%B7%B8%EB%9E%A8#/media/%ED%8C%8C%EC%9D%BC:Spectrogram-19thC.png

 

스펙트로그램이 뭐냐 하면 소리나 파동을 시각화 하기 위해 만들어진 그래프이다.

 

CNN은 이미지를 input으로 받는다.

-> 소리를 스펙트로그램으로 시각화한다

-> 스펙트로그램을 이미지 input으로 넣는다

-> 사람의 목소리를 예측할 수 있다....!!!!!!!!!!!!!!!!

 

눈으로 볼 수 없는 음성이나 파동도 시각화 할 수 있는 그래프만 존재한다면 이미지로 변환하여 학습할 수 있다는 것이다.

 

허거덩... 이게 정말 혁명 아닐까

조금 소름끼쳤다. 먼 미래에 스카이넷이 지배하게될 세상은 정말 무서울지도 모르겠다.

 

아무튼

 

매트랩으로 사운드파일을 읽어오는 방법은 audioread()를 이용하면 된다

[y, Fs] = audioread("test.mp3");

y는 오디오 데이터, Fs는 샘플 레이트(Hz) 이다.

 

plot으로 그려보면 아래와 같고,

plot(y(:, 1));

스펙트로그램으로 그려보면 아래와 같다

pspectrum(y(:, 1), Fs, "spectrogram");

 

이 정체모를 그래프 양옆에 범례랑 타이틀을 다 떼버리고 그래프 부분만 남겨둔 채로 CNN에 집어넣으면 학습이 되는 것이다.

hold on
axis off
colorbar off
title("")
hold off

 

 

정말 딥러닝 기술이 방대한 분야에 사용될 수 있을 것 같다.

괜히 AI열풍이 아니구나 생각이 들었다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함