Super Kawaii Cute Cat Kaoani '연구' 카테고리의 글 목록 (3 Page)

연구 67

Listen, Denoise, Action! Audio-Driven Motion Synthesis with Diffusion Models 논문리뷰 (2)-실험

본 포스트는 Listen, Denoise, Action! Audio-Driven Motion Synthesis with Diffusion Models 논문에서 진행한 실험의 내용들을 정리하는 글이다. 4.1 데이터 처리 및 모델링 접근 방식 실험 4.2 일반적인 평가 프레임워크 4.3 두 개의 gesture generation dataset에서 우리의 방법과 기존의 방법 중 제일 나았던 방법 비교 4.4 audio-driven dance syntehsis 분야에서 우리의 방법과 기존의 최첨단 방법 비교 4.5 객관적인 지표 4.6 path-driven locomotion generation에 일반화된느 것을 보여줌 4.7 결과 요약 4.1 Data and modelling 실험에서 다섯가지 데이터셋을 사..

Listen, Denoise, Action! Audio-Driven Motion Synthesis with Diffusion Models 논문리뷰 (1)-본문

Audio에 따른 dance motion 및 gesture motion을 생성하는 방법론을 제안하는 논문이다. 결과 영상을 보면 알겠지만, stylistic한 모션의 구현을 굉장히 잘하고있다. https://www.speech.kth.se/research/listen-denoise-action/ https://www.speech.kth.se/research/listen-denoise-action/ www.speech.kth.se 본 논문에서 하고자 하는 task를 더 자세히 말하자면, 주어진 sequence of audio feature a_{1:T}로부터 선택적으로 style vector s를 포함시켜 huamn pose x_{1:T}를 생성하는 것이다. 그럼 본문 내용을 하나씩 살펴보자. Diffus..

실시간으로 mel spectrogram 생성하기

이때까지 오디오 파일 전체를 로드하고 거기서 mel spectrogram을 다 만들어놓은 뒤, 만들어 놓은 mel spectrogram 에서 필요한 부분들을 뽑아서 사용했었는데, 이제 오디오로부터 mel spectrogram을 실시간으로 생성해야하는 상황(런타임)이 생겨버렸다. dataset을 생성할 때 오디오 파일 전체를 로드한 뒤 mel sepctrogram을 생성했기 때문에, 실시간으로 mel spectrogram을 생성할 때에도, 오디오 파일 전체를 로드했을 때와 최대한 비슷한 mel spectrogram feature를 매 순간순간마다 만들어야한다. mel spectrogram 자체가 Window를 가지고 미래 시점까지의 데이터까지 반영해서 만드는 것이다 보니 조금 딜레이는 생길 수 밖에 없지만..

연구/오디오 2023.10.10

Scheduled sampling 기법에 대한 분석 (Character Controller Using Motion VAEs)

scheduled sampling에 대한 개념은 어느정도 이해를 하였으나, 구현을 하려고 보니 막상 디테일적인 부분에서 막히는게 많았다... 그래서 코드까지 보면서 좀 더 자세히 분석을 해보려고 한다. (이 글은 Character Controller Using Motion VAEs 논문을 참고하여 본 글을 작성하였다.) 1) 각 Roll out마다 prediction length 정하기 scheduled sampling을 구현하기 위해서는 prediction length L를 각 roll-out마다 정하여야한다. 각 Roll-out에서 motion capture database로부터 start frame을 random하게 sample하고 L step동안 pose prediction을 진행한다. L은 실제..

[Pytorch] Dataloader와 Sampler

모든 pytorch의 dataloader는 sampler라는걸 가지게 된다. * RandomSampler DataLoader(dataset=train_dataset, shuffle = True, batch_size = 1) 위와 같이 shuffle=True로 세팅하게 되면 dataloader의 sampler는 자동으로 RandomSampler로 선택된다. 만약 RandomSampler가 아닌 내가 원하는 방식대로 동작하는 sampler를 따로 지정해주고 싶다면 shuffle= False로 세팅하여야한다. * SubsetRandomSampler shuffle=True일때는 전체 dataset에서 data를 andom하게 뽑게 된다. 만약 전체 dataset에서가 아닌 일부 subset에서 data rand..

연구/PyTorch 2023.10.07

[Blender] Python script로 음악 재생 및 현재 재생 시점 알아내기

python script로 aud.Sound object를 생성하고 재생시킨 뒤 python script로 현재 재생하고 있는 음악의 시점을 알아내는 방법이다. (매우 간단한데 구글링했을 때 너무 안나와서 고생을 좀 했다..) 1. 오디오 재생 import aud device = aud.Device() aud 라이브러리를 Import 해준 뒤 오디오를 재생할 디바이스를 생성해준다. audio_file_path = "오디오 파일 경로" sound = aud.Sound(audio_file_path) 오디오 파일 경로를 이용하여 aud.Sound object도 생성해준다. controller = device.play(sound) # 음악 재생을 멈추고 싶을 때는 controller.stop() 위와 같이 음악..

연구/Blender 2023.10.04

[PyTorch] Tensor 조작법 기본) indexing, view, squeeze, unsqueeze

tensor 쓰는법이 안익숙해서 numpy array로 버티면서 코딩하다가..ㅋㅋㅎㅎ더이상 안될것같아 코드 전체를 tensor 기반으로 바꾸는 작업을 진행하게 되었다. 쓰다보면 당연히 체화되어 익숙해질테지만 그래도 어느정도는 공부하는게 좋지 않을까 싶어 tensor 조작법을 정리해보았다! 1) torch.Tensor()와 torch.tensor()의 차이 * torch.Tensor는 Tensor 자료구조의 클래스로, 이 클래스를 사용하면 클래스 인스턴스를 생성할 수 있다. T = torch.Tensor() 라고 입력하면 T는 Tensor 클래스의 인스턴스가 된다. T의 경우 data를 입력해주지 않았으니 빈 tensor가 된다. * torch.tensor는 어떤 data를 tensor로 copy해주는 클..

연구/PyTorch 2023.09.17

PyTorch로 AutoEncoder 구현하기

1. 개념요약 AutoEncoder는 앞부분을 Encoder, 뒷부분을 Decoder라고 부른다. Encoder는 정보를 받아서 이를 압축하고 Decoder는 압축된 정보를 복원하는 역할을 한다. AutoEncoder를 사용하면 필연적으로 정보의 손실이 일어나지만, 이는 불필요한 정보를 줄이고 필요한 정보만 남기는 데이터 가공이라고 볼 수 있다. 이렇게 불필요한 정보를 줄이는 AutoEncoder를 사용하면 복잡한 데이터의 차원을 줄일 수 있다. 따라서 AutoEncoder는 Input data의 feature를 추출할 때 많이 사용된다. 2. AutoEncoder 구현 import torch import torchvision import torch.nn.functional as F from torch ..

연구/PyTorch 2023.08.16

ZeroEGGS: Zero-shot Example-based Gesture Generation from Speech 논문세미나 준비

0-1. System overview 설명 * speech와 원하는 style의 짧은 reference motion clip을 Input으로 받아 speech에 적절하면서도 원하는 style을 가지는 gesture를 생성해냄. * framework는 총 3개의 component로 이루어져있는데, 1) speech encoder 부분, 2) style encoder 부분, 3) gesture generator 부분으로 이루어져있음 speech encoder 부분은 raw audio data를 받아서 speech embedding sequence로 변형시킴 style encoder 부분은 reference style animation clip을 받아서 style을 capture하는 fixed size emb..

728x90
728x90