Monday, May 17, 2010

個人機器人的催生者 -- Willow Garage 公司簡介

Personal Robot 的時代
1980年代時 微軟和英特爾聯手將個人電腦 (personal computer) 推向了世界的各個角落
30年後
2010年代將會是個人機器人 (personal robot) 的時代

Willow Garage
對於這一點 Willow Garage 公司有著很大的熱誠




個人機器人能幫你做什麼?
恩.  舉凡家裡的雜事像收拾衣物 收拾小孩的玩具 打掃清潔等等
想像一下一個全功能 全天候的傭人 能夠替家裡省下多少功夫
當然 現在機器人的程度頂多能做到折毛巾 (看 youtube 影片) 而已

當然你會問: 這個美好的未來要多久才能實現? 十年? 二十年? 還是五十年?
這跟投入的人力、財力有關
在軍事、醫學這兩個領域都能獲得很大的資金投入
但是在一般用途方面就相形見絀
Willow Garage的創辦人 Scott Hassan 有感於此
於2006年創辦了此公司
以加速飛軍事用途的機器人的發展
主要的手段是提供開放原始碼的軟體  可讓學界和業界自由取用

目前的成果有三
  1. ROS 機器人作業系統
  2. PR2 實驗和展示用機器人平台
  3. OpenCV 機器人視覺處理程式庫

PR2的長相,並不是特別討喜,不過他的手可是很靈活的



PR2 - Personal Robot 2
五月初有一個大新聞
11台 PR2 被分送到11個研究單位,作為研究的平台
PR2包含了一個移動平台、兩隻手臂、多個感應器、以及16個中央處理器
據稱這些機器價格四百萬美金
以下是獲選的研究單位和他們的目標
Albert-Ludwigs-Universität Freiburg: 目標是清潔桌子、開冰箱等等雜事
Bosch:增加新的感知器(sensor)
Georgia Institute of Technology:老人照護
Katholieke Universiteit Leuven:遠端操作
MIT CSAIL:多人環境中的遠端操作,包含導航和語音控制
Stanford University:室內導航、清理餐桌、尋找特定物體
Technische Universität München:廚房用
University of California, Berkeley:之前的折毛巾程式就是由 Berkeley 的 Pieter Abbeel 實驗室完成的,現在他們要繼續進步
University of Pennsylvania, GRASP Laboratory:利用動作偵測(motion capture)來作遠端控制
University of Southern California:精密的手臂控制技巧,讓機器人可以...倒茶
University of Tokyo, JSK Robotics Laboratory:這個 lab 有著日本相當先進的人形機器人,他們想讓 PR2 進行尋找物體和清潔等工作

整理一下
主要發展的功能有二:
  1. 遠端操作
  2. 處理生活雜事如收拾衣物、找東西、倒茶、清潔等等
這個計畫的時間為兩年
且看到時會有多豐碩的成果產出!

Saturday, May 8, 2010

世界時鐘

看到一個有趣的網站
裡面有個東西叫世界時鐘(world clock)
這不是一般的時鐘
上面顯示了許多統計資訊
比如說人口資訊
世界: 68億
中國: 13.5億
印度: 11.8億
歐洲:  5.1億
美國: 3.1億

該網站還有很多有趣的統計數字 可上去逛逛

Friday, May 7, 2010

Markov chain model (馬可夫鍊模型) 與求解演算法 forward/backward algorithm

在電腦科學中,graphical model 是一個用來定義機率模型的好工具
而馬可夫鍊模型是graphical mode中常見的一個機率模型

最近看了 Mark Schmidt 所寫的 Matlab 函式庫和教學文件
覺得作者的講解很清楚
只要有基本的機率知識就能夠了解
有興趣的人可以看一看

首先推薦其中一篇說明 Markov chain model 教學文件
以 computer science 學生畢業後的出路為範例
每個人在他畢業後的60年內
每一年都會處於七種狀態之一
[業界, 唸博士, 玩電玩, 業界(有博士學位), 學界(有博士學位), 玩電玩(有博士學位), 離開電腦科學]
請問一個人在畢業後的第n年處於某一個狀態的機率是多少?


以下是我個人的心得
Markov chain 模型中所要描述的為一組隨機變數的機率
令這些隨機變數為 `X=X_1,X_2,...,X_N`
這些隨機變數的 joint probability 可以用一個機率函數 表示
`p(x)=p(x_1)p(x_2|x_1)p(x_3|x_2)...p(x_N|x_{N-1})`

