一.算法理解python
此處省略1萬字。。。。。。。。。。。。。。算法
二.訓練及源碼理解json
配置如下3步:spa
在utils文件夾和utils\bbox文件夾下建立__init__.py文件code
在utils\bbox文件夾下執行python setup.py installblog
將.pyd文件拷貝到utils\bbox文件夾下圖片
- 數據介紹:檢測圖片當中的手寫體區域,圖片很少本身標註了385張,可是圖片中的手寫體區域大約幾千個,後面訓練Faster Rcnn也有用到。
- 數據格式:首先我是用精靈標註手寫體區域存在json文件中,josn解析提取圖片名和標籤座標存在txt中,格式:768,1622,1124,1622,1124,1750,768,1750,chinese,###。
- 總共4個角8個座標,還有一個標籤,所有用的chinese,而後用split_label.py將數據拆分紅一個個小框,格式:188,399,191,430只有左上角和右下角座標。將數據image文件夾和label文件夾(拆分後的數據標籤)存放在mlt文件夾裏便可。
- main/trian.py便可訓練核心代碼:
bbox_pred, cls_pred, cls_prob = model.model(input_image) 生成預測框,類別得分和機率
lstm_output = Bilstm(rpn_conv, 512, 128, 512, scope_name='BiLSTM') 雙層LSTM,考慮先後特徵的聯繫
bbox_pred = lstm_fc(lstm_output, 512, 10 * 4, scope_name="bbox_pred")
cls_pred = lstm_fc(lstm_output, 512, 10 * 2, scope_name="cls_pred") 全鏈接分類得分和候選框預測total_loss, model_loss, rpn_cross_entropy, rpn_loss_box = model.loss(bbox_pred, cls_pred, input_bbox,
input_im_info) 模型的各類損失,交叉熵損失,rpn損失 - demo.py進行預測,包括小框合併,預測結果展現以下