小小Xtion开箱测评!!2012年03月12日 19:52:55

原文:http://page.renren.com/601107241/note/811764499

ASUS Xtion Pro Live 開箱文

給個評價吧~

基本上,雖然應該大部分的人在使用 OpenNI 時,應該都是以微軟的 Kinect(for Xbox 360)為主,但是實際上,OpenNI 並不是原生支援 Microsoft Kinect 的!要在 OpenNI 的環境下使用 Kinect,並不能使用官方的驅動程式,而是要使用修改過的驅動程式,才能正常使用的。

而相較之下,華碩的 Xtion Pro 以及 Xtion Pro Live 這兩款感應器,就是真正對應 OpenNI 的設備!他不需要使用特殊版本的驅動程式,而可以直接以 OpenNI 的公版驅動程式,就可以在 OpenNI 的環境下使用;相較於 Kinect 還需要等修改版推出,如果是要使用 OpenNI 來開發的話,Xtion Pro 應該算是一個比較方便的選擇。

Heresy 自己之前在「體感技術研討會」(參加感想)時,是已經有看過 Xtion Pro 和 Xtion Pro Live 的實物了,不過由於各種因素,自己在開發上還是以 Microsoft Kinect 為主要硬體;不過這次,算是終於借到了一台 ASUS 的 Xtion Pro Live、可以來玩一下了!

接下來,就是開箱聞了!下面左邊的照片,就是 ASUS Xtion Pro Live 的外盒了~基本上,盒子本身很小,而盒子上的說明,都是以英文為主,只有側邊的簡易規格說明有多國語言(下方右圖),包含了他的主要硬體參數;而盒子的背面,則是印了一些簡單的應用說明、以及 ASUS、PrimeSense 和 OpenNI 的 Logo。

這邊所列的規格,基本上如下:

  • 有效距離:0.8 公尺 – 3.5 公尺
  • 有效角度:58° H、45° V、70° D
  • 介面/電源:USB 2.0
  • 感測器:RGB & 深度
  • 支援平台:Intel x86 & AMD
  • 支援作業系統:
    • Win 32/64: XP、Vista、Win7
    • Linux Ubuntu 10.10: x86 32/64bit
  • 程式語言:C++/C#(Windows)、C++(Linux)
  • 音效:內建兩組麥克風

基本上,在支援的語言和作業系統的部分,因為 Xtion Pro 就是使用 OpenNI 這個開發平台,所以目前實際上能支援的是比外盒上列的更多一些啦~

而內容物的部分,也很單純,所有的東西就是下面左邊照片裡的這三項;包含了 Xtion Pro Live 的本體(下右圖)、軟體光碟、以及簡易的安裝說明(多國語言)。其中,軟體光碟裡面所附的,基本上也就是 OpenNI 的東西了~所以建議可以直接到 OpenNI 官方網站下載最新版,而不用使用光碟裡的版本。

在感應器的部分,Xtion Pro Live 由於同樣也是使用 PrimeSense 的方案,所以在成品上其實也算是大同小異;在正面有三個圈,最左邊的是紅外線發射器,和最右邊的紅外線接收器是一組的、用來感應深度,中間的則是 RGB 感應器,可以用來擷取一般的彩色影像。

在感應器的左右兩側的邊緣,各有一個小洞,是用來收音的麥克風(上右圖);和 Kinect 使用四個單元的麥克風陣列比起來,Xtion Pro Live 在這方面算是稍弱了一些。

基本上,Heresy 對 Xtion Pro Live 的第一個印象,是「好小」。和 Kinect 相比,Xtion Pro 不但小了整整一圈、而且也輕了不少!下面幾張照片,就是 ASUS Xtion Pro Live 和 Microsoft Kinect for Xbox360 的對比了~

   

除了大小差異很大外,另一個很大的差異,就是由於 Xtion Pro Live 沒有像 Kinect 一樣有配置可以旋轉的馬達,所以耗電量相對低了不少,也因此他只有一條標準 USB 線需要電腦、而不像 Kinect 一樣還要另外接電~這點也算是在使用上比較方便的地方了。

