2011.12.07 12:30

저작자 표시 변경 금지
신고
2011.12.07 08:40

저작자 표시 변경 금지
신고
2011.12.06 12:30


  1. 다른 동영상 보기...
    The Windows Azure Camp [6/6] Perspectives of Azure from Local MVPs
  2. The Windows Azure Camp [6/5] Windows Azure Application Scenarios
  3. The Windows Azure Camp [6/4] Securing, Connecting, and Scaling
  4. The Windows Azure Camp [6/3] Understanding SQL Azure
  5. The Windows Azure Camp [6/2] Using Windows Azure Storage
  6. The Windows Azure Camp [6/1] Getting Started with Windows Azure

     

저작자 표시 변경 금지
신고
2011.12.06 08:50


Windows Azure에 대해서 설명하는 동영상입니다. 
비전문가가 보아도 이해할 수 있을 만큼 쉽게 중요한 속성들을 소개하고 있습니다. 
총 네개의 애피소드 중 마지막 동영상 입니다.

Episode 1 - What Is Windows Azure and Why Is It In the Cloud?
Episode 2 - The Windows Azure Development Experience 
Episode 3 - Moving Existing Applications to Windows Azure
Episode 4 - The Windows Azure TCO and ROI Calculator

 
저작자 표시 변경 금지
신고
2011.12.05 08:50


Windows Azure에 대해서 설명하는 동영상입니다. 
비전문가가 보아도 이해할 수 있을 만큼 쉽게 중요한 속성들을 소개하고 있습니다. 
총 네개의 애피소드 중 세 번째 입니다. 

 

Episode 1 - What Is Windows Azure and Why Is It In the Cloud?
Episode 2 - The Windows Azure Development Experience 
Episode 3 - Moving Existing Applications to Windows Azure
Episode 4 - The Windows Azure TCO and ROI Calculator

 
저작자 표시 변경 금지
신고
2011.12.02 08:50


Windows Azure에 대해서 설명하는 동영상입니다. 

비전문가가 보아도 이해할 수 있을 만큼 쉽게 중요한 속성들을 소개하고 있습니다. 
총 네개의 애피소드 중 두 번째 입니다. 

 

Episode 1 - What Is Windows Azure and Why Is It In the Cloud?
Episode 2 - The Windows Azure Development Experience 
Episode 3 - Moving Existing Applications to Windows Azure
Episode 4 - The Windows Azure TCO and ROI Calculator

 
저작자 표시 변경 금지
신고
2011.12.01 09:17


Windows Azure에 대해서 설명하는 동영상입니다. 
비전문가가 보아도 이해할 수 있을 만큼 쉽게 중요한 속성들을 소개하고 있습니다. 
총 네개의 애피소드 중 첫 번째 입니다. 

Episode 1 - What Is Windows Azure and Why Is It In the Cloud?
Episode 2 - The Windows Azure Development Experience 
Episode 3 - Moving Existing Applications to Windows Azure
Episode 4 - The Windows Azure TCO and ROI Calculator
  


저작자 표시 변경 금지
신고
2011.08.11 08:33

 
오늘 소개해 드릴 내용은 XBOX용으로 출시된 Kinect 입니다.
이미 XBOX용으로는 성공을 거두고 Microsoft가 Game 산업에서 입지를 다지는데 큰 역할을 했던 Kinect는 소니의 무브나 닌텐도의 위 컨트롤러와는 달리 사람이 자체가 인식식 된다는데에서 많은 사람들의 관심을 받았습니다.

이런 Kinect에서 개발자들은 많은 가능성을 보았고 이 관심을 충족시켜 드리기 위해서 Kinect를 PC에서도 운영할 수 있는 Kinect SDK가 출시되었습니다.

 

자세한 내용은 이전 포스팅인 http://blogs.msdn.com/b/eva/archive/2011/06/28/kinect-sdk-for-windows-nui.aspx 을 참조해 주시고 여기에서는 유용한 자료들을 소개해 드리려고 합니다.

 

Kinect 공식 웹 사이트 입니다.

Kinect for Windows website  Kinect Website

