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

Clean Objdetect module #25004

Closed
vpisarev opened this issue Feb 12, 2024 · 5 comments
Closed

Clean Objdetect module #25004

vpisarev opened this issue Feb 12, 2024 · 5 comments
Assignees
Labels
cleanup Code cleanup (e.g, drop legacy C-API, legacy unmaintained code) feature
Milestone

Comments

@vpisarev
Copy link
Contributor

vpisarev commented Feb 12, 2024

Describe the feature and motivation

object detection is one of the key computer vision tasks where machine learning was used long before deep learning era. Nowadays, with deep learning, the problem is largely solved, at least for common cases.

But objdetect module in OpenCV still contains 'ancient' algorithms. We need to clean it up in OpenCV 5:

  • Move HaarCascadeClassifier to opencv_contrib/xobjdetect.
  • Move HOGDescriptor to opencv_contrib/xobjdetect.
  • Move all Haar/LBP models (opencv/data/*) to opencv_contrib.
  • Move/add Yolo postprocessing functions and DetectionModel from dnn to objdetect.
  • Possibly move Macbeth color chart detector from opencv_contrib/mcc to this module.
  • Maybe add deep learning-based detectors of basic geometric objects like circles and lines instead of traditional algorithms based on Hough transform (which we suggest to remove from Imgproc).

Additional context

No response

@vpisarev vpisarev added feature cleanup Code cleanup (e.g, drop legacy C-API, legacy unmaintained code) labels Feb 12, 2024
@vpisarev vpisarev added this to the 5.0 milestone Feb 12, 2024
@LaurentBerger
Copy link
Contributor

Finally I like mediapipe classification :
image

@vpisarev
Copy link
Contributor Author

@LaurentBerger, looks good, but it's probably too much to have a dedicated OpenCV module for each of those tasks. Various image improvements and stylizations can possibly be put to 'photo' module. Detection-related things can be put to 'objdetect'. Image classification and semantic segmentation now belong to dnn module.

@LaurentBerger
Copy link
Contributor

May be :
DNN (4.0) -> DNNCore (5.0)
Objdetect (4.0) -> DNNModels (5.0) with subfolder as in mediapipe

@vpisarev
Copy link
Contributor Author

@LaurentBerger, we have a dedicated repository opencv_zoo that plays the role of DNNModels :)

@Dhanwanth1803
Copy link
Contributor

@vpisarev Can I work on this? Because I am not sure if only members are working on this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cleanup Code cleanup (e.g, drop legacy C-API, legacy unmaintained code) feature
Projects
Status: Done
Development

No branches or pull requests

4 participants