-
Notifications
You must be signed in to change notification settings - Fork 18.7k
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
Implement generic object detector #601
Conversation
@kloudkl https://github.com/fpuja/opencv_contrib/tree/saliencyModuleDevelop |
Thanks for your porting! Are you confident that your module will be merged into the official OpenCV repository? If so, what is the earliest time? Before the API appears in the next release of OpenCV, I'm afraid it's only appropriate to use in one's internal applications. Any way, this PR will finish a baseline object detector that can be easily extended to use more advanced algorithms in any phase of the pipeline. |
It is not so easy to reply to your question. In Opencv 3.0 opencv-contrib will become an official part of the project. But I don't know how will be the package maintainers policy in Linux distors. @vpisarev can you give us some feedback on this outlook? |
you are welcome to contribute some new functionality into OpenCV, not the main OpenCV, but into the contrib repository, for which we now have more or less automatic testing: http://pullrequest.opencv.org/#/summary/contrib. The module must follow our well, so far implicit guidelines, i.e. : have the same directory structure as other modules, use CMake as build system, use RST/Sphinx for documentation etc. Also, there should be some commitment to support the module at least for several months, i.e. you will be assigned all the bugs that users report. As soon as you submit pull request, we can evaluate it |
all the gsoc results will be put into opencv_contrib repository following the same guidelines outlined above and also at http://code.opencv.org/projects/opencv/wiki/How_to_contribute. |
@vpisarev, thanks for your detailed answers! Your explanations inspired me that there could also be a |
TODO:
|
@kloudkl It seems that this PR is aligned with Rectangular Pooling #614, so that we can implement a spatial pyramid pooling detector mentioned in http://arxiv.org/pdf/1406.4729v1.pdf |
@ronghanghu, how are they aligned in your opinion? I would rather say Rectangular Pooling and #560 naturally work together. |
In order to speed up extracting features for thousand of regions that may contain objects, the spatial pyramid pooling layer directly pools the non-square regions of the feature maps. The most difficult part of the problem is that the layers used by the spp layer, i.e. split, pooling, flatten and concat layers must all support rectangular input blobs. |
You can follow Bing PR here opencv/opencv_contrib#39 |
4278286
to
c01f07a
Compare
@kloudkl Bing objectness is merged now. You can find the docs here: http://docs.opencv.org/trunk/modules/saliency/doc/saliency.html |
There are useful ideas and excerpts in this PR but the agglomeration is an uncomfortable mix of changes and concerns. Scope is at issue too: there are myriad ways to fit Caffe into a detector pipeline in one's own fork, but for inclusion in the main project it should be unobstrusive with respect to other tasks but generally useful for detection itself. My worry is that this is a somewhat individual effort for different kinds of detectors and best handled locally or by scripting, but that's merely my impression. Don't let that discourage proposals for detection pipeline PRs! Closing for these reasons and because the originating fork was cancelled and the contributions in this branch are mostly either in-progress in other PRs or out-of-date. |
This provides a common interface for different candidate object regions proposal algorithms. Together with #560, the pure C++ object detector consisted of high speed regions selector, feature extractor, classifier and region merger would become reality (#548).
@bhack, please have a look. Where is the latest BING ported to OpenCV?