2010年12月19日 星期日

網誌搬家

請追蹤本網誌的讀者注意!本網誌已經於2010年12月27日搬家,原網誌保留但網址更改為http://ykwang0.blogspot.com/

建議追蹤本網誌(原背景顏色為藍色)者,可到http://blog.ykwang.tw/背景顏色為綠色)重新追蹤。

2010年12月17日 星期五

FJUCam2/VCam的生態系統

近日看到EETimes文章提出一個觀念:Robust Ecosystem=Embedded Success[1,2],意指一個嵌入式系統要成功,必須要能提供完整的生態系統(Ecosystem),例如完整的開發環境、完整的應用、完整的周邊。

我看了後深有感觸,覺得我們智慧型實驗室在發展FJUCam/VCam的方式,就是這樣一個觀念,因此乃撰此文以為呼應。

我們的FJUCam/VCam也有野心要提供Ecosystem,但是是針對Smart Camera概念的生態系統,範圍從軟硬體元件、開發環境、應用等3個方面,都提供完整的嵌入式視覺(Embedded Vision) [3,4] 系統架構。

為何這樣做?因為嵌入式的應用包羅萬象,涵蓋範圍廣泛,尤其是朝嵌入式視覺方向走,則更需要高性能的MCU/DSP來完成。再加上需要高速網路連結、大量記憶體、快速資料儲存傳輸等需求來完成電腦視覺運算,則更難找到適合的平台(含硬體與軟體的整合平台)。

我在大約三年前(民國96年)開始尋找適當的平台。我的目的其實很簡單:有一套效能跟PC接近的嵌入式系統,處理器能在2GHz以上,記憶體需要1G,可以用C語言來開發電腦視覺演算法,能達到至少每秒10張影像的處理效能。

更重要的是,最好學生都不用懂硬體,直接就可以撰寫演算法達到此效能。

我從MCU、FPGA、一路找到DSP,全都失望。不僅效能不夠,絕大部分都不談如何接攝影機以輸入影像與視訊,更有許多都沒有作業系統。

這個探索的歷程,真是一言難盡。

直到98年我才突然醒悟:原來所謂的嵌入式系統,其定義就是「資源有限」。而我們以前在PC上發展電腦視覺演算法,都是本著「資源無限」的觀念來開發。

所幸在98年開始,發現計算機硬體開始有一個新潮流走向:多核心。其效能看來可以有我預期的程度,因此開始有了信心。

再加上Embedded Linux從99年開始大量使用,開發環境趨於普及,開始覺得我們有機會可以做作看了。

但是有了晶片、有了OS,問題仍然存在:我無法讓學生都不用懂硬體,直接就可以撰寫演算法達到良好效能。

原因是:現有的多核心嵌入式開發板,體積大的像恐龍,無法連接各種介面的Camera介面(USB等),有些還要自行編譯或撰寫驅動程式。

除此之外,軟體發展環境複雜的難以接受,一大堆的設定,還要瞭解記憶體規格才能完成設定。我一直都找不到直接就設定好的軟體環境,以供學生自由開發演算法。

後來才又發現:原來多核心這樣一個新的計算機技術,在硬體與軟體層面都是新挑戰。硬體上,板子還沒有人有能力做到非常小。軟體上,還沒有人能將多執行緒平行化的程式庫建立起來。

因此就是還沒有可以用的板子。看來要等人做出來的話,要等至少3~5年。而且還不見得可以適用於發展電腦視覺演算法。

但為何國外的前瞻實驗室,都可以做嵌入式視覺的研究呢?

原來就是要一切自己來。

我忽然醒悟:原來前瞻的研究,軟硬體都要自己來。MIT Media Lab就是如此。這樣創意才不會受限

原來我已經不是單純要做論文或發展演算法而已,我是要朝創意發展。

所以得要自己做板子,瞭解硬體的特點並知道如何發揮硬體效能,然後自己發展軟體程式庫,就可以開始做演算法,並實現創意應用技術。

為做到這樣,我們真的開始建立一個Smart Camera Ecosystem了。

我們面臨的挑戰,是我們必須深入瞭解Camera硬體與計算機硬體的軟硬體架構,拆解其技術成分;然後我們再去尋找各個技術的解答,分析其優缺點,決定自己的規格;最後再再開始自行做硬體與軟體,以發展出我們理想中的軟硬體平台,成為FJUCam。

我們已經有發展一套FJUCam,是以ARM7為核心,運算能力雖然只有60MHz,記憶體只有64KB,且沒有作業系統,但整合了一套C語言程式庫以供開發演算法,可以做人臉偵測與機器人視覺的簡單應用,並且適合應用在Sensor Nework。預計在100年1月會有碩士論文產出,並放在網站上公開其研究內容。

但我們目前也已經開始著手第二代的FJUCam,稱之為FJUCam2/VCam,採用異質雙核心(Heterogeneous Dual-core)的DSP,CPU運算速度可以比FJUCam快10倍:600MHz,記憶體容量高2000倍:256MB,並且可以外接各種周邊。若會撰寫DSP程式再使用其DSP核心,則會有更高的效能。

我們的FJUCam2/VCam目前已經有以下的成果:

1.在軟硬體元件方面,我們開發一個異質雙核心(Heterogeneous Dualcore)處理器的高效能嵌入式電腦。其視訊輸入可以連接3種攝影機介面(Camera Bus、LVBS Video In、USB),並且可以自行組合各種Camera元件(各種焦距距離的鏡頭、CCS/CMOS感測器、Omni-cam、NIR/Thermal Cam [5]、Wearable Cam、Stereo Cam等) [6]。視訊輸出可以用HDMI/DVI連接液晶螢幕與投影機。作業系統方面以Embedded Linux為主,但已經可以有5種作業系統:Android[7], Angstrom, Meego[8], Linaro, Ubuntu。

2.在開發環境方面,我們除整合既有的API/Lib(OpenCV, FFMpeg等),也發展自己的API/Lib: EVK(Embedded Vision Kit)。我們可以依不同的作業系統,建立GNU整套開發環境。我們也整合Qt的視窗程式庫。

3.在應用方面,我們已經有幾組同學,分別將FJUCam2/VCam應用在開發醫療(Medical)、視訊監控(Video Surveillance)、擴增實境(AR)、機器人視覺(Robotic Vision)、3D/Stereo、與行動雲(Mobile Cloud)。

我們認為FJUCam2/VCam是一個高效能的嵌入式視覺平台,是一個經過整合好的硬體、軟體、與攝影機的開發環境,可以讓後續的研究生與研究者不需瞭解太多軟硬體細節,很容易就可以開始實現電腦視覺演算法,並開發創意的應用。

我們在短期內將會陸續有成果產出,並透過網路公開分享給有興趣的研究者。開發環境部分含EVK會Open Source,應用方面會挑選重要者提供Reference Design。軟硬體元件則交由廠商去發展。

我們希望透過這些研究成果,展現ISLab同學的能力,並與其他有興趣者一起來努力,發展嵌入式視覺的研究。

[1] ST Virtual Conference: Robust Ecosystem=Embedded Success, EE Times, December 2, 2010.
[2] From Microcontrollers to Ecosystems, EE Times, December 2, 2010.
[3] Towards Embedded Computer Vision邁向嵌入式電腦視覺,王元凱,blog.ykwang.tw,2010年10月3日。
[4] 嵌入式視覺系列, Part I-嵌入式系統上DSP的發展方向:ISP,王元凱,blog.ykwang.tw,2010年10月9日。
[5] 熱顯像攝影機(Thermal Camera)於FJUCam2/VCam之應用與考慮,王元凱,blog.ykwang.tw,2010年9月5日。
[6] FJUCam2/VCam可以使用的Camera Module,王元凱,blog.ykwang.tw,2010年11月14日。
[7] Android beyond the phone─兼論FJUCam2的下一步Android發展方向,王元凱,blog.ykwang.tw,2010年8月26日。
[8] Meego,王元凱,blog.ykwang.tw,2010年10月5日。

2010年11月14日 星期日

智慧家庭(Smart Home)

我在研究之餘探討智慧家庭已經有十餘年,並在約10年前開始開課講授此概念。如今智慧家庭在各國政府力推之下已經逐漸成熟,台灣走的比較慢,但也開始有一點成果了。本文將簡要說明一些觀念。

智慧家庭,除了將家電上網外,還必須融入家庭的應用,讓家庭生活變得更容易。居家生活不能因為上網設備變多而增加使用複雜度與居家的負擔。因此由數位家庭進展為智慧家庭,是必要的過程。

大約15年前,美國就已經有多所大學與公司在研究家庭智慧化的科技。如Georgia Tech的Aware Home、MIT的House n、Intelligent Room、Stanford Interactive Workspace、UC Boulder Adaptive House、UTA MAV Home、以及TCU的Smart Home。另外,微軟早期的Easy Living,菲立普的Vision of the Future、GE的Smart Home、Verizon的Connected Home等,都已經在構建未來的智慧居家生活願景。

這些都是我在十年前的研究案例,已經算是早期的先驅範例。這些案例觀念的說明可以參考我一個簡要的投影片檔案[1]。

近年來則有各國政府大力推展,美國、日本、德國、英國等都有大型的國家計畫在推展智慧家庭。這些資料可以參考幾篇文章[2-4]。

由於智慧家庭需要倚賴嵌入式系統嵌入到家電中,因此ARM CPU也扮演重要角色,並有專文[5]在探討ARM的嵌入式系統如何作為智慧家庭中各項裝置的CPU。事實上,邇來Google TV與Apple TV的推出,就都是以ARM當作CPU核心。此外,ARM在2010年的ARM大會上,將數位家庭定位為其未來發展的四大方向之一[6].

我於今年11月3日經過數位家庭聯盟的安排,參觀位於台北市的內政部智慧化居住空間展示中心[7],看到內政部建築研究所已經集結多家國內廠商建立一個良好的示範點,並實質蓋了一棟房子來進行常態的展示。

該展示中心有1樓與2樓。1樓為智慧家庭的各項應用情境,包含有入口、玄關、餐廳、客廳、走道、小孩房、主臥房、老人房、浴室等情境。2樓為智慧辦公室的各項應用情境,包含有入口、辦公桌、訪客系統、會議室、簡報室、圖書室、中控室等。

我將這個難得的參觀機會拍照下來,並將80餘張照片投影播放如下。相信可以給本文讀者更具體的概念。



[2] Designing a home of the future, S. S. Intille, IEEE Pervasive Computing, 2002.
[5] ARM Powered Reference Designs for the Digital Home, A. K. Ramachandran, May 2008.
[6] 新一代SOC架構底定,ARM揭櫫四大發展藍圖,鍾榮峰,CTimes,2010/11/18.
[7] 內政部智慧化居住空間展示中心,http://www.living3.org.tw。

從人工智慧到智慧生活

最近到處都聽到「智慧」,從智慧型手機到智慧台灣,台灣經濟與科技業無所不「智慧」。此趨勢令我聯想到大學部一門重要的選修課程:人工智慧。

我自教書以來每年都開設「人工智慧(AI, Artificial Intelligence)」這門課,迄今已15年。課程範圍包含知識表達、專家系統、知識系統、搜尋演算法、代理人、自然語言、機器人、電腦視覺、圖形辨識、貝氏網路等。

在教學過程中我逐漸深入瞭解這門博大精深的學問。除此之外,也更瞭解AI領域之先人與今之學者汲汲營營的目的,其原始動機在於發展讓機器具有智慧的能力,並探索更高靈性層次的研究方向[1-4]。

只是,此門課講授起來,對於學生一直有隔靴搔癢的感覺:過於理論。到底要怎樣才能做出有智慧的機器呢?有智慧的機器,對於人類的生活到底有何意義與貢獻呢?

近來,隨著電機電子與資通訊科技的進步,大家開始認真意識到「科技始終來自人性」、「科技的發展必須要符合人性」。

冷冰冰的科技,開始披上人性的外衣,展現擬人性的親和力。

手機不能只有通話功能,還要有人性化的介面,更具智慧,讓我們更容易操作;iPod,iPhone,iPad的觸控,要簡易使用,透過智慧化計算讓操作更簡單;電腦也不能笨笨的,要能自動連網,各種固網、無線網路都能輕易判斷而自動連結;更要有感知網路,透過RFID、語音、影像等感測器,電腦可以感知環境與人類的狀態,更聰明的與人類互動。

於是,開始有各種的新名詞、新專案、新計畫、新目標推陳出新,莫不提到「智慧」。

濫觴從MIT的Oxygen、IBM的Pervasive Computing、歐盟的Ambient Intelligence等開始。現在IBM野心更大,提出智慧地球,將所有智慧科技的應用概念都含括進去了。

台灣也開始不落人後,推竿邁進,如政府的智慧台灣[5]、四大智慧型產業[6]、智慧電動車智慧綠建築智慧電子國家型計畫(其實是VLSI的智慧化)、智慧醫療、智慧醫院、智慧生活[7,8]、智慧電網、智慧家庭、智慧機器人等,都是龐大的國家級科技執政計畫。

看來台灣政府已經卯上「智慧」了,將來台灣要善用資通訊(ICT)與半導體(VLSI)兩大產業的能量,創造台灣未來在科技業的領導地位,就是要「智慧」。

很高興人工智慧終於從遙不可及的天界降凡人間,成為世俗的普世價值,並將成為所有科技的終極價值


[1] Stork, D (ed) Hal's Legacy: 2001's Computer in Dream and Reality. MIT Press, 1997.
      On-line text: http://mitpress.mit.edu/e-books/Hal/.
[2] Kurzweil, R. ed. The Age of Intelligent Machines. MIT Press,1990.
      Note: An excellent collection of readable introductions and classic research papers,
      coffee-table standard of format and pictures, and absurdly cheap for what it is.
[3] Hofstadter, D.R. & D.C. Dennett, eds. The Mind's I: Fantasies and Reflections on Self and Soul.
     Note: 27 short pieces on the cognitive science end of the spectrum, some science,
     some fiction, all enjoyable to read
[4] Computers and Thoughts, E. A. Feigenbaumand J. Feldman, McGraw-Hill, 1963.
[5] 智慧台灣計畫網站,行政院,2008年12月15日。
[6] 四大智慧型產業,行政院,2010年2月2日。

FJUCam2/VCam可以使用的Camera Module

我們ISLab實驗室目前正發展FJUCam2/VCam板子,以自行發展Smart Camera,並進行Video Surveillance, Robotic Vision, Augmented Reality、Portable Medical System等Embedded Vision的應用。

我們的FJUCam2/VCam是一個高性能的嵌入式系統,仍需要再搭配Camera Module以成為完整的Camera System。本文旨在說明FJUCam2/VCam可與各種不同Camera Module的結合方式。

我們發展的FJUCam2/VCam,,已經有雛形出來,如下所示:
FJUCam2/VCam正面
FJUCam2/VCam背面

可以看到此板子雖然稱之為Camera,但是其實沒有包含光學鏡頭與感測器。因此還需要加上這兩個組件。

至於Camera Module,包含也就是光學鏡頭(Lens)與影像感測器(CMOS/CCD Sensor)與ISP(Image and Signal Processing)[2]都需要另外連接。

將FJUCam2/VCam與Camera Module組合好的硬體,我們稱之為Camera System;若再加上軟體(作業系統、驅動程式、電腦視覺演算法),則我們稱之為Smart Camera

FJUCam2/VCam與Camera Module連接的方式有三種:USB、Composite Video、Camera Bus。以下分別說明之。

一、USB
       以USB來將Camera Module擷取的影像傳送到FJUCam2/VCam,是比較單純的作法,此作法需要搭配OS安裝該USB Camera的驅動程式方能擷取影像,方便之處在於FJUCam2/Vcam的OpenCV可以直接從該驅動程式抓取影像成為IPLImage影像結構的記憶體。
        目前FJUCam2/VCam的主板已經有2個USB介面,可供連接USB Camera Moduel。

        此種作法又有2種差別:

   1. 一體成形的Camera Module
         也就是一般PC上常用的USBCam/WebCam。此種Camera的鏡頭與、攝影機、ISP都已經是一套成形的產品。如羅技(Logitec)、Minoru等Camera都屬於此類,並且已經可以與FJUCam2/VCam整合。
          此種方法的優點是可以快速整合FJUCam2/VCam硬體成為一台完整的Camera,缺點是影像品質較低、解析度較差、只能定焦、可變化性少。

   2. 分離式Camera Module(分別組裝Lens與Image Sensor)
          自己找Lens與Image Sensor來組合成為Camera Module。例如我們ISLab實驗室已經有PointGray等Image Sensor多台,並有Tamron的二十餘顆監控用定焦光學鏡頭,有各種不同的焦距。因此可以自行組合出各種不同的Camera Module。
          Lens與Image Sensor連接的方式,有C Mount與CS Mount兩種。
          分離式方法的好處,在於可以自行組合各種變化的Camera System,如近紅外線攝影機、變焦攝影機、高畫素攝影機等。

二、Composite Video
        此種方式是善用現在市場上大多數Camera Module都已經採用Composite video輸出,因此可大幅擴充FJUCam2/VCam的Camera能力。例如熱顯像攝影機[3]的輸出介面都是Composite Video。
        目前FJUCam2/VCam的主板並未提供Composite Video In的介面,需在第二層擴充版提供。FJUCam2/VCam的硬體架構將在論文發表後,再來撰文說明。
        此種作法的立即好處,是可以讓FJUCam2/VCam直接成為特殊規格Smart Camera,如Thermal Smart Camera。

三、Camera Bus
        此種方式透過OMAP3530的Camera Interface直接將Camera Module的影像以數位匯流排直接傳送給OMAP3530,通常也是使用一體成形的Camera Module,如Miniture camera module[1]。但由於傳輸協定較為複雜,目前FJUCam2/VCam並不採用此種方法。


本文先將FJUCam2/VCam的模組連接方式簡要說明如上。後續會另外撰文說明Smart Camera的觀念,並闡述FJUCam2/VCam與Smart Camera的關連。

[1] Color Camera Cubes, A. Wilson, OptoIQ, 2010/11/1.
[2] 嵌入式視覺系列, Part I-嵌入式系統上DSP的發展方向:ISP,王元凱,2010/10/09.
[3] 熱顯像攝影機(Thermal Camera)於FJUCam2/VCam之應用與考慮,王元凱,2010/9/5.

2010年11月11日 星期四

輔大附設醫院之醫療資訊發展

近日參與輔大醫院的資訊系統規劃會議,有一些心得與感想,特於此撰文說明。

輔仁大學已經經過董事會通過要成立輔大附設醫院,並將於104年完工開始運作。目前已經開始找到醫院用地,就在輔大旁邊;並已經開始著手規劃輔大附設醫院的建築藍圖,並已經尋找各種顧問群,如醫療、資訊顧問等。據聞顧問群約百餘人。

在醫療資訊系統(HIS)的發展上,看來真是龐大的工程,是一個大型的資訊軟硬體整合系統,從門急診、住院、醫療業務、醫務行政、通報系統、電子病歷、醫療照護、健康照護、藥品衛材採購、數位叫號系統、健保IC卡、RFID等,都要整合在一起。

雖然說目前醫療資訊系統已經有成熟的套裝系統可供採購並導入使用,但是看來還有許多發展的空間,如Nursing System、無紙化(電子公文與整套完整之電子病歷)、掛號看診系統等,都仍有發展的空間。

此外,醫院的資訊部門,也有人才不足的窘境,要聘請高品質的資訊人材來撰寫醫院本身相關的客制化軟體,一直都有人手不足的困難。究其因在於資訊專業人材喜於到高科技專業公司工作,一方面薪水高、二方面同儕學習環境完整,因此在醫院的環境要聘請純粹的軟體開發高手,的確有其困難。

因此,輔仁大學資訊相關系所,也許有必要規劃如何輔助人材培育。從資工系、資管系兩系來思考都是可行方式。另外,在醫工領域,除了資訊之外還包含醫學電子設備的人材,醫院許多高中級的醫療級設備,都需要有人維護管理。因此醫工所也是有意義的方向。

所幸今年資工系與電機系已經開始與醫學院合作,成立醫療電子與醫學資訊碩士學位學程,應該可以先打頭陣,開始逐步培養相關人材。

另外,醫院資訊部門的資訊機房建置是甚為關鍵的基礎硬體建設,在光纖網路與異地備援等2個重要觀念上,都要及早開始規劃,甚至應該在醫院大樓的建築藍圖設計時,就開始著手規劃。

另外,醫療資訊系統以資通訊(ICT)概念來講,可以切分為資訊與通訊兩大部分。資訊就是在電腦軟硬體方面,我個人戲稱為HIS的大腦。網路建置包含光纖與無線網路為通訊部份,則是神經。光纖為中樞神經,無線網路為末稍神經,都一樣重要。神經能將資料快速傳送到大腦,足夠的資訊才能進行資訊決策。

但最重要的一點,是要凸顯特色。新醫院雖然萬事起頭難,但比起既有醫院其優勢是沒有包袱,若能及早制訂其發展特色,則其實大有可為。

在醫學方面的特色,輔大早有公論:朝老人醫學方向發展,成為輔大醫學院與醫院的特色。

但是在資訊電子方面的特色呢?我個人認為要結合目前的國家發展方向與資訊電子科技方向。以我個人的看法,有3個特色方向可以思考:

1.Patient Care: 近來國際上醫療的發展,已經從傳統醫療觀念走向Patient Centered的醫療照護(請參考另一篇部落格文章[1]);此外,醫療照護已經為政府訂定的「六大新興產業」之一。在此方向的發展往Patient Care提供服務,方能與國家政策接軌。Patient Care的資通訊可以再分為Medical care與Health care兩個部份。看來在輔大附設醫院的建置過程中,可能先僅先思考Medical care,也就是在醫院建築內建置以病人為中心的醫療照護科技;至於在醫院外的健康照護科技,則會是較低的建置Priority。

2.智慧醫療、智慧醫院:醫院與醫療具有智慧,其實包含很多層面,以加入RFID與無線網路為例,就可以做到智慧化的醫材管理、與行動護理等應用。目前台灣很多醫院僅一點點的在嘗試,輔大附設醫院若能直接訂立此特色目標向前邁進,則甚有可為。另外,搭配政府97年定案的「智慧台灣」計畫[2],以及99年行政院訂定的「四大智慧型產業」[3],其中的「智慧綠建築」與雲端運算子計畫的的「智慧醫療」,都足以提供相關的產業技術發展能量,來作為輔大附設醫院的後盾。

3.雲端醫療:建構醫療雲,在我看來已經是許多雲端運算服務公司的主軸規劃之一,例如中華電信、IBM、微軟、Intel等,都有大規模的雲端運算以建立醫療雲。雖然目前還沒有聽到成功的醫療雲案例,但應該值得輔大附設醫院來思考並朝此邁進。

我之前已經有2篇文章談到雲端運算[4,5]。日後擬另外闢文來談智慧醫療、智慧醫院與雲端醫療。


[1] 資通訊技術與醫療照護,王元凱,2010/10/4.
[2] 智慧台灣計畫網站,行政院。
[3] 四大智慧型產業,行政院。
[4] 雲端運算,王元凱,2010/10/10.
[5] VSaaS,王元凱,2010/10/10.

2010年11月8日 星期一

Sousveillance v.s. Surveillance

近日我們ISLab實驗室的同學提出X-Eye,除了在2010年全國資通訊比賽得獎外,也將於2011年SPIE EI研討會發表一篇論文。我在研究X-Eye與Wearable Vision的文獻過程中,發現這個研究雖然發展二十餘年,但一直沒有固定的關鍵字。後來在Wiki看到Sousveillance[1],覺得是個很不錯的字,因此特別撰文來探討。

要談Sousveillance,要先從Video Surveillance談起。Video Surveillance與Visual Surveillance是這幾年電腦視覺一個熱門的研究題目,從物件偵測/追蹤/辨識、事件偵測辨識、行為分析、視訊摘要查詢等,都是重要的研究方向。但基本上這是一種「監控」人類的觀念,將攝影機置於人類的周圍環境,以分析理解人類的行為模式。雖然在公共安全上是一個不錯的應用,但是以人權與隱私的概念來看,其實頗有爭議。

因此若反過來將攝影機放在人類身上,以第一人稱角度來攝影周圍環境,則頗有自我保護的意味。因此2001年開始有WSD(World Sousveillance Day)[2-5]的活動與聯盟,Sousveillance又可稱之為反監控(Inverse Surveillance),該聯盟堅稱每個人有權利進行反監控的行為,以保護自己。因此將攝影機放在身上,當有警察上門盤詢,則可以照相存證,以防萬一;當開車遇到車禍事端,則拍照以防萬一等等。

從字面上來比較Sousveillance與Surveillance,也可以明顯看出兩者的相對關係。兩個字的字首sous-與surv-分別是法語中的below與above的字義。Surveillance意義為Eye-in-the-sky,而Sousveillance則為Camera-in-the-human。因此sousveillance與surveillance分別可以想像成監控與反監控的相對意涵。

將攝影機掛在身上,應該不稀奇。但若結合Wearable Computer成為Wearable Vision與Augmented Reality,則就有非常多的應用,如旅遊導覽、打撞球、登山、生活日誌等。這樣的電腦視覺分析已經成為一個重要的研究方向,並在CVPR 2009年成立一個Egocentric Vision Workshop[6],專門討論相關的電腦視覺技術理論。

另外,我們以可以從Camera View的角度來區分兩者:Sousveillance是Egocentric View,而Surveillance則是Exocentric View。

Steve Mann有一篇論文[7],專門在探討如何透過Wearable Computing Devices,來達到反監控(Inverse Surveillance),並正式定名Sousveillance。Steve Mann並又在Wiki正式定義Sousveillance的意義[1],可見其有意要推廣Sousveillance成為Wearable Viiosn/Egocentric Vision的代名詞。

CVPR2009用的Egocentric Vision乃沿用電腦視覺常見的Ego-字首,如Egomotion,這是指攝影機會移動時(如機器人視覺所使用的攝影機),所需要的視覺計算演算法。因此在電腦視覺的傳統上比較常用Ego-字首。

但Ego字首在字義上卻有負面的意義:自我。Egocentric的單字其實是「以自我為中心」的意思。

以我個人的看法,我傾向於採用Steve Mann於Wiki[1]提出的觀點:以Sousveillance單字來當作Wearable Vision與Egocentric Vision的關鍵字。

但我認為Sousveillance這個單字本身還沒有加入電腦視覺分析的概念,因此應採用Visual Sousveillance,Smart Video Sousveillance,或Intelligent Video Sousveillance作為關鍵字,以代表「電腦視覺+Camera-In-The-Human」的結合意義。

Egocentric單字,我個人認為可以作為View的差異化說法,也就是以Egocentric View與Exocentric View兩個詞,來說明Surveillance與Sousveillance的攝影角度差異。


文後附上我這一年來有關於Intelligent Video Surveillance and Sousveillance的一份演講稿[8],供對於本文有興趣的人參考。該演講稿包含有關於Surveillance與Sousveillance(X-Eye)的基本研究現況,此外對於我與ISLab同學這幾年來研究成果也有一些介紹。


[1] Sousveillance, Wikipedia.
[2] World Surveillance Day, Wikipedia.
[3] Sousveillance, J. Hofman, New York Times, 2006.
[4] Sousveillance-The Art of Inverse Surveillance, Feb. 8-9, 2009, Denmark.
[5] 世界Sousveillance日,WorldLingo.
[6] First Workshop on Egocentric Vision, 2009.
[7]  Steve Mann, Jason Nolan and Barry Wellman. Sousveillance: Inventing and Using Wearable Computing Devices for Data Collection in Surveillance EnvironmentsSurveillance & Society 1(3): 331-355
[8] Intelligent Video Surveillance and Sousveillance, Yuan-Kai Wang, 2010.

2010年11月2日 星期二

德國之旅─萬里金秋異國情

德國南部旅遊照片集


2010年10月14日~22日參加IIHMSP2010會議,並在德南旅遊,用Canon EOS 550D拍攝不少照片。

行經:法蘭克福、達姆斯塔特(Darmstadt)、海德堡、斯圖加特(Stugart)、巴登巴登、蒂蒂湖、新天鵝堡(阿爾卑斯山北麓)、慕尼黑、紐倫堡、烏茲堡等地,並在萊茵河遊河。

我將值得紀念的漂亮景色做成一張拼貼照片:



此次團體旅遊沒能對德國歷史古蹟進行深入瞭解,是一憾事。

照片紀錄主要針對精緻動人的小品,與壯麗風景的留念為主。最深刻的感覺是德國秋天風景美的令人心醉神怡,可借用宋詞蘇幕遮(范仲淹)來形容:碧雲天,黃葉地。秋色連波,波上寒煙翠。山映斜陽天接水;芳草無情,更在斜陽外。

以下則是約四百張照片的投影播放:




2010年10月11日 星期一

以Web Camera來量測脈搏

今天看到一則令我萬分驚訝的新聞[1]:MIT的博士班學生可以用Web Camera來量測人的脈搏,未來還要朝量測呼吸、血壓與血糖研究。

這真是驚人的研究成果。

系統運算方式如圖所示:人站在鏡子前面,鏡子上方有一個小洞即為攝影機,然後經過數學運算量測到脈搏為每秒66下後,顯示在鏡子下方。



依我目前對於生理訊號處理(Biosignal)的瞭解,脈搏、血壓與血糖等生理訊號,都是用壓電感測器黏貼在身上才能量測出來。這樣的方式,稱之為「侵入式」量測。

但是用影像辨識來量測,則可以達到非侵入式。

這個方法[2]是以人臉的血流速度來量測脈搏。方法是用人臉偵測(如Adaboost)來偵測人臉,然後將人臉部份的影像的RGB值分別取出來進行Blind Source Separation分析。

聽來簡單,但人物移動、光線變化都會影響影像量測結果。

聽到此研究成果,直覺是影像辨識技術又往前邁進了一大步。值得我們來研究看看。

1.  MIT team develops system for continuous medical monitoring, use only widely inexpensively video technology, MIT media relations, Oct. 4, 2010.
2.  Non-contact, automated cardiac pulse measurements using video imaging and blind source separationMing-Zher PohDaniel J. McDuff, and Rosalind W. PicardOptics Express, Vol. 18, Issue 10, pp. 10762-10774 (2010)  

2010年10月10日 星期日

VSaaS: Video Surveillance as a Service

承接前文雲端運算的概述,本文將以視訊監控為主題,來談談雲端運算與視訊監控的結合:VSaaS。

VSaaS就是以SaaS的架構來提供視訊監控的功能,因此所有視訊監控的演算法都在Server端執行。

但藉由雲端運算虛擬化Utility Computing分散式運算,因此使用者可以不用採購完整的視訊監控設備,僅需以「月租」方式隨用隨租,有如第四台的租用以及手機電話號碼的月租使用方式一樣方便。此又稱之為”Pay-as-you-go" Service。

另外在使用端,提供Web-based management、Online Video Recording(OVR)、Access Anywhere、Scalable等功能,使用者的使用變得非常方便。

[1]是一篇不錯的文章,對於VSaaS的觀念、架構、使用者效益、保密等議題,都有深入的討論。

目前已經有一些歐美公司即以此VSaaS概念來進行視訊監控的租用服務,如:
1.www.brivo.com:是一家有趣的公司,從2001年開始即以SaaS架構提供Access Control的功能。
2.http://securitystation.com/:一家英國公司,提供每台攝影機每月5塊前歐元的月租費,就可以線上錄影(OVR)、以瀏覽器直接觀看(Live View)、以手機觀看(Mobile Access)。在其網站就可以隨時開設帳號使用,也可以隨時將帳號關掉停止租用。

另外如SecurityPark, NEOVSP, VideoCells也都是 VSaaS公司。

IPVideoMarket有一篇文章[2]針對2009年的22家VSaaS公司進行技術面的評比。另外也有一篇文章搭配Youtube video[3]說明VSaaS。[4]則針對Cloud Computing在Video Surveillance的影響進行廣泛的討論。


對於使用者,特別是居家的個人、中小型企業等,使用VSaaS有很多的優點,其中最重要的應該是可降低TCO(Total Cost of Ownership):不用購買整套監控設備、安裝、並且長期維護,降低擁有成本。

對於大型企業,尤其是有分開在多個地區的單一企業,使用VSaaS也有好處:系統管理方式統一、隨時可以擴增視訊監控系統規模。

在[1]中提到,目前VSaaS雖然有許多好處,但仍有許多的問題與顧慮,因此技術與市場都還在持續發展中。其中有一項技術發展是加入Video Analytics。

換句話說,目前VSaaS雖然已經有許多成形的服務,但是Video Analytics尚未正式加入VSaaS成為主力軍。

在研究面而言,我認為要將Video Analytics,如移動物件偵測追蹤、物體/人臉辨識、事件偵測、視訊查詢等功能加入雲端運算,需要採用Parallel Computing的架構。也就是說,需要將原本的演算法改以Cloud Computing中的Parallel Computing/Programming方法來改進,以達到移植目的、達到Multi-tenancy並加速演算法速度。

目前Cloud Computing的平行運算方式,學術研究常見的是MapReduceCUDA/GPGPU兩個作法。因此要在VSaaS的研究方向,應朝這兩個方向思考。

1. Cloud Computing and SaaS-an overview for security professionals, by ASIS International, 2010.
2. VSaaS Comparison 2010, IPVideoMarket .Info, June 22, 2010.
3. VSaaS Hosted/Managed Basics IPVideoMarket .Info, Aug. 22, 2010.
4. Hosted Video: What is in our cloud?  S. Surfaro, SecurityInforWatch.com, Nov. 24, 2010.



雲端運算(Cloud Computing)

近來雲端運算(Cloud Computing)成為科技顯學,促使我開始思考我的既有研究方向與雲端運算的關連;加上近來有演講邀約要談雲端運算在影像辨識的應用,因此促成我撰寫本篇文章的動機。

先談雲端運算的定義

美國的NIST(Natioal Institute of Standards and Technology)將Cloud Computing定義[1]為:

Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. This cloud model promotes availability and is composed of five essential characteristics, three service models, and four deployment models.

其中最常被引用的定義是3個Service Model與4個Deployment models。3個服務模式為:Software as a Service(SaaS), Platform as a Service(PaaS), Infrastructure as a Service(IaaS)。4個營運模式為:Private cloud, Community cloud, Public cloud, Hybrid cloud。[2]則對此有更清楚的描述。

後來科技業界對雲端運算的定義,大致都以此為依歸。舉個例子而言,一般人用Google mail, Google Apps等都算是SaaS;Google App Engine則屬於PaaS,IaaS則可以傳統IDC機房的Web hosting/Virtual Hosting主機代管來當例子。

在學界而言,尤其是資訊科技的研究者而言,雲端運算包含了許多的研究題目與方向。R. Buyya在2009年的一篇論文[3]則將雲端運算定義如下:


``A Cloud is a type of parallel and distributed system consisting of a collection of inter-connected and virtualized computers that are dynamically provisioned and presented as one or
more unified computing resource(s) based on service-level agreements established through negotiation between the service provider and consumers.''


以我個人的瞭解而言,雲端運算的研究方向可以MapReduce分散式運算技術與虛擬技術(Virtualization)為代表。




我對雲端運算的瞭解與看法

自2009年我開始接觸雲端運算(明年十大科技趨勢雲端大紅,工商時報),我對雲端運算認知的歷程經過了3個層次:1. 既有IDC技術舊瓶裝新酒,2.既有許多技術的大整合,3. 逐步往SaaS與HPC(High Performance Computing)邁進。

1.既有IDC技術舊瓶裝新酒

    初瞭解雲端運算,以為就是十餘年前 Dot Net (Internet剛竄起來時的俗稱)大紅大紫時,與朋友一起玩過的IDC機房(Internet Data Center):不過就是放一堆Server在一個集中式的房間,以提供上網、網站伺服器等服務。
     曾經我也認為Google Search不過是Search技術配上大筆錢建置的IDC機房所建構而成的。

2.既有許多技術的大整合

        接著在今年初接觸MapReduce,Hadoop,Windows Azure,Google Apps,Google App Engine等,才開始瞭解原來雲端運算是IDC純硬體觀念的再進化,必須運算很多的軟硬體觀念。包括有虛擬化(Virtualization)、Grid/Cluster/Distributed Computing、Web 2.0等。

       在軟體上,首先是虛擬化這個創新的技術推動了雲端運算往前邁進。雲端運算在IDC機房概念時,每台硬體各自為政,硬體資源互不通用,造成資源浪費外;通常系統管理者也無法將各種儲存設備、網路設備、記憶體資源與CPU運算資源互相混搭使用。但是在虛擬化技術下,這一切都變的簡單。
       更有趣的一點,是透過虛擬化技術,可以達到Utility Computing,即每項運算需求,都可以透過虛擬化客製化並計量化,造成在產業上有可行的商業模式:IDC機房有充足的各種網路運算資源,顧客可以用「租用」的方式來租用運算資源,有如租用水電、瓦斯、第四台、電話等,每月按照使用量來付租金。要用時就租用,不用時就停租,使用者也不用花錢購置水電瓦斯第四台語通訊設備,因此也不用再購置大型電腦等運算設備,簡易租用即可。

       而當有些運算的租用超過一台大型主機的負荷時,就需要再整合Grid/Cluster/Distributed Computing技術。透過多台主機以網路共同進行一項大量運算。例如Google Search,就是用其MapReduce技術來達到快速的搜尋運算。因此近幾年來有許多人研究Cloud Computing,其實是在研究MapReduce技術的改良與應用。由於MapReduce其實可看成是一種Parallel Computing的新程式設計方法(Parallel Programming),因此Parallel Computing研究者對於MapReduce有著極高的興趣。目前關於MapReduce實做的Open Source以Hadoop為代表,透過Hadoop來研究Cloud Computing可說是一個極方便的入門方法。

       至於台灣在雲端研究方面的活動,則由國家高速網路與計算中心(NCHC)多年前開始進行基礎研究,除成立一個「雲端運算技術與應用聯盟」外,也舉辦非常多的課程與演講,並設置一個NCHC Wiki網站放置有關雲端運算與Hadoop的資源。資策會與工研院除分別成立運端運算中心外,也組成一個「台灣雲端運算產業聯盟」。至於學術研究方面,國科會則預計在2011年新成立資訊學門三,以雲端運算為重點。此外,原「台灣格網計算學會」也從2010年更名為「台灣雲端計算學會」。

3. 逐步往SaaS與HPC(High Performance Computing)邁進

         在Cloud Computing Continuum的延續性觀念上,Cloud Computing其實是從IaaS演化到Paas,接著再演化到SaaS[4,5]。根據Gartner 2009年的市場預估,SaaS年成長率22%,到2011將有25%的軟體是以SaaS方式提供服務。另外Gartner在2008年的市場調查則指出SaaS發展可能的障礙來自於效能、客戶服務、穩定度與風險管理等4大因素。2009年底的調查顯示目前美國對於SaaS的接受度高於英國。
Cloud-continuum1
        在SaaS的應用上,雲端運算開始變得應用化,也多元化。例如Saleforce.com的CRM;也有一些公司以雲端運算技術提供更簡單好用的網路硬碟(http://syncplicity.com/http://www.sugarsync.com)。
         影像辨識的系統對於雲端運算而言可視為SaaS。例如以雲端運算技術來提供簡單使用的視訊監控功能,就稱之為VSaaS(Video Surveillance as a Service)
         但是在雲端進行影像辨識的運算,需要大量的資料運算,又稱之為數位訊號處理(DSP),由於影像與視訊的訊號量非常龐大,因此需要平行運算,也需要高性能的運算技術(High Performance Computing)。
          雲端運算朝向多媒體的應用提供簡易的雲端服務,並且透過HPC來達成,此結合的趨勢看來將是未來雲端運算的研究重點。


本文先簡單談談雲端運算的概念,後續另外闢文再詳談影像辨識與雲端運算的關連。


[1] NIST Definition of Cloud Computing, see http://csrc.nist.gov/groups/SNS/cloud-computing/cloud-def-v15.doc.
[2] Understanding Public Clouds, by Keith Pijanowski, 2009.
[3]  Cloud computing and emerging IT platforms: vision, hype, and reality for delivering computing as the 5th utility, by R. Buyya, C. S. Yeo, S. Venugopal, J. Broberg, I. Brandic, Future Generation Computer Systems, vol. 25, 2009.
[4] The Cloud Computing Continuum – Sometimes Simple Explanations Are Best, by B. Kepes, 2009.
[5] Paas and Cloud Continuum, by G. Davis, 2009.



正其誼不謀其利,明其道不計其功

東漢班固的「漢書董仲舒傳」:「仁人者,正其誼不謀其利,明其道不計其功。」

此言意謂做任何事情應該匡扶正義,以眾人利益為主,而非為一己的功利做打算;把真相闡明時,卻不自己邀功。

老師是否應該為自己的升等而汲汲營營呢?若如此,則不為學生謀其利。

當學生有優良學習成就時,是否要強調是自己的功勞呢?若如此,則不為學生計其功。

謹以此為惕!

教授能賺多少錢?

近來為了女兒要念社會組,我開始勤看報紙的社會新聞,並將一些具有爭議性的新聞拿來討論,以促使其有更廣博的社會知識與個人看法。

前陣子看到一篇文章:年收入賺翻未必能幸福(工商時報,2010/9/8),便與女兒討論。此篇文章是諾貝爾獎得主Daniel Kahneman與美國普林斯頓大學經濟學家Angus Deaton研究2008年與2009年的蓋洛普幸福指數(Gallup-Healthways Well-Being Index)得到的結果,年收入的門檻在7萬五千美元。

沒想到她反問一句:那當教授能賺多少錢?這個尷尬的問題令我當場愣住。

我的回答是,當教授的薪水可能不能達到文章中的幸福上限,但足夠我們家滿足的過日子,我們應該感到幸福。

過了幾天,我再看到另外一篇消息世界富人大增4成(2010/9/28)。美林證券對於富人的定義,是要有可理財投資的閒錢100萬美元以上,才稱之為富人。

從種種社會定義來看,教授果然不是有錢人。

但是也許應該這樣問:當教授是否能幸福?

只是,我想這樣問依然太膚淺。由現在的社會現像與個人經驗來觀察,幸福豈是與金錢或職業有關。近幾年也聽到一些教授自殺、過勞死,更不乏有教授不斷在抱怨工作的辛勞。因此,我深切以為每個人的內心想法才是幸福的關鍵。

只是這樣的想法可能太深奧。

因此另外從統計的角度來看,我可以這樣簡單來說:當教授自主性高,薪水穩定,因此就「機率」上來講,比較幸福。

對照今年發生另外一件事情:教育部已經決定大學教授薪水可以彈性提高。雖然這是已經經過多年的爭論後的政策決定,但依然有反面的意見(凡事不能只談錢,洪蘭,聯合報,2010/9/29)。

對於知識份子,錢的確不代表一切。自主、尊重、對真善美聖的追求,才是更高的心靈層次問題,方是開啟幸福的金鑰。

除了有金鑰外,還需要找尋開啟的銅門。這要從大學老師「研究」與「教學」的兩個重要職責來談。

研究是職責要求,其過程是獨立而孤寂的;並且研究必須不斷創新超越,因此以幸福感的定義來講,研究僅能得到短暫的幸福,而非恆久的幸福。

我個人認為大學老師若能有幸福感,其幸福應來自教學的成就,也就是學生在學習後的回饋。今年教師節看到美國第56號教室的雷夫老師來台灣的相關新聞(給孩子的第一堂課:良好品德,2010/9/28)(全美教師獎雷夫:成績不能評斷一個人,2010/9/29),心靈深處有很強的悸動。

雷夫能夠持之以恆的從教學中得到成就,我個人相信他一定認為自己很幸福快樂。只是從新聞的文章中,我看到一個值得省思的問題:老師在教學過程中,常會遇到很多的挫折,此時老師的幸福感就會不斷降低。但是若能堅持下去,不放棄孩子,關心他們,則應該能看到孩子的進步。我相信這時將會是老師幸福的開始。


最後,我得老生常談一句:常看到報紙電視的社會新聞在強調或炒作奢華的意識型態,因此現今有些年輕人不知不覺也崇尚富有奢華的生活風氣,價值觀傾倒。

我很慶幸能透過一些社會新聞的文章,告訴女兒金錢與價值的觀點,自己並且也重新省思當老師的意義。



2010年10月9日 星期六

嵌入式視覺系列, Part I-嵌入式系統上DSP的發展方向:ISP

我預計以一系列文章來說明Embedded Vision嵌入式視覺的概念,也就是在嵌入式系統上面發展電腦視覺(Computer Vision)與影像辨識(Image Recognition)的方法。

本文為該系列文章的第一篇,先從DSP開始,說明ISP此名詞的意義,我並且將自行定義Special-Purpose ISP與General-Purpose ISP,最後並將說明General-Purpose ISP常見的三種開發方式。


從DSP到ISP

DSP(Digital Signal Processing)嵌入式系統是一個大題目,難以講清楚,因此我將縮小其意義與範圍來論述之。本文中我將說明嵌入式系統上的DSP概念,近年來已經逐漸朝向ISP(Image and Signal Processing)發展。

1D/2D/3D訊號處理

DSP的歷史太久了,其意義又太廣泛。單純的DSP是泛指各種訊號處而的方法、演算法、軟體與硬體。DSP的名詞與觀念,應該從有數位系統以來,就開始有數位訊號處理的領域出現了,最早是先從語音訊號的處理開始,後來廣泛應用於通訊、影像處理、生醫訊號處理,現在則有更廣泛的應用與意義,如地震等訊號的數位處理。

訊號可分為1D與2D、與3D幾種。1D訊號可以語音、通訊、生醫、地震為例。2D則為影像(Image),從可見光影像、高頻電磁波影像(X光等)、低頻電磁波影像(紅外線、超音波)等都可稱之,其訊號處理運算量大,但應用範圍比1D來的更廣泛。3D則可以視訊(Video)做為代表,也就是連續的影像,因此又時又稱為Image Sequence,其運算量比單張影像更巨量,理論難度也更高。

嵌入式系統原來的運算資源非常侷限,CPU較慢、記憶體少量、周邊少,因此傳統的嵌入式系統都是以1D訊號為主,在電子電機則應用在控制與通訊的訊號處理。

ISP: Image and Signal Processing

由於現在的訊號處理幾乎都是在數位系統上進行,因此DSP的Digital一詞已經沒有意義。此外,DSP在傳統上幾乎是泛指各種1D訊號的處理。因此近年來出現一個新名詞:ISP,以與DSP做區分。

ISP的發展,有其歷史軌跡。近10年來,由於VLSI與SOC的進步,數位系統的晶片有大幅進步卻同時縮小化的進展,使得現在的嵌入式系統可以在低價位的情形下,提供高速CPU、大量記憶體、更多的周邊控制,甚至可以有多核心的Processor。在此進步下,嵌入式系統已經開始朝多媒體邁進,增加影像與視訊等2D/3D訊號的運算,以擴大應用範圍。手機從Feature Phone進展到Smart Phone就是一個明顯的例子:體積約略不變,但現在已經可以提供500萬以上畫素的相機,並進行壓縮、處理與視訊傳輸。

因此Smart Phone的CPU,就可稱為ISP的晶片,因為其DSP的運算速度已經可以到2D的處理能力,當然也可以進行1D訊號處理,因此稱之為Image and Signal Processing的晶片並不為過。

另外,近年來有許多的IC Design House也自行設計ISP專用的晶片,亦稱為ISP但全名為Image and Signal Processor。此類ISP,多用來指擴加的影像處理功能的CMOS晶片。

ISP的兩種型態:Special Purpose v.s. General Purpose

ISP的名稱還沒有被廣泛使用,因此這個專有名詞尚未得到廣泛的使用。此外,目前也尚未有人將ISP進行分類。

此處我根據個人經驗,我自己將ISP區分為兩種型態:General-Purpose ISP與Special-Purpose ISP。

Special-Purpose ISP是指晶片上已有固定影像處理功能的晶片,由於功能固定,因此多使用在已經成熟的大量市場,如手機Camera、數位相機、USB Camera、Notebook/Netbook Camera等。這些攝影機的功能大約都相似,如2A(AE/AWB,自動曝光/自動白平衡)等,以提供使用者簡易使用的功能,並且不需要再使用軟體來調整影像品質,例如Omnivision的CMOS晶片(如OV9655)即是如此。此外,有些甚至開始加入3A(2A加上AF自動對焦)等原本數位向機才有的Image Processing Pipeline[1-3],甚至加入WDR/HDR(High Dynamic Range/Wide Dynamic Range)、人臉偵測等。另外學界也有許多論文在探討各種ISP硬體的實做方式[4-5]。

但是Special-Purpose ISP不能再自行改進ISP演算法,其為ASIC,ISP的功能都是固定的,因此不適合學界進行論文研究,僅適用於已經成熟大量但需要低價的產品來使用。

若學界要在嵌入式平台上進行ISP的演算法研究,則需要General-Purpose ISP。例如採用High-end ARM、Extreme DSP或FPGA的平台來作為ISP演算法的研究。

General-Purpose ISP的三種開發方法

High-end ARM是指高階適合用於多媒體的ARM晶片,以ARMv7的最新架構為例,其具有兩個協同運算器(Co-processor)以加速訊號處理:1. NEON media coprocessor,可有多路SIMD加速平行運算,以及2. VFP浮點運算器,因此適合於ISP演算法的發展。以ARMv7-A 架構為例,目前有Cortex-A系列的A8與四核心的A9、A15。Apple iPad, iPhone 4iPhone 3GS, Motorola的Droid X, Nokia N900等都是使用Cortex A8。這些Smart Phone/Portable Device具有足夠的CPU處理速度(600MHz~1GHz),以執行ISP的運算。但這些現成的可攜式裝置內已經安裝有許多軟體佔用掉CPU資源,因此實際可用的CPU處理速度應不到400MHz。若要使用全部的ARM Cortex A8運算量,可使用開發平台,如TI OMAP 3xxx, Beagleboard, Gumstix等。

Extreme DSP此名詞意指高階DSP並且有特別的Video IO周邊介面設計之晶片與平台,例如TI DaVinci或OMAP。這些DSP除了時脈至少為400MHz以上外,其晶片已經內含Composite Video IO、USB控制器,可接S-video、DVI/HDMI數位影像輸出裝置,並且可以外接高容量儲存裝置如硬碟、SD等。這些Extreme DSP已經有許多的開發平台。

FPGA則這幾年開始朝向多媒體發展,因此逐漸有許多FPGA開發平台外加Video IO,並提供影像與視訊處理的IP Core。以Altera為例,其DE2系列之開發平台就已經包含非常豐富之視訊輸出入介面與儲存裝置介面,並提供VIP(Video and Image Processing) Megafunction,可進行色彩模型轉換、濾波器等基本影像處理功能,最近也有一個IP Camera的reference design。Xilinx也有Video Starter Kit(Vertex-4Spartan 3A),其功能與DE2類似。另外Xilinx也提供更多的視訊與影像處理IP,甚至有Video Analytics的IP。

CPU、DSP與FPGA三個ISP的嵌入式發展方向,其難易度並不相同[6]。Embedded CPU開發方式與PC相似,也可以用C語言,因此最簡單。DSP開發方式可用C語言,但需瞭解DSP訊號平行運算的程式指令,方能得到高速處理效果,因此需瞭解DSP硬體觀念才能寫出好的ISP程式,難度次之。FPGA則需要以Verilog或VHDL來開發,C語言(System C或SA-C等)的開發方式仍有其困境,目前成熟度尚待改進;因此FPGA的開發需要很清楚的硬體架構設計觀念,難度最高。

我現在三個方向都有在嘗試[6],並期待逐漸建立一些研究成果。目前嵌入式視覺的研究概況,則可以參考[7]。

下篇文章將延伸說明ISP的觀念,繼續說明在嵌入式系統上進行影像辨識開發的觀念:Embedded Vision。

[1] Color Image Processing Pipeline, by Ramanath, R.; Snyder, W.E.; Yoo, Y.; Drew, M.S.; IEEE Signal Processing Magazine, vol. 22, no. 1, pp. 34-43.
[2] An Introduction to the Digital Still Camera Technology, A tutorial by M. Mancuso and S. Battiato.
[3] Design Considerations for Color Image Processing Pipeline for Digital Cameras, by Wen-Chung Kao; Sheng-Hong Wang; Lien-Yang Chen; Sheng-Yuan Lin; IEEE Transactions on Consumer Electronics, vol. 52, no. 4, pp. 1144-1152.
[4] Coarse-grain reconfigurable image signal processor for digital still camera, Chen, J.C.; Chun-Fu Shen; Shao-Yi Chien, IEEE Int. Symp. Circuits and Systems, 2006. Online [Available]: http://ntur.lib.ntu.edu.tw/bitstream/246246/200704191001112/1/01693599.pdf
[5] Search IEEE Explorer, http://ieeexplore.ieee.org/search/searchresult.jsp?newsearch=true&queryText=.QT.image+signal+processor.QT.&x=0&y=0
[6] 邁向嵌入式電腦視覺,王元凱,2010年10月3日。
[7] Embedded Computer Vision研究現況,王元凱,2010年10月3日。





2010年10月5日 星期二

MeeGo

2010年出來一個新的可攜式裝置作業系統:MeeGo。它是Open Source,看來也可以作為嵌入式系統課程的學習對象,也許可以作為輔仁大學智慧型系統實驗室FJUCam2/VCam的Embedded OS平台。

本篇文章將來探討MeeGo的特點與性質,藉以分析其為何MeeGo可能可以作為本實驗室的Embedded OS平台。

MeeGo is YAOS(Yet Another OS)?

但初看到MeeGo的新聞,一般人會認為:MeeGo不過是YAOS,另外一個 Embedded Linux而已。因為在手機與平版電腦市場,隨著Google Android,Apple iOS,以及Nokia的Symbian的盛行,一般人已經很難再想去用其他的Embedded OS了。

但其實不然。

原因是此作業系統是由Intel 與Nokia兩大公司合作。以該兩家公司聯手的實力,有機會與Google、Apple的作業系統來一較高下,因此MeeGo在目前的情況下還是有機會勝出。

此外,MeeGo也非全新的作業系統,而是由兩家公司已經穩定的一些前身組合而來的。換句話說,MeeGo = Intel Moblin + Nokia Qt。因此,MeeGo要迎頭趕上Google與iOS的佔有率,也是有機會。

以下分別從Intel與Nokia兩個方面來說明。

Intel Moblin

話說Intel其實早在多年前,就開始有打算脫離WINTEL的架構,也就是WIndows + INTEL CPU的PC電腦產業架構。尤其是在手機、Netbook部分這類的可攜式裝置,微軟的WinCE、Windows Phone市場佔有率都表現的不理想,因此Intel在可攜式裝置上,早有Computing continuum strategy,也就是學界稱謂的Ubiquitous computing。在此方向上,Intel早有意採用Linux。

因此,Intel其實一直都有支援Open Source Foundry,所以也有多年的Linux Open Source基礎,並在2007年推出x86架構的Embedded Linux,應用於Intel Atom,也就是Intel要放在所有可攜式裝置上的省電型CPU。該Embedded Linux是從Ubuntug改良而來,稱之為Moblin作業系統,並實質使用於2007年在Atom的產品,如ASUS EeePC

因此MeeGo其實可以視為Moblin的下一代,其目標將用在Intel的可攜式CPU上面,尤其是Atom,因此Intel對MeeGo的期待,是要廣泛使用在Tablet、Smart Phone、Netbook、以及TV。

關於Nokia與Qt

至於Nokia,其主要的手機仍採用Symbian,因此其策略主要是將Qt與Moblin結合成為MeeGo,也就是將Qt當作MeeGo的GUI與UX(User Experience)核心。Nokia在前幾年併購Trolltech後,將Qt大幅整理,使Qt也成為Open Source的一員,但另外也有商業版作為Nokia的產品

Qt的歷史淵源跟Apple的iOS也有關,iOS的GUI介面程式庫,其實也是從Qt改良而來。

換句話說,Qt其實是Linux與Embedded Linux上眾多GUI Library中,效能與功能最出色的一套SDK。以往Qt不被Open Source User支持的原因,只是因為Qt不是Open Source,因此受到部分Linux & Open source社群的抵制,使得Linux/Embedded Linux上的GUI到去年都呈現多家耕耘的混亂局面。

但是自從Nokia將Trolltech買下來並在去年公布Qt的Open Source版本後,Qt已經呈現主流的態勢。根據個人的猜測,在Qt將會逐漸成為Linux Open Source上主流的GUI與UX,取代GTK等Linux GUI Library。並且Nokia也會在Qt上面增加小尺寸螢幕的UX,使的Qt適合從大尺寸螢幕的PC到小尺寸螢幕的智慧型手機。

也因此,我們實驗室在2009年時,即做了一個重要決定,在GUI介面上為求跨Windows、Linux與iOS平台,我們將使用Qt。

MeeGo的架構

以下是其兩個重要的架構圖。詳情請參考IEEE 2010的論文[1]。

MeeGo的架構圖


Qt的架構圖


採用MeeGo的好處

依據我的觀察與思考,對於本實驗室而言,使用MeeGo比起使用Android與iOS,有以下3個好處。

1. 可以跨CPU平台
     雖然目前在手機上的CPU以ARM為主流,但是Intel的ATOM其實也有機會在可攜式裝置上佔有一席之地。因此若使用MeeGo,其好處在於將來本實驗室的演算法與EDK,可輕易同時在兩種CPU架構中使用。

     MeeGo在ARM的支援,要從Nokia來看。目前Nokia多款Smart Phone都是採用TI OMAP,例如N900就是使用OMAP3430。因此可以想見,將來MeeGo在Nokia的支援下,在OMAP晶片的支援會非常快速而完整。

     由於我們的FJUCam2/VCam是採用OMAP系列或由其延伸的DaVinci晶片,因此在硬體平台相容度下有良好的利基。

2. 可以跨多種尺寸的可攜式裝置
     目前Android 2.2版以下主要的問題,在於無法用在超過5吋螢幕的可攜式裝置。因為Google對於Android的方向設定,一直是以Smart Phone為目標。只因Apple iPad出現打亂了Google Android的佈局方向。

     雖然Android 3.0版預計要解決此問題,但僅能等到2010年底/2011年才能看到確實的作法,目前還不清楚其詳細作法。詳情可以參考另外一篇文章

     另外,目前Google還有Chrome的作業系統,並以5~12吋螢幕的可攜式裝置為主。將來Google要如何結合Android與Chrome,成為一套作業系統,其策略我還不是很清楚。在Android前途渾沌不明下,即便業界都很難決定要如何再繼續使用Android做為平台。

3. 介面移植容易
    另外在演算法層面的移植性來看,我們在MeeGo採用Qt GUI介面,有利於在PC Windows與PC Linux上移植影像辨識演算法。

     因為我們發展影像辨識方法的過程,是先在PC Windows上進行演算法的研究,經過研究與詳盡的實驗確認方法的有效性後,才開始將其程式碼做速度的最佳化,並移植到PC Linux與Embedded Linux。

     在這樣的過程中,我們都需要視窗介面。若能在一開始PC Windows環境時就使用Qt,則移植到PC Linux與Embedded Linux的困難度與陣痛期可以大幅降低。

      至於Android,則被限制要以Java來開發介面,因此必需採用JNI(Java Native Interface)架構來連結Java與C語言,對於以C語言當作Native Language的影像演算法開發者而言,實在是多了一層門檻與痛苦。也降低開發與移植的速度。


然而問題在於

我們還不清楚MeeGo的詳細特點與缺點。這要實際經過使用、移植與測試後,我們才能確定。另外也還要觀察Android與iOS的進展。至少還要再觀察半年後三個作業系統的消長,再來斷定。

目前我們實驗室在PC Linux,已經有Fedora、CentOS與Ububtu的能力與經驗。在Embedded Linux,則有Angstrom、Android的經驗。目前將試著移植MeeGo,並瞭解其優缺點。

半年後再來評估優劣得失。

[1] Introduction to MeeGo, by S. Schroeder, IEEE Pervasive Computing, vol. 9, no.4, 2010.



2010年10月4日 星期一

資通訊技術與醫療照護

這幾年開始執行一些醫療電子相關的研究計畫,開始對於此應用有些瞭解。濫觴應該從96年與兩位輔大資工系老師一起提出一個「電子資訊輔助科技於醫療照護之研究」整合型計畫開始,已執行3年。於是我開始與輔大醫學院老師、新光醫院醫生開始互動交談,逐漸瞭解電子資訊科技可以發揮的地方。

接著更在今年(99年)提出兩個整合型計畫。第一個整合型計畫是國科會整合型計畫,我並以「以視覺為基礎之睡眠障礙分析」這個非常有趣而前瞻的題目來進行研究;另外3個子計畫則是進行EEG、居家照護中介平台、居家睡眠服務之安全等研究方向;該計畫已經通過,並正在執行中。第二個整合型計畫則是輔大整合型計畫,結合理工學院(電機工程系、資訊工程系)9位老師、醫學院2位老師、民生學院1位老師、以及文學院1位老師等共13位老師,進行更廣泛的原居老化的居家照護研究。

根據我的瞭解,「醫療」與「照護」原來是兩塊不同的研究領域、思維也完全不同。醫療以醫生、醫院為主,照護則是以病患、居家社區為主,因此兩者在各種醫學的治療管理層面都有很大的差異。例如傳統的Medical Imaging研究,以X-Ray、超音波、MRI、fMRI、CT、PET等,都是在醫院的昂貴設備,以利進行高準確率的診斷。但是居家社區則是以照護概念為主,將許多可攜式小型化的設備放置在病患居家環境,如血糖計、血壓計、血脂計等,協助病患進行長期的自我健康管理,降低社會醫療成本。

常聽到許多「跨行」到醫療電子研究的教授談起,從事此研究多是看在醫學相關期刊的SCI Impact Factor很高,但開始研究後卻發現很難有具體的產學合作實務成果。因為當一個醫學電子資訊科技的研究成功後,最後都是要放到醫院,除技術障礙等級很高外,產品還需要經過美國FDA或歐盟EMA曠日廢時的認證,根本不是台灣電子資訊業願意踏入的領域。

雖然「醫療」這塊不行,但是「照護」這塊看來是台灣可善用電子資訊科技強處的地方。

因為居家照護的觀念,是以病人為主,這些可攜式裝置並非以診斷治病為主,而是以健康照護為主,因此概念不同,產品性質卻與3C產品接近,台灣很容易切入。

所以近年來台灣不論是政府、學界與產業界都已經大幅投入。政府的六大新興產業的其中兩項:醫療照護與智慧型家庭,都與此有關。經濟部有非常多的科專計畫,都在輔導鼓勵進行。而學界的教授則在國科會一些主題型計畫的帶頭下,也紛紛洗頭下去。產業界方面,也有非常多的大新聞與小道消息,說台灣的一些電腦廠商、IC廠商、系統廠商、電信廠商都已經在鴨子划水。

我在4年前開始Survey 醫療照護時,大部分是以美國的研究資料為主,來引用並作為計畫書的背景與動機。近來逐漸看到日本與歐洲其實在此方面也成效卓越。舉例而言,今天看到丹麥的PCMH(Patient-Centered Medical Home),就是一個舉全國力量作的大規模的非常成功模式,其概念就是以病人為主、居家為主的改革觀念,並透過資通訊技術的大量導入,將健康照護從集中式照護走向分散式照護(很像電腦科技的發展歷程)、行動化、無所不在化,並將每個丹麥國民都建立個人為主的健康記錄e化入口網站,從Youtube的幾個短片(1,2,3,4,5)來看,實在是非常非常好的成功模式,也是值得資通訊科技大利著墨發揮以達到的親民醫療境界[1]。


另外,居家照護與原居老化等研究題目,都有一個有趣之點:非常仰賴資訊與通訊技術。從手機、可攜式醫療裝置、3C產品、遠距通訊等,都有其照護之意義,且都需要資通訊技術的大量介入。從丹麥的PCMH計畫就可以看的出來,因此所有資訊科技大廠如INTEL與微軟都在涉足此領域。

由此看來,對於資通訊為主的研究者而言,未來在醫療照護的研究發展,應往照護的研究方向走。(雖然我15年前在中央研究院進行博士後研究時,也曾嘗試瞭解Bioinformatics,並進行一些醫療方向的研究)。

我們輔大的智慧型系統實驗室(www.islab.tw),主要是以影像辨識研究為主,近年來雖然以視訊監控、人機介面、人臉辨識與機器人視覺等應用方向為主,但隨著幾個整合型計畫的開展,也開始逐步往醫療照護的方向邁進。

影像辨識技術在醫療與照護上面可應用研究的方向很多,例如醫療影像分析(醫療)、運動復健之影像分析(照護)、原居老化之影像分析(照護)、睡眠障礙之影像分析(醫療&照護)等,每一個方向都是大題目。這幾年將先以睡眠障礙分析的研究方向為主,並以我們的FJUCam2/VCam平台來建立該分析技術的軟硬體架構。

[1] 資通訊應用在照護產業的契機(張慈映,工商時報,2010/10/4)



2010年10月3日 星期日

Towards Embedded Computer Vision邁向嵌入式電腦視覺

近年來由北到南有許多的演講邀約,自97年開始我大部分都將講題鎖定為:Towards Embedded Computer Vision[1]。演講內容除了介紹電腦視覺如何透過3大類嵌入式系統來實現外,並說明輔仁大學的智慧型系統實驗室(www.islab.tw)這幾年來在嵌入式電腦視覺的研究成果。

此演講的主要概念之一,就是在闡述要再嵌入式系統上實現電腦視覺,是一件艱困的研究挑戰。不僅要非常熟悉電腦視覺的演算法,得在演算法上進行創新改進外,還得瞭解硬體的特性,進行符合硬體特性的平行化架構設計。

我們實驗室這幾年雖然開始嘗試,但進度還不算多。但我環視國內各個學校的研究群,似乎還很少將Embedded Computer Vision(ECV)列入其研究主軸,因此想大膽的開始嘗試將ECV列入本實驗室的主要研究方向之一,並繼續朝此方向邁進。

目前我們在Multicore CPU、DSP(Heterogeneous)、FPGA都有研究群分別在進行。Multicore CPU以ARM為主,DSP則以TI為主,FPGA則選擇Altera平台。

ECV的應用,則以Visual Surveillance/Video analytics, Human Computer Interface, Biometrics(Face),  Robotic Vision, Home healthcare, Sensor/Camera Network等應用為主。另外,也在開始思考應用在Computational Camera。

此外,今年開始也將探討Embedded Vision在嵌入式系統上,如何跟Cloud Computing搭配,成為Cloud Computing的Thin Client,成為完整的前後端(Front End+Back End)電腦視覺架構。

在硬體平台部份,由於找尋許久後都沒有見到合適的既有產品,因此我們實驗室也嘗試自行開發硬體平台。目前我們已經有兩套平台:FJUCam1 與FJUCam2. 這些名稱是實驗室專案代號(Code Name),而FJUCam2對外可能將定名為VCam,意義為Vision Camera。

有一些觀念可從我的演講投影片得到端倪。此處將我的演講投影片附上[1],歡迎有興趣者一起研究討論。另外也有一篇部落格文章[2]說明目前的研究現況。

[1] Yuan-Kai Wang, Towards Embedded Computer Vision, Fu Jen University, 2009.
[2] Yuan-Kai Wang, Embedded Computer Vision研究現況,2010年10月3日。



Embedded Computer Vision研究現況

蒐集了約3年的資料,大約將Embedded Computer Vision(ECV)的研究現況整理的差不多了,因此先將現有的資料條列如後。

但由於ECV的研究是近幾年才剛開始,看來各種研究將會日益蓬勃,因此我蒐集的也還不完整。

此外,目前主要以DSP, CPU與FPGA為主,尚未將手邊的Mobile Vision(Computer Vision by Smart Phone)、CellBE與GPGPU等納入,因此還有待繼續整理蒐集。此外,也暫不考慮Camera Networks與Distributed Computer Vision。

日後有機會,將嘗試建立Wiki,以利逐步增修。

A. Special Issues in Journal
1. Special Issue on Embedded Vision, Computer Vision and Image Understanding, vol. 114, no.11, 2010.
2. Special Issue on Embedded Vision System, EURASIP Journal on Embedded Systems, Vol. 2007, 2007.
3. Special Issue on FPGAs: Case Studies in Computer Vision and Image Processing, Microprocessors and Microsystems, vol. 29, no.8-9, 2005.

B. Conferences:
1. IEEE Workshop on Embedded Computer Vision (ECVW),
      2007(3rd), 2008(4th), 2009(5th), 2010(6th), 2011(7th)

2. ACM/IEEE Int. Conf. on Distributed Smart Cameras (ICDSC)
3. Short courses in conferences
      (i)   CVPR07&08: Distributed vision processing in smart camera networks
w      (ii)  ESC07: Embedded CV and smart cameras
 w      (iii) ICASSP09: Distributed processing in smart cameras
C. Books
1. Smart cameras, Ahmed Nabil Belbachir (Ed.), 2009, ISBN: 978-1-4419-0952-7

2. Embedded Computer Vision,  Springer, 2008.


D. Thesis/PhD Dissertation
1. Visual Surveillance on DSP-based Embedded Platforms, by Clemens Arth, Graz University of Technology, Austria, 2008.
2. The Role of Groups in Smart Camera Networks, by Jacky Mallet, MIT, 2006.
3. Processor Architecture Design for Smart Cameras, by Hamed Fatemi, 2007.
4. A Novel Software Framework for Multi-Processor Embedded Smart Cameras, Andreas Doblander, Graz University of Technology, 2006.

E. Research Groups
(TBU)



2010年8月土耳其伊斯坦堡(ICPR)

伊斯坦堡10日遊概要:


1.8/16出發,經新加坡轉機,在杜拜加油後,於8/17清晨到達伊斯坦堡 


2.   以歐洲區的舊城區為主,居住在Best point hotel。旅遊方式則以蘇丹阿哈曼德區為中心,遊覽藍色清真寺、聖索菲亞清真寺、托普卡匹皇宮、考古博物館、蘇丹夏宮、博斯普魯斯海峽遊輪、加拉達塔等。 


3.    居住在歐洲區的新城區,以塔克辛(Taksim)廣場為主為主,遊覽多瑪巴切皇宮、塔克辛廣場等。並在伊斯坦堡會議中心參加ICPR2010會議。 


4. 8/25搭機回國,在杜拜加油,新加坡急忙轉機,返回台灣。






2010年9月5日 星期日

熱顯像攝影機(Thermal Camera)於FJUCam2/VCam之應用與考慮

熱顯像攝影機是遠紅外線(Far Infrared Camera, FIRCam)的一種,與近紅外線(Near Infrared Camera, NIRCam)不同的地方,在於紅外線的波長較長因此又稱之為LWIR(Long Wavelength IR),其優點是不需要主動式的投射紅外光即可取得影像,因此在完全無光源的環境依然可以取得影像,因為如人體之類的發熱物體會發出LWIR的微弱能量,透過FIRCam的特殊感測器吸收後轉換為影像。

熱顯像攝影機在軍事、醫學上都有大量的應用,近來也逐漸應用於視訊監控上。其優點除了在無光源環境可以取得影像外,對於起霧等環境也有優良的取像能力。但由於其價格昂貴,普及性仍不高。此外,以Thermal Image來進行Video Analytics分析時,由於其雜訊較高,雜訊性質與一般可見光影像不同,而且影像解析度低,因此在分析上迥異於一般方法。

目前本實驗室ISLab還沒有熱顯像攝影機,但已經在進行評估,目前以美國的FLIR與日本的NEC-AVIO兩者為主要的評估對象。兩家公司都是以測溫為應用,已發展出非常多的產品,近年來也開始有視訊監控用的攝影機。另外在2010年1月IP Camera大廠AXIS也開始推出低價位的熱顯像監控攝影機,型號為Q-1910(室內型)與Q-1910-E(室外型)價位在美金3000~3500之間。

ISLab發展熱顯像技術分為兩個方面:一個是進行影像分析以進行學術研究;另外一個方向則是要使FJUCam2/VCam結合熱顯像感測器,以自行研發熱顯像攝影機進行有興趣的研究用途。因此AXIS的熱顯像攝影機雖然價格較為低廉,但是並不適用於FJUCam2/VCam。其原因在於Q1910的體積太大,而FJUCam2/VCam是以體積非常迷你的觀念來設計,若搭配體積龐大的Q1910感測器,則會喪失其原本設計的意義。

因此,目前唯有FLIR與NEC-AVIO兩家有出小體積與模組化的熱顯像模組,比較適合本實驗室的研究目標。

FLIR的熱顯像模組有兩個型號:Photon與Tau。Photon體積較Tau大,但兩者都適合於FJUCam2/VCam.

NEC-AVIO則有幾款Camera Module,其體積也適合於FJUCam2/VCam。

但FLIR與NEC-AVIO的攝影機,其可測溫之型號約都需要超過1百萬台幣。僅監控影像的熱顯像攝影機型號,價位較低,約在台幣四、五十萬元的範圍,但仍遠遠比AXIS的Q-1910熱顯像監控攝影機來的價位高昂。

最後,關於AXIS推出的低價位熱顯像監控攝影機,IPVideoMarket.info有介紹以及與FLIR的比較[1,2]。

FLIR有一個製作品質良好的視訊影片,從物理發展歷史來介紹熱顯像的物理原理非常值得一看[3],是英文解說;網路上可以直接申請免費DVD,寄來的DVD會將視訊影片翻譯成中文。另外,OptoIQ有一個WebCast對於熱顯像的取像原理有詳細的說明[4],其投影片可以下載。

Youtube中則有許多對FLIR熱顯像攝影機的介紹與說明,如[5]。也有AXIS對於其熱顯像攝影機的產品介紹[6]。

[1] FLIR Thermal Network Cameras Examined, IPVideoMarket, Feb 02, 2010.
[2] Testing and Analysis, IPVideoMarket, Feb 13, 2010.
[3] 瞭解熱成像,FLIR。
[4] Fundamentals of Machine Vision: Infraref Imaging, J. Kane, Apr 20, 2010.
[5] FLIR Thermal Infrared: the camera itself and more demos, Oct. 04, 2006.
[6] AXIS Q1910Therml Network Camera, Feb. 8, 2010.



2010年8月26日 星期四

電機式微?物理光電看好?

一直都是理工類第一名的台大電機系,在今年大學聯考退居第二名,由台大物理系變為第一名,實在不可思議,需要再繼續觀察此現象所代表的意義!

電機式微 台灣下一個熱門產業在哪裡?(Ctimes專欄文章)

射頻Combo受歡迎 藍牙+藍牙低功耗被看好 - CTimes

市場趨勢:結合藍牙(Bluetooth)、Wi-Fi、FM以及GPS等主要射頻功能於單晶片封裝的Combo晶片組
http://www.ctimes.com.tw/News/ShowNews.asp?O=201008251817137766



思考:FJUCam2上的無線模組部分,若採用Combo模組的無線晶片,體積可以更輕薄短小!

Android beyond the phone─兼論FJUCam2的下一步Android發展方向

自2008年Google推出Android 1.0版以來,其目標就是作為Mobile Phone的作業系統。經過2年後釋出的Android 2.2版(Froyo),2010年在美國(目前為全世界Smart Phone最大銷售量的國家)更已經成為Smart Phone第二大的OS平台(Canalys),以38%的佔有率超過iPhone的21%;其應用程式也快速成長中(Androlib)。預計在2010年10月會有Android 3.0(Gingerbread),其最重要的改變就是支援大螢幕的Mobile Device。

本文希望說明Android的觀念,並思考與我們FJUCam2的關連,最後則建議FJUCam2的Android平台可採用Open source project: Rowboat 。

我們的FJUCam2以OMAP3x為基礎,也可以移植Android。目前暫時先以Beagle board Rec C當作實驗板並已經輕易移植成功Android 1.6版。看來要移植Android 2.2版應該也不是難事。我們應該可以在FJUCam2的硬體完成後,開始著手移植新版的Android。

雖然我們自2009年底到2010年中發展X-Eye的過程中,暫時以Ubuntu與Angstrom的Linux為主,但仍不排除會採用Android,因為Android在與Google Cloud Computing的連結性方面,仍比其他Embedded Linux來的優越,因此要朝向Cloud Computing發展的過程中,採用Android是必要的方向。

但即便是Android 2.2仍還有很多改善的空間。近來一個重要的方向是開始朝向Beyond Smart Phone,例如:小筆電、Set-top Box, VoIP Phone, Google TV, Tablet(平板電腦)等。這些Beyond phone devices與phone devices的差別,就在於螢幕尺寸的大小。以Smart phone為例,目前約為4吋到6吋螢幕。但是小筆電與Tablet則為8吋到10吋螢幕,而Google TV則更可能到42吋螢幕。

由於螢幕變大,因此解析度需求也變高。一般Smart Phone解析度為320x240,最高可達800x480。但是在小筆電與Tablet而言,一般至少都是1024*768,而HD TV則可以到

但是,直到2010年5月發佈的Android 2.2(Froyo)(Android in Wiki),仍然只能支援最大800x480的解析度(Google作梗 Android平板電腦難產,工商時報,2010/8/22)。而Android Market的應用程式,許多則只有支援到320x240。不論是320x240或800x480,在10吋以上的螢幕看起來都有低品質的嚴重問題,因此限制了Android的在大螢幕行動裝置上的使用。


有一個參考連結:Android beyond the phone - A Progress Report by Mentor Graphics,即是在說明從Mobile Phone作業系統成為更大螢幕的行動裝置作業系統,需要修改Android的Linux Kernel, Dalvik VM,嵌入式版子的驅動程式/BSP(Board Support Package)、UI/Java Library等。

只是這是Mentor Graphics公司自行修改的Android,可能需要付費才能使用。但是Mentor Graphics在Google code提供一個Open Source Project: Rowboat,以TI OMAP 35x, AM37x等為主,提供其修改後的Android以在大螢幕裝置上高解析度的效果。

截至2010/8/26為止,Rowboat仍為1.0版,該版本是以Android 2.1(Eclair)與Linux Kernel 2.6.29為基礎,採用Apache License。除了為大螢幕裝置提供UI、Graphics與Multimedia的最佳化之外,也提供Dual-core的ARM與DSP之間的傳輸與運算機制:DSP Stack IntegrationOMX DSP system。此外,Rowboat更將Android的開發環境由Java為主修改為以C/C++為主,因此可以C/C++來開發OMAP 35x上面的Android C應用程式,此點對於影像辨識與電腦視覺而言,是非常重要的特點。

由於FJUCam的開發理念,是希望發展一套可自由研究Embedded Vision的嵌入式平台,該平台以ARM+DSP的Dual-core為硬體,以Linux/OpenCV為軟體,提供EVK作為Embedded Vision的軟體堆疊(Software Stack)程式庫(Library),並且以C/C+為主要的程式語言,因此Rowboat與FJUCam2的理念不謀而合。此外,電腦視覺的運算結果,常需要以大螢幕來顯示,因此Rowboat的開發方向,更符合FJUCam的想法。雖然有傳聞Google官方將於2010/10釋出的Android 3.0(Gingerbread)也會支援大螢幕裝置,但是對於Dual-core以及C/C++開發環境的支援性,仍遠遠不及Rowboat。

因此,我認為FJUCam2的下一步開發方向,是開始嘗試使用Rowboat。第一部是先將其安裝在Beagle board上面,並移植X-Eye與我們的Embedded/DSP程式到Rowboat上。若成功,則可以開始將整套軟體架構移植到我們的FJUCam上面。



2010年2月19日 星期五

給新進老師的經驗分享

本文為2010年2月19日理工學院98學年度新老師傳承營,針對新進老師分享研究經驗的講綱。

研究3問(R3H:Research 3 Hows)
       新進老師的3個主要問題為:1.如何有效進行教學與研究的時間分配;2.如何參與整合性研究;3.如何有效進行跨領域研究。本文將說明這3個問題。

        但首先需有幾點要瞭解的地方:1.研究計畫有各種類型,如國科會個人型計畫為最單純的形式;但整合型計畫變化會比較多,如科專計畫、產學計畫等。2. 研究題目與研究資料蒐集常常會是撰寫研究計畫最花費時間的原因。3. 研究計畫的執行需依靠研究生,因此新進老師要先擁有指導研究生的能力。

第一問:如何有效進行教學與研究的時間分配
        這基本上是一個時間管理的問題。

        首先要瞭解:教學與研究是有衝突的。教學需被打斷,研究需要專注。

        為何教學需被打斷呢?工作被打斷,被打斷即工作(哈佛經驗)。因此,在教學過程中,被打斷是不可避免的事情

        然而研究的壓力很大,第一為升等壓力、六年條款;其次是撰寫論文需花費的時間力氣很久;再來是得爭取研究計畫經費以建立良好的研究設備。這些都需要專注。

         因此要將兩者好好的進行時間管理,協調分配使用時間,是很重要的功夫。

(1) 瞭解研究與教學的各個部份所佔時間百分比
     (A) 教學:又分為貝克與授課兩種工作
          (a) 備課:規劃教學內容,規劃教學進度,製作、整理、更新教材,規劃學習成效評估方式,匯入線上系統
          (b) 授課:課前準備,批改作業、考卷,解惑,課程活動規劃,線上系統維護、異動公告
    (B) 研究:又分為論文、計畫、服務等三種工作
          (a) 論文:構思,蒐集資料,撰寫計畫書,修改,投稿,Revise修訂
          (b) 計畫:構思,蒐集資料,撰寫計畫書,修改,投稿,執行,撰寫結案報告
          (c) 服務:審查論文/計畫,指導研究生
(2) 訂定教學與研究兩者的時間百分比: 知道老師需要花費的各項工作時間後,就可以來訂定每項工作站用時間的百分比。例如一天工作12小時,則也許教學:研究為3:9。
(3) 決定教學與研究兩者的固定時間:由於研究需要專注,因此最好能將研究的時間切分清楚。

另外常見的一個經驗,是新進老師常常非常努力撰寫計畫書爭取經費,卻發現大量的研究分析資料沒有時間整理成論文。因此要注意預留時間來撰寫論文。因為提計畫需撰寫新概念新想法,需要花很多時間蒐集資料;但是寫論文是整理舊概念舊想法,也需要花很多時間。

第二問:如何參與整合性研究
       這基本上是Team Work的問題。

       首先要問:為何要參加整合型研究計畫?整合型研究計畫的優點是經費較多、多年期、因此有利於穩定研究;此外在整合型計畫中老師之間可以相互學習。
       但是參與整合型計畫的缺點,則是需額外增加溝通協調之時間。

       我自1999年進入輔大以來,到2010年共曾參加6個整合型計畫,從兩系4個老師4百萬經費的整合,到校外18校29個教授4年1億三千萬元的計畫都有。此處提供幾點經驗與看法:
(1) 參與的階段:若在整合型計畫初期即參與,則需很清楚研究方向整合,因此需瞭解自己領域與他領域之關連。若在執行階段開始參與,則要注意事務分工,也就是要跟其他子計畫老師之間分擔事務,以建立良好的計畫執行效率。要注意的是,需有Well-Training之研究生來幫忙,否則會很辛苦。
(2) Team Work的思維:Team Work的常見方法就是定期開會溝通,訂定工作小組。另外,參與計畫的人,都期待 Efficiency, Smooth execution, Get to the point,因此不論是在開會、溝通上都希望不要花太多時間,並且研究方向需能互補。
(3) Case study:經濟部學界科專計畫。

第三問:如何有效進行跨領域研究
        其答案為:學習看到別人的優點

        跨領域的研究,其定義應該指與「非本科系」的老師進行對話、交談、共提研究計畫等。若能與不同學院老師進行研究,則更是有意義的跨領域研究。

        跨領域研究,不一定是以計畫形式在進行。至於進行跨領域研究之優點,則是不再將自己侷限在有限的研究領域,而能多看到其他美好的事務,進行更多元的學習。此外,在輔大的研究環境裡,若能充分利用輔大多元化的教學研究環境,則會有更多的收穫。
        但是跨領域研究的缺點,則是需花費比整合型研究更多的時間與力氣,對於論文發表與計畫的報酬較低。

         我曾經有經驗與生物醫學共同進行定期Bioinformatics的研究討論,與企管系、英文系共同提出E-learning研究計畫,與心理系探討網路科技的人文影響,與醫學系與醫院探討睡眠醫學。這些經驗都給我美好的經驗,並刺激我多元的思考方向。

        基本上,各個學科的學習經驗,促成各種不同領域學者的「研究性格」。生物醫學學者眼中以諾貝爾獎為方向,讓我們可以更前瞻的角度思考事情。人文的學者頗有風花雪月、吟詩作樂的文雅風,可以給我們心靈慰藉。商管學者經濟導向,強調錢很重要、對於產學合作非常有概念。理工學者為追求真理而有自閉傾向,多如愛迪生,每日早出晚歸甚至不眠不休待在實驗室做實驗;嚴重者會如科幻電影情節,時而喃喃自語,時而欣喜若狂。

        在進行跨領域研究時,可注意下列事情:
(1) 要有包容與對話的態度
(2) 先學習共通語言: 可從兩個階段來學習:Brain storming: Free-style talking、Topic study: Oral presentation with basic knowledge survey
(3) 嘗試瞭解領域之關連
(4) 要清楚重點不在獲得實質的研究報酬(論文、計畫),而是渴求對真理的追尋