我正在尝试使用4个或更多通道来训练对象检测模型。我成功地使用了管道配置文件中的“ num_additional_channels”参数来训练模型,并在TFRecord中将其设置为
[...]
'image/encoded': dataset_util.bytes_feature(encoded_jpg),
'image/additional_channels/encoded': dataset_util.bytes_feature(encoded_inputs),
[...]
训练后,我仅使用以下命令导出模型:
python object_detection/export_inference_graph.py \
--input_type=image_tensor \
--input_shape=-1,-1,-1,4 \
--pipeline_config_path=/home/Models/RGBD_model/pipeline.config \
--trained_checkpoint_prefix=/home/Models/RGBD_model/model.ckpt-400000 \
--output_directory=/home/Models/RGBD_model/exported
创建具有4个通道的输入形状的冻结模型。
问题是,当我使用以下命令运行推理(与我尝试过的其他3个通道模型完美配合)时:
image = np.concatenate((rgb,depth), axis=-1)
作为输入图像,推断将返回空检测。它没有给出错误,只是返回了一个空的output_dictionary ...
所以我想知道这可能不是导出此类模型的正确方法,实际上我真的不知道在训练模型时如何使用附加层以及应如何将其作为输入导出的模型。 有人在处理同一问题吗?