午夜毛片免费看,老师老少妇黄色网站,久久本道综合久久伊人,伊人黄片子

單應性校正的制作方法

文檔序號:10687993閱讀:401來源:國知局
單應性校正的制作方法
【專利摘要】本公開提供了用于將畸變圖像映射到校正圖像的多階段圖像映射機制。例如,多階段圖像映射機制可以從畸變圖像去除單應性以分兩個階段重構(gòu)校正圖像:(1)其中從畸變圖像部分地去除畸變以生成中間圖像的第一階段,以及(2)其中從中間圖像去除殘余畸變以恢復校正圖像的第二階段。
【專利說明】
單應性校正
技術(shù)領(lǐng)域
[0001] 在本文中公開了涉及針對圖像處理應用校正圖像的單應投影的設(shè)備、系統(tǒng)以及方 法。
【背景技術(shù)】
[0002] 數(shù)字圖像可以由許多裝置形成并用于許多實際目的。裝置包括具有對可見光或紅 外光進行操作的圖像傳感器的相機,所述圖像傳感器諸如電耦合器件(CCD)圖像傳感器或 互補金屬氧化物半導體(CMOS)圖像傳感器、行掃描傳感器、飛點掃描儀、電子顯微鏡、包括 計算機斷層成像(CT)掃描儀的X光線裝置、磁共振成像器以及本領(lǐng)域的技術(shù)人員已知的其 它裝置。在工業(yè)自動化、醫(yī)療診斷、用于多種軍事、民用以及科學目的的衛(wèi)星成像、攝影處 理、監(jiān)控和交通監(jiān)視、文檔處理以及許多其它應用中有實際應用。
[0003] 為了服務于這些應用,可以用機器視覺系統(tǒng)來分析由各種裝置形成的圖像以提取 適當?shù)男畔?。具有相當可觀的實際重要性的一種分析是確定與成像裝置的視場中的對象對 應的圖像中的圖案的位置、取向以及尺寸。圖案檢測方法在工業(yè)自動化中特別重要,在工業(yè) 自動化中其用于在半導體制造、電子裝置組裝、醫(yī)藥制品、食品加工、消費品制造等中引導 機器人和其它自動化裝置。
[0004] 圖案檢測方法可以對已經(jīng)受透視畸變的圖像進行操作。然而,透視畸變趨向于增 加圖案檢測方法的計算復雜性和計算時間。因此,作為預處理步驟,可以對圖像進行校正以 在執(zhí)行圖案檢測方法之前去除透視畸變。

【發(fā)明內(nèi)容】

