諸如人體模型之類的數(shù)字人體模型(DHM)可以提供人體骨骼系統(tǒng)的虛擬表示,其中人體骨骼系統(tǒng)被設(shè)定為是各種運動鏈(上肢、下肢、脊柱)的簡單節(jié)段性鏈接的組合。例如,參見下面文獻的公開:Duffy,V.G.,“Introduction,in Handbook of Digital Human Modeling:Research for Applied Ergonomics and Human Factors Engineering,”V.G.Duffy,Editor 2008,CRC Press,Inc.:Boca Raton,Florida,November,2008,故以引用方式將該文獻的全部內(nèi)容并入本文??梢允褂眠@些工具來預(yù)測在各種仿真任務(wù)期間采用的人體姿勢,以便評估受傷的風(fēng)險,并適當(dāng)?shù)剡m配不同的人體測量學(xué)的人體周圍的環(huán)境??梢岳媚孢\動學(xué)(IK)引擎來生成這些姿勢,其中IK引擎確定與特定的末端執(zhí)行器(例如,手、頭和腳)位置和/或方位相對應(yīng)的人體模型的自由度(DOF)。
技術(shù)實現(xiàn)要素:
但是,在現(xiàn)有的DHM方法中,人的任務(wù)可能涉及不同程度的影響姿勢的視覺要求?,F(xiàn)有的數(shù)字人體模型(DHM)提出了基于視覺的約束(例如,參見下面的以引用方式將其全部內(nèi)容并入本文的公開:Marler,T.,Farrell,K.,and Kim,J.,Rahmatalla,S.,Abdel-Malek,K.,“Vision Performance Measures for Optimization-Based Posture Prediction,”in Digital Human Modeling for Design and Engineering Conference 2006,SAE International:Lyon,France,p.12,July,2006,technical paper no.2006-01-2334,但該文獻沒有考慮以下的方面:(1)目標大小、(2)目標方位、以及(3)精度的水平/任務(wù)的焦點(即,高精度對比低精度))。因此,一些實施例可以包括同時地考慮這三個方面的新的視覺約束,以便提高DHM的原始姿勢的計算機仿真準確性。
因此,本公開內(nèi)容針對于相對于目標對象(本文還稱為對象、目標、虛擬目標或者視覺目標),提高數(shù)字人體模型(DHM)(其可以包括但不限于人體模型)的原始姿勢的計算機仿真準確性的方法和相應(yīng)系統(tǒng)。在一些實施例中,該系統(tǒng)和方法可以獲得與原始DHM姿勢相關(guān)聯(lián)的信息。所獲得的DHM姿勢信息可以包括DHM的頭部的位置。在一些實施例中,該系統(tǒng)和方法可以獲得與目標對象相關(guān)聯(lián)的信息。所獲得的目標對象信息可以包括目標對象的大小和目標對象的方位。根據(jù)一些實施例,所獲得的目標對象信息可以包括目標對象的大小和目標對象在預(yù)先規(guī)定的平面中的方位。在一些實施例中,該系統(tǒng)和方法可以獲得從DHM的頭部到目標對象的距離。在一些實施例中,該系統(tǒng)和方法可以生成DHM正在視覺上瞄準的目標對象的DHM的視覺測量(即,視覺測量值)。該系統(tǒng)和方法可以基于一個或多個參數(shù),來生成該視覺測量,其中所述一個或多個參數(shù)可以包括所獲得的DHM姿勢信息、所獲得的目標對象信息和所獲得的頭部-目標(HT)距離中的任何信息?;谠撘曈X測量,該系統(tǒng)和方法可以生成該DHM相對于目標對象的視覺的約束(即,視覺約束)。基于該視覺約束,該系統(tǒng)和方法可以生成更新的DHM姿勢。
在一些實施例中,該對象可以采取各種形狀。在一些實施例中,目標對象的大小可以包括該目標對象的小面(facet)的大小。在一些實施例中,可以將小面規(guī)定成目標對象的一部分。在一些實施例中,可以將目標對象表示成網(wǎng)格,其中該網(wǎng)格可以是根據(jù)多個三角形形狀的小面來構(gòu)建的。在一些實施例中,對于作為球體的三維目標對象來說,可以使用一組小面來表示該球體的一部分,該部分可以用于表示目標對象的一部分,但在該三維目標對象的側(cè)面中的一個或多個上,具有至少一個三角形。在一些實施例中,該目標對象可以是三維的。在一些實施例中,該目標對象可以是二維的。
在一些實施例中,目標對象的方位可以包括該目標對象的小面的方位。在一些實施例中,所述一個或多個參數(shù)可以包括:目標對象的小面的法線與一個向量表示之間的角度。在一些實施例中,所述一個或多個參數(shù)可以包括:目標對象的小面的表面的法線與一個向量表示之間的角度。該向量表示可以具有所獲得的該人體模型頭部和目標對象之間的HT距離(或者頭部-目標HT距離)的幅度和從DHM到目標對象的方向。
在一些實施例中,該系統(tǒng)和方法還可以基于精度水平來生成視覺約束,其中精度水平表示DHM執(zhí)行與該目標對象相關(guān)聯(lián)的任務(wù)所需要的精度的水平。在一些實施例中,該視覺約束可以表示:DHM到該目標對象的逼近性的測量值和/或DHM執(zhí)行與目標對象相關(guān)聯(lián)的任務(wù)的能力。在一些實施例中,該系統(tǒng)和方法可以基于DHM到該目標對象的逼近性的測量值和/或DHM執(zhí)行與該目標對象相關(guān)聯(lián)的任務(wù)的能力,來生成更新的DHM姿勢。
在一些實施例中,可以基于所述視覺測量的對數(shù)來生成所述視覺約束。在一些實施例中,與DHM使用原始DHM姿勢來執(zhí)行與目標對象相關(guān)聯(lián)的任務(wù)的能力相比,更新的DHM姿勢可以提供DHM執(zhí)行與該目標對象相關(guān)聯(lián)的任務(wù)的增加的能力,
在一些實施例中,該系統(tǒng)和方法還可以生成三維視覺空間,其中該三維視覺空間提供DHM執(zhí)行與目標對象相關(guān)聯(lián)的任務(wù)的能力的指示。在一些實施例中,該系統(tǒng)和方法還可以基于逆運動學(xué)引擎、視覺約束和DHM的自由度,來生成更新的DHM姿勢。在一些實施例中,逆運動學(xué)引擎可以接收該視覺約束并且確定DHM的自由度。在一些實施例中,所獲得的HT距離可以是基于來自反射標志的DHM的頭部和目標對象的測量值來獲得的。換言之,所獲得的HT距離可以是基于DHM的頭部和目標對象的測量值來獲得的,并且DHM測量值和/或目標對象測量值可以是從反射標志獲得的。如本領(lǐng)域普通技術(shù)人員所知道的,反射標志可以位于目標對象上,和/或位于該反射標志可以反射到目標對象和/或DHM頭部的任何位置。
在一些實施例中,本文的系統(tǒng)和方法可以使用逆運動學(xué)引擎、數(shù)據(jù)引擎、處理引擎、姿勢引擎或者其任意組合,來實現(xiàn)上面所提及的特征。
附圖說明
通過對于如附圖中所示出的本發(fā)明的示例性實施例的下面更詳細描述,前述的內(nèi)容將變得顯而易見,其中貫穿不同的視圖,相同的附圖標記指代相同的部件。這些附圖不必依比例進行繪制,而是將重點放在說明本發(fā)明的實施例。
圖1根據(jù)一些實施例,示出了本發(fā)明的步驟的高層次流程圖。
圖2根據(jù)一些實施例,示出了包括輸入和輸出的流程圖。
圖3根據(jù)一些實施例,示出了視覺測量的計算。
圖4(圖4A-C)示出了實施例與現(xiàn)有技術(shù)的比較。圖4A表示現(xiàn)有技術(shù)方法。相比于圖4A,圖4B示出了用于低精度任務(wù)的實施例,圖4C示出了用于高精度任務(wù)的實施例。
圖5示出了可以實現(xiàn)本發(fā)明的實施例的計算機網(wǎng)絡(luò)或者類似的數(shù)字處理環(huán)境。
圖6是圖5的計算機網(wǎng)絡(luò)中的計算機的內(nèi)部結(jié)構(gòu)的框圖。
具體實施方式
下面將描述本發(fā)明的示例性實施例。
在本文中引用的所有專利、公開的申請和參考文獻都通過全文引用而包含在本文中。
人的任務(wù)涉及不同程度的可能影響姿勢的視覺要求?,F(xiàn)有的數(shù)字人體模型(DHM)提出了基于視覺的約束(例如,參見下面的以引用方式將其全部內(nèi)容并入本文的公開:Marler,T.,Farrell,K.,and Kim,J.,Rahmatalla,S.,Abdel-Malek,K.,“Vision Performance Measures for Optimization-Based Posture Prediction,”in Digital Human Modeling for Design and Engineering Conference 2006,SAE International:Lyon,France,p.12,July,2006,technical paper no.2006-01-2334,下文稱為“Marler等”),但該文獻沒有考慮三個重要方面中的一個或多個:(1)目標大小、(2)目標方位、以及(3)精度的水平/任務(wù)的焦點(即,高精度對比低精度))。一些實施例包括同時地考慮這三個方面的新的視覺約束。
根據(jù)一些實施例,為了現(xiàn)實性,DHM所預(yù)測的姿勢尊重一系列生理要求,其包括與視覺有關(guān)的要求(例如,參見上面所引用的Marler等)。作為通常規(guī)則,當(dāng)人們執(zhí)行需要一定數(shù)量的焦點的任務(wù)時,他們趨向于看一看目標(例如,參見Marler等)。此外,與其它簡單的任務(wù)(例如,按下一個大按鈕)相比,一些任務(wù)(例如,小心地在小洞里插入一個小針)可能需要更高的精度和視覺敏銳度。在這些情況下,通過調(diào)整頭部方位來簡單地觀看目標可能不能保證預(yù)測整個身體姿勢的真實性,這是由于與該任務(wù)有關(guān)的其它方面(例如,對象尺寸(如,小面大小和/或方位)和精度水平)可能變成很可能影響頭部-目標距離的主要因素。
可以根據(jù)不同的測量值來推導(dǎo)視覺信息。例如,人類的視力可能與“視線角度”(即,“頭部-目標”(HT)和“視線”(LOS)向量之間的偏離角度)有關(guān)(例如,參見Marler等)。當(dāng)視線角度是零時(即,提出LOS直接指向目標),視力可能是最大的,隨著視線角度增加,視圖可能非線性地減小(例如,參見Marler等)。已經(jīng)使用這種測量來推導(dǎo)虛擬人體模型的姿勢(例如,參見Marler等)。視力的另一個例子是“LogMAR”,其是最小角度分辨率(MAR)(即,一個字符筆畫寬度(character stroke width)所對應(yīng)的角度)的以10為底的對數(shù)(即,Log10)(例如,參見下面的以引用方式將其全部內(nèi)容并入本文的公開:Bailey,I.L.and Lovie,J.E.,“New Design Principles for Visual Acuity Letter Charts,”American Journal of Optometry&Physiological Optics,53(11):p.740-5,November,1976,下文稱為“Bailey等”)。該視力得分可以利用弧分來計算,其可以是基于預(yù)先規(guī)定的HT距離(例如,6m)和方位(即,正常地站在圖表前)。完美的視力可以讀取筆畫寬度對應(yīng)0.5弧分的同一行上的所有字母,并給予其的LogMAR為0。同時,大于1.0的LogMAR指示其具有較差的視力,這是由于他不能讀取筆畫寬度對應(yīng)10弧分的同一行上的字母(這些字母被認為是較大的字母)。
無論Marler等的視線角度還是Bailey等的LogMAR,都不允許工程師考慮各種對象大小(例如,小對比大)、對象小面方位(不同于HT向量方位)和各種任務(wù)精度水平(例如,高對比低)。為了考慮這些方面,根據(jù)一些實施例,當(dāng)DHM的任務(wù)需要高精度/焦點(例如,小心地在小洞里插入一個小針),和/或當(dāng)目標對象位于DHM的視野之外時,可以使HT距離和方位適配目標對象較小的情形。LogMAR的現(xiàn)有方法的限制在于:利用預(yù)先規(guī)定的對象大小(即,字符筆畫寬度)、預(yù)先規(guī)定的HT距離(例如,6m)和預(yù)先規(guī)定的方位(垂直于圖表的LOS)來測量其范圍(-0.3到1.0)。同時,現(xiàn)有的LogMAR視線角度計算并沒有考慮HT距離。但是,本發(fā)明的實施例彌補了這些上面所提及的缺陷。
圖1根據(jù)一些實施例,示出了提高數(shù)字人體模型(DHM)相對于目標對象的原始姿勢的計算機仿真準確性的方法1000的步驟的高層次流程圖。應(yīng)當(dāng)注意,在一些實施例中,可以將方法1000的步驟配置成計算機系統(tǒng)的一個或多個組件。根據(jù)一些實施例,可以在每一個小面的基礎(chǔ)上(即,針對于目標對象的給定小面,或者針對于目標對象的所有小面),執(zhí)行圖1的每一個步驟。
根據(jù)一些實施例,本文定義了目標對象的小面(facet),以便包括該目標對象的任何方面。在一些實施例中,小面可以包括一個平面的表面和/或與該目標對象相關(guān)聯(lián)的線。在一些實施例中,小面可以包括目標對象的平坦面,其中該目標對象具有幾何形狀和多個小面。此外,在一些實施例中,可以將小面定義為目標對象的一部分。此外,在一些實施例中,目標對象可以包括多個小面。在一些實施例中,目標對象可以采取各種形狀。在一些實施例中,目標對象可以具有一個或多個小面和/或三角形狀的側(cè)面。在一些實施例中,目標對象可以是三維(3D)的。在一些實施例中,對于作為球體的3D目標對象來說,可以使用一組小面來表示該球體的一部分,該部分可以用于表示該3D目標對象的一部分,但在該3D目標對象的側(cè)面中的一個或多個上具有至少一個三角形。在一些實施例中,對于作為球體的目標對象來說,小面可以是該球體的一部分,該部分可以包括該目標對象的球面的一部分,但在該三維球面的側(cè)面中的一個或多個上具有至少一個三角形。在一些實施例中,該目標對象可以是二維的(例如,3D目標對象在一個平面上的投影)。
在步驟102,獲得DHM姿勢信息。在步驟104中,獲得目標對象信息。在步驟106中,獲得頭部-目標(HT)信息(關(guān)于DHM的頭部和目標對象之間的距離的信息)。在步驟108中,基于在步驟102、104和106獲得的DHM姿勢、目標對象和頭部-目標距離的信息集合,生成視覺測量值。在步驟110中,基于步驟108的視覺測量值,生成視覺約束。在步驟112中,基于在步驟110所獲得的視覺約束,生成更新的姿勢。
換言之,在一些實施例中,方法1000獲得與原始DHM姿勢相關(guān)聯(lián)的信息(102)。所獲得的DHM姿勢信息可以包括DHM的頭部的位置。在一些實施例中,方法1000獲得與目標對象相關(guān)聯(lián)的信息(104)。所獲得的目標對象信息可以包括目標對象的大小(即,上面提及的第一方面,或者目標大小,其還稱為下面的“b”)和目標對象的方位(即,上面提及的第二方面,或者目標方位,其還稱為下面的向量)。在一些實施例中,方法1000獲得從DHM的頭部到目標對象的距離(即,HT距離)(106)。在一些實施例中,方法1000生成DHM正在視覺上瞄準的目標對象的DHM的視覺測量(即,視覺測量值)(108)。方法1000基于一個或多個參數(shù),生成該視覺測量,其中所述一個或多個參數(shù)可以包括所獲得的DHM姿勢信息、所獲得的目標對象信息和所獲得的頭部-目標(HT)距離中的任何信息。基于該視覺測量108,方法1000生成DHM針對目標對象的視覺約束(即,視覺約束量)(110)。基于該視覺約束110,方法1000生成更新的DHM姿勢(112)。
在一些實施例中,目標對象的大小可以包括目標對象的小面的大小。在一些實施例中,目標對象的方位可以包括目標對象的小面的方位。在一些實施例中,所述一個或多個參數(shù)可以包括:目標對象的小面表面的法線與一個向量表示之間的角度。在一些實施例中,所述一個或多個參數(shù)可以包括:目標對象的小面的法線與一個向量表示之間的角度。該向量表示可以具有所獲得頭部-目標(HT)距離的幅度和從DHM的頭部到目標對象的方向。在一些實施例中,目標對象的方位可以包括與目標對象的小面垂直的法線向量。
在一些實施例中,方法1000還基于精度水平(上面提及的第三方面,其還稱為“PL”)來生成視覺約束110,其中精度水平表示DHM執(zhí)行與目標對象相關(guān)聯(lián)的任務(wù)所需要的精度的水平。在一些實施例中,該視覺約束可以表示下面中的至少一個:DHM到目標對象的逼近性的測量值和DHM執(zhí)行與目標對象相關(guān)聯(lián)的任務(wù)的能力。在一些實施例中,方法1000基于下面中的至少一個來生成更新的DHM姿勢:DHM到目標對象的逼近性的測量值和DHM執(zhí)行與目標對象相關(guān)聯(lián)的任務(wù)的能力。
在一些實施例中,視覺約束110可以是基于視覺測量的對數(shù)來生成的。在一些實施例中,與DHM使用原始DHM姿勢來執(zhí)行與目標對象相關(guān)聯(lián)的任務(wù)的能力相比,更新的DHM姿勢可以提供DHM執(zhí)行與目標對象相關(guān)聯(lián)的任務(wù)的增加的能力。
在一些實施例中,方法1000還生成(112)三維視覺空間,其中該三維視覺空間提供DHM執(zhí)行與目標對象相關(guān)聯(lián)的任務(wù)的能力的指示。在一些實施例中,方法1000還基于逆運動學(xué)引擎、視覺約束和DHM的自由度中的任何一個來生成(112)更新的DHM姿勢。在一些實施例中,逆運動學(xué)引擎可以接收視覺約束并且確定DHM的自由度。在一些實施例中,所獲得的頭部-目標(HT)距離可以是基于來自反射標志的DHM的頭部和目標對象的測量值來獲得的。
根據(jù)一些實施例,所述視覺約束可以是智能姿勢引擎的一部分,該智能姿勢引擎依賴于基于非線性優(yōu)化的IK引擎。一些實施例求解下面的優(yōu)化問題:
式1:minx f(x)such as c(x)≤0
式2:c(x)=PL-LogVA(x)
其中,在式1中,f(x)是最小化的問題(即,優(yōu)化問題),‘x’可以包括人體模型的自由度(DOF),在式2中,c(x)可以表示包括期望的精度水平(PL)的視覺約束。根據(jù)一些實施例,可以將式2的LogVA(x)視作為LogVA(不具有‘x’分量)或者Log(VA)?!畑’分量可以包括DHM頭部(H)信息。
根據(jù)一些實施例,可以使用實驗所獲得的兩個精度水平(PL)(分別為高精度水平和低精度水平),利用該視覺約束(LvyγA(x)或者LvyVA)來預(yù)測DHM的頭部-目標(HT)距離。在現(xiàn)有的方法中,可以使用最小角度分辨率(MAR)(即,一個字符筆畫寬度所對應(yīng)的角度)的Log10來測量視力(例如,參見Bailey等),其還稱為“LogMAR”?!癓ogMAR”是基于固定的和/或預(yù)先規(guī)定的HT距離(即,6m)和方位(垂直于圖表的LOS)。
一些實施例包括名為“LogVA”(視覺角度的Log10)的視覺測量,其可以擴展用于大小的目標的LogMAR,該目標的小面法線可以形成與HT向量的角度δ≠0,如圖3中所示。在一些實施例中,可以使用非線性求解與上面所提及的式1和式2的優(yōu)化問題來實現(xiàn)LogVA。
視覺非線性約束c(x)是任務(wù)的期望精度水平(PL)和LogVA的實際值之間的差值。比0更高的視覺約束意味著DHM的頭部與目標太遠,以至于不能清楚地看到它和適當(dāng)?shù)赝瓿扇蝿?wù)(即,位于下面的圖4中所示出的視覺空間410之外)。根據(jù)一些實施例,比0更低或者等于0的視覺約束指示頭部位于與目標對象的可接受距離處(或者更近),從而能完成任務(wù)(即,位于視覺空間410的表面和/或其之內(nèi))。換言之,根據(jù)一些實施例,比0更低或者等于0的視覺約束指示頭部足夠靠近目標對象,從而能完成該任務(wù)。
圖2根據(jù)一些實施例,示出了包括輸入和輸出的方法1000的流程圖。如圖2的流程圖中所另外示出的,可以將視覺約束230嵌入在智能姿勢引擎200中。如圖2中所進一步示出的,一些實施例可以包括方法1000,該方法相對于目標對象(或者視覺目標)212,提高數(shù)字人體模型(DHM)或者視覺人體模型206的原始姿勢的計算機仿真的準確性。
如圖2中所示,引擎200的一些實施例接收輸入信息240(其包括但不限于元素202、204和206)。輸入信息240可以包括具有相應(yīng)的精度水平(PL)210和視覺目標(212)的一個或多個任務(wù)輸入202、具有視覺目標信息214的一個或多個三維計算機輔助設(shè)計(3D CAD)環(huán)境204、以及具有關(guān)于自由度(DOF)的相應(yīng)頭部位置信息216的一個或多個虛擬人體模型206。
如圖2中所示,引擎200的一些實施例可以包括處理250(其包括但不限于元素220、224和228)。在一些實施例中,可以對處理250進行預(yù)先規(guī)定。處理250可以包括視覺角度計算220(其輸出視覺角度VA 222)、Log10計算224(其輸出Log(VA)226)和非線性約束計算228(其輸出視覺約束c(x)230)。可以基于PL(元素210)和Log(VA)(元素226)的輸入,根據(jù)上面的式2來輸出元素230(c(x))。還如圖2中所示,引擎200的一些實施例輸出信息260。根據(jù)一些實施例,輸出信息260可以包括針對視覺不等式約束(元素232)的約束c(x)(元素230),其中該約束可以發(fā)送給智能姿勢引擎解算器234。
如圖2到圖3中所示,根據(jù)一些實施例,可以使用兩個或更多不同來源的信息(例如,視覺目標信息214和/或頭部位置216),來獲得視覺角度(VA)222。根據(jù)一些實施例,可以基于視覺目標信息214和/或頭部位置216,在視覺角度計算模塊220中,計算人體模型206的頭部302(其具有相應(yīng)的頭部位置216)和目標對象212之間的距離和/或頭部-目標(HT)距離。
如圖3中所示,在一些實施例中,目標對象的大小320可以包括目標對象212的小面的大小320。根據(jù)一些實施例,目標對象的小面可以通過3D CAD環(huán)境204和/或通過視覺角度計算模塊220來選擇。在一些實施例中,目標對象212的方位可以包括小面法線334,其指示目標對象212的所選定小面的方位。在一些實施例中,所述一個或多個參數(shù)可以包括目標對象212的小面法線334和向量表示330之間的角度332。該向量表示330可以具有所獲得的HT距離的幅度和從DHM的頭部302到目標對象212的方向。
如圖2到圖3中所示,在視覺角度計算模塊220中,可以將DHM頭部302的位置216與視覺目標信息214進行組合以生成HT向量330,其中HT向量330可以包括虛擬人體模型206的頭部位置216關(guān)于目標對象212的狀況??梢酝ㄟ^人體模型的根、脊柱和/或頸部自由度(DOF)來控制頭部位置216。
參見圖2,視覺目標信息214可以來自于人體模型206周圍的3D CAD環(huán)境204。
如圖2到圖3中所進一步示出的,隨后,處理250(和/或CAD環(huán)境204)中的一個或多個可以生成透視圖投影350,透視圖投影350可以提供用于規(guī)定視覺目標212的邊界以及其小面法線334的方向的信息,如人體模型206的眼睛所感知的。透視圖投影350可以包括小面法線334,后者位于透視圖投影350平面中,并與目標對象212的該小面相垂直(即,處于90度角度,元素336)。根據(jù)一些實施例,可以將小面法線334視作為與該小面垂直的單位向量(即,線元素320),小面法線334可以位于透視圖投影350平面中。
可以使用諸如凸殼(convex hull)或者阿爾法形狀(alpha shape)之類的方法來簡化目標對象212??梢允褂脧娜梭w模型206的眼睛之間的點到簡化的形狀的每一個節(jié)點的一系列向量,來估計對著一個或多個平面視覺角度的錐形??梢允褂眠@些視覺角度222,利用以10為底的對數(shù)運算(Log10,元素224)來計算LogVA(元素226)。此外,為了觀看目標對象212,視覺約束c(x)(元素230)還可以確保:目標對象的小面或者線b 320和逆歸一化HT向量330之間的角度332在±90°的間隔之內(nèi)。此外,根據(jù)一些實施例,為了觀看目標對象212,視覺約束c(x)(元素230)的一部分318也可以確保:目標對象的小面或者線b 320和逆歸一化HT向量330之間的角度332在±90°的區(qū)間之內(nèi)。
如圖2中所示,用戶可以向姿勢引擎200的解算器234提供該任務(wù)的精度水平(PL)210。根據(jù)一些實施例,可以計算在執(zhí)行需要不同程度的精度(即,低PL對比高PL)的各種任務(wù)時,人體所采用的HT距離,通過實驗來獲得相關(guān)的PL值。隨后,可以根據(jù)與任務(wù)有關(guān)的對象大小(例如,5mm計算機字符、1.5mm線路板孔洞)和通過多次實驗所測量的HT距離的平均測量值,來容易地從計算單元220中推導(dǎo)視覺角度222。根據(jù)一些實施例,每一個PL所對向的VA的Log10(元素224)可以替換上面的式2中的PL參數(shù)。在一些實施例中,基于DHM所執(zhí)行的任務(wù),每一個PL所對向的VA的Log10(元素224)可以替換上面的式2中的PL參數(shù)
如果用戶有意選擇使用視覺約束,則姿勢引擎200的IK解算器234可以使用視覺約束。在該情況下,姿勢引擎200可以激勵DHM 206的頭部執(zhí)行器(即,位于DHM 206的頭部并可以操縱DHM 206的頭部的末端執(zhí)行器),隨后,姿勢引擎200可以被配置為將視覺約束230包括在所求解問題中。根據(jù)一些實施例,末端執(zhí)行器可以包括DHM 206的設(shè)備和/或終端段,其包括但不限于:DHM 206的頭、手和/或腳。根據(jù)一些實施例,末端執(zhí)行器可以通過姿勢引擎200來與虛擬環(huán)境204進行交互,其中姿勢引擎200可以基于本文所描述的方法1000來操縱、移動和/或重定位DHM 206。
在內(nèi)部,姿勢引擎200所使用的非線性解算器包括位于兩個不同程度的約束。首先,該非線性解算器驗證是否滿足和保持視覺約束(即,c(x)<=0)。其后,使用相關(guān)聯(lián)的約束梯度(這些約束關(guān)于人體模型關(guān)節(jié)DOF的偏導(dǎo))來確定在解算空間中的搜索方向。最終,當(dāng)發(fā)現(xiàn)最優(yōu)解時,姿勢引擎200將其分配給人體模型的DOF。隨后,根據(jù)一些實施例,對所獲得的最終姿勢下的人體模型進行渲染,并向用戶進行顯示。相比而言,現(xiàn)有的技術(shù)(即,視線角度和LogMAR)并不考慮可變的目標對象尺寸,以及任務(wù)的精度水平(PL),因此不能用于調(diào)整HT距離以使得可以清楚地顯示(例如,觀看)目標對象和/或使得DHM可以完成任務(wù)。
參見圖1,在步驟108,根據(jù)一些實施例,通過還稱為“LogVA”(即,視覺角度的Log10)的方法1000來生成視覺測量值(即,視覺測量),其中,LogVA可以是考慮各種目標對象尺寸(即,一個或多個小面大小和/或方位)和各種任務(wù)精度水平下的LogMAR的推廣。根據(jù)一些實施例,使用分別與圖3元素310、312、314、316和318相對應(yīng)的下面公式3.1、3.2、3.3、3.4和3.5,在圖1的步驟108中,計算LogVA。但是,實施例并不受此限制,一些實施例可以使用其它公式來計算LogVA。
式3.1(310):LogVA=log10(β)
式3.2(312):
式3.3(314):
式3.4(316):
式3.5(318):
根據(jù)一些實施例,方法1000使用透視圖投影350來獲得視覺測量值310,如圖3中所示。因此,一些實施例可以包括名為“LogVA”(即,視覺角度的Log10)310的視覺測量,其中視覺測量可以針對于長度(大小)(元素320)的目標對象(該目標的中心是T,元素212)來擴展LogMAR,其中該目標對象的小面法線或者元素334可以形成與“頭部-目標”向量或者元素330的角度δ≠0(元素332)。
換言之,圖3示出了從DHM的頭部或者H(元素302)到目標對象T的中心(元素212)的向量,其還稱為“頭部-目標”向量或者元素330。目標對象(其包括但不限于:目標對象的給定小面)可以具有的大小(長度)(元素320),其中A(元素306)和C(元素308)可以表示該大小b 320的端點。如圖3中所示,長度c(元素322)和a(元素324)分別是從H(元素302)到元素A(306)和C(308)的距離。此外,圖3中還示出了c(元素322)和b(元素320)之間的角度α(元素340),以及a(元素324)和b(元素320)之間的角度γ(元素342)。
如圖3和式3.1(元素310)中所示,可以通過求解β(元素326)或者點A(無線306)、點H(元素302)和點C(元素308)之間的角度的log10,來計算視覺測量值310或者LogVA。如圖3和式3.2(元素312)中所進一步示出的,可以基于a(元素324)、b(元素320)和c(元素322)來計算β(元素326)。如式3.3和3.4(分別為元素314和316)中所進一步示出的,可以基于頭部-目標(元素330)、b(元素320)和δ(元素332)來計算元素c(322)和a(324)。如式3.5(元素318)中所示出的,可以將角度δ(元素332)確定成小面法線向量(元素334)和除以其范數(shù)的逆頭部-目標向量(元素330)之間的角度??梢詫⑿∶娣ň€(元素334)確定成與b(元素320)具有90度的角度(元素336)的法線,小面法線(元素334)位于目標對象T的中心(元素212)。目標對象T的中心(元素212)和端點C(元素308)之間的距離344可以等于距離(元素320)的一半。
一些實施例可以計算視覺角度(即,MAR的等同物,但針對于一個或多個各種目標對象小面大小和/或方位)并且調(diào)整“頭部-目標”向量,以使得視覺角度的Log10對應(yīng)于(例如,其可以低于或者等于)預(yù)先規(guī)定的值(精度水平或者PL,如下所述)。可以根據(jù)小面法線334來計算視覺角度222,其中,小面法線334可以是與目標對象T(元素212)的一個選定小面中的線(元素320)相垂直(例如,處于90度角度,元素336),同時還考慮該小面的方位。
在一些實施例中,任務(wù)的精度水平(PL)(即,高精度水平或低精度水平)可以指示可接受的要切實履行的LogVA(元素310)值。如圖4(統(tǒng)稱地,圖4A到圖4C)中所示,一些實施例在使用視覺約束的同時,分析逆運動學(xué)(IK)引擎所預(yù)測的姿勢,并且將該姿勢與不使用視覺約束時獲得的姿勢進行比較。如圖4A到圖4C中所示,任務(wù)可以包括在模擬鉆孔任務(wù)時,使用前述的IK引擎來定位DHM(例如,虛擬人體模型或者人體模型206)。根據(jù)一些實施例,方法1000在假定完美視覺(LogMAR=0)的情況下,使用高精度水平(HPL)值(圖4C)和低精度水平(LPL)值(圖4B)來結(jié)合用于人體模型206的IK算法進行使用。這允許在鉆孔任務(wù)期間,對于PL對人體模型的“頭部-目標”距離408的影響進行評估。對于圖4A到圖4C中所示出的鉆孔任務(wù)而言,人體模型206可以使用鉆頭418,利用鉆夾具406來鉆孔416。
鉆頭418可以處于人體模型的左手412中,并且與握持在人體模型的右手414中的指導(dǎo)夾具406的孔對齊。視覺目標可以是夾具孔洞416(目標對象大小=1.5mm),并且其小面法線平行于該孔軸線。在圖4A-C中分別示出了三種情形。首先,在圖4A中不應(yīng)用視覺約束。接著,在使用兩種不同的PL的情況下,應(yīng)用視覺約束:圖4C中的高PL(HPL)和圖4B中的低PL(LPL)值。
此外,還計算了源自于應(yīng)用了該HPL和LPL的可接受視覺空間410。根據(jù)一些實施例,假定人體模型的頭部404直接看著目標對象(圖4A到圖4C的鉆孔416),這些視覺空間410的內(nèi)部可以提供允許在該給定的PL下,履行LogVA視覺約束的范圍。根據(jù)一些實施例,該可接受視覺空間410可以是三維的,并且其可以提供DHM執(zhí)行與該目標對象相關(guān)聯(lián)的任務(wù)的能力的指示。
根據(jù)一些實施例,可以基于LogVA和稱為被禁止空間420的另外空間,來生成該可接受視覺空間410。如圖4B到圖4C中所示,根據(jù)一些實施例,可以基于DHM 206和/或相應(yīng)的人體的眼睛的調(diào)節(jié)近點(punctum proximum)(例如,近點,如本領(lǐng)域普通技術(shù)人員所知道的),來生成被禁止空間420。根據(jù)一些實施例,如圖4B中所示,被禁止空間420(其可以從視覺目標位置416近似地或者準確地擴展到DHM 206的左手412)是個半球(其可以具有圖4B中的250mm的直徑和/或平均直徑,或者根據(jù)背景而具有不同的值)。在一些實施例中,被禁止空間420的球體中心可以位于視覺目標位置416處。
根據(jù)一些實施例,可以基于LogVA來計算視覺空間。如圖4B到圖4C中所示出的,在一些實施例中,可接受視覺空間410可以采用球體和/或橢圓體的形式和/或可以采用類似于球體和/或橢圓體的形式(其可以包括但不限于:半球體和/或半橢圓體),但去除被禁止空間420。當(dāng)從全部的和/或一半的橢圓體和/或全部的和/或一半的球體中減去被禁止空間420時(圖4B-C中沒有顯式地示出),獲得可接受視覺空間410。
在一些實施例中,通過圖4(圖4A到圖4C)所獲得的HPL值是1.18(±0.06),而LPL值是0.78(±0.01)??梢詫⑦@些值替代到式2中的PL,以便連同使用無視覺約束來預(yù)測鉆孔任務(wù)姿勢。針對不具有視覺約束的HT距離408(在圖4A中,56.3cm的HT距離408)和LPL約束的HT距離408(在圖4B中,52.3cm的HT距離408),獲得類似量級的幅度。但是,該HT距離408小于HPL約束時的一半(在圖4C中,23.8cm的HT距離408)。圖4A到圖4C示出了:增加視覺約束(該視覺約束考慮任務(wù)的PL)影響HT距離408(即,HT向量的范數(shù))。在圖4B到圖4C中,將HPL和LPL任務(wù)對應(yīng)的可接受視覺空間410示出成軸對稱網(wǎng)格。
在另一個實驗中(附圖中沒有示出),在具有完美視覺(LogMAR=0)的單一主題上進行的實驗中,對兩個PL值進行評估。在高精度水平(HPL)任務(wù)期間,DHM(例如,人體模型或者主題)小心地將電阻插入到線路板中。在低精度水平(LPL)任務(wù)期間,DHM觀看他前面的計算機屏幕,計算包含隨機模式的3種不同形狀(分別為正方形、圓形、Pac-Man,或者■,●,)的線上的Pac-Man形狀(5mm寬度)的數(shù)量。因此,根據(jù)一些實施例,可以使用具有反射標志(VICON INC、Oxford、UK)的運動分析系統(tǒng),來獲得頭部-目標(HT)距離,以便推導(dǎo)PL值。
圖5示出了可以在其中實現(xiàn)本公開內(nèi)容的實施例的計算機網(wǎng)絡(luò)或者類似的數(shù)字處理環(huán)境。
客戶端計算機/設(shè)備50和服務(wù)器計算機60提供執(zhí)行應(yīng)用程序等等的處理、存儲和輸入/輸出設(shè)備??蛻舳擞嬎銠C/設(shè)備50還可以通過通信網(wǎng)絡(luò)70,來連接到包括其它客戶端設(shè)備/處理器50和服務(wù)器計算機60的其它計算設(shè)備。通信網(wǎng)絡(luò)70可以是遠程接入網(wǎng)絡(luò)、全球網(wǎng)絡(luò)(例如,互聯(lián)網(wǎng))、計算機的世界范圍集合、局域網(wǎng)或廣域網(wǎng)和網(wǎng)關(guān)的一部分,其中網(wǎng)關(guān)同時地使用相應(yīng)的協(xié)議(TCP/IP、藍牙TM等等)來彼此之間進行通信。其它電子設(shè)備/計算機網(wǎng)絡(luò)體系結(jié)構(gòu)也是適用的。
客戶端計算機/設(shè)備50可以配置有根據(jù)一些實施例的姿勢引擎。服務(wù)器計算機60可以被配置成姿勢引擎,其與客戶端設(shè)備50進行通信以訪問該姿勢引擎。服務(wù)器計算機60可以是單獨的服務(wù)器計算機或者云網(wǎng)絡(luò)70的一部分。在一些實施例中,服務(wù)器計算機60(例如,姿勢引擎)可以與一個或多個計算機應(yīng)用進行通信。
服務(wù)器計算機60可以包括配置為獲得與原始DHM姿勢相關(guān)聯(lián)的信息的數(shù)據(jù)引擎(作為一部分或者通信耦合到姿勢引擎)。所獲得的DHM姿勢信息可以包括DHM的頭部的位置。服務(wù)器計算機60還可以包括配置為獲得與目標對象相關(guān)聯(lián)的信息的數(shù)據(jù)引擎(作為一部分或者通信耦合到姿勢引擎)。所獲得的目標對象信息可以包括目標對象的大小和目標對象的方位。該數(shù)據(jù)引擎可以被配置為獲得從DHM的頭部到目標對象的距離。
此外,服務(wù)器計算機60還可以包括處理引擎(作為一部分或者通信耦合到姿勢引擎),該處理引擎被配置為基于一個或多個參數(shù)(其包括所獲得的DHM姿勢信息、所獲得的目標對象信息和所獲得的HT距離中的任何一個),生成DHM正在視覺上瞄準的目標對象的DHM的視覺測量值。該處理引擎可以被配置為基于視覺的該測量值、DHM相對于目標對象的視覺的約束。姿勢引擎可以被配置為基于該視覺約束,生成更新的DHM姿勢。
此外,服務(wù)器計算機60還可以包括逆運動學(xué)引擎(作為一部分或者通信耦合到姿勢引擎)。更新的DHM姿勢還可以是基于逆運動學(xué)引擎、視覺約束和DHM的自由度來生成的。逆運動學(xué)引擎可以接收該視覺約束,確定該DHM的自由度。數(shù)據(jù)引擎可以獲取信息,將所獲取的信息的至少一部分轉(zhuǎn)發(fā)給姿勢引擎、處理引擎或者逆運動學(xué)引擎中的任何一個。
客戶端50可以從服務(wù)器60接收來自姿勢引擎、逆運動學(xué)引擎、處理引擎或者數(shù)據(jù)引擎的信息的至少一部分。在一些實施例中,客戶端50可以包括在客戶端50上執(zhí)行的客戶端應(yīng)用或者組件,以監(jiān)測DHM姿勢和獲取與DHM姿勢相關(guān)聯(lián)的信息,以有助于DHM姿勢的更新和預(yù)測,客戶端50可以將該信息傳輸給服務(wù)器(例如,分析引擎)60。
圖6是圖5的計算機系統(tǒng)中的計算機(例如,客戶端處理器/設(shè)備50或服務(wù)器計算機60)的示例性內(nèi)部結(jié)構(gòu)的圖。每一個計算機50、60都包含系統(tǒng)總線79,其中總線是用于計算機或處理系統(tǒng)的部件之間的數(shù)據(jù)傳輸?shù)囊唤M硬件線。系統(tǒng)總線79在本質(zhì)上是連接計算機系統(tǒng)的不同元素(例如,處理器、磁盤存儲器、存儲器、輸入/輸出端口、網(wǎng)絡(luò)端口等等)而且能夠在各個元素之間傳輸信息的共享導(dǎo)線。I/O設(shè)備接口82連接到系統(tǒng)總線79,以便將各種輸入和輸出設(shè)備(例如,鍵盤、鼠標、顯示器、打印機、揚聲器等等)連接到計算機50、60。網(wǎng)絡(luò)接口86使計算機能夠連接到附連到網(wǎng)絡(luò)(例如,圖5的網(wǎng)絡(luò)70)的各種其它設(shè)備。存儲器90為用于實現(xiàn)本公開內(nèi)容的實施例(例如,本文所描述的逆運動學(xué)引擎、數(shù)據(jù)引擎、處理引擎和姿勢引擎中的任何一個)的計算機軟件指令92和數(shù)據(jù)94,提供易失性存儲。磁盤存儲器95為用于實現(xiàn)本公開內(nèi)容的實施例的計算機軟件指令92和數(shù)據(jù)94,提供非易失性存儲。應(yīng)當(dāng)注意,在客戶端50和服務(wù)器60之間,數(shù)據(jù)94可以是相同的,但是,計算機軟件指令92的類型可以在客戶端50和服務(wù)器60之間不同。中央處理器單元84也連接到系統(tǒng)總線79,并提供計算機指令的執(zhí)行。在一個實施例中,處理器例程92和數(shù)據(jù)94是計算機程序產(chǎn)品(通常引用為92),其包括為本發(fā)明的系統(tǒng)提供軟件指令的至少一部分的計算機可讀介質(zhì)(例如,諸如一個或多個DVD-ROM、CD-ROM、磁盤、磁帶等等之類的移動存儲介質(zhì))??梢酝ㄟ^任何適當(dāng)?shù)能浖惭b過程來安裝計算機程序產(chǎn)品92,如本領(lǐng)域所公知的。在另一個實施例中,還可以通過電纜、通信和/或無線連接來下載這些軟件指令的至少一部分。在其它實施例中,本發(fā)明的程序是體現(xiàn)在傳播介質(zhì)上的傳播信號(例如,在諸如互聯(lián)網(wǎng)之類的全球網(wǎng)絡(luò)或其它網(wǎng)絡(luò)上傳播的無線電波、紅外波、激光波、聲波或者電波)上的計算機程序傳播信號產(chǎn)品107(圖5中所示出的)。
本發(fā)明的實施例或者方面可以利用硬件(其包括但不限于硬件電路)、固件或者軟件的形式來實現(xiàn)。當(dāng)使用軟件實現(xiàn)時,可以將軟件存儲在任何非臨時性計算機可讀介質(zhì)上,其中該非臨時性計算機可讀介質(zhì)被配置為使處理器能夠裝載該軟件或者其指令的一些子集。隨后,處理器執(zhí)行這些指令,并被配置為以本文所描述的方式來進行操作或者使裝置進行操作。
相對于LogMAR和視線角度的現(xiàn)有方法,包括LogVA的實施例的至少一個優(yōu)點是:LogVA允許同時地調(diào)整頭部-目標(HT)距離和方位,以便根據(jù)目標對象尺寸來尊重預(yù)先規(guī)定的任務(wù)精度水平(PL)。根據(jù)一些實施例,如果用戶在聚焦或者精度水平之下修改目標對象,則可以計算新的LogVA,通過逆運動學(xué)(IK)解算器來自動地重新調(diào)整DHM人體姿勢。
一些實施例的另一種優(yōu)點是,在具有最小用戶干預(yù)或者不具有用戶干預(yù)的情況下,它們更可能提供可能的(現(xiàn)實的)數(shù)字人體模型姿勢。一些實施例可以結(jié)合用于提供三維(3D)虛擬人體工程學(xué)解決方案的算法來使用。因此,一些實施例特別是有益的,這是由于虛擬人體工程學(xué)用戶可能花費太多的時間和精力來確定DHM的姿勢(其不幸地導(dǎo)致不可能(不現(xiàn)實)的姿勢),而這可以通過一些實施例來校正和/或部分地解決。
一些實施例可以通過基于上面所提及的操作來更新DHM,對一個或多個DHM的行為和/或數(shù)據(jù)進行轉(zhuǎn)換。一些實施例可以對一個或多個數(shù)字人體模型(DHM)的行為和/或數(shù)據(jù)進行轉(zhuǎn)換,以提供基于視覺約束來修改的一個或多個更新的DHM,其可以基于一個或多個參數(shù)來進行轉(zhuǎn)換,其中所述一個或多個參數(shù)可以包括所獲得的DHM姿勢信息、所獲得的目標對象信息和所獲得的頭部-目標(HT)距離。
一些實施例可以通過提高數(shù)字人體模型(DHM)相對于目標對象的姿勢的計算機仿真準確性來提供功能改進。此外,一些實施例還可以通過在具有最小用戶干預(yù)或者不具有用戶干預(yù)的情況下,提供可能的(現(xiàn)實的)數(shù)字人體模型姿勢,來提供針對于計算機、計算機應(yīng)用、計算機程序功能和/或計算機代碼的質(zhì)量的功能改進。
一些實施例通過提高數(shù)字人體模型(DHM)相對于目標對象的姿勢的計算機仿真準確性,來解決技術(shù)問題(從而提供技術(shù)效果)。一些實施例通過在具有最小用戶干預(yù)或者不具有用戶干預(yù)的情況下,提供可能的(現(xiàn)實的)數(shù)字人體模型姿勢,來解決技術(shù)問題(從而提供技術(shù)效果)。
此外,本文將硬件、固件、軟件、例行程序或者指令描述成執(zhí)行數(shù)據(jù)處理器的某些動作和/或功能。但是,應(yīng)當(dāng)理解的是,本文所包含的這些描述只是為了方便起見,事實上這些動作源自于計算設(shè)備、處理器、控制器或者執(zhí)行該固件、軟件、例行程序、指令等等的其它設(shè)備。
應(yīng)當(dāng)理解的是,流程圖、框圖和網(wǎng)絡(luò)圖可以包括更多或更少的元素、可以按不同方式排列、或者可以按不同方式表示。此外,還應(yīng)當(dāng)理解的是,某些實現(xiàn)可以指定框圖和網(wǎng)絡(luò)圖,以及以特定的方式來示出實現(xiàn)這些實施例的執(zhí)行的框圖和網(wǎng)絡(luò)圖的數(shù)目。
因此,另外的實施例還可以用各種各樣的計算機架構(gòu)、物理計算機、虛擬計算機、云計算機和/或其某種組合來實現(xiàn),因此,本文所描述的數(shù)據(jù)處理器旨在用于舉例目的,而不是限制這些實施例。
雖然已經(jīng)參考本發(fā)明的示例性實施例具體地顯示和描述了本發(fā)明,但本領(lǐng)域普通技術(shù)人員應(yīng)當(dāng)理解,可以在其中進行形式和細節(jié)方面的多種改變,而不脫離由所附權(quán)利要求書涵蓋的本發(fā)明的保護范圍。