Hello, Community! This post is a summary of development on OpenCV 5 in the last week, March 13 -March 20, 2024. You can always find the most up-to-date information on the OpenCV 5 Work Board. Many thanks to Jia Wu for her excellent notes!
GSoC Application Deadline: Just a friendly reminder that the deadline for Google Summer of Code (GSoC) applications is approaching on April 2nd. Don’t miss out on this opportunity to contribute to OpenCV and gain valuable experience in open-source development!
Latest Developments from the OpenCV Team:
The discussed features and fixes are works-in-progress or merged pull requests intended for OpenCV 5, and are not yet available in any official OpenCV release.
- GeLU Acceleration: We’re nearing completion on accelerating the Gaussian Error Linear Units (GeLU) function, a crucial component in deep learning frameworks like PyTorch and TensorFlow.
- Layer Blob Constants: In PR #25238, we’re proposing a change to store and utilize constants directly in layer blobs instead of Const layers. This optimization streamlines memory usage and improves computational efficiency, particularly in large-scale neural network applications.
- FP16 and BF16 Renaming: As part of our ongoing efforts to streamline terminology, we’ve submitted PRs (#25217 for FP16 on 4.x and #25232 for BF16 on 5.x) to rename certain functionalities, ensuring consistency and clarity across different OpenCV versions.
- DNN Engine Refactoring: Hard at work refactoring the Deep Neural Network (DNN) engine, introducing 6 new operators to improve functionality and performance. Support for integers, transformer optimization, and OpenCL support are progressing smoothly.
- Code Cleanup Progress: Significant progress has been made in cleaning up ml, objdetect, and C-API components, ensuring code quality and consistency.
- Samples Cleanup: Initiated a cleanup effort for OpenCV samples, starting with a spreadsheet to organize and prioritize tasks. We’re focusing on enhancing the quality and relevance of sample code to better serve the needs of our diverse user community.
- OpenVINO Backend Fix: Addressed issues with the OpenVINO backend, making fixes that impact over 50 files. These improvements contribute to a more stable and reliable experience for users leveraging OpenVINO.
- HAL Progress: We’re making strides in implementing universal intrinsics for fp16/bf16, with renaming efforts described above.
- Documentation: Our documentation has been updated to the latest version of Doxygen. As mentioned above we’re also focusing on updating and improving the content of our documentation to better serve your needs.
That’s the OpenCV 5 update for this week. We’ll see you next Wednesday for another, until OpenCV 5 is released!
How to Contribute to OpenCV:
Interested in contributing to OpenCV? Follow these steps:
- Check out the Contribution Guidelines on the OpenCV Wiki for detailed instructions on how to contribute code, report issues, and participate in discussions.
- Familiarize yourself with the OpenCV development process, including coding standards and conventions, version control practices, and testing procedures.
- Join the vibrant OpenCV community on GitHub and start collaborating with developers from around the world. Your contributions, no matter how big or small, play a crucial role in shaping the future of OpenCV.
Support OpenCV:
If you’d like to support OpenCV financially, consider purchasing a shirt or donating directly at OpenCV Support. Your contribution helps sustain and advance the development of OpenCV, ensuring it remains a powerful and accessible tool for the computer vision community.