IT 특강/외부 IT 특강

[2021 Youtube Kinect 특강] 유튜브로 하는 키넥트 센서 맛보기~~~

sleesm 2021. 10. 12. 00:28

 

 

야호~~~~ 😁😁😁😁

 

드디어 키넥트 센서가 저에게로 왔답니다!!!!

사실 온지는 조금 됐음 ㅎㅎ,,

 

 

 

 

 

포밍부스를 위해서 키넥트 센서를 사용해야 하는데 마침내 저에게도 키넥트 센서가 와버렸습니다~~~~

 

저를 위해 ^양보^ 해주신 소혜님께 감사의 말씀을 ~~~~ (과연 저를 위해인지는 모르겠지만 ?) 

 

 

 

 

 

 


 

 

 

 

 

아무튼 그래서 오늘 기록할 것은 바로

키넥트의 Depth를 사용하는 테스팅 입니다!!!! 👏👏

 

 

오늘 사용할 특강은 바로 VR with Andrew<Unity+Kinect Depth> list 입니다!!!

유튜브 주소 👉 https://www.youtube.com/watch?v=6EkQA3GakFI&list=PLmc6GPFDyfw_Pouy2uRxVrEWFj4N1UOOp&index=1 

 

 

 

 

 

 

 


엄청 친절하게 코드도 따라 적고 유니티 에셋도 사용하면서 배우기 좋더라고요!!!

 

사실 키넥트는 저도 이번이 처음이라서 어떻게 사용할지 몰라서 헤맸는데,

그 과정에서 발견한 유투버예요!! 이 리스트 외에도 여러 가지로 키넥트를 사용한 영상이 많아서

혼자 공부하는 분들에게 굉장히 좋을 것 같아요!!! 추천합니다 👍👍

 

 

그리고 무엇보다 발음도 좋고 목소리도 좋습니다 ^_^

 

아무래도 대부분에 개발 정보? 는 영어가 대부분이라서 영어로 된 건 감수해야만 했는데요,,ㅎ

앤드류 같은 경우, 발음도 좋고 목소리도, 빠르기도 딱 적당해서 알아듣기 좀 더 수월했어요!!!

자막은 제공되긴 하지만, 영어이고 자동생성인지? 실제로 말한 것과 다른 경우가 있더라고요!

그래서 저는 그냥 자막 끄고 듣기만 했는데 들을만했습니다!!😁😁

(물론 저의 영어 실력은 별로입니다 ㅋ.ㅋ 눈치로 알아먹는 타입 ㅎ)

 

 


 

 

 

 

 

 

 

 

 

 

 

개발 시 사용될 Windows에서 제공하는 Unity Pro 패키지

다운로드 주소 👉 https://developer.microsoft.com/ko-kr/windows/kinect/

 

Kinect - Windows 앱 개발

개발자 리소스 개발자 콘텐츠 다양한 Kinect for Windows 기능을 구현하는 방법과 개발 환경을 지원하는 Kinect Studio와 같은 도구에 대해 알아봅니다. 커뮤니티 기술 포럼, Facebook 및 Twitter에서 여러분

developer.microsoft.com

 

 

밑으로 내리다 보면 보이는 

도구 및 확장 프로그램 > NuGet 및 Unity Pro 추가 기능 > Unity Pro 패키지

를 다운로드하면 됩니다!!! 

Kinect - Unity Pro 패키지

 

 

 

 

 

이후에는 슬슬 따라 하면 되는데요!!!

 

 

 

 


 

 

 

✨ Part 3까지 해본 상태로는 옆에 사진과 같은 Hierachy가 만들어집니다!! 

✔ PR_Viewer - ImageViewer.cs

RawImage는 키넥트가 보는 영상이,

RawDepth에는 Depth정보를 만든 영상이 들어갑니다!

 

PR_MultiView - MutiSourceManager.cs (Package 내장)

PR_MeasureDepth - MultiDepth.cs

(EventSystem은 없어도 되는데 제가 귀찮아서 안 뺐어요 ㅎ,,)

 

 

 

 

 

 

 

 

 

 

☝ 먼저 ImageViewer에는 다음과 같은 내용이 들어갑니다!!!

 

 

첫 번째 Object에키넥트로부터 그대로 가져오기 위해서

multiSource.GetColorTexture();

를 해줍니다. (나중에 RawImage를 넣어주면 됨!!!)

 

두 번째 Object에는 Depth정보를 반영해서 Texture를 만든 MeasureDepth 객체의 mDepthTexture를 넣어줍니다!!!

(MeasureDepth는 앞으로 만들 클래스!!)

이는 실시간으로 Depth정보를 영상으로 송출하기 위함이다!!

 

 

 

 

 

 

 

 

 

 

 

✌ 두 번째로는 MultiDepth에는 다음과 같은 내용이 들어갑니다!!!!

 

변수부터 대충 설명을 하자면

 

키넥트를 위해 사용할 MultiSoucreManager 클래스,

그리고 내보내는 용도이자 궁극적인 목표인 Texture2D 객체가 있습니다!!

 

그다음으로는 Cut Off 즉, 필터링에 쓰일 변수들의 나열~~~

 

그다음은 Depth 정보를 가져올 변수들입니다

 

그 다음은 우리가 키넥트 함수를 사용하기 위한 객체들!!

 

마지막으로 해상도로 쓸 Vector 입니다!!!

 

 

 

 


 

 

 

 

그래서 이제 어떻게 코드가 흘러가는 지를 설명해보겠습니다~~~

 

 

먼저 Awake 함수에서는 setting 과정을 거쳐줍니다!!!

Kinect 함수를 사용하기 위해 Sensor와 Mapper를 할당,

우리가 앞으로 사용할 CameraSpacePoints와 ColorSpacePoints 객체 배열 생성!!

 

 

 

다음으로, Update 함수에서는 계속적으로 Depth 데이터를 반영한 Texture를 생성해주는 과정을 해줍니다!!

이를 위해 사용된 것이 그다음으로 있는 함수인

DepthToColor(), CreateTexture() 입니다!!!

 

 

 

DepthToColor()에서 필터링을 거쳐 Depth정보를 Color 정보로 변환해줍니다!!

그리고 거기서 받은 Color 정보로 텍스쳐를 만드는 것이 CreateTexture() 함수입니다!!!

 

 

 

 

 

 

 

 

 


 

 

 

 

 

이를 통해 우리는 Depth 정보가 반영된 Texture, mDepthTexture를 얻게 됩니다!!!!

 

보이시는 것처럼 필터링을 통해 원하는 공간의 Depth값을 검은색 점으로 얻어낼 수 있습니다!!!

원하는 위치의 Depth 정보를 나타내는 영상

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

그렇다면 오늘의 기록은 여기까지!!!!!

 

밤이 늦었으니 내일 또 키넥트 센서 혹은 MQTT를 마저 공부하려고 합니다~~

 

내일은 포밍부스 때문은 아니고 개인적 사유로 공방? 셀프제작소? 에 갈 예정인데 조금 기대돼요!!!! 😁😁😁😁

 

 

 

 

 

 

그럼 내일을 위해 

 

안녕!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!🙌🙌🙌🙌🙌