而這個函式可以用更一般化的形式來表示
`p(x)=\frac{1}{Z}f_1(x_1,x_2)f_2(x_2,x_3)...f_{N-1}(x_{N-1},x_N)` (1)
由於加上了常數 Z , 此處的 f 不再限定是機率函數
以上的形式表現出Markov chain的性質:
由於每個隨機變數只和他相鄰的隨機變數相關
所以機率函式可以被分解為多個函數相乘

對於 `p(x)` 我們通常會感興趣的是某一個隨機變數處於某個狀態的機率
比如說 `x_2`=業界 (狀態為1)
以機率的術語來說就是 marginal probability
由於我們只考慮 `x_2` 的狀態
因此要把其他的變數的所有可能性都加總起來
`p(x_2=1)=\sum_{x_1,x_3,x_4,...)\frac{1}{Z}f_1(x_1,x_2)f_2(x_2,x_3)...f_{N-1}(x_{N-1},x_N)`
乍看之下其餘 N-1 個變數有 `2^{N-1}` 種可能
所以要計算這個總和需要非常大量的計算
但實際上卻是很容易計算的
關鍵就在於 

分配律

先看一個簡單的例子
`a_1b_1+a_1b_2+a_2b_1+a_2b_2=(a_1+a_2)(b_1+b_2)`
左邊:先乘後加 -- 需要四個乘法和三個加法
右邊:先加後乘 -- 需要一個乘法和兩個加法
可以看出先加後乘在計算上比較有效率
是當變數增加的時候更為明顯

再回頭看(1)
可以發現是很相似的情況
先做 N-2 個乘法再加起來
除了一點不同:函數 f_i 牽涉到兩個變數
並無法把 `\sum_{x_1,\cdots \x_N}` 拆開
不過 當任何一個變數的值被限定時
就可以拆解開來
以上面的例子來說
令 `x2=1`
則我們可以把乘積分成兩段
`p(x_2=1)=\frac{1}{Z} [\sum_{x_1}f_1(x_1,x_2=1)][\sum_{x_3,...x_N}f_2(x_2=1,x_3)...f_{N-1}(x_{N-1},x_N)]`

到此已經解開最困難的關鍵
我們只需要分別計算以下兩個數字即可
`\sum_{x_1}f_1(x_1,x_2=1)` (3)
`\sum_{x_3,...x_N}f_2(x_2=1,x_3)...f_{N-1}(x_{N-1},x_N)` (4)

其中用來計算(3)的方法便稱之為 forward algorithm 為一種動態規劃的技巧 (dynamic programming)

forward algorithm
現在來計算 (3)
令 `Z_{i,j}` 為 `\sum_{x_1,...\x_{i-1}}f_1(x_1,x_2)f_2(x_2,x_3)...f_{i-1}(x_{i-1},x_i=j)` (3)

如此可以利用遞回的定義來計算
`Z_{i,j}=\sum_k Z_{i-1,k}f_i(k,j)`
`Z_{0,j}` 為常數 需要先定義好

有了`Z_{i,j}`之後
要計算 `p(x_i)` 便很容易
`p(x_i=j) = \frac{Z_{i,j}}{\sum_k Z_{i,k}}`

實務技巧

`Z_{i,j}`的值可能會非常大或非常小 此時難以用一般的變數來表示
比如說浮點述的精確度可能會不足
解決的方法在於加上兩個輔助的變數 `\kappa_i`, `a_{i,j}`
令 `Z_{i,j} = a_{i,j}\prod_{k=1}^i \kappa_k`
`\kappa_i` 的設定方式為使得 `\sum_k a_{i,k}=1`
如此一來 `a_{i,j}` 的範圍必定在 1 以內

此外計算 `p(x_i)` 時 `\kappa_i` 的值可以省去:
`p(x_i=j) = \frac{Z_{i,j}}{\sum_k Z_{i,k}}`
`p(x_i=j) = \frac{a_{i,j}\prod_{k=1}^i \kappa_k}{\sum_k a_{i,k}\prod_{k=1}^i \kappa_k}`
`p(x_i=j) = \frac{a_{i,j}}{\sum_k a_{i,k}}`

backward algorithm
和 forward algorithm 相似 差別只在於是從右邊算過來
在此就不贅述

經過以上的說明 有興趣的人可以看 Mark Schmidt 所寫的 Matlab 函式庫和教學文件
有完整的程式 可以實際動手玩玩看

Wednesday, May 5, 2010

