UNet實現文檔印章消除





向AI轉型的程序員都關注了這個號👇👇👇python

機器學習AI算法工程   公衆號:datayx程序員


一個分割網絡——Unet,Unet借鑑了FCN網絡,其網絡結構包括兩個對稱部分:前面一部分網絡與普通卷積網絡相同,使用了3x3的卷積和池化下采樣,可以抓住圖像中的上下文信息(也即像素間的關係);後面部分網絡則是與前面基本對稱,使用的是3x3卷積和上採樣,以達到輸出圖像分割的目的。此外,網絡中還用到了特徵融合,將前面部分下采樣網絡的特徵與後面上採樣部分的特徵進行了融合以得到更準確的上下文信息,達到更好的分割效果。web



Unet使用一種稱爲overlap-tile的的策略,使得任意大小輸入的圖片均可以得到一個無縫分割。over-tile策略以下圖所示:面試



該策略的思想是:對圖像的某一塊像素點(黃框內部分)進行預測時,須要該圖像塊周圍的像素點(藍色框內)提供上下文信息(context),以得到更準確的預測。算法

這樣的策略會帶來一個問題,圖像邊界的圖像塊沒有周圍像素,所以做者對周圍像素採用了鏡像擴充。下圖中紅框部分爲原始圖片,其周圍擴充的像素點均由原圖沿白線對稱獲得。這樣,邊界圖像塊也能獲得準確的預測。flask


另外一個問題是,這樣的操做會帶來圖像重疊問題,即第一塊圖像周圍的部分會和第二塊圖像重疊。所以做者在卷積時只使用有效部分(valid part of each convolution),雖然卷積的時候會用到周圍的像素點(藍色框內),但最終傳到下一層的只有中間原先圖像塊(黃色框內)的部分(可理解爲不加padding)。瀏覽器


至於爲何要對圖像分塊不輸入整張圖像則是由於內存的限制,有的機器內存比較小,須要分塊輸入。即使如此,相較以前的滑窗輸入,Unet已經快樂很是多了,其一是由於不用取那麼多塊,其二是由於取塊時候沒有那麼大的重疊。微信


另外一個比較有意思的點是對於細胞邊緣的分割像素點加大了損失權重,使得網絡更加劇視邊緣像素的學習。



UNet 實現文檔印章消除網絡


Requirement

pytorch==1.5app

opencv-python 4.2

numpy


代碼及運行教程 獲取:

關注微信公衆號 datayx  而後回覆  印章  便可獲取。

AI項目體驗地址 https://loveai.tech



data 的目錄結構以下圖:



  • test:測試集圖片的路徑

  • mytest:測試結果的輸出路徑

  • train:訓練集圖片的路徑,包含含印章的圖片以及標註印章位置的xml文件

  • train_cleaned:訓練集圖片人工去除印章後的標籤

  • valid:驗證集圖片的路徑,包含含印章的圖片以及標註印章位置的xml文件

  • valid_cleaned:驗證集圖片人工去除印章後的標籤

  1. config.py 設置參數,包括文件路徑、模型結構參數和訓練的參數等。

  2. train.py 運行 python train.py 訓練模型。

  3. predict.py 運行 python predict.py 測試。

Note:

  1. 因爲做者所使用的圖像分辨率極高,在訓練和測試時從完整圖像中扣出包含印章的區域(ImageSize=512*512),而後進行訓練。若是圖片的分辨率適中或者顯存足夠大,能夠跳過此步驟,無需進行印章標註,直接使用原圖進行UNet訓練。

  2. 從原圖中扣出印章區域也能夠使用yolo代替。




閱讀過本文的人還看了如下文章:


TensorFlow 2.0深度學習案例實戰


基於40萬表格數據集TableBank,用MaskRCNN作表格檢測


《基於深度學習的天然語言處理》中/英PDF


Deep Learning 中文版第一版-周志華團隊


【全套視頻課】最全的目標檢測算法系列講解,通俗易懂!


《美團機器學習實踐》_美團算法團隊.pdf


《深度學習入門:基於Python的理論與實現》高清中文PDF+源碼


特徵提取與圖像處理(第二版).pdf


python就業班學習視頻,從入門到實戰項目


2019最新《PyTorch天然語言處理》英、中文版PDF+源碼


《21個項目玩轉深度學習:基於TensorFlow的實踐詳解》完整版PDF+附書代碼


《深度學習之pytorch》pdf+附書源碼


PyTorch深度學習快速實戰入門《pytorch-handbook》


【下載】豆瓣評分8.1,《機器學習實戰:基於Scikit-Learn和TensorFlow》


《Python數據分析與挖掘實戰》PDF+完整源碼


汽車行業完整知識圖譜項目實戰視頻(全23課)


李沐大神開源《動手學深度學習》,加州伯克利深度學習(2019春)教材


筆記、代碼清晰易懂!李航《統計學習方法》最新資源全套!


《神經網絡與深度學習》最新2018版中英PDF+源碼


將機器學習模型部署爲REST API


FashionAI服裝屬性標籤圖像識別Top1-5方案分享


重要開源!CNN-RNN-CTC 實現手寫漢字識別


yolo3 檢測出圖像中的不規則漢字


一樣是機器學習算法工程師,你的面試爲何過不了?


前海徵信大數據算法:風險機率預測


【Keras】完整實現‘交通標誌’分類、‘票據’分類兩個項目,讓你掌握深度學習圖像分類


VGG16遷移學習,實現醫學圖像識別分類工程項目


特徵工程(一)


特徵工程(二) :文本數據的展開、過濾和分塊


特徵工程(三):特徵縮放,從詞袋到 TF-IDF


特徵工程(四): 類別特徵


特徵工程(五): PCA 降維


特徵工程(六): 非線性特徵提取和模型堆疊


特徵工程(七):圖像特徵提取和深度學習


如何利用全新的決策樹集成級聯結構gcForest作特徵工程並打分?


Machine Learning Yearning 中文翻譯稿


螞蟻金服2018秋招-算法工程師(共四面)經過


全球AI挑戰-場景分類的比賽源碼(多模型融合)


斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)


python+flask搭建CNN在線識別手寫中文網站


中科院Kaggle全球文本匹配競賽華人第1名團隊-深度學習與特徵工程



不斷更新資源

深度學習、機器學習、數據分析、python

 搜索公衆號添加: datayx  



機大數據技術與機器學習工程

 搜索公衆號添加: datanlp

長按圖片,識別二維碼



本文分享自微信公衆號 - 機器學習AI算法工程(datayx)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索