開放政治獻金 - OCR技術討論

最後編輯:2014-05-19 建立:2014-04-22 歷史紀錄

KUANG-CHE W給最終使用者的人工 OCR/校對網站在這邊討論

 

圖檔格式

    Shenk Wang圖檔用 jpg 存好肥阿!!! 我看原始檔是純黑白的,用 png 會小很多阿~~~
    kiang沒特別注意,手滑就把三千多張轉成 jpg 了 XD
    Kuang-che Wu如果原圖是彩色或灰階建議就存 jpg 比較能保留比較多顏色資訊。如果原圖是純黑白,那用 png 會比較小。建議掃描成灰階, 才比較容易分辨是雜點還是真的字(無論對人或是程式都是)
    venevNicemaker says: 原圖是純黑白,會灰階是因為掃描髒掉的問題。。。btw我是掃描組的,大家好
    venev我要舉手問:背景的「浮水印」算是灰階嗎?
    Kuang-che Wu理論上浮水印也是碳粉印出來的,也是純黑色。但實際上因為浮水印的點很小,若掃描的解析度不夠高,很小的碳粉點可能只占掃描點的半格或更小,若是用灰階掃會變當灰色,用黑白掃就要看運氣(面積夠不夠大)可能就被當黑色。若被當黑色就會影響判斷,若黑色多一點可能人眼也無法辨別。

縮印?

    kiang~~~討論的部份都去 http://community.g0v.tw/t/topic/145 吧,這裡只留結論,感恩~~~
    venev我註冊了但一直收不到確認信,暫時回在這裡,kiang 等人可否幫我貼後刪除:1. 只要先確認「縮印圖檔」-> 「切豆腐格」這段流程 ok; 2. 就懇請 NiceMaker 幫寫「列印SOP」,並估計單一立委所需印量、時間; 3. 宣傳端集火排任務表號召申請調閱。
      Nicemaker目前已經偷偷徵招衝組,準備一天叫出 五都 的市長資料(已印完約7萬筆資料,掃描建檔中),請各位支援
      Nicemaker最新印出來的長 這樣 麻煩測試看看
      Kuang-che Wu那個編碼, 方便直接放在檔名嗎? 還有那登記表, 用 google spreadsheet 方不方便?
      Nicemaker我手動放檔名看看,因為比起在紙上面蓋印章,改檔名快多了
      Nicemaker至於登記表呢,因為以現在的規模來看,只要我直接發派任務,依序去列印,很快就好了。平均一個時段可以帶出500MB的圖檔。
      Nicemaker至於堅持要統一掃描規則且編碼的原因是,回頭找有少才知道。像吳育升現在已經OCR好的公關支出,內容是捐贈收入,而且好像是李慶忠的..
      Nicemaker也就是說,目前 已有電子檔->OCR 這段是沒有問題的,但 列印->電子檔 目前完全無法驗證,連紙本都散在各地

 

