本公開涉及全景成像技術(shù)領(lǐng)域,尤其涉及一種基于三維的行車環(huán)境成像方法及裝置。
背景技術(shù):
隨著人們生活水平的不斷提高,汽車已成為最重要的出行工具之一。汽車保有量的飛速增長,使行車安全問題越來越受到人們的關(guān)注。道路上事故頻發(fā),嚴(yán)重影響人們的日常生活,甚至危害人們的生命安全。因此,汽車安全輔助駕駛系統(tǒng)應(yīng)運而生,其中,視覺輔助駕駛系統(tǒng)的應(yīng)用最廣。全景輔助駕駛系統(tǒng)是視覺輔助駕駛系統(tǒng)中能夠有效地提高行車安全的車載輔助設(shè)備之一。
目前汽車市場上流行的全景環(huán)視系統(tǒng)是利用二維重投影技術(shù),將攝像頭獲取的圖像向二維平面上投射。該類系統(tǒng)只能將從車上方拍攝得到的俯視圖顯示出來,當(dāng)車輛周圍存在三維物體時,其投影視角在俯視圖中會出現(xiàn)變形,給駕駛員造成視覺上的疑惑。例如,當(dāng)車輛周圍存在行人時,在二維俯視畫面中會呈現(xiàn)為點狀以及影子的平面圖像。
上述的二維重投影技術(shù),是兩個平面之間的透視投影變換,實現(xiàn)了畸變校正圖到俯視投影圖變換,但無法保留場景中視平線以上(立面物體)的信息。三維圖像技術(shù)能夠很好地解決上述問題?;谌S圖像技術(shù),利用安裝在車輛周圍的多個攝像頭,通過攝像頭獲取車輛周圍的圖像,將這些圖像在三維模型上重新成像,能使車輛周圍的三維物體顯示出來。例如,可以通過建立3D(3dimensions,三維)模型,將矯正圖像投影到3D模型的不同區(qū)域,再顯示全景3D畫面。該方法雖然改善了2D(2dimensions,二維)投影的拉伸問題,但在全景圖像中,平面與立面的結(jié)合區(qū)域有較明顯的折痕感,過渡較不自然。
技術(shù)實現(xiàn)要素:
有鑒于此,本公開提出了一種基于三維的行車環(huán)境成像方法及裝置,以解決三維全景圖像的平面與里面的結(jié)合區(qū)域過渡不自然的問題。
根據(jù)本公開的一方面,提供了一種基于三維的行車環(huán)境成像方法,包括:
檢測魚眼相機獲取的畸變圖中的特征點,并根據(jù)所述特征點對應(yīng)的坐標(biāo)對所述魚眼相機進行標(biāo)定,得到所述畸變圖對應(yīng)的校正圖;
根據(jù)所述魚眼相機的相關(guān)參數(shù)確定第一矩陣;
根據(jù)所述第一矩陣以及所述特征點在校正圖中的坐標(biāo)確定第二矩陣;
根據(jù)所述第二矩陣對所述校正圖進行透視投影變換,得到所述校正圖在虛擬成像面上對應(yīng)的虛擬成像圖,并確定所述特征點在所述虛擬成像面上的坐標(biāo);
建立三維行車環(huán)境模型;
獲取所述虛擬成像圖的紋理;
根據(jù)所述第一矩陣將所述虛擬成像圖的紋理貼在所述三維行車環(huán)境模型上。
在一種可能的實現(xiàn)方式中,檢測魚眼相機獲取的畸變圖中的特征點,并根據(jù)所述特征點對應(yīng)的坐標(biāo)對所述魚眼相機進行標(biāo)定,得到所述畸變圖對應(yīng)的校正圖,包括:
檢測所述魚眼相機獲取的畸變圖中的第一組特征點;
對所述畸變圖進行投影處理,得到所述畸變圖對應(yīng)的投影圖;
檢測所述投影圖中的第二組特征點;
對所述投影圖進行反投影處理,得到所述畸變圖,并確定所述第一組特征點和所述第二組特征點在所述畸變圖的圖像坐標(biāo)系中的坐標(biāo);
根據(jù)所述第一組特征點和所述第二組特征點的位置確定所述第一組特征點和所述第二組特征點與預(yù)先設(shè)置的目標(biāo)點的對應(yīng)關(guān)系;
根據(jù)所述第一組特征點和所述第二組特征點與預(yù)先設(shè)置的目標(biāo)點的對應(yīng)關(guān)系,以及所述目標(biāo)點在世界坐標(biāo)系中的坐標(biāo),確定所述第一組特征點和所述第二組特征點在世界坐標(biāo)系中對應(yīng)的坐標(biāo);
根據(jù)所述第一組特征點和所述第二組特征點在所述圖像坐標(biāo)系中的坐標(biāo)以及在所述世界坐標(biāo)系中對應(yīng)的坐標(biāo),對所述魚眼相機進行標(biāo)定,并得到所述畸變圖對應(yīng)的校正圖。
在一種可能的實現(xiàn)方式中,根據(jù)所述魚眼相機的參數(shù)確定第一矩陣,包括:
根據(jù)所述魚眼相機在世界坐標(biāo)系中的坐標(biāo)以及所述魚眼相機的視角、朝向確定第一矩陣。
在一種可能的實現(xiàn)方式中,根據(jù)所述第一矩陣將所述虛擬成像圖的紋理貼在所述三維行車環(huán)境模型上,包括:
將所述虛擬成像圖劃分為多個子圖;
根據(jù)所述第一矩陣將所述多個子圖的紋理貼在所述三維行車環(huán)境模型上。
在一種可能的實現(xiàn)方式中,所述三維行車環(huán)境模型為船狀模型、碗狀模型、柱狀模型或者半球狀模型。
在一種可能的實現(xiàn)方式中,所述方法還包括:
建立三維汽車模型;
將所述三維汽車模型顯示在所述三維行車環(huán)境模型中。
在一種可能的實現(xiàn)方式中,根據(jù)所述第一矩陣將所述多個子圖的紋理貼在所述三維行車環(huán)境模型上,包括:
在相鄰的子圖之間存在重疊區(qū)域的情況下,對重疊區(qū)域進行融合處理。
根據(jù)本公開的另一方面,提供了一種基于三維的行車環(huán)境成像裝置,包括:
校正圖確定模塊,用于檢測魚眼相機獲取的畸變圖中的特征點,并根據(jù)所述特征點對應(yīng)的坐標(biāo)對所述魚眼相機進行標(biāo)定,得到所述畸變圖對應(yīng)的校正圖;
第一矩陣確定模塊,用于根據(jù)所述魚眼相機的相關(guān)參數(shù)確定第一矩陣;
第二矩陣確定模塊,用于根據(jù)所述第一矩陣以及所述特征點在校正圖中的坐標(biāo)確定第二矩陣;
虛擬成像圖確定模塊,用于根據(jù)所述第二矩陣對所述校正圖進行透視投影變換,得到所述校正圖在虛擬成像面上對應(yīng)的虛擬成像圖,并確定所述特征點在所述虛擬成像面上的坐標(biāo);
三維行車環(huán)境模型建立模塊,用于建立三維行車環(huán)境模型;
紋理獲取模塊,用于獲取所述虛擬成像圖的紋理;
紋理貼圖模塊,用于根據(jù)所述第一矩陣將所述虛擬成像圖的紋理貼在所述三維行車環(huán)境模型上。
在一種可能的實現(xiàn)方式中,所述校正圖確定模塊包括:
第一組特征點檢測子模塊,用于檢測所述魚眼相機獲取的畸變圖中的第一組特征點;
投影子模塊,用于對所述畸變圖進行投影處理,得到所述畸變圖對應(yīng)的投影圖;
第二組特征點檢測子模塊,用于檢測所述投影圖中的第二組特征點;
反投影子模塊,用于對所述投影圖進行反投影處理,得到所述畸變圖,并確定所述第一組特征點和所述第二組特征點在所述畸變圖的圖像坐標(biāo)系中的坐標(biāo);
對應(yīng)關(guān)系確定子模塊,用于根據(jù)所述第一組特征點和所述第二組特征點的位置確定所述第一組特征點和所述第二組特征點與預(yù)先設(shè)置的目標(biāo)點的對應(yīng)關(guān)系;
坐標(biāo)確定子模塊,用于根據(jù)所述第一組特征點和所述第二組特征點與預(yù)先設(shè)置的目標(biāo)點的對應(yīng)關(guān)系,以及所述目標(biāo)點在世界坐標(biāo)系中的坐標(biāo),確定所述第一組特征點和所述第二組特征點在世界坐標(biāo)系中對應(yīng)的坐標(biāo);
標(biāo)定與校正子模塊,用于根據(jù)所述第一組特征點和所述第二組特征點在所述圖像坐標(biāo)系中的坐標(biāo)以及在所述世界坐標(biāo)系中對應(yīng)的坐標(biāo),對所述魚眼相機進行標(biāo)定,并得到所述畸變圖對應(yīng)的校正圖。
在一種可能的實現(xiàn)方式中,所述第一矩陣確定模塊用于:
根據(jù)所述魚眼相機在世界坐標(biāo)系中的坐標(biāo)以及所述魚眼相機的視角、朝向確定第一矩陣。
在一種可能的實現(xiàn)方式中,所述紋理貼圖模塊包括:
子圖劃分子模塊,用于將所述虛擬成像圖劃分為多個子圖;
紋理貼圖子模塊,用于根據(jù)所述第一矩陣將所述多個子圖的紋理貼在所述三維行車環(huán)境模型上。
在一種可能的實現(xiàn)方式中,所述三維行車環(huán)境模型為船狀模型、碗狀模型、柱狀模型或者半球狀模型。
在一種可能的實現(xiàn)方式中,所述裝置還包括:
三維汽車模型建立模塊,用于建立三維汽車模型;
三維汽車模型顯示模塊,用于將所述三維汽車模型顯示在所述三維行車環(huán)境模型中。
在一種可能的實現(xiàn)方式中,所述紋理貼圖子模塊包括:
融合處理子模塊,用于在相鄰的子圖之間存在重疊區(qū)域的情況下,對重疊區(qū)域進行融合處理。
根據(jù)本公開的另一方面,提供了一種基于三維的行車環(huán)境成像裝置,包括:
存儲器,用于存儲處理器可執(zhí)行指令;和
處理器,配置為通過執(zhí)行所述指令來執(zhí)行基于三維的行車環(huán)境成像方法的步驟。
根據(jù)本公開的另一方面,提供了一種非易失性計算機可讀存儲介質(zhì),當(dāng)所述存儲介質(zhì)中的指令由終端和/或服務(wù)器的處理器執(zhí)行時,使得終端和/或服務(wù)器能夠執(zhí)行基于三維的行車環(huán)境成像方法。
通過檢測魚眼相機獲取的畸變圖中的特征點,根據(jù)特征點對應(yīng)的坐標(biāo)對魚眼相機進行標(biāo)定,得到畸變圖對應(yīng)的校正圖,根據(jù)魚眼相機的相關(guān)參數(shù)確定第一矩陣,根據(jù)第一矩陣以及特征點在校正圖中的坐標(biāo)確定第二矩陣,根據(jù)第二矩陣對校正圖進行透視投影變換,得到校正圖在虛擬成像面上對應(yīng)的虛擬成像圖,并確定特征點在虛擬成像面上的坐標(biāo),建立三維行車環(huán)境模型,獲取虛擬成像圖的紋理,并根據(jù)第一矩陣將虛擬成像圖的紋理貼在三維行車環(huán)境模型上,根據(jù)本公開的各方面的基于三維的行車環(huán)境成像方法及裝置能夠使車身周圍立面場景顯示真實,立體感強,且平面貼圖與立面貼圖過渡自然。
根據(jù)下面參考附圖對示例性實施例的詳細說明,本公開的其它特征及方面將變得清楚。
附圖說明
包含在說明書中并且構(gòu)成說明書的一部分的附圖與說明書一起示出了本公開的示例性實施例、特征和方面,并且用于解釋本公開的原理。
圖1示出根據(jù)本公開一實施例的基于三維的行車環(huán)境成像方法的實現(xiàn)流程圖。
圖2示出根據(jù)本公開一實施例的基于三維的行車環(huán)境成像方法中魚眼相機獲取的畸變圖的示意圖。
圖3示出根據(jù)本公開一實施例的基于三維的行車環(huán)境成像方法中透視投影變換的示意圖。
圖4示出根據(jù)本公開一實施例的基于三維的行車環(huán)境成像方法中三維行車環(huán)境模型的示意圖。
圖5示出根據(jù)本公開一實施例的基于三維的行車環(huán)境成像方法中將虛擬成像圖轉(zhuǎn)換至三維行車環(huán)境模型的坐標(biāo)系中的示意圖。
圖6示出根據(jù)本公開一實施例的基于三維的行車環(huán)境成像方法中步驟S101的一示例性的實現(xiàn)流程圖。
圖7示出根據(jù)本公開一實施例的基于三維的行車環(huán)境成像方法中第一組特征點71的示意圖。
圖8示出根據(jù)本公開一實施例的基于三維的行車環(huán)境成像方法中投影圖的示意圖。
圖9示出根據(jù)本公開一實施例的基于三維的行車環(huán)境成像方法中反投影得到的畸變圖以及第二組特征點91的示意圖。
圖10示出相關(guān)技術(shù)中對單幅魚眼圖像進行標(biāo)定的結(jié)果的示意圖。
圖11示出根據(jù)本公開一實施例的基于三維的行車環(huán)境成像方法中對單幅魚眼圖像進行標(biāo)定的結(jié)果的示意圖。
圖12示出根據(jù)本公開一實施例的基于三維的行車環(huán)境成像方法中三維汽車模型的示意圖。
圖13示出根據(jù)本公開一實施例的基于三維的行車環(huán)境成像方法中前視圖(1)與右視圖(2)的重疊部分的示意圖。
圖14示出據(jù)本公開一實施例的基于三維的行車環(huán)境成像方法的融合方程組的參數(shù)a和b的變化趨勢的示意圖。
圖15示出根據(jù)本公開一實施例的基于三維的行車環(huán)境成像方法得到的三維汽車全景輔助駕駛系統(tǒng)的運行展示示意圖。
圖16示出根據(jù)本公開另一實施例的基于三維的行車環(huán)境成像裝置的結(jié)構(gòu)框圖。
圖17示出根據(jù)本公開另一實施例的基于三維的行車環(huán)境成像裝置的一示例性的結(jié)構(gòu)框圖。
圖18是根據(jù)一示例性實施例示出的一種用于基于三維的行車環(huán)境成像的裝置800的框圖。
具體實施方式
以下將參考附圖詳細說明本公開的各種示例性實施例、特征和方面。附圖中相同的附圖標(biāo)記表示功能相同或相似的元件。盡管在附圖中示出了實施例的各種方面,但是除非特別指出,不必按比例繪制附圖。
在這里專用的詞“示例性”意為“用作例子、實施例或說明性”。這里作為“示例性”所說明的任何實施例不必解釋為優(yōu)于或好于其它實施例。
另外,為了更好的說明本公開,在下文的具體實施方式中給出了眾多的具體細節(jié)。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,沒有某些具體細節(jié),本公開同樣可以實施。在一些實例中,對于本領(lǐng)域技術(shù)人員熟知的方法、手段、元件和電路未作詳細描述,以便于凸顯本公開的主旨。
實施例1
圖1示出根據(jù)本公開一實施例的基于三維的行車環(huán)境成像方法的實現(xiàn)流程圖。該方法可以應(yīng)用于汽車輔助駕駛中,在此不作限定。如圖1所示,該方法包括:
在步驟S101中,檢測魚眼相機獲取的畸變圖中的特征點,并根據(jù)特征點對應(yīng)的坐標(biāo)對魚眼相機進行標(biāo)定,得到畸變圖對應(yīng)的校正圖。
魚眼鏡頭是一種超廣角鏡頭,鏡頭的視角可以接近甚至超過180°。根據(jù)物理成像的規(guī)律,焦距越短,視角越大,因此,魚眼相機采集的圖像通常引入了桶形畸變。圖2示出根據(jù)本公開一實施例的基于三維的行車環(huán)境成像方法中魚眼相機獲取的畸變圖的示意圖。如圖2所示,魚眼相機獲取的圖像發(fā)生了畸變。為了符合人眼的觀察習(xí)慣,需要對魚眼相機獲取的畸變圖進行相應(yīng)的處理,即對魚眼相機的相關(guān)參數(shù)進行精確的校正,這個校正的過程在計算機視覺中成為標(biāo)定。對魚眼相機進行標(biāo)定的目的是確定魚眼相機的內(nèi)部參數(shù)矩陣和外部參數(shù)矩陣,從而得到畸變圖對應(yīng)的校正圖。魚眼相機的內(nèi)部參數(shù)矩陣由魚眼相機的內(nèi)部結(jié)構(gòu)決定。魚眼相機的內(nèi)部參數(shù)矩陣可以表示為其中,ax和ay分別為圖像水平軸和垂直軸的尺度因子,u0和v0為圖像坐標(biāo)系原點在像素坐標(biāo)系中的坐標(biāo)。魚眼相機的外部參數(shù)矩陣Mt中包含的旋轉(zhuǎn)矩陣R和平移向量t由相機坐標(biāo)系相對于世界坐標(biāo)系的位置決定。魚眼相機的外部參數(shù)矩陣可以表示為其中,T表示矩陣的轉(zhuǎn)置。
在實際應(yīng)用中,可以在車身的前、后、左、右安裝四個魚眼相機,以采集車身周圍的實時圖像,在此不作限定。
在步驟S102中,根據(jù)魚眼相機的相關(guān)參數(shù)確定第一矩陣。
第一矩陣可以為一個4×4的變換矩陣。
在一種可能的實現(xiàn)方式中,根據(jù)魚眼相機的參數(shù)確定第一矩陣,包括:根據(jù)魚眼相機在世界坐標(biāo)系中的坐標(biāo)以及魚眼相機的視角、朝向確定第一矩陣。例如,第一矩陣可以為視錐體矩陣,第一矩陣可以根據(jù)魚眼相機在世界坐標(biāo)系中的坐標(biāo)以及魚眼相機的視角、朝向由OpenCL(Open Computing Language,開放運算語言)計算得出。
在步驟S103中,根據(jù)第一矩陣以及特征點在校正圖中的坐標(biāo)確定第二矩陣。
第二矩陣可以為一個3×3的變換矩陣。
在步驟S104中,根據(jù)第二矩陣對校正圖進行透視投影變換,得到校正圖在虛擬成像面上對應(yīng)的虛擬成像圖,并確定特征點在虛擬成像面上的坐標(biāo)。
其中,校正圖對應(yīng)的平面為實際成像面。透視投影變換可以相當(dāng)于以人眼為中心的投影。透視投影變換得到的虛擬成像圖具有較強的立體感和真實感。根據(jù)第二矩陣對校正圖進行透視投影變換,得到校正圖在虛擬成像面上對應(yīng)的虛擬成像圖,可以確定各特征點在虛擬成像面上的坐標(biāo),也為后續(xù)的三維變換奠定了基礎(chǔ)。
圖3示出根據(jù)本公開一實施例的基于三維的行車環(huán)境成像方法中透視投影變換的示意圖。圖3示出了魚眼相機在空間中的位置31,魚眼相機在空間中的位置可以根據(jù)魚眼相機距離車身邊緣的距離以及魚眼相機距離地面的距離確定。例如,該魚眼相機可以為設(shè)置在車身前方的魚眼相機,在此不作限定。圖3還示出了魚眼相機的像平面32和魚眼相機的魚眼鏡頭33,魚眼相機的像平面32和魚眼相機的魚眼鏡頭33與魚眼相機的內(nèi)部參數(shù)相關(guān)。圖3還示出了棋盤格34、虛擬成像面35和實際成像面36。
相關(guān)技術(shù)中,將二維坐標(biāo)系上的點直接投影到三維空間中,得到全景拼接的成像效果不太準(zhǔn)確,圖像邊緣處容易出現(xiàn)錯位。為了克服該問題,在本實施例中,在二維坐標(biāo)系和三維坐標(biāo)系中找到過渡面(即虛擬成像面),利用透視投影變換將二維坐標(biāo)系中的特征點轉(zhuǎn)換到過渡面上,為三維的變換做好準(zhǔn)備。
在步驟S105中,建立三維行車環(huán)境模型。
根據(jù)三維成像的需求,可以建立三維行車環(huán)境模型。
其中,三維行車環(huán)境模型可以為船狀模型、碗狀模型、柱狀模型或者半球狀模型。
圖4示出根據(jù)本公開一實施例的基于三維的行車環(huán)境成像方法中三維行車環(huán)境模型的示意圖。如圖4所示,該三維行車環(huán)境模型的底部為平面,360度環(huán)繞著橢圓形曲面。該三維行車環(huán)境模型更貼近于駕駛員眼中的實際行車環(huán)境,由此使系統(tǒng)的友好性更高。
在步驟S106中,獲取虛擬成像圖的紋理。
其中,紋理可以包括物體表面的紋理(即物體表面呈現(xiàn)的凹凸不平的溝紋),也可以包括在物體的光滑表面上的彩色圖案(即花紋),在此不作限定。
在步驟S107中,根據(jù)第一矩陣將虛擬成像圖的紋理貼在三維行車環(huán)境模型上。
例如,第一矩陣可以表示為虛擬成像圖與三維行車環(huán)境模型之間的幾何變換可以表示為式2:
其中,(x′,y′,z′)表示三維行車模型上的點,(x,y,z)表示虛擬成像圖上的點;
x'=(x×M11)+(y×M21)+(z×M31)+(1×M41);
y'=(x×M12)+(y×M22)+(z×M32)+(1×M42);
z'=(x×M13)+(y×M23)+(z×M33)+(1×M43)。
本實施例通過紋理貼圖的方式將虛擬成像圖的紋理貼在三維行車環(huán)境模型上,能夠保存圖像的色彩、明暗和凹凸等眾多細節(jié),從而使行車環(huán)境的成像效果更真實。
在一種可能的實現(xiàn)方式中,根據(jù)第一矩陣將虛擬成像圖的紋理貼在三維行車環(huán)境模型上,包括:將虛擬成像圖劃分為多個子圖;根據(jù)第一矩陣將多個子圖的紋理貼在三維行車環(huán)境模型上。其中,將虛擬成像圖劃分為多個子圖可以為:將虛擬成像圖按照基礎(chǔ)形狀進行劃分,得到多個子圖。其中,基礎(chǔ)形狀可以為矩形、菱形、梯形或者三角形等,在此不作限定。通過將虛擬成像圖劃分為多個子圖后再貼到三維行車環(huán)境模型上,得到三維全景效果圖,能使成像效果更真實,更接近于實際行車環(huán)境。
圖5示出根據(jù)本公開一實施例的基于三維的行車環(huán)境成像方法中將虛擬成像圖轉(zhuǎn)換至三維行車環(huán)境模型的坐標(biāo)系中的示意圖。圖5示出了虛擬成像面51(A2B2對應(yīng)的面)、虛擬成像圖中的梯形棋盤格52、校正圖53(A1B1對應(yīng)的面)和畸變圖54(A3B3對應(yīng)的面)。如圖5所示,在該示例中,可以在車身的前、后、左、右安裝四個魚眼相機(Camera0、Camera1、Camera2和Camera3),以采集車身周圍的實時圖像。
根據(jù)本實施例的的基于三維的行車環(huán)境成像方法能夠使車身周圍立面場景顯示真實,立體感強,且平面貼圖與立面貼圖過渡自然,全景圖顯示范圍可以任意調(diào)控。
圖6示出根據(jù)本公開一實施例的基于三維的行車環(huán)境成像方法中步驟S101的一示例性的實現(xiàn)流程圖。如圖6所示,檢測魚眼相機獲取的畸變圖中的特征點,并根據(jù)特征點對應(yīng)的坐標(biāo)對魚眼相機進行標(biāo)定,得到畸變圖對應(yīng)的校正圖,包括:
在步驟S601中,檢測魚眼相機獲取的畸變圖中的第一組特征點。
在圖像處理中,特征點也可以稱為角點。特征點可以包括以下至少一項:圖像的極值點、線段的終點、曲線曲率最大的點以及水平或豎直方向上屬性最大的點。這些特征點是圖像很重要的特征,對圖像的理解和分析有很重要的作用。特征點在保留圖像的重要特征的同時,可以代替整幅圖像的處理,有效地減少信息的數(shù)據(jù)量,有效地提高計算速度,有利于圖像的可靠匹配,使實時處理成為可能。
在傳統(tǒng)的相機標(biāo)定中,通常采用多張不同角度拍攝的圖像,通過求解方程組來得到相機的參數(shù),但這種方式不能滿足車載系統(tǒng)的實時性要求。在本實施例中,采用單張圖像來完成魚眼相機的標(biāo)定。
在一種可能的實現(xiàn)方式中,第一組特征點可以為預(yù)先放置于魚眼相機的采集范圍中央的棋盤格標(biāo)定布對應(yīng)的特征點;第二組特征點可以為預(yù)先放置于魚眼相機的采集范圍內(nèi)、棋盤格標(biāo)定布兩側(cè)的多邊形標(biāo)定布對應(yīng)的特征點。其中,多邊形標(biāo)定布可以預(yù)先放置于棋盤格標(biāo)定布左右兩側(cè)等距處。預(yù)先放置于棋盤格標(biāo)定布兩側(cè)的多邊形標(biāo)定布可以為兩塊完全相同的標(biāo)定布。
在一種可能的實現(xiàn)方式中,多邊形標(biāo)定布為矩形標(biāo)定布。
在其他實現(xiàn)方式中,多邊形標(biāo)定布還可以為菱形標(biāo)定布、三角形標(biāo)定布或者梯形標(biāo)定布等,在此不作限定。
在本實施例中,檢測魚眼相機獲取的畸變圖中的第一組特征點可以包括:檢測第一組特征點的坐標(biāo)。
在一種可能的實現(xiàn)方式中,檢測魚眼相機獲取的畸變圖中的第一組特征點,包括:采用角點檢測算法檢測畸變圖中的第一組特征點。
圖7示出根據(jù)本公開一實施例的基于三維的行車環(huán)境成像方法中第一組特征點71的示意圖。其中,第一組特征點71可以為棋盤格格點,例如,可以為棋盤格的內(nèi)角點。為了便于說明,在圖7中未對所有棋盤格格點進行標(biāo)注。
在步驟S602中,對畸變圖進行投影處理,得到畸變圖對應(yīng)的投影圖。
由于魚眼相機一般安裝在車身四周,與水平地面之間存在一個傾斜角,導(dǎo)致魚眼相機采集的圖像中會產(chǎn)生較大的畸變。由圖2所示的畸變圖可知,棋盤格兩側(cè)的矩形圖像比棋盤格圖像的畸變程度更大,矩形變成了上窄下寬的梯形或者其他不規(guī)則的形狀,而不是標(biāo)準(zhǔn)的平行四邊形。畸變圖中標(biāo)定布的跨度較大,畸變圖中部棋盤格上的特征點較容易被檢測到,但兩側(cè)矩形邊緣的特征點可能無法被檢測到,這會影響后續(xù)的標(biāo)定,導(dǎo)致標(biāo)定結(jié)果的準(zhǔn)確度較低,從而對后續(xù)的車載圖像拼接、圖像處理帶來累積誤差,影響實用效果。為了修正這些不足,在本實施例中,在檢測畸變圖中的第一組特征點后,可以對畸變圖進行投影處理,例如,以水平地面作為投影面,得到俯視投影圖,從而讓三維空間中的二維形狀的原像表現(xiàn)出三維的視覺效果,也就是說,將前視圖(畸變圖)中不規(guī)則的圖像進行投影得到俯視圖(投影圖)中規(guī)則的矩形,這樣,原圖像中的形狀可以被很好地保留,且標(biāo)定后的圖像也不會失真,也可以使投影變換后的圖像上的特征點更容易被檢測到。
在一種可能的實現(xiàn)方式中,對畸變圖進行投影處理,得到畸變圖對應(yīng)的投影圖,包括:將水平面作為投影面,并將畸變圖投影在水平面上,得到畸變圖對應(yīng)的投影圖。
投影的公式如式1所示:
其中,u,v為畸變圖中的坐標(biāo),為變換矩陣,投影圖中的坐標(biāo)為x,y;其中,
已知投影變換對應(yīng)的幾個點,就可以求取變換矩陣,根據(jù)變換矩陣可以得到投影圖。
為了推及至一般的情況,即從任意的四邊形投影到另外一個四邊形,可以選擇一種規(guī)則的圖像作為中間圖形,例如:矩形、正方形或者菱形等。在一種可能的實現(xiàn)方式中,可以取一個正方形,并利用該正方形來模擬求解變換矩陣的參數(shù)的過程。設(shè)正方形的四個特征點分別為(0,0)、(1,0)、(0,1)、(1,1),變換后的四個特征點對應(yīng)的坐標(biāo)分別為(x0,y0)、(x1,y1)、(x2,y2)、(x3,y3),根據(jù)變換公式得到:
a31=x0;
a11+a31-a13x1=x1;
a21+a31-a23x2=x2;
a11+a21+a31-a13x3-a23x3=x3;
a32=y(tǒng)0;
a12+a32-a23y1=y(tǒng)1;
a22+a32-a23y2=y(tǒng)2;
a12+a22+a32-a23y3-a23y3=y(tǒng)3。
定義幾個輔助變量:
Δx1=x1-x2;
Δx2=x3-x2;
Δx3=x0-x1+x2-x3;
Δy1=y(tǒng)1-y2;
Δy2=y(tǒng)3-y2;
Δy3=y(tǒng)0-y1+y2-y3。
當(dāng)Δx3和Δy3都為0時,變換后的平面與原來的平面是平行的,可以得到:
a11=x1-x0;
a21=x2-x1;
a31=x0;
a12=y(tǒng)1-y0;
a22=y(tǒng)2-y1;
a32=y(tǒng)0;
a13=0;
a12=0。
當(dāng)Δx3和/或Δy3不為0時,可以得到:
a11=x1-x0+a12x1;
a21=x3-x0+a12x2;
a31=x0;
a12=y(tǒng)1-y0+a13y1;
a22=y(tǒng)3-y0+a23y3;
a32=0;
上述過程求解出的變換矩陣可以將一個正方形變換成一個凸四邊形。同理,也可以將一個任意凸四邊形變換成一個正方形。
對圖2所示的畸變圖進行如上述過程所示的變換,可以將畸變圖中的非標(biāo)準(zhǔn)的四邊形投影到水平地面上,得到標(biāo)準(zhǔn)的矩形,如圖8所示。圖8示出根據(jù)本公開一實施例的基于三維的行車環(huán)境成像方法中投影圖的示意圖。
在步驟S603中,檢測投影圖中的第二組特征點。
進行投影處理得到投影圖中,圖像中的邊緣區(qū)域(例如圖8中的矩形區(qū)域)的特征點更容易被檢測。
在一種可能的實現(xiàn)方式中,檢測投影圖中的第二組特征點,包括:采用角點檢測算法檢測投影圖中的第二組特征點。
在步驟S604中,對投影圖進行反投影處理,得到畸變圖,并確定第一組特征點和第二組特征點在畸變圖的圖像坐標(biāo)系中的坐標(biāo)。
圖9示出根據(jù)本公開一實施例的基于三維的行車環(huán)境成像方法中反投影得到的畸變圖以及第二組特征點91的示意圖。其中,第二組特征點91可以為多邊形的頂點。
在步驟S605中,根據(jù)第一組特征點和第二組特征點的位置確定第一組特征點和第二組特征點與預(yù)先設(shè)置的目標(biāo)點的對應(yīng)關(guān)系。
其中,預(yù)先設(shè)置的目標(biāo)點在世界坐標(biāo)系中的坐標(biāo)已知。
在步驟S606中,根據(jù)第一組特征點和第二組特征點與預(yù)先設(shè)置的目標(biāo)點的對應(yīng)關(guān)系,以及目標(biāo)點在世界坐標(biāo)系中的坐標(biāo),確定第一組特征點和第二組特征點在世界坐標(biāo)系中對應(yīng)的坐標(biāo)。
用(XW,YW,ZW)表示世界坐標(biāo)系中的坐標(biāo),用(XC,YC,ZC)表示相機坐標(biāo)系中的坐標(biāo),用(x,y)表示圖像坐標(biāo)系中的坐標(biāo),用(u,v)表示像素坐標(biāo)系中的坐標(biāo),四個坐標(biāo)系之間的轉(zhuǎn)換關(guān)系如下:
其中,f表示魚眼相機的焦距,dx表示第一參數(shù)表中的每個像素在圖像平面的水平軸方向上的物理尺寸,dy表示第一參數(shù)表中的每個像素在圖像平面的垂直軸方向上的物理尺寸。為魚眼相機的外部參數(shù)矩陣,R為3×3的正交旋轉(zhuǎn)矩陣,t為三維平移向量,R和t為外部參數(shù)。為內(nèi)部參數(shù)矩陣,ax、ay、u0和v0為內(nèi)部參數(shù)。
在步驟S607中,根據(jù)第一組特征點和第二組特征點在圖像坐標(biāo)系中的坐標(biāo)以及在世界坐標(biāo)系中對應(yīng)的坐標(biāo),對魚眼相機進行標(biāo)定,并得到畸變圖對應(yīng)的校正圖。
在本實施例中,第一組特征點和第二組特征點在很大程度上已經(jīng)布滿了整個圖像。設(shè)(X,Y,Z)為空間中的一個三維點,它在成像平面對應(yīng)的像素坐標(biāo)系中的坐標(biāo)為(u,v),在考慮畸變的情況下,列出方程組:
r2=a2+b2;
θ=atan(r);
θ′=θ(1+k1θ2+k2θ4+k3θ6+k4θ8);
u=fxx′+cx;
v=fyy′+cy。
其中,r表示投影點到圖像中心點的距離,k1~k4表示魚眼相機的畸變參數(shù),fx表示內(nèi)部參數(shù)矩陣的水平軸的尺度因子,fy表示內(nèi)部參數(shù)矩陣的垂直軸的尺度因子。利用矩陣的L-U分解求解方程組,可得到魚眼相機的內(nèi)外參數(shù),從而完成魚眼相機的標(biāo)定。
需要說明的是,利用圖7對魚眼相機進行標(biāo)定的標(biāo)定過程可以參考o(jì)pencv3.0中的fisheye標(biāo)定方法,在此不再贅述。
圖10示出相關(guān)技術(shù)中對單幅魚眼圖像進行標(biāo)定的結(jié)果的示意圖。如圖10所示,在相關(guān)技術(shù)中,若使用單幅魚眼圖像,則圖像中部的棋盤格部分能夠得到較好的校正,但其他部分的校正效果較差。
圖11示出根據(jù)本公開一實施例的基于三維的行車環(huán)境成像方法中對單幅魚眼圖像進行標(biāo)定的結(jié)果的示意圖。
下面給出根據(jù)本實施例進行實驗得到的示例性的部分標(biāo)定結(jié)果:
圖11所示的圖像的平均誤差為:0.0975531像素;
總體平均誤差為:0.0975531像素;
相機的內(nèi)部參數(shù)矩陣為:
畸變系數(shù)(包括兩個徑向畸變系數(shù)和兩個切向畸變系數(shù))為:
[0.045846,0.605714,-0.657144,-0.0388607]。
通過實驗得到的數(shù)據(jù)以及圖11所示的校正圖,可以看出,根據(jù)本實施例提供的魚眼相機的標(biāo)定方法進行相機標(biāo)定的平均誤差很小,且內(nèi)部參數(shù)矩陣中得到的中心點值與中心點的理論值相差很小,且標(biāo)定后的圖像畸變得到了很大的改善,標(biāo)定結(jié)果更為精確。
本實施例能夠利用單幅圖像完成相機內(nèi)外參數(shù)的標(biāo)定,能夠提高標(biāo)定的精確度,簡化標(biāo)定過程,提高標(biāo)定速度,從而能夠提高標(biāo)定的實時性。
在一種可能的實現(xiàn)方式中,該方法還包括:建立三維汽車模型;將三維汽車模型顯示在三維行車環(huán)境模型中。例如,可以利用3DMax建立三維汽車模型,并可以根據(jù)實際車輛的長寬來對三維汽車模型進行調(diào)節(jié),以達到最佳的匹配效果,使系統(tǒng)具有更好的普適性。
圖12示出根據(jù)本公開一實施例的基于三維的行車環(huán)境成像方法中三維汽車模型的示意圖。
在一種可能的實現(xiàn)方式中,根據(jù)第一矩陣將多個子圖的紋理貼在三維行車環(huán)境模型上,包括:在相鄰的子圖之間存在重疊區(qū)域的情況下,對重疊區(qū)域進行融合處理。由于魚眼鏡頭的視野較廣,因此魚眼相機在采集圖像時,相鄰兩個方向會出現(xiàn)圖像的重疊。圖13示出根據(jù)本公開一實施例的基于三維的行車環(huán)境成像方法中前視圖(1)與右視圖(2)的重疊部分的示意圖。
作為該實現(xiàn)方式的一個示例,可以采用融合方程組對重疊區(qū)域進行融合處理。其中,0≤a≤1,0≤b≤1,x和y表示同一圖像空間在相鄰的兩個子圖中的RGBA值,r表示融合后的RGBA值。圖14示出據(jù)本公開一實施例的基于三維的行車環(huán)境成像方法的融合方程組的參數(shù)a和b的變化趨勢的示意圖。如圖14所示,參數(shù)a和b的變化趨勢可以包括:在拼接線處a=0.5,b=0.5;在拼接線左邊的前視區(qū)域中,a值從左向右從1線性遞減為0.5,b值由左向右從0線性遞增為0.5;在拼接線右邊的右視區(qū)域中,a值從左向右從0.5線性遞減為0,b值由左向右從0.5線性遞增為1。利用融合方程組可以計算出重疊區(qū)域各處的RGBA值,從而使重疊區(qū)域進行較好的融合。通過該實現(xiàn)方式能夠使融合區(qū)域的重影范圍較小。
基于本公開一實施例的基于三維的行車環(huán)境成像方法,可以得到三維汽車全景輔助駕駛系統(tǒng)。圖15示出根據(jù)本公開一實施例的基于三維的行車環(huán)境成像方法得到的三維汽車全景輔助駕駛系統(tǒng)的運行展示示意圖。
實施例2
圖16示出根據(jù)本公開另一實施例的基于三維的行車環(huán)境成像裝置的結(jié)構(gòu)框圖。如圖16所示,該裝置包括:校正圖確定模塊161,用于檢測魚眼相機獲取的畸變圖中的特征點,并根據(jù)特征點對應(yīng)的坐標(biāo)對魚眼相機進行標(biāo)定,得到畸變圖對應(yīng)的校正圖;第一矩陣確定模塊162,用于根據(jù)魚眼相機的相關(guān)參數(shù)確定第一矩陣;第二矩陣確定模塊163,用于根據(jù)第一矩陣以及特征點在校正圖中的坐標(biāo)確定第二矩陣;虛擬成像圖確定模塊164,用于根據(jù)第二矩陣對校正圖進行透視投影變換,得到校正圖在虛擬成像面上對應(yīng)的虛擬成像圖,并確定特征點在虛擬成像面上的坐標(biāo);三維行車環(huán)境模型建立模塊165,用于建立三維行車環(huán)境模型;紋理獲取模塊166,用于獲取虛擬成像圖的紋理;紋理貼圖模塊167,用于根據(jù)第一矩陣將虛擬成像圖的紋理貼在三維行車環(huán)境模型上。
圖17示出根據(jù)本公開另一實施例的基于三維的行車環(huán)境成像裝置的一示例性的結(jié)構(gòu)框圖。如圖17所示:
在一種可能的實現(xiàn)方式中,校正圖確定模塊161包括:第一組特征點檢測子模塊1611,用于檢測魚眼相機獲取的畸變圖中的第一組特征點;投影子模塊1612,用于對畸變圖進行投影處理,得到畸變圖對應(yīng)的投影圖;第二組特征點檢測子模塊1613,用于檢測投影圖中的第二組特征點;反投影子模塊1614,用于對投影圖進行反投影處理,得到畸變圖,并確定第一組特征點和第二組特征點在畸變圖的圖像坐標(biāo)系中的坐標(biāo);對應(yīng)關(guān)系確定子模塊1615,用于根據(jù)第一組特征點和第二組特征點的位置確定第一組特征點和第二組特征點與預(yù)先設(shè)置的目標(biāo)點的對應(yīng)關(guān)系;坐標(biāo)確定子模塊1616,用于根據(jù)第一組特征點和第二組特征點與預(yù)先設(shè)置的目標(biāo)點的對應(yīng)關(guān)系,以及目標(biāo)點在世界坐標(biāo)系中的坐標(biāo),確定第一組特征點和第二組特征點在世界坐標(biāo)系中對應(yīng)的坐標(biāo);標(biāo)定與校正子模塊1617,用于根據(jù)第一組特征點和第二組特征點在圖像坐標(biāo)系中的坐標(biāo)以及在世界坐標(biāo)系中對應(yīng)的坐標(biāo),對魚眼相機進行標(biāo)定,并得到畸變圖對應(yīng)的校正圖。
在一種可能的實現(xiàn)方式中,第一矩陣確定模塊162用于:根據(jù)魚眼相機在世界坐標(biāo)系中的坐標(biāo)以及魚眼相機的視角、朝向確定第一矩陣。
在一種可能的實現(xiàn)方式中,紋理貼圖模塊167包括:子圖劃分子模塊1671,用于將虛擬成像圖劃分為多個子圖;紋理貼圖子模塊1672,用于根據(jù)第一矩陣將多個子圖的紋理貼在三維行車環(huán)境模型上。
在一種可能的實現(xiàn)方式中,三維行車環(huán)境模型為船狀模型、碗狀模型、柱狀模型或者半球狀模型。
在一種可能的實現(xiàn)方式中,該裝置還包括:三維汽車模型建立模塊168,用于建立三維汽車模型;三維汽車模型顯示模塊169,用于將三維汽車模型顯示在三維行車環(huán)境模型中。
在一種可能的實現(xiàn)方式中,紋理貼圖子模塊1672包括:融合處理子模塊,用于在相鄰的子圖之間存在重疊區(qū)域的情況下,對重疊區(qū)域進行融合處理。
本實施例能夠使車身周圍立面場景顯示真實,立體感強,且平面貼圖與立面貼圖過渡自然。
實施例3
圖18是根據(jù)一示例性實施例示出的一種用于基于三維的行車環(huán)境成像的裝置800的框圖。例如,裝置800可以是計算機,移動電話,數(shù)字廣播終端,消息收發(fā)設(shè)備,游戲控制臺,平板設(shè)備,醫(yī)療設(shè)備,健身設(shè)備,個人數(shù)字助理等。
參照圖18,裝置800可以包括以下一個或多個組件:處理組件802,存儲器804,電源組件806,多媒體組件808,音頻組件810,輸入/輸出(I/O)的接口812,傳感器組件814,以及通信組件816。
處理組件802通??刂蒲b置800的整體操作,諸如與顯示,電話呼叫,數(shù)據(jù)通信,相機操作和記錄操作相關(guān)聯(lián)的操作。處理組件802可以包括一個或多個處理器820來執(zhí)行指令,以完成上述的方法的全部或部分步驟。此外,處理組件802可以包括一個或多個模塊,便于處理組件802和其他組件之間的交互。例如,處理組件802可以包括多媒體模塊,以方便多媒體組件808和處理組件802之間的交互。
存儲器804被配置為存儲各種類型的數(shù)據(jù)以支持在裝置800的操作。這些數(shù)據(jù)的示例包括用于在裝置800上操作的任何應(yīng)用程序或方法的指令,聯(lián)系人數(shù)據(jù),電話簿數(shù)據(jù),消息,圖片,視頻等。存儲器804可以由任何類型的易失性或非易失性存儲設(shè)備或者它們的組合實現(xiàn),如靜態(tài)隨機存取存儲器(SRAM),電可擦除可編程只讀存儲器(EEPROM),可擦除可編程只讀存儲器(EPROM),可編程只讀存儲器(PROM),只讀存儲器(ROM),磁存儲器,快閃存儲器,磁盤或光盤。
電源組件806為裝置800的各種組件提供電力。電源組件806可以包括電源管理系統(tǒng),一個或多個電源,及其他與為裝置800生成、管理和分配電力相關(guān)聯(lián)的組件。
多媒體組件808包括在所述裝置800和用戶之間的提供一個輸出接口的屏幕。在一些實施例中,屏幕可以包括液晶顯示器(LCD)和觸摸面板(TP)。如果屏幕包括觸摸面板,屏幕可以被實現(xiàn)為觸摸屏,以接收來自用戶的輸入信號。觸摸面板包括一個或多個觸摸傳感器以感測觸摸、滑動和觸摸面板上的手勢。所述觸摸傳感器可以不僅感測觸摸或滑動動作的邊界,而且還檢測與所述觸摸或滑動操作相關(guān)的持續(xù)時間和壓力。在一些實施例中,多媒體組件808包括一個前置攝像頭和/或后置攝像頭。當(dāng)裝置800處于操作模式,如拍攝模式或視頻模式時,前置攝像頭和/或后置攝像頭可以接收外部的多媒體數(shù)據(jù)。每個前置攝像頭和后置攝像頭可以是一個固定的光學(xué)透鏡系統(tǒng)或具有焦距和光學(xué)變焦能力。
音頻組件810被配置為輸出和/或輸入音頻信號。例如,音頻組件810包括一個麥克風(fēng)(MIC),當(dāng)裝置800處于操作模式,如呼叫模式、記錄模式和語音識別模式時,麥克風(fēng)被配置為接收外部音頻信號。所接收的音頻信號可以被進一步存儲在存儲器804或經(jīng)由通信組件816發(fā)送。在一些實施例中,音頻組件810還包括一個揚聲器,用于輸出音頻信號。
I/O接口812為處理組件802和外圍接口模塊之間提供接口,上述外圍接口模塊可以是鍵盤,點擊輪,按鈕等。這些按鈕可包括但不限于:主頁按鈕、音量按鈕、啟動按鈕和鎖定按鈕。
傳感器組件814包括一個或多個傳感器,用于為裝置800提供各個方面的狀態(tài)評估。例如,傳感器組件814可以檢測到裝置800的打開/關(guān)閉狀態(tài),組件的相對定位,例如所述組件為裝置800的顯示器和小鍵盤,傳感器組件814還可以檢測裝置800或裝置800一個組件的位置改變,用戶與裝置800接觸的存在或不存在,裝置800方位或加速/減速和裝置800的溫度變化。傳感器組件814可以包括接近傳感器,被配置用來在沒有任何的物理接觸時檢測附近物體的存在。傳感器組件814還可以包括光傳感器,如CMOS或CCD圖像傳感器,用于在成像應(yīng)用中使用。在一些實施例中,該傳感器組件814還可以包括加速度傳感器,陀螺儀傳感器,磁傳感器,壓力傳感器或溫度傳感器。
通信組件816被配置為便于裝置800和其他設(shè)備之間有線或無線方式的通信。裝置800可以接入基于通信標(biāo)準(zhǔn)的無線網(wǎng)絡(luò),如WiFi,2G或3G,或它們的組合。在一個示例性實施例中,通信組件816經(jīng)由廣播信道接收來自外部廣播管理系統(tǒng)的廣播信號或廣播相關(guān)信息。在一個示例性實施例中,所述通信組件816還包括近場通信(NFC)模塊,以促進短程通信。例如,在NFC模塊可基于射頻識別(RFID)技術(shù),紅外數(shù)據(jù)協(xié)會(IrDA)技術(shù),超寬帶(UWB)技術(shù),藍牙(BT)技術(shù)和其他技術(shù)來實現(xiàn)。
在示例性實施例中,裝置800可以被一個或多個應(yīng)用專用集成電路(ASIC)、數(shù)字信號處理器(DSP)、數(shù)字信號處理設(shè)備(DSPD)、可編程邏輯器件(PLD)、現(xiàn)場可編程門陣列(FPGA)、控制器、微控制器、微處理器或其他電子元件實現(xiàn),用于執(zhí)行上述方法。
在示例性實施例中,還提供了一種包括指令的非易失性計算機可讀存儲介質(zhì),例如包括指令的存儲器804,上述指令可由裝置800的處理器820執(zhí)行以完成上述方法。
本公開可以是系統(tǒng)、方法和/或計算機程序產(chǎn)品。計算機程序產(chǎn)品可以包括計算機可讀存儲介質(zhì),其上載有用于使處理器實現(xiàn)本公開的各個方面的計算機可讀程序指令。
計算機可讀存儲介質(zhì)可以是可以保持和存儲由指令執(zhí)行設(shè)備使用的指令的有形設(shè)備。計算機可讀存儲介質(zhì)例如可以是――但不限于――電存儲設(shè)備、磁存儲設(shè)備、光存儲設(shè)備、電磁存儲設(shè)備、半導(dǎo)體存儲設(shè)備或者上述的任意合適的組合。計算機可讀存儲介質(zhì)的更具體的例子(非窮舉的列表)包括:便攜式計算機盤、硬盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、可擦式可編程只讀存儲器(EPROM或閃存)、靜態(tài)隨機存取存儲器(SRAM)、便攜式壓縮盤只讀存儲器(CD-ROM)、數(shù)字多功能盤(DVD)、記憶棒、軟盤、機械編碼設(shè)備、例如其上存儲有指令的打孔卡或凹槽內(nèi)凸起結(jié)構(gòu)、以及上述的任意合適的組合。這里所使用的計算機可讀存儲介質(zhì)不被解釋為瞬時信號本身,諸如無線電波或者其他自由傳播的電磁波、通過波導(dǎo)或其他傳輸媒介傳播的電磁波(例如,通過光纖電纜的光脈沖)、或者通過電線傳輸?shù)碾娦盘枴?/p>
這里所描述的計算機可讀程序指令可以從計算機可讀存儲介質(zhì)下載到各個計算/處理設(shè)備,或者通過網(wǎng)絡(luò)、例如因特網(wǎng)、局域網(wǎng)、廣域網(wǎng)和/或無線網(wǎng)下載到外部計算機或外部存儲設(shè)備。網(wǎng)絡(luò)可以包括銅傳輸電纜、光纖傳輸、無線傳輸、路由器、防火墻、交換機、網(wǎng)關(guān)計算機和/或邊緣服務(wù)器。每個計算/處理設(shè)備中的網(wǎng)絡(luò)適配卡或者網(wǎng)絡(luò)接口從網(wǎng)絡(luò)接收計算機可讀程序指令,并轉(zhuǎn)發(fā)該計算機可讀程序指令,以供存儲在各個計算/處理設(shè)備中的計算機可讀存儲介質(zhì)中。
用于執(zhí)行本公開操作的計算機程序指令可以是匯編指令、指令集架構(gòu)(ISA)指令、機器指令、機器相關(guān)指令、微代碼、固件指令、狀態(tài)設(shè)置數(shù)據(jù)、或者以一種或多種編程語言的任意組合編寫的源代碼或目標(biāo)代碼,所述編程語言包括面向?qū)ο蟮木幊陶Z言—諸如Smalltalk、C++等,以及常規(guī)的過程式編程語言—諸如“C”語言或類似的編程語言。計算機可讀程序指令可以完全地在用戶計算機上執(zhí)行、部分地在用戶計算機上執(zhí)行、作為一個獨立的軟件包執(zhí)行、部分在用戶計算機上部分在遠程計算機上執(zhí)行、或者完全在遠程計算機或服務(wù)器上執(zhí)行。在涉及遠程計算機的情形中,遠程計算機可以通過任意種類的網(wǎng)絡(luò)—包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)—連接到用戶計算機,或者,可以連接到外部計算機(例如利用因特網(wǎng)服務(wù)提供商來通過因特網(wǎng)連接)。在一些實施例中,通過利用計算機可讀程序指令的狀態(tài)信息來個性化定制電子電路,例如可編程邏輯電路、現(xiàn)場可編程門陣列(FPGA)或可編程邏輯陣列(PLA),該電子電路可以執(zhí)行計算機可讀程序指令,從而實現(xiàn)本公開的各個方面。
這里參照根據(jù)本公開實施例的方法、裝置(系統(tǒng))和計算機程序產(chǎn)品的流程圖和/或框圖描述了本公開的各個方面。應(yīng)當(dāng)理解,流程圖和/或框圖的每個方框以及流程圖和/或框圖中各方框的組合,都可以由計算機可讀程序指令實現(xiàn)。
這些計算機可讀程序指令可以提供給通用計算機、專用計算機或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機器,使得這些指令在通過計算機或其它可編程數(shù)據(jù)處理裝置的處理器執(zhí)行時,產(chǎn)生了實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的裝置。也可以把這些計算機可讀程序指令存儲在計算機可讀存儲介質(zhì)中,這些指令使得計算機、可編程數(shù)據(jù)處理裝置和/或其他設(shè)備以特定方式工作,從而,存儲有指令的計算機可讀介質(zhì)則包括一個制造品,其包括實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的各個方面的指令。
也可以把計算機可讀程序指令加載到計算機、其它可編程數(shù)據(jù)處理裝置、或其它設(shè)備上,使得在計算機、其它可編程數(shù)據(jù)處理裝置或其它設(shè)備上執(zhí)行一系列操作步驟,以產(chǎn)生計算機實現(xiàn)的過程,從而使得在計算機、其它可編程數(shù)據(jù)處理裝置、或其它設(shè)備上執(zhí)行的指令實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作。
附圖中的流程圖和框圖顯示了根據(jù)本公開的多個實施例的系統(tǒng)、方法和計算機程序產(chǎn)品的可能實現(xiàn)的體系架構(gòu)、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段或指令的一部分,所述模塊、程序段或指令的一部分包含一個或多個用于實現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。在有些作為替換的實現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動作的專用的基于硬件的系統(tǒng)來實現(xiàn),或者可以用專用硬件與計算機指令的組合來實現(xiàn)。
以上已經(jīng)描述了本公開的各實施例,上述說明是示例性的,并非窮盡性的,并且也不限于所披露的各實施例。在不偏離所說明的各實施例的范圍和精神的情況下,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說許多修改和變更都是顯而易見的。本文中所用術(shù)語的選擇,旨在最好地解釋各實施例的原理、實際應(yīng)用或?qū)κ袌鲋械募夹g(shù)的技術(shù)改進,或者使本技術(shù)領(lǐng)域的其它普通技術(shù)人員能理解本文披露的各實施例。