由於沒有馬達,所以 Xtion Pro Live 如果要調整角度的話,就必須手動了。而他基本上的設計是能夠無段式地調整上下的傾角,可動的範圍還滿大的,下面兩張圖就是往下和往上的極限。

硬體大概介紹完了,接下來是實際使用的部分了。基本上,要在 PC 上使用 Xtion Pro Live、和要使用 Kinect 差不多,都是要到 OpenNI 的下載頁面,下載 OpenNI Biinary、OpenNI Compliant Middleware Binary(NITE)來安裝;和 Kinect 不同的是,Xtion Pro Live 可以直接使用官方的 Compliant Hardware Binary、而不需要去另外使用修改過的 SensorKinect。

而在 Windows 下,抓到硬體會是名為「PrimeSense PS1080」的裝置(如右圖),只要有正確抓到,理論上就可以在 OpenNI 的環境下使用了~

不過,官方驅動程式預設是把解析度設定成為 320 x 240(QVGA)的模式,所以如果沒有在程式裡面特別做設定(設定 map output mode)的話,預設的畫面解析度都會是這個大小。而如果想要把預設解析度改掉的話,也可以透過修改「C:\Program Files\PrimeSense\Sensor\Data\GlobalDefaults.ini」這個設定檔裡面的參數,來讓預設解析度變成和 Kinect 一樣的 640×480。

而之後呢,基本上使用就都沒有什麼不一樣了~不過由於兩者的硬體配置上還是有些差異,所以畫面捕捉到的內容,也會有些不同。

像是 Xtion Pro Live 的 FOV 是水平 58°、垂直 45°,就比 Kinect 的 57°/43° 來的大一些些。另外在深度和彩色影像的對應位置關係的部分,也有些不同;下圖左邊就是 Kinect 抓到的畫面、右邊則是 Xtion Pro Live 抓到的畫面,可以發現,Kinect 的深度相較於彩色影像比較偏低、而 Xtion Pro Live 的畫面則比較靠中間。

而在抓到的深度值的分布上,Heresy 還沒做過詳細的驗證,不過大致上看來是和 Kinect 的結果(參考)差不多的~所以以得到的資料來說,除了深度的相對視角比較不一樣外,Xtion Pro Live 和 Kinect 基本上應該是沒有差異的。


接下來,來整理一下 Xtion Pro Live 和 Microsoft Kinect for Xbox 360 的優缺點吧~

首先,Heresy 覺得 Xtion Pro Live 他一個很大的優勢,就是它的體積小很多、輕很多,而且不用額外供電、只要一條 USB 線就夠了!相較於此,Kinect 其實算是有點笨重了。另外,在 Heresy 這邊使用上,感覺 Xtion Pro Live 似乎不像 Kinect 一樣,會挑 USB port;在 Heresy 的工作機上,Kinect 接在 USB 3.0 的控制器上是無法運作的,但是相對的,Xtion Pro Live 則沒有這個問題!

转自TW网友blog

而在硬體功能面,在一般開發者最常用到彩色、深度感應器的部分,兩者應該算是具備同等級的硬體(其實搞不好應該算是一樣的硬體?),所以這部分應該算是平手。

但是在聲音的部分,Kinect 的四單元麥克風陣列在規格上應該是完全獲勝的!不過目前的驅動程式,應該還是無法正確地透過 OpenNI 來取得聲音的資料的,所以雖然有比較好的硬體,但是還是沒有用…而 Kinect 的馬達也是一樣的狀況,雖然他有可以控制的硬體,但是卻沒有辦法透過軟體來控制,所以也算是相當可惜的。

不過,如果仔細看 OpenNI 的介面的話,可以發現 OpenNI 應該是有打算透過 xn::GeneralIntCapability 來做一些特殊的控制;像是現在在 xn::MapGenerator 就多了不少這類型的 capability,例如XN_CAPABILITY_ZOOM、XN_CAPABILITY_ROLL、XN_CAPABILITY_BRIGHTNESS…等等。這些功能目前都還沒有支援,不過也算是為了之後預留空間了~或許哪一天,Kinect 的驅動程式改得夠好了,就可以透過這些 capability 來做馬達的控制了!