當科技遇上漫畫

我不是學藝術出生  不過我相當喜愛看漫畫
適巧由於接觸了電腦視覺的研究領域
便想到能否將一些技術應用在製作漫畫上呢?

尋找了一些資料後  發現果然有人做了這方面的研究
而且成果還發表在知名的 SIGGRAPH 呢

此為傑出的女性為 Yingge Qu (屈穎歌) 目前為香港中文大學的博士研究員

他的研究中有兩項特別令我注目

1. Manga Colorization (漫畫著色)
2. Richness Preserving Manga Screening (將相片轉成漫畫場景)




有興趣的人可以進入他的專題網頁看看
我改天再來介紹

Sunday, April 25, 2010

靜音手機

坐捷運或公車的時候
難免會遇到人大聲講手機
這時如果有能安靜使用的手機就好了

最高的境界是用腦波直接發話
不過在這種技術出現之前
是否可以用簡單一點的方法
比如說利用講悄悄話的時候
喉嚨只會發出氣音
如果能辨識這種語音
再還原回正常的聲音
也是一種不錯的方法吧

Friday, April 16, 2010

學習的王道 -- The Art of Learning: A Journey in the Pursuit of Excellence

"一位西洋棋高手轉練太極拳的故事"

"在台灣舉行的世界盃太極拳推手比賽"

這本書我去年在誠品時隨手翻了一下
簡單的說
書如其名 "學習的藝術"(中譯翻得怪怪的)
是作者的心路歷程
並非教人下棋或是練拳
如果是抱持著這種心態去看的人
大概會大失所望吧
再亞馬遜的書評上有看到幾篇書評
就是因此理由只給兩顆星


看這種書是蠻有趣
不過若說要學到甚麼
就如同我前幾篇提到的
此類教人成功的書
大概只能用來和作者相互印證
如果你的經歷和作者相同
那你很可能已經成功 或是即將成功
如果不同 那也不代表你的道路有誤
謹此而已

Thursday, April 15, 2010

評估鍵盤使用效率 -- 鍵鼠比

長使用電腦工作的人會發現,手在滑鼠和鍵盤之間來回切換,是一件費時費力的事情。
因此我想用一個公式來表式切換的頻繁程度
首先想到的如下

每按10000次鍵字數內手在鍵盤滑鼠間的切換次數 =  切換次數 / 10000

切換的定義為
(假設以右手為操作滑鼠)
"當右手鍵被觸發後,緊接的下一個行為為滑鼠動作"

說明
1. 將鍵盤上的按鍵分為兩區,其中一區的按鍵稱為右手鍵,表示這些按鍵是由右手去按
2. 滑鼠動作包含移動滑鼠和按下任意滑鼠鍵


要給個縮寫的話就是
SKMR = switching between keyboard and mouse ratio

考慮寫個小程式來收集資料

Sunday, March 14, 2010

教人讀書的書

這次春節回外婆家玩
在表弟的書櫃上看到了不少教人讀書的書




我認為這類書籍的意義

就像是聖經的見證分享一般
讀書的方法從古就被人研究著
時至今日
配合心理學的理論基礎
現代的讀書理論可說已經確立
雖說將來必定會有新的發展
但是此刻來說
幾乎所有的書提到的東西都相同 只是有所取捨

換句話說
可以看作是作者本人的"讀書的成功經驗"


我認為目前這類書中的"聖經"
How to Be a Successful Student, 1998
一共只有30頁 每頁一個主題


不過
換個角度來看這些書也可以得到有趣的想法
"為什麼明明是類似的內容,卻還是有人會買呢?"
藉由觀察作者是如何安排書籍內容
使得讀者願意購買



在表弟的書櫃中
我認為有兩本書覺得可以稍微瀏覽一下
  • 超快速讀書法 
  • 我這樣考上東大和哈佛-百試百中的16倍速學習法
第一本清楚了闡明學習的三個基本道理
大量 & 重複 & 快速
也就是足夠的內容加上多次重複學習(對抗遺忘)加上縮短學習間隔(對抗遺忘)

扣除其餘的知識, 以一本書的程度來闡述這三個基本道理
是一個很能抓住人心的寫法

第二本書使用了方程式作為全書的摘要
數學的方程式給人很強的理論感
是相當漂亮的手法
在此我節錄一下

<成功學習方程式>
學習成果=「資質」×「策略」×「時間」×「效率」

