本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,更具體地涉及一種圖像識(shí)別方法和裝置。
背景技術(shù):
在很多領(lǐng)域,需要對諸如身份證的證照或類似的具有一定文字排布規(guī)則的非證照對象中的文字進(jìn)行識(shí)別。以證照為例,典型的證照識(shí)別流程是:用戶提供一張證照圖像,識(shí)別引擎從證照圖像中提取文字信息并輸出給用戶。
以上流程的缺陷在于:系統(tǒng)無法利用關(guān)于待識(shí)別證照的先驗(yàn)知識(shí),特別是關(guān)于各個(gè)域(包含文字的區(qū)域)的先驗(yàn)知識(shí)來改進(jìn)識(shí)別結(jié)果。例如按法律規(guī)定,中國居民身份證的背面的簽發(fā)機(jī)關(guān)只能是縣級公安機(jī)關(guān)。但是在現(xiàn)有流程中,無法將縣級公安機(jī)關(guān)的列表提供給識(shí)別引擎,從而無法利用這一信息。
技術(shù)實(shí)現(xiàn)要素:
考慮到上述問題而提出了本發(fā)明。本發(fā)明提供了一種圖像識(shí)別方法和裝置。
根據(jù)本發(fā)明一方面,提供了一種圖像識(shí)別方法,包括:從待識(shí)別圖像中提取包含待識(shí)別對象的圖像塊;對所述圖像塊中的文字進(jìn)行文字識(shí)別,以獲得初級識(shí)別結(jié)果;獲取描述文件,所述描述文件包括用于指示所述圖像塊中的文字需要符合的規(guī)則要求的約束信息;將所述圖像塊的坐標(biāo)系與所述描述文件中規(guī)定的圖像坐標(biāo)系對齊;以及利用所述描述文件中的至少部分約束信息對所述初級識(shí)別結(jié)果進(jìn)行修正,以獲得最終識(shí)別結(jié)果。
示例性地,在所述對所述圖像塊中的文字進(jìn)行文字識(shí)別之后,所述圖像識(shí)別方法進(jìn)一步包括:輸出所述初級識(shí)別結(jié)果,以供用戶查看。
示例性地,在所述利用所述描述文件中的至少部分約束信息對所述初級識(shí)別結(jié)果進(jìn)行修正之前,所述圖像識(shí)別方法進(jìn)一步包括:接收用戶修正指令;以及根據(jù)所述用戶修正指令從所述描述文件中選擇所述至少部分約束信息。
示例性地,在所述接收用戶修正指令之前,所述圖像識(shí)別方法進(jìn)一步包括:提供關(guān)于所述描述文件中的所有約束信息的標(biāo)識(shí)信息,以供用戶選擇,其中,所述用戶修正指令包括所述用戶輸入的、針對關(guān)于所述至少部分約束信息的標(biāo)識(shí)信息的選擇指令。
示例性地,所述獲取描述文件包括:接收用戶輸入的初始文件;以及對所述初始文件進(jìn)行解析,以獲得所述描述文件。
示例性地,在所述將所述圖像塊的坐標(biāo)系與所述描述文件中規(guī)定的圖像坐標(biāo)系對齊之前,所述圖像識(shí)別方法進(jìn)一步包括:檢查所述描述文件是否存在格式錯(cuò)誤,如果存在格式錯(cuò)誤,則發(fā)出提醒信息。
示例性地,所述獲取描述文件包括:根據(jù)所述待識(shí)別對象的類別從預(yù)先存儲(chǔ)在存儲(chǔ)器中的描述文件集合中選擇所述描述文件。
示例性地,所述圖像塊中的文字分布于一個(gè)或多個(gè)域中,所述約束信息包括所述一個(gè)或多個(gè)域中的每一個(gè)的域名、坐標(biāo)和屬性信息。
示例性地,所述屬性信息包括用于指向?qū)傩晕臋n的指示信息,所述屬性文檔包括其所對應(yīng)的域中可能出現(xiàn)的所有文字。
示例性地,所述圖像識(shí)別方法還包括:接收用戶輸入的所述屬性文檔或獲取預(yù)先存儲(chǔ)在存儲(chǔ)器中的所述屬性文檔。
根據(jù)本發(fā)明另一方面,提供了一種圖像識(shí)別裝置,包括提取模塊、文字識(shí)別模塊、文件獲取模塊、對齊模塊和修正模塊。提取模塊用于從待識(shí)別圖像中提取包含待識(shí)別對象的圖像塊。文字識(shí)別模塊用于對所述圖像塊中的文字進(jìn)行文字識(shí)別,以獲得初級識(shí)別結(jié)果。文件獲取模塊用于獲取描述文件,所述描述文件包括用于指示所述圖像塊中的文字需要符合的規(guī)則要求的約束信息。對齊模塊用于將所述圖像塊的坐標(biāo)系與所述描述文件中規(guī)定的圖像坐標(biāo)系對齊。修正模塊用于利用所述描述文件中的至少部分約束信息對所述初級識(shí)別結(jié)果進(jìn)行修正,以獲得最終識(shí)別結(jié)果。
示例性地,所述圖像識(shí)別裝置進(jìn)一步包括:輸出模塊,用于輸出所述初級識(shí)別結(jié)果,以供用戶查看。
示例性地,所述圖像識(shí)別裝置進(jìn)一步包括:指令接收模塊,用于接收用戶修正指令;以及選擇模塊,用于根據(jù)所述用戶修正指令從所述描述文件中選擇所述至少部分約束信息。
示例性地,所述圖像識(shí)別裝置進(jìn)一步包括:信息提供模塊,用于提供關(guān)于所述描述文件中的所有約束信息的標(biāo)識(shí)信息,以供用戶選擇,其中,所述用戶修正指令包括所述用戶輸入的、針對關(guān)于所述至少部分約束信息的標(biāo)識(shí)信息的選擇指令。
示例性地,所述文件獲取模塊包括:文件接收子模塊,用于接收用戶輸入的初始文件;以及解析子模塊,用于對所述初始文件進(jìn)行解析,以獲得所述描述文件。
示例性地,所述圖像識(shí)別裝置進(jìn)一步包括:檢查模塊,用于在所述對齊模塊將所述圖像塊的坐標(biāo)系與所述描述文件中規(guī)定的圖像坐標(biāo)系對齊之前,檢查所述描述文件是否存在格式錯(cuò)誤,如果存在格式錯(cuò)誤,則發(fā)出提醒信息。
示例性地,所述文件獲取模塊包括:文件選擇子模塊,用于根據(jù)所述待識(shí)別對象的類別從預(yù)先存儲(chǔ)在存儲(chǔ)器中的描述文件集合中選擇所述描述文件。
示例性地,所述圖像塊中的文字分布于一個(gè)或多個(gè)域中,所述約束信息包括所述一個(gè)或多個(gè)域中的每一個(gè)的域名、坐標(biāo)和屬性信息。
示例性地,所述屬性信息包括用于指向?qū)傩晕臋n的指示信息,所述屬性文檔包括其所對應(yīng)的域中可能出現(xiàn)的所有文字。
示例性地,所述圖像識(shí)別裝置進(jìn)一步包括:屬性文檔獲取模塊,用于接收用戶輸入的所述屬性文檔或獲取預(yù)先存儲(chǔ)在存儲(chǔ)器中的所述屬性文檔。
根據(jù)本發(fā)明實(shí)施例的圖像識(shí)別方法和裝置,在從待識(shí)別圖像中識(shí)別文字信息時(shí),利用獲取的描述文件修正文字識(shí)別結(jié)果,可以達(dá)到提高文字識(shí)別準(zhǔn)確度和文字識(shí)別速度的效果。
附圖說明
通過結(jié)合附圖對本發(fā)明實(shí)施例進(jìn)行更詳細(xì)的描述,本發(fā)明的上述以及其它目的、特征和優(yōu)勢將變得更加明顯。附圖用來提供對本發(fā)明實(shí)施例的進(jìn)一步理解,并且構(gòu)成說明書的一部分,與本發(fā)明實(shí)施例一起用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的限制。在附圖中,相同的參考標(biāo)號(hào)通常代表相同部件或步驟。
圖1示出用于實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的圖像識(shí)別方法和裝置的示例電子設(shè)備的示意性框圖;
圖2示出根據(jù)本發(fā)明一個(gè)實(shí)施例的圖像識(shí)別方法的示意性流程圖;
圖3示出示例性的身份證背面圖像;
圖4示出根據(jù)本發(fā)明另一實(shí)施例的圖像識(shí)別方法的示意性流程圖;
圖5示出根據(jù)本發(fā)明另一實(shí)施例的圖像識(shí)別方法的示意性流程圖;
圖6a示出根據(jù)一個(gè)示例的身份證圖像的初級識(shí)別結(jié)果;
圖6b示出對圖6a所示的初級識(shí)別結(jié)果進(jìn)行修正后獲得的最終識(shí)別結(jié)果;
圖7示出根據(jù)本發(fā)明另一實(shí)施例的圖像識(shí)別方法的示意性流程圖;
圖8示出根據(jù)本發(fā)明一個(gè)實(shí)施例的圖像識(shí)別裝置的示意性框圖;以及
圖9示出根據(jù)本發(fā)明一個(gè)實(shí)施例的圖像識(shí)別系統(tǒng)的示意性框圖。
具體實(shí)施方式
為了使得本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更為明顯,下面將參照附圖詳細(xì)描述根據(jù)本發(fā)明的示例實(shí)施例。顯然,所描述的實(shí)施例僅僅是本發(fā)明的一部分實(shí)施例,而不是本發(fā)明的全部實(shí)施例,應(yīng)理解,本發(fā)明不受這里描述的示例實(shí)施例的限制?;诒景l(fā)明中描述的本發(fā)明實(shí)施例,本領(lǐng)域技術(shù)人員在沒有付出創(chuàng)造性勞動(dòng)的情況下所得到的所有其它實(shí)施例都應(yīng)落入本發(fā)明的保護(hù)范圍之內(nèi)。
為減少文字識(shí)別的錯(cuò)誤率并提高文字識(shí)別速度,根據(jù)本發(fā)明實(shí)施例,提出一種圖像識(shí)別方法和裝置。首先,參照圖1來描述用于實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的圖像識(shí)別方法和裝置的示例電子設(shè)備100。
如圖1所示,電子設(shè)備100包括一個(gè)或多個(gè)處理器102、一個(gè)或多個(gè)存儲(chǔ)裝置104、輸入裝置106、輸出裝置108和圖像采集裝置110,這些組件通過總線系統(tǒng)112和/或其它形式的連接機(jī)構(gòu)(未示出)互連。應(yīng)當(dāng)注意,圖1所示的電子設(shè)備100的組件和結(jié)構(gòu)只是示例性的,而非限制性的,根據(jù)需要,所述電子設(shè)備也可以具有其他組件和結(jié)構(gòu)。
所述處理器102可以是中央處理單元(CPU)或者具有數(shù)據(jù)處理能力和/或指令執(zhí)行能力的其它形式的處理單元,并且可以控制所述電子設(shè)備100中的其它組件以執(zhí)行期望的功能。
所述存儲(chǔ)裝置104可以包括一個(gè)或多個(gè)計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)程序產(chǎn)品可以包括各種形式的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),例如易失性存儲(chǔ)器和/或非易失性存儲(chǔ)器。所述易失性存儲(chǔ)器例如可以包括隨機(jī)存取存儲(chǔ)器(RAM)和/或高速緩沖存儲(chǔ)器(cache)等。所述非易失性存儲(chǔ)器例如可以包括只讀存儲(chǔ)器(ROM)、硬盤、閃存等。在所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上可以存儲(chǔ)一個(gè)或多個(gè)計(jì)算機(jī)程序指令,處理器102可以運(yùn)行所述程序指令,以實(shí)現(xiàn)下文所述的本發(fā)明實(shí)施例中(由處理器實(shí)現(xiàn))的客戶端功能以及/或者其它期望的功能。在所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中還可以存儲(chǔ)各種應(yīng)用程序和各種數(shù)據(jù),例如所述應(yīng)用程序使用和/或產(chǎn)生的各種數(shù)據(jù)等。
所述輸入裝置106可以是用戶用來輸入指令的裝置,并且可以包括鍵盤、鼠標(biāo)、麥克風(fēng)和觸摸屏等中的一個(gè)或多個(gè)。
所述輸出裝置108可以向外部(例如用戶)輸出各種信息(例如圖像和/或聲音),并且可以包括顯示器、揚(yáng)聲器等中的一個(gè)或多個(gè)。
所述圖像采集裝置110可以采集待識(shí)別圖像(例如證照圖像等),并且將所采集的待識(shí)別圖像存儲(chǔ)在所述存儲(chǔ)裝置104中以供其它組件使用。圖像采集裝置110可以是攝像頭。應(yīng)當(dāng)理解,圖像采集裝置110僅是示例,電子設(shè)備100可以不包括圖像采集裝置110。在這種情況下,可以利用其他圖像采集裝置采集待識(shí)別圖像,并將采集的待識(shí)別圖像發(fā)送給電子設(shè)備100。
示例性地,用于實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的圖像識(shí)別方法和裝置的示例電子設(shè)備可以在諸如個(gè)人計(jì)算機(jī)或遠(yuǎn)程服務(wù)器等的設(shè)備上實(shí)現(xiàn)。
下面,將參考圖2描述根據(jù)本發(fā)明實(shí)施例的圖像識(shí)別方法。圖2示出根據(jù)本發(fā)明一個(gè)實(shí)施例的圖像識(shí)別方法200的示意性流程圖。如圖2所示,圖像識(shí)別方法200包括以下步驟。
在步驟S210,從待識(shí)別圖像中提取包含待識(shí)別對象的圖像塊。
待識(shí)別圖像可以是任何合適的需要進(jìn)行文字識(shí)別的圖像,例如針對身份證采集的證照圖像或其他類似的非證照圖像等。待識(shí)別圖像可以是攝像頭采集到的原始圖像,也可以是對原始圖像進(jìn)行預(yù)處理之后獲得的圖像。待識(shí)別對象可以是身份證、銀行卡、營業(yè)執(zhí)照等證照或類似的具有一定文字排布規(guī)則的非證照對象(諸如發(fā)票、支票等)。
步驟S210的操作可以包括裁剪操作。舉例來說,在用戶利用攝像頭等圖像采集裝置采集其身份證的圖像時(shí),或多或少都要采集到一些背景物體。因此,可以在對待識(shí)別圖像中的身份證文字進(jìn)行識(shí)別之前,首先從待識(shí)別圖像中提取包含待識(shí)別對象,即身份證,的圖像塊,即將無關(guān)的背景物體去除,僅提取出身份證所在的那塊圖像塊。參見圖3,示出示例性的身份證背面圖像。在圖3中,除身份證之外,還采集到了計(jì)算機(jī)、墻壁等無關(guān)物體,因此需要將這些無關(guān)物體去除。背景去除得越干凈,隨后執(zhí)行的文字識(shí)別的準(zhǔn)確率越高。因此,在步驟S210中,希望提取出的圖像塊中盡可能僅包含待識(shí)別對象。
可選地,在提取出包含待識(shí)別對象的圖像塊之后,可以對圖像塊進(jìn)行一定預(yù)處理,例如對圖像塊進(jìn)行傾斜校正、對比度調(diào)整等,從而使得預(yù)處理后的圖像塊能夠更容易地進(jìn)行文字識(shí)別。
待識(shí)別圖像可以由諸如移動(dòng)終端的客戶端設(shè)備發(fā)送到電子設(shè)備100以由電子設(shè)備100的處理器102進(jìn)行處理,也可以由電子設(shè)備100包括的圖像采集裝置110(例如攝像頭)采集并傳送到處理器102進(jìn)行處理。
在步驟S220,對圖像塊中的文字進(jìn)行文字識(shí)別,以獲得初級識(shí)別結(jié)果。
可以采用常規(guī)的光學(xué)字符識(shí)別(OCR)方式識(shí)別圖像塊中的文字。通過文字識(shí)別,可以將圖像塊中所包含的文字識(shí)別出來。例如,可以識(shí)別身份證圖像中的姓名、性別、民族、出生日期、住址、身份證號(hào)碼、簽發(fā)機(jī)關(guān)、有效期限等信息。
當(dāng)然,在此步驟中識(shí)別出的內(nèi)容可以包括分類信息,也可以包括分類信息對應(yīng)的具體身份信息。例如,對于身份證中的姓名一欄中,在身份證中其形式通常為“姓名XXX”。以“姓名張三”為例,其中“姓名”二字為分類信息,“張三”二字為具體身份信息。在文字識(shí)別過程中,可以將“姓名”二字及其后面跟隨的“張三”二字識(shí)別出來。為方便描述,本文將一定大小的包含文字的子圖像塊(對應(yīng)于待識(shí)別對象中的一個(gè)區(qū)域)稱為“域”,也就是說,圖像塊中的文字是分布于一個(gè)或多個(gè)域中的。例如,包含“姓名”二字的子圖像塊可以視為一個(gè)域,包含“張三”二字的子圖像塊可以視為一個(gè)域,或者可以將包含“姓名張三”的整個(gè)子圖像塊視為一個(gè)域。域的劃分可以根據(jù)需要確定,本發(fā)明不對此進(jìn)行限制。
步驟S220中獲得的文字識(shí)別結(jié)果是初級識(shí)別結(jié)果,隨后還可以利用約束信息對其進(jìn)行修正。經(jīng)過修正后的識(shí)別結(jié)果是最終的文字識(shí)別結(jié)果。
在步驟S230,獲取描述文件,所述描述文件包括用于指示圖像塊中的文字需要符合的規(guī)則要求的約束信息。
描述文件可以是用戶經(jīng)由輸入裝置106輸入電子設(shè)備100的或者可以是預(yù)先存儲(chǔ)在存儲(chǔ)裝置104中的。
描述文件是一個(gè)預(yù)先定義好的文檔,其可以描述待識(shí)別對象中的文字通常遵循的格式和屬性,也就是說,其規(guī)定了圖像塊中的文字需要符合的規(guī)則要求。描述文件可以用于提供關(guān)于待識(shí)別對象的先驗(yàn)信息,從而幫助對初級識(shí)別結(jié)果進(jìn)行修正。
描述文件可以具有任何合適的格式。示例性地,一種描述文件的典型格式如下:描述文件由多行組成,其中一行包括描述文件中規(guī)定的圖像大??;其余每行包括域名、對應(yīng)的域出現(xiàn)的位置(坐標(biāo))和屬性信息。其中,“屬性”部分可以指向用戶提供或預(yù)先存儲(chǔ)的屬性文檔,還可以包括該域?qū)?yīng)的文字所具有的屬性(例如,該域可能出現(xiàn)的文字是數(shù)字、字母或漢字等的屬性)。
例如,當(dāng)目前需求是識(shí)別身份證背面時(shí),待識(shí)別圖像為一針對身份證背面采集的圖像。可以按以下約定好的格式提供描述文件,其內(nèi)容為:
圖像寬200高100
域名:簽發(fā)機(jī)關(guān),坐標(biāo):(60,80)(180,90),屬性:'中國縣級公安機(jī)關(guān)大全.txt'
域名:有效期限,坐標(biāo):(60,95)(190,105),屬性:'年.月.日-年.月.日'。
在上述示例中,描述文件規(guī)定的圖像大小為寬200像素、高100像素的圖像,對于域名為“簽發(fā)機(jī)關(guān)”的域,其位置位于圖像中坐標(biāo)(60,80)(180,90)處,對應(yīng)的屬性信息指向用戶提供或者預(yù)先存儲(chǔ)的屬性文檔“中國縣級公安機(jī)關(guān)大全.txt”;對于域名為“有效期限”的域,其位置位于圖像中坐標(biāo)(60,95)(190,105)處,對應(yīng)的屬性表示該域的文字應(yīng)該是數(shù)字。
在步驟S240,將圖像塊的坐標(biāo)系與描述文件中規(guī)定的圖像坐標(biāo)系對齊。
描述文件規(guī)定對包含待識(shí)別對象的圖像塊中的文字的規(guī)則要求,根據(jù)這些規(guī)定好的規(guī)則要求可以判斷初級識(shí)別結(jié)果是否準(zhǔn)確。對于不準(zhǔn)確的初級識(shí)別結(jié)果可以進(jìn)行修正。
為了實(shí)現(xiàn)上述目的,需要將圖像塊的坐標(biāo)系與描述文件中規(guī)定的圖像坐標(biāo)系對齊。下面舉例說明。應(yīng)注意,在本文的示例中,所描述的坐標(biāo)系的單位為像素,但其并非對本發(fā)明的限制。
例如,在描述文件中指明“圖像寬200高100”,而圖像塊的大小為寬300高150時(shí),需要將描述文件中的各個(gè)域的坐標(biāo)乘以1.5或者將圖像塊的坐標(biāo)除以1.5。當(dāng)然,如果圖像塊的大小為寬300高200時(shí),需要將描述文件中的各個(gè)域的橫坐標(biāo)乘以1.5、縱坐標(biāo)乘以2,或者將圖像塊的橫坐標(biāo)除以1.5、縱坐標(biāo)除以2??傊?,在步驟S240中,需要將圖像塊的坐標(biāo)系與描述文件規(guī)定的圖像坐標(biāo)系對齊,使得圖像塊的大小與描述文件規(guī)定的圖像大小保持一致。
在步驟S250,利用描述文件中的至少部分約束信息對初級識(shí)別結(jié)果進(jìn)行修正,以獲得最終識(shí)別結(jié)果。
約束信息是指描述文件中用于指示圖像塊中的文字需要符合的規(guī)則要求的信息,諸如上述示例中的“域名:簽發(fā)機(jī)關(guān),坐標(biāo):(60,80)(180,90),屬性:'中國縣級公安機(jī)關(guān)大全.txt'”的信息。
由于已經(jīng)將圖像塊的坐標(biāo)系與描述文件規(guī)定的圖像坐標(biāo)系對齊,因此可以根據(jù)圖像塊的坐標(biāo)與描述文件中的各個(gè)域的坐標(biāo)將圖像塊中的子圖像塊與描述文件中的域?qū)?yīng)起來。通常來說,諸如身份證的待識(shí)別對象中的文字的位置大致是固定的,因此這種對應(yīng)關(guān)系的確定準(zhǔn)確度是很高的。
下面舉例說明如何利用約束信息修正初級識(shí)別結(jié)果。例如,對于身份證中的有效期限域來說,其約束信息為“域名:有效期限,坐標(biāo):(60,95)(190,105),屬性:'年.月.日-年.月.日'”,也就是說在屬性為“年.月.日-年.月.日”的文字段中,所識(shí)別出的文字應(yīng)當(dāng)符合年、月、日的格式和屬性。這意味著在有效期限域所識(shí)別出的文字不可能是字母。因此,對于將數(shù)字“0”識(shí)別為字母“O”或“o”、將數(shù)字“1”識(shí)別為小寫字母“l(fā)”或大寫字母“I”這樣的錯(cuò)誤,可以將字母修正為數(shù)字。另外,“年”前面不可能出現(xiàn)1001這樣不合理的數(shù)字,因此在這種情況下,可以視情況將“1001年”修正為“2001年”。
圖2所示的圖像識(shí)別方法200中的各步驟的執(zhí)行順序僅是示例而非限制。本發(fā)明實(shí)施例提供的圖像識(shí)別方法可以具有其他合理的執(zhí)行順序,例如,步驟S230可以在步驟S210之前、在步驟S210之后及步驟S220之前、或者與步驟S210或S220同時(shí)執(zhí)行,步驟S220可以在步驟S240之后或與步驟S240同時(shí)執(zhí)行。
根據(jù)本發(fā)明實(shí)施例的圖像識(shí)別方法,在從待識(shí)別圖像中識(shí)別文字信息時(shí),利用獲取的描述文件修正文字識(shí)別結(jié)果,可以達(dá)到提高文字識(shí)別準(zhǔn)確度和文字識(shí)別速度的效果。
示例性地,根據(jù)本發(fā)明實(shí)施例的圖像識(shí)別方法可以在具有存儲(chǔ)器和處理器的設(shè)備、裝置或者系統(tǒng)中實(shí)現(xiàn)。
根據(jù)本發(fā)明實(shí)施例的圖像識(shí)別方法可以部署在圖像采集端,例如,可以部署在個(gè)人終端處,諸如智能電話、平板電腦、個(gè)人計(jì)算機(jī)等。替代地,根據(jù)本發(fā)明實(shí)施例的圖像識(shí)別方法還可以部署在服務(wù)器端(或云端)處。例如,可以在客戶端采集待識(shí)別圖像,客戶端將采集到的待識(shí)別圖像傳送給服務(wù)器端(或云端),由服務(wù)器端(或云端)進(jìn)行圖像識(shí)別。
圖4示出根據(jù)本發(fā)明另一實(shí)施例的圖像識(shí)別方法400的示意性流程圖。圖4所示的圖像識(shí)別方法400的步驟S410、S420和S440-S460分別與圖2所示的圖像識(shí)別方法200的步驟S210-S250相對應(yīng),本領(lǐng)域技術(shù)人員結(jié)合上述對圖2所示的圖像識(shí)別方法200的描述可以理解本實(shí)施例的上述步驟,在此不再贅述。在本實(shí)施例中,在步驟S420之后,圖像識(shí)別方法400可以進(jìn)一步包括步驟S430。
在步驟S430,輸出初級識(shí)別結(jié)果,以供用戶查看。
可以經(jīng)由諸如顯示屏的輸出裝置輸出初級識(shí)別結(jié)果,以供用戶查看。用戶查看初級識(shí)別結(jié)果之后,可以判斷初級識(shí)別結(jié)果是否存在錯(cuò)誤,對于存在錯(cuò)誤的情況,可以指示電子設(shè)備100進(jìn)行修正。
圖5示出根據(jù)本發(fā)明另一實(shí)施例的圖像識(shí)別方法500的示意性流程圖。圖5所示的圖像識(shí)別方法500的步驟S510-S540和S570分別與圖2所示的圖像識(shí)別方法200的步驟S210-S250相對應(yīng),本領(lǐng)域技術(shù)人員結(jié)合上述對圖2所示的圖像識(shí)別方法200的描述可以理解本實(shí)施例的上述步驟,在此不再贅述。在本實(shí)施例中,在步驟S570之前,圖像識(shí)別方法500可以進(jìn)一步包括步驟S550和S560。
在步驟S550,接收用戶修正指令。
在用戶發(fā)現(xiàn)初級識(shí)別結(jié)果的錯(cuò)誤之后,可以指示電子設(shè)備100對錯(cuò)誤之處進(jìn)行修正。為此,用戶可以經(jīng)由輸入裝置106向電子設(shè)備100輸入用戶修正指令,電子設(shè)備100接收用戶輸入的修正指令。
在步驟S560,根據(jù)用戶修正指令從描述文件中選擇至少部分約束信息。
例如,如果用戶發(fā)現(xiàn)身份證中的簽發(fā)機(jī)關(guān)域的信息識(shí)別錯(cuò)誤,可以指示電子設(shè)備100對簽發(fā)機(jī)關(guān)域的信息進(jìn)行修正。例如,用戶經(jīng)由輸入裝置106向電子設(shè)備100輸入指示對簽發(fā)機(jī)關(guān)域的信息進(jìn)行修正的修正指令。當(dāng)電子設(shè)備100接收到這樣的用戶修正指令時(shí),可以從描述文件中選擇與簽發(fā)機(jī)關(guān)域相關(guān)的約束信息,例如上文所述的“域名:簽發(fā)機(jī)關(guān),坐標(biāo):(60,80)(180,90),屬性:'中國縣級公安機(jī)關(guān)大全.txt'”這一行信息。隨后電子設(shè)備100可以根據(jù)這部分約束信息對識(shí)別出來的簽發(fā)機(jī)關(guān)域的文字信息進(jìn)行修正。
下面結(jié)合圖6a-6b進(jìn)行描述。圖6a示出根據(jù)一個(gè)示例的身份證圖像的初級識(shí)別結(jié)果,圖6b示出對圖6a所示的初級識(shí)別結(jié)果進(jìn)行修正后獲得的最終識(shí)別結(jié)果。
如圖6a所示,在初級識(shí)別結(jié)果中,將簽發(fā)機(jī)關(guān)域中的字符“市”識(shí)別成了字符“布”,將字符“?!弊R(shí)別成了字符“誨”,將有效期限域中的字符“1”識(shí)別成了字符“7”。
如上文所述,可以將初級識(shí)別結(jié)果顯示在顯示屏上以供用戶查看。用戶發(fā)現(xiàn)這些錯(cuò)誤之后,可以指示電子設(shè)備100對簽發(fā)機(jī)關(guān)域和有效期限域進(jìn)行修正。對于簽發(fā)機(jī)關(guān)域來說,描述文件的屬性信息中指示了“中國縣級公安機(jī)關(guān)大全.txt”。電子設(shè)備100根據(jù)該屬性信息的指示,可以獲取該txt屬性文檔。該txt屬性文檔可以是預(yù)先存儲(chǔ)在存儲(chǔ)器中的,也可以是由用戶輸入(即上傳)的。當(dāng)獲取該txt屬性文檔之后,再根據(jù)txt屬性文檔中記載的所有縣級公安機(jī)關(guān)的名稱找出初級識(shí)別結(jié)果中的公安機(jī)關(guān)域的識(shí)別錯(cuò)誤并對該錯(cuò)誤進(jìn)行修正,使得修正后的識(shí)別結(jié)果符合屬性信息所指示的屬性文檔中的名稱。同樣,也可以根據(jù)描述文件中的有效期限域信息對初級識(shí)別結(jié)果中的有效期限域的識(shí)別錯(cuò)誤進(jìn)行修正。圖6b示出的是修正后的結(jié)果。從圖6b中可以看出,圖6a中的錯(cuò)誤均已得到修正。
應(yīng)當(dāng)理解,以上步驟S550和S560也可以在圖5所示的步驟S540之前執(zhí)行。另外,在圖4所示的圖像識(shí)別方法400中,也可以進(jìn)一步執(zhí)行以上步驟S550和S560,例如可以在步驟S460之前執(zhí)行步驟S550和S560。
在現(xiàn)有技術(shù)中,未向用戶提供與用戶交互以控制文字識(shí)別結(jié)果的修正的功能,因此用戶無法利用描述文件控制文字識(shí)別結(jié)果的修正。而根據(jù)本發(fā)明實(shí)施例,可以接收用戶修正指令并基于該指令修正初級識(shí)別結(jié)果。由于用戶對錯(cuò)誤的識(shí)別率通常比較高,因此這種方法可以有效提高文字識(shí)別的準(zhǔn)確度。
圖7示出根據(jù)本發(fā)明另一實(shí)施例的圖像識(shí)別方法700的示意性流程圖。圖7所示的圖像識(shí)別方法700的步驟S710-S740和S760-S780分別與圖5所示的圖像識(shí)別方法500的步驟S510至S570相對應(yīng),本領(lǐng)域技術(shù)人員結(jié)合上述對圖5所示的圖像識(shí)別方法500的描述可以理解本實(shí)施例的上述步驟,在此不再贅述。在本實(shí)施例中,在步驟S760之前,圖像識(shí)別方法700可以進(jìn)一步包括步驟S750。
在步驟S750,提供關(guān)于描述文件中的所有約束信息的標(biāo)識(shí)信息,以供用戶選擇,其中,用戶修正指令包括用戶輸入的、針對關(guān)于至少部分約束信息的標(biāo)識(shí)信息的選擇指令。
關(guān)于約束信息的標(biāo)識(shí)信息可以是例如標(biāo)注“姓名”、“性別”、“簽發(fā)機(jī)關(guān)”等的顯示控件??梢越?jīng)由諸如顯示屏的顯示裝置提供這些標(biāo)識(shí)信息。用戶可以通過點(diǎn)擊顯示控件來選擇相應(yīng)的約束信息,此時(shí)電子設(shè)備100可以接收到用戶輸入的、對相應(yīng)的約束信息的選擇指令。例如,用戶點(diǎn)擊“姓名”顯示控件,則可以從描述文件中選擇與姓名域相關(guān)的約束信息來修正姓名域的初級識(shí)別結(jié)果。
可以理解的是,用戶也可以選擇哪些域不需進(jìn)行修正。例如,有些身份證的有效期限的結(jié)束時(shí)間為“長期”,此時(shí)用戶可以選擇不利用“域名:有效期限,坐標(biāo):(60,95)(190,105),屬性:'年.月.日-年.月.日'”這樣的約束信息來修正初級識(shí)別結(jié)果。在這種情況下,可以采用排除方式選擇至少部分約束信息。也就是說,用戶修正指令可以包括用戶輸入的、針對關(guān)于描述文件中的除至少部分約束信息之外的其余約束信息的選擇指令。
根據(jù)本發(fā)明實(shí)施例,上述步驟S230(S440、S530或S730)可以包括:接收用戶輸入的初始文件;以及對初始文件進(jìn)行解析,以獲得描述文件。
如上文所述,描述文件可以來自用戶,也可以由系統(tǒng)預(yù)先存儲(chǔ)。在由用戶輸入的情況下,可以對用戶輸入的初始文件進(jìn)行解析,即將其轉(zhuǎn)換為系統(tǒng)可以識(shí)別的格式,進(jìn)而獲得描述文件。
在現(xiàn)有技術(shù)中,未向用戶提供與用戶交互以獲得描述文件的功能,因此即使用戶擁有有益的先驗(yàn)知識(shí),也無法將其用于文字識(shí)別結(jié)果的改進(jìn)。而根據(jù)本發(fā)明實(shí)施例,可以接收來自用戶的描述文件,這有利于進(jìn)一步提高文字識(shí)別結(jié)果的準(zhǔn)確度。
根據(jù)本發(fā)明實(shí)施例,在步驟S240(S450、S540或S740)之前,圖像識(shí)別方法200(400、500或700)可以進(jìn)一步包括:檢查描述文件是否存在格式錯(cuò)誤,如果存在格式錯(cuò)誤,則發(fā)出提醒信息。
例如,如果在用戶提供的描述文件中,在關(guān)于簽發(fā)機(jī)關(guān)域的信息中缺少屬性信息或者屬性信息的格式不符合要求,則可以向用戶發(fā)出提醒信息,提醒用戶其所上傳的描述文件出錯(cuò)。用戶在接收到提醒信息之后,可以提供新的符合要求的描述文件。隨后可以利用該新提供的描述文件進(jìn)行初級識(shí)別結(jié)果的修正。
通過發(fā)出提醒信息可以及時(shí)通知用戶描述文件的錯(cuò)誤,以保證利用合格的描述文件來對文字識(shí)別結(jié)果進(jìn)行修正,從而進(jìn)一步確保文字識(shí)別結(jié)果的準(zhǔn)確性。
根據(jù)本發(fā)明實(shí)施例,上述步驟S230(S440、S530或S730)可以包括:根據(jù)待識(shí)別對象的類別從預(yù)先存儲(chǔ)在存儲(chǔ)器中的描述文件集合中選擇描述文件。
可以預(yù)先在存儲(chǔ)器中存儲(chǔ)與多種待識(shí)別對象相對應(yīng)的描述文件,即描述文件集合。例如,可以分別存儲(chǔ)與身份證、銀行卡、營業(yè)執(zhí)照等證照相對應(yīng)的描述文件。當(dāng)發(fā)現(xiàn)待識(shí)別對象是身份證時(shí),從描述文件集合中選擇與身份證相對應(yīng)的描述文件。
根據(jù)本發(fā)明實(shí)施例,圖像塊中的文字分布于一個(gè)或多個(gè)域中,約束信息包括一個(gè)或多個(gè)域中的每一個(gè)的域名、坐標(biāo)和屬性信息。上文已經(jīng)結(jié)合示例描述了約束信息包括的內(nèi)容及其表示形式,在此不再贅述。
根據(jù)本發(fā)明實(shí)施例,屬性信息包括用于指向?qū)傩晕臋n的指示信息,所述屬性文檔包括其所對應(yīng)的域中可能出現(xiàn)的所有文字。如上文所述,對于身份證的簽發(fā)機(jī)關(guān)域來說,其約束信息可以是“域名:簽發(fā)機(jī)關(guān),坐標(biāo):(60,80)(180,90),屬性:'中國縣級公安機(jī)關(guān)大全.txt'”,其中,屬性信息中的“中國縣級公安機(jī)關(guān)大全.txt”指向一個(gè)包含中國縣級公安機(jī)關(guān)的名稱的txt屬性文檔。該txt屬性文檔即本文所述的屬性文檔,其中包括了在簽發(fā)機(jī)關(guān)域中可能出現(xiàn)的所有文字。
根據(jù)本發(fā)明實(shí)施例,圖像識(shí)別方法200(400、500或700)可以進(jìn)一步包括:接收用戶輸入的屬性文檔或獲取預(yù)先存儲(chǔ)在存儲(chǔ)器中的屬性文檔。
屬性文檔(諸如名稱為“中國縣級公安機(jī)關(guān)大全.txt”的txt屬性文檔)可以由用戶輸入提供或者可以預(yù)先存儲(chǔ)在存儲(chǔ)器中。特別地,為了減少上傳時(shí)間,可以利用存儲(chǔ)器(如圖1所示的存儲(chǔ)裝置104)存儲(chǔ)可能被頻繁利用的屬性文檔。當(dāng)用戶欲提供的屬性文檔已存儲(chǔ)在存儲(chǔ)器中時(shí),可以利用已經(jīng)存儲(chǔ)的屬性文檔以及利用已經(jīng)約定好的屬性名。例如當(dāng)系統(tǒng)中已存儲(chǔ)包括所有縣級公安機(jī)關(guān)的名稱的文件“中國縣級公安機(jī)關(guān)大全.txt”時(shí),可以直接在描述文件中用“中國縣級公安機(jī)關(guān)大全.txt”作為屬性名并利用該屬性文檔,而無需額外定義屬性名并上傳屬性文檔。
根據(jù)本發(fā)明另一方面,提供一種圖像識(shí)別裝置。圖8示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的圖像識(shí)別裝置800的示意性框圖。
如圖8所示,根據(jù)本發(fā)明實(shí)施例的圖像識(shí)別裝置800包括提取模塊810、文字識(shí)別模塊820、文件獲取模塊830、對齊模塊840和修正模塊850。所述各個(gè)模塊可分別執(zhí)行上文中結(jié)合圖2-7描述的圖像識(shí)別方法的各個(gè)步驟/功能。以下僅對該圖像識(shí)別裝置800的各模塊的主要功能進(jìn)行描述,而省略以上已經(jīng)描述過的細(xì)節(jié)內(nèi)容。
提取模塊810用于從待識(shí)別圖像中提取包含待識(shí)別對象的圖像塊。提取模塊810可以由圖1所示的電子設(shè)備中的處理器102運(yùn)行存儲(chǔ)裝置104中存儲(chǔ)的程序指令來實(shí)現(xiàn)。
文字識(shí)別模塊820用于對所述圖像塊中的文字進(jìn)行文字識(shí)別,以獲得初級識(shí)別結(jié)果。文字識(shí)別模塊820可以由圖1所示的電子設(shè)備中的處理器102運(yùn)行存儲(chǔ)裝置104中存儲(chǔ)的程序指令來實(shí)現(xiàn)。
文件獲取模塊830用于獲取描述文件,所述描述文件包括用于指示所述圖像塊中的文字需要符合的規(guī)則要求的約束信息。文件獲取模塊830可以由圖1所示的電子設(shè)備中的處理器102運(yùn)行存儲(chǔ)裝置104中存儲(chǔ)的程序指令來實(shí)現(xiàn)。
對齊模塊840用于將所述圖像塊的坐標(biāo)系與所述描述文件中規(guī)定的圖像坐標(biāo)系對齊。對齊模塊840可以由圖1所示的電子設(shè)備中的處理器102運(yùn)行存儲(chǔ)裝置104中存儲(chǔ)的程序指令來實(shí)現(xiàn)。
修正模塊850用于利用所述描述文件中的至少部分約束信息對所述初級識(shí)別結(jié)果進(jìn)行修正,以獲得最終識(shí)別結(jié)果。修正模塊850可以由圖1所示的電子設(shè)備中的處理器102運(yùn)行存儲(chǔ)裝置104中存儲(chǔ)的程序指令來實(shí)現(xiàn)。
根據(jù)本發(fā)明實(shí)施例,所述圖像識(shí)別裝置800可以進(jìn)一步包括:輸出模塊,用于輸出所述初級識(shí)別結(jié)果,以供用戶查看。
根據(jù)本發(fā)明實(shí)施例,所述圖像識(shí)別裝置800可以進(jìn)一步包括:指令接收模塊,用于接收用戶修正指令;以及選擇模塊,用于根據(jù)所述用戶修正指令從所述描述文件中選擇所述至少部分約束信息。
根據(jù)本發(fā)明實(shí)施例,所述圖像識(shí)別裝置800可以進(jìn)一步包括:信息提供模塊,用于提供關(guān)于所述描述文件中的所有約束信息的標(biāo)識(shí)信息,以供用戶選擇,其中,所述用戶修正指令包括所述用戶輸入的、針對關(guān)于所述至少部分約束信息的標(biāo)識(shí)信息的選擇指令。
根據(jù)本發(fā)明實(shí)施例,所述文件獲取模塊830可以包括:文件接收子模塊,用于接收用戶輸入的初始文件;以及解析子模塊,用于對所述初始文件進(jìn)行解析,以獲得所述描述文件。
根據(jù)本發(fā)明實(shí)施例,所述圖像識(shí)別裝置800可以進(jìn)一步包括:檢查模塊,用于在所述對齊模塊將所述圖像塊的坐標(biāo)系與所述描述文件中規(guī)定的圖像坐標(biāo)系對齊之前,檢查所述描述文件是否存在格式錯(cuò)誤,如果存在格式錯(cuò)誤,則發(fā)出提醒信息。
根據(jù)本發(fā)明實(shí)施例,所述文件獲取模塊830可以包括:文件選擇子模塊,用于根據(jù)所述待識(shí)別對象的類別從預(yù)先存儲(chǔ)在存儲(chǔ)器中的描述文件集合中選擇所述描述文件。
根據(jù)本發(fā)明實(shí)施例,所述圖像塊中的文字分布于一個(gè)或多個(gè)域中,所述約束信息包括所述一個(gè)或多個(gè)域中的每一個(gè)的域名、坐標(biāo)和屬性信息。
根據(jù)本發(fā)明實(shí)施例,所述屬性信息包括用于指向?qū)傩晕臋n的指示信息,所述屬性文檔包括其所對應(yīng)的域中可能出現(xiàn)的所有文字。
根據(jù)本發(fā)明實(shí)施例,所述圖像識(shí)別裝置800可以進(jìn)一步包括:屬性文檔獲取模塊,用于接收用戶輸入的所述屬性文檔或獲取預(yù)先存儲(chǔ)在存儲(chǔ)器中的所述屬性文檔。
本領(lǐng)域普通技術(shù)人員可以意識(shí)到,結(jié)合本文中所公開的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計(jì)算機(jī)軟件和電子硬件的結(jié)合來實(shí)現(xiàn)。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對每個(gè)特定的應(yīng)用來使用不同方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。
圖9示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的圖像識(shí)別系統(tǒng)900的示意性框圖。圖像識(shí)別系統(tǒng)900包括圖像采集裝置910、存儲(chǔ)裝置920、以及處理器930。
圖像采集裝置910用于采集待識(shí)別圖像。圖像采集裝置910是可選的,圖像識(shí)別系統(tǒng)900可以不包括圖像采集裝置910。
所述存儲(chǔ)裝置920存儲(chǔ)用于實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的圖像識(shí)別方法中的相應(yīng)步驟的程序代碼。
所述處理器930用于運(yùn)行所述存儲(chǔ)裝置920中存儲(chǔ)的程序代碼,以執(zhí)行根據(jù)本發(fā)明實(shí)施例的圖像識(shí)別方法的相應(yīng)步驟,并且用于實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的圖像識(shí)別裝置中的提取模塊810、文字識(shí)別模塊820、文件獲取模塊830、對齊模塊840和修正模塊850。
在一個(gè)實(shí)施例中,所述程序代碼被所述處理器930運(yùn)行時(shí)使所述圖像識(shí)別系統(tǒng)900執(zhí)行以下步驟:從待識(shí)別圖像中提取包含待識(shí)別對象的圖像塊;對所述圖像塊中的文字進(jìn)行文字識(shí)別,以獲得初級識(shí)別結(jié)果;獲取描述文件,所述描述文件包括用于指示所述圖像塊中的文字需要符合的規(guī)則要求的約束信息;將所述圖像塊的坐標(biāo)系與所述描述文件中規(guī)定的圖像坐標(biāo)系對齊;以及利用所述描述文件中的至少部分約束信息對所述初級識(shí)別結(jié)果進(jìn)行修正,以獲得最終識(shí)別結(jié)果。
在一個(gè)實(shí)施例中,在所述程序代碼被所述處理器930運(yùn)行時(shí)使所述圖像識(shí)別系統(tǒng)900所執(zhí)行的對所述圖像塊中的文字進(jìn)行文字識(shí)別的步驟之后,所述程序代碼被所述處理器930運(yùn)行時(shí)使所述圖像識(shí)別系統(tǒng)900進(jìn)一步執(zhí)行:輸出所述初級識(shí)別結(jié)果,以供用戶查看。
在一個(gè)實(shí)施例中,在所述程序代碼被所述處理器930運(yùn)行時(shí)使所述圖像識(shí)別系統(tǒng)900所執(zhí)行的利用所述描述文件中的至少部分約束信息對所述初級識(shí)別結(jié)果進(jìn)行修正的步驟之前,所述程序代碼被所述處理器930運(yùn)行時(shí)使所述圖像識(shí)別系統(tǒng)900進(jìn)一步執(zhí)行:接收用戶修正指令;以及根據(jù)所述用戶修正指令從所述描述文件中選擇所述至少部分約束信息。
在一個(gè)實(shí)施例中,在所述程序代碼被所述處理器930運(yùn)行時(shí)使所述圖像識(shí)別系統(tǒng)900所執(zhí)行的接收用戶修正指令的步驟之前,所述程序代碼被所述處理器930運(yùn)行時(shí)使所述圖像識(shí)別系統(tǒng)900進(jìn)一步執(zhí)行:提供關(guān)于所述描述文件中的所有約束信息的標(biāo)識(shí)信息,以供用戶選擇,其中,所述用戶修正指令包括所述用戶輸入的、針對關(guān)于所述至少部分約束信息的標(biāo)識(shí)信息的選擇指令。
在一個(gè)實(shí)施例中,所述程序代碼被所述處理器930運(yùn)行時(shí)使所述圖像識(shí)別系統(tǒng)900所執(zhí)行的獲取描述文件的步驟包括:接收用戶輸入的初始文件;以及對所述初始文件進(jìn)行解析,以獲得所述描述文件。
在一個(gè)實(shí)施例中,在所述程序代碼被所述處理器930運(yùn)行時(shí)使所述圖像識(shí)別系統(tǒng)900所執(zhí)行的將所述圖像塊的坐標(biāo)系與所述描述文件中規(guī)定的圖像坐標(biāo)系對齊的步驟之前,所述程序代碼被所述處理器930運(yùn)行時(shí)使所述圖像識(shí)別系統(tǒng)900進(jìn)一步執(zhí)行:檢查所述描述文件是否存在格式錯(cuò)誤,如果存在格式錯(cuò)誤,則發(fā)出提醒信息。
在一個(gè)實(shí)施例中,所述程序代碼被所述處理器930運(yùn)行時(shí)使所述圖像識(shí)別系統(tǒng)900所執(zhí)行的獲取描述文件的步驟包括:根據(jù)所述待識(shí)別對象的類別從預(yù)先存儲(chǔ)在存儲(chǔ)器中的描述文件集合中選擇所述描述文件。
在一個(gè)實(shí)施例中,所述圖像塊中的文字分布于一個(gè)或多個(gè)域中,所述約束信息包括所述一個(gè)或多個(gè)域中的每一個(gè)的域名、坐標(biāo)和屬性信息。
在一個(gè)實(shí)施例中,所述屬性信息包括用于指向?qū)傩晕臋n的指示信息,所述屬性文檔包括其所對應(yīng)的域中可能出現(xiàn)的所有文字。
在一個(gè)實(shí)施例中,所述程序代碼被所述處理器930運(yùn)行時(shí)還使所述圖像識(shí)別系統(tǒng)900執(zhí)行:接收用戶輸入的所述屬性文檔或獲取預(yù)先存儲(chǔ)在存儲(chǔ)器中的所述屬性文檔。
此外,根據(jù)本發(fā)明實(shí)施例,還提供了一種存儲(chǔ)介質(zhì),在所述存儲(chǔ)介質(zhì)上存儲(chǔ)了程序指令,在所述程序指令被計(jì)算機(jī)或處理器運(yùn)行時(shí)用于執(zhí)行本發(fā)明實(shí)施例的圖像識(shí)別方法的相應(yīng)步驟,并且用于實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的圖像識(shí)別裝置中的相應(yīng)模塊。所述存儲(chǔ)介質(zhì)例如可以包括智能電話的存儲(chǔ)卡、平板電腦的存儲(chǔ)部件、個(gè)人計(jì)算機(jī)的硬盤、只讀存儲(chǔ)器(ROM)、可擦除可編程只讀存儲(chǔ)器(EPROM)、便攜式緊致盤只讀存儲(chǔ)器(CD-ROM)、USB存儲(chǔ)器、或者上述存儲(chǔ)介質(zhì)的任意組合。
在一個(gè)實(shí)施例中,所述計(jì)算機(jī)程序指令在被計(jì)算機(jī)或處理器運(yùn)行時(shí)可以使得計(jì)算機(jī)或處理器實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的圖像識(shí)別裝置的各個(gè)功能模塊,并且/或者可以執(zhí)行根據(jù)本發(fā)明實(shí)施例的圖像識(shí)別方法。
在一個(gè)實(shí)施例中,所述計(jì)算機(jī)程序指令在被計(jì)算機(jī)運(yùn)行時(shí)使所述計(jì)算機(jī)執(zhí)行以下步驟:從待識(shí)別圖像中提取包含待識(shí)別對象的圖像塊;對所述圖像塊中的文字進(jìn)行文字識(shí)別,以獲得初級識(shí)別結(jié)果;獲取描述文件,所述描述文件包括用于指示所述圖像塊中的文字需要符合的規(guī)則要求的約束信息;將所述圖像塊的坐標(biāo)系與所述描述文件中規(guī)定的圖像坐標(biāo)系對齊;以及利用所述描述文件中的至少部分約束信息對所述初級識(shí)別結(jié)果進(jìn)行修正,以獲得最終識(shí)別結(jié)果。
在一個(gè)實(shí)施例中,在所述計(jì)算機(jī)程序指令在被計(jì)算機(jī)運(yùn)行時(shí)使所述計(jì)算機(jī)所執(zhí)行的對所述圖像塊中的文字進(jìn)行文字識(shí)別的步驟之后,所述計(jì)算機(jī)程序指令在被計(jì)算機(jī)運(yùn)行時(shí)使所述計(jì)算機(jī)進(jìn)一步執(zhí)行:輸出所述初級識(shí)別結(jié)果,以供用戶查看。
在一個(gè)實(shí)施例中,在所述計(jì)算機(jī)程序指令在被計(jì)算機(jī)運(yùn)行時(shí)使所述計(jì)算機(jī)所執(zhí)行的利用所述描述文件中的至少部分約束信息對所述初級識(shí)別結(jié)果進(jìn)行修正的步驟之前,所述計(jì)算機(jī)程序指令在被計(jì)算機(jī)運(yùn)行時(shí)使所述計(jì)算機(jī)進(jìn)一步執(zhí)行:接收用戶修正指令;以及根據(jù)所述用戶修正指令從所述描述文件中選擇所述至少部分約束信息。
在一個(gè)實(shí)施例中,在所述計(jì)算機(jī)程序指令在被計(jì)算機(jī)運(yùn)行時(shí)使所述計(jì)算機(jī)所執(zhí)行的接收用戶修正指令的步驟之前,所述計(jì)算機(jī)程序指令在被計(jì)算機(jī)運(yùn)行時(shí)使所述計(jì)算機(jī)進(jìn)一步執(zhí)行:提供關(guān)于所述描述文件中的所有約束信息的標(biāo)識(shí)信息,以供用戶選擇,其中,所述用戶修正指令包括所述用戶輸入的、針對關(guān)于所述至少部分約束信息的標(biāo)識(shí)信息的選擇指令。
在一個(gè)實(shí)施例中,所述計(jì)算機(jī)程序指令在被計(jì)算機(jī)運(yùn)行時(shí)使所述計(jì)算機(jī)所執(zhí)行的獲取描述文件的步驟包括:接收用戶輸入的初始文件;以及對所述初始文件進(jìn)行解析,以獲得所述描述文件。
在一個(gè)實(shí)施例中,在所述計(jì)算機(jī)程序指令在被計(jì)算機(jī)運(yùn)行時(shí)使所述計(jì)算機(jī)所執(zhí)行的將所述圖像塊的坐標(biāo)系與所述描述文件中規(guī)定的圖像坐標(biāo)系對齊的步驟之前,所述計(jì)算機(jī)程序指令在被計(jì)算機(jī)運(yùn)行時(shí)使所述計(jì)算機(jī)進(jìn)一步執(zhí)行:檢查所述描述文件是否存在格式錯(cuò)誤,如果存在格式錯(cuò)誤,則發(fā)出提醒信息。
在一個(gè)實(shí)施例中,所述計(jì)算機(jī)程序指令在被計(jì)算機(jī)運(yùn)行時(shí)使所述計(jì)算機(jī)所執(zhí)行的獲取描述文件的步驟包括:根據(jù)所述待識(shí)別對象的類別從預(yù)先存儲(chǔ)在存儲(chǔ)器中的描述文件集合中選擇所述描述文件。
在一個(gè)實(shí)施例中,所述圖像塊中的文字分布于一個(gè)或多個(gè)域中,所述約束信息包括所述一個(gè)或多個(gè)域中的每一個(gè)的域名、坐標(biāo)和屬性信息。
在一個(gè)實(shí)施例中,所述屬性信息包括用于指向?qū)傩晕臋n的指示信息,所述屬性文檔包括其所對應(yīng)的域中可能出現(xiàn)的所有文字。
在一個(gè)實(shí)施例中,所述計(jì)算機(jī)程序指令在被計(jì)算機(jī)運(yùn)行時(shí),還使所述計(jì)算機(jī)執(zhí)行:接收用戶輸入的所述屬性文檔或獲取預(yù)先存儲(chǔ)在存儲(chǔ)器中的所述屬性文檔。
根據(jù)本發(fā)明實(shí)施例的圖像識(shí)別系統(tǒng)中的各模塊可以通過根據(jù)本發(fā)明實(shí)施例的實(shí)施圖像識(shí)別的電子設(shè)備的處理器運(yùn)行在存儲(chǔ)器中存儲(chǔ)的計(jì)算機(jī)程序指令來實(shí)現(xiàn),或者可以在根據(jù)本發(fā)明實(shí)施例的計(jì)算機(jī)程序產(chǎn)品的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中存儲(chǔ)的計(jì)算機(jī)指令被計(jì)算機(jī)運(yùn)行時(shí)實(shí)現(xiàn)。
根據(jù)本發(fā)明實(shí)施例的圖像識(shí)別方法及裝置,在從待識(shí)別圖像中識(shí)別文字信息時(shí),利用獲取的描述文件修正文字識(shí)別結(jié)果,可以達(dá)到提高文字識(shí)別準(zhǔn)確度和文字識(shí)別速度的效果。
雖然在本文的描述中主要以身份證識(shí)別為例對本發(fā)明提供的圖像識(shí)別方法和裝置進(jìn)行描述,但這不應(yīng)構(gòu)成對本發(fā)明的限制。根據(jù)本發(fā)明實(shí)施例的圖像識(shí)別方法和裝置可以應(yīng)用于多種圖像識(shí)別領(lǐng)域,例如可以對社保證、資質(zhì)證、銀行卡、營業(yè)執(zhí)照等證照上的信息或其他合適的非證照對象(例如支票、發(fā)票等)上的信息進(jìn)行識(shí)別。
盡管這里已經(jīng)參考附圖描述了示例實(shí)施例,應(yīng)理解上述示例實(shí)施例僅僅是示例性的,并且不意圖將本發(fā)明的范圍限制于此。本領(lǐng)域普通技術(shù)人員可以在其中進(jìn)行各種改變和修改,而不偏離本發(fā)明的范圍和精神。所有這些改變和修改意在被包括在所附權(quán)利要求所要求的本發(fā)明的范圍之內(nèi)。
本領(lǐng)域普通技術(shù)人員可以意識(shí)到,結(jié)合本文中所公開的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計(jì)算機(jī)軟件和電子硬件的結(jié)合來實(shí)現(xiàn)。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對每個(gè)特定的應(yīng)用來使用不同方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。
在本申請所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的設(shè)備和方法,可以通過其它的方式實(shí)現(xiàn)。例如,以上所描述的設(shè)備實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)設(shè)備,或一些特征可以忽略,或不執(zhí)行。
在此處所提供的說明書中,說明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對本說明書的理解。
類似地,應(yīng)當(dāng)理解,為了精簡本發(fā)明并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在對本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施例、圖、或者對其的描述中。然而,并不應(yīng)將該本發(fā)明的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如相應(yīng)的權(quán)利要求書所反映的那樣,其發(fā)明點(diǎn)在于可以用少于某個(gè)公開的單個(gè)實(shí)施例的所有特征的特征來解決相應(yīng)的技術(shù)問題。因此,遵循具體實(shí)施方式的權(quán)利要求書由此明確地并入該具體實(shí)施方式,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。
本領(lǐng)域的技術(shù)人員可以理解,除了特征之間相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進(jìn)行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來代替。
此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在權(quán)利要求書中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來使用。
本發(fā)明的各個(gè)部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個(gè)或者多個(gè)處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號(hào)處理器(DSP)來實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的圖像識(shí)別裝置中的一些模塊的一些或者全部功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上,或者可以具有一個(gè)或者多個(gè)信號(hào)的形式。這樣的信號(hào)可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號(hào)上提供,或者以任何其他形式提供。
應(yīng)該注意的是上述實(shí)施例對本發(fā)明進(jìn)行說明而不是對本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號(hào)之間的任何參考符號(hào)構(gòu)造成對權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個(gè)”不排除存在多個(gè)這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個(gè)可以是通過同一個(gè)硬件項(xiàng)來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。
以上所述,僅為本發(fā)明的具體實(shí)施方式或?qū)唧w實(shí)施方式的說明,本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。本發(fā)明的保護(hù)范圍應(yīng)以權(quán)利要求的保護(hù)范圍為準(zhǔn)。