Finally was able to train Custom Object Detection
Notes on Custom Object Detection (Notes - Link )
Step #1 - Define Inputs - Specify files in TFRecord file format
Step #2 - Configure Train_config. Key Values are
- Model parameter initialization.
- Input preprocessing.
- SGD parameters.
Step #3 - fine_tune_checkpoint should provide a path to the pre-existing checkpoint, To speed up the training process, it is recommended that users re-use the feature extractor parameters from a pre-existing image classification or object detection checkpoint
Step #4 - SGD - hyperparameters for gradient descent
Step #5 - Evaluator Config)
To get reasonable mAP@IoU scores for object detection API:
1. Try varying the Intersection over Union (IoU) threshold, e.g 0.2-0.5 and see if you get an increase in average precision. You would have to modify matching_iou_threshold parameter in object_detection/utils/object_detection_evaluation.py
2. Try different evaluator classes (the default one is EVAL_DEFAULT_METRIC = 'pascal_voc_detection_metrics'). If you are training on Open Image Dataset it makes sense to use open_images_V2_detection_metrics
3. Check your eval config file and increase the number of examples used in the evaluation set, e.g.
eval_config: {
num_examples: 20000
num_visualizations: 16
min_score_threshold: 0.2
# Note: The below line limits the evaluation process to 10 evaluations.
# Remove the below line to evaluate indefinitely.
max_evals: 1
}
4. Train the object detector for more iterations
5. Check current mAP against reported metrics (e.g. COCO mAP@IoU=0.5)
Step by Step: Build Your Custom Real-Time Object Detector - Link
Detectron2 Train a Instance Segmentation Model
Installing the Tensorflow Object Detection API
For custom object training BMW has shared their opensource
framework. It is a packaged version of the complete object detection setup.
(Yolo / TensorFlow this is good set of tools)
Happy Mastering DL!!!
No comments:
Post a Comment