◎「資質」=每個人頭腦天生的能力。就像「○○同學的頭腦好清晰啊」「他腦袋不好,不管怎麼念書都沒用啦」這樣的天生能力
◎「策略」=針對學習的目的、目標,徹底思考應該採取何種學習方式
◎「時間」=學習的時間
◎「效率」=學習的效率,每單位時間的學習效果
作者在書中說明如何對四個變數各自提升一倍
總合起來就可以達到16倍的成果

結論是看這些書的最大好處
就是自己成功以後也能出一本來騙錢激勵莘莘學子啊

Thursday, February 18, 2010

任天堂 DSiLL 初玩心得

今天雖然天氣陰霾
但我的心情卻是歡欣雀躍的
下午拿著紅包買了 DSi LL
這是我第一次買掌上型主機

平時常看室友彭GJ玩 PS3 和 XBOX360 上的遊戲
DS 的遊戲給我的感覺完全不同

我先玩了"ちょっと脳を鍛える大人のDSiトレーニング(鍛鍊大腦的DSi訓練遊戲)"這個遊戲
遊戲的操作介面令我相當驚奇
觸控板的功能被大量使用
比如說輸入數字時 不是按按鍵 而是直接手寫輸入


除此之外還有利用語音辨識的測驗

看一下主機推出的年份
DS 是 2004 年底推出的
DSi 是 2008 年底推出的
我想在這些時間點 語音辨識, 語音合成, 以及手寫辨識的技術都已經發展至一定程度
但是能把這些技術巧妙的應用到遊戲中
給玩家全新的體驗
實在是不容易

就電腦科學領域來看(以我自己在電腦視覺相關看過的論文)
日本人在純理論方面還落在歐美之後
但是他們應用技術的寬度廣度卻是不惶多讓

這也是吸引我往日本發展的因素
同時我也正在反思
在台灣這樣的環境下成長的我
是否具有這種巧思 能融入這種環境
或者是從另一個角度來看
我目前具有的特質 能否和日本的方式擦出不同的火花
這些因素將決定我最適合的工作

那麼首先看看自己應用的能力
我來嘗試把電腦視覺的技術
做一些新鮮令人感興趣的應用吧

春節連休第六天 2010/2/18

昨天從花蓮外婆家回來 結束今年度的拜年之旅
早上便到實驗室報到
刷卡從側門進入後
無人的總機櫃檯冷冷的看著我
走過舊館和新館之間的長廊
電梯上樓層的數目停在五樓 正是我要去的地方
我上樓之後 果然發覺隔壁的實驗室的燈亮著
想必是研究員吧
我沒有特意去打招呼
逕自著手今天的工作
[只不過是更新檔案伺服器的韌體罷了] 我這樣想著
跟研究無關
這種不算功勞只是苦勞的事情
總是得處理一下
為了避免更新韌體造成資料損失
我還得先把檔案複製到另一台伺服器
意外的發現了 Windows Vista 上新的工具程式 robocopy (robust file copy)
也算是今天的收穫吧

約一小時後
隔壁的廖研究員跑來寒喧一下
沒想到他居然年初二(2/15)就來這邊做事了
還真是個熱愛工作的人

吃過午飯後 同事三人也出現了
對比其他實驗室冷清的樣子
看來我們這多媒體實驗室還真是特異啊
[放假還是不要太累]
我收拾好東西 拿著壓歲錢去買新出的NDSiLL主機了

Monday, February 8, 2010

創意發想 -- 電蚊拍和訓練機

這兩三天和朋友去花蓮玩
途中想到兩個有趣的點子
一個是住在旅館時,被蚊子咬時想到
要是有可以摺疊攜帶的電蚊拍就好了

另一個是去大魯閣打擊練習場時
想到可以做一個虛擬的打擊練習器
用攝影機追蹤球棒的位置
配合頭戴顯示器來呈現球的位置
就能夠在室內玩
後來想想 棒球的難度頗高
可以先嘗試桌球或是丟沙包

出去旅行放鬆一下 果然有些不同的點子

Wednesday, January 20, 2010

去除圖片四周的白邊 -- 使用 ImageMagick

我在使用 Matlab 產生圖表的時候,常常遇到的問題為,
圖片的四周會自動留白,造成將圖片置入 ppt 或 pdf 時的困擾







此時可使用影像轉換工具 ImageMagick 來處理
ImageMagick 的功能非常強大,對於這個問題只需要用以下的指令及可解決

$ convert -trim source.png dest.png

Wednesday, January 13, 2010

日本文部科學省公佈13所大學為國際化據點

