20131221 victor gau - kinect 簡介

1,241
-1

Published on

社群分享...
涵蓋一些政府計畫申請經驗跟Kinect程式的基本架構。

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,241
On Slideshare
0
From Embeds
0
Number of Embeds
12
Actions
Shares
0
Downloads
11
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

20131221 victor gau - kinect 簡介

  1. 1. @ MOSUT + Python.Tainan by Victor Gau www.victorgau.com
  2. 2. Outline 緣起  什麼是Kinect?  怎麼開發Kinect程式?  Kinect 3D Scanner  New Kinect for Windows 
  3. 3. 台灣產業的問題  傳統產業的問題:  市場很少有新產品出現,各廠商都沒有擁有無法被 取代的技術,也無法建立進入障礙,產品最後進入 削價競爭。  政府認為可能的解決方法:  製造業服務化  服務業科技化  服務業國際化  傳統產業特色化
  4. 4. 申請計畫的優缺點  優點           構思企業面臨的問題 構思與國內外技術/產品/服務比較 構思技術/產品/服務運用深度與廣度 構思市場所在 企業轉型/創新業務/核心能力 建立企業共識 計畫審查免費顧問諮詢 獲取資金挹注,分散風險 政府新聞稿,提升公司形象     降低研發的彈性 降低研發的時效性 洩密的風險 需花額外的時間在計畫文件上 缺點
  5. 5. 政府計畫  CITD  主辦單位:經濟部工業局  補助金額:最高200萬元。  SIIR (以前叫做ASSTD)  主辦單位:經濟部商業司  補助金額:最高200萬元。  SBIR (中央型)  主辦單位:經濟部技術處  補助金額:每年補助最高不超過500萬元。
  6. 6. CITD概略的時程           2013/01/25: 遞出計畫申請書 2013/03/03: 至工業局簡報 2013/03/26: 獲得政府補助 2013/04/02: 簽約說明會 2013/04/09: 繳交修正版計畫書 2013/04/16: 委員復核通過 2013/04/19: 正式簽約執行計畫 2013/05/18: 簽約補件完畢 2013/07/30: 期中查訪說明會 2013/08/09: 繳交期中報告
  7. 7. CITD概略的時程          2013/09/02: 期中審查 2013/09/07: 繳交修正版期中報告 2013/09/11: 期中審查複核通過 2013/10/04: 申請計畫變更 2013/10/09: 計畫變更通過 2013/10/22: 結案說明會 2013/10/30: 繳交期末報告 2013/11/11: 結案審查 2013/12/10: 全年度資料彙整膠裝
  8. 8. BIFMA的辦公座椅參考尺寸 381 ~ 505.46 mm
  9. 9. 座椅高度分析 K: Knee Height B: Chair Base Height M: Mechanism Height T: Seat Thickness X: Taper Length Y: Length Below Taper L: Extended Length C: Stroke K
  10. 10. 一些有名的人體工學椅 公司名稱 Steelcase 座椅名稱 推出時間 座椅高度 備註 Sensor 1986 16”~21” (406.4~533.4mm) 耗時四年,耗費200萬美 金。 1980年代末期開始研發, 1991 年 發 表 , 1994 年 正 式推出。 耗時六年研發。 Herman Miller Aeron 1994 A: 14 3/8”~19 1/6” (365.1~486.8mm) B, C: 15”~20 7/8” (381.0~530.2mm) Herman Miller Embody 2008 16”~20.5” (406.4~520.7mm) Agata 2001 435-525mm Wilkhahn FS Line 1984 420-530mm 耗時多年研究。 Wilkhahn On 2010 400-520mm 耗時六年研發。 Kokuyo
  11. 11. 台灣及美國使用者膝蓋高度分布 Data analysis using Python + NumPy + MatPlotLib
  12. 12. Sensor Chair 高度分析 (a) without shoes (b) with shoes (3cm)
  13. 13. 本公司今年度CITD內容  可鎖定氣壓棒 + (a) 標準型氣壓棒解剖圖 (b) 不可旋轉氣壓棒示意圖 可鎖定氣壓棒  互動式產品服務系統  利用Kinect來掃描人體尺寸  比對辦公座椅的尺寸,幫使用者篩選符合其身材 之辦公座椅。
  14. 14. “身體就是控制器”
  15. 15. Kinect Sensor有兩種  Kinect for XBOX (11/4/2010)  注意:XBOX Bundle裡面的Kinect,並沒有 包含電源供應線。因為Kinect在跟XBOX連接 的時候,不需要電源供應線。(沒有電源供應 線無法在PC上正常驅動。)  Kinect for Windows (2/1/2012)
  16. 16. Kinect 可以做什麼? 體感遊戲  醫療復健  遠端控制  試衣鏡  3D Scanner 
  17. 17. Kinect 可以擷取那些資訊? Microphone Array (麥克風陣列) (聲音)  Color Image (彩色影像)  Depth Image (深度影像)  Skeleton Tracking (人體骨架追蹤)  Face Tracking (人臉追蹤) 
  18. 18. KINECT的結構
  19. 19. 深度影像運作原理(PrimeSense) IR Image Depth Image
  20. 20. Kinect的偵測範圍
  21. 21. Kinect 的視角 & 骨架追蹤
  22. 22. Kinect的骨架追蹤
  23. 23. SDK的選擇  Kinect for Windows SDK  微軟官方SDK  只能用在Windows平台  可以使用C#, C/C++, Python等語言開發  OpenNI (Open Natural Interaction)  PrimeSense公司發起 (www.primesense.com)  可以使用在Mac OS, Linux, 跟 Windows  僅能使用C/C++開發  OpenKinect  Johnny Chung Lee發起的計畫。
  24. 24. 如果使用Microsoft的解決方案 安裝Kinect for Windows SDK  安裝Developers’ Toolkit   豐富的範例  選擇使用的語言:C++, C#, Python  如果是使用Python需要安裝PyKinect
  25. 25. 如何連結Kinect?  加入Microsoft.Kinect組件  在專案的參考(Reference)裡面加入 Microsoft.Kinect.dll  加入Microsoft.Kinect命名空間  “using Microsoft.Kinect;”  從KinectSensors裡面存取預設的Kinect Sensor。
  26. 26. Console程式概略架構 using Microsoft.Kinect; static void Main(string[] args) { // 取得預設的Kinect Sensor KinectSensor sensor = KinectSensor.KinectSensors[0]; // 啟動Kinect Sensor sensor.Start(); // 填上自己的程式,譬如說將Kinect Sensor的角度歸位。 sensor.ElevationAngle = 0; // 關閉Kinect Sensor sensor.Stop(); }
  27. 27. 視窗程式概略架構(WPF) public MainWindow() { InitializeComponent(); Loaded += Window_Loaded; Unloaded += Window_Unloaded; } private void Window_Loaded(object sender, RoutedEventArgs e) { sensor = KinectSensor.KinectSensors[0]; if (sensor != null) { sensor.ColorFrameReady += Sensor_ColorFrameReady; sensor.ColorStream.Enable(); sensor.Start(); } }
  28. 28. 視窗程式概略架構(WPF) void Window_Unloaded(object sender, RoutedEventArgs e) { if (sensor != null) { sensor.ColorStream.Disable(); sensor.Stop(); sensor.ColorFrameReady -= Sensor_ColorFrameReady; } }
  29. 29. 類似的使用模式  直接取得相關多媒體資料  ColorStream ex: sensor.ColorStream.OpenNextFrame(0)  DepthStream  SkeletonStream  使用EventHandler  ColorFrameReady  DepthFrameReady  SkeletonFrameReady
  30. 30. 骨架追蹤 (Skeleton Tracking)
  31. 31. Skeleton Tracking Code Snippet void Sensor_SkeletonFrameReady(object sender, SkeletonFrameReadyEventArgs e) { using (var frame = e.OpenSkeletonFrame()) { if (frame != null) { Skeleton[] skeletons = new Skeleton[frame.SkeletonArrayLength]; frame.CopySkeletonDataTo(skeletons); var skeleton = skeletons[0]; if (skeleton != null) { var head = skeleton.Joints[JointType.Head]; var rightHand = skeleton.Joints[JointType.HandRight]; var shoulderCenter = skeleton.Joints[JointType.ShoulderCenter]; var hipRight = skeleton.Joints[JointType.HipRight]; var shoulderRight = skeleton.Joints[JointType.ShoulderRight]; } } }
  32. 32. ReconstructMe
  33. 33. SKANect
  34. 34. Kinect Fusion
  35. 35. 深度影像 IR影像 骨架追蹤 肢體旋轉方向追蹤
  36. 36. 肌肉受力分析 心跳偵測 臉部表情分析 多人骨架追蹤
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×