# T-brain 中鋼字元辨識 v2 ## 流程 ```mermaid graph LR; B["偵測字串"] --> C["檢驗正反"] --> D["偵測字元"] --> E[字元辨識] ``` ## [字串偵測器](https://drive.google.com/drive/folders/1Tgjf5hhweaskIzBm8MsZgj9XRvtD-XkA?usp=sharing) 1. 目標:訓練字串偵測器。 2. 步驟:共有兩個步驟,每個步驟會使用一個 $.ipynb$ 檔案來完成。 + $train\_string\_detector$: 我們會使用主辦單位提供的訓練圖片與 **BBOX** 資料訓練字串偵測模型。 + $test\_string\_detector$: 我們會使用訓練好的字串偵測模型對圖片進行預測,之後還會對圖片進行一些後處理。 ## [正反辨識器](https://drive.google.com/drive/folders/1kG40KBAmmZtUk2d85CAH5UsEEOVPMmrg?usp=sharing) 1. 目標:訓練正反辨識器。 2. 步驟:共有兩個步驟,每個步驟會使用一個 $.ipynb$ 檔案來完成。 + $label\_pn\_image$: 由於主辦單位未提供圖片正反的訊息,因此我們對圖片進行人工標註,使用自製自動化標籤系統。 + $train\_pn\_classifier$: 我們將標註的正反樣本放入模型進行訓練。 ## [字元偵測](https://drive.google.com/drive/folders/1PjxAFKQxscqZsRj-fMZgOi1rddWpIK9K?usp=sharing) 1. 目標:訓練字元偵測器。 2. 步驟:共有兩個步驟,每個步驟會使用一個 $.ipynb$ 檔案來完成。 + $train\_char\_detector$: 我們標註 250 張圖片,並訓練 YOLOv3 模型。 + $test\_char\_detector$: 測試 YOLOv3 模型。 ## [字元辨識](https://drive.google.com/drive/folders/1dQJAb8CZIZpHuMzYBUES0tRcS2vHcM0J?usp=sharing) 1. 目標:訓練字元辨識器。 2. 步驟:共有三個步驟,每個步驟會使用一個 $.ipynb$ 檔案來完成 + $data\_analysis$: 對主辦單位提供的資料作分析,發現訓練與測試資料都沒有出現字元 $I, O$。另外,**kJl=zQJisK79JdFLeCsDEUH_lfFIyxd.jpg** 這筆資料的標籤為空字串,因此,後續不會將該筆資料納入考量。 + $preprocess\_char\_classifier$: 這個步驟會將原始圖片的每個字元進行提取,並放入相對應的資料夾中。提取字元的規則詳見下圖。 ```mermaid graph TB; A[提取字串] --> B[字元偵測] --"BBOX數量與字串長度不合" --> C1["增加圖片對比度,字元偵測"] --"BBOX數量與字串長度不合"--> D1[將圖片 copy 到 'error_image' 資料夾] B --"BBOX數量與字串長度相同"--> C2["提取字元"] C1 --"BBOX數量與字串長度相同"--> D2["提取字元"] ``` + $train\_char\_classifier$: 這個步驟會使用上個步驟產生的資料來訓練字元辨識器,每個類別我們會挑出 300 張照片放入模型,當中有 10% 的資料作為驗證集,另外,**C, B, J, D, E** 類資料不足 300 張,會使用 $augment\_data$ 函數將資料補滿 300 張。
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up