Kinect Forum  입니다. 영문이지만 QnA를 할 수 있는 곳 입니다.
Kinect Forum 

Kinect for Windows FAQ  Kinect Website

개발 문서 입니다. C++과 C# 두 가지 언어를 지원하도록 되어 있습니다.

AudioCaptureRaw Walkthrough—Capturing the Raw Audio Stream (C++)  Kinect Document
MFAudioFilter Walkthrough—Capturing Audio Streams with a Media Foundation Audio Filter (C++)  Kinect Document
MicArrayEchoCancellation Walkthrough—Capturing Audio Streams with Acoustic Echo Cancellation and Beam Forming (C++)  Kinect Document
Programming Guide: Getting Started with the Kinect for Windows SDK Beta  Kinect Document
RecordAudio Walkthrough—Recording an Audio Stream and Monitoring Direction (C#)  Kinect Document
Skeletal Viewer Walkthrough—Rendering Data with the NUI API (C++ and C#)  Kinect Document
Speech Walkthrough—Recognizing Voice Commands (C#)  Kinect Document

아래 링크는 Channel9과 기타 사이트에 올라온 관련 정보 입니다.
이미 Kinect와 관련된 오픈 소스들이 다수 있어서 제작에 큰 도움이 될 것 같습니다.

Kinect for Windows SDK Beta Refresh Available  Kinect Article
Adding Speech Recognition to a Kinect Quickstart  Kinect Article
Baby NUI... Using the Kinect as a Baby Monitor  Kinect Article
Camera/Tripod Mount (3D Printer required)  Kinect Article
Can the Kinect "know" what you are doing?  Kinect Article
Coding4Fun Kinect Toolkit  Kinect Article
Display Kinect color image containing only players (aka background removal)  Kinect Article
Flame On! Mercury Particle Engine and Kinect  Kinect Article
Gestures and Tools for Kinect and matching Toolkit too  Kinect Article
Getting Started with Kinect, Setup, Depth, Player Index  Kinect Article
HandsTrackball - Kinect 3D object manipulation  Kinect Article
"I have the Minority Report UI.."  Kinect Article
Intro to the Kinect SDK–Drawing Joints in XNA  Kinect Article
Kinductor  Kinect Article
Kinect Buttons  Kinect Article
Kinect Contrib  Kinect Article
Kinect Controlled Quadrotor  Kinect Article
Kinect Depth Cam  Kinect Article
Kinect Earth Move  Kinect Article
Kinecting the Dots: Adding Buttons to your Kinect Application  Kinect Article
Kinecting with Robots - Kinect Services for the Microsoft Robotic Development Studio  Kinect Article
Kinect MIDI Controller  Kinect Article
Kinect Mouse Cursor  Kinect Article
Kinect Paint  Kinect Article
Kinect SDK and F#  Kinect Article
Kinect SDK Skeleton Custom Control for WPF  Kinect Article
Media Player I NUI you well…  Kinect Article
NUI for PowerPoint  Kinect Article
Of course our first Kinect for Windows SDK Project has to involve a Light Saber!  Kinect Article
StartMenu / Candescent NUI  Kinect Article
That's Ripplelicious  Kinect Article
The Busy Developers Guide to the Kinect SDK Beta  Kinect Article
Tweeting from Kinect concept  Kinect Article
신고
2011.07.20 08:30

목차나 내용은 모르겠지만. 아무튼 벌써 Silverlight 5 책이 출시되었네요. 헐~ 참 빠른 사람들도 많습니다.
아무튼 오늘 자기 블로그에 한시적으로 50% 세일 한다고 올려놨네요.. 관심 있으신 분들은 알아보시길..

http://10rem.net/blog/2011/07/19/my-next-book-silverlight-5-in-action-50percent-off-for-a-limited-time 
저작자 표시 변경 금지
신고
2011.06.28 08:04

 

32224_1468530191732_1187893437_1364978_7316647_n[1]

김영욱 차장 iwinkey@hotmail.com

국내 유수의 대기업 프로젝트에 참여했던 풍부한 경험과 마이크로소프트 MVP로서 다양한 활동을 바탕으로 .NET과 관련된 개발 기술에 전념하고 있다. 현재 한국마이크로소프트에서 Evangelist로 근무하고 있다.

또 이런 이야기를 한다면 필자를 늙은이 취급할 개발자들도 많겠지만 마우스도 없던 시절의 컴퓨팅 환경에 비하면 정말 매일 격세지감을 느낄 수 밖에 없다. 하지만 격세지감 따위를 즐기고 있을 만한 여유는 어디에도 없다. 세상은 정말 빠르게 변화하고 있는 듯 하다.

PC가 메인프레임으로 부터 컴퓨팅의 자유를 이끌어 냈을 때 세상은 퍼스널 컴퓨팅 세상으로 바뀌었고 모바일 혁신은 기존의 PC에서 모빌리티 자유를 이끌어 낼 수 있었다.

인터페이스에서도 다양한 혁신이 이끌어져 오고 있는데 키보드 마우스를 넘어서서 최근은 거의 모든 디바이스에서 볼 수 있는 터치 인터페이스의 확산 속도는 이전의 어떤 인터페이스 보다 확산 속도가 빠르다. 터치 인터페이스는 폰을 넘어서 타블릿PC 그리고 최근 영상이 공개된 원도우즈의 차기 버전(가칭 원도우즈8)까지 광범위 하게 사용되고 있다. 하지만 최근에 마이크로소프트가 발표한 키넥트는 이전에 그 어떤 인터페이스에서도 제시하지 못했던 새로운 차원의 인터페이스를 제시하면서 또 한번의 큰 변화를 예고하고 있다.

게임기에서 Windows로 넘어가는 Kinect


<그림1>Microsoft Kinect

키넥트는 원래 게임 콘솔인 XBOX 360에서 게임을 위해서 출시되었다. 기존의 닌텐도나 소니에서 선보였던 손에 센서 뭉치를 들고 하는 방식이 아니라 사람을 직접 인식하는 혁신적인 방식이다. 물론 과거에도 사람을 직접 인식하는 기술들은 여럿 있었지만 별다른 부가장치의 부착없이 사람을 관절단위로 인식하는 시도는 처음 상용화 된 방식이다. 키넥트는 적외선, RGB, 깊이(Depth) 등의 세 가지 센서를 통해서 사람을 정확하게 관절로 인식하고 마이크로폰을 이용해서 음성인식이 가능하다. 키넥트는 부가적으로는 사람을 잘 인식하기 위해서 받침대와 목사이의 관절에 모터가 설치되어 있어서 사람을 찾아서 시선을 조정하기도 하는 등 제법 똑똑한 모습도 보여준다. 현 시점에 게임 시장에서 키넥트를 보면 상당히 성공적이다. 최단기간 1000만대를 팔아서 ‘가장 짧은 시간에 가장 많이 팔린 전자기기’라는 이름으로 기네스북에 오르기도 했다. 하지만 세상의 개발자들과 오덕후 들은 키넥트를 게임 용도로만 국한하지 않았다. 키넥트를 원도우즈를 시작해서 매킨토시, 리눅스, 안드로이드 등 다양한 플랫폼에 연결 시키는 오픈 소스 프로젝트가 진행되는가 하면 로봇이나 모형 헬기를 조정하는 용도부터 장애인들을 위한 다양한 프로젝트까지 여러가지 아이디어와 결합되기 시작했다.


<그림2>휠체어를 인식해서 따라다니는 쇼핑 카터 프로젝트 wi-Go

사람들의 아이디어가 무궁무진하고 다양한 형태로 표출되면서 좀 더 적극적으로 체계적인 지원에 대한 요구가 많아지면서 마이크로소프트는 키넥트를 XBOX 360의 게임을 위한 용도 이외에 PC와 연결되어서 일어날 수 있는 다양한 시나리오를 직접 지원하기 위해서 Kinect SDK for Windows를 발표하게 되었다.

Kinect SDK for Windows

Kinect SDK for Windows는 마이크로소프트 연구소(Microsoft Research)에서 준비되고 발표된 것으로 32비트와 64비트 버전 두 가지 모두 지원되지만 제공되는 샘플이 32비트 버전에서만 지원되는 것들이 있어서 아직은 32비트 버전을 사용할 것을 권장한다. Kinect SDK for Windows 안에서 키넥트를 위한 소프트웨어를 개발하기 위해서 3가지 구성 요소를 제공한다.

- 키넥트를 윈도우에 인식시키기 위한 디바이스 드라이버
- 키넥트를 제어하기 위한 API 프레임웍
- 샘플과 문서

키넥트를 이용한 소프트웨어 개발을 위해서는 당연하겠지만 키넥트가 필요하다. 하지만 키넥트를 받아든 순간 허걱하고 놀라게 되는데 당연히 USB인줄로만 알았던 컨넥터가 USB도 아닌 것이 처음 보는 형태로 되어 있기 때문이다. 키넥트를 사용하기 위해서는 표준적인 USB 포트가 제공해 줄 수 있는 전력보다 더 많은 전력을 소비해야 하기 특별한 형태의 컨넥터 타입이 필요하게 되었다.


<그림3>일반적인 USB 컨넥터와 키넥트 컨넥터

그래서 구형 XBOX 360과 PC에서 키넥트를 사용하기 위해서는 별도로 전력을 공급할 수 있는 어뎁터가 필요하다. 해당 어뎁터는 시중에서 바로 구입할 수는 없고 마이크로소프트 고객센터로 전화해서 신청하면 구입할 수 있다.


<그림4> 키넥트 전원 어뎁터

하드웨어에 대한 준비가 끝났으면 이제 개발환경을 설정할 차례이다.
개발환경은 기본적으로 원도우7과 비주얼 스튜디오가 필요하다.

- 원도우7 (x86 혹은 x64)
- Kinect for Xbox 360 센서
- Microsoft Visual Studio 2010
- Microsoft .NET Framework 4.0 (Visual Studio 2010과 함께 설치 됨)
- DirectX Software Development Kit June 2010(C++만 필요)
- Microsoft Speech Platform SDK
- Kinect for Windows Runtime Language Pack

여기에 제일 중요한 것이 Kinect SDK for Windows(이하 키넥트 SDK) 이다. 키넥트 SDK는http://research.microsoft.com/en-us/um/redmond/projects/kinectsdk/ 에서 다운로드 할 수 있으며 관련 문서들을 추가로 다운로드 받을 수 있게 되어 있다.

키넥트 SDK를 설치하고 나면 인체를 뼈대로 인식하는 것을 볼 수 있는 Skeletal Viewer와 음성인식과 간단한 게임을 보여주는 Sample Shape game 두 가지 완성된 샘플을 볼 수 있다.

<그림5>Skeletal Viewer


<그림6>Sample Shape game

특히 Sample Shape game의 경우 인체를 인식하기도 하지만 음성 인식도 함께 가능해서 ‘Super Big’, ‘Start’,’Stop’과 같은 명령들을 직접 음성으로 내려 볼 수 있다.

키넥트를 이용한 애플리케이션을 개발하기 위해서는 위해서는 VC++ 혹은 C#, VB와 같은 개발 언어를 알아야 한다. 키넥트 SDK에서 제공되고 있는 라이브러리에서 인체 구조를 인식하고 제스츄어를 분석하는 등의 기능을 하는 부분이 NUI Library 이다.


<그림7>NUI Library
NUI Library는 키넥트에서 전송되어서 오는 이미지와 Depth 그리고 오디오 정보를 취합해서 애플리케이션에서 활용할 수 있는 정보로 전환하는 기능을 가지고 있는 핵심 요소이다. 좀 더 세부적으로 들어가면 <그림8>과 같은 아키텍처르 정리할 수 있다.


<그림8>키넥트 아키텍처
키넥트 하드웨어는 USB 기반의 기술로 PC와 연결되며 커널 모드 드라이버로 작성된 키넥트 드라이버가 하단에 자리 잡고 있다. 그 위에 카메라와 오디오 스텍이 있고 그 위에 최상위 추상화 레벨에서 NUI API와 오디오/비디오 컴퍼넌트가 잡리 잡고 있는 형태이다.

사실 개발자의 입장에서는 아키텍처 자체는 그리 중요하지 않을 수도 있다. 하지면 전체적인 그림을 이해하고 넘어가는게 아무래도 좀 더 개발에 탄력을 줄 수 있을 것 같다.

NUI Skeleton Tracking

NUI Library에서 제공되는 API중에서 NUI Skeleton API가 있는데 이는 키넥트 앞에 있는 사람을 최대 2명까지 뼈대로 인식해 낸다. 단순히 인식한다고 하면 사람의 형체만 인식하는 것처럼 보일 수 있지만 다시 이야기 하면 사람의 각 부분을 정확하게 인식해 낸다.


<그림9> NUI Skelton API의 인식 부분
NUI Skeleton API는 사람의 주요 부위를 20개로 인식하고 각 부분별로 명칭이 정해져 있다. 여기서 나오는 정보를 기반으로 애플리케이션에서 다양한 반응을 만들어네게 되는데 뼈대에 관한 정보를 찾아내기 위해서는 C++에서는 NuiSkeletonGetNextFrame을 사용할 수 있고 C#등에서는 SkeletonEngine.GetNextFrame을 사용해서 각 부분의 상태를 확인할 수 있다.


<그림10>Active tracking

Kinect SDK for Windows 개발

키넥트 SDK는 VC++, C#, VB.NET 등등 네이티브 언어와 매니지드 언어를 모두 지원하는데 여기서는 C#언어를 기준으로 설명한다. 키넥트 SDK를 사용하기 위해서는 Microsoft.Research.Kinect.dll을 참조해야 한다.


<그림11> Microsoft.Research.Kinect.dll 참조

키넥트 관련 라이브러리에서 Microsoft.Research.Kinect.Nui에는 사람을 직접 인식하는 데 관련된 클래스들이 포함되어 있으며 Microsoft.Research.Kinect.Audio에는 음성 인식과 관련된 클래들이 포함되어 있다.

using Microsoft.Research.Kinect.Nui;
using Microsoft.Research.Kinect.Audio;

kinectRuntime = new Runtime(); kinectRuntime.Initialize(RuntimeOptions.UseDepthAndPlayerIndex | RuntimeOptions.UseSkeletalTracking | RuntimeOptions.UseColor);
<소스1>네임스페이스 설정

<소스1>에서 보면 개발에 필요한 두 개의 네임스페이스를 포함하고 키넥트를 사용하기 위해서 키넥트 런타임을 생성하고 초기화 시키는 과정을 볼 수 있다.
키넥트 SDK를 설치하고 나면 함께 설치되는 도움말을 보게 되면 생각보다 많은 객체와 내용들에 우선 질리실지도 모르겠다.

좀 더 싶게 접근하려면 Coding4Fun Kinect Toolkit (http://channel9.msdn.com/coding4fun/projects/Coding4Fun-Kinect-Toolkit) 을 사용할 수 있다. Kinect Took에서는 WPF Extension, WPF Controls, WinForm Extensions, skeletal Extensions등이 포함되어 있어서 개발이 한결 수월하게 해준다.


<그림12>Coding4Fun에 올라와 있는 Kinect 관련 프로젝트들

http://channel9.msdn.com/coding4fun 에서 오픈소스로 진행되는 프로젝트들을 보는 것도 흥미로울 것이다. Kinect Paint, Kinect Mouse등의 프로젝트는 흥미로운 요소들을 제공해 줄 것이다.

- 정리

키넥트를 바라보는 사람에 따라서 서로 다른 기대치를 가지고 볼 수 있겠지만 필자가 개발자의 눈으로 바라보는 키넥트는 ‘정말 재미있는 개발자들의 장난감’이다. 즐겁고 재미있게 만들고 고민하다 보면 키넥트와 관련된 정말 재미있는 애플리케이션들을 많이 만들 수 있을 것 같다.

신고


티스토리 툴바