流程圖識別(1)

流程圖識別(flowchart recognition)在OCR中中應該屬於比較難做的任務,國際上有個比賽CLEF-IP中有個流程圖識別的task

如果想設計一個完整的流程圖識別,需要做好如下三個步驟[1]:

1.辭彙級別:將圖形、文本分割,其中圖包括直線、弧、固定區域

2.語義級別:顧名思義,就是如何將各個固定區域用直線、弧連接起來,這裡固定區域可以指1中的文本

3.依存分析:各個連接起來的文本的依存關係。這裡好比NLP任務中的Dependency Parsing,比如三元組(李小璐 女兒 甜馨)正確的方嚮應該是(李小璐→女兒→甜馨),如果搞錯了方向,語義就天壤之別

這三個步驟在實際操作過程中都屬於比較難做的。

對於圖形、文本分割的方法有Fletcher&Kasturi方法[2],論文比我年紀還大,我大概瀏覽了一下,懶得看下去了。

說說我的想法:

1.圖形、文本分離,分割出來文本區域。然後分割文本區域,識別文字,有一種比較難搞一種是線上有文本,而且這個文本是把線給截斷,圖2效果不是很好,有一些方框不是封閉的。圖3中的中間位置的線上的文本靠的太近,連在一起,在進行形態學無法分割,圖4可以看到畫出來的效果圖。

2.圖5是根據核密度函數搞的,效果也不好

3.我最近會一直研究下去,有進展及時更新。

之前想嘗試MSER或者structure learning之類的,但是需要標數據之類的,現在想如何不使用這些方法有個初步的成果。

目前我進展如下:

圖1 原圖

圖2 表格圖

圖3 文本區域

圖4 效果圖

圖5 核密度函數

引用:

[1]CVC-UABs participation in the Flowchart Recongnition Task of CLEF-IP 2012

[2]A robust algorithm for text string separation from mixed text/graphics images
推薦閱讀:

CRF 小結
python學習之文章數據分析
torchtext入門教程,輕鬆玩轉文本數據處理
tf.nn.nce_loss 來自一篇古老的文章

TAG:OCR光學字元識別 | OCR識別 | 自然語言處理 |