更換範例 solution_kdp2_host_mipi 中的模型

您好,

我正透過Kneron KL520 series AI SoC – 96Board進行開發,目前使用的SDK版本為2.1.0。

我嘗試使用demo_customize_inf_multiple_models.c中的KNERON_FD_MASK_MBSSD_200_200_3來進行口罩人臉辨識。

故我將kdp2_host_mipi.c中的send_to_inference_queue()的model id改為 KNERON_FD_MASK_MBSSD_200_200_3、job id改為DEMO_KL520_CUSTOMIZE_INF_MULTIPLE_MODEL_JOB_ID。

也在application_init.c中的_app_func新增了DEMO_KL520_CUSTOMIZE_INF_MULTIPLE_MODEL_JOB_ID的switch case,但當我實際運行後卻發現96Board的顯示螢幕是全黑的。

故想請教以上的使用方式是否正確 ?

若有須改進之處再麻煩給予指教,

謝謝您。

Tagged:

Comments

  • 您好,

    KL520_SDK裡面的models_520.nef裡面只有包含TINY_YOLO_V3_224_224_3,沒有KNERON_FD_MASK_MBSSD_200_200_3,所以host_mipi會跑不起來(如果用UART console,可以看到會顯示scpu error)。

    還有,send_to_inference_queue()裡面的total_size是yolo的格式,而demo_customize_inf_single_model和demo_customize_inf_multiple_models (裡面有KNERON_FD_MASK_MBSSD_200_200_3) 用的inference header格式都不一樣,這個也會導致錯誤。


  • 您好,

    順帶一題,如果要用KNERON_FD_MASK_MBSSD_200_200_3來做inference的話:

    -可以把KNERON_FD_MASK_MBSSD_200_200_3的model (models_520.nef) (在Kneron PLUS的models的ssd_fd_lm裡面) 放在firmware/utils/bin_gen/flash_bin裡面 (原本裡面的model_520.nef是TINY_YOLO_V3_224_224_3的model)

    -send_to_inference的job_id可以不用改,只要改model_id = KNERON_FD_MASK_MBSSD_200_200_3

    -光是這樣,會有找不到這個model的postprocess,所以會需要到NCPU的model_ftr_table.c加上KNERON_FD_MASK_MBSSD_200_200_3對應的postprocess function,如下圖

    -build完的SCPU和NCPU會在firmware/utils/bin_gen/flash_bin裡面,可以和剛剛放的models_520.nef一起用bin_gen.py生成.bin檔

    -將生成的.bin檔(flash_image.bin,在firmware/utils/bin_gen裡面) 放到firmware/utils/flash_programmer裡面,用flash_programmer.py燒到KL520上

    這樣應該就可以用KNERON_FD_MASK_MBSSD_200_200_3的模型跑inference了。

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