關於paddleocr2.6 佈局分析的踩坑總結(一)

  824paddleocr發佈了2.6.0,之前使用過2.5版本的佈局分析,整體比較好用。近期就嘗試了一下paddleocr的新版本,記錄一下嚐鮮經歷。2.6版本的公告中指出,佈局分析模型縮小了95%,同時速度提升了11倍,在cpu上平均耗時41ms

 

 

  打開ppstructure/layoutreadme,發現2.6的調用方法與2.5差別還是挺大的,由於之前程序是以2.5版本爲基礎寫的,更傾向於再原有的代碼上改造。所以本文主要以改造踩坑爲主。

  2.5版本是使用了使用了layoutparser庫集成的調用,創建了PaddleDetectionLayoutModel對象,調用配置好的模型,使用cv2讀取圖片後,進行識別,過程很簡單。但2.6發佈的新模型並沒有集成到layoutparser的配置中,從調用方式上看是隻需要修改了相關配置就ok的。

 

 

 

  通過查看PaddleDetectionLayoutModel的源碼,在catalogMODEL_CATALOG添加模型的urlPubLayNet中未註釋的部分爲真實地址,但是你添加了這個地址後程序是不會自動下載的,因爲在PaddleModelURLHandler中不支持網址https://paddleocr.bj.bcebos.com

  解決辦法有兩種,一種相對比較徹底的就是給PaddleModelURLHandler支持的網址中加上模型的網址,這樣在配置中可以保留模型真實的地址。另一種隱患較大,修改真實網址如上圖中註釋代碼。但是不管如何修改配置,在嘗試過程中都沒有成功下載,難道是網絡問題?

 

 

  在確認網絡沒有異常之後(瀏覽器可以直接下載),找到了download代碼,上邊的顯示下載進度,下邊的直接下載。換成註釋內容後順利下載,建議沒事不要動源碼,出發用不了。其實也可以跳過代碼中下載步驟,通過瀏覽器下載後將模型放到本地緩存解壓即可。代碼中tmp的地址就是本地緩存位置。

 

 

  終於將模型從配置鏈接到緩存本地都弄好了,啓動後依然報錯。錯誤信息是找不到模型文件,查看本地緩存後發現下載的模型文件名默認是model.後綴名,程序調用的模型文件是inference.後綴名。改名之後加載模型過程中沒有再報錯。

 

  啓動後在detect 圖片的過程中會報錯。同時運行2.52.6預測同一張圖片時,predictorinput_names不一樣,繼而返回的tensor的形狀也不同,最終報錯。原因暫無結論。

 

 

  接下來會嘗試使用2.6文檔中的調用方法,儘管這也說明使用無法再使用layoutparser來兼容了。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章