지난번까지 손의 궤적을 추적해서 매트랩으로 도식화하는데까지 보여드렸습니다. 그런데 사실 문제가 조금 있습니다. 사실 제가 구한 중심점은 실제 중심점이 아니라 ROI를 토대로 만든 가상의 중심점입니다. 그래서 사실 손의 중심이 아니라 팔의 중심이라고 하는게 맞겠지요. 그래서 다른 Tracking 기법을 적용하기가 참 힘듭니다. 그만큼 참조해야할 범위가 넓고 만약 다른손이 중간에 끼어들면 ROI는 다른게 잡혀버리기 때문이지요. 결론적으로는 손이라는 범위를 팔에서 축소시킬 필요가 있습니다. 물론 그 방법에는 다양한 방법이 있고 이와 관련된 논문이 많이 나와있습니다만 가장 많이 사용하고 보편적으로 사용하는게 바로 ConvexHull이 아닐까 생각합니다. 사실 제가 연구실에서 세운 목표는 키넥트의 DepthMap..
어김없이 블랜드로 하는 윈도우 8 디자인을 진행하고 있습니다. 참고로 이 자료들은 Expression Blend 공식 팀블로그에서 게시되고 있는 내용을 제 나름대로 정리해서 올리는 자료입니다. 혹시 영어로 보는게 더 편하다 하시는 분은 해당 동영상을 참고하시기 바랍니다. 생각해보니까 이 프로젝트에서 실습할 수 있도록 ContosoCookbook예제가 해당 페이지에 올라가 있습니다. 제가 만든게 마음에 안드시는 분이라면 해당 링크(http://code.msdn.microsoft.com/windowsapps/Cookbook-Sample-App-for-22e11395)로 가셔서 다운로드 받으시기 바랍니다. 저는 지금까지 한게 아까워서 계속 제 프로젝트로 진행해보고자 합니다. 이번에 해볼 일은 GroupStyl..
장치를 하나 또 들여와야 되서 기존에 있던 기기를 내보내게 되었네요. 이번에 소개해드릴 기기는 한 1년여를 저와 함께 지냈던 Kinect for Xbox입니다. 여러분들도 아실지는 모르겠지만 xbox용 키넥트는 발매된지 60일만에 800만대가 팔린 기네스북 공인, 세계에서 가장 빨리 팔린 전자기기입니다. ( 왜 아이폰이나 아이패드가 아니냐고 하시는 분은 모르겠습니다. 아마 그건 선주문의 유무 때문이 아니었을까 추측됩니다.) 당시에 키넥트는 Project Natal이라는 이름으로 공개되어 사람들의 관심을 끌어모은 기기였습니다. 그 당시에 모션을 인식할 수 있는 기기가 플레이스테이션의 Eyetoy와 닌텐도 Wii가 있었는데 각 기기가 가진 한계가 있었습니다. Wii같은 경우는 항상 디바이스를 손에 들고 있어..
한창 윈도폰 공부를 할때 프로토타입을 만든다고 해서 많이 썼던 내용이 바로 이 Blend & SketchFlow인데, 이번 Windows 8이 나오면서 같이 Release되었습니다.Preview 버전으로 8/15에 공개되었고( 그러고보니까 VS 2012와 같이 공개되었네요.) 기존에 나왔던 플랫폼과 대응됩니다. 한번 보시죠. 당연히 Windows store app을 개발하기 위해서는 기존의 VS 2010이 아닌 VS2012에서 지원할 것이고 나머지는 기존 Blend 4에서도 작업할 수 있는 것을 동일하게 Sketchflow에서도 처리할 수 있게 되었습니다. 참고로 이번 Preview 버전은 2013년 7월까지 사용할 수 있기 때문에 한번쯤 궁금하신 분은 써보셔도 좋을 거 같습니다.( 물론 Preview ..
지난 포스트에 이어서 Blend for Windows에서 ItemTemplate을 수정하는 방법을 다뤄봅시다. 위에처럼 ContosoCookbook이 있으면 좋겠지만 시간적인 여유가 없는 분은 지난 시간에 했던 프로젝트를 그대로 써봅시다. 저도 그대로 따라가보고자 합니다. 우리가 하고 있던건 Grid App 프로젝트를 생성하면 자동으로 만들어지는 템플릿을 사용해서 자기 마음대로 수정하고 있던 것이었습니다. 일단 지금 열린 페이지는 GroupedItemPage.xaml에 들어 있습니다. 그런데 뭔가 Item을 담는 네모가 너무 투박하고 크기를 자기 마음대로 수정하고 있습니다. 하지만 Object창에서 개체를 다 열어봐도 Item을 선택할 수 없습니다. 여기서 item들이 담겨있는 itemGridView를 ..
사실 예전 졸업작품을 준비하면서 하나 샀던게 있습니다. 바로 이 BTBee 라는 블루투스 모듈입니다. 그런데 사실 이 모듈의 뒷판을 보면 조금 난감합니다. 이 핀의 간격이 일반 핀헤더의 간격보다 조금 좁습니다. 물론 저는 핀 헤더를 뜯어서 필요한 부분에만 지지대 형식으로 부착하고 썼습니다. 그런데 이걸 아두이노에도 붙일 수 있는 쉴드를 판다길래 얼른 업어왔습니다. 주문은 aliexpress에서 했습니다. 저번주까지만 해도 디XXX마트에 이 제품이 있었던 거 같은데 지금은 없네요. 우리나라 부품값이 비싼건지 중국 부품값이 싼건지 참 헷갈리게 만든 가격입니다. 지난주 목요일에 주문했었는데 오늘 딱 집에 오니까 와있었습니다. 항상 집에 오면 놓여져 있는 택배박스는 기분이 좋습니다. 사실 중국에서 주문하면 통관..
생각해보니까 이전에 구했던 좌표점이 잘 못 구해진 값이었습니다. NuiTransformDepthImageToSkeleton()의 인자는 pixelx와 pixely값, 그리고 실제의 depth값이 들어갑니다. 그걸 구하려면 해당 pixel에서의 depth를 구해야 됬었는데 저도 코드에 대한 이해가 부족해서 그냥 넣으면 되겠지 하고 넣었습니다. 그래서 지난번 동영상에서는 z값이 0.105에서 변하지 않았습니다. 그걸 수정하기 위해서 원의 중심점을 구한후 전역변수로 선언한 CvPoint에 넣어서 depthStream을 읽어올때 조건문을 삽입하면됩니다. 이때 조건은 픽셀을 읽어올때의 포인트가 CvPoint랑 같게 하면 되겠지요. 어차피 한 픽셀에 depthStream이 담겨져 있을 것이고 그안에 depthVal..
찾다보니까 Windows 8에 관해서 유용한 사이트를 찾았습니다. 바로 BlendInsider라는 사이트입니다. 이름은 BlendInsider라고 되어 있는데 여기가 Expression Blend의 TeamBlog인거 같습니다. 여기에 다양한 교육자료들이 올라와 있으니 참고하시면 좋을 것 같습니다. 이번에는 여기 내용중 유용한 팁이 있어서 소개해드리고자 합니다. 바로 배경에서 그래디언트 효과를 주는 겁니다. 한번 해봅시다! 기존 예제는 Visual Studio 2012에서 진행되었지만 저는 Blend for windows에서 해보고자 합니다. 어차피 성격은 같으니까요. 만든 앱이 있다면 그걸 여셔도 되고 저는 아직 그런게 없으니까 임의의 앱인 Grid App을 하나 생성했습니다. 그리고 이미지 배경으로 ..
지난 포스트에서 간단하게 StackPanel의 속성을 사용해서 e-book을 만드는 실습을 해봤습니다. 이번에 다룰 소재는 Canvas라고 하는 Panel입니다. 이건 어떻게 보면 StackPanel과 화면상으로 보여지는 것은 같습니다. 하지만 가장 큰 특징이라고 할 수 있는 건 StackPanel에서는 안에 상속되는 개체가 Stack의 형태로 쌓이는 것에 비해서 Canvas 상에서는 개체 자체가 하나의 Position을 가지고 형성되기 때문에 정확한 픽셀 위치를 지정할 수 있다는 겁니다. 그래서 속성 자체도 위치에 관한 속성을 지닙니다. 위와 같이 Left와 Top , ZIndex에 관한 속성을 정의해줄 수 있습니다. 그래서 만약 Canvas상의 (0,0)에 표현하고 싶다고 하면 다음과 같이 정의됩니다..
사실 이전 포스트에서도 빛센서를 통해서 LED도 제어해봤고, LCD에 글자도 출력하게 했습니다. 그럼 이걸 결합시키면 어떨까요? 조도센서의 값을 받아서 LCD에 그 수치를 나타내주고 그 값을 LED에 보내줘서 밝기를 실시간으로 조절하는 게 가능하겠지요. 빛의 밝기를 부드럽게 조절하기 위해서는 당연히 해당 입력을 analog로 받으면 되겠고 그 값을 lcd.print를 통해서 출력시키면 될겁니다. 저는 우선 기본 환경이 이렇게 되어 있었습니다. 아 참 이걸 반복적으로 할려고 하니까 배선을 하는데도 시간이 많이 걸리는 것 같군요. 물론 조금 익숙해주면 만드는데도 시간이 줄어들겠지만 이걸 하기 귀찮으신 분이라면 그냥 lcd shield를 하나 사셔도 좋을 것 같습니다. ebay나 aliexpress에선 하나에..
오늘 MS 본사에서 키넥트에 관심있는 사람들을 대상으로 간단한 세미나를 했습니다. 들으시는 분들은 어떻게 생각하실지 모르겠지만 하여튼 못오신 분들을 위해서 세미나 내용을 공유하도록 하겠습니다. 오늘의 주제는 키넥트를 이용해서 시도되고 있는 다양한 프로젝트에 대한 소개 및 개발 환경에 대한 설명이었습니다. 개발적인 이야기는 배제하고 최대한 듣는 사람들이 어떤 프로젝트를 하고 있는지에 대한 이해를 도우려고 했습니다. 그리고 할 수 있는한 데모도 같이 해볼 수 있도록 노력했습니다. 우선 들어가기 전에 MS에서 어떤 의도를 가지고 이 키넥트라는 도구를 만들었는지를 알아봐야 할 것 같아서 동영상을 준비했습니다. 아마 키넥트가 세상에 미칠 수 있는 영향의 크기를 Kinect Effect라고 정의한 걸 보면 MS에서..
아.. 1주일동안 삽질하던게 함수하나로 이렇게 해결이 되어 버리네요.사실 제가 구하고자 했던 것이 이미지상의 손의 위치를 실제 키넥트와의 거리를 측정함으로써 계산하는 것이었습니다. 그런데 아무리 찾아도 내용이 안나오니까 어떻게 마련한 대안이 예제에 포함되어 있는 Depth-D3D 입니다. 보다시피 각 픽셀에 대한 위치가 3D로 나오기 때문에 저는 이 값을 취할 수 있을 줄 알았습니다. 그런데 확인해보니까 이렇게 3D로 매핑해주는 부분이 geometry Shader에서 처리하는 것이더군요. 결론적으로 기존에 만든 코드랑은 완전 별개라는 겁니다. 아.. 생각하다하다 msdn을 살펴보자 해서 찾은 함수가 바로 NuiTransformDepthImageToSkeleton 이라는 함수입니다.사실 제가 헷갈렸던 건 ..
키넥트의 활용범위가 점점 넓어지고 있습니다. 단순히 게임의 주변기기로써만 동작하던 것에서 벗어나서 이제는 원거리에 있는 사람들끼리도 동작인식 게임을 즐길 수 있다고 합니다. 그중 그걸 개발할 수 있는 무료 툴이 있어서 한번 소개를 해드리고자 합니다. 이름하여 motionnexus 라는 것인데 키넥트와 앱 사이의 인터페이스를 형성해주는 api이자 sdk입니다. 뭐 그냥 단순한 인터페이스면 지금 나와있는 OpenNI나 MS SDK랑 별반 차이가 없겠지만 가장 큰 장점이라면 온라인상으로도 키넥트 카메라 데이터를 이용할 수 있다는 겁니다. 가장 대표적인 어플리케이션이 바로 페이스북과의 연동입니다. 아예 기본적으로 앱으로 제공되고 있고 클라우드와 연계한 프로젝트를 구상중이라고 합니다. 지금은 Public Beta..
바쁜 와중에도 손으로 직접 해보는건 다 못해보고 그저 따라치면서 읽었습니다. 하지만 제가 생각하기에는 분명 이 책은 실습 위주의 책입니다. 아마 그냥 대충 눈으로만 책으로 보시기에는 손이 너무 심심하고 따분한 책이 될겁니다. 사실 저 같은 경우에는 셰이더 프로그래밍을 다루기전에 걱정이 들긴했었습니다. Unity3D로 간단한 게임을 구현하면서 셰이더의 존재를 알았고, 무엇보다도 이를 잘 다루기 위해서는 미적 감각과 수학적 감각이 필요하다는 걸 안 상태에서 이책을 접하기가 쉽지는 않았지요. 미적 감각이야 그렇다치더라도 수학적 감각은 진짜 대학다닐때 수학 수업을 들으면서 진짜 적성에 맞지 않다는 느끼고 열심히 하지 않았습니다. (덕분에 지금 고생 열심히 하고 있네요...)분명 게임 전공을 하시는 분이라면 누구..
- Total
- Today
- Yesterday
- Policy Gradient
- PowerPoint
- bias
- ai
- 파이썬
- Windows Phone 7
- 강화학습
- SketchFlow
- Kinect for windows
- arduino
- windows 8
- 한빛미디어
- Expression Blend 4
- RL
- End-To-End
- Variance
- Gan
- Distribution
- processing
- Kinect
- reward
- Pipeline
- Offline RL
- ColorStream
- TensorFlow Lite
- Kinect SDK
- dynamic programming
- DepthStream
- Off-policy
- 딥러닝
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |