實施例中,可基于其中辨識文本塊210-1的第一圖像幀定義參考框架285,且所述參考框架可充當用于后續圖像幀的頁坐標系。
[0051]在一些實施例中,可從參考幀開始使用參考圖像幀及后續幀中的一或多個自然特征及/或特征點建置跟蹤模型。一旦建置了跟蹤模型,便可使用跟蹤模型來確定所辨識的文本在后續幀中的位置。舉例來說,攝像機110可在掃描過程期間移動到攝像機位置230-2,其中視場是通過虛線255內的區及參考框架280展示。
[0052]如圖2中所展示,攝像機位置230-2反映攝像機110相對于文本塊210所存在的媒體的位置及定向的改變。在一些實施例中,可部分地使用自然特征跟蹤以獲得攝像機110相對于參考框架275的6-DOF姿態的估計。可使用攝像機110在參考框架275中的所估計的6-DOF姿態來確定所辨識的文本塊210-1在參考框架280中的位置。
[0053]另外,部分地基于在文本塊1210-1中辨識的字符或其一部分,在一些實施例中,可使用圖像對準技術來計算攝像機位置230-1與攝像機位置230-2的參考幀之間的圖像的相對運動。舉例來說,可使用例如ESM等圖像對準技術來通過使用所辨識的文本塊210-1的已知的估計位置確定攝像機位置230-2處的當前圖像相對于在攝像機位置230-1處獲得的參考圖像的運動。
[0054]接著可使用通過圖像對準過程及/或先前參考幀(如果先前已產生參考幀)測量的圖像的相對運動初始化分塊跟蹤器。分塊跟蹤器可在參考圖像分塊與從當前圖像中提取的當前圖像分塊之間匹配特征點以計算相對于文本的優化的攝像機姿態。
[0055]在一些實施例中,例如,當位置230-1處的圖像幀與在攝像機位置230-2處俘獲的圖像幀之間存在不充分重疊時(或當尚未產生參考幀時),接著可通過使用OCR識別文本塊210-1及文本塊210-2中的一或多個字符或字詞來處理在位置230-2處俘獲的圖像幀。可基于文本塊1210-1的已知姿態265及基于如通過ESM或另一圖像對準技術確定的位置230-1與230-2之間的攝像機110的相對運動及定向確定文本塊210-2相對于參考框架280的姿態270。在一些實施例中,ESM可對后續圖像幀的低分辨率版本操作。另外,還可使用位置230-1與230-2之間的攝像機110的所計算的相對運動及定向來確定文本塊210-2依據參考框架285的姿態。因此,可使用攝像機相對于第二文本塊的位置來確定第一文本塊與第二文本塊之間的幾何關系。因此,在一些實施例中,可按兩種方式表示文本塊210的位置:攝像機坐標系內的相對姿態,例如(i)參考框架275及/或280,及(ii)頁坐標系285內的相對姿態。
[0056]圖3展示與所揭示實施例一致的進行文本檢測及跟蹤的實例方法300的流程圖。參看圖3,在一些實施例中,可通過在MS 100上執行的計算機視覺及/或AR應用程序調用方法300。在一些實施例中,實例方法300可在305中開始,在305中,可執行各種初始化及內務處理例行程序。接下來,在310中,可獲得第一或下一個經掃描的圖像幀。舉例來說,用戶可通過在MS 100上滑動攝像機110跨越相對平坦表面(例如,頁面)上的文本來掃描文本及/或俘獲圖像幀,從而產生對應于經掃描的文本的一或多個圖像或幀。舉例來說,在掃描過程期間,用戶可俘獲包括一序列時間上的若干圖像幀的視頻,即,所俘獲幀可形成視頻序列的部分。
[0057]在320中,可使用觸發事件(320中的“是”)來起始325中的OCR過程。觸發可包含(例如)對攝像機視圖中并非先前經掃描的區域的區域的檢測。在一些實施例中,由于第二經掃描的圖像幀的一部分相對于先前參考圖像及/或第一跟蹤目標之間缺乏重疊,因此可檢測未經掃描的區域。舉例來說,如果重疊的缺乏超過閾值,那么可觸發325中的OCR。舉例來說,在320中,如果當前圖像幀與第一參考幀之間的重疊區域的百分比低于閾值百分比,那么方法可繼續進行到325。
[0058]在一些實施例中,當第一參考幀與后續圖像幀之間的相對運動超過閾值時,可觸發325中的OCR。在一些實施例中,可部分地基于先前所辨識的文本塊在后續圖像幀中的位置及/或使用ESM或另一圖像對準技術計算第一參考幀與后續圖像幀之間的相對運動。舉例來說,如果當前圖像幀相對于第一參考幀的旋轉的量值及/或當前圖像幀相對于第一參考幀的平移的量值超過某一閾值,那么可觸發325中的OCR。在一些實施例中,例如,當掃描新圖像時及/或當首次開始文本掃描或AR應用程序時,如果不存在參考幀,那么可自動地觸發325中的OCR。
[0059]在一個實施例中,可基于所跟蹤特征在新區域中的不存在確定相對于上一個參考幀來說為“新”的攝像機圖像內的區域。在一些實施例中,不論何時新區域超過圖像幀的閾值百分比或分數,方法均可繼續進行到325。在另一實施例中,可將參考攝像機框架投影到頁坐標系285上且基于當前攝像機姿態進行對準,且不論何時頁平面上的“新”區域超過被當前參考幀覆蓋的頁平面上的閾值區域或區域的百分比,均可觸發325中的新文本/OCR辨識事件。
[0060]在另一實施例中,當上一個所跟蹤字詞或先前所辨識的文本塊中的一者的某一分數超出當前攝像機框架的范圍時,可觸發325。舉例來說,在一個實施例中,當當前圖像幀中可見的第一文本塊的一分數低于某一閾值時,可觸發325。可將第一文本塊的可見分數確定為包括當前圖像幀中的第一文本塊的可見部分的區域與第一參考幀中的第一文本塊的總區域的比。
[0061]在一些實施例中,如果未檢測到觸發(320中的“否”),那么,算法可繼續進行到355,在355中,可做出是開始/繼續產生跟蹤目標還是繼續使用現有目標進行文本跟蹤過程的確定。
[0062]如果在320中檢測到觸發事件(320中的“是”),那么,在325中,可處理圖像幀以查找及辨識對應于圖像幀中的經掃描的文本的新字詞/字符。舉例來說,可調用與實例方法300相關聯的OCR應用程序來處理圖像幀。在一些實施例中,325中的OCR應用程序可對文本塊操作,例如文本塊210-1及/或210-2。在一些實施例中,可基于各種參數確定文本塊的大小,各種參數例如圖像幀中可見的文本的量、可用存儲器160、OCR應用程序的速度、AR應用程序的類型、處理器150的數目及速度等。在一些實施例中,OCR應用程序可補償由于用戶手震顫及焦點未對準圖像產生的運動模糊。
[0063]在330中,可確定OCR過程是否成功。在OCR過程不成功的情況下(330中的“否”),方法可返回到310,在310中,獲得下一個圖像幀。在一些實施例中,可將關于錯誤的視覺或可聽指示提供給用MS 100掃描文本的用戶。在一些實施例中,如果通過OCR應用程序未在若干圖像/幀內檢測到字詞,那么可觸發攝像機110的自動聚焦。
[0064]在一些實施例中,如果OCR過程成功(330中的“是”),那么,在335中,可將在330中成功地執行OCR所針對的且包含所辨識的文本塊的特定攝像機圖像/幀作為參考幀存儲。在一些實施例中,可將參考幀存儲在存儲器160中。在一些實施例中,可稍后利用參考幀來初始化跟蹤系統的其它模塊。
[0065]在340中,可確定新字詞及/或文本塊相對于當前攝像機位置的姿態。舉例來說,可導出文本塊210-2相對于參考框架280的相對位置。在一些實施例中,可部分地通過檢測至少一個其它先前所辨識的文本塊(例如,文本塊1210-1)來確定新文本塊210-2的姿態。舉例來說,部分地基于在文本塊210-1中辨識的字符,在一些實施例中,可使用例如ESM等圖像對準技術來計算圖像的相對運動。在一些實施例中,ESM可對后續圖像幀的低分辨率版本操作。因此,可基于對準確定先前所辨識的文本塊相對于當前攝像機位置的姿態。因此,可基于先前所辨識的文本塊的所確定的位置確定新近所辨識的字詞相對于當前攝像機位置的姿態。因此,可使用攝像機相對于第二文本塊的位置來確定第一文本塊與第二文本塊之間的幾何關系。基于已知的文本塊及新近所辨識的文本塊的所確定的姿態,可導出頁坐標系285中的新字詞的姿態,由此促進根據經掃描的圖像/幀序列重新構造經掃描的文本的結構。
[0066]接下來,在345中,可根據新字詞的姿態將新字詞插入到文本表示中。舉例來說,在一個實施例中,每一所辨識的文本塊可與頁坐標系285中的限界框及坐標相關聯,且可基于所辨識的文本塊在頁坐標系285中的坐標將所辨識的文本塊插入到文本表示中。方法可接著繼續進行到375。在一些實施例中,可使用適當數據結構來存儲文本表示。
[0067]在一些實施例中,如果未檢測到觸發(320中的“否”),那么,算法可繼續進行到355,在355中,做出關于是否已構造自然特征目標且自然特征目標完整的確定。如果已構造自然特征目標且自然特征目標完整(355中的“是”),那么方法繼續進行到370。
[0068]如果未構造跟蹤目標(例如,自然特征跟蹤目標)或跟蹤目標不完整(355中的“否”),那么,在360中,可啟動或繼續進行產生跟蹤目標(例如,自然特征跟蹤目標)的過程。在一些實施例中,自然特征跟蹤目標的產生可包括提取一或多個自然特征,包含一或多個圖像幀中的基于文本的特征。當確定針對圖像的所提取的興趣點的數目超過某一閾值或滿足某一所希望的置信水平時,目標的構造可被視為完整的。在一些情況下,此類自然特征跟蹤目標的產生可能需要一個以上攝像機框架,這是因為增加所識別的特征的數目會增加使用所檢測到的特征進行的稍后跟蹤的準確度。在一些實施例中,可與方法300中的其它元素并行地執行自然特征跟蹤目標的產生。
[0069]在一些實施例中,可在幀中檢測圖像中的特定特征點(例如,具有高對比度差的點及/或拐角點)且使用所述特定特征點來跨越幀跟蹤攝像機110的姿態。在一些實施例中,處理器150可存儲關于特征點的像素相關信息。舉例來說,可將與特征點像素相關聯的梯度值及/或梯度值的函數存儲在存儲器160中。在一些實施例中,可將參考幀中的關鍵點的特征向量存儲在特征數據庫中。在一些實施例中,自然特征跟蹤可使用將個別權重指派給多個特征點的加權方案。在一些實施例中,用于每一特征點的權重可部分地基于特征點相對于一或多個文本塊的位置。舉例來說,加權方案可以文本塊為中心且相比于攝像機圖像框架中的其它特征來說更偏愛位于文本塊上的特征。
[0070]在一些實施例中,可假設所提取的特征位于平行于攝像機平面的平面上。舉例來說,在文本塊出現在平面、幾乎平面或相對平坦表面(例如,雜志頁、書、報紙、產品包裝或路標)上且攝像機握持為正面平行于文本(所述情形促進更好地進行文本辨識)的例子中,在可假設所提取的特征位于平行于攝像機平面的平面上的情況下,可使用自然特征跟蹤來建置模型。在一些實施例中,對于平面目標,所述方法可在高穩健性及改變照明條件下按6-DOF跟蹤目標。
[0071]在一些實施例中,在完成360之后,或在存在自然特征跟蹤目標且自然特征跟蹤目標完整的情況下,接著,方法可繼續進行到370。在370中,可使用例如ESM等圖像對準技術來確定230-2處的當前圖像相對于在攝像機位置230-1處獲得的參考圖像的運動。在