Intel RealSense F200 感應器簡單使用紀錄

| | 0 Comments| 16:28
Categories:

掛在螢幕上前一篇《Intel RealSense F200 感應器 by 捷元 開箱文》基本上把 RealSense F200 的硬體介紹過了,而接下來則是在不涉及程式開發的部分,大概來講一下它的使用狀況。

首先,在 Windows 10 的電腦上,只要把 F200 接到電腦的 USB 3.0 Port 上,就可以完成基本的安裝了~所需要的驅動程式 Windows 自己就能夠找到、安裝,算是相當地方便。

前一篇也貼過了,下圖就是他在電腦上被偵測到的相關硬體:

intel real sense

可以看到,他基本上是有深度、彩色影像這兩個獨立的攝影機裝置,另外也還有聲音、輸入裝置。另外,除了兩個實體的攝影機外,他還有一個虛擬攝影機,會固定在裝置管理員裡、就算把感應器拔掉還是存在。

realsense-video-devices

而如果有需要的話,也可以自己去 Intel 網站下載「Intel® RealSense™ Depth Camera Manager」(RealSense DCM、官網)來安裝;不過要注意, 不同的感應器要安裝不同版本的 DCM 才行,個人是覺得有點討厭…

不過,在 Heresy 的測試,RealSense F200 似乎和第二代 Kinect 一樣,會有挑 USB 3.0 控制器的問題;像是 Heresy 試著連接到主機板內建的 ASMedia USB 3.0 控制器上,雖然可以偵測到,但是使用上卻很不穩定,常常會讓裝置當掉…

再來,就是如果在開機時沒有連接感應器、或是在開機中把感應器拔掉、然後再重新接上,都會導致之後電腦無法正確操作感應器解決的方法,基本上就是重開機、或者手動把「Intel(R) RealSense(TM) Depth Camera Manager Service」這項服務重新啟動,才能讓感應器可以使用。老實說,Intel DCM 沒有去處理連接、移除的事件,實在是一件很蠢的事。


在這樣這樣僅有安裝驅動程式(或 DCM)的情況下,其實 Intel 並沒有提供對應的測試方法,所以只能用一般的攝影機擷取軟體來針對攝影機做測試。

如果想要接著使用的話,最單純就是設定 Windows Hello 來做人臉解鎖!這部分 Heresy 之前已經使用第二代 Kinect 感應器來玩過了~由於 Windows 10 本來是設計支援 Intel RealSense 的,所以在接上 RealSense 感應器後,應該是可以直接進入設定,而不需要額外修改參數了。

而如果是單純使用者、只想玩體感的話,則可以到 Intel RealSense App 網站、下載想要的軟體來玩看看;其連結是:

https://appshowcase.intel.com/en-us/realsense

不過這邊的軟體目前看來不算多,也不是全部都是免費的。


realsense-camera-explorer至於開發者的部分呢,如果是要進行開發、或執行官方的測試的話,則是要去安裝 Intel RealSense SDK 才行,他的網站是:

https://software.intel.com/en-us/intel-realsense-sdk

在安裝好 SDK 後,他會有一個「Camera Explorer」的程式、可以用來確認目前系統上的攝影機的狀態。

他的視窗設計看來是可以同時偵測長距離、短距離的感應器各一個,而右圖就是他偵測到短距離的 F200 的狀況。

接下來,只要點選有偵測到的攝影機,就可以開啟他的檢視氣,來確認看到的畫面;下圖就是開啟後的樣子:

realsense-viewer

在剛執行起來的時候,他只會顯示上圖左側的視窗,在主畫面會是一個可以使用滑鼠轉動的 3D View,在他的右邊則可以針對感應器做基本的調整。而在點選右側的「Color View」與「Depth View」後,則可以開啟上圖右側的兩個子視窗,分別顯示彩色影像和深度影像的原始資料。

測試場景RealSense F200 預設的深度感範圍可以在右方「Depth Stream」中的「HW Settings」做選擇,他的值有下列五種:

  • Default(預設)
  • Hand(手)
  • Face(臉)
  • Body(身體)
  • Room(房間)

在切換後深度影像的對應範圍也會有所變化,這部分之後會有測試的畫面。

而預設值的偵測範圍算是相當地短,像上面的截圖就是在右圖的場景下拍出來的;雖然感應器離鋼彈的距離已經不遠了,但是就算這麼近,鋼彈的頭部還是只能勉強拍到。

至於深度值的品質呢,由於 Heresy 沒有自己寫程式來讀,所以無法做細部分析,不過以他的 3D 場景來說,個人是覺得深度值的不穩定性還是很高在許多狀況下,還是會有缺點的問題

SDK 除了 Camer Explorer 外,他也有 Sample Browser,讓開發者可以快速地尋找需要的範例。

realsense-samples

在這邊左側可以根據開發環境來做選擇,上方則可以針對感應器來做篩選。

不過不知道為什麼,在 Heresy 這邊只要是和手部(Hands)相關的範例,都不能正確的執行…只要跑起來都會死當… @@


基本的使用大概就是上面這樣了,而下面則是深度範圍的測試。

首先,下圖是測試的場景:

DSC09301 DSC09302

這邊 Heresy 是把 F200 和 ASUS Xtion Pro Live 放在差不多的位置、來做比較。

