한창 학기말 준비때문에 바쁘다. 성적은 잘 받아야되겠고, 논문 준비는 해야되겠는데 일단 급한 불부터 지금 끄고 있다. 문제는 불은 꺼도 불씨는 살아남아있다는 거다...우선 지금 집중하는 건, Machine Learning 학기 프로젝트다. 우리팀의 주제는 키넥트를 이용해서 실시간 수화프로그램을 만드는 것이다. 대충 Framework는 이렇다. 이렇게 오른손을 tracking해서 손의 모양을 인식하게 되면 될거 같았고, 이에 대한 결과를 하단부에 이미지로 출력하려고 했다. 기존의 접근 방식과는 다르게 우리는 depthStream을 이용해서 손인식을 하게 하려고 했다. 그러고보니까 문제는 크게 두가지가 있었다. 첫번째는 사람이 어디서 손을 인식하느냐에 따라서 손의 depthValue가 다르게 나오는 것이다...
clc; clear all; close all; imaqreset; depthVid = videoinput('kinect',2); triggerconfig(depthVid, 'manual'); depthVid.FramesPerTrigger = 1; depthVid.TriggerRepeat = inf; set(getselectedsource(depthVid), 'TrackingMode', 'Skeleton'); viewer = vision.DeployableVideoPlayer(); start(depthVid); himg = figure; while ishandle(himg) trigger(depthVid); [depthMap, ~, depthMetaData] = getdata(depthVid); idx ..
clc; clear all; close all; imaqreset; depthVid = videoinput('kinect',2); triggerconfig(depthVid, 'manual'); depthVid.FramesPerTrigger = 1; depthVid.TriggerRepeat = inf; set(getselectedsource(depthVid), 'TrackingMode', 'Skeleton'); viewer = vision.DeployableVideoPlayer(); start(depthVid); himg = figure; while ishandle(himg) trigger(depthVid); [depthMap, ~, depthMetaData] = getdata(depthVid); imsh..
C#이나 C로 개발할 때는 자료형 별로 attribute가 있기 때문에 자기가 원하는 데이터를 특정 자료형으로 정의한 후에 접근할 수 있는데, matlab에서는 전부 depthMetaData라는 struct형 자료에 접근해서 정보를 얻어야 한다. 심지어 skeletonData도 말이다. 아마 추정컨데 kinect 내에서 사람의 skeleton을 뽑아내는 구조는 depth에서 나오는게 아닐까 싶다. 거기서 distance Transform을 내부적으로 추정해서 Joint를 유추하는게 skeletonTracking의 기반일지 모르겠다는 생각을 잠깐 해본다. 아무튼 depthMetaData를 통해서 얻을 수 있는 데이터는 다음과 같다. 여기서 SegmentationData를 활용하면 배경을 제거한 사람의 모습..
지금 하고 있는 수업에 응용하느라 Matlab에 Kinect를 설치하는 방법에 대해서 소개하고자 한다. 방법도 무척 간단하고, matlab 상의 Image Aquisition Toolbox를 이용하면 금방 설치할 수 있다. 우선 matlab을 실행시킨 상태에서 다음 명령어를 쳐본다. 참고로 나는 Matlab R2014a에서 테스트해보고 있다. 만약 위와 같이 뜨는 거면 지금 Matlab에서 kinect를 인식하고 있지 못한 상태다. 그런 경우에는 위에 Support Package Installer를 통해서 Kinect Runtime Environment를 설치해주면 된다. * 정정 : 여기서 말하는 NI grabber는 Nattional Instrument사에서 제공하는 장치 중 하나다.Mcrosoft ..
※ Herlihy , shavit 책을 그냥 혼자보기 쉽게 요약한 내용이라서 잘못된 내용이 담겨 있을 수 있다.분산시스템에서 초점을 맞추고 있는 형태는 MIMD(Multiple Instruction Multiple Data)의 구조다. [1]MIMD의 형태로는 위와 같이 Bus를 sharing하는 형태를 보일 수도 있고, 혹은 오른쪽처럼 Mesh 형태로 core와 memory가 분산되어 있는 형태를 취할 수도 있다. 이중에서 Shared Bus 형태는 당연하겠지만 contention이 발생한다. thread가 memory로부터 데이터를 읽어올때는 항상 한개의 thread만이 bus를 점유하기 때문에 이에 따른 memory쪽이나 thread간의 communication 에 대한 contention이 발생할..
Instructables를 살펴보다가 초음파센서에 관련된 내용이 있길래 한번 해봤다. 링크 내가 가지고 있는 초음파 센서는 hc-sr04라는 핀 4개짜리 센서인데, 아마 다른걸로는 흔히 ping이라고 불리는 핀 3개짜리 초음파센서도 있는걸로 안다. 아무튼 이 센서는 한개의 입력핀(trigger)와 한개의 출력(echo) 그리고 ground와 Vcc로 구성되어있다. 초음파센서의 특성은 일반적인 거리측정 원리와 똑같다. 간단히 설명하자면 소리의 이동을 이용한 것이다. 소리는 그 자체의 파장(wavelength)를 가지고, 정해진 시간만큼 그 파장의 거리로 나아간다. 만약 파장이 나아가는 곳에 장애물이 있게 되면 반사(reflection)이 일어나던지 회절(diffraction) 이 발생하는데, 초음파 센서는..
아무래도 엑셀을 사용하면 데이터도 효율적으로 관리할 수 있고, 그래프를 뽑기도 쉽다. 더구나 csv(comma separated value) 형식을 활용하면 실험 결과를 바로바로 그래프로 만들 수 있다. 그런데 문제는 엑셀에서 만든 그래프를 다른 문서에 옮기려고 할때 문제가 발생한다. 일단 엑셀의 그래프는 다음과 같이 나온다. 이렇게 이쁘게 나오는 그래프도 그냥 ctrl-c / ctrl-v로 옮기면 ppt에서는 다음과 같이 나온다. 아마 이런경험을 해본 사람은 알겠지만 이렇게 되면 그래프 크기를 수정할때마다 x,y축이 자유자재로 바뀐다. 이런게 싫은 사람은 아예 그래프를 그림파일로 만들면 좋을 수도 있다. 방법은 의외로 간단하다. 다만 복사가 앞에서 언급한 텍스트 복사가 아닌 이미지 복사 기능을 활용해야..
- Total
- Today
- Yesterday
- 딥러닝
- Off-policy
- processing
- Variance
- Distribution
- Expression Blend 4
- reward
- Gan
- Kinect SDK
- Policy Gradient
- ColorStream
- dynamic programming
- DepthStream
- 강화학습
- Offline RL
- RL
- Kinect
- Kinect for windows
- Pipeline
- SketchFlow
- 한빛미디어
- bias
- PowerPoint
- Python
- windows 8
- arduino
- End-To-End
- TensorFlow Lite
- 파이썬
- Windows Phone 7
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |