Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

modification of Yolo v2 #15

Closed
MyVanitar opened this issue Aug 11, 2017 · 5 comments
Closed

modification of Yolo v2 #15

MyVanitar opened this issue Aug 11, 2017 · 5 comments

Comments

@MyVanitar
Copy link

Hello Felix,

in the article of "Detect and Classify Species of Fish from Fishing Vessels ..." you mentioned:

I used an improved version of YOLO called YOLO v2. It made several small but important changes inspired by Faster R-CNN, such as assigning bounding box coordinate “priors” to each partitioned region and replacing the fully connected layers with convolutional layers, hence making the network fully convolutional. Essentially, YOLO v2 works very similarly to RPN.

May I ask you where you have made this modifications? inside the yolo-voc.cfg file isn't it?

I want to follow you and make these modifications. Would you please help me?

@flyyufelix
Copy link
Owner

Hello, I used the original implementation in Darknet (https://pjreddie.com/darknet/yolo/). You can follow this guide: http://guanghan.info/blog/en/my-works/train-yolo/ to train YOLO with your own dataset. I also hack into the C code to get the program output predicted bounding boxes.

@MyVanitar
Copy link
Author

MyVanitar commented Aug 12, 2017

Thank you.

The article dated at 15/12/22. seems to be for YOLO V1

@MyVanitar
Copy link
Author

MyVanitar commented Aug 14, 2017

Besides, Do you think YOLO v2 or SSD-300 (7++12+COCO) will have less detection errors? in Fine-Tuning.

Although I think we can not Fine-Tune the YOLO. The provided weights is as an initial classification weights and we train from scratch actually.

@flyyufelix
Copy link
Owner

Yes, the article is slightly outdated. It is for YOLO v1. However, the config files of YOLO v2 and v1 are very similar so long as I recall, so if you can follow that of v1 I am sure you can do the same for v2.

YOLO v2 should outperform SSD-300. Resolution plays an important part in detector performance (can refer to this paper: https://arxiv.org/pdf/1611.10012.pdf). YOLO v2 takes 448x448 inputs while SSD takes 300x300. Speaking from my personal experience, YOLO v2 outperformed SSD-300 in the kaggle competition. In this regard, YOLO v2 vs SSD-512 should be a more fair comparison.

Yes, the provided weights for YOLO v2 (DarkNet19 with 448x448 input resolution pre-trained on ImageNet) is for classification. But it's still very useful as good feature extractor for the detection layers. I used that for my kaggle dataset and it worked quite well.

@MyVanitar
Copy link
Author

one missing feature in Yolo v2 is that they have not implemented the angle in training, it is a useful feature when the target objects might rotate in practice, which of course does not apply for the VOC dataset, and that's the reason why they have not implemented it completely.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants