微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

标签未显示正确的名称

如何解决标签未显示正确的名称

我对此很陌生,所以在这里露面了。

我已经为自己编写了一个程序来识别工具,问题是,在运行该程序时会看到该对象,但是名称为N / A,请注意,并不是每个标签都出现这种情况(无法识别螺丝刀)但是,当它认为看到一个时,便将其标记为“螺丝起子”而不是“不适用”

现在,我已经检查了无数人遇到此问题的论坛,但我找不到发生这种情况的原因。 我有16个对象的16个类,labelmap顺序正确,并且与其他多个站点显示的完全一样。

所有的想法都在这里..

:管道:

model {   ssd {
num_classes: 16
image_resizer {
  keep_aspect_ratio_resizer {
    min_dimension: 512
    max_dimension: 512
    pad_to_max_dimension: false
  }
}
feature_extractor {
  type: "ssd_efficientnet-b0_bifpn_keras"
  conv_hyperparams {
    regularizer {
      l2_regularizer {
        weight: 4e-05
      }
    }
    initializer {
      truncated_normal_initializer {
        mean: 0.0
        stddev: 0.03
      }
    }
    activation: SWISH
    batch_norm {
      decay: 0.99
      scale: true
      epsilon: 0.001
    }
    force_use_bias: true
  }
  bifpn {
    min_level: 3
    max_level: 7
    num_iterations: 3
    num_filters: 64
  }
}
Box_coder {
  faster_rcnn_Box_coder {
    y_scale: 10.0
    x_scale: 10.0
    height_scale: 5.0
    width_scale: 5.0
  }
}
matcher {
  argmax_matcher {
    matched_threshold: 0.5
    unmatched_threshold: 0.5
    ignore_thresholds: false
    negatives_lower_than_unmatched: true
    force_match_for_each_row: true
    use_matmul_gather: true
  }
}
similarity_calculator {
  IoU_similarity {
  }
}
Box_predictor {
  weight_shared_convolutional_Box_predictor {
    conv_hyperparams {
      regularizer {
        l2_regularizer {
          weight: 4e-05
        } 
      }
      initializer {
        random_normal_initializer {
          mean: 0.0
          stddev: 0.01
        }
      }
      activation: SWISH
      batch_norm {
        decay: 0.99
        scale: true
        epsilon: 0.001
      }
      force_use_bias: true
    }
    depth: 64
    num_layers_before_predictor: 3
    kernel_size: 3
    class_prediction_bias_init: -4.6
    use_depthwise: true
  }
}
anchor_generator {
  multiscale_anchor_generator {
    min_level: 3
    max_level: 7
    anchor_scale: 4.0
    aspect_ratios: 1.0
    aspect_ratios: 2.0
    aspect_ratios: 0.5
    scales_per_octave: 3
  }
}
post_processing {
  batch_non_max_suppression {
    score_threshold: 1e-08
    IoU_threshold: 0.5
    max_detections_per_class: 100
    max_total_detections: 100
  }
  score_converter: SIGMOID
}
normalize_loss_by_num_matches: true
loss {
  localization_loss {
    weighted_smooth_l1 {
    }
  }
  classification_loss {
    weighted_sigmoid_focal {
      gamma: 1.5
      alpha: 0.25
    }
  }
  classification_weight: 1.0
  localization_weight: 1.0
}
encode_background_as_zeros: true
normalize_loc_loss_by_codesize: true
inplace_batchnorm_update: true
freeze_batchnorm: false
add_background_class: false   } } train_config {   batch_size: 1   data_augmentation_options {
random_horizontal_flip {
}   }   data_augmentation_options {
random_scale_crop_and_pad_to_square {
  output_size: 512
  scale_min: 0.1
  scale_max: 2.0
}   }   sync_replicas: true   optimizer {
momentum_optimizer {
  learning_rate {
    cosine_decay_learning_rate {
      learning_rate_base: 0.08
      total_steps: 300000
      warmup_learning_rate: 0.001
      warmup_steps: 2500
    }
  }
  momentum_optimizer_value: 0.9
}
use_moving_average: false   }   fine_tune_checkpoint: "C:/Users/djust/Desktop/Object_detection/models/research/object_detection/efficientdet_d0_coco17_tpu-32/checkpoint/ckpt-0"

numsteps:300000 startup_delay_steps:0.0 copys_to_aggregate: 8个max_number_of_Boxes:100个unpad_groundtruth_tensors:false
fine_tune_checkpoint_type:“检测到” use_bfloat16:false
fine_tune_checkpoint_version:V2} train_input_reader {
label_map_path: “ C:/用户/调整/桌面/ Object_detection /模型/研究/ object_detection /培训/labelmap.pbtxt” tf_record_input_reader { input_path:“ C:/用户/调整/桌面/ Object_detection /模型/研究/object_detection/train.record” }} eval_config {metrics_set:“ coco_detection_metrics”
use_moving_averages:错误batch_size:1} eval_input_reader {
label_map_path: “ C:/用户/调整/桌面/ Object_detection /模型/研究/ object_detection /培训/labelmap.pbtxt” 随机播放:错误num_epochs:1 tf_record_input_reader { input_path:“ C:/用户/调整/桌面/ Object_detection /模型/研究/object_detection/test.record” }

标签图:

项目{ display_name:“人” 名称:“人” id:1}项目{ display_name:“压接工具” 名称:“ crimping_tool” id:2}项目{ display_name:“ drill_set” 名称:“ drill_set” id:3}项目{ display_name:“实用刀” 名称:“ utility_knife” id:4}项目{ display_name:“螺丝刀” 名称:'screwdriver' id:5}项目{ display_name:“ stripping_pliers” 名称:“ stripping_pliers” id:6}项目{ display_name:“ cutting_pliers” 名称:“ cutting_pliers” id:7}项目{ display_name:“ stripping_tool” 名称:“ stripping_tool” id:8}项目{ display_name:“钳子” 名称:“钳子” id:9}项目{ display_name:'管道扳手' 名称:'pipeWrench' id:10}项目{ display_name:“测量工具” 名称:“ measuring_tool” id:11}项目{ 显示名称:“ cable_cutter_angled” 名称:“ cable_cutter_angled” id:12}项目{ display_name:“ stripping_tool_2” 名称:“ stripping_tool_2” id:13}项目{ display_name:“扳手” 名称:“扳手” id:14}项目{ display_name:“ hexkey_set” 名称:“ hexkey_set” id:15}项目{ display_name:“ drill_set_2” 名称:“ drill_set_2” id:16}

解决方法

可能的原因可能是您在TF记录中使用的“标签ID”不正确。当将图像和注释转换为正确设置了“图像/对象/类/标签”的那些TF记录时,您是否可以验证?

'image/object/class/label':
    dataset_util.int64_list_feature(category_ids)

我还注意到您的labelmap文件中有一个“ display_name”,我从未使用过display_name,而且不确定是否还会导致您的N / A标签。

如果在tfrecord中正确设置了标签,那么我建议尝试使用以下结构的labelmap文件: 项目{ 编号:1 名称:“人” }

项目{ id:2 名称:“ crimping_tool” }

项目{ id:3 名称:“ drill_set” }

...

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。