본문 바로가기

인공지능

(35)
Multi-GPU Deep Learning_1 (using DDP) 목차 Introduction Data Parallel과 분산 딥러닝에 익숙해지기 위해서 간단한 auto-encoder를 만들었다. Data Parallel에는 크게 DP와 DDP가 있는데, 그 둘의 차이점은 이미 간단하게 서술한바가 있다. Data Parallel(DP), Distributed Data Parallel(DDP)의 차이 목차 Keywords Data Parallel(DP), Distributed Data Parallel (DDP), Multi-GPU training, All reduce Data Parallel(DP), Distributed Data Parallel(DDP)의 차이 Compared to DataParallel, DistributedDataPar.. engui-note.tis..
가수의 목소리 변경_1 (Singing Voice Conversion) 목차 Introduction Voice Conversion is a technology that modifies the speech of a source speaker and makes their speech sound like that of another target speaker without changing the linguistic information. Singing voice conversion is to convert a singer's voice to another one's voice without changing singing content. 음성 변환은 언어 정보를 변경하지 않고 원본 화자의 음성을 수정하여 다른 대상 화자의 음성처럼 들리게 하는 기술이다. 그 중에서도 노래소리변환은 ..
Data Parallel(DP), Distributed Data Parallel(DDP)의 차이 목차 Keywords Data Parallel(DP), Distributed Data Parallel (DDP), Multi-GPU training, All reduce Data Parallel(DP), Distributed Data Parallel(DDP)의 차이 Compared to DataParallel, DistributedDataParallel requires one more step to set up, i.e., calling init_process_group. DDP uses multi-process parallelism, and hence there is no GIL contention across model replicas. Moreover, the model is broadcast at..
노래에서 목소리와 악기소리 분리_完 (music demixing using mdx-net & MUSDB18 dataset) Introduction mixing은 멀티 트랙이 보편화된 작곡 환경에서 각 트랙간의 레벨 밸런스를 맞추고 여러 가지 소리들을 하나의 마스터 트랙이 모아 섞는 작업을 의미한다.(위키참고) demixing이란 mixing의 reverse 작업으로 합쳐진 하나의 파일에서 보컬, 드럼, 베이스 등등으로 구분하여 추출하는 작업이라고 생각하면 쉽다. 개인적으로 만들고 있는 영상이 여러명의 영상을 합친 영상인데, 노래소리가 중복해서 들려서 싱크 맞추기가 상당히 까다로운 상태이다. 이를 해결하기위해 생각한 방법이 만약 음성파일에서 노래소리를 제거하고 음성만 추출할 수 있다면, 싱크를 어느정도만 맞춰도 노래가 서로 공명하지 않고 깔끔한 소리가 날 수 있을 것 같아서 시도해봤다. Method & Material 알고리즘..
현실의 춤을 가상공간으로 매핑하기_관 (using 3D human pose estimation) Introduction 저번 글을 마무리할 때 향후 적용해볼만한 내용에 대해 정리를 했었다. 이번 글에서는 그중에 시도했던 내용 + 추가로 진행된 사항에 대해 정리하겠다. Method & Result 우선 저번글 마무리에 작성한 내용은 다음과 같다. 우선 먼저 해볼 것은 VMD converter의 내용을 수정하는 것이다. motion capture의 경우 입력 format으로 FBX, BVH가 있는 것으로 확인했는데, FBX는 3d pose coordinate에서 변환하는 방법을 찾지 못한상태이고, BVH의 경우 github을 뒤지다가 3d pose에서 변환하는 코드를 찾아서 맞게 수정해볼 생각이다. BVH 데이터를 만들면 rokoko 애드온을 이용해 bone들끼리 retargeting을 진행할 것이다...
현실의 춤을 가상공간으로 매핑하기_1 (using 3D human pose estimation) Introduction 내가 좋아하는 노래의 춤을 내가 좋아하는 캐릭터가 추는 것을 보고 싶은 마음은 덕질하는 사람이면 누구나 한 번쯤 생각해봤을만한 내용이다. 하지만 춤과 관련된 내용을 한번도 다뤄본적이 없고 아바타또한 다뤄본적이 없기 때문에 앞으로 난관이 많을 것으로 생각된다. 잠깐 가상공간에서 춤추는 것에대해 찾아봤을때 코딩공부를 처음했을때의 느낌이 들 만큼 너무 새로운정보가 많아서 무엇부터 시작해야할지 몰랐다. 우선 현실세계에서의 춤이 가상공간으로 매핑되는 과정이 단순하다고 생각되지는 않기 때문에 여러가지 알아보고 준비해야할 내용이 많았다. 현재 가상공간의 아바타를 춤추게 만드는 방법은 많겠지만 많이 찾아본 결과, 가장 많이 사용되는 툴은 아무래도 MMD라고 생각된다. 많은 사람들이 예전부터 사용..
python에서 Semantic segmentation을 이용한 누끼따기_完 (remove background, semantic segmentation using python) Introduction 저번글(python에서 Image matting을 이용한 누끼따기_1 (remove background, Image matting using python))에서는 Image matting을 이용해 배경으로부터 아바타를 분리하는 작업을 진행했다. 배경이 깔끔하거나 아바타의 외곽선이 명확한 경우에는 matting작업이 원활하게 진행 되었지만, 배경에 영상이 있거나 아바타 외곽선이 명확하지않은 경우에는 matting작업을 해도 배경까지 mask에 포함되는 경우가 많았다. 이러한 경우를 보완하기위해 matting작업대신 차라리 아바타의 위치를 찾는 segmentation 모델을 사용하는것이 좀 더 정확하게 아바타를 추출할 수 있는 방법일 것 같아서 시도해봤다. Method 이번 seman..
python에서 Image matting을 이용한 누끼따기_1 (remove background, Image matting using python) Introduction Image Matting is the process of accurately estimating the foreground object in images and videos. 즉 이미지에서 전경 물체(foreground object)를 정확하게 추정하는 작업이다. 즉 익숙한 말로 '누끼 따는 작업'이다. 크로마키 영상이 아닌 일반영상(배경부분의 색이 단일색이 아닌경우)에는 누끼를 따는 작업을 편집툴 (프리미어프로, 다빈치리졸브 등)에서 지원을 어느정도 해주긴 하지만, 성능이 그렇게 좋지는 않다. 정교한 누끼를 위해서는 사람이 직접 작업을 진행해야하지만 60프레임 영상길이가 3분만 되어도 10800프레임이고 여러명의 영상을 누끼를 따려면 * 영상갯수만큼 늘어나게 되는데, 이걸 일일이..