在中國的網站看到的新聞, 是2009年(平成21年)七月的事情

文部科學省的新聞稿如下:
http://www.mext.go.jp/b_menu/houdou/21/07/1280880.htm

目標是配合30萬留學生計畫, 並預計畢業後有 2 至 3 萬名留學生留下來工作 (目前約1萬名)


一共包含七間國立大學和六間私立大學
【国立大学】       
    東北大学
    筑波大学
    東京大学
    名古屋大学
    京都大学
    大阪大学
    九州大学
【私立大学】
    慶應義塾大学
    上智大学
    明治大学
    早稲田大学
    同志社大学
    立命館大学

主要工作事項包含以下三點
(1)英語による授業等の実施体制の構築
  • 国際競争力のある学部・研究科において、英語で授業を受け、英語で学位が取得できるような体制の整備
(2)留学生受入れに関する体制の整備
  • 留学生に対する専門スタッフ(チューターや相談員等)による生活支援、日本語教育、就職支援や補完教育の実施、4月以外の入学時期の促進
(3)戦略的な国際連携の推進
  • 留学生を受け入れるためのワンストップサービスを行う海外拠点の設置 など

看來留學的機會增加, 不過注意到預期留學生只有10%會留下工作,這可能表示工作機會不多, 要注意.

補充1
筑波大學對於Global30建構的網頁
http://www.global.tsukuba.ac.jp/

補充2
來自日本學術振興學會的資料
http://www.jsps.go.jp/j-kokusaika/index.html

補充3
日本人對此事的評論
http://mrknomousou.cocolog-nifty.com/blog/2009/07/3011-mexts-glob.html
以本人目前的能力來閱讀,作者並不是很贊同政府的做法
主要理由是擔心外國人增加後的社會問題,
(從wikipedia的資料可見, 在日本居留的外國人不過占1.5%, 也就是一億兩千七百萬人中的兩百萬人)
這反映了日本人較為保守的心態
不過反過來看台灣的情況
對於外籍勞工的處理也不好
剝削,不平待遇問題時有所聞
長久下來會是個問題

Tuesday, January 5, 2010

在我的新 Windows 7 64-bit 上安裝羅技網路攝影機/Webcam

身為新科技的愛好者
我把自己的電腦升級成 Win7 64-bit

然而新系統東西的最大弱點就是軟體支援度

之前實驗室用的老羅技 QuickCam 馬上面臨了沒有軟體支援的窘境
拜過 Google 大神之後找到了完整的驅動程式清單 (Here)

很不幸的,新的驅動程式 Logitech Webcam Software (LWS) 並沒有支援這個攝影機
我只能再買一台新的了@@

目前選了 Webcam C500 這隻130萬畫素的
測試一下後發現效果還不錯
扭曲的程度相當小,影像邊界的地方不會有魚眼效應
可見下圖,校正版的左邊已經貼到畫面最左邊,但是還是保持直線




 webcam 已經入手,可以繼續實驗囉

Monday, January 4, 2010

尊重專業

上個月馬桶不通,請房東找人來看
今天預定三點來要修馬桶的人,到晚上都沒出現
讓我們平白等待

沒做到"守時"這種基本的專業態度讓我有點難過

不過探究原因
我覺得有部分要歸咎於台灣人對專業的尊重不足

比如說從修車師傅說起
一般修車時的費用主要是材料錢,可能是數千到數萬,工錢反而只有幾百元而已
一般人可能只計較材料錢
但是一個技術好的師傅
可以幫你找到真正的問題,對症下藥
免去花冤枉錢和浪費時間

我有次和朋友去修車
老闆仔細檢查後說我們認為出問題的地方其實沒問題 (後來在另一家找到其他問題並修好)
但是卻沒有跟我們收費
我們只好買半打啤酒送他


當顧客只注意看得到的價值時,會形成這種服務態度也不意外

和老闆討論的注意事項--注意架構完整

過年前剛交出一份報告
現在是準備研究的時候了
早上把想要做的工作整理一下
預計拿給老闆看之前 先請前輩過目一下
前輩搖搖頭..."這樣不行哪"

原來我犯了一個通病: 只列出研究方法和步驟,忽略了說明背景與目的
這樣會使得別人難以理解,甚至錯誤理解我所想做的事

果然再重新想想之後,找到了連自己都不清楚的部分
想必一定會被老闆質疑吧

還好有先請教前輩
不過在這邊待了三年還犯這種錯誤,不禁汗顏啊