(新手)yoloV3自訓練模型量化後呈現效果不符預期如何排除問題

如圖尚未將物件放入畫面中下方就會挑出一堆紅框

為此該如何去排除這個問題在Kneron文件中心看到YOLO示例

參考http://doc.kneron.com/docs/#toolchain/yolo_example/

想要嘗試第3/4/6步驟測試ONNX是否正常及精度是否是正確的,但不知道如何操作是否有詳細說明?

另外範例cam_dme_serial_post_host_yolo.py中框選顏色好像只有一個並不會顯示標籤名稱

Comments

  • Hi Fred,

    結果不如預期有很多可能,常見的錯誤有

    1. preprocess設定錯誤,根據每個人的模型不同,對於輸入的影像也會需要不同的處理
    2. 模型訓練狀況不佳,建議訓練完成後先透過onnx inference確認效果符合你的預期
    3. post process錯誤,每個模型的feature map輸出不同,輸出後也會需要不同的處理

    若是使用的非耐能提供的tiny yolo v3範例模型,則前後處理部分可能會與範例cam_dme_serial_post_host_yolo.py不相容。

    onnx推論的部分,可直接參考toolchain中範例/workspace/examples/LittleNet/python_api_workflow.py,將文件中step 4的程式碼加入來推論

    out_data = ktc.kneron_inference([in_data], onnx_file="/data1/yolo.opt.onnx", input_names=["input_1_o0"])

    也提醒,即便是onnx的推論,pre /post process還是要針對你的模型修改


    框選顏色與類別的部分,可以參考範例專案中的/common/kdp_wrapper.py 中的 def draw_capture_result(),當中,判斷是elif det_type == "yolo"內的class_num = det[5]即為類別,每個數字所代表的類別與你訓練的類別有關,範例預設模型的類別可以參考/common/class_lists/coco_name_lists,框選顏色則可自行設定函式中cv2.rectangle()的參數,詳細操作可在網路上搜尋opencv rectangle的api說明。

The discussion has been closed due to inactivity. To continue with the topic, please feel free to post a new discussion.