I am new to object detection, I read the blogs for R-CNN, It is understandable.

  1. Pass the image to the selective search, It will output different proposals.
  2. Resize all the proposals into a fixed size.
  3. Pass the fixed size proposals to a CNN and get the class label and Bounding box coordinates

It is the overall architecture or it is the architecture for testing the images.

But, how to do the training?

For example, I have this data set - https://github.com/Shenggan/BCCD_Dataset

This is for classify blood cells and count the number of different types of blood cells. Obviously, it is a detection problem.

Let me correct, If I am not correct...

Training, I need the input and the corresponding output/target values.

For input(X), Shall I crop each and every object(blood cells) in all images using annotation file and train only the cropped images(one object per cropped image) or train the actual images without cropping objects?

And, for output(Y), there are two outputs we are going to get from the R-CNN,

  1. class label
  2. Bounding box coordinates(x1, y1, x2, y2)

I am really confused here, to generate target values to train CNN. If I feed the CNN with cropped images(one object per image), then I can assign the output/target values(class labels) for every cropped image because every cropped image contains exactly one object. Plus Background.

And, How to assign bounding box coordinates(ground truth) as output for the input images to train?

In some blogs, the authors says, crop the objects using annotation file and add background images to do classification task. Then, testing images, use selective search to generate proposals with their coordinates(x1, y1, x2, y2) and feed all the proposals to the model and which class has high accuracy is the output and draw the corresponding proposal coordinates in the input image. In this technique, they did not train then bounding box regression. I followed this technique but not getting accuracy for different cases because objects are vary in size and shape.

Please, help me understand this questions, thank you

And Please, do not give down vote to this question, I hope, I explained clearly.



Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.