我正在尝试训练 ssd_mobilenet_v2_keras 在或多或少 6000 张图像的数据集上进行对象检测。问题是图像在训练过程中随机旋转(或者至少,从张量板上看起来是这样的)。这是我在 pipeline.config 文件中使用的配置:
train_config {
batch_size: 32
data_augmentation_options {
random_horizontal_flip {
}
}
data_augmentation_options {
random_rgb_to_gray {
probability: 0.25
}
}
data_augmentation_options {
random_jpeg_quality {
random_coef: 0.8
min_jpeg_quality: 50
max_jpeg_quality: 100
}
}
sync_replicas: true
optimizer {
adam_optimizer: {
epsilon: 1e-7
learning_rate: {
cosine_decay_learning_rate {
learning_rate_base: 1e-3
total_steps: 50000
warmup_learning_rate: 2.5e-4
warmup_steps: 5000
}
}
}
use_moving_average: false
}
fine_tune_checkpoint: "pre-trained-models/ssd_mobilenet_v2_320x320_coco17_tpu-8/checkpoint/ckpt-0"
num_steps: 50000
startup_delay_steps: 0.0
replicas_to_aggregate: 8
max_number_of_boxes: 100
unpad_groundtruth_tensors: false
fine_tune_checkpoint_type: "detection"
fine_tune_checkpoint_version: V2
}
我还尝试删除随机水平翻转(我知道这可能无法解决任何问题,我只是尝试了一下......)但没有任何变化,我仍然看到一些训练图像在张量板上旋转,而且如果我运行评估有时图像会旋转。当然,带有边界框坐标的 xml 不会“旋转”,因此张量板中的地面实况图像看起来完全错误,对象处于一个位置,而地面实况框处于完全不同的位置(如果图像是正确的位置)没有旋转...)
我知道这已经迟到了,但我面临着和你一样的问题,而且我几天来一直在寻找解决方案。您找到解决问题的方法了吗?如果有的话介意分享一下吗?
谢谢你^^