也因此,雖然在硬體規格上,Kinect 算是比 ASUS Xtion Pro Live 來的強,可是以目前來說,實際上要在 OpenNI 使用的話,Xtion Pro Live 反而會有比較完整的功能(尤其是聲音)。而如果要發揮 Kinect 全部的功能,可能還是得放棄跨平台的 OpenNI、而改用 Microsoft Kinect for Windows SDK 了(不過授權的問題…以微軟的說法,以後可能還得重新買新的 for Windows 專用硬體才行)。

除了上面提到的比較之外,另外必須要說的,Xtion Pro / Xtion Pro Live 最大的優勢,就是他是直接由 OpenNI 來支援的,所以驅動程式的支援會是最快、最完整的!像是以往 OpenNI 推出新版、Sensor 模組有更新的時候,Kinect 的使用者都要再多等個幾天、才會有對應的驅動程式可以用,而如果是使用 ASUS 的 Xtion Pro 或 Xtion Pro Live 的話,就不會有這個空檔了~

另外,Kinect 目前在使用上,其實還是有些問題。像是現在在 OpenNI 裡使用 Kinect 時,除了 QVGA 模式似乎無法正常使用(會抓不到東西)之外,在使用 device 的 Device Identification Capability 時,也是無法正確抓到硬體的序號的;相較於此,ASUS Xtion Pro Live 就沒有這樣的問題了。

所以,結論?Heresy 是覺得,如果真的是要開發 OpenNI 的程式的話,華碩的 Xtion Pro Live 應該還是會是比較好的選擇!畢竟在支援上,是比較完整的。但是如果同時想要開發 OpenNI 和 Kinect for Windows 的程式、甚至還想玩 Xbox 360 的話,那 Kinect for Xbox 360 的通用性應該還是更高些;不過等到之後微軟更新了 Kinect for Windows 的 SDK 後…Heresy 就不確定怎麼樣了。


最後附帶一提,比較討厭的是…現階段來看,給 Kinect 用的 SensorKinect 和官方的 Sensor 模組雖然可以同時安裝,但是卻沒辦法讓 Kinect 和 Xtion Pro Live 這兩種裝置同時正確的驅動…單獨使用都沒問題,但是想要同時使用兩者的話,就掛了。

如果先裝了 Xtion Pro Live 的話,Kinect 接上去後,Kinect Camera 這個裝置就會無法正常地驅動(上左圖);而如果先接了 Kinect 的話,再接上 Xtion Pro Live,PrimeSense PS1080 這個裝置會有問題的(上右圖)…這個問題,只能希望之後有辦法修正了。

另一篇xtion、kinect选择比较(openni下)的更多相关文章

  1. ffmpeg第7篇:数据流选择神器-map指令

    自动选择规则 ffmpeg在处理视频时,如果只提供了输入和输出参数,ffmpeg会自动地去选择相应的视频流和音频流来合成文件 自动选择的方式根据如下规则: 视频流:选分辨率最高的,比如有两个视频,一个 ...

  2. python3 selenium 随机选择同一类型下的某一个元素

    使用场景: 如上图所示,有时候,我们测试的时候,不会每个方向都选择一遍,也不能每次都选择一个方向,这个时候就需要每次运行用例的时候,随机选择一个方向来测试 使用方法: random.randint() ...

  3. ssh 公钥 下载选择的时候 下拉选择 ssh 然后 git clone

    ssh 公钥 下载选择的时候 下拉选择 ssh 然后 git clone

  4. v80.01 鸿蒙内核源码分析(内核态锁篇) | 如何实现快锁Futex(下) | 百篇博客分析OpenHarmony源码

    百篇博客分析|本篇为:(内核态锁篇) | 如何实现快锁Futex(下) 进程通讯相关篇为: v26.08 鸿蒙内核源码分析(自旋锁) | 当立贞节牌坊的好同志 v27.05 鸿蒙内核源码分析(互斥锁) ...

  5. Django基础篇之数据库选择及相关操作

    在djanjo框架中我们最常用的框架分别就是mysql和sqlit了,下面我们将分别讲述一下这俩种数据库的基础必备知识 mysql 一.利用命令创建(在终端上执行) 1.首先创建一个project项目 ...

  6. Cesium应用篇:2影像服务(下)

    文章中相关范例下载路径:https://yunpan.cn/cByQqkANWN7Pu 访问密码 823d 上篇主要介绍了Cesium自带的影像Provider ,在本篇中,我们主要涉及到如何扩展这些 ...

  7. hbase源码系列(十五)终结篇&Scan续集-->如何查询出来下一个KeyValue

    这是这个系列的最后一篇了,实在没精力写了,本来还想写一下hbck的,这个东西很常用,当hbase的Meta表出现错误的时候,它能够帮助我们进行修复,无奈看到3000多行的代码时,退却了,原谅我这点自私 ...

  8. Kinect 开发 —— 语音识别(下)

    使用定向麦克风进行波束追踪 (Beam Tracking for a Directional Microphone) 可以使用这4个麦克风来模拟定向麦克风产生的效果,这个过程称之为波束追踪(beam ...

  9. html点击按钮 弹出 多选择窗口级联下拉复选

    参考代码 代码示例1: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:/ ...

随机推荐

  1. shell脚本,对MySQL数据库进行分库加分表备份

    [root@localhost wyb]# cat table_backup.sh #!/bin/bash flag= user=root pass=test mysql -u$user -p&quo ...

  2. 获取 request 中 json 数据

    import java.io.IOException; import javax.servlet.http.HttpServletRequest; /** * request 对象的相关操作 * @a ...

  3. CS193p Lecture 4 - Foundation, Attributed Strings

    消息机制 调用一个实例(instance)的方法(method),就是向该实例的指针发送消息(message),实例收到消息后,从自身的实现(implementation)中寻找响应这条消息的方法. ...

  4. classList属性和className的区别

    className的不方便之处: 在操作类名时,需要通过className属性添加,删除和替换类名.因为className中是一个字符串,所以即使只修改字符串一部分,也必须每次都设置整个字符串的值.( ...

  5. Linux基础学习-使用PXE+Kickstart无人值守安装服务

    无人值守安装系统 PXE(Preboot eXecute Environment,预启动执行环境)是由Intel公司开发的技术,可以让计算机通过网络来启动操作系统(前提是计算机上安装的网卡支持PXE技 ...

  6. react 组件架构

    容器型组件(container component) 含有抽象数据而没有业务逻辑的组件 负责管理数据和业务逻辑,不负责 UI 的呈现 带有内部状态 展示型组件(presentational compo ...

  7. **没有规则可以创建“XXX”需要的目标“XXX”问题的解决方案

    一.现象 我将之前Redhat9.0编译好的uboot,转到ubuntu12.04环境.在ubuntu环境下对 uboot重新编译提示错误.编译过程如下: root@hailin-virtual-ma ...

  8. 【06】GitHub WiKi

    [09]GitHub WiKi GitHub WiKi 能够帮助我们处理非结构化的页面集合,就像维基百科那样.我自己 NodeJS docs 就被我弄成 wiki 的样子. 几个页面,然后自定义侧边栏 ...

  9. Non-maximum suppression(非极大值抑制算法)

    在RCNN系列目标检测中,有一个重要的算法,用于消除一些冗余的bounding box,这就是non-maximum suppression算法. 这里有一篇博客写的挺好的: http://www.c ...

  10. nodemailer发送邮件遇到的一些问题

    使用nodemailer发送邮件一直困惑了我好几天,百度谷歌都没有找到的几个问题,方便大家排查. 我使用的是0.7.1版本,其他的版本好像报错,就没用. 错误信息:Mail from command ...