SK124 / Blood-Cell-Enumeration

Blood Cell Detection and Enumeration using Object Detection Algorithms.
5 stars 1 forks source link

Need help on overfitting problem: Training on dental panoramic radiographs #1

Open gksruf opened 3 years ago

gksruf commented 3 years ago

Hello. I am not an expert in deep learning and seeking for an help. I am trying to customize YOLOv4 with two pathologic lesions on dental panoramic radiographs. Class 1 has total of 455 images (384 training set & 71 test set) and Class 2 has total of 1441 images (1223 training set & 218 test set). All dental panoramic images seems similar in general because people have similar bone structure. However, two different lesions are usually located in the apex of the tooth and they are both pretty small in the large panoramic radiograph. Since labeled lesions are small, we cropped the image when training and tested them. However, the resulting graph looks like below:

image

It overfits very soon. What should I do to fix this problem? Should I try to change masks, anchors, classes, or num in "yolov4.cfg"? Would it help improve the problem? Especially, I am thinking about changing anchors and I wonder how. Or should I use YOLOv3 instead of v4? or could I change v4 more shallower using darknet? Please help me solve the problem. Thank you and have a great day!

SK124 commented 3 years ago

Hi! Try Yolov3 my experience with yolov3 was lot better or try masked RCNN as it is more accurate, in terms of data try augmenting your images, start with pretrained weights and if possible use regularization techniques like Label Smoothing. Make sure your learning rate is right, try to adjust it according to the batchhsize, read the paper. If you have knowldege of PyTorch/TF/Keras try switching to their code as well. Hope this gives you a good insight. You have a imbalance in classes also so try to solve it using a adapted loss function or try to augment that particular class which is in minority, above all use pretrained weights and use a suitable lr. Thanks for passing by my repo Cheers!

SK124 commented 3 years ago

try augmentations from albumentations, it is an excellent library has excellent support for pytorch and keras if you can not switch to these frameworks,feel free to save the augmented images to your physical storage and use them.

You can use Yolov4 as well not that its a bad network, back when i used it, i faced a lot of issues and the community support was weak, the situation would have changed by now