專(zhuān)利名稱(chēng):在人群模擬環(huán)境中計(jì)算智能體的無(wú)沖突速度的方法
技術(shù)領(lǐng)域:
一般來(lái)說(shuō),本發(fā)明的公開(kāi)實(shí)施例涉及計(jì)算機(jī)生成影像(imagery),更具體來(lái)說(shuō),涉 及計(jì)算機(jī)生成影像中的人群模擬(crowd simulation)任務(wù)。
背景技術(shù):
虛擬世界應(yīng)用(例如kcond Life)成為連接視覺(jué)運(yùn)算(CVC :Connected Visual Computing)范例的重要組件。待執(zhí)行的重要任務(wù)之一是Α. I.(人工智能),其中虛擬世界 的人物(character)執(zhí)行特定的所分配任務(wù)并且在該世界導(dǎo)航(navigate)。人物導(dǎo)航又稱(chēng) 作人群模擬,它是計(jì)算密集任務(wù),并且現(xiàn)有算法只能實(shí)時(shí)模擬幾千個(gè)智能體(agent)。這是 生成現(xiàn)實(shí)虛擬世界場(chǎng)景(scenario)所需的從支持?jǐn)?shù)十到幾十萬(wàn)個(gè)智能體的數(shù)量級(jí)。
發(fā)明內(nèi)容
本發(fā)明一方面涉及一種使用計(jì)算裝置在人群模擬環(huán)境中計(jì)算智能體的無(wú)沖突 速度(collision-free)的方法,所述方法包括識(shí)別與所述無(wú)沖突速度對(duì)應(yīng)的二次優(yōu)化 (quadratic optimization)問(wèn)題;以及在所述計(jì)算裝置通過(guò)使用幾何方法找到所述二次優(yōu) 化問(wèn)題的準(zhǔn)確解決方案。本發(fā)明另一方面涉及一種在人群模擬環(huán)境中計(jì)算智能體的無(wú)沖突速度的方法,在 所述人群模擬環(huán)境中所述智能體具有初始速度并且與駐留在速度空間中的多個(gè)障礙錐體 (obstacle cone)關(guān)聯(lián),所述方法包括將所述障礙錐體中位于所有其它障礙錐體外部的所 有邊界段識(shí)別為外部邊界段;針對(duì)每個(gè)外部邊界段,計(jì)算所述外部邊界段距所述初始速度 的最小距離;以及選擇與最小的所計(jì)算最小距離對(duì)應(yīng)的速度作為所述無(wú)沖突速度。本發(fā)明另一方面涉及一種在虛擬世界應(yīng)用中計(jì)算智能體的無(wú)沖突速度的方法,所 述方法包括針對(duì)所述虛擬世界應(yīng)用的視覺(jué)模擬環(huán)節(jié)(loop)的每個(gè)圖像更新幀得到所述 智能體的初始速度;為所述虛擬世界應(yīng)用中位于所述智能體的特定距離之內(nèi)的每個(gè)外來(lái)智 能體構(gòu)造速度空間中的障礙錐體,每個(gè)這種障礙錐體表示將在所述智能體與特定外來(lái)智能 體之間引起沖突的所有速度的集合,假定所述特定外來(lái)智能體的速度沒(méi)有改變;識(shí)別所述 智能體的多個(gè)可能新速度,其中的每個(gè)位于所有所述障礙錐體外部;確定從所述初始速度 到所述可能新速度中每一個(gè)的距離,以便找到所述可能新速度中最接近所述初始速度的特 定一個(gè)新速度;以及選擇所述多個(gè)可能新速度中最接近的那個(gè)新速度作為所述圖像更新幀 的無(wú)沖突速度。
通過(guò)閱讀以下結(jié)合附圖的具體實(shí)施方式
,將會(huì)更好地了解所公開(kāi)實(shí)施例,附圖 中圖1是根據(jù)本發(fā)明實(shí)施例涉及三個(gè)智能體的簡(jiǎn)單人群模擬場(chǎng)景的表示;圖2是根據(jù)本發(fā)明實(shí)施例在人群模擬場(chǎng)景中發(fā)現(xiàn)無(wú)沖突的幾何方法的圖示;
圖3是示出根據(jù)本發(fā)明實(shí)施例在人群模擬環(huán)境中計(jì)算智能體的無(wú)沖突速度的方 法的流程圖;以及圖4是示出根據(jù)本發(fā)明實(shí)施例在其中智能體具有初始速度并且與駐留在速度空 間的多個(gè)障礙錐體關(guān)聯(lián)的人群模擬環(huán)境中計(jì)算智能體的無(wú)沖突速度的方法的流程圖。
具體實(shí)施例方式為了說(shuō)明的簡(jiǎn)潔和清晰起見(jiàn),附圖示出構(gòu)造的一般方式,并且可省略眾所周知的 特征和技術(shù)的描述及細(xì)節(jié),以免不必要地混淆對(duì)本發(fā)明所述實(shí)施例的論述。另外,附圖中的 要素不一定按比例繪制。例如,圖中一些要素的尺寸相對(duì)于其它要素被放大,以便幫助提高 對(duì)本發(fā)明實(shí)施例的理解。不同附圖中的相同參考標(biāo)號(hào)表示相同要素,而相似參考標(biāo)號(hào)可以 但不一定表示相似要素。說(shuō)明書(shū)和權(quán)利要求書(shū)中的術(shù)語(yǔ)“第一”、“第二”、“第三”、“第四”等如果存在則用于 區(qū)分相似要素,但不一定用于描述特定連續(xù)或時(shí)間順序。要理解,這樣使用的術(shù)語(yǔ)在適當(dāng)情 況下是可互換的,使得本文所述的本發(fā)明實(shí)施例例如能夠按照與本文所示或所述的不同次 序進(jìn)行操作。類(lèi)似地,如果方法在本文中描述為包括一系列步驟,則本文所提供的這類(lèi)步驟 的順序不一定是可執(zhí)行這類(lèi)步驟的唯一順序,而是可能省略所述步驟中的某些和/或可能 將本文沒(méi)有描述的某些其它步驟添加到該方法。此外,術(shù)語(yǔ)“包括”、“包含”、“具有”及其任 何變型意在涵蓋非排他的包含,使得包括要素列表的過(guò)程、方法、產(chǎn)品或設(shè)備不一定局限于 那些要素,而是可包括未明確列出或者這種過(guò)程、方法、產(chǎn)品或設(shè)備固有的其它要素。說(shuō)明書(shū)和權(quán)利要求書(shū)中的術(shù)語(yǔ)“左”、“右”、“前”、“后”、“頂部”、“底部”、“之上”、“之 下”等如果存在則用于描述性目的,而不一定用于描述永久相對(duì)位置。要理解,這樣使用的 術(shù)語(yǔ)在適當(dāng)情況下是可互換的,使得本文所述的本發(fā)明實(shí)施例例如能夠按照與本文所示或 所述的不同的其它取向進(jìn)行操作。本文所使用的術(shù)語(yǔ)“耦合”定義為按照電或非電的方式 直接或間接連接。本文中描述為彼此“相鄰”的對(duì)象在適合于使用該詞語(yǔ)的上下文的情況 下可以是彼此物理接觸、彼此接近或者彼此在同一一般區(qū)域或地區(qū)。本文中詞語(yǔ)“在一個(gè)實(shí)施例中”的出現(xiàn)不一定都表示同一實(shí)施例。在本發(fā)明的一個(gè)實(shí)施例中,一種在人群模擬環(huán)境中計(jì)算智能體的無(wú)沖突速度的方 法包括識(shí)別與無(wú)沖突速度對(duì)應(yīng)的二次優(yōu)化問(wèn)題;以及通過(guò)使用幾何方法來(lái)找到二次優(yōu)化 的準(zhǔn)確解決方案。虛擬世界中的人群模擬在給定出現(xiàn)3D社交網(wǎng)站的情況下具有不斷增長(zhǎng)的重要 性。同樣,人群模擬是視覺(jué)模擬環(huán)節(jié)中Α. I.部分的增長(zhǎng)組件。計(jì)算智能體的無(wú)沖突速度 是人群模擬算法的最費(fèi)時(shí)部分。當(dāng)前最常用的方法稱(chēng)作RV0(互逆速度障礙Reciprocal Velocity Obstacle),其中在速度空間中為智能體構(gòu)成障礙錐體,并且計(jì)算使與這些錐 體的沖突的時(shí)間最大的速度。該算法使用基于取樣的方法,其中從均勻分布點(diǎn)選擇一組 200-300個(gè)樣本,并且選擇使沖突的時(shí)間最大的樣本作為智能體的下一時(shí)間步(time step) 的速度。這種方法甚至不保證找到無(wú)沖突速度,并且實(shí)際上常常導(dǎo)致智能體之間的沖突。相比之下,本發(fā)明的實(shí)施例將無(wú)沖突速度問(wèn)題闡述為二次優(yōu)化問(wèn)題,并且使用幾 何方法對(duì)它準(zhǔn)確求解,下面進(jìn)一步描述。(二次優(yōu)化問(wèn)題尋求最佳值,其中該優(yōu)化函數(shù)為二 次,并且約束函數(shù)為線(xiàn)性。)本發(fā)明的實(shí)施例使智能體的局部沖突避免速度能夠比當(dāng)前使用方法明顯更快地進(jìn)行計(jì)算,并且實(shí)現(xiàn)現(xiàn)實(shí)3D人群模擬的生成、新用例(use-case)場(chǎng)景和更 豐富用戶(hù)體驗(yàn)。所公開(kāi)的方法也可適用于現(xiàn)代3D游戲,因?yàn)榇嬖谔摂M世界的特定實(shí)例。現(xiàn)在參照附圖,圖1是根據(jù)本發(fā)明實(shí)施例在速度空間中涉及三個(gè)智能體的簡(jiǎn)單人 群模擬場(chǎng)景100的表示。如圖1所示,這三個(gè)智能體包括智能體110連同智能體110必須 避開(kāi)的智能體120和130。箭頭115(智能體110、120和130中每個(gè)一個(gè))表示下一幀中 每個(gè)智能體的優(yōu)選速度(例如,使用根據(jù)本發(fā)明實(shí)施例的計(jì)算找到的)。障礙錐體125和 135對(duì)于智能體110表示分別對(duì)應(yīng)于智能體120和130的速度障礙。這些速度障礙構(gòu)成將 與其它智能體引起沖突的速度區(qū)域。換言之,錐體內(nèi)部的每個(gè)點(diǎn)對(duì)應(yīng)于最終將引起智能體 110與智能體120和130中之一或二者之間的沖突(只要那些智能體保持恒定速度)的速 度,而兩個(gè)錐體外部的每一個(gè)點(diǎn)對(duì)應(yīng)于無(wú)沖突速度。當(dāng)然,智能體120和130可很好地呈現(xiàn) 從一個(gè)瞬間(moment)到下一個(gè)瞬間的速度變化,從而使恒定速度的假設(shè)成為不良假設(shè),但 是由于在每個(gè)時(shí)間步或更新幀更新障礙錐體,所以這個(gè)潛在問(wèn)題得到緩解。如圖所示,智能體110的速度箭頭115與障礙錐體125相交,表示與智能體120的 沖突即將來(lái)臨。因此,必須計(jì)算智能體110的新速度,以避免該沖突;這個(gè)新速度應(yīng)當(dāng)位于 兩個(gè)障礙錐體外部。仍然參照?qǐng)D1,一個(gè)這樣的新速度由箭頭117表示。由于這個(gè)新速度 位于障礙錐體125和135外部,所以它將(根據(jù)在圖中所示時(shí)間已知的信息)允許智能體 110避免與智能體120和130發(fā)生沖突。當(dāng)然,箭頭117僅表示許多可能無(wú)沖突速度中之 一。選擇這個(gè)特定速度,因?yàn)樗挥谒姓系K錐體外部,并且最接近原始速度,因而使智能 體110的速度突然變化最小,并且實(shí)現(xiàn)平滑和自然運(yùn)動(dòng)?,F(xiàn)在將更詳細(xì)地描述選擇這個(gè)最 接近速度的方式。如上所述,本發(fā)明的實(shí)施例計(jì)算位于所有障礙錐體外部并且與原始速度點(diǎn)偏離最 小的新(無(wú)沖突)速度(應(yīng)當(dāng)記得,它是2D速度空間中的點(diǎn))。這可通過(guò)以下方式進(jìn)行 使新速度與原始速度的歐幾里德(Euclidian)距離最小,以便得到下列二次優(yōu)化問(wèn)題(其 中,( ,K)表示原始速度而(x,y)表示所涉及智能體的新速度)使(χι。) 2+(y-yQ)2最小,使得對(duì)于所有錐體段AiX+Biy < Q。(1)對(duì)于N個(gè)錐體,將存在2N個(gè)這類(lèi)(線(xiàn)性)約束。代替使用如同內(nèi)部點(diǎn)、活動(dòng)(active)集或共軛梯度的方法,本發(fā)明的實(shí)施例利用 人群模擬問(wèn)題的幾何性質(zhì),以便以幾何方法計(jì)算所得速度(x,y)。作為示例,適當(dāng)?shù)乃盟?度可通過(guò)在速度空間中操縱障礙錐體來(lái)顯現(xiàn),如圖2所示。圖2示出障礙錐體225和障礙錐體235,它們均由于其它附近智能體(未示出)的 存在而針對(duì)所涉及智能體(也未示出)出現(xiàn)。所涉及智能體的初始速度由點(diǎn)215表示。本 發(fā)明的實(shí)施例要求將障礙錐體225和235分成“段”,段為由線(xiàn)端點(diǎn)(line end)或者通過(guò)與 另一線(xiàn)段的相交而終止的錐體邊界線(xiàn)的長(zhǎng)度。(作為說(shuō)明,例如圖2示出障礙錐體235中 的線(xiàn)段237,并且還示出障礙錐體225中的線(xiàn)段227和228。)隨后,錐體段根據(jù)它們是在 其它錐體的內(nèi)部還是外部而被分為“內(nèi)部”和“外部”區(qū)域,如圖所示(其中,“外部”區(qū)域包 括錐體邊界上的區(qū)域,只要它們不是在任何其它錐體內(nèi)部)。測(cè)試內(nèi)部/外部錐體段基本 上是線(xiàn)性約束校驗(yàn),并且可由Ax+By < C形式的表達(dá)式來(lái)表示。在分為內(nèi)部段和外部段之 后,計(jì)算各段與原點(diǎn)的最小距離,以便找到各段的最接近速度點(diǎn)(即,各段上最接近初始速 度點(diǎn)的點(diǎn)),并且然后從這些最接近點(diǎn),選擇總最接近速度點(diǎn)作為新速度。這個(gè)點(diǎn)在圖2中由點(diǎn)217表示。在一些場(chǎng)景中,也許不可能找到解決方案。在這些情況下,去除最低有效約束(例 如忽略對(duì)所涉及智能體最不重要的智能體),并且根據(jù)上述步驟來(lái)解決優(yōu)化問(wèn)題。作為示 例,最不重要的智能體可被理解為離所涉及智能體最遠(yuǎn)的智能體或者沿與所涉及智能體的 運(yùn)動(dòng)直接相反的方向移動(dòng)或者也許最不可能影響所涉及智能體的智能體。本發(fā)明的實(shí)施例實(shí)現(xiàn)比文獻(xiàn)中報(bào)道的最佳執(zhí)行時(shí)間快某個(gè)數(shù)量級(jí)的人群模擬執(zhí) 行時(shí)間(對(duì)于從100變化到250000及以上的智能體數(shù)量)。另外,本發(fā)明的實(shí)施例幾乎隨 大量核心(32及以上)線(xiàn)性縮放(scale),并且還可利用數(shù)據(jù)級(jí)并行性來(lái)實(shí)現(xiàn)甚至更快的加 速。例如,在8核心htel Penryn系統(tǒng)上,已經(jīng)觀(guān)測(cè)到整體7X并行縮放。當(dāng)采用多核模擬 器進(jìn)行模擬時(shí),實(shí)現(xiàn)32個(gè)核心上的29X縮放。同時(shí),在8核心3. 2GHz Penryn系統(tǒng)上,本發(fā) 明的實(shí)施例能夠以58FPS(幀每秒)模擬15000個(gè)智能體以及以121FPS模擬復(fù)雜環(huán)境中的 5000個(gè)智能體。得到上述結(jié)果,并且使用現(xiàn)在將進(jìn)行描述的輸入數(shù)據(jù)來(lái)測(cè)試本發(fā)明的實(shí)施例并且 將其與現(xiàn)有方法進(jìn)行比較。圓周100 100個(gè)智能體開(kāi)始圍繞圓周均勻設(shè)置,并且設(shè)法通過(guò)圓周直接移動(dòng)到 它們?cè)诹硪粋?cè)的對(duì)映(antipodal)位置。當(dāng)所有智能體在中間相遇時(shí),場(chǎng)景變得非常擁擠, 從而導(dǎo)致漩渦(swirling)行為。四個(gè)流2000個(gè)智能體被組織為四個(gè)流,它們沿正方形對(duì)角線(xiàn)行走。觀(guān)測(cè)到平滑 運(yùn)動(dòng)、小巷(lane)形成和某些漩渦。前和后10與100之間的智能體沿行列(line)前后移動(dòng)。這個(gè)測(cè)試與 Oper^teer (為游戲和動(dòng)畫(huà)中的自主人物幫助構(gòu)造操縱行為的C++庫(kù))并排運(yùn)行,以便將未 經(jīng)修改Oper^teer的沖突數(shù)與結(jié)合本發(fā)明實(shí)施例的Oper^teer的沖突進(jìn)行比較。建筑物撤離(Building Evacuation)智能體在辦公樓的不同房間的初始位置中 建立。場(chǎng)面(scene)具有218個(gè)障礙,并且路標(biāo)(roadmap)由4 個(gè)節(jié)點(diǎn)(node)和7200 個(gè)邊緣組成。智能體朝對(duì)應(yīng)于出口標(biāo)志的目標(biāo)位置移動(dòng)。使用這個(gè)場(chǎng)景的三個(gè)版本,其中 分別具有500、1000和5000個(gè)智能體。運(yùn)動(dòng)場(chǎng)場(chǎng)面這模擬25000個(gè)智能體在從其座位離開(kāi)運(yùn)動(dòng)場(chǎng)時(shí)的運(yùn)動(dòng)。該場(chǎng)面具 有大約1400個(gè)障礙,并且路標(biāo)由將近2000個(gè)節(jié)點(diǎn)和3200個(gè)邊緣組成。智能體朝走廊移動(dòng), 從而引起擁塞和高度擁擠的場(chǎng)景。城市模擬使用具有建筑物和街道以及1500個(gè)障礙的城市模型。路標(biāo)具有480個(gè) 節(jié)點(diǎn)和916個(gè)邊緣。模擬不同智能體在城市四處并在十字路口(intersection)行走的運(yùn) 動(dòng)。智能體以不同速度移動(dòng),以及相互趕超并且與接近的智能體避免沖突。使用這個(gè)場(chǎng)景 的三個(gè)版本,其中分別具有10000、100000和250000個(gè)智能體。圖3是示出根據(jù)本發(fā)明實(shí)施例在人群模擬環(huán)境中計(jì)算智能體的無(wú)沖突速度的方 法300的流程圖。無(wú)沖突速度使用計(jì)算裝置來(lái)計(jì)算。在一個(gè)實(shí)施例中,計(jì)算裝置可經(jīng)由通 信網(wǎng)絡(luò)連接到第二計(jì)算裝置。方法300的步驟310將識(shí)別與無(wú)沖突速度對(duì)應(yīng)的二次優(yōu)化問(wèn)題。作為示例,二次 優(yōu)化問(wèn)題可與上文出現(xiàn)的表達(dá)式(1)相似。作為另一個(gè)示例,計(jì)算裝置可以是客戶(hù)端計(jì)算 機(jī),第二計(jì)算裝置可以是服務(wù)器,以及通信網(wǎng)絡(luò)可以是因特網(wǎng)。
方法300的步驟320將在計(jì)算裝置通過(guò)使用幾何方法來(lái)為二次優(yōu)化問(wèn)題找到準(zhǔn)確 解決方案。在某些實(shí)施例中,該幾何方法包括在速度空間中識(shí)別智能體的障礙錐體,并且 找到位于障礙錐體外部的點(diǎn)(其中該點(diǎn)表示無(wú)沖突速度)。在一些實(shí)施例中,找到(無(wú)沖突速度)點(diǎn)包括識(shí)別多個(gè)障礙錐體邊界段,識(shí)別位 于所有障礙錐體外部的障礙錐體邊界段的子集,在速度空間中計(jì)算(針對(duì)該子集中的各障 礙錐體邊界段)與對(duì)應(yīng)于智能體初始速度的初始點(diǎn)的最小距離,以及選擇所計(jì)算最小距離 中的最小那個(gè)距離。最小距離中的這個(gè)最小距離將是所涉及的點(diǎn),即,無(wú)沖突速度。圖4是示出根據(jù)本發(fā)明實(shí)施例在其中智能體具有初始速度并且與駐留在速度空 間中的多個(gè)障礙錐體關(guān)聯(lián)的人群模擬環(huán)境中計(jì)算智能體的無(wú)沖突速度的方法400的流程 圖。方法400針對(duì)與方法300所針對(duì)的相似的情形,但按照不同方式來(lái)描述。方法400的步驟410將把障礙錐體中位于所有其它障礙錐體外部的所有邊界段識(shí) 別為外部邊界段。作為示例,障礙錐體可與圖1和圖2所示的障礙錐體125、135、225和235 相似,并且外部邊界段可與上文在圖2的論述中所定義的一樣。如上所述,在沒(méi)有外部邊界 段存在的情形中,該方法還包括忽略障礙錐體中之一,例如最不可能影響智能體的障礙錐 體,或者更一般地為比另一個(gè)障礙錐體更不可能影響智能體的障礙錐體。以上論述了這類(lèi) 錐體的可能特性(identity)。方法400的步驟420將針對(duì)每個(gè)外部邊界段計(jì)算外部邊界段與初始速度的最小距 離。這個(gè)計(jì)算可以簡(jiǎn)單地通過(guò)測(cè)量速度空間中點(diǎn)之間的歐幾里德距離(使用標(biāo)準(zhǔn)技術(shù))來(lái) 實(shí)現(xiàn)。方法400的步驟430將選擇與最小的所計(jì)算最小距離對(duì)應(yīng)的速度作為無(wú)沖突速度。圖5是示出根據(jù)本發(fā)明實(shí)施例在虛擬世界應(yīng)用中計(jì)算智能體的無(wú)沖突速度的方 法500的流程圖。方法500針對(duì)與方法300和400所針對(duì)的相似的情形,但按照不同方式 來(lái)描述。針對(duì)虛擬世界應(yīng)用的視覺(jué)模塊環(huán)節(jié)的各圖像更新幀或時(shí)間步,執(zhí)行方法500的步 驟510-550中的每一個(gè)。方法500的步驟510將得到智能體的初始速度。應(yīng)當(dāng)理解,這不要求(盡管它確 實(shí)準(zhǔn)許)進(jìn)行實(shí)際計(jì)算;它只要求初始速度在完成后續(xù)步驟之前是已知的。因此,可計(jì)算、 從虛擬世界服務(wù)器接收或者通過(guò)某種其它方式得到初始速度。方法500的步驟520將為虛擬世界應(yīng)用中位于智能體的特定距離之內(nèi)的每個(gè)外 來(lái)智能體構(gòu)造速度空間中的障礙錐體。如以上首先所述,每個(gè)這種障礙錐體表示將在智能 體與特定外來(lái)智能體之間引起沖突的所有速度的集合,假定特定外來(lái)智能體的速度沒(méi)有改變。方法500的步驟530將識(shí)別智能體的多個(gè)可能新速度,其中的每個(gè)位于所有障礙 錐體外部。在一個(gè)實(shí)施例中,步驟530包括識(shí)別多個(gè)障礙錐體邊界段;識(shí)別位于所有障礙 錐體外部的障礙錐體邊界段的子集;以及針對(duì)子集中的各障礙錐體邊界段,在速度空間中 計(jì)算與對(duì)應(yīng)于智能體初始速度的初始點(diǎn)的最小距離。方法500的步驟540將確定從初始速度到可能新速度中每一個(gè)的距離,以便找到 可能新速度中最接近初始速度的特定一個(gè)新速度。在一個(gè)實(shí)施例中,找到可能新速度的特 定一個(gè)新速度包括使(x-xtl)2+(y-y。)2最小,使得對(duì)于障礙錐體中的每一個(gè)AiX+Biy < Ci,其中(κ,y。)是初始速度,U,y)是智能體的無(wú)沖突速度,以及AiX+Biy < Ci是線(xiàn)性約束校驗(yàn)。方法500的步驟550將選擇多個(gè)新速度中的最接近那個(gè)作為圖像更新幀的無(wú)沖突速度。雖然參照具體實(shí)施例描述了本發(fā)明,但是本領(lǐng)域技術(shù)人員會(huì)理解,在不脫離本發(fā) 明精神或范圍的情況下可進(jìn)行各種變更。相應(yīng)地,本發(fā)明實(shí)施例的公開(kāi)意在說(shuō)明本發(fā)明的 范圍,而不是要進(jìn)行限制。預(yù)計(jì)本發(fā)明的范圍僅限制到所附權(quán)利要求書(shū)所要求的程度。例 如,對(duì)本領(lǐng)域技術(shù)人員而言,顯而易見(jiàn),本文所述的人群模擬計(jì)算方法及相關(guān)方法可在各種 實(shí)施例中實(shí)現(xiàn),并且這些實(shí)施例中某些的以上論述不一定表示所有可能實(shí)施例的完整描 述。另外,針對(duì)具體實(shí)施例描述了有益效果、其它優(yōu)點(diǎn)和問(wèn)題的解決方案。但是,有益 效果、優(yōu)點(diǎn)、問(wèn)題的解決方案以及可使任何有益效果、優(yōu)點(diǎn)或解決方案發(fā)生或者變得更為顯 著的任何要素或多個(gè)要素并不是要被理解為權(quán)利要求書(shū)中任一個(gè)或全部的關(guān)鍵、必要或本 質(zhì)特征或者要素。此外,如果本文所公開(kāi)的實(shí)施例和/或限制(1)在權(quán)利要求書(shū)中沒(méi)有被明確要求 權(quán)益;以及(2)在等效原則下作為或者可能作為權(quán)利要求書(shū)中明確要素和/或限制的等效 物,則這些實(shí)施例和限制在貢獻(xiàn)原則下并未貢獻(xiàn)給公眾。
權(quán)利要求
1.一種使用計(jì)算裝置在人群模擬環(huán)境中計(jì)算智能體的無(wú)沖突速度的方法,所述方法包括識(shí)別與所述無(wú)沖突速度對(duì)應(yīng)的二次優(yōu)化問(wèn)題;以及在所述計(jì)算裝置通過(guò)使用幾何方法找到所述二次優(yōu)化問(wèn)題的準(zhǔn)確解決方案。
2.如權(quán)利要求1所述的方法,其中 所述幾何方法包含在速度空間中識(shí)別所述智能體的障礙錐體;以及 找到位于所述障礙錐體外部的點(diǎn),所述點(diǎn)表示所述無(wú)沖突速度。
3.如權(quán)利要求2所述的方法,其中 找到所述點(diǎn)包括識(shí)別多個(gè)障礙錐體邊界段;識(shí)別位于所有所述障礙錐體外部的障礙錐體邊界段的子集;針對(duì)所述子集中的每個(gè)障礙錐體邊界段,在所述速度空間中計(jì)算距與所述智能體的初 始速度對(duì)應(yīng)的初始點(diǎn)的最小距離;以及選擇所計(jì)算最小距離中的最小一個(gè)距離。
4.如權(quán)利要求1所述的方法,其中所述二次優(yōu)化問(wèn)題包括使(x-xtl)2+(y-y。)2最小,使得對(duì)于所述障礙錐體的所有段 AiX+BiY < Ci,其中(Xtl,y0)是所述智能體的原始速度,(X,y)是所述智能體的無(wú)沖突速度, 以及AiX+Biy < Ci是線(xiàn)性約束校驗(yàn)。
5.一種在人群模擬環(huán)境中計(jì)算智能體的無(wú)沖突速度的方法,在所述人群模擬環(huán)境中所 述智能體具有初始速度并且與駐留在速度空間中的多個(gè)障礙錐體關(guān)聯(lián),所述方法包括將所述障礙錐體中位于所有其它障礙錐體外部的所有邊界段識(shí)別為外部邊界段; 針對(duì)每個(gè)外部邊界段,計(jì)算所述外部邊界段距所述初始速度的最小距離;以及 選擇與最小的所計(jì)算最小距離對(duì)應(yīng)的速度作為所述無(wú)沖突速度。
6.如權(quán)利要求5所述的方法,還包括在沒(méi)有外部邊界段存在的情況下忽略所述障礙錐體中之一。
7.如權(quán)利要求6所述的方法,其中被忽略的障礙錐體是最不可能影響所述智能體的障礙錐體。
8.—種在虛擬世界應(yīng)用中計(jì)算智能體的無(wú)沖突速度的方法,所述方法包括 針對(duì)所述虛擬世界應(yīng)用的視覺(jué)模擬環(huán)節(jié)的每個(gè)圖像更新幀得到所述智能體的初始速度;為所述虛擬世界應(yīng)用中位于所述智能體的特定距離之內(nèi)的每個(gè)外來(lái)智能體構(gòu)造速度 空間中的障礙錐體,每個(gè)這種障礙錐體表示將在所述智能體與特定外來(lái)智能體之間引起沖 突的所有速度的集合,假定所述特定外來(lái)智能體的速度沒(méi)有改變;識(shí)別所述智能體的多個(gè)可能新速度,其中的每個(gè)位于所有所述障礙錐體外部; 確定從所述初始速度到所述可能新速度中每一個(gè)的距離,以便找到所述可能新速度中 最接近所述初始速度的特定一個(gè)新速度;以及選擇所述多個(gè)可能新速度中最接近的那個(gè)新速度作為所述圖像更新幀的無(wú)沖突速度。
9.如權(quán)利要求8所述的方法,其中識(shí)別所述多個(gè)可能新速度包括 識(shí)別多個(gè)障礙錐體邊界段;識(shí)別位于所有所述障礙錐體外部的障礙錐體邊界段的子集;以及 針對(duì)所述子集中的每個(gè)障礙錐體邊界段,在所述速度空間中計(jì)算距與所述智能體的初 始速度對(duì)應(yīng)的初始點(diǎn)的最小距離。
10.如權(quán)利要求8所述的方法,其中找到所述可能新速度中特定一個(gè)新速度包括使(X-Xtl)2+(y-y。)2最小,使得對(duì)于所述障 礙錐體的每一個(gè)AiX+Biy < Ci,其中(Xtl,y0)是所述初始速度,(X,y)是所述智能體的無(wú)沖 突速度,以及AiX+Biy < Ci是線(xiàn)性約束校驗(yàn)。
全文摘要
一種在人群模擬環(huán)境(100)中計(jì)算智能體(110)的無(wú)沖突速度(117,217)的方法包括識(shí)別與無(wú)沖突速度對(duì)應(yīng)的二次優(yōu)化問(wèn)題;以及通過(guò)使用幾何方法找到二次優(yōu)化問(wèn)題的準(zhǔn)確解決方案。
文檔編號(hào)G06T17/00GK102110311SQ20101062091
公開(kāi)日2011年6月29日 申請(qǐng)日期2010年12月23日 優(yōu)先權(quán)日2009年12月29日
發(fā)明者A-T·D·阮, C·金, D·金, J·奇胡加尼, S·J·蓋 申請(qǐng)人:英特爾公司