浮水印處理

  • 浮水印 sample
  • 目前掃描的結果至少有三種比較不一樣的 pattern
    1. HIALAN Lhttp://pic.pimg.tw/ronnywang/1398355833-3935933860.jpg 字比較粗,浮水印的點比較小
    2. KUANG-CHE Whttp://pic.pimg.tw/ronnywang/1398356068-3799096785.jpg 字比較細,浮水印的點比較大
    3. http://pic.pimg.tw/ronnywang/1398270666-705020037.png
  • AUDREY T後勤中心 Shenk Wang 建議 使用 http://scantailor.org/ 進行前置處理,可以補強 ClearScan 無法處理浮水印的問題,值得一試!
    • SHENK WNote: 我測試的參數是
      • scantailor-cli \
      • KUANG-CHE W --layout=1 \
      • --margins-left=10 \
      • --margins-right=10 \
      • --margins-top=5 \
      • --margins-bottom=5 \
      • --color-mode=black_and_white \
      • --threshold=-50 \
      • --despeckle=aggressive \
      • *.png out
      • SHENK W --threshold 負越多,去污能力越強
  • KIANG浮水印我之前是透過 image magick 處理,透過下面這樣的指令可以有不錯的效果
    • convert {$file_orig} -morphology thicken '1x3>:1,0,1' {$file_target}
      Shenk Wang把半徑 2 以下的點都拿掉效果也不錯:
      Shenk Wangconvert all-000.tif -morphology Close Octagon:2 result2.png
      Hialan Liu(sample a) 先正規化 (平均分散灰階值) --> 模糊 (去雜訊) --> 然後二元化:
      Hialan Liuconvert -normalize -gaussian-blur 2x2 -threshold 70% input.png output.png
      Hialan Liu結果如下: https://www.dropbox.com/s/p71d2vcss7rv6mt/ImageMagic_dewatermark.png
      Hialan Liu高斯效果參數可見此文件:http://www.imagemagick.org/Usage/blur/#blur_args 
    Hialan Liu
    Hialan Liusample a 混合 Finjon Kiang 的方法
      Hialan Liusample a 參數: convert -morphology thicken '1x3>:1,0,1' -normalize -gaussian-blur 1x3 -threshold 60% 1input.jpg output.png
      Hialan Liu
      Hialan Liusample a 三合一
      Hialan Liusample a 3in1 參數: convert -morphology thicken '1x3>:1,0,1' -normalize -gaussian-blur 1x3 -threshold 60% -morphology Close Octagon:1.5 1398355833-3935933860.jpg output.png
      Hialan Liu
      Hialan Liusample c
      Hialan Liusample c 結果: https://www.dropbox.com/s/1hkdu564wdpd795/ImageMagic_sample_c.png
      Hialan Liusample c 參數: convert -morphology thicken '1x3>:1,0,1' -normalize -threshold 70% sample_c.png output.png

 

 

KUANG-CHE W欄位、格式分析

  • Ronny Wang 分享如何抓出掃描文件的每個欄位
  • CHIA-LIANG K切框線確認(demo 網頁:速覽每份表格欄位切得如何)
  • VENEV從圖檔抓出欄位資訊,所有程式碼和資料在 github (以上 Ronny Wang ++)
  • KIANG"發現 tesseract 的 hocr config 可以抓出有字的 bbox: tesseract foo.png out/foo hocr -- 輸出是 html tag. 姑且不論辨識是否正確,拿到 bbox 後至少可以切出來做人工ocr" from gugod1 @ irc
    kiang輸出格式為 http://en.wikipedia.org/wiki/HOCR ,透過 這個 程式測試了一百多張圖片,還是會有些遺漏的情況,浮水印的干擾也是一個問題
    Sin-Yu Chen請問有處理"政治獻金表格"的bbox結果圖嗎
    Nicemaker有辦法把最上面的Title(第八屆立法立法。。。那邊),現在頁/共幾頁那邊獨立切一個出來給人工OCR嗎?這樣所有檔案就不用分開掃描了。只要抓到最左上跟右上角的座標往上切就好了。這樣做可以給每ㄧ列有唯一key

 

KUANG-CHE W以現有工具自動 OCR

  • HIALAN L使用 tesseract 辨識
  • BUGANINIhttps://github.com/buganini/ocrap
  • 以行為單位半自動的辨識,需要人工介入,接網站API的部份待實作,但網站上看起來有些(舊?)資料似乎沒有deskew,表格沒切好,遇到這種狀況miss rate會很高

 

KUANG-CHE W整合開發

  • polor1010
    • CHIA-LIANG K圖檔做文字的擷取,包含過濾浮水印,和文字定位(目前只能定位數字)
    • SIN-YU Chttps://www.dropbox.com/s/0dlkiyik1s6ypqb/WordExtract.zip (處理結果 )
      • RAYMOND L有些定位結果不準確,研判是斷掉的元素connect component無法連接。小弟正著手加強這部分。
      • Ex: 顏清標_雜支支出_雜支支出_0\cell7_1_R, cell13_1_R, cell1_4_R, cell2_1_R
      • SIN-YU C數字辨識演算法數字部分完成
  • https://www.dropbox.com/s/xthh56gqpzda2nu/recognition%20results.zip (辨識結果)
    • HUNG C數字辨識結果更新至政治獻金伺服器
    • SIN-YU C新增 command mode, 辨識結果 json 格式輸出
  • https://www.dropbox.com/s/33q9qnjnwbt1loj/test.zip (test檔案和辨識結果)

 

KUANG-CHE W其他