下圖則是在這樣的情況下、測試的結果。

compare 

上半部是 OpenNI 的視窗,左邊是 Xtion Pro Live 得到的深度畫面、右方則是彩色攝影機的畫面;下半部則是 F200 在「room」的設定下的結果,左邊是 3D 場景,右邊則是原始資料。

這邊可以明顯看的出來,比較靠近鏡頭的紅色鋼彈,由於已經超過 Xtion Pro Live 的最短感應距離、所以根本沒辦法產深度影像了!而藍色的鋼彈比較遠一點、算是在成像範圍的邊緣,所以部分區塊是有深度影像的。

相較於此,RealSense F200 由於可接受的感應距離較短,所以前端的鋼彈也可以正確地產生深度~但是相對地,在後方的牆壁的部分(約四公尺遠),基本上雖然還勉強可以有一些深度資訊,但是就變得相當地不穩定、應該算是不能用了。

而如果試著切換他的偵測範圍的話,其結果如下:

  • Default default

  • Hand
    hand

  • Face
    face

  • Body
    body

  • Room
    room

在上面的畫面裡,感覺深度影像應該有做過一些調整,有的有值的部分也看不太出來,所以個人建議看左邊重建出來的 3D 場景。

仔細看的話,應該可以看的出來,除了 ROOM 以外,其他的設定基本上都看不到後面的牆壁,但是即使是 Room,後方的牆壁還是算是不太可用的狀態;所以可以知道,他可以使用的深度距離,真的相對短不少,超過 300cm 大概就沒辦法了吧?

而其中,Hand 和 Default 算是距離比較短的兩個設定(Hand 應該比 default 更短),放在較遠處的鋼彈整個成像都很不完整;比較奇怪的,是 Hand 的設定感覺視角比較小?

此外,感覺在不同的設定下,Intel 似乎還會針對影像作一定程度的後製?像是如果和 Room 相比,在 Face 的模式下破洞會比較少;而在 Body 的設定下、周圍零星的小點似乎會變少,同時感覺更新速度似乎也相對慢了一點?不過這點還不確定他內部到底怎麼做的就是了。

另外,雖然上面看不出來,不過在切到 room 和 body 之後,雖然可以偵測到的距離變長了,但是最近距離的部分似乎跟著變長了!所以他這邊的參數調整看來是真的有去調整深度偵測、處理的方法,而非只是修改顯示的區域吧?

至於彩色影像的部分呢,雖然 F200 有 FullHD、1920×1080 的解析度,但是在 Heresy 來看,他的畫質不能算好,整體來說,雜訊不少、而且抹糊的很嚴重…

FullHD-color

不過基本上,他的畫質應該還是算是比 ASUS Xtion Pro Live 的好上一點吧~

下面就是 ASUS Xtion Pro Live 的彩色影像畫質。

 Xtion-color

而如果和第二代 Kinect 比呢?下面就是測試環境:

 DSC09304 DSC09303

下圖就是在這個場景下,F200 的畫面。

realsense-v2

下圖則是 Kinect 抓到的畫面。不過 Kinect 預設是鏡像過的。

 kinect-v2-depth

可以看到,Kinect 抓到的深度基本上不包含比較前方的那隻鋼彈,但是 F200 卻可以抓到。

這邊比較有趣的是,F200 在和 Xtion Pro Live 同時使用時,感覺上並沒有什麼問題;但是在和 Kinect v2 同時使用時,卻可以發現 RealSense F200 的深度偵測用紅外線訊號會被 Kinect 完全蓋掉!

下圖就是在兩者同時開著的時候,F200 所偵測到的畫面;可以看到,深度影像基本上已經沒有用了…

relsense-failed-with-kinectv2

而同一時間呢,Kinect 抓到的畫面卻感覺完全不受影響。這部分,就不太確定到底是怎樣了。

至於彩色影像的部分,雖然同樣都是 FullHD 的解析度,但是感覺上 Kinect 的攝影機成像應該是比 F200 好上一截?下面就是 Kinect v2 的畫面:

kinect-v2-color

下圖則是 F200 的畫面:

realsense-color 

個人是覺得,Kinect v2 的畫面比較乾淨、不但雜點相對少、抹糊的效果也沒有那麼強。


整體來說,Heresy 個人會覺得 RealSense F200 算是一個小體積的近距離深度感應器。

他基本上應該算是針對近距離(坐在電腦前)的人臉辨識、手勢操作,可以提供還不錯的結果,但是如果要論泛用性,可能就沒有 Kinect v2 來的好了?

而本來期待 Intel 應該可以在硬體上做得更好,但是沒想到還是有 USB 相容性的問題(當然,也有可能是 ASMedia 的問題…),這點算是讓人有點失望…

至於在軟體上,個人會覺得 Intel 在這部分做的還不夠好…或許是他的設計是希望做整合、固定式的感應器吧?但是光是背後的服務沒有辦法自動偵測硬體狀態,就很糟糕了…而再加上範例程式還會直接當掉…恩,感覺 Kinect 還是好一點吧?

不過,至少現在可以正常地拿這款 RealSense F200 來跑 Windows Hello 的人臉解鎖了~ XD

Leave a Reply

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *