키넥트와 관련해서 유용한 문서가 공개되었습니다. 제가 알기론 Rob Miles 씨는 2월말에 출간한 Beginning of the Kinect for windows programming 책의 저자였던 것 같았는데 이 분이 이런 자료를 공개해주시네요. 그래서 제가 하고 있는 것도 해서 당분간은 XNA로 한번 해보고자 합니다. 기존에는 WPF나 WinForm으로 열었던 것과 다르게 이번 프로젝트는 XNA GameStudio으로 여셔야 합니다. 아시는 분은 아시겠지만 XNA는 C#을 기반으로 하는 게임 전용 라이브러리입니다. 그래서 이미지의 변형이나 이동에 관한 동작이 기존의 C# 코드보다 수월하게 작업할 수 있습니다. 물론 플렛폼 또한 PC, Xbox360, 심지어는 Windows Phone 7의 개발에도 ..
계속해서 DepthStream을 활용한 내용을 다루고 있습니다. 물론 지난 시간에는 Winform을 이용해서 chart에 히스토그램을 표현해봤습니다. 하지만 이런 것보다 키넥트를 활용한 작업에서는 무엇보다도 사람을 인지하는 것이 필요합니다. 어떤 원리로 사람을 인지할 수 있을까요? 지금까지 배워온 것을 토대로 한다면 ColorStream과 DepthStream간의 연산을 통해서 사람의 형상만 따올 수 있다면 어떨까요? 이번 포스팅에서는 그런 내용에 대해서 다뤄보겠습니다. 우선 프로젝트를 연후 MainWindow를 가로로 길게 확장시킵니다. 그 후에 Image 컨트롤를을 3개 삽입해야 합니다. 물론 첫번째에는 Colorstream, 두번째에는 DepthStream 마지막으로는 그것을 논리연산을 취한게 들어..
우리가 포토샵으로 이미지를 다룰 때 중요하게 다루는 요소가 있습니다. 바로 색분포에 따른 히스토그램입니다. 물론 저는 이미지처리에 대해서 잘 아는 사람이 아닙니다만 보통 이런 히스토그램을 분석하고 노출량을 조절함으로써 사진을 조금더 선명하고 화사하게 바꿀 수 있다는 걸로 알고 있습니다. 마침 키넥트의 DepthStream으로 나온 정보를 이런 히스토그램으로 뽑을 수 있는 아티클이 있기에 한번 정리해봅니다. 출처는 http://www.i-programmer.info/ebooks/practical-windows-kinect-in-c/3802-using-the-kinect-depth-sensor.html?start=2 입니다. 이 글의 목적은 버튼을 눌렀을 때의 이미지의 히스토그램을 분석하는 것입니다. 우선 ..
지난 포스팅까지 ColorStream을 통해서 이미지를 뽑아오는 작업을 했습니다. 하지만 ColorStream을 뽑아오는 것 자체로는 Player를 인식할 수 없습니다. 우리 눈으로 들어오다시피 2D로 들어오기 때문이지요. 그래서 필요한게 바로 이 depthStream입니다. 물체와 센서간의 거리를 측정할 수 있기 때문에 이를 바탕으로 Player를 인지할 수도 있는 거지요. 만약 ColorStream에 이 Depthstream을 필터형식으로 입힐수만 있다면 컬러에서도 사용자만 인식하는게 가능하겠지요? 우선 예제로 들어가겠습니다. 프로젝트를 생성하고 필요한 참조파일을 삽입합니다. 이번에도 삽입해야할 요소는 Image입니다. 역시 xaml상에도 image1이란 항목으로 생겼습니다. 사실 DepthStrea..
계속해서 컬러스트림을 활용하는 방안에 대해서 언급해보겠습니다. 이번 시간에 할 내용은 컬러스트림으로 받아오는 프레임을 초단위로 저장하는 것에 대해서 해보고자 합니다. 우선 사진을 찍으려면 무엇이 필요할까요? 가장먼저 지금의 상황을 나타내는 이미지가 필요할 것이고요. 그리고 특정순간을 클릭하기 위한 버튼이 필요하겠지요. 이를 wpf상에 삽입합니다. xaml상에서는 별로 다룰 내용이 없습니다. 거의 전반적인 내용이 C#코드상에서 구현됩니다. 다만 이전 프로젝트와는 다르게 이미지 파일을 저장하고 불러오는 작업이 필요하기 때문에 IO에 관한 컨트롤이 필요합니다. 해당 네임스페이스를 삽입합니다. InitializeNui()에 관한 항목도 이전과 똑같습니다. 역시 ColorFrame을 뽑아내는 과정도 똑같습니다. ..
1주일간의 키넥트 프로그래밍 교육을 마치고 다시 정리해보고자 합니다. 이번 프로젝트도 역시 wpf로 작성합니다. 들어가기에 앞서서 이전 포스팅에서 언급된 사전작업을 해주셔야 합니다. 일단 디자인뷰를 보면 횡합니다. 여기에 이번 시간의 목적인 FrameCount를 출력하는 TextBlock이 필요하겠지요. 물론 키넥트에서 받아올 이미지를 뿌릴 이미지 컨트롤도 삽입해야 하고요. 그냥 toolbox에서 해당 컨트롤들을 드래그엔 드롭 형식으로 가져오면 됩니다. 이제 코드를 볼 차례군요. 우선 MainWindow 상에서 Nui를 초기화시키는 과정이 필요합니다. 이를 initializeNui란 메서드로 정의가 필요하고 이를 구성하는 함수를 작성합니다. 여기도 역시 Colorstream을 뽑아내는 것이 필요합니다. ..
지난 포스팅에서 Kinect Paint에 관한 내용을 다루려고 했는데 생각보다 복잡하네요. 대신 기본적인 컬러스트림을 뽑아오는 내용에 대해서 다루고자 합니다. QuickStart 강의에서 다룬것과 달리 이번 내용에서는 순전히 Microsoft.Kinect 레퍼런스만 가지고 컬러스트림을 뽑아보려고 합니다. 우선 기본적으로 전제해야 할 사항은 앞으로 진행될 모든 프로젝트가 WPF에 맞춰서 것이라는 겁니다. 그래서 모든 프로젝트를 하기에 앞서서 기본적으로 세팅해줘야할 사항이 있습니다. 우선 아래와 같이 WPF Application을 선택해주고 하단부에 있는 솔루션 디렉토리를 만드는 것을 체크해제합니다. 별로 필요가 없는 것 같습니다. 이제 만들어집니다. 다음으로 해야될 것은 reference에 Microsof..
QuickStarts 마지막편인 AudioFundamentals 부분입니다. 여기까지만 제대로 들었으면 기본적인 키넥트의 기능을 코드로 또는 xaml로 간단하게 구현하는 건 쉬울 겁니다. 이번 시간에 다뤄볼 내용은 주로 소리 녹음과 언어 인지에 관한 항목입니다. 기존에 윈도용 키넥트 SDK를 정확히 설치했다면 이런게 깔릴거고 여기서 Speech Recognition 항목이 언어 인지를 가능하게끔 합니다. 물론 영어만요.. 우선은 키넥트에서 소리를 인지하는 상황을 보겠습니다. 첫번째 시간에도 말했었지만 키넥트에는 총 4개의 Microphone Array가 존재합니다. 그리고 그 4개를 이용해서 소리의 발원지를 찾아냅니다. 크게 키넥트에서 소리의 위치를 찾는데 이용하는 정보는 두가지입니다. 첫번째는 Soun..
지난 포스팅까지는 카메라와 개체와의 거리를 정보로 인지하는 Depth에 관한 내용을 다뤘었는데 이번에 하는 내용은 인체의 골격을 이용해서 이미지를 붙이고 정보를 얻는 Skeletal Tracking에 대해서 다뤄보도록 하겠습니다. 키넥트에선 인간의 골격을 총 20개의 부분으로 나눠서 인지합니다. 그걸 하나의 집합처럼 묶어서 처리하는 것이지요. 그래서 x,y,z 이렇게 3축으로 나눠진데 센서 인지범위에 따라 각 골격과 센서간의 거리가 결정됩니다. 그리고 각 관절에 대한 정보를 세가지 상태로 나눠서 받을 수 있습니다. 그 관절을 따라가면서 또는 따라가지 않고, 아니면 적외선 방식으로 따라가는 방식이 있다고는 합니다. 그런데 사실 샘플을 돌려보신 분은 아시겠지만 적외선 방식은 사람의 위치를 정확히 인지하는 반..
계속 프로젝트를 해옴에도 디버깅 종료시 키넥트가 계속 레이저를 내뿜는 오류가 발생하길래 channel 9 에 가서 열심히 물어보았습니다. 다행히(?) 친절하게 답변과 동시에 수정본을 제시해주더군요. 고쳐야 할 곳은 두가지입니다. 우선 새 센서로 받아오는 정보가 없을때도 그냥 넘어가야 합니다. 이는 초기화를 시켜줬어야 하는데 기존 프로젝트에서는 이 부분이 생략되어있었지요. 다음은 센서가 돌아가고 있을때에만 정지 명령을 주고 오디오 정보가 있을때만 오디오정보를 받는 모듈의 동작을 중지시켰어야 했습니다. 이렇게 수정해주니 디버깅 종료후에 키넥트가 정상적으로 종료되는 것을 확인할 수있었습니다. 지금까지 안되셨던 분들은 이걸로 수정해주시면 될것 같습니다.
이번시간에는 지난 시간 컬러 정보를 받아오는데 이어서 깊이 정보까지 받아들이는 것을 해보기로 하겠습니다. 이번 프로젝트는 기존에 완성되 프로젝트를 따라가면서 어떤 내용인지를 따라가보고자 합니다. 우선 동영상 앞에도 나와있는 것처럼 깊이에 대한 정보입니다. 지난 시간에 다뤘던 컬러정보는 bgr32이란 규격을 써서 한 픽셀당 4가지 색에 대한 출력을 표현했었는데 이번 깊이정보는 그렇게 다뤘던 픽셀에서 거리와 키넥트를 사용하는 사용자에 대한 정보를 받아옵니다. 거리에 대한 정보는 바로 뒤에서도 언급하겠지만 최대 8미터까지 인지가능하고, 최소 범위는 40cm입니다. 이는 기존 엑박용 키넥트의 인지범위가 최소 1.5m였다는 점에서 많은 차이를 나타냅니다. 기존에는 컴퓨터 모니터위에 키넥트를 올려놔도 동작시키기 위..
지난 시간에는 개발 환경을 설정하는 것부터 했으니 이번에는 그 프로젝트를 토대로 ColorViewer와 Tilt Option을 건드리는 것을 해보겠습니다. 우선은 그때의 프로젝트가 조금 불안정한 것이 있어서 새 프로젝트를 첨부합니다. 새 프로젝트의 압축을 풀고 시작해보겠습니다. 들어가기에 앞서서 키넥트의 Color Resolution에 대해 확인해보면 총 3가지 스펙을 제공하고 있습니다. 이 화면은 Kinect Explorer Sample을 열었을 때 나오는 설정창인 위처럼 제공됩니다. 예전에는 640*480 모드만 지원한다고 되어있었는데 지금 이게 엑박용 키넥트에서도 이 스펙대로 제공하는지 궁금하네요. 아무튼 각 모드를 선택하면 그에 따라서 Fps도 바뀝니다. Depth Resolution도 아래와 같..
원본: http://channel9.msdn.com/Series/KinectQuickstart/Setting-up-your-Development-Environment 우선 키넥트의 기능을 쓰기 위해서는 그 개발할 수 있는 환경에 대해서 설정해줘야 합니다. QuickStart의 두번째 강좌였고, 동영상에서 다루는 내용을 직접 따라해보고자 합니다. 우선 VS2010을 열고 WPF 어플리케이션으로 KinectSetupDev이라고 짓습니다. 참 그전에 Kinect관련 툴킷을 깔아야 합니다. 지금 당장은 필요없는데 일단 프로젝트를 만들기전에 압축을 풀어놓는게 좋습니다. 우선 만들면 가운데에는 큰 창이 하나 떠 있습니다. 바로 디버깅시 우리가 한 결과가 뜨는 창이라고 보시면 됩니다. 일단 지금 만든건 WPF이기 때..
지난시간 장고의 고민끝에 OpenNI를 버리고 SDK에 대한 공부를 해보기로 했습니다. 물론 OpenNI가 필요하면 랩탑에다가 깔고 해볼겁니다. 아무튼 어제 윈도우용키넥트가 출시되었고, 마침 channel 9 blog에서는 이에 발 맞추어서 새로운 동영상 강좌가 공개되었습니다. 그래서 이번에는 그 동영상을 토대로 이야기해보고자 합니다. 출처: http://channel9.msdn.com/Series/KinectQuickstart/Installing-and-Using-the-Kinect-Sensor 키넥트 센서의 구성도입니다. 2개의 센서와 하나의 적외선 레이저 그리고 키넥트 자체가 움직이는 Motor가 달려있습니다. 그리고 4개의 마이크로폰이 달려 있어서 전방위적으로 사람이 어디서 소리를 내는지 소리의 ..
온라인 교보문고에 보니 출시되어있는 kinect관련 서적이 이거밖에 없더군요. 가격도 참 비싸고.. 뭐 어쩌겠습니까? 그냥 샀습니다. 집에 있는 키넥트가 방치되는게 너무 싫어서 억지로라도 이책보면서 따라해보겠습니다. 물론 기본적인 키넥트의 구성과 설치는 다른 페이지에서도 참고하시면 되니까 저는 키넥트를 설치하고 난 후 컴퓨터에 적용하는 방법에 대해서 언급해보고자 합니다. 우선 위의 책에서 주로 사용하고 있는 툴은 RGBDemo입니다. 이름이 담고 있는 뜻은 RGB+D(depth)라고 하네요. 물론 MS에서 제공하는 공식 SDK가 있습니다 http://www.microsoft.com/en-us/kinectforwindows/ 마침 글을 쓰는 오늘은 윈도우용 키넥트가 정식으로 출시하는 날입니다.미국시간으로 ..
- Total
- Today
- Yesterday
- Pipeline
- 파이썬
- ColorStream
- Policy Gradient
- Kinect SDK
- TensorFlow Lite
- Kinect for windows
- Off-policy
- Expression Blend 4
- 강화학습
- Offline RL
- SketchFlow
- Distribution
- reward
- arduino
- End-To-End
- Kinect
- windows 8
- bias
- dynamic programming
- RL
- Gan
- PowerPoint
- 한빛미디어
- DepthStream
- Python
- Windows Phone 7
- Variance
- 딥러닝
- processing
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |