본문 바로가기

전체 글

(146)
OpenCV Calibration parameter 이해하기 opencv를 이용한 작업을 하나 진행 중인데 camera calibration parameter가 잘 이해가 안되어서 공부 https://docs.opencv.org/4.x/d4/d94/tutorial_camera_calibration.html OpenCV: Camera calibration With OpenCV Prev Tutorial: Camera calibration with square chessboard Next Tutorial: Real Time pose estimation of a textured object Original author Bernát Gábor Compatibility OpenCV >= 4.0 Cameras have been around for a long-long time..
미디어파이프를 이용한 제스쳐 인식 돌려보기 https://github.com/Kazuhito00/hand-gesture-recognition-using-mediapipe GitHub - Kazuhito00/hand-gesture-recognition-using-mediapipe: MediaPipe(Python版)を用いて手の姿勢推定を行い、検 MediaPipe(Python版)を用いて手の姿勢推定を行い、検出したキーポイントを用いて、簡易なMLPでハンドサインとフィンガージェスチャーを認識するサンプルプログラムです。(Estimate hand pose using M github.com 위 링크에 있는 내용을 돌려본다. 윈도우 환경에서 해본다. -> 실패... 프로토버프, 텐서플로우, 미디어파이프 셋의 요구 라이브러리 버전 맞추는게 굉장히 어려움... 리눅스 환경에서 ..
유니티에서 영상 송출하기 유니티 렌더 스트리밍이라는 기술을 이용해서 영상을 송출해보려 한다. https://docs.unity3d.com/Packages/com.unity.renderstreaming@3.1/manual/tutorial.html Tutorial | Unity Render Streaming | 3.1.0-exp.7 Tutorial This page describes how to create a scene that uses Unity Render Streaming, and introduces you to key features that help you produce the 3D contents works on browsers via streaming. Before you begin Please read the Req..
유니티에서 웹캠 영상 재생하기 unity에서 간단하게 웹캠 영상을 받아서 보여주는 샘플을 만들어봤다. 아주 간단하네..ㅋㅋㅋㅋ 1. 신규 프로젝트 만들기 2. 스크립트 만들기 public RawImage webcamDisplay; void Start() { // 모든 웹캠 장치 목록을 가져옵니다. WebCamDevice[] devices = WebCamTexture.devices; if (devices.Length == 0) { Debug.Log("No webcam detected."); return; } // 첫 번째 웹캠을 사용하여 WebCamTexture를 생성합니다. WebCamTexture webcamTexture = new WebCamTexture(devices[0].name); // RawImage 컴포넌트에 웹캠 영상을..
유니티에서 비디오 재생기 만들기 Assets 에서 커스텀 렌더 택스쳐를 생성한다. Hierarchy 상에서 Video Player를 생성한다. 나같은 경우 두개 만들어서 아래 그림처럼 생성되었음 비디오 플레이어를 클릭한 후 인스펙터를 보자 VideoClip에는 재생할 영상을 넣어주고, 렌더 모드는 렌더텍스쳐로 그래도 두고 위 그림 처럼 Target Texture를 아까 만든 새로운 커스텀 렌더 텍스쳐로 설정 다음으로 위 이미지 처럼 Canvas 내에 RawImage만들어주고 아까 만든 뉴 커스텀 렌더 텍스쳐를 할당 재생을 눌러서 위 이미지치럼 영상이 재생되는 것을 확인 끝!
모션 데이터에 DTW 적용하기 영상에서 VIBE를 적용하고, 거기에서 SMPL 파라미터를 추출한 다음 3d joint position을 빼는 방법으로 두개의 데이터를 준비했다. 이걸 위해서 쓴 포지션 익스포터 import pickle import joblib import pandas as pd from pandas import DataFrame import json import numpy as np import shutil path = "output/differentV2/different/vibe_output.pkl" data = joblib.load(path) data[1]['joints3d'].tofile("joints3d_4.txt",", ") 그리고 그 두개 데이터를 입력으로 해서 DTW를 수행해본 결과는 다음과 같았다. 혹시..
dtw-python 응용하기 내가 해야 하는 것은 두가지 캐릭터 모션데이터를 align 하는 것이다. 이 과정에 고전적으로 DTW를 사용해서 나도 DTW를 이용하기로 했다. DTW에는 세가지 입력이 필요하다. 명칭은 달라질 수 있으나 dtw-python quick start에서 사용했던 용어를 그대로 쓰면, 1. query: 첫번째 타임시리즈 =X = x1, x2 ...., xm 2. template: 두번째 타임시리즈 = Y = y1, y2, ... yn 3. non-negative 거리 계산 함수 = f (xi,yi) 여기서 거리 계산함수는 query와 template의 매 item들 간에 적용된다. 1. 퀵스타트 소스코드 분석 quickstart 소스코드를 한줄 한줄 분석해보자. #index를 만든다. idx = np.lins..
dtw-python 써보기 https://dynamictimewarping.github.io/python/ DTW for Python - The DTW suite From here you can search these documents. Enter your search terms below. dynamictimewarping.github.io 위 링크를 보고 따라해보았다. 일단 가상 공간을 만들자. conda create -n DTW-Env python=3.8 pip install dtw-python pip install matplot 간단하게 설치 완료 퀵스타트 코드 실행 import numpy as np ## A noisy sine wave as query idx = np.linspace(0,6.28,num=100) query..