visual and audio cross modal reasoning2 - speech separation, lip move generation
1. speech separation 구조
영상에서 어떤 인물이 말한건지 분리해내는 task
N명의 얼굴이 영상에 등장한다고 하면 일정한 frame(여기서는 75 frame?)의 이미지를 network에 넣어 face embedding vector를 각각 뽑아낸다
dilated convolution를 사용한거랑 shared weight 특징이 보인다
영상의 audio waveform을 (noisy input) spectrogram으로 바꾸고 network에 넣어 speech feature를 뽑는다
STFT는 아마 short time fourier transform이고 dilated convolution을 사용했다고 한다
두 stream에서 뽑은 face feature와 speech feature를 모두 concatenation
다음 LSTM, Fully connected layer에 넣어 N명의 face에 대응하는 N개의 complex mask를 출력한다.
그리고 Sound steam에서 얻은 noisy input spectrogram을 각각 complex mask spectrogram에 곱하여 separated speech spectrogram을 얻는다.
separated spectrogram을 inverse short time fourier transform을 이용하여 waveform으로 변환하면 각 face에 대응하는 speech(isolated speech signal for each speaker)가 된다.
-----------------------------------------------------------------------------------------------------------------------------------------------
complex mask에 separated speech spectrograms를 곱한다고 나와있는데
이게 audio stream에서 얻은 spectrogram을 분리했다는건지?
논문에는 아무리 찾아봐도 noisy input을 곱한다고 나와있다
추측상 audio stream의 spectrogram 그대로가 noisy input 같음
근데 목적과 원리를 생각해보면 혼합된 speech에서 분리해야하니까 내 추측이 맞는것 같은데
애초에 spectrogram을 분리해서 곱한다는게 말이 안될뿐더러 분리할수있다면 뭐하러 이렇게 network를 구성함
아니 갑자기 떠올랐는데 그림을 자세히 보면 noisy input을 complex mask에 곱한 결과가 separated speech spectrogram임…. 난 바보인가?
2. train
각 face에 대응하는 clean한 spectrogram이 정답으로 제공되어 최종적으로 예측한 separated speech spectrogram과의 L2 loss를 이용
정답인 clean spectrogram과 예측한 separated speech spectrogram의 차이가 줄어드는 방향으로 학습을 진행
3. 문제점
결정적으로 말이 안되는 점은 clean spectrogram이 존재할 수 없다는 점이다.
애초에 소리가 혼합된 video에서 등장인물들의 소리를 분리한다는 거 자체가 말이 안된다.
분리할수있다면 굳이 이렇게 소리를 분리하겠다는 목적을 가진 이 network를 열심히 구성했겠는가? 애초에 모순이라는 것이다.
그래서 synthetically training data를 구성하여 학습을 한다.
무슨말이냐면 video에 등장하는 N명의 speaker에 대하여 각 speaker가 1명씩만 등장하여 speech를 하는 video N개를 구성
그러면 각각의 video는 speaker에 대응하는 clean한 spectrogram이 존재하여 L2 loss supervised learning이 가능해진다
training data는 N개의 video를 단순히 합쳐서 face, audio input으로 구성함
4. lip move generation
음성으로부터 입의 움직임을 generation
원하는 얼굴 이미지(여기서는 오바마)를 참조하여 비디오를 생성
성대모사 음성을 만들어진 비디오에 집어넣으면 실제로 오바마가 말하는 것처럼 만들 수 있게 됨
'딥러닝 > Computer Vision' 카테고리의 다른 글
컴퓨터 비전에서 사용하는 기본적인 data augmentation 2 (0) | 2024.09.23 |
---|---|
triplet loss 개념 알아보기 (0) | 2024.09.14 |
visual and audio cross modal reasoning1 - sound source localization (0) | 2024.09.09 |
3D task를 위한 dataset과 3d task (0) | 2024.07.08 |
3D 이해하기2 - 3D를 표현하는 방법 (0) | 2024.05.08 |