?更新時(shí)間:2010-06-02
牛牛工作室的火爆著實(shí)給王石賺了不少錢,由于有免費(fèi)的童工可以剝削,這讓王石的野心也開(kāi)始大了起來(lái)。按照夢(mèng)想的智能水平,應(yīng)該不下于兒童吧,為了測(cè)試夢(mèng)想的智能水平,王石還特意給她做了智商的測(cè)試,結(jié)果是智商220分,滿分,不過(guò)王石總感覺(jué)好象還有點(diǎn)欠缺。好象那里有不對(duì)勁的感覺(jué)。答題速度實(shí)在是太快了??赡苓@些測(cè)試比較理性吧。
自從升級(jí)以來(lái),夢(mèng)想的表現(xiàn)越來(lái)越出色了,所以在這幾個(gè)月里,陸續(xù)又添置了不少機(jī)器,并把所有的機(jī)器都掛上不同的網(wǎng)游帳號(hào)進(jìn)行練級(jí)。最大限度地讓夢(mèng)想能夠發(fā)展出自己的個(gè)性。
這段時(shí)間來(lái),王石一直在琢磨著給夢(mèng)想加上攝像頭。由于一開(kāi)始?jí)粝氲膱D像識(shí)別模塊就是比較成熟的了,它不僅在魔獸世界和其他一些網(wǎng)游里發(fā)揮了眼睛的作用,而且對(duì)一些抽象的東西識(shí)別率也相當(dāng)高,必竟象識(shí)別碼這樣變態(tài)的圖形字符都能識(shí)別,一般性的識(shí)別都不是大問(wèn)題。
而現(xiàn)在加上攝象頭的話,按照原理上來(lái)講,應(yīng)該不是大問(wèn)題吧,王石是這樣想的,但實(shí)際情況卻出乎王石意料,由于王石對(duì)攝象頭不是很了解,結(jié)果走了不少?gòu)澛?。王石一開(kāi)始想直接將攝像頭的光電信號(hào)直接讓夢(mèng)想分析,在經(jīng)過(guò)好長(zhǎng)一段時(shí)間努力后,王石放棄了這個(gè)計(jì)劃,因?yàn)楣怆娦盘?hào)要直接讓夢(mèng)想解讀分析,還有不少困難沒(méi)法繞過(guò)去。
首先,王石不要說(shuō)不熟悉攝像頭,就連usb的協(xié)議也不是很了解,這就難以讓夢(mèng)想直接控制攝像頭的內(nèi)部電路。沒(méi)法使用攝像頭的內(nèi)部電路的話,也就談不上對(duì)圖像分析判讀了。
其次,王石對(duì)圖像的格式也不是很了解,只了解最最簡(jiǎn)單的位圖之類的格式。這也造成了圖像解讀的一個(gè)大困難。
幸好王石也不是死腦筋的,最后討了個(gè)巧,一般情況下,攝像頭都有自己的驅(qū)動(dòng)和自己自帶的軟件,當(dāng)然也有大部分是免驅(qū)動(dòng)的。王石就把直接在屏幕上顯示的圖像作為分析對(duì)象。這個(gè)王石有經(jīng)驗(yàn),以前的字形識(shí)別,魔獸世界的識(shí)別等都是直接以屏幕為分析對(duì)象的。這就把王石不熟悉的那部分給繞過(guò)去了。
由于攝像頭的增加,夢(mèng)想總算也相當(dāng)于有了眼睛,考慮到夢(mèng)想從來(lái)沒(méi)有接觸過(guò)這樣的圖像,識(shí)別起來(lái)有困難,所以王石還對(duì)她進(jìn)行了專門的培訓(xùn)。不停地與夢(mèng)想進(jìn)行溝通。
為了保證攝像頭按照自己的設(shè)想運(yùn)行,王石對(duì)程序接口作了一定的改動(dòng),然后就象與人視頻一樣與夢(mèng)想小妹妹進(jìn)行面對(duì)面的聊天,為了聊天的順利進(jìn)行,王石特地選擇了幾個(gè)女性角色的讓,夢(mèng)想程序自己挑選。讓王石沒(méi)想到的是,夢(mèng)想選擇的形象赫然是暗夜精靈。為了能讓角色活動(dòng)起來(lái),王石還特地為暗夜精靈角色建立立體模型。以方便夢(mèng)想可以控制角色做出各種動(dòng)作。
這樣一個(gè)專用的聊天程序視頻版就完成了。一般情況下,王石與夢(mèng)想的溝通就直接過(guò)視頻進(jìn)行。當(dāng)然,對(duì)話的文字還是會(huì)實(shí)時(shí)顯示在屏幕上的。這讓打字不快的王石輕松了不少。
這個(gè)為了加個(gè)攝像頭,前前后后花了2個(gè)多月時(shí)間,這讓王石下定決心,必須對(duì)圖形圖像方面進(jìn)行更深入的了解,因?yàn)檫@個(gè)圖形圖像的建立和儲(chǔ)存對(duì)一個(gè)智能程序的發(fā)展是相當(dāng)重要的一個(gè)環(huán)節(jié)。
一個(gè)人從呱呱墜地開(kāi)始,一生所接收的信息80%來(lái)自于視覺(jué)信息,可以想像一下,當(dāng)一個(gè)小孩子從睜開(kāi)眼開(kāi)始,就在進(jìn)行一個(gè)智力發(fā)展的過(guò)程,有個(gè)說(shuō)法很說(shuō)明問(wèn)題,據(jù)說(shuō)動(dòng)物會(huì)把睜開(kāi)眼第一個(gè)看到的動(dòng)物作為母親。而且,有句話叫作眼見(jiàn)為實(shí),耳聽(tīng)為虛。所以,王石覺(jué)得把這個(gè)視覺(jué)發(fā)展完善是相當(dāng)有必要的。
王石首先讓夢(mèng)想通過(guò)搜索下載了各類關(guān)于視覺(jué)和圖像的資料,然后與夢(mèng)想一起進(jìn)行學(xué)習(xí)討論。由于資料中有相當(dāng)多的部分是外文資料,這就需要夢(mèng)想童鞋首先把它們給翻譯過(guò)來(lái)。在經(jīng)過(guò)一段時(shí)間學(xué)習(xí)和討論后,王石覺(jué)得對(duì)圖像進(jìn)行立體化建??赡軙?huì)提升程序的空間感,所以決定做一個(gè)圖像立體化建模的程序模塊。
人的空間感是建立在兩只眼睛所得到的不同圖像基礎(chǔ)上的,由于眼睛本身有個(gè)間距,這樣每個(gè)眼睛所得到的圖像的稍有不同,人腦對(duì)這個(gè)稍有不同的差異形也了人的空間感,這個(gè)空間感當(dāng)然不是一開(kāi)始就有的,而是隨著人腦的發(fā)育,眼睛看到的事物不斷進(jìn)行條件反射形成的記憶,這個(gè)記憶就是通過(guò)長(zhǎng)時(shí)間的反射所形的神經(jīng)細(xì)胞本身閥值大小。
現(xiàn)在王石不可能采用這個(gè)方法,因?yàn)檫@個(gè)方法需要花費(fèi)的時(shí)間實(shí)在太大了。而且王石已經(jīng)有了更好的方法來(lái)完成這個(gè)模塊。那就是通過(guò)比較兩輻不同角度的圖像,用數(shù)學(xué)的方法來(lái)反向計(jì)算對(duì)象的空間位置。
首先假定計(jì)算對(duì)象是不變形的物體,把這個(gè)計(jì)算對(duì)象的各個(gè)對(duì)象各個(gè)端點(diǎn)和特征點(diǎn)標(biāo)記出來(lái),記錄這些點(diǎn)的對(duì)應(yīng)位置。這樣就得到兩組相對(duì)應(yīng)點(diǎn)的坐標(biāo)值。然后通過(guò)假定一幅圖像的攝像機(jī)透鏡鏡心置于空間原點(diǎn)位置,把焦距及另一幅圖像的攝像機(jī)透鏡鏡心位置和焦距都作為未知值,這樣每個(gè)點(diǎn)都可以得到兩個(gè)方程,這樣只要4個(gè)點(diǎn)以上確認(rèn)的話,就可以反算出每個(gè)點(diǎn)的空間坐標(biāo),包括攝像機(jī)的位置和焦距。
其實(shí)算法是很簡(jiǎn)單,其主要難度在于計(jì)算對(duì)象各個(gè)端點(diǎn)和特征點(diǎn)的標(biāo)記工作上。對(duì)于規(guī)則物體來(lái)講,還簡(jiǎn)單些,但對(duì)于象人物和風(fēng)景之類的,那就是一項(xiàng)不可能完成的工作了。
而這個(gè)恰好是夢(mèng)想的強(qiáng)項(xiàng),王石把這個(gè)反算程序編制完成了以后,就讓夢(mèng)想進(jìn)行測(cè)試。
首先是立方體的盒子,王石通過(guò)攝像頭攝制了兩個(gè)不同角度圖像,讓夢(mèng)想進(jìn)行識(shí)別,夢(mèng)想根據(jù)要求把盒子的幾個(gè)角在兩幅圖像上標(biāo)記出來(lái),然后取得這些點(diǎn)在圖像上的坐標(biāo),通過(guò)反算程序把計(jì)算出了每個(gè)端點(diǎn)的空間坐標(biāo)值。然后把這些坐標(biāo)值按dxf格式存放起來(lái)。
通過(guò)專用軟件打開(kāi)這個(gè)這文件,這些點(diǎn)赫然就以在第一張圖像所對(duì)應(yīng)的位置。這是由于反算程序是首先假定了第一張圖像的攝像機(jī)位置在原點(diǎn)的緣故。所以計(jì)算都是在這個(gè)基礎(chǔ)的上進(jìn)行的。通過(guò)軟件上的標(biāo)盡測(cè)算了誤差,還是在允許范圍內(nèi)。規(guī)則物體算是成功了。
然后測(cè)試一些相對(duì)復(fù)雜的物體,結(jié)果卻不太理想。
王石考慮了一下,可能有不少原因,首先,由于攝像頭分辨率比較低,這樣就對(duì)原始數(shù)據(jù)的采集產(chǎn)生了相當(dāng)大的誤差。本身圖像上點(diǎn)的坐標(biāo)只能是整數(shù),物體在圖像化的時(shí)候已經(jīng)取整數(shù)了,這當(dāng)然會(huì)產(chǎn)生相當(dāng)大的誤差。其次,當(dāng)兩幅圖像拍攝角度接近的話,由于圖像本身的誤差會(huì)被極大的放大。最后就是光學(xué)系統(tǒng)的誤差和物體的變形,這當(dāng)然是最次要的因素了。
很顯然,當(dāng)攝像頭成像無(wú)限真實(shí)的時(shí)候,得出物體坐標(biāo)就無(wú)限準(zhǔn)確??紤]到這些原因,所以解決起來(lái)也就是提高攝象頭的分辨率和盡量拉開(kāi)攝像機(jī)的視角。為了減少誤差,王石通過(guò)多取幾組端點(diǎn)來(lái)反算第二攝像機(jī)的位置,然后取平均值來(lái)。然后再來(lái)計(jì)算各個(gè)坐標(biāo)。這個(gè)取點(diǎn)的原則就是盡量在圖像上均勻分布。通過(guò)這樣的措施,可以很大程度上減少誤差。
這個(gè)模塊很快完成了,然后它有一個(gè)非常大的缺點(diǎn)就是只能對(duì)不變形的物體進(jìn)行建模,這樣實(shí)用性就差很多,比如人物建模和各種運(yùn)動(dòng)的東西就不太好解決了。
經(jīng)過(guò)考慮,王石決定放置兩個(gè)攝像機(jī)進(jìn)行同時(shí)拍攝來(lái)解決這個(gè)問(wèn)題,從而巧妙地解決了這個(gè)問(wèn)題。原來(lái)大自然早就做出了選擇,那就是兩個(gè)眼睛??!