網路城邦
上一篇 回創作列表 下一篇  字體:
雲端辨識是次級貨
2015/03/12 07:40:00瀏覽820|回應0|推薦3

我曾經寫過一篇文章雲端的背後其實不雲端,還蠻多人認同的!我在業界工作又過了一年多,開發的各種軟體系統也多半是兼具伺服端(雲端)與客戶端(地面)的功能,確實一再的印證我的這個觀點!

我的一個主要專長是作影像辨識,這種程式是相當消耗記憶體與運算能量的,事實上影像辨識的理論早就相當成熟了!但是因為攝影器材與電腦硬體的效能跟不上,導致稍早要實作一個有效的影像辨識系統,必須購置特別昂貴的攝影器材與超級電腦,整體價格就變得好像千萬超跑,一般人是買不起的。如果硬著頭皮使用一般電腦與攝影機來製作,又會因為執行速度太慢而不太實用。想像一下,一輛贓車經過一個有車牌辨識系統的監視器,但是系統要經過一分鐘之後才完成辨識,證實那是一輛贓車,一定沒有警察會用這個系統了!

隨著時代進步,現在的電腦越來越快、記憶體大增,還越來越便宜!同樣的,攝影方面的硬體技術也突飛猛進,價格同步降低,千萬畫素的手機都很多了,更別說是專業攝影器材!所以現在是影像辨識技術可以大肆發揮功效的好時機,大家也已經陸續看到越來越多以前只有電影中才能看到的指紋辨識,人臉辨識或眼睛瞳孔紋路辨識等等東西出現在現實生活中。

目前我們開始面對的一種新需求是:人人都有可以照相的手機,有影像就會想用程式辨識一下,增加一些額外的功效。譬如已經有程式可以在拍照時自動作人臉辨識,鎖定焦點,讓照片重點不會模糊。以我作的車牌辨識來說,如果拍個照片就可以辨識出來,進一步連上網路資料庫,查詢這輛車是不是贓車?警察杯杯不是會很喜歡嗎?

事實上之前的類似功能系統是將資料庫下載到一個掌上型電腦,警察看到可疑車輛就按鍵輸入車牌查詢資料。那是在無線網路以及影像辨識技術還不普及的環境下產生的應用,現在資料庫的部分已經不必下載,直接用3G4G網路上網查就可以了!如果影像辨識也用得上,那就連按鍵輸入車牌也不必了,還可以順便完成拍照存證咧!

技術上我既然會做車牌辨識(或其他目的的辨識),所以我立即想到可以將手機拍的照片上傳到伺服端的電腦,我只要將辨識程式在「雲端」執行一下,就可以繼續資料查詢的流程了!這就是我所謂的雲端辨識。

但是仔細一想,這樣並不理想!因為照片通常資料比較大,整張照片傳輸是很消耗網路資源的,傳來傳去也會讓處理流程變慢。甚至更進一步思考:如果我的系統有很多客戶,譬如幾百位警察在外巡邏,隨時都會有很多照片傳回來處理,伺服器會不會因為負擔太重,而必須「加開伺服器」啊?

反之,如果影像是在客戶端(手機內)直接執行辨識就好多了!影像不必真的立即回傳,只需將辨識結果的幾個車牌字元回傳雲端,查一查資料庫即可,很像使用搜尋引擎作關鍵字的查詢,那就快多了,即使有幾千幾萬的客戶,也絕對不需要加開伺服器的。

但是新問題又出現了!影像辨識是很「沉重」的程式,手機好像是相對「簡陋」的電腦,連作業系統也是簡化版,上面搭載的程式效能大概也不如一般電腦。如果你還希望能夠寫一個程式就跨平台使用到各種手機平台上(Android, IOS等等),就必須用HTML5,也就是用JavaScript程式語言來實作影像辨識的程式!即使可以做到,速度會不會慢到難以忍受?一張照片辨識如果超過三秒鐘,我想就沒人愛用了!

幾個月前我突發奇想,硬是將我的車牌辨識程式(原來是用VB.NET寫的)HTML5改寫出來,真的很難!好像在用樂高積木蓋一間真正能住人的大房子,還是高檔的透天厝咧!我預期也是會速度很慢,就當作練習寫JavaScript程式而已。但很意外的,執行速度還相當的快!一秒多一些就可以完成一個辨識!

怎麼可能?是我受諸天神佛庇佑?有神力加持?其實不是的!而是感謝大家愛用手機,愛用各種APP,愛用手機玩遊戲,導致手機大廠們全力提升手機這種「電腦」的品質,看看新手機的規格吧!我目前用的手機CPU與記憶體都快好過我的i7電腦了!程式跑得很快其實並不意外。

我預期一定會有更多的影像辨識等等複雜程式從雲端(伺服器)陸續返回地面(手機與平板)。所以我的標題說:雲端辨識反而是次級貨,在客戶端手機上執行影像辨識才是有效率,客戶與廠商雙贏的高檔產品!

 
( 心情隨筆工作職場 )
回應 推薦文章 列印 加入我的文摘
上一篇 回創作列表 下一篇

引用
引用網址:https://classic-blog.udn.com/article/trackback.jsp?uid=yccsonar&aid=21456565