本發(fā)明涉及計(jì)算機(jī)視覺領(lǐng)域,特別是一種流程圖描述文本的生成方法、終端設(shè)備及存儲(chǔ)介質(zhì)。
背景技術(shù):
1、大數(shù)據(jù)時(shí)代的到來,使得用戶無需再受地理位置的限制,可以在任何地點(diǎn)通過互聯(lián)網(wǎng)申請服務(wù),服務(wù)方也同樣利用數(shù)字化手段進(jìn)行受理和反饋。數(shù)字化服務(wù)的普及雖為人們提供了便利,但同時(shí)也存在一些問題。如服務(wù)方是否具有相關(guān)資質(zhì)、申辦證件的流程是否正確、服務(wù)是否合法合規(guī)等,這些問題會(huì)損害用戶權(quán)益,影響社會(huì)發(fā)展。因此,對線上服務(wù)進(jìn)行監(jiān)管十分重要。
2、然而,依賴于人工監(jiān)管的傳統(tǒng)方式已經(jīng)無法適應(yīng)數(shù)字服務(wù)發(fā)展的需求和挑戰(zhàn),在這樣的背景下,智能服務(wù)監(jiān)管應(yīng)運(yùn)而生。服務(wù)監(jiān)管面向的是全行業(yè)、全平臺(tái)進(jìn)行的,其需要監(jiān)管的對象包括了法律法規(guī)、特定領(lǐng)域特定事物規(guī)范以及用戶、服務(wù)方行為等,其中大量的流程規(guī)范是用流程圖像形式描述的,例如網(wǎng)約車行業(yè)中的資格證申請、醫(yī)療行業(yè)中的行醫(yī)范圍、正確就醫(yī)流程以及治病流程等,監(jiān)管這類流程方面的行為,因此,設(shè)計(jì)流程圖像到自然語言的轉(zhuǎn)化方法至關(guān)重要。
3、在深度學(xué)習(xí)之前,流程圖識別依賴于數(shù)字圖像處理技術(shù),它主要靠人工統(tǒng)計(jì)流程圖元素特征,通過連通域的思想先分離文本層和圖形層,在圖形層根據(jù)特征分類,得到類別與位置信息。這類方法依賴于人工設(shè)置的特征,當(dāng)數(shù)據(jù)集發(fā)生改變時(shí),同一種方法就無法適用,魯棒性和泛化能力較差。
4、隨著深度學(xué)習(xí)技術(shù)的發(fā)展,研究發(fā)現(xiàn)利用深度學(xué)習(xí)算法可以自學(xué)習(xí)提取流程圖像特征,解決了傳統(tǒng)方法人工設(shè)計(jì)特征成本高、準(zhǔn)確率低的問題,提高了流程圖識別的準(zhǔn)確性和泛化能力。但是,盡管基于深度學(xué)習(xí)的流程圖識別方法在各方面的表現(xiàn)都優(yōu)于傳統(tǒng)方法,并且在各類視覺任務(wù)上都有良好表現(xiàn),但它也并非十全十美,仍存在一些問題。如數(shù)據(jù)量不足、標(biāo)注成本高、模型訓(xùn)練和推理時(shí)間成本高、模型可解釋性差等,這導(dǎo)致在復(fù)雜流程圖識別時(shí)會(huì)漏掉或者識別出錯(cuò)誤信息。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明所要解決的技術(shù)問題是,針對現(xiàn)有技術(shù)不足,提供一種流程圖描述文本的生成方法、終端設(shè)備及存儲(chǔ)介質(zhì),較好地識別復(fù)雜流程圖。
2、為解決上述技術(shù)問題,本發(fā)明所采用的技術(shù)方案是:一種流程圖描述文本的生成方法,包括以下步驟:
3、s1、利用flowchart數(shù)據(jù)集訓(xùn)練目標(biāo)檢測模型;
4、s2、分離流程圖像中的文字,得到圖形層與流程圖文字列表;
5、統(tǒng)計(jì)分析flowchart數(shù)據(jù)集中的復(fù)雜流程圖像的連通域,得到下限值,即流程圖復(fù)雜度評判閾值;
6、s3、根據(jù)所述流程圖復(fù)雜度評判閾值,將復(fù)雜流程圖分割為兩個(gè)簡單部分;所述復(fù)雜流程圖是指連通域數(shù)量超過所述流程圖復(fù)雜度評判閾值的流程圖;
7、s4、將s3產(chǎn)生的圖形層輸入訓(xùn)練后的目標(biāo)檢測模型,識別圖元與箭頭,結(jié)合所述流程圖文字列表,獲得圖元集合、箭頭集合以及注釋集合,將目標(biāo)檢測模型的輸出結(jié)果從步驟s2產(chǎn)生的圖形層中分離開,得到連接線層;
8、s5、利用所述連接線層得到直線段集合,匹配直線段,得到連接線集合;
9、s6、匹配所述圖元集合、箭頭集合、注釋集合以及連接線集合,得到流程圖中不同的路徑;
10、s7、利用不同的路徑結(jié)果生成最終的流程圖描述性文本。
11、本發(fā)明將流程圖描述生成分為流程圖像識別以及文本生成兩大部分,盡可能全面的包含流程圖像中的全部信息,即先從圖像中檢測出內(nèi)容與結(jié)構(gòu)信息,再將其描述總結(jié)為一段文本。針對復(fù)雜流程圖難識別問題,提出基于分割思想的流程圖識別方法,并設(shè)計(jì)流程圖識別與文本生成的組合框架,將流程圖轉(zhuǎn)化為語義信息,幫助在智能化監(jiān)管服務(wù)時(shí)處理一些只用流程圖描述的數(shù)據(jù)以及監(jiān)管規(guī)則,實(shí)現(xiàn)了對服務(wù)流程的自動(dòng)化監(jiān)管。
12、經(jīng)試驗(yàn)發(fā)現(xiàn),現(xiàn)有流程圖識別方法在識別元素過多且連接關(guān)系繁雜的復(fù)雜流程圖時(shí),存在圖元漏識別以及連接線難以識別的問題。經(jīng)分析,文字以及其余元素會(huì)對連接線識別造成一定的負(fù)面影響,且在使用目標(biāo)檢測模型時(shí),圖元多的流程圖普遍會(huì)存在圖元漏識別情況,而圖元少的簡單流程圖漏識別的情況較少。因此,本發(fā)明設(shè)計(jì)了復(fù)雜流程圖分割算法,將復(fù)雜流程圖分割為兩個(gè)簡單流程圖,提高了流程圖圖元識別的準(zhǔn)確度,解決了圖元漏識別情況;同時(shí),設(shè)計(jì)了流程圖逐層分離流程,先圖文分層,從流程圖中分離出文字,得到圖形層,接著用目標(biāo)檢測模型識別圖形層圖元以及箭頭,從圖形層分離出圖元和箭頭,得到連接線層,此時(shí),圖像中就只剩下連接線,更加方便識別,解決了連接線難以識別問題。由此,本發(fā)明實(shí)現(xiàn)了復(fù)雜流程圖的識別。
13、步驟s2中,獲取所述流程圖復(fù)雜度評判閾值的具體實(shí)現(xiàn)過程包括:統(tǒng)計(jì)flowchart數(shù)據(jù)集中所有復(fù)雜流程圖像的連通域數(shù)量,選擇最小值為流程圖復(fù)雜度評判閾值。獲取閾值方便后續(xù)對流程圖分割做出判斷,減少不必要操作,提升整個(gè)方法的效率。
14、步驟s3中,將復(fù)雜流程圖分割為兩個(gè)簡單部分的具體實(shí)現(xiàn)過程包括:設(shè)置一掃描框,利用所述掃描框從上到下掃描流程圖,當(dāng)所述掃描框內(nèi)當(dāng)前步的像素點(diǎn)數(shù)與上一步的像素點(diǎn)數(shù)相同且均小于設(shè)定的閾值r,且掃描框位于流程圖中部,掃描框內(nèi)不包含封閉且對稱的圖形時(shí),分割所述復(fù)雜流程圖,得到兩種簡單圖像。復(fù)雜流程圖分割將復(fù)雜問題分而治之,解決了復(fù)雜流程圖漏識別的問題,提高了流程圖識別的準(zhǔn)確率。
15、步驟s4中,若輸入目標(biāo)檢測模型的圖形層對應(yīng)復(fù)雜流程圖的兩個(gè)簡單部分,則需合并目標(biāo)檢測模型的兩個(gè)輸出結(jié)果,得到復(fù)雜流程圖的所有圖元與箭頭。圖元可以提供流程圖主體文字的位置信息,箭頭可以提供流程圖連接線的方向信息,作為后續(xù)連接關(guān)系判別的重要依據(jù)。
16、步驟s4中,獲得圖元集合、箭頭集合以及注釋集合,將目標(biāo)檢測模型的輸出結(jié)果從步驟s2產(chǎn)生的圖形層中分離開,得到連接線層的具體實(shí)現(xiàn)過程包括:對所述目標(biāo)檢測模型的輸出進(jìn)行坐標(biāo)轉(zhuǎn)換,得到箭頭集合;匹配坐標(biāo)轉(zhuǎn)換后的圖元結(jié)果坐標(biāo)與流程圖文字列表,得到圖元集合;匹配后的剩余文字列表即注釋集合;根據(jù)檢測到的圖元及箭頭坐標(biāo),去除步驟s2產(chǎn)生的圖形層中對應(yīng)位置的像素,得到連接線層。圖元集合、箭頭集合和注釋集合提供了流程圖的內(nèi)容信息,作為后續(xù)連接關(guān)系判別的依據(jù);連接線層僅包含流程圖的連接線,解決了連接線難識別的問題,提高了復(fù)雜流程圖關(guān)系識別的準(zhǔn)確率。
17、步驟s5的具體實(shí)現(xiàn)過程包括:
18、識別連接線層中的所有直線段,得到直線段列表;
19、遍歷直線段列表,根據(jù)快速排斥實(shí)驗(yàn)以及跨立實(shí)驗(yàn)判斷直線段是否相交,將所有相交的直線看作一條連接線,得到連接線集合。
20、步驟s5得到連接線集合,提供了流程圖結(jié)構(gòu)信息,是后續(xù)判斷圖元連接關(guān)系的重要依據(jù)。
21、步驟s6的具體實(shí)現(xiàn)過程包括:
22、1)初始化result,確定流程圖起始圖元,根據(jù)坐標(biāo)判斷,最上方最左邊且無前驅(qū)節(jié)點(diǎn)的圖元即流程圖起始節(jié)點(diǎn)start,執(zhí)行步驟2);
23、2)判斷sl、se、sa、sf所有標(biāo)記位是否均為1,若否,則初始化臨時(shí)結(jié)果集tr,將圖元start的編號存入tr,執(zhí)行步驟3);若是,則結(jié)束;sl:連接線集合;
24、se:圖元集合;sa:箭頭集合;sf:注釋集合;
25、3)遍歷sl,找到與start相連的連接線line,將sl中l(wèi)ine對應(yīng)的標(biāo)記位改為1,執(zhí)行步驟4);
26、4)遍歷sf,若存在任一注釋note與line相近,則將sf中note對應(yīng)的標(biāo)記位改為
27、1,并將note的編號存入tr,執(zhí)行步驟5);若不存在,則直接執(zhí)行步驟5);
28、5)遍歷sa,若存在任一箭頭arrow與line相近,則將sa中arrow對應(yīng)的標(biāo)記位改為1,執(zhí)行步驟6);若不存在,則直接執(zhí)行步驟6);
29、6)遍歷se,若存在任一圖元element與arrow相連,則將se中element對應(yīng)的標(biāo)記位改為1,并將element的編號存入tr,判斷tr中是否已存在該圖元element,若存在,則說明該分支為循環(huán)分支,則將tr存入result中,返回步驟2);若不存在,則執(zhí)行步驟7);若不存在element與arrow相連,則將tr存入result中,返回步驟2);
30、7)遍歷sl,若存在任一連接線line與element相連,將sl中l(wèi)ine對應(yīng)的標(biāo)記位改為1,返回步驟4);若不存在,則將tr存入result中,返回步驟2)。
31、這一步驟得到了流程圖的所有路徑集合,包含了流程圖的內(nèi)容以及連接關(guān)系信息,作為生成流程圖描述性文本的輸入。
32、作為一個(gè)發(fā)明構(gòu)思,本發(fā)明還提供了一種終端設(shè)備,包括存儲(chǔ)器、處理器及存儲(chǔ)在存儲(chǔ)器上的計(jì)算機(jī)程序;所述處理器執(zhí)行所述計(jì)算機(jī)程序,以實(shí)現(xiàn)上述方法的步驟。
33、作為一個(gè)發(fā)明構(gòu)思,本發(fā)明還提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序/指令;所述計(jì)算機(jī)程序/指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述方法的步驟。
34、作為一個(gè)發(fā)明構(gòu)思,本發(fā)明還提供了一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序/指令;該計(jì)算機(jī)程序/指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述方法的步驟。
35、與現(xiàn)有技術(shù)相比,本發(fā)明所具有的有益效果為:本發(fā)明針對復(fù)雜流程圖難識別問題,提出基于分割思想的流程圖識別方法,并設(shè)計(jì)流程圖識別與文本生成的組合框架,將流程圖轉(zhuǎn)化為語義信息,幫助在智能化監(jiān)管服務(wù)時(shí)處理一些只用流程圖描述的數(shù)據(jù)以及監(jiān)管規(guī)則,實(shí)現(xiàn)了對服務(wù)流程的自動(dòng)化監(jiān)管。