티스토리 뷰
문제가 발생했습니다.
사실 color에 기반한 CAMShift를 사용하면 hue값만 가지고 손의 위치를 잡을 수 있기 때문에 쉽게 구할 수 있습니다.
하지만 제가 적용하려고 하는 것은 Depth니까 기본적으로 1 channel일테고, 그러면 거기서 Hue 값을 뽑아내도 hexacon의 특성상 다른 특성들도 구분하지 못하게 됩니다. 또한 히스토그램을 뽑아낸 과정에서 배경인 검정색의 영향이 엄청 크게 작용합니다. 결론적으로 Color 기반의 CAMShift를 그대로 적용하기 힘들다는 것이지요. 그래서 그와중에 생각한 방법중 하나가 Depth에 Color를 segmentation을 해보는게 어떨까였습니다. 그래서 color 손에 대해 Camshift를 수행한 후 해당 Rectangle을 Depth에만 넘겨주면 된다고 생각한 것이죠. 제가 참고한 논문은 다음과 같습니다.
Interaction System of Treadmill Games based on depth maps and CAM-Shift Hu Hai
사실 당연한 이야기겠지만 IR Emitter와 RGB CAM은 같은 위치에서 방사되는 것이 아니기 때문에 당연히 MisMatch가 발생합니다. 보통 stereo Cam에서는 disparity와 Color를 보정하는 Calibration을 체스판을 가지고 하지요. 그런데 사실 Kinect SDK에서도 Calibration할 수 있는 function을 제공합니다. 바로 NuiImageGetColorPixelCoordinatesFromDepthPixel()입니다.
서두에도 언급되어 있는 것처럼 DepthPixel과 matching 되는 ColorPixel의 위치를 구해주는 것이 이함수의 역할입니다. 보통 이걸 쓰는 이유는 3D Point Cloud를 visualization하기 위해 Color와 Depth를 일치시켜주는 과정중에 하나로 사용됩니다. 저는 그냥 일련의 과정으로 사용한 것이니까 그냥 참고하시면 좋겠습니다. 다음은 동작동영상입니다.
그래도 CAMshift 잘 안되네요.. 아..
'OpenCV' 카테고리의 다른 글
[Kinect with OpenCV] Douglas Peucker approximation (0) | 2012.10.08 |
---|---|
[Kinect with OpenCV] Hand Tracking using Depth Data & Blob (7) | 2012.10.05 |
[Kinect with OpenCV] C로 만들어보는 뎁스 이미지 호출 (20) | 2012.10.01 |
[Kinect with OpenCV] CAMShift 적용 (1) (2) | 2012.09.19 |
[Kinect with openCV] cvDistTransform을 활용한 무게 중심점 도출 (2) | 2012.09.17 |
[Kinect with openCV] ConvexHull (0) | 2012.09.15 |
[Kinect with openCV] matlab을 통한 hand point 분석 (0) | 2012.09.11 |
- Total
- Today
- Yesterday
- 강화학습
- Off-policy
- windows 8
- Windows Phone 7
- Gan
- dynamic programming
- Policy Gradient
- RL
- Kinect for windows
- Kinect
- Expression Blend 4
- SketchFlow
- End-To-End
- bias
- Pipeline
- Variance
- ai
- reward
- 딥러닝
- ColorStream
- processing
- Kinect SDK
- Distribution
- TensorFlow Lite
- DepthStream
- 한빛미디어
- Offline RL
- arduino
- PowerPoint
- 파이썬
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |