2010年11月4日 星期四

微軟的Kinect'動態搖桿的原理

看以下的報導,不好意思全是英文的。您要快速的吸收新知,語文能力還是要有的啦!

-------------------

所有的電視遊樂器遊戲,都需要一個操作搖桿...這是一個理所當然的想法!

但是人家就是會在這個再簡單不過的基本想法上,創造出截然不同的使用者感受。

當初我們在搞那個多核心時,我有請工程師在這個平台上,嘗試去接一個PS2 mouse ,

然後再把他直接轉繪到一片繪圖型的LCD 屏上面!---PS/2 Mouse + Graphic LCM Demo  !

結果您看,我們工程師多聰明的把我的想法馬上可以連結到一般的觸控螢幕應用上!

結果,這幾年來這些簡單的人機介面,卻是獨領風騷的帶領電子產品新概念!

這本來就是我們這些系統應用工程師比一般單調呆板的硬體(IC)設計工程師靈活的地方。

當初我剛接觸到這些硬體的新觀念時,我就直覺得發現:一些原本看是平常的東西也可以

有不同的應用發展。當初我們幾個人也有一些完全不同的系統應用規劃的發展計畫:

除了這個PS2+LCM 外~還有超音波的環境偵測範例,

----- 這麼一個簡單又淺顯的想法,不就是這個Kinect 一個基本概念嗎?!

只不過:人家是用光學,而非聲波!

(但利用光反射來決定距離?會不會這個誤差直太小了一點?!)

還有DTMF 啊...還有多組IR 來完成互動介面...其實這些都這幾年來很熱門的IC 規格。

您可以連結到Silicons Labs 公司網站所提的 QuickSense™ Studio...

結合許多MEMS 元件,可以讓我們的電子產品能夠跟我們身邊的周遭環境結合,

不過,很遺憾的是:我們幾個人的想法與計畫,就因為我的離開而悉數胎死腹中。

結果,那個原本有創意的硬體設計也因無法在系統應用端找到市場定位,而落入無窮的

價格殺戮戰場...這個就是許多台灣IC 設計公司的縮影,之後也有別家公司找我去幫忙,

一問之下,他們所要都只是為了去爭奪一塊大家都已經知道,並且是Me Too的市場罷了!

譬如:無刷馬達控制單晶片...小家電的微控器,甚至是一般低階消費性乃至玩具市場的

單晶片應用市場。---- 是啊...就是您兩毛~我一毛這樣子的市場操作!有什麼好玩的?!

那一種既有存在的市場不是不能做,反正就是穩中求勝嘛!一個既存的市場規模嘛!

但往往對於公司未來發展卻是有著牽絆的反作用...明明可以走出一條截然不同的市場定位,

但卻會因為常常因眼前的現實與短利,而把資源浪費在這些無謂的惡性競爭中。

您看現在平版電腦這麼火紅,每一家搞Notebook 都磨刀霍霍,信誓旦旦的拭目以待。

結果最終都還不是回到一個老問題:看一看~玩一玩!還是回來繼續做代工事業還比較實際吧!

毛利低一點,至少還可以餬口過日子!對老闆來說:又沒差,搞不出新產品,

老產品自然有老客戶可以養著我,只要公司不虧錢,永遠有不怕死的工程師願意來上班幫我賺錢!

沒有員工股票分紅制度,又不代表這些大老闆大股東不能股票分紅啊!---沒差!

(當初我師傅要離開光碟機產業時,就跟我說:那個行業也只剩下接單生產而已,

已經不會再用到我的地方了...那個產品也不需要什麼創新研發的新動力因素了!

--- 多率性的一個研發工程師啊!)

您就是看到那些電子五哥的老闆,雖然嘴巴哇哇叫著說:毛利低,不好做啊...

結果人家還不是年年西裝筆挺的在東區住豪宅,出入高級名車,吃的是高檔餐廳!有差嗎?!

媒體照樣稱呼他們是電子新貴的大老闆...一將功成,萬骨枯啊---可憐的小兵工程師!

所以,當您每每看到這些國外大廠又從口袋裡拿出一個新玩意時,您是不是又要感慨的說:

生不逢時啊...如果再讓我年輕的幾歲,我一定要去學那個Android 或那個iPhone 的iOS 等...

拜託~人生可以讓您有幾次這痛苦難熬的學習機會啊?!...等您學會又如何?!

只不過,您指是從一家不願意買單的電子大廠,到另一家只願意花個一兩年試試看的公司而已!

結果,都是一樣的...最終空有一身高超武藝,就是一家一家公司試試看而已。

好好加油吧,年輕人!---這些電子五哥們的大老闆們,當初也是自己走出來的啦!

---

PS :happosai 小老弟啊...您看下圖右上角的那個機械手臂,有沒有似曾相識的感覺啊?!

哈~哈~.......

-----------------------------------------------------------------

How Motion Detection Works in Xbox Kinect

The prototype for Microsoft's Kinect camera and microphone famously cost $30,000. At midnight Thursday morning, you'll be able to buy it for $150 as an Xbox 360 peripheral. Let's take some time to think about how it all works.

Camera

Kinect's camera is powered by both hardware and software. And it does two things: generate a three-dimensional (moving) image of the objects in its field of view, and recognize (moving) human beings among those objects.

Older software programs used differences in color and texture to distinguish objects from their backgrounds. PrimeSense, the company whose tech powers Kinect, and recent Microsoft acquisition Canesta use a different model. The camera transmits invisible near-infrared light and measures its "time of flight" after it reflects off the objects.

Time-of-flight works like sonar: If you know how long the light takes to return, you know how far away an object is. Cast a big field, with lots of pings going back and forth at the speed of light, and you can know how far away a lot of objects are.

Using an infrared generator also partially solves the problem of ambient light. Since the sensor isn't designed to register visible light, it doesn't get quite as many false positives.

PrimeSense and Kinect go one step further and encode information in the near-IR light. As that information is returned, some of it is deformed - which in turn can help generate a finer image of those objects' 3-D texture, not just their depth.

With this tech, Kinect can distinguish objects' depth within 1 centimeter and their height and width within 3 mm.

Figure from PrimeSense Explaining the PrimeSensor Reference Design.

Middleware

At this point, both the Kinect's hardware - its camera and IR-light projector - and its firmware (sometimes called "middleware") are operating. The Kinect has an on-board processor which is using algorithms to process the data to render the three-dimensional image.

The middleware also can recognize people: distinguishing human body parts, joints and movements, as well as distinguishing individual human faces from one another. When you step in front of it, the camera "knows" who you are.

Does it "know" you in the sense of embodied neurons firing, or the way your mother knows your personality or your confessor knows your soul? Of course not. It's a videogame.

But it's a pretty remarkable videogame. You can't quite get the fine detail of a table tennis slice, but the first iteration of the WiiMote couldn't get that either. And all the jury-rigged foot pads and nunchuks strapped to thighs can't capture whole-body running or dancing like Kinect can.

That's where the Xbox's processor comes in: translating the movements captured by the Kinect camera into meaningful on-screen events. These are context-specific. If a river-rafting game requires jumping and leaning, it's going to look for jumping and leaning. If navigating a Netflix "Watch Instantly" menu requires horizontal and vertical hand-waving, that's what will register on the screen.

It has an easier time recognizing some gestures and postures than others. As Kotaku noted this summer, recognizing human movement - at least, any movement more subtle than a hand-wave - is easier to do when someone is standing up (with all of their joints articulated) than sitting down.

So you can move your arms to navigate menus, watch TV and movies, or browse the internet. You can't sit on the couch wiggling your thumbs and pretending you're playing Street Fighter II. It's not a magic trick cooked up by MI-6. It's a camera that costs $150.

Audio

Kinect also has a stereo microphone to enable chat and voice commands. The tech on the audio capture is fairly well-known, but it's worth observing that unlike the noise-canceling microphone you might have on your smartphone or laptop's webcam, Kinect has a wide-field, conic audio capture.

This is because, unlike a smartphone, you wouldn't want the Kinect's microphone to capture only sounds close to it: It'd only pick up the sound of the television set. You want it to capture ambient speech throughout the room, such as that emitted by whole groups of people watching sports or playing games.

Screenshot from Kinect Sports Hurdles

A traditional videogame controller is individual and serial: It's me and whatever I'm controlling on the screen versus you and what you're controlling. We might play cooperatively, but we're basically discrete entities isolated from one another, manipulating objects in our hands.

A videogame controller is also a highly specialized device. It might do light work as a remote control, but the buttons, d-pads, joysticks, accelerometers, gyroscopes, haptic feedback mechanisms and interface with the console are all designed to communicate very specific kinds of information.

Kinect is something different. It's communal, continuous and general: a Natural User Interface (or NUI) for multimedia, rather than a GUI for gaming.

But it takes a lot of tech to make an interface like that come together seamlessly and "naturally."

4 則留言:

  1. 只要公司不虧錢,永遠有不怕死的工程師願意來上班幫我賺錢!
    +1
    沒錯台灣老闆給我的感覺都是這樣的!

    回覆刪除
    回覆
    1. 尤其是在號稱高科技公司來說:有太多人心存幻想,造成就業市場供過於求。
      當然這些大老闆們就有恃無恐啊...是您們不怕死,
      反正這大公司也都有一定規模了。就怕沒人來,不怕死的敢來...誰在乎您啊?
      而且這些大公司都還有一大堆領股票退休的老員工等著您賣命養他們呢!

      ... ... ...

      刪除
  2. 不怕死的工程師的確是永遠不缺,不過要找到過去那種台清交高素質的工程師只怕越來越難,這些高材生一路過關斬將..結果發現現在科技業門檻變高,餅又變小...操的程度卻跟過去一樣不減反增,掐指一算怎麼算都划不來阿!

    難怪現在大老闆們大嘆人才難找,因為各位的學弟妹沒您想像中的那麼笨阿.. :))

    回覆刪除
    回覆
    1. 小老弟啊...我從來不擔心這些公司的大老闆會感嘆人才難找,
      我看過太多了啦!只是有許多涉世不深的年輕人不懂而已。
      對有錢人來說:真的沒差啦...因為真的有太多人心存幻想的啦。
      心想:我還年輕,又沒差,辛苦幾年再說,結果就是沒有再說那件事了啦。
      所以,您真的放心好了,這些老闆都是嘴巴說說而已啦...

      刪除