我正在尝试将“从零开始”的模型实施到与Google开发板相连的USB网络摄像头。我削减了15k的培训。该模型在15k时尚未完全收敛,但是我想锻炼一下如何冻结图形,tflite并将其移至Google Coral开发板上。我意识到这可能是准确性方面的问题。 MobileNetv2。
下面是天花板和书桌。无论相机在看什么,检测盒每次都会出现在完全相同的位置。当相机移动时,盒子不会移动,百分比也不会改变。
火车模型
python train.py --logtostderr --train_dir=training --pipeline_config_path=training/ssd_mobilenet_v1_coco.config
冻结模型
python export_tflite_ssd_graph.py --pipeline_config_path=training/ssd_mobilenet_v2_coco.config --trained_checkpoint_prefix=training/model.ckpt-9070 --output_directory=inference_graph --add_postprocessing_op=true
量化
tflite_convert --graph_def_file=inference_graph/tflite_graph.pb --output_file=inference_graph/detect.tflite --inference_type=QUANTIZED_UINT8 --input_shapes=1,300,300,3 --input_arrays=normalized_input_image_tensor --output_arrays=TFLite_Detection_PostProcess,TFLite_Detection_PostProcess:1,TFLite_Detection_PostProcess:2,TFLite_Detection_PostProcess:3 --mean_values=128 --std_dev_values=127 --allow_custom_ops --default_ranges_min=0 --default_ranges_max=6
该模型在google珊瑚开发板上的运行如下;
export DISPLAY=:0 && edgetpu_detect \
--source /dev/video1:YUY2:1280x720:20/1 \
--model ${DEMO_FILES}/converted_tflite_quant_model.tflite
谷歌珊瑚预装了演示面部识别模型(如下)。唯一的区别是模型。以下命令可以完美运行并在屏幕上跟踪我的脸。上面的命令生成下面的照片。
export DISPLAY=:0 && edgetpu_detect \
--source /dev/video1:YUY2:1280x720:20/1 \
--model ${DEMO_FILES}/mobilenet_ssd_v2_face_quant_postprocess_edgetpu.tflite
这里可能出了什么问题?
编辑,几个月后,我使用mobilenet_v1对它进行了重新培训,得到了完全相同的结果。
答案 0 :(得分:0)
嗯,我想知道源相机是否也可能是个问题?
您可以再次检查像素格式,大小和FPS值是否正确?
另外,在您发布的两个图像上,该过程似乎都在加载converted_tflite_quant_model.tflite
模型,确定要尝试其他模型吗?
您能够以正确的结果运行演示吗?