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

연구 67

mel spectrogram 관련 조사 + 어떻게 뽑아내는지

연구 관련해서 음성 데이터를 사용할 일이 생겼다. 보통 음성 데이터를 Raw data로 사용하면 용량이 너무 커지므로 딥러닝에서는 음성의 feature를 추출하여 사용한다. 이때 가장 많이 사용하는 음성 특징 추출 방법이 mel spectrogram이다. 이번 글에서는 mel spectrogram이 무엇인지, 그리고 어떻게 뽑아내는지에 대해 알아보고자 한다. 1. mel spectrogram이란? 소리의 파형을 인간이 들을 수 있는 범위로 줄인 mel scale로 다운 스케일한 이후, 그 파형을 그림으로 그린 모양이다. 2. 어떻게 뽑아낼 수 있을까? librosa library를 사용하면 된다. 스크립트를 보면 다음과 같다. audio_file = "sound.wav" y, sr = librosa.lo..

연구/오디오 2023.07.05

blender에서 한 model의 facial motion을 다른 model에 적용하기

default fbx model에 저장되어있는 facial motion data를 custom fbx model에 적용하는 과정을 담아보았다. 나만 볼 것 같고..내가 기억 안날까봐 정리하는거니까 친절하게 서술하지 않을거다! * 상황 정리 default fbx model의 face mesh의 shape keys는 총 53개이고, 그 중 사용하는 shape keys는 39개였다. custom fbx model의 face mesh의 shape keys는 약 70개 정도였고, 여기에 default fbx model이 사용하는 39개의 shape keys는 모두 포함되어있다. facial motion data가 담겨있는 fcurves의 default fbx model과 custom fbx model 모두 39개..

DeepMotion: Animate 3D (4) - character retargeting과 관련된 조사 보충

DeepMotion의 Animate 3D와 호환되는 캐릭터들을 찾다가 뭔가 정보가 부족한 느낌이 들어 character retargeting과 관련된 조사를 조금 더 해보았다. 1. Animation retargeting이란? custom character를 upload하여 만든 animation을 원하는 character에 부여할 수 있는 것을 의미한다. 2. Custom character를 uploading하는 것이 중요한 이유는 무엇일까? Unity나 Unreal 같은 게임엔진은 auto mapping algorithms이 잘 되어있기 때문에 retargeting이 쉽다. 하지만 blender와 같은 소프트웨어에서는 retarget이 쉽지 않다. 따라서 결과 자체가 custom character에 ..

연구/DeepMotion 2023.06.12

DeepMotion: Animate 3D (3) - blender에서 facial motion data 활용하기

https://chickencat-jjanga.tistory.com/69 DeepMotion: Animate 3D (1) - Face Tracking 관련조사 full-body motion + facial motion이 모두 포함되어있는 데이터가 필요해서, 비디오로부터 이 데이터들을 뽑아낼 수 있는 방법이 있는지 조사해보다가 DeepMotion에서 관련기술을 지원하고 있다는 사실을 chickencat-jjanga.tistory.com https://chickencat-jjanga.tistory.com/70 DeepMotion: Animate 3D (2) - Motion Tracking 관련조사 https://chickencat-jjanga.tistory.com/69 DeepMotion: Animate 3..

연구/DeepMotion 2023.06.07

DeepMotion: Animate 3D (2) - Motion Tracking 관련조사

https://chickencat-jjanga.tistory.com/69 DeepMotion: Animate 3D (1) - Face Tracking 관련조사 full-body motion + facial motion이 모두 포함되어있는 데이터가 필요해서, 비디오로부터 이 데이터들을 뽑아낼 수 있는 방법이 있는지 조사해보다가 DeepMotion에서 관련기술을 지원하고 있다는 사실을 chickencat-jjanga.tistory.com 저번 포스팅에서 DeepMotion의 Animate 3D 기술을 사용하여 Face Tracking 하는 것과 관련된 내용을 정리해보았다. 이번 포스팅에서는 Full body Motion Tracking과 관련된 내용을 정리해볼 예정이다. 그럼 고! Full body Moti..

연구/DeepMotion 2023.05.31

DeepMotion: Animate 3D (1) - Face Tracking 관련조사