[0005] 根據(jù)公開主題,提供了用于針對圖像處理應用對圖像的單應畸變進行校正的設(shè) 備、系統(tǒng)以及方法。
[0006] 某些實施例包括機器視覺系統(tǒng)。該系統(tǒng)可以包括被配置成運行在存儲器中存儲的 計算機程序的處理器。計算機程序可以被配置成使處理器接收畸變圖像和與畸變圖像相關(guān) 聯(lián)的單應性矩陣,使用單應性分解模塊來確定共同表示單應性矩陣的第一變換和第二變 換,其中,第一變換使畸變圖像與中間圖像相關(guān),并且第二畸變使中間圖像與已校正圖像相 關(guān),其中,第一變換被約束為將沿著中間圖像的第一維度的像素映射到沿著畸變圖像的第 一維度的位置,并且其中,沿著畸變圖像的第一維度的位置與沿著畸變圖像的第一維度的 相鄰位置間隔開相同距離,使用單應性去除模塊通過從畸變圖像去除第一變換來生成中間 圖像,并且使用單應性去除模塊通過從中間圖像去除第二變換來生成已校正圖像。
[0007]在某些實施例中,第二變換被約束為將沿著已校正圖像的第一維度的像素映射到 沿著中間圖像的第一維度的位置,并且其中,沿著中間圖像的第一維度的位置與沿著中間 圖像的第一維度的相鄰位置間隔開相同距離。
[0008]在某些實施例中,處理器還被配置成在從中間圖像去除第二變換之前使用單應性 去除模塊將中間圖像轉(zhuǎn)置。
[0009] 在某些實施例中,處理器還被配置成使用單應性去除模塊來使直接存儲器訪問控 制器在從中間圖像去除第二變換之前將中間圖像轉(zhuǎn)置。
[0010] 在某些實施例中,直接存儲器訪問控制器被配置成使用二維直接存儲器訪問來將 中間圖像轉(zhuǎn)置。
[0011] 在某些實施例中,處理器還被配置成使用單應性去除模塊通過針對中間圖像的第 一像素確定畸變圖像中的對應第一位置并對圍繞畸變圖像中的對應第一位置的像素求卷 積以確定用于第一像素的圖像值來從畸變圖像去除第一變換。
[0012] 在某些實施例中,處理器還被配置成使用單應性去除模塊通過在第一像素的坐標 上操作第一變換來確定對應第一位置。
[0013] 在某些實施例中,處理器被配置成使用單應性去除模塊通過向第一維度上的對應 第一位置的坐標添加常數(shù)來針對在第二維度上具有與第一像素相同的坐標的中間圖像的 第二像素確定畸變圖像中的對應第二位置。
[0014] 在某些實施例中,處理器被配置成使用單應性去除模塊來向圖案檢測系統(tǒng)提供已 校正圖像,使得圖案檢測系統(tǒng)可以使用已校正圖像來確定已校正圖像是否包括特定圖案。
[0015] 在某些實施例中,處理器被配置成從圖案檢測系統(tǒng)接收單應性矩陣,其中,該單應 性矩陣由圖案檢測系統(tǒng)基于與畸變圖像相關(guān)聯(lián)的單應性的假設(shè)來確定。
[0016] 在某些實施例中,處理器被配置成使用單應性去除模炔基于沿著畸變圖像的第一 維度的位置中的一個的亞像素坐標來選擇一組內(nèi)核中的一個,并在所述位置中的一個處應 用所選內(nèi)核。
[0017] 某些實施例包括一種用于操作所公開的系統(tǒng)或所公開的非臨時計算機可讀介質(zhì) 的方法。該方法包括:在單應性分解模塊處接收與畸變圖像相關(guān)聯(lián)的單應性矩陣;使用單應 性分解模塊來確定共同表示單應性矩陣的第一變換和第二變換,其中,第一變換使畸變圖 像與中間圖像相關(guān),并且第二畸變使中間圖像與已校正圖像相關(guān),其中,第一變換被約束為 將沿著中間圖像的第一維度的像素映射到沿著畸變圖像的第一維度的位置,并且其中,沿 著畸變圖像的第一維度的位置與沿著畸變圖像的第一維度的相鄰位置間隔開相同距離;使 用耦合到單應性分解模塊的單應性去除模塊通過從畸變圖像去除第一變換而生成中間圖 像;并且使用單應性去除模塊通過從中間圖像去除第二變換來生成已校正圖像。
[0018] 在某些實施例中,該方法包括在從中間圖像去除第二變換之前使用單應性去除模 塊將中間圖像轉(zhuǎn)置。
[0019] 在某些實施例中,該方法包括在從中間圖像去除第二變換之前使用單應性去除模 塊使直接存儲器訪問控制器將中間圖像轉(zhuǎn)置。
[0020] 在某些實施例中,該方法針對中間圖像的第一像素確定畸變圖像中的對應第一位 置,并對圍繞畸變圖像中的對應位置的像素求卷積以確定用于第一像素的圖像值。
[0021] 在某些實施例中,該方法包括通過向第一維度上的對應第一位置的坐標添加常數(shù) 來針對在第二維度上具有與第一像素相同的坐標的中間圖像的第二像素確定畸變圖像中 的對應第二位置。
[0022]在某些實施例中,該方法包括向圖案檢測系統(tǒng)提供已校正圖像,使得圖案檢測系 統(tǒng)可以使用已校正圖像來確定已校正圖像是否包括特定圖案。
[0023]在某些實施例中,該方法包括基于沿著畸變圖像的第一維度的位置中的一個的亞 像素坐標來選擇一組內(nèi)核中的一個,并在所述位置中的一個處應用所選內(nèi)核。
[0024] 某些實施例包括具有與單應性分解模塊和單應性去除模塊相關(guān)聯(lián)的可執(zhí)行指令 的非臨時計算機可讀介質(zhì)。該模塊可操作用于使機器視覺系統(tǒng)接收與畸變圖像相關(guān)聯(lián)的單 應性矩陣,確定共同表示單應性矩陣的第一變換和第二變換,其中,第一變換使畸變圖像與 中間圖像相關(guān),并且第二畸變使中間圖像與已校正圖像相關(guān),其中,第一變換被約束為將沿 著中間圖像的第一維度的像素映射到沿著畸變圖像的第一維度的位置,并且其中,沿著畸 變圖像的第一維度的位置與沿著畸變圖像的第一維度的相鄰位置間隔開相同距離;通過從 畸變圖像去除第一變換來生成中間圖像,并且通過從中間圖像去除第二變換來生成已校正 圖像。
[0025] 本文所述的公開的設(shè)備、系統(tǒng)以及方法可以通過使用多階段校正過程將畸變圖像 映射到已校正圖像來改善校正畸變圖像中的單應畸變的效率。校正過程的每個階段被設(shè)計 成減少計算并減少從存儲器訪問圖像所需的時間量。
[0026] 某些實施例包括機器視覺系統(tǒng)。該系統(tǒng)可以包括被配置成運行在存儲器中存儲的 計算機程序的處理器。該計算機程序可以被配置成使處理器接收第一圖像和與第一圖像相 關(guān)聯(lián)的第一變換,其中,第一變換使第一圖像與第二圖像相關(guān),并且被約束為將沿著第二圖 像的維度的多個像素映射到沿著第一圖像的維度的多個位置,針對所述多個像素中的第一 像素確定第一圖像中的對應第一位置的坐標,基于與第一位置的坐標相關(guān)聯(lián)的亞像素階段 來選擇多個內(nèi)核中的一個,其中,亞像素階段指示第一位置與第一圖像的像素網(wǎng)格相比的 亞像素偏移,并且通過部分地對圍繞第一圖像中的第一位置的至少一個像素應用所選內(nèi)核 以確定用于第二圖像中的第一像素的圖像值來從第一圖像生成第二圖像。
[0027]在某些實施例中,處理器被配置成通過在第一像素的坐標上操作第一變換來確定 第一位置的坐標。
[0028]在某些實施例中,處理器被配置成通過向第一位置的坐標添加常數(shù)來針對所述多 個像素中的第二像素確定第一圖像中的對應第二位置的坐標。
[0029]在某些實施例中,處理器被配置成基于與第二位置的坐標相關(guān)聯(lián)的亞像素相位選 擇所述多個內(nèi)核中的第二個,并且通過部分地對圍繞第一圖像中的第一位置的至少一個像 素應用所述多個內(nèi)核中的第二個以確定用于第二圖像中的第一像素的圖像值來從第一圖 像生成第二圖像。
[0030] 在某些實施例中,處理器被配置成接收與第二圖像相關(guān)聯(lián)的第二變換,其中,第二 變換將第二圖像與第三圖像相關(guān),并被約束為將沿著第三圖像的維度的多個像素映射到沿 著第二圖像的維度的多個位置,針對第三圖像的第一像素確定第三圖像的對應第一位置的 坐標,基于與第三圖像中的第一位置的坐標相關(guān)聯(lián)的亞像素相位選擇所述多個內(nèi)核中的一 個,并且部分地通過對圍繞第三圖像的第一位置的至少一個像素應用所述多個內(nèi)核中的一 個以確定用于第三圖像的第一像素的圖像值來從第二圖像生成第三圖像。
[0031] 某些實施例包括一種用于操作公開的系統(tǒng)或公開的非臨時計算機可讀介質(zhì)的方 法。該方法包括:接收第一圖像和與第一圖像相關(guān)聯(lián)的第一變換,其中,第一變換使第一圖 像與第二圖像相關(guān),并且被約束為將沿著第二圖像的維度的多個像素映射到沿著第一圖像 的維度的多個位置,針對所述多個像素中的第一像素確定第一圖像中的對應第一位置的坐 標,基于與第一位置的坐標相關(guān)聯(lián)的亞像素相位來選擇多個內(nèi)核中的一個,其中,亞像素相 位指示第一位置與第一圖像的像素網(wǎng)格相比的亞像素偏移,并且通過部分地對圍繞第一圖 像中的第一位置的至少一個像素應用所選內(nèi)核以確定用于第二圖像中的第一像素的圖像 值來從第一圖像生成第二圖像。
[0032] 在某些實施例中,確定第一位置的坐標包括在第一像素的坐標上操作第一變換。
[0033] 在某些實施例中,該方法還包括通過向第一位置的坐標添加常數(shù)來針對所述多個 像素中的第二像素確定第一圖像中的對應第二位置的坐標。
[0034]在某些實施例中,該方法還包括基于與第二位置的坐標相關(guān)聯(lián)的亞像素相位選擇 所述多個內(nèi)核中的第二個,并且通過部分地對圍繞第一圖像中的第二位置的至少一個像素 應用所述多個內(nèi)核中的第二個以確定用于第二圖像中的第二像素的圖像值來從第一圖像 生成第二圖像。
[0035] 在某些實施例中,該方法還包括接收與第二圖像相關(guān)聯(lián)的第二變換,其中,第二變 換將第二圖像與第三圖像相關(guān),并被約束為將沿著第三圖像的維度的多個像素映射到沿著 第二圖像的維度的多個位置,針對第三圖像的第一像素確定第三圖像的對應第一位置的坐 標,基于與第三圖像中的第一位置的坐標相關(guān)聯(lián)的亞像素相位選擇所述多個內(nèi)核中的一 個,并且部分地通過對圍繞第三圖像的第一位置的至少一個像素應用所述多個內(nèi)核中的一 個以確定用于第三圖像的第一像素的圖像值來從第二圖像生成第三圖像。
[0036] 某些實施例包括具有與單應性分解模塊和單應性去除模塊相關(guān)聯(lián)的可執(zhí)行指令 的非臨時計算機可讀介質(zhì)。該模塊可操作用于使機器視覺系統(tǒng)接收第一圖像和與第一圖像 相關(guān)聯(lián)的第一變換,其中,第一變換使第一圖像與第二圖像相關(guān),并且被約束為將沿著第二 圖像的維度的多個像素映射到沿著第一圖像的維度的多個位置,針對所述多個像素中的第 一像素確定第一圖像中的對應第一位置的坐標,基于與第一位置的坐標相關(guān)聯(lián)的亞像素相 位來選擇多個內(nèi)核中的一個,其中,亞像素相位指示第一位置與第一圖像的像素網(wǎng)格相比 的亞像素偏移,并且通過部分地對圍繞第一圖像中的第一位置的至少一個像素應用所選內(nèi) 核以確定用于第二圖像中的第一像素的圖像值來從第一圖像生成第二圖像。
[0037] 在某些實施例中,所述可執(zhí)行指令還可操作用于使機器視覺系統(tǒng)通過向第一位置 的坐標添加常數(shù)來針對所述多個像素中的第二像素確定第一圖像中的對應第二位置的坐 標。
[0038] 在某些實施例中,該多個內(nèi)核與在多個子相位處采樣的相同函數(shù)對應。
[0039] 在某些實施例中,第一變換和第二變換共同表示仿射變換。
[0040] 在某些實施例中,第一變換包括向下采樣操作。
[0041] 在某些實施例中,第一變換包括第一變換矩陣。
[0042]本文所述的公開的設(shè)備、系統(tǒng)以及方法可以通過使用多階段校正過程將畸變圖像 映射到已校正圖像來改善校正畸變圖像中的單應畸變的效率。校正過程的每個階段被設(shè)計 成減少計算并減少從存儲器訪問圖像所需的時間量。
[0043]因此已相當寬泛地概括了公開的主題的特征,目的在于可更好地理解隨后的其詳 細描述,并且目的在于可更好地靈活對本領(lǐng)域的貢獻。當然,存在下文中將描述且將形成所 附權(quán)利要求的主題的公開主題的附加特征。應理解的是本文所采用的措辭和術(shù)語是用于描 述的目的且不應被視為限制性的。
【附圖說明】
[0044] 當結(jié)合以下附圖來考慮時,參考公開的主題的以下詳細描述,可以更全面地認識 到公開的主題的各種目的、特征以及優(yōu)點,在所述附圖中,相同的附圖標記表示相同元件。
[0045] 圖1示出了根據(jù)某些實施例的用于校正畸變圖像的單應性的機器視覺系統(tǒng)。
[0046]圖2示出根據(jù)某些實施例的用以使已校正圖像畸變成中間圖像的第二變換B的應 用和用以使中間圖像畸變成畸變圖像的第一變換A的應用。
[0047]圖3示出根據(jù)某些實施例的兩階段圖像映射過程。
[0048]圖4示出根據(jù)某些實施例的已經(jīng)經(jīng)受透視畸變的畸變圖像的示例。
[0049] 圖5示出根據(jù)某些實施例的通過從圖4的畸變圖像去除第一變換A而生成的中間圖 像的示例。
[0050] 圖6示出根據(jù)某些實施例的通過從圖5的中間圖像去除第二變換B而生成的已校正 圖像的示例。
【具體實施方式】
[0051 ]在以下描述中,闡述了關(guān)于公開的主題的系統(tǒng)和方法及此類系統(tǒng)和方法可在其中 操作的環(huán)境等的許多特定細節(jié),以便提供公開的主題的透徹理解。仍然,對于本領(lǐng)域的技術(shù) 人員將顯而易見的是可在沒有這些特定細節(jié)的情況下實施公開的主題,并且未詳細地描述 在本領(lǐng)域中眾所周知的某些特征以避免公開的主題的復雜化。另外,將理解的是下面提供 的示例是示例性的,并且可設(shè)想存在在公開的主題的范圍內(nèi)的其它系統(tǒng)和方法。
[0052]圖像可以包括二維函數(shù),其值對應于對象的物理特性,諸如亮度(輻射能、反射 等)、色彩、溫度、在參考平面之上的高度等,并且由圖像形成裝置測量,或者其值對應于對 象的模擬特性,并且由任何數(shù)據(jù)處理裝置生成??梢詫D像視為二維矩陣,其中,二維矩陣 中的每個倉(bin)(例如,像素)與一個值或一組值相關(guān)聯(lián)??梢允褂枚S坐標(x,y)來識別 每個像素。在某些實施例中,可以用具有相同y坐標的一組像素來識別一行圖像;并且可以 用具有相同X坐標的一組像素來識別一列圖像。
[0053]畸變圖像可以包括已例如由于透射效應而經(jīng)受畸變的圖像??梢詫⒒儓D像設(shè)置 在圖像平面上,并且其可以表示對象平面的透視圖。因此,對象平面上的平行線可在圖像平 面上會聚,在畸變圖像內(nèi)或者在畸變圖像外面。
[0054]已校正圖像可以包括通過從畸變圖像去除畸變(例如,透視效應)而恢復的圖像。 可以將校正圖像設(shè)置在對象平面上,并且其可以表示對象平面的正視圖。在校正圖像中,對 象平面的沒影線可以是無窮遠線。
[0055]圖像處理可以指代用以確定圖像中所示的特征的特性的圖像自動分析。其例如在 自動化制造生產(chǎn)線中使用,在那里分析各部分的圖像以在組裝之前確定放置和對準。其還 例如在其中分析封裝的圖像以保證產(chǎn)品標簽、批號以及"新鮮"日期被適當?shù)囟ㄎ磺乙鬃x的 質(zhì)量保證中使用。
[0056]圖像處理也具有非工業(yè)應用。例如,在生物技術(shù)研究中,其可以用來識別顯微鏡成 像樣本的組分或培養(yǎng)基中的生長模式。在宏觀規(guī)模,其可以在天文學研究中用來找到延時 圖像中的對象。圖像處理器的氣象學、農(nóng)藝和國防應用包括衛(wèi)星圖像中的對象的檢測和分 析。
[0057]用于改善對象/圖案/特征檢測的準確度的一個圖像處理技術(shù)是單應性校正。單應 性指代空間中的同一平面的兩個圖像之間的關(guān)系。單應性被應用于圖像校正,其可以指代 用于在沒影線在其上面變成無窮遠線的公共圖像平面上將畸變圖像映射到校正圖像的過 程。此變換過程可以稱為單應性校正。在某種意義上,單應性校正去除由成像系統(tǒng)的透視性 質(zhì)引入的畸變。
[0058]在單應性校正中,一旦已知了單應性(例如,畸變圖像與校正圖像之間的映射),圖 像映射技術(shù)可以用于從畸變圖像去除單應性以恢復校正圖像。此去除操作可以包括一個或 多個圖像處理操作,其可以包括縮放、平移、旋轉(zhuǎn)、傾斜和/或其它圖像變換操作中的一個或 多個。
[0059] 常規(guī)圖像成像技術(shù)遺憾地對于大多數(shù)圖像處理應用而言緩慢且過于計算密集。其 常規(guī)圖像映射技術(shù)針對校正圖像中的每個像素位置識別畸變圖像中的對應像素位置,并且 畸變圖像中的對應像素位置的值被拷貝到校正圖像中的關(guān)聯(lián)像素位置以完成映射。在簡單 示例中,校正圖像中的每個像素坐標位置直接地映射到源中的現(xiàn)有像素。因此,例如,校正 圖像中的坐標(4,10)處的像素映射到畸變圖像中的坐標(2,5);校正圖像中的坐標(6,10) 處的像素映射到畸變圖像中的坐標(3,5)等等。
[0060] 然而,校正圖像中的像素很少直接地映射到畸變圖像中的網(wǎng)格位置。因此,例如, 校正圖像中的坐標(4,10)處的像素可映射到畸變圖像中的與像素遠離一個亞像素(例如, 坐標(2.5,5.33))的位置。這可能迫使需要內(nèi)插和/或濾波來確定所確定位置處的適當圖像 值。在上文提供的示例中,可能將用于校正圖像中的坐標(4,10)處的像素的適當強度確定 為用于源像素位置(2,5)、(3,5)、(2,6)以及(3,6)的強度的加權(quán)平均值。在下文中,術(shù)語位 置用于指代平面中的坐標,其可位于像素網(wǎng)格上也可不這樣。
[0061] 此類圖像映射技術(shù)通常耗費計算且費時,因為必須針對校正圖像中的每個像素獨 立地識別畸變圖像中的一個或者多個對應像素。
[0062] 此外,此類圖像映射技術(shù)一般地在其存儲器使用方面是低效的,因為其以存儲在 存儲器中的像素未被對準到存儲器結(jié)構(gòu)的方式(即,數(shù)據(jù)被存儲在存儲器中的方式)訪問該 像素。例如,當圖像映射技術(shù)使用畸變圖像中的一個或多個像素來對用于校正圖像中的像 素的圖像值進行內(nèi)插時,從存儲器獲取所述一個或多個像素。某些種類的存儲器(諸如動態(tài) 隨機訪問存儲器(DRAM))具有對連續(xù)存儲器位置(例如,圖像中的連續(xù)X個坐標)的訪問一般 地比非連續(xù)訪問快得多的性質(zhì)。因此,從存儲器訪問一個或多個像素的順序或者一個或多 個像素被寫入到存儲器的順序?qū)τ诳焖俅鎯ζ髟L問操作而言可能是關(guān)鍵的。遺憾的是,常 規(guī)圖像映射技術(shù)并不保證獲取一個或多個像素的順序?qū)⑦m合于存儲器。因為從存儲器訪問 一個或多個像素可能并不對應于存儲器中的連續(xù)存儲器位置,從存儲器檢索圖像可能是費 時的。
[0063] 在3D Transformations of Images in Scanline Order(Catmull和Smith,1980) 中在一定程度上解決了與常規(guī)圖像映射技術(shù)相關(guān)聯(lián)的某些問題。Catmull展示出一種將圖 像映射過程分解成多個階段使得與校正圖像中的像素(稱為目的地像素)對應的畸變圖像 上的像素(稱為源像素)位于存儲器中的連續(xù)位置上的方法。然而,Catmull的方法仍要求針 對每個目的地像素執(zhí)行相當大的計算,特別是除法。Catmull看起來似乎已將其方法與特殊 化硬件組合以改善計算速度,但是其方法不易在通用處理器上高效地執(zhí)行。
[0064] 在High-quality multi-pass image resampling(Szeliski等人,2010年)中也在 一定程度上解決了與常規(guī)圖像映射技術(shù)相關(guān)聯(lián)的某些問題。Szeliski公開了用于執(zhí)行可論 證地具有某些期望性質(zhì)的某些類別的圖像映射的方法。然而,Szeliski'的方法并不適用于 單應/透視圖像映射。事實上,Szeliski承認"它尚未完全開發(fā)最佳多遍透視算法的理論,因 為實現(xiàn)全計算效率是錯綜復雜的"。因此,需要改善用于單應/透視圖像映射的計算和存儲 器訪問的效率。
[0065] 本公開提供了用于將畸變圖像映射到校正圖像的多階段圖像映射機制。例如,多 階段圖像映射機制可以從畸變圖像去除單應性以分兩個階段重構(gòu)校正圖像:(1)其中從畸 變圖像部分地去除畸變以生成中間圖像的第一階段,以及(2)其中從中間圖像去除殘余畸 變以恢復校正圖像的第二階段。多階段機制可以是有利的,因為其可以允許每個階段在(1) 識別兩個圖像中的像素之間的對應關(guān)系,(2)從存儲器訪問像素,以及(3)對像素進行濾波 以確定圖像值方面是高效的。
[0066] 為此,多階段圖像映射機制將單應性變換H分解成兩個單獨的變換:第一變換A和 第二變換B。因此:
[0067] H=A* B
[0068] 根據(jù)此表示,第二變換B被設(shè)計成將對象平面(例如,與校正圖像相關(guān)聯(lián)的平面)的 坐標映射到中間圖像平面(例如,與中間圖像相關(guān)聯(lián)的平面)的坐標,并且第一變換A被設(shè)計 成將中間圖像平面的坐標映射到圖像平面(例如,與畸變圖像相關(guān)聯(lián)的平面)的坐標。因此, 可以將多階段圖像映射機制的第一階段視為從畸變圖像去除第一變換A以生成中間圖形, 并且可以將多階段圖像映射機制的第二階段視為從中間圖像去除第二變換B以生成校正圖 像。
[0069] 在繼續(xù)進行的描述中,源圖像指代作為到單應性的分解變換中的一個(例如,第一 變換A或第二變換B)的輸入而提供的圖像,并且目的地圖像指代作為來自單應性的分解變 換中的一個(例如,第一變換A或第二變換B)的輸出而提供的圖像。例如,針對第二變換B,源 圖像是校正圖像,并且目的地圖像是中間圖像;并且針對第一變換A,源圖像是中間圖像,并 且目的地圖像是畸變圖像。
[0070] 在某些實施例中,分解變換中的一個或多個(A和/或B)被設(shè)計成將具有特定y坐標 的源圖像的所有像素映射到具有固定y坐標的目的地圖像的像素。在一個示例中,第一變換 A被配置成將一行源圖像映射到一行目的地圖像。此特征允許使用于源圖像和/或目的地圖 像的大多數(shù)存儲器訪問與存儲器結(jié)構(gòu)對準,從而減少高速緩存未命中并減少用于訪問外部 存儲器的訪問時間。
[0071 ]在某些實施例中,分解變換(A和/或B)中的一個或多個被配置成將特定一行源圖 像中的像素映射到固定一行目的地圖像中的與相鄰位置等距離的位置。例如,可以將源圖 像(例如,用于第一變換A的中間圖像)中的像素(1, 7〇)、(2,7〇)、(3,7())映射到目的地圖像 (例如,用于第一變換A的畸變圖像)中的像素(2,7 1)、(4,71),(6,71)。如前所述,固定的一行 目的地圖像可從像素網(wǎng)格偏離亞像素值。因此,坐標 yi可以是分數(shù)坐標值(例如,3.5)。
[0072]在某些實施例中,由于目的地圖像中的位置之間的距離是恒定的(稱為"采樣常 數(shù)"),所以圖像映射技術(shù)不需要獨立地計算與特定一行源圖像中的像素對應的目的地圖像 中的位置。替代地,一旦圖像映射技術(shù)識別到與源圖像中的第一像素對應的目的地圖像中 的第一位置,則圖像映射技術(shù)可以使用該第一位置作為參考點來確定(例如,通過向第一位 置的X坐標簡單地添加采樣常數(shù))對應于與原圖像中的第一像素在同一行中的相鄰像素的 第二位置。分解變換的此特性減少了識別目的圖像中的與源圖像中的像素對應的一個或多 個位置所需的計算量。
[0073]圖1示出了根據(jù)某些實施例的用于校正畸變圖像的單應性的機器視覺系統(tǒng)100。系 統(tǒng)100可以包括計算裝置102,其包括處理器104、存儲器106、單應性校正(HR)模塊108、直接 存儲器訪問(DMA)控制器114以及接口 116。系統(tǒng)100還可以包括圖像采集裝置118,其可以生 成場景的圖像。
[0074] 在某些實施例中,處理器104可以執(zhí)行指令,并且一個或多個存儲器裝置106可以 存儲指令和/或數(shù)據(jù)。存儲器裝置106可以是非臨時計算機可讀介質(zhì),諸如動態(tài)隨機存取存 儲器(DRAM)、靜態(tài)隨機存取存儲器(SRAM)、閃存、磁盤驅(qū)動、光驅(qū)、可編程只讀存儲器 (PROM)、只讀存儲器(ROM)或任何其它存儲器或存儲器的組合。存儲器裝置106可以用于臨 時地存儲數(shù)據(jù)。存儲器裝置106還可以用于長期數(shù)據(jù)存儲??梢杂脤S眠壿嬰娐穪硌a充處理 器104和存儲器裝置106和/或?qū)⑵浣Y(jié)合到專用邏輯電路中。
[0075] 在某些實施例中,HR模塊108可以包括單應性分解模塊110和單應性去除模塊112。
[0076] 單應性分解模塊110可以被配置成接收要從畸變圖像去除的單應性的表示,并確 定與單應性對應的分解變換。分解變換可以包括例如要從畸變圖像去除以生成中間圖像的 第一變換A以及要從中間圖像去除以生成校正圖像的第二變換B。在某些實施例中,分解變 換可以包括可連續(xù)地從畸變圖像去除以生成校正圖像的超過兩個變換,例如三個或四個變 換。
[0077] 單應性分解模塊110可以約束分解變換中的一個或多個,使得特定一行源圖像中 的所有像素被映射到目的地圖像的固定y坐標。固定y坐標可以是整數(shù),在這種情況下,特定 的一行源圖像中的所有像素被映射到固定的一行目的地圖像。并且,單應性分解模塊110可 以約束分解變換中的一個或多個,使得特定一行源圖像中的像素被映射到目的地圖像的固 定y坐標中的相互等距離的位置。
[0078] 單應性去除模塊110可以被配置成從畸變圖像去除分解變換以恢復校正圖像。例 如,單應性去除模塊110可以從畸變圖像去除第一變換A以生成中間圖像,并且從中間圖像 去除第二變換B以恢復校正圖像。在某些實施例中,單應性去除模塊110可以對一行目的地 圖像進行向下采樣以從目的地圖像去除分解變換。在這種情況下,單應性去除模塊110可以 以不同的采樣率對每行目的地圖像進行向下采樣以慮及分解變換的投影畸變。
[0079] 在某些實施例中,單應性去除模塊110可以被配置成對目的地圖像進行向下采樣 作為分解變換去除過程的一部分。這可以通過例如用向下采樣率來適當?shù)卣{(diào)整分解變換來 完成。
[0080] 在某些實施例中,直接存儲器訪問(DMA)控制器114被配置成允許某些硬件裝置向 或從主存儲器發(fā)送或接收數(shù)據(jù),從而繞過處理器104以加速存儲器操作。例如,DMA控制器 114可以在不涉及到處理器104的情況下允許單應性分解模塊110訪問存儲器106。在某些實 施例中,DMA控制器114可以執(zhí)行二維DMA。該二維DMA能夠自動地跳過存儲器中的并未與一 行圖像對應的某些字節(jié)。
[0081] 在某些實施例中,可以用硬件來實現(xiàn)接口 116以在多種介質(zhì)(諸如光學、銅和/或無 線接口)中以及在許多不同協(xié)議中(其中的某些可以是非暫時的)發(fā)送和接收信號。
[0082] 在某些實施例中,可以用軟件來實現(xiàn)模塊108、110、112中的一個或多個。軟件可以 在能夠執(zhí)行計算機指令或計算機代碼的處理器104上運行。處理器104是用硬件使用專用集 成電路(ASIC)、可編程邏輯陣列(PLA)、數(shù)字信號處理器(DSP)、現(xiàn)場可編程門陣列(FPGA)或 任何其它集成電路實現(xiàn)的。適合于執(zhí)行計算機程序的處理器104舉例來說包括通用微處理 器和專用微處理器、數(shù)字信號處理器以及任何種類的數(shù)字計算機的任何一個或多個處理 器。一般地,處理器104從只讀存儲器或隨機存取存儲器或兩者接收指令和數(shù)據(jù)。
[0083] 可以用數(shù)字電子電路或用計算機硬件、固件、軟件或者用其組合來實現(xiàn)模塊108、 110、112。該實現(xiàn)可以是作為計算機程序產(chǎn)品,例如,在機器可讀存儲裝置中有形地體現(xiàn)以 便由數(shù)據(jù)處理設(shè)備(例如,可編程處理器、計算機和/或多個計算機)執(zhí)行或控制器操作的計 算機程序??梢杂萌魏涡问降挠嬎銠C或編程語言來編寫計算機程序,包括源代碼、編譯代 碼、解釋代碼和/或機器代碼,并且可以用任何形式來部署計算機程序,包括作為獨立程序 或作為子例程、元件或者適合于在計算環(huán)境中使用的其它單元??梢詫⒂嬎銠C程序部署在 一個或多個地點處的一個計算機上或多個計算機上執(zhí)行。
[0084] 在某些實施例中,可以在同一集成電路(諸如ASIC、PLA、DSP或FPGA)上形成兩個或 更多模塊108、110、112,從而形成片上系統(tǒng)。子例程可以指代實現(xiàn)一個或多個功能的計算機 程序和/或處理器/特殊電路的各部分。
[0085] 計算裝置102可以操作耦合到圖像采集裝置118。圖像采集裝置118可以經(jīng)由接口 116來提供要校正的一個或多個圖像。圖像采集裝置118可以包括電荷耦合器件(CCD)圖像 傳感器或互補金屬氧化物半導體(CMOS)圖像傳感器、行掃描傳感器、飛點掃描儀、電子顯微 鏡、包括計算機斷層成像(CT)掃描儀的X光線裝置、磁共振成像器和/或本領(lǐng)域的技術(shù)人員 已知的其它裝置。
[0086] 計算裝置102可以操作地耦合到外部裝置(例如,工廠自動化或物流裝置)或通信 網(wǎng)絡(luò)(例如,工廠自動化或物流網(wǎng)絡(luò))以便從裝置或網(wǎng)絡(luò)接收指令和/或數(shù)據(jù)和/或向設(shè)備或 網(wǎng)絡(luò)傳輸指令和/或數(shù)據(jù)。適合于體現(xiàn)計算機程序指令和數(shù)據(jù)的計算機可讀存儲裝置包括 所有形式的易失性存儲器和非易失性存儲器,舉例來說,包括半導體存儲器裝置,例如 DRAM、SRAM、EPROM、EEPROM以及閃存裝置;磁盤,例如內(nèi)部硬盤或可移動磁盤;磁光盤;以及 光盤,例如CD、DVD、HD-DVD以及藍光磁盤。
[0087] 在某些實施例中,計算裝置102可以包括用戶設(shè)備。用戶設(shè)備可以與一個或多個無 線電接入網(wǎng)和有線通信網(wǎng)通信。用戶設(shè)備可以是蜂窩式電話。用戶設(shè)備還可以是提供服務 的蜂窩電話,所述服務例如文字處理、網(wǎng)絡(luò)瀏覽、玩游戲、電子書能力、操作系統(tǒng)以及整字鍵 盤。用戶設(shè)備還可以是提供網(wǎng)絡(luò)訪問和由智能電話提供的大多數(shù)服務的平板計算機。用戶 設(shè)備使用諸如Symbian 0S、iPhone 0S、RIM的黑莓、Windows Mobile、Linux、HP Web OS以及 安卓之類的操作系統(tǒng)進行操作。屏幕可能是用來向移動裝置輸入數(shù)據(jù)的觸摸屏,在這種情 況下可以使用屏幕來代替整字鍵盤。用戶設(shè)備還可以保持全球定位坐標、簡檔信息或其它 位置信息。
[0088] 在某些實施例中,計算裝置102可以包括服務器。服務器可以使用操作系統(tǒng)(OS)軟 件進行操作。在某些實施例中,OS軟件是基于Linux軟件內(nèi)核,并在服務器中運行特定應用 程序,諸如監(jiān)視任務和提供協(xié)議棧。OS軟件允許分別地針對控制和數(shù)據(jù)路徑分配服務器資 源。例如,某些分組加速卡和分組服務卡專用于執(zhí)行路由或安全控制功能,而其它分組加速 卡/分組服務卡專用于處理用戶會話業(yè)務。隨著網(wǎng)絡(luò)要求改變,在某些實施例中,可以動態(tài) 地部署硬件資源以滿足要求。
[0089] 在某些實施例中,單應性去除模塊112可以被配置成使用兩階段圖像映射過程來 校正畸變圖像以恢復校正圖像。在兩階段圖像映射過程的第一階段中,單應性去除模塊112 可以從畸變圖像去除第一變換A以通過沿著畸變圖像的X軸處理像素來生成中間圖像,并且 在兩階段圖像映射過程的第二階段中,單應性去除模塊112可以通過沿著中間圖像的y軸處 理像素來去除第二變換B。
[0090] 在某些實施例中,單應性的一個或多個分解變換可以被設(shè)計成使得單應性去除模 塊112優(yōu)先地沿著源圖像的X軸且沿著目的地圖像的X軸訪問像素。這是因為存儲器一般地 與圖像的X軸對準。換言之,存儲器一般地通過(1)在沿著X軸保持像素順序的同時存儲具有 第一 y坐標的所有圖像且然后(2)在沿著X軸保持像素順序的同時存儲具有第二y坐標(常常 鄰近于第一 y坐標)的所有像素直至圖像中的所有像素都被存儲為止來存儲圖像。因此,通 過將一個或多個分解變換設(shè)計成優(yōu)先地沿著圖像的X軸訪問像素,單應性去除模塊112可以 使用直接存儲器訪問(例如使用直接存儲器訪問控制器)來減少高速緩存未命中和存儲器 訪問時間。
[0091] 在某些實施例中,單應性去除模塊112可以被配置成在發(fā)起兩階段圖像映射過程 的第二階段之前將由兩階段圖像映射過程的第一階段生成的中間圖像轉(zhuǎn)置。通過這樣做, 雖然兩階段圖像映射過程的第二階段被配置成沿著中間圖像的y軸處理像素,但單應性去 除模塊112仍可以在兩階段圖像映射過程的第二階段期間沿著轉(zhuǎn)置中間圖像的X軸(其實際 上是轉(zhuǎn)置中間圖像的y軸)訪問像素以使存儲器訪問與存儲器結(jié)構(gòu)對準。
[0092] 如上文所討論的,在某些實施例中,單應性分解模塊110被配置成將單應性分解成 共同表示單應性的第一變換和第二變換。在某些情況下,一旦單應性分解模塊110接收到預 定單應性,則單應性分解模塊110可以使用單應性、第一變換與第二變換之間的預定關(guān)系來 確定分解。下面描述單應性、第一變換與第二變換之間的此預定關(guān)系。
[0093] 通常在齊次坐標(Xh,yh,Zh)中使用3X3單應性矩陣H來表示單應性,其中,下標h指 示變量與齊次坐標相關(guān)聯(lián)。假設(shè)(x,y)是對象平面(例如,與校正圖像相關(guān)聯(lián)的平面)的坐標 系,且(x',y')是圖像平面(例如,與畸變圖像相關(guān)聯(lián)的平面)的坐標系。根據(jù)齊次坐標的定 義,于是:
[0098] 可以如下表示一般透視操作:
[0094]
[0095]
[0096]
[0097]
[0099]
[0100]
[0101]
[0102] 在不失一般性的情況下,單應性分解模塊110可以選擇圖像平面上的原點,并且將 該位置定義成也是對象平面的原點。這樣,可以簡化單應性矩陣H以去除平移:
[0103] h〇2 = hi2 = 0
[0104] 此外,如齊次坐標表示的情況所是,單應性分解模塊110可以任意地設(shè)定單應性矩 陣H的總規(guī)模。在某些實施例中,單應性分解模塊110可以通過設(shè)定h 22 = l來設(shè)定單應性矩陣 H的規(guī)模。
[0105] 用這些假設(shè),定義對象平面與圖像平面之間的單應性的單應性矩陣H具有六個參 數(shù),并且可以寫為:
[0106]
[0107] 單應性矩陣H的此表示允許校正任意量的旋轉(zhuǎn)。
[0108] 在某些情況下,可以進一步約束單應性矩陣H以改善校正圖像的質(zhì)量。為此,單應 性分解模塊112可以約束單應性矩陣H的旋轉(zhuǎn)元素。關(guān)于單應性矩陣H的旋轉(zhuǎn)元素的約束實 際上確定(例如,決定)與單應性矩陣H相關(guān)聯(lián)的旋轉(zhuǎn)量。
[0109] 在某些實施例中,單應性分解模塊112被配置成通過設(shè)定hQ1 = h1Q來約束單應性矩 陣H的旋轉(zhuǎn)分量。根據(jù)此約束,定義對象平面與圖像平面之間的單應性的單應性矩陣H具有 五個參數(shù),并且可以寫為:
[0110]
[0111] 在某些情況下,與畸變圖像相關(guān)聯(lián)的實際旋轉(zhuǎn)可以相當大地偏離與單應性矩陣H 相關(guān)聯(lián)的旋轉(zhuǎn)量。這可導致不期望的性能退化。在這種情況下,單應性分解模塊112可以命 令單應性去除模塊110以在多階段校正過程的階段1期間局部地向下采樣,并且然后在多階 段校正過程的階段2期間局部地向上采樣以減少性能退化。
[0112] 在某些實施例中,可以進一步約束單應性矩陣H以僅包括關(guān)于傾斜的兩個自由度。 可以使用以下各項來將關(guān)于傾斜的兩個自由度參數(shù)化:(1)傾斜方向τ(也稱為方位角)和 (2)傾斜量α(也稱為傾斜角或僅僅傾斜)。當傾斜約束與前述約束和慣例組合時,這足以計 算單應性矩陣H以矯正用〇和1指定的傾斜:
[0113]
[0114] 在某些實施例中,單應性分解模塊112可以通過另一組參數(shù)來來約束單應性矩陣H 的旋轉(zhuǎn)部件。這組參數(shù)化包括三個角參數(shù),其執(zhí)行(連續(xù)地):(1)圍繞z軸的旋轉(zhuǎn),(2)圍繞y 軸的旋轉(zhuǎn)和(3)圍繞X軸的旋轉(zhuǎn)。這常常稱為"橫搖、縱搖以及平搖"表示。存在用以將"橫搖、 縱搖以及平搖"表示參數(shù)化的至少兩個不同方式。在第一示例中,縱搖和平遙表示先前旋轉(zhuǎn) 之后的圍繞"新"軸的旋轉(zhuǎn);并且在第二示例中,橫搖、縱搖以及平搖中的每一個表示圍繞不 移動"世界"軸的旋轉(zhuǎn)。出于舉例說明的目的,本公開使用"橫搖、縱搖以及平搖"表示的第二 示例,其中,將圍繞世界Z軸的旋轉(zhuǎn)指示為γ ;將圍繞世界y軸的旋轉(zhuǎn)指示為β;并且將圍繞X 軸的旋轉(zhuǎn)指示為α?;诖吮硎?,單應性矩陣H可以采取以下形式:
[0115]
[0116] 在某些實施例中,單應性分解模塊112可以約束單應性矩陣H中的圍繞ζ軸的旋轉(zhuǎn) (γ )。通忖熄V的佶約市為雪.可W熄里府忡鉭陳H簡仆成以下形式:
[0117]
[0118] 此參數(shù)化具有良好的特性,即hQ1和h1Q兩者都具有小量值。
[0119] 本公開的其余部分基于單應性矩陣H的以下表示而提供實施例。
[0120]
[0121] 然而,本領(lǐng)域的技術(shù)人員可以使公開實施例適應于使用其它單應性矩陣表示。
[0122] 給定單應性矩陣H,單應性校正的目標是從圖像平面^'!!^'!!^^上的畸變圖像 去除此單應性H。
[0123] 在某些實施例中,單應性分解模塊112被配置成將單應性矩陣H分解成第一變換A 和第二變換B,使得
[0124] H=A*B
[0125] it由指元并罟;云管箝"wrw加下寫,屮,itk羊蒸.
[0126]
[0127] 在某種意義上,第一變換A將坐標系(x',y')所表示的圖像平面上的畸變圖像相關(guān) 到坐標系(Ay1)所表示的中間圖像平面上的中間圖像,并且第二變換B將坐標系(Ay 1)所 表示的中間圖像平面上的中間圖像相關(guān)到坐標系(x,y)所表示的對象平面上的校正圖像。
[0128] 圖2示出用以使校正圖像(例如,對象平面的正視圖,其為兩階段校正過程的期望 結(jié)果)畸變成中間圖像的第二變換B的應用以及用以使中間圖像畸變成畸變圖像(例如,到 兩階段校正過程的輸入圖像)的第一變換A的應用。
[0129] 由于第一變換A使畸變圖像與中間圖像相關(guān)且第二變換B使中間圖像與校正圖像 相關(guān),所以可以從畸變圖像去除單應性H以通過(1)從畸變圖像去除第一變換A以生成中間 圖像和(2)從中間圖像去除第二變換B以生成校正圖像來恢復校正圖像。
[0130] 在某些實施例中,可以將第二變換B表示為三個操作的串聯(lián):在保持z坐標原封不 動的同時將X和y坐標交換的轉(zhuǎn)置操作T,轉(zhuǎn)置的第二變換B yx,以及另一轉(zhuǎn)置操作T:
[0131] B = T*Byx*T
[0132] 怎:由.可W加下耒沄鮮罟搵作T:
[0133]
[0134] 因此,可以如下表示單應性矩陣H:
[0135]
[0136] 下標"yx"用來指示轉(zhuǎn)置的第二變換Byx對交換的X-y坐標進行操作。請注意,轉(zhuǎn)置的第二變換B yx不僅僅是第二變換B的轉(zhuǎn)置(例如,
)。可以通過基于X和y坐標被交換而z坐標保持相同的事實來重新布置B中 的各項而從第二變換B導出轉(zhuǎn)置的第二變換Byx。
[0137] 在某些實施例中,可以將第一變換A和第二變換B約束為具有上文所討論的性質(zhì): (1)特定一行源圖像中的像素被映射到固定一行目的地圖像中的等距離像素(例如,每對相 鄰像素相隔相等的距離),在下文中稱為第一約束,并且(2) -行源圖像被映射到一行目的 地圖像,在下文中稱為第二約束。
[0138] 可以通過約育
宋向第一變換A中引入第一約束
:旨示X'(圖像平面的X坐標) 相對于中間圖像平面中的X坐標)的變化率??梢允褂玫谝蛔儞QA的參數(shù)來直接地表示 X :
[0139]
[0140]
[0141]
[0142]
[0143] 如果此導數(shù)g僅僅取決于y1,則中間圖像中的相鄰像素之間的距離對于所有相 鄰像素而言將是相等的。可以使得導:
-僅僅取決于y1。取決于X1的唯一一項在分母中。因 此,為了去除對X1的依賴性,可以將乘數(shù)a2Q設(shè)置成零。
[0144] 可以通過引入畸變圖像的y坐標必須僅僅取決于中間圖像的y坐標的約束來向第 一變換A中引入第二約束。通過如上所述地設(shè)置a 2Q = 0,已知分母zh'僅僅取決于y1。因此,如 果分子yh'僅僅取決于y 1,則y '(例如,畸變圖像的y坐標)將僅僅取決于在中間圖像的y坐標, 從而將該行中間圖像映射到一行畸變圖像。
[0145] 通過對中間圖像坐標應用第一變換A,可以如下表示畸變圖像的y坐標:
[0146] y7 H=Biox^aiiyl
[0147] 因此,為了使畸變圖像的y坐標僅僅取決于y,可以將用于X1的系數(shù)設(shè)置成零:a10 = 0〇
[0148] 因此,總而言之,第一約束和第二約束要求第一變換A采取以下形式:
[0149] ,
[0150] 在某些實施例中,也應對第二變換B施加第一約束和第二約束。由于轉(zhuǎn)置的第二變 換
生與A相同的條件下操作,所以Byx應具有與A相同的形式。因此, 按照第一約束b21 = 0且按照第二約束bQ1 = 0。因此,可以如下表示Byx:
[0151]
[0152] 可以如下將轉(zhuǎn)置的第二變換Byx相關(guān)回到第二變換B:
[0153]
[0155]
[0154] 總而言之,可以如下表示單應件矩陣Η:
[0156]
[0157]
[0158] 可以使用單應性矩陣H的分解來以分析方式求解出H的系數(shù)、A的系數(shù)與B的系數(shù)之 間的關(guān)系。基于此分析計算,可以表明第一變換A和轉(zhuǎn)置的第二變換B yx如下與H的系數(shù)相關(guān):
[0159]
[0160]
[0161 ]因此,一旦單應性分解模塊110接收到單應性矩陣H的系數(shù),則單應性分解模塊110 可使用上述關(guān)系來生成第一變換A和轉(zhuǎn)置的第二變換Byx。
[0162] 在某些實施例中,第一變換A和/或第二變換B可以包括當恢復源圖像時有效地對 目的地圖像進行向下采樣的比例因數(shù)。以下分解遵守第一約束和第二約束,如上所述,同時 允許用第一變換A中的向下采樣速率進行向下采樣:
[0163]
[0164] 其中,SAx和SAy分別地指代X維度和y維度上的采樣因數(shù)。替換地,可以如下表示單 應性矩陣H:
[0166] 在某些實施例中,采樣因數(shù)SAx和/或SAy可小于I以有效地在第一階段對畸變圖像 進行過采樣。這樣,可以保存畸變圖像中的信息以便在第二階段中處理。
[0167] 在某些實施例中,單應性去除模塊112可以高效地從畸變圖像去除第一變換A和轉(zhuǎn) 置的第二變換Byx。兩階段校正過程的每個階段中的單應性去除模塊112的工作在于僅用四 個重要的系數(shù)去除有限的單應性(例如,第一變換A或轉(zhuǎn)置的第二變換B yx):
[0168]
[0169] 因為第一變換A和轉(zhuǎn)置的第二變換Byx具有相同結(jié)構(gòu),所以單應性去除模塊112可以 實際上執(zhí)行同一程序兩次,一次針對第一變換A且一次針對轉(zhuǎn)置的第二變換B yx。因此,兩階 段校正過程的第一階段和第二階段可以包括基本上相等的操作。
[0170] 圖3示出根據(jù)某些實施例的兩階段圖像映射過程。兩階段圖像映射過程使用由單 應性分解模塊110確定的單應性的分解來分兩個階段執(zhí)行校正。在兩階段圖像映射過程的 第一階段(識別為步驟302-304)中,單應性去除模塊112可以沿著X軸處理畸變圖像的像 素,并且在兩階段圖像映射過程的第二階段(識別為步驟306-308)中,單應性去除模塊112 可以沿著y軸處理中間圖像的像素。由于在第一階段與第二階段之間發(fā)生的轉(zhuǎn)置操作,值得 注意的是多階段校正過程的第一階段基本上類似于多階段校正過程的第二階段。
[0171] 在發(fā)起圖3中的步驟之前,可以將單應性去除模塊112配置成接收畸變圖像,并且 將單應性表示為第一變換A和第二變換B (或轉(zhuǎn)置的第二變換)的串聯(lián)。單應性去除模塊112 可以從單應性分解模塊110接收單應性表示。圖4示出已經(jīng)經(jīng)受透視畸變的畸變圖像的示 例。透視畸變表現(xiàn)為將兩個垂直的平行線402、404變換成兩個不平行線并將兩個水平的平 行線406、408變換成兩個不平行線。
[0172] 在步驟302中,單應性去除模塊112被配置成通過沿著X軸處理畸變圖像而從畸變 圖像去除第一變換,從而生成中間圖像。在步驟302a中,單應性去除模塊112可以可選地對 中間圖像進行向下采樣。在某些實施例中,可以同時執(zhí)行步驟302和步驟302a。例如,第一變 換A可以結(jié)合向下采樣因數(shù),如上文所討論的,使得通過從畸變圖像去除第一變換A,單應性 去除模塊112可以實際上還執(zhí)行向下采樣操作。
[0173] 在步驟302中,可以將單應性去除模塊112配置成針對中間圖像的每個像素配置成 畸變圖像中的相應位置。例如,單應性去除模塊112可以訪問一行中間圖像中的像素中的一 個,并且使用第一變換A來確定畸變圖像中的哪個位置對應于中間圖像中的像素中的一個。 在某些情況下,畸變圖像內(nèi)的此位置可以具有亞像素坐標值。例如,畸變圖像內(nèi)的位置可以 具有(2.24,3.1)的坐標。
[0174]因為第一變換A經(jīng)受第一約束和第二約束,所以單應性去除模塊112預先知道一行 中間圖像中的像素始終對應于畸變圖像的預定y坐標中的位置。因此,其中單應性去除模塊 112應訪問存儲器106中的畸變圖像的圖案是可預測的且確定性的。因此,單應性去除模塊 112可以使用標準乒乓雙緩沖器系統(tǒng)和DMA控制器114來并行地讀取和存儲一行或各組的各 行圖像。
[0175] -旦單應性去除模塊112確定中間圖像中的像素與畸變圖像中的位置之間的對應 關(guān)系,則單應性去除模塊112可以確定用于中間圖像中的該像素的圖像值。為了確定用于該 像素的圖像值,單應性去除模塊112可以使用畸變圖像中的相應位置處的圖像值。
[0176] 當相應位置落在畸變圖像的像素網(wǎng)格上時,單應性去除模塊112可以對畸變圖像 中的對應位置周圍的圖像值進行濾波。在某些情況下,單應性去除模塊112可以簡單地拷貝 畸變圖像中的對應位置的圖像值。當對應位置并未落在畸變圖像的網(wǎng)格上時,單應性去除 模塊112可以通過對畸變圖像中的對應位置周圍的像素的圖像值進行內(nèi)插來確定中間圖像 中的像素的圖像值。
[0177] 例如,單應性去除模塊112可以用內(nèi)核(kerne 1)對畸變圖像中的對應位置周圍的 像素求卷積以對畸變圖像中的對應位置周圍的像素的圖像值進行內(nèi)插。在某些情況下,還 可以將內(nèi)核設(shè)計成沿著一行畸變圖像執(zhí)行適當?shù)钠交ɡ?,以滿足尼奎斯特采樣約 束)。在某些實施例中,內(nèi)核可以是截斷同步函數(shù);在其它實施例中,內(nèi)核可以是截斷高斯函 數(shù)。
[0178] 在某些實施例中,單應性去除模塊112可以預定將用于從網(wǎng)格位置的預選亞像素 偏離的一組內(nèi)核。當畸變圖像中的對應位置遠離X軸中的網(wǎng)格0.1像素時,然后單應性去除 模塊112可以使用預定的一組內(nèi)核中的第一個;當畸變圖像中的對應位置遠離X軸中的網(wǎng)格 0.3像素時,然后單應性去除模塊112可以使用預定的一組內(nèi)核中的第二個等。在某些實施 例中,該組內(nèi)核中的每個內(nèi)核具有相同的函數(shù)形式。
[0179] 例如,該組內(nèi)核可以包括以下:
[0180]
[0181]這些內(nèi)核K1-K8全部具有相同的函數(shù)形式,但是每個內(nèi)核與不同的亞像素坐標(也 稱為亞像素相位)相關(guān)聯(lián)。
[0182] 當單應性去除模塊112將對像素網(wǎng)格上的位置(例如,0亞像素相位)進行濾波時, 單應性去除模塊112可以使用Kl對該位置周圍的像素進行濾波。請注意,Kl圍繞中心是對稱 的。當單應性去除模塊112對與像素網(wǎng)格分離1/8亞像素相位的位置進行濾波,然后單應性 去除模塊112可以使用K2來對該位置周圍的像素進行濾波。例如,單應性去除模塊112可以 直接地將K2乘以四個圖像像素的序列以便同時地執(zhí)行亞像素內(nèi)插和濾波。當單應性去除模 塊112對與像素網(wǎng)格分離1/2亞像素相位的位置進行濾波,然后單應性去除模塊112可以使 用K5來對該位置周圍的像素進行濾波。由于1/2亞像素相位的偏移指的是識別兩個相鄰像 素的精確邊界處的圖像值,所以K5是對稱的。請注意,分別對應于1/8和7/8的亞像素相位的 K2和K8具有相同的值但是彼此的鏡像。這講得通,因為1/8與-7/8相同且-1/8與7/8相同。對 于各對"1 /4,3/4"和"3/8,5/8"而言同樣如此。
[0183] 在某些實施例中,當畸變圖像上的位置不具有與該組中的內(nèi)核中的一個的亞像素 相位精確地匹配的亞像素相位時,則單應性去除模塊112可以使用與最接近于該位置的亞 像素相位相關(guān)聯(lián)的內(nèi)核。例如,當位置的亞像素相位是1/9時,單應性去除模塊112可以使用 Kl來對該位置進行濾波,因為1/9比與內(nèi)核相關(guān)聯(lián)的任何其它亞像素相位更接近于1/8。
[0184] 在某些實施例中,單應性去除模塊112可以使用單指令多數(shù)據(jù)(SIMD)處理單元來 執(zhí)行卷積運算。特別地,可以使用可被SMD處理單元操作的SMD乘法和/或SHffi點積指令來 容易地執(zhí)行卷積運算。
[0185] 在某些實施例中,卷積運算可以涉及到二維內(nèi)核。當內(nèi)核在空間軸(例如,X軸和y 軸)上可分離時,單應性去除模塊112可以分兩個單獨步驟執(zhí)行卷積:(1)沿著X軸(例如,一 行圖像)求卷積,以及(2)沿著y軸(例如,一列圖像)求卷積。
[0186] 相對于第一步驟,由于第一變換A經(jīng)受第一約束,所以一行中間圖像上的像素被映 射到與畸變圖像的固定y坐標內(nèi)的相鄰位置等距離的位置。因此,單應性去除模塊112可以 對畸變圖像的固定y坐標內(nèi)的所有對應位置應用單個核函數(shù)。由于畸變圖像內(nèi)的位置的亞 像素相位可相互不同,所以單應性去除模塊112可以基于每個位置的亞像素相位選擇對應 于該單個核函數(shù)的一組中的內(nèi)核中的一個。這可以避免單應性去除模塊112需要在沿著固 定一行畸變圖像的求卷積期間生成內(nèi)核。在某些實施例中,單應性去除模塊121可以對不同 的行使用相同的核函數(shù);在其它實施例中,單應性去除模塊112可以對不同的行使用不同的 核函數(shù)??梢詫⒀刂鳻軸的卷積運算的結(jié)果(也稱為X卷積結(jié)果)存儲在臨時緩沖器中。
[0187] 當單應性去除模塊112完成沿著X軸的卷積時,單應性去除模塊112可以對在臨時 緩沖器中存儲的X卷積結(jié)果執(zhí)行通過對y方向內(nèi)核求卷積進行的沿著y軸的卷積。在某些實 施例中,臨時緩沖器可以保持與X卷積結(jié)果相關(guān)聯(lián)的預定數(shù)目的行??梢曰趛方向內(nèi)核的 尺寸來確定此預定數(shù)目的行。例如,當y方向內(nèi)核具有5個像素的長度時,臨時緩沖器可以保 持與X卷積結(jié)果相關(guān)聯(lián)的5行。
[0188] 在某些實施例中,臨時緩沖器可以是橫搖緩沖器(例如,圓形緩沖器),其存儲一行 X卷積結(jié)果直至不再需要計算y卷積為止。例如,當單應性去除模塊112在具有」的 7坐標的像 素處計算y卷積且y方向內(nèi)核具有五個像素時,則單應性去除模塊112可以在臨時緩沖器中 存儲用y坐標:」+2、」+1、」、」-1、」-2識別的五行1卷積結(jié)果。當單應性去除模塊112完成具有」 的y坐標的所有像素的y卷積時,單應性去除模塊112可以將目標 y坐標增加一個像素,并計 算具有j+1的y坐標的所有像素的y卷積。在這種情況下,單應性去除模塊112可以使用用y坐 標:」+3、」+2、」+1、」、」-1識別的五行1卷積結(jié)果。因此,臨時緩沖器不再需要具有」-2的7坐標 的那行X卷積結(jié)果。在這種情況下,臨時緩沖器去除具有j-2的y坐標的那行X卷積結(jié)果,并用 具有j+3的y坐標的那行X卷積結(jié)果將其替換。
[0189] 在某些實施例中,y方向內(nèi)核對于沿著該行輸出圖像的每個像素而言是相同的。因 此,可以通過將X卷積行的每個像素乘以對應于該行的內(nèi)核系數(shù)且然后沿著列求和來實現(xiàn) 此y方向卷積??梢允褂肧M)處理單元、例如SM)乘法和/或SMD加法指令來高效地實現(xiàn)此 操作。
[0190] 對第一變換A的約束不保證關(guān)于沿著7軸的像素采樣的任何特殊特性。因此,每行 具有其自己的核函數(shù),其可以例如通過(1)將對象平面中的對稱核函數(shù)映射到圖像平面中 的對應不一定對稱核函數(shù)并且(2)將其積分到像素倉來計算。此類內(nèi)核固有地允許在y軸中 的非整數(shù)位置上的正確采樣,并且還在不損失性能的情況下允許任何兩行之間的采樣距離 是不同的??蛇x地,可以在訓練階段期間預先計算被用于沿著y軸的卷積的所有核函數(shù)。
[0191] 圖5示出根據(jù)某些實施例的通過從圖4的畸變圖像去除第一變換A而生成的中間圖 像的示例。請注意,兩個垂直的平行線402、404現(xiàn)在在中間圖像中是平行的。然而,第一階段 尚未去除兩個水平平行線406和408的畸變。
[0192] 如圖5所示,中間圖像可以具有傾斜梯形形狀(例如,兩個側(cè)邊是平行的;另外兩個 側(cè)邊可能不是)。在某些情況下,可選地可以在訓練步驟中預先計算畸變圖像中的每行、X卷 積行以及中間圖像中的每行中的相關(guān)起始點和行程長度。
[0193] 為了去除兩個水平平行線406和408的畸變,單應性去除模塊112可以移動至兩階 段圖像處理過程的第二階段上。然而,如上文所討論的,在發(fā)起第二階段之前,在步驟304 中,單應性去除模塊112被配置成將中間圖像轉(zhuǎn)置。
[0194] 在某些實施例中,單應性去除模塊112可以使用"垂直"緩沖器來執(zhí)行轉(zhuǎn)置操作。例 如,可以將y方向卷積的輸出值(例如,中間圖像)存儲為固定長度、優(yōu)選地擬合到接近芯片 存儲器(例如用戶控制層級2高速緩存器)的臨時圖像。這些輸出值被按照列順序而不是行 順序?qū)懭氲骄彌_器和因此的該垂直緩沖器。由于緩沖器可以完全包含在接近芯片存儲器 中,單應性去除模塊112不需要存儲或訪問任何外部存儲器設(shè)備,這改善了存儲器訪問時 間。實際上,本實施例以局部方式執(zhí)行轉(zhuǎn)置操作。
[0195] 在某些實施例中,單應性去除模塊112可以以"乒乓"方式使到兩個垂直緩沖器中 的一個的寫入交替,使得在當前列被寫入到第二垂直緩沖器的同時,被寫入到第一垂直緩 沖器的前一列可以被寫出到外部存儲器。
[0196] 在某些實施例中,可以使用DMA控制器114將垂直緩沖器數(shù)據(jù)傳輸?shù)酵獠看鎯ζ髦?的區(qū)域。外部存儲器中的該區(qū)域可以大到足以容納全校正圖像。
[0197] 在某些實施例中,DMA控制器114可以使用二維DMA將垂直緩沖器數(shù)據(jù)傳輸?shù)酵獠?存儲器。二維DM能夠自動地跳過與圖像的垂直區(qū)段不對應的外部存儲器中的字節(jié),其在概 念上與垂直緩沖器中的數(shù)據(jù)匹配。不同于局部垂直緩沖器,外部存儲器并不存儲連續(xù)存儲 器位置中的結(jié)果圖像的相鄰區(qū)段(例如,區(qū)塊),這可使讀和/或?qū)懰俣攘踊?。在這種情況下, 二維DMA可以以最小的附加成本高效地處理讀/寫操作(只要局部垂直緩沖器的寬度足夠大 即可)。
[0198] 在步驟306中,一旦中間圖像被轉(zhuǎn)置,則單應性去除模塊112被配置成通過處理轉(zhuǎn) 置的中間圖像的X軸(例如,中間圖像的y軸)中的像素來從中間圖像去除第二變換。隨后,在 步驟306a中,單應性去除模塊112可選地被配置成對步驟306的結(jié)果進行向下采樣,并且在 步驟308中,單應性去除模塊112被配置成將步驟306的結(jié)果(或步驟306a的結(jié)果,如果其被 執(zhí)行的話)轉(zhuǎn)置。在某些實施例中,在步驟306/306a中,單應性去除模塊112可以使用與步驟 302/302a類似的操作,并且在步驟308中,單應性去除模塊112可以使用與步驟304類似的過 程。
[0199] 圖6示出根據(jù)某些實施例的通過從圖5的中間圖像去除第二變換B而生成的已校正 圖像的示例。請注意,兩個水平的平行線406、408以及兩個垂直的平行線402、404在校正圖 像中是平行的。因此,結(jié)果得到的校正圖像的所有透視畸變都被校正,并且被以目標向下采 樣率進行向下采樣。
[0200] 如上文所討論的,單應性去除模塊112可以在單應性校正期間對畸變圖像進行向 下采樣,并且單應性去除模塊112可以在多階段校正過程的兩個階段中的一個或多個中執(zhí) 行向下采樣。在某些實施例中,當存在目標向下采樣率時,在步驟302a中(例如,在第一階段 中)盡可能多地進行向下采樣可能是有利的,因為這可以加速第一階段,并進一步加速多階 段校正過程的第二階段。在多階段校正過程的每個階段中,可以在X或y方向獨立地對圖像 進行向下采樣。
[0201] 在某些實施例中,可以將校正圖像提供給圖案檢測系統(tǒng),使得圖案檢測系統(tǒng)可以 確定校正圖像是否包括特定圖案。由于圖案檢測系統(tǒng)一般地在源圖像不包括非線性畸變時 更高效地操作,所以公開的單應性校正過程可以改善圖案匹配的效率。在某些情況下,圖案 檢測系統(tǒng)可以使用簡單的基于相關(guān)的圖案匹配技術(shù)來確定校正圖像是否包括特定圖案。在 其它情況下,圖案檢測系統(tǒng)可以使用在2006年3月21日公布的題為"Method for fast, robust ,multi-dimensional pattern recognition" 的美國專利號7,016,539中公開的圖 案檢測技術(shù)的實施例,其通過引用方式并入本文中。
[0202] 在某些實施例中,當單應性并非預先已知時,可以使用多個假設(shè)單應性變換中的 一個來校正畸變圖像,并且可以將校正圖像提供給圖案檢測系統(tǒng)以確定在多個假設(shè)單應性 變換中的一個下存在特定圖案。可以針對其它假設(shè)單應性變換重復此過程直至圖案檢測系 統(tǒng)從校正圖像檢測到特定圖案為止。
[0203] 在某些實施例中,公開的多階段校正過程可以用于僅僅執(zhí)行仿射圖像采樣,而并 不實際上去除一般的單應透視畸變。例如,為了使單應性矩陣H局限于仿射變換,可以將參 數(shù)h 2Q和h21設(shè)置成零。在其它實施例中,公開的多階段校正過程可以用于僅僅去除圖像縮 放。例如,可以將公開多階段校正過程配置成通過除h 2Q和h21之外還將單應性矩陣H的參數(shù) h10和hQ1設(shè)置成零來去除圖像縮放操作。
[0204] 即使當公開的多階段校正過程用于僅僅去除仿射變換或圖像縮放操作時,公開的 多階段校正過程也可以在計算上比用于去除仿射變換或圖像縮放操作的先前已知方法更 快。計算益處源自于對一行圖像應用內(nèi)核的方式。如上文所討論的,單應性去除模塊112被 配置成對一行圖像應用單個核函數(shù)。單應性去除模塊112可以保持對應于此核函數(shù)的一組 內(nèi)核,其中,該組中的每個內(nèi)核對應于特定亞像素相位。這樣,當單應性去除模塊112對一行 圖像應用單個核函數(shù)時,在該行中的每個位置處,單應性去除模塊112可以基于該位置的亞 像素相位來選擇這些內(nèi)核中的一個。由于對應于亞像素相位的該組內(nèi)核是預定的,所以單 應性去除模塊112可以通過應用這些內(nèi)核中的所選的一個來去除仿射變換或圖像縮放。當 位置的亞像素相位并非精確地對應于該組中的內(nèi)核中的一個時,單應性去除模塊112可以 選擇與最接近于該位置的亞像素相位相關(guān)聯(lián)的內(nèi)核。這去除幾乎所有內(nèi)插操作,這往往是 計算昂貴的。
[0205]在單應性去除模塊112被配置成僅去除圖像縮放的情況下,單應性去除模塊112可 以通過保持許多內(nèi)核(每個內(nèi)核適合于來自像素網(wǎng)格的更細亞像素變化(例如,亞像素相 位))來進一步改善準確度。當單應性去除模塊112執(zhí)行向下采樣時,單應性去除模塊112可 以針對校正圖像中的每個像素確定畸變圖像中的對應位置的亞像素相位,并且使用亞像素 變化來選擇預定的一組內(nèi)核中的一個。隨后,單應性去除模塊112可以對畸變圖像中的對應 像素應用所選內(nèi)核以去除圖像縮放。
[0206] 在某些實施例中,當單應性去除模塊112被配置成僅去除圖像縮放時,單應性去除 模塊112可以通過僅使用多階段校正過程的第一階段來執(zhí)行操作。
[0207] 在某些實施例中,當校正圖像與畸變圖像之間的單應性變換H滿足上述第一約束 和第二約束時,單應性去除模塊112可使用多階段校正過程中的階段中的僅一個來從畸變 圖像去除透視畸變。例如,畸變圖像可經(jīng)由從圖像傳感器圍繞著圖像傳感器的X軸(例如,一 行圖像傳感器位蜂窩)的旋轉(zhuǎn)得到的透視畸變。在這種情況下,可將圖像傳感器定位成使得 對象平面的頂部遠離圖像傳感器傾斜,如同圖像傳感器圍繞著平行于圖像傳感器軸中的一 個的軸旋轉(zhuǎn)一樣??捎脤嶋H上滿足第一約束和第二約束的單應性變換H來表示圖像傳感器 平面與對象平面之間的此關(guān)系:(1)特定一行校正圖像中的像素被映射到固定的一行畸變 圖像中的等距離像素,(2)-行校正圖像被映射到一行畸變圖像。因此,在這種情況下,單應 性去除模塊112可以被配置成通過僅使用多階段校正過程的階段中的一個來執(zhí)行校正操 作。
[0208] 在某些實施例中,多階段校正過程可以用于對準由多個相機采集的圖像。在某些 情況下,機器視覺系統(tǒng)可以包括觀看場景的不同部分的多個相機,但是大致上對準。換言 之,所述多個相機中的每一個被設(shè)計成具有相同的平面內(nèi)旋轉(zhuǎn)和與平面的距離。然而,由于 物理限制,在平面內(nèi)旋轉(zhuǎn)和與平面的距離方面可存在"小的"差異,其分別地表現(xiàn)為平面內(nèi) 旋轉(zhuǎn)和縮放。此外,來自每個相機的像素網(wǎng)格可以相互移位一定的亞像素值,因為由于物理 限制而難以使來自每個相機的像素精確地對準。
[0209] 可以對由多個相機采集的圖像中的差異進行離線校準。因此,可以離線確定由多 個相機采集的圖像之間的關(guān)系??梢詫⒋岁P(guān)系表示為單應性矩陣。因此,公開的多階段校正 過程可以用來對準由多個相機采集的圖像。在某些情況下,公開的多階段校正過程還可以 用來對采集的圖像進行向下采樣,使得如果一個或多個相機具有不同數(shù)目的像素或不同像 素尺寸,則公開的多階段矯正過程可以對圖像進行向下采樣以慮及此類差異。
[0210] 應理解的是公開的主題在其應用方面不限于在以下描述中闡述或在圖中示出的 部件的布置和構(gòu)造的細節(jié)。公開的主題能夠有其它實施例并以各種方式實施和執(zhí)行。并且, 應理解的是本文所采用的措辭和術(shù)語是用于描述的目的且不應被視為限制性的。
[0211] 同樣地,本領(lǐng)域的技術(shù)人員將認識到可容易地利用本公開所基于的概念作為用于 設(shè)計用于執(zhí)行公開主題的多個目的的其它結(jié)構(gòu)、方法以及裝置的基礎(chǔ)。因此,重要的是將權(quán) 利要求視為包括此類等價構(gòu)造,只要其不脫離公開主題的精神和范圍即可。例如,某些公開 實施例涉及一個或多個變量??墒褂脭?shù)學等式來表示此關(guān)系。然而,本領(lǐng)域的技術(shù)人員中的 一個還可通過對公開數(shù)學等式進行變換使用不同的數(shù)學等式來表示一個或多個變量之間 的相同關(guān)系。重要的是將權(quán)利要求視為包括一個或多個變量之間的此類等價關(guān)系。
[0212]雖然在前述示例性實施例中已描述并舉例說明了公開的主題,但應理解的是本公 開僅僅是以示例的方式實現(xiàn)的,并且在不脫離公開主題的精神和范圍的情況下可以實現(xiàn)公 開的主題的實施方式的細節(jié)方面的許多改變。
【主權(quán)項】
1. 一種機器視覺系統(tǒng),包括: 處理器,其被配置成運行在存儲器中存儲的計算機程序,其被配置成使處理器: 接收畸變圖像和與畸變圖像相關(guān)聯(lián)的單應性矩陣; 使用單應性分解模塊來確定共同表示單應性矩陣的第一變換和第二變換, 其中,第一變換使畸變圖像與中間圖像相關(guān),并且第二畸變使中間圖像與已校正圖像 相關(guān), 其中,第一變換被約束為將沿著中間圖像的第一維度的像素映射到沿著畸變圖像的第 一維度的位置,并且其中,沿著畸變圖像的第一維度的位置與沿著畸變圖像的第一維度的 相鄰位置間隔開相同距離; 使用單應性去除模塊通過從畸變圖像去除第一變換來生成中間圖像;以及 使用單應性去除模塊通過從中間圖像去除第二變換來生成已校正圖像。2. 權(quán)利要求1所述的機器視覺系統(tǒng),其中,第二變換被約束為將沿著已校正圖像的第一 維度的像素映射到沿著中間圖像的第一維度的位置,并且其中,沿著中間圖像的第一維度 的位置與沿著中間圖像的第一維度的相鄰位置間隔開相同距離。3. 權(quán)利要求1所述的機器視覺系統(tǒng),其中,所述處理器還被配置成在從中間圖像去除第 二變換之前使用單應性去除模塊將中間圖像轉(zhuǎn)置。4. 權(quán)利要求3所述的機器視覺系統(tǒng),其中,所述處理器還被配置成使用單應性去除模塊 來使直接存儲器訪問控制器在從中間圖像去除第二變換之前使用單應性去除模塊將中間 圖像轉(zhuǎn)置。5. 權(quán)利要求4所述的機器視覺系統(tǒng),其中,所述直接存儲器訪問控制器被配置成使用二 維直接存儲器訪問來將中間圖像轉(zhuǎn)置。6. 權(quán)利要求1所述的機器視覺系統(tǒng),其中,所述處理器被配置成使用單應性去除模塊通 過以下各項從畸變圖像去除第一變換: 針對中間圖像的第一像素確定畸變圖像中的對應第一位置;且 對圍繞畸變圖像中的對應第一位置的像素求卷積以確定用于第一像素的圖像值。7. 權(quán)利要求6所述的機器視覺系統(tǒng),其中,所述處理器還被配置成使用單應性去除模塊 通過在第一像素的坐標上操作第一變換來確定對應第一位置。8. 權(quán)利要求6所述的機器視覺系統(tǒng),其中,所述處理器被配置成使用單應性去除模塊針 對在第二維度上具有與第一像素相同的坐標的中間圖像的第二像素通過向第一維度上的 對應第一位置的坐標添加常數(shù)來確定畸變圖像中的對應第二位置。9. 權(quán)利要求1所述的機器視覺系統(tǒng),其中,所述處理器被配置成使用單應性去除模塊來 向圖案檢測系統(tǒng)提供已校正圖像,使得圖案檢測系統(tǒng)能夠使用已校正圖像來確定已校正圖 像是否包括特定圖案。10. 權(quán)利要求9所述的機器視覺系統(tǒng),其中,所述處理器被配置成從圖案檢測系統(tǒng)接收 單應性矩陣,其中,由所述圖案檢測系統(tǒng)基于與畸變圖像相關(guān)聯(lián)的單應性的假設(shè)來確定單 應性矩陣。11. 權(quán)利要求1所述的機器視覺系統(tǒng),其中,所述處理器被配置成使用單應性去除模塊 基于沿著畸變圖像的第一維度的位置中的一個的亞像素坐標來選擇一組內(nèi)核中的一個,并 在所述位置中的一個處應用所選內(nèi)核。12. -種計算機化方法,包括: 在單應性分解模塊處接收與畸變圖像相關(guān)聯(lián)的單應性矩陣; 使用單應性分解模塊來確定共同表示單應性矩陣的第一變換和第二變換, 其中,第一變換使畸變圖像與中間圖像相關(guān),并且第二畸變使中間圖像與已校正圖像 相關(guān),其中,第一變換被約束為將沿著中間圖像的第一維度的像素映射到沿著畸變圖像的 第一維度的位置,并且 其中,沿著畸變圖像的第一維度的位置與沿著畸變圖像的第一維度的相鄰位置間隔開 相同距離; 使用耦合到單應性分解模塊的單應性去除模塊通過從畸變圖像去除第一變換而生成 中間圖像;以及 使用單應性去除模塊通過從中間圖像去除第二變換來生成已校正圖像。13. 權(quán)利要求12所述的方法,其中,第二變換被約束為將沿著已校正圖像的第一維度的 像素映射到沿著中間圖像的第一維度的位置,并且其中,沿著中間圖像的第一維度的位置 與沿著中間圖像的第一維度的相鄰位置間隔開相同距離。14. 權(quán)利要求12所述的方法,還包括:使用單應性去除模塊在從中間圖像去除第二變換 之前將中間圖像轉(zhuǎn)置。15. 權(quán)利要求14的方法,還包括:使用單應性去除模塊使直接存儲器訪問控制器在從中 間圖像去除第二變換之前將中間圖像轉(zhuǎn)置。16. 權(quán)利要求12的方法,其中,從畸變圖像去除第一變換包括:針對中間圖像的第一像 素確定畸變圖像中的對應第一位置并對圍繞畸變圖像中的對應第一位置的像素求卷積以 確定用于第一像素的圖像值。17. 權(quán)利要求16的方法,還包括:針對在第二維度上具有與第一像素相同的坐標的中間 圖像的第二像素通過向第一維度上的對應第一位置的坐標添加常數(shù)來確定畸變圖像中的 對應第二位置。18. 權(quán)利要求16的方法,還包括:向圖案檢測系統(tǒng)提供已校正圖像,使得圖案檢測系統(tǒng) 能夠使用已校正圖像來確定已校正圖像是否包括特定圖案。19. 權(quán)利要求16的方法,還包括:基于沿著畸變圖像的第一維度的位置中的一個的亞像 素坐標來選擇一組內(nèi)核中的一個,并在所述位置中的一個處應用所選內(nèi)核。20. -種具有與單應性分解模塊和單應性去除模塊相關(guān)聯(lián)的可執(zhí)行指令的非臨時計算 機可讀介質(zhì),所述可執(zhí)行指令可操作用于使機器視覺系統(tǒng): 接收與畸變圖像相關(guān)聯(lián)的單應性矩陣; 確定共同表示單應性矩陣的第一變換和第二變換, 其中,第一變換使畸變圖像與中間圖像相關(guān),并且第二畸變使中間圖像與已校正圖像 相關(guān),其中,第一變換被約束為將沿著中間圖像的第一維度的像素映射到沿著畸變圖像的 第一維度的位置,并且 其中,沿著畸變圖像的第一維度的位置與沿著畸變圖像的第一維度的相鄰位置間隔開 相同距離; 通過從畸變圖像去除第一變換來生成中間圖像;且 通過從中間圖像去除第二變換來生成已校正圖像。21. -種機器視覺系統(tǒng),包括: 處理器,其被配置成運行在存儲器中存儲的計算機程序,其被配置成使處理器: 接收第一圖像和與第一圖像相關(guān)聯(lián)的第一變換,其中;第一變換使第一圖像與第二圖 像相關(guān);并且被約束為將沿著第二圖像的維度的多個像素映射到沿著第一圖像的維度的多 個位置; 針對所述多個像素中的第一像素確定第一圖像中的對應第一位置的坐標; 基于與第一位置的坐標相關(guān)聯(lián)的亞像素相位來選擇多個內(nèi)核中的一個, 其中,亞像素相位指示第一位置與第一圖像的像素網(wǎng)格相比的亞像素偏移;且 通過部分地對圍繞第一圖像中的第一位置的至少一個像素應用所選內(nèi)核以確定用于 第二圖像中的第一像素的圖像值來從第一圖像生成第二圖像。22. 權(quán)利要求21所述的機器視覺系統(tǒng),其中,所述處理器被配置成通過在第一像素的坐 標上操作第一變換來確定第一位置的坐標。23. 權(quán)利要求21所述的機器視覺系統(tǒng),其中,所述處理器被配置成針對所述多個像素中 的第二像素通過向第一位置的坐標添加常數(shù)來確定第一圖像中的對應第二位置的坐標。24. 權(quán)利要求23所述的機器視覺系統(tǒng),其中,所述處理器被配置成: 基于與第二位置的坐標相關(guān)聯(lián)的亞像素相位選擇所述多個內(nèi)核中的第二個;以及 通過部分地對圍繞第一圖像中的第二位置的至少一個像素應用所述多個內(nèi)核中的第 二個以確定用于第二圖像中的第二像素的圖像值來從第一圖像生成第二圖像。25. 權(quán)利要求21所述的機器視覺系統(tǒng),其中,所述多個內(nèi)核對應于在多個子相位處采用 的相同函數(shù)。26. 權(quán)利要求21所述的機器視覺系統(tǒng),其中,所述處理器被配置成: 接收與第二圖像相關(guān)聯(lián)的第二變換,其中,第二變換將第二圖像與第三圖像相關(guān),并被 約束為將沿著第三圖像的維度的多個像素映射到沿著第二圖像的維度的多個位置; 針對第三圖像的第一像素確定第三圖像的對應第一位置的坐標; 基于與第三圖像中的第一位置的坐標相關(guān)聯(lián)的亞像素相位選擇所述多個內(nèi)核中的一 個;且 部分地通過對圍繞第三圖像的第一位置的至少一個像素應用所述多個內(nèi)核中的一個 以確定用于第三圖像的第一像素的圖像值來從第二圖像生成第三圖像。27. 權(quán)利要求26所述的機器視覺系統(tǒng),其中,所述第一變換和第二變換共同表示仿射變 換。28. 權(quán)利要求21所述的機器視覺系統(tǒng),其中,所述第一變換包括向下采樣操作。29. 權(quán)利要求21所述的機器視覺系統(tǒng),其中,所述第一變換包括第一變換矩陣。30. -種計算機化方法,包括: 接收第一圖像和與第一圖像相關(guān)聯(lián)的第一變換,其中,第一變換使第一圖像與第二圖 像相關(guān)且被約束為將沿著第二圖像的維度的多個像素映射到沿著第一圖像的維度的多個 位置; 針對所述多個像素中的第一像素確定第一圖像中的對應第一位置的坐標; 基于與第一位置的坐標相關(guān)聯(lián)的亞像素相位來選擇多個內(nèi)核中的一個, 其中,亞像素相位指示第一位置與第一圖像的像素網(wǎng)格相比的子像素偏移;且 通過部分地對圍繞第一圖像中的第一位置的至少一個像素應用所選內(nèi)核以確定用于 第二圖像中的第一像素的圖像值來從第一圖像生成第二圖像。31. 權(quán)利要求30所述的計算機化方法,其中,確定第一位置的坐標包括:在第一像素的 坐標上操作第一變換。32. 權(quán)利要求30所述的計算機化方法,還包括:針對所述多個像素中的第二像素通過向 第一位置的坐標添加常數(shù)來確定第一圖像中的對應第二位置的坐標。33. 權(quán)利要求32所述的計算機化方法,還包括: 基于與第二位置的坐標相關(guān)聯(lián)的亞像素相位選擇所述多個內(nèi)核中的第二個;以及 通過部分地對圍繞第一圖像中的第二位置的至少一個像素應用所述多個內(nèi)核中的第 二個以確定用于第二圖像中的第二像素的圖像值來從第一圖像生成第二圖像。34. 權(quán)利要求30所述的計算機化方法,還包括: 接收與第二圖像相關(guān)聯(lián)的第二變換,其中,第二變換將第二圖像與第三圖像相關(guān),并被 約束為將沿著第三圖像的維度的多個像素映射到沿著第二圖像的維度的多個位置; 針對第三圖像的第一像素確定第三圖像的對應第一位置的坐標; 基于與第三圖像中的第一位置的坐標相關(guān)聯(lián)的亞像素相位選擇所述多個內(nèi)核中的一 個;以及 通過部分地對圍繞第三圖像的第一位置的至少一個像素應用所述多個內(nèi)核中的一個 以確定用于第三圖像的第一像素的圖像值來從第二圖像生成第三圖像。35. 權(quán)利要求34所述的計算機化方法,其中,所述第一變換和第二變換共同表示仿射變 換。36. 權(quán)利要求30所述的計算機化方法,其中,所述第一變換包括向下采樣操作。37. 權(quán)利要求30所述的計算機化方法,其中,所述第一變換包括第一變換矩陣。38. -種具有與單應性分解模塊和單應性去除模塊相關(guān)聯(lián)的可執(zhí)行指令的非臨時計算 機可讀介質(zhì),所述可執(zhí)行指令可操作用于使機器視覺系統(tǒng): 接收第一圖像和與第一圖像相關(guān)聯(lián)的第一變換,其中,第一變換使第一圖像與第二圖 像相關(guān)且被約束為將沿著第二圖像的維度的多個像素映射到沿著第一圖像的維度的多個 位置; 針對所述多個像素中的第一像素確定第一圖像中的對應第一位置的坐標; 基于與第一位置的坐標相關(guān)聯(lián)的亞像素相位來選擇多個內(nèi)核中的一個,其中,亞像素 相位指示第一位置與第一圖像的像素網(wǎng)格相比的亞像素偏移;以及 通過部分地對圍繞第一圖像中的第一位置的至少一個像素應用所選內(nèi)核以確定用于 第二圖像中的第一像素的圖像值來從第一圖像生成第二圖像。39. 權(quán)利要求38所述的非臨時計算機可讀介質(zhì),其中,所述可執(zhí)行指令還可操作用于使 機器視覺系統(tǒng)針對所述多個像素中的第二像素通過向第一位置的坐標添加常數(shù)來確定第 一圖像中的對應第二位置的坐標。40. 權(quán)利要求38所述的非臨時計算機可讀介質(zhì),其中,所述多個內(nèi)核對應于在多個子相 位處采用的相同函數(shù)。
【文檔編號】G06T5/50GK106056560SQ201610207533
【公開日】2016年10月26日
【申請日】2016年4月5日 公開號201610207533.6, CN 106056560 A, CN 106056560A, CN 201610207533, CN-A-106056560, CN106056560 A, CN106056560A, CN201610207533, CN201610207533.6
【發(fā)明人】納撒尼爾·博根
【申請人】康耐視公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1