full-body motion + facial motion이 모두 포함되어있는 데이터가 필요해서, 비디오로부터 이 데이터들을 뽑아낼 수 있는 방법이 있는지 조사해보다가 DeepMotion에서 관련기술을 지원하고 있다는 사실을 알게 되었다. 나도 처음 접하는 거라 잘 모르지만 공부하면서 글을 작성해볼 계획이다. (이번 글에서는 face tracking 관련조사한 내용을 정리하고 다음 글에서는 full body motion tracking 관련 조사내용을 다룰 것이다.) 그럼 고! Animate 3D face tracking 비디오 파일를 넣어주면 face feature를 뽑아낼 수 있는 기술이다. face tracking은 다음과 같은 설정을 통해 할 수 있다 --> 빨간 네모 쳐져있는 부분 옵션을 켜주면..

연구/DeepMotion 2023.05.31

blender bvh load 관련 알아낸 사실 정리 (2)

blender에 한달 가까이 고통받고, bvh load하는 코드까지 뜯어내면서 알아낸 "blender bvh load 관련" 알아낸 사실들을 세세하게 정리하고자 한다. 시작! 1) armature coordinate에서 rest pose에 대한 정보는 matrix_local에 담겨있다! blender에서 각 pose.bone에 대한 회전값을 생성할때 rest pose에 대해 계산을 하기 때문에 각 bone의 rest pose에 대한 정보가 필요하다. armature coordinate에 대해서 표현된 rest pose는 다음과 같이 확인할 수 있다. bpy.data.armature["object 이름"].bones[i].matrix_local pose.bone.matrix에는 armature coordi..

연구/Blender 2023.04.18

파이썬에서 객체(+ 여러 객체)를 파일로 저장하고 불러오기

객체를 파일로 저장하는 과정: 피클링 파일으로부터 객체를 불러오는 과정: 언피클링 이라고 한다. 위의 과정들은 파이썬의 pickle 모듈을 사용하여 진행할 수 있다. 1) 객체 하나를 파일로 저장하고 로드하기 객체를 file로 저장하는 피클링은 다음과 같이 하면 된다. 이때 file의 확장자 명은 .p, .pickle 등 다양하게 사용할 수 있다. 이때 주의해야하는 점은 file을 'wb' 모드로 오픈해야한다는 것이다. b는 binary라는 뜻으로 컴퓨터가 처리하는 파일 형식으로 오픈한다는 의미이다. import pickle a = Motion() with open('file 경로', 'wb') as f: pickle.dump(a, f) 저장된 파일로부터 객체를 로드하는 언피클링은 다음과 같이 하면 된다..

연구/Python 2023.04.04

파이썬 메모리에서 객체 지우기

파이썬 메모리에서 객체를 지우고 싶을때는 del 키워드와 gc.collect()를 같이 사용해야한다. del 키워드만 사용해서 객체를 지울경우 네임스페이스에서 해당 객체가 사라져 참조는 안되지만 여전히 메모리상에 객체가 존재하는 상태이기 때문에 꼭 gc.collect()를 같이 해주어야한다. import gc a = Motion() # a를 메모리 상에서 지우는 과정 del a gc.collect() gc.collect()에 대한 설명을 덧붙이자면, gc.collect()는 순환 참조 탐지 알고리즘을 통해 도달가능한 객체(reachable)와 도달 불가능한 객체(unreachable)로 구분한다.여기서 도달 가능한 객체의 경우 세대를 이동시키고, 도달 불가능한 객체의 경우 콜백을 수행 후 메모리에서 해제..

연구/Python 2023.04.04

Motion Fields for Interactive Character Animation 정리(2)

https://chickencat-jjanga.tistory.com/63 Motion Fields for Interactive Character Animation 정리(1) 본 논문에서는 motion field라는 structure를 제안하고 있다. motion field는 어떻게 구성되는지, 또 어떠한 장점이 있는지 차근차근 알아보자. Preliminary Definition 1. Motion States character의 state m를 character 모 chickencat-jjanga.tistory.com 지난 포스트에서 Motion States 표현을 어떻게 하는지, Motion Database는 어떤식으로 생성하는지 Action값이 정해졌을 때 next motion state는 어떻게 결정..

728x90
728x90