Updated GSoC_2024 (markdown)

Vadim Pisarevsky 2024-02-12 23:52:05 +03:00
parent d0a64be469
commit cfa6cfc559

@ -86,7 +86,7 @@ All work is in C++ unless otherwise noted.
* ***Skills Required:*** Good software development skills, good knowledge of deep methods of 3D visual capture and use of Gaussian Splatting models.
* ***Possible Mentors:*** Doug Lee, Gary Bradski
* ***Difficulty:*** Medium to Hard
* ***Duration:*** 280 hours
* ***Duration:*** 350 hours
1. #### _IDEA:_ 3D Object Capture with SplaTAM
* ***Description:*** Use the above or SplaTAM (possibly allowing accuracy boosts using [Charuco boards](https://docs.opencv.org/4.x/da/d13/tutorial_aruco_calibration.html)) to capture and log 3D objects to collect a database. We might also use [GaussianObject](https://gaussianobject.github.io/) if their code is published and has a compatible license. We then want to use the resulting Neural Render to find/segment the object in a scene.
@ -100,7 +100,7 @@ All work is in C++ unless otherwise noted.
* ***Skills Required:*** Good software development skills, good knowledge of deep methods of 3D visual capture, and use of Gaussian Splatting models.
* ***Possible Mentors:*** Gary Bradski
* ***Difficulty:*** Medium to Hard
* ***Duration:*** 280 hours
* ***Duration:*** 350 hours
1. #### _IDEA:_ 3D Radiance Toolbox
* ***Description:*** Create a toolbox for easy capture of radiance scenes. You use NerfStudio or Droid SLAM (Simultaneous Localization and Mapping) plus Gaussian Splatting as a default technique, the main thing is ease of capture from iPhone or Android (fixing focal lengths) to capture the scene and send it to a cloud or server. To initialize and calibrate, images of a [Charuco board](https://docs.opencv.org/4.x/da/d13/tutorial_aruco_calibration.html)) can be used to begin/end a capture. Data goes to the cloud or as server where subsequent views in the scene can be accurately localized in 6DOF (degrees of freedom: X,Y,Z,orientation).
@ -115,7 +115,7 @@ All work is in C++ unless otherwise noted.
* ***Skills Required:*** Good software development skills, computer vision/deep net experience. iPhone and/or Android experience
* ***Possible Mentors:*** Gary Bradski
* ***Difficulty:*** Medium to Hard
* ***Duration:*** 200-280 hours
* ***Duration:*** 175 hours
1. #### _IDEA:_ Multi-camera calibration part 3
* ***Description:*** During GSoC 2023 a new cool [multi-camera calibration](https://github.com/opencv/opencv/wiki/GSoC_2023#idea-multi-camera-calibration-part-2) algorithm was improved: https://github.com/opencv/opencv/pull/24052. This year we would like to finish this work with more test cases, tune the accuracy and build higher-level user-friendly tool (based on the script from the tutorial) to perform multi-camera calibration. If this is completed before the internship is up, then we'll move on to leveraging the IMU or marker-free calibration.
@ -142,7 +142,7 @@ All work is in C++ unless otherwise noted.
* ***Skills Required:*** Mastery of C++ and Python, mathematical knowledge of camera calibration, ability to code up mathematical models
* ***Difficulty:*** Medium
* ***Possible Mentors:*** Jean-Yves Bouguet, Alexander Smorkalov
* ***Duration:*** 220 hours
* ***Duration:*** 175 hours
1. #### _IDEA:_ Multi-camera calibration toolbox
* ***Description:*** Build a higher-level user-friendly tool (based on the script from the calibration tutorial) to perform multi-camera calibration. This should allow easy multi-camera calibration with at multiple [Charco patterns](https://docs.opencv.org/4.x/da/d13/tutorial_aruco_calibration.html) and possibly other calibration fiducial patterns. The results will use Monte-Carlo sampling to determine parameter stability, allow easy switching of camera models and output the camera calibration parameters and the fiducial patterns pose in space as well as the extrinsic locations of each camera relative to the others.
@ -153,7 +153,7 @@ All work is in C++ unless otherwise noted.
* ***Skills Required:*** Python, mathematical knowledge of camera calibration, ability to code up mathematical models
* ***Difficulty:*** Medium-Difficult
* ***Possible Mentors:*** Jean-Yves Bouguet, Gary Bradski
* ***Duration:*** 240 hours
* ***Duration:*** 175 hours
1. #### _IDEA:_ Quantized models for OpenCV Model Zoo
* ***Description:*** Many modern CPUs, GPUs and specialized NPUs include special instructions and hardware blocks for accelerated inference, especially for INT8 inference. The models don't just become ~4x smaller compared to FP32 original models, the inference speed increases significantly (by 2x-4x or more) as well. The number of quantized models steadily increases, however, beyond image classification there are not so many 8-bit computer vision models with proven high-quality results. We will be interested to add to our model zoo (https://github.com/opencv/opencv_zoo) 8-bit models for object detection, optical flow, pose estimation, text detection and recognition etc.
@ -164,7 +164,7 @@ All work is in C++ unless otherwise noted.
* ***Skills Required:*** very good ML engineering skills, good Python programming skills, familiarity with model quantization algorithms and model quality assessment approaches
* ***Possible Mentors:*** Feng Yuantao, Zhong Wanli, Vadim Pisarevsky
* ***Difficulty:*** Medium
* ***Duration:*** 240 hours
* ***Duration:*** 90 to 175 hours, depending on the particular model.
1. #### _IDEA:_ RISC-V Optimizations
* ***Description:*** RISC-V is one of main target platforms for OpenCV. During past several years we brought in some RISC-V optimizations based on RISC-V Vector extension by adding another backend to _OpenCV scalable universal intrinsics_. We refactored a lot of code in OpenCV to make the vectorized loops compatible with RISC-V backend and more or less efficient. Still, we see a lot of gaps and the performance of certain functions can be further improved. For some critical functions, like convolution in deep learning, it makes sense perhaps to implement custom loops using native RVV intrinsics instead of using OpenCV scalable universal intrinsics. This is what we invite you to do.
@ -176,7 +176,7 @@ All work is in C++ unless otherwise noted.
* ***Skills Required:*** mastery plus experience coding in C++; good skills of optimizing code using SIMD.
* ***Possible Mentors:*** Mingjie Xing, Maxim Shabunin
* ***Difficulty:*** Hard
* ***Duration:*** 300 hours
* ***Duration:*** 350 hours
1. #### _IDEA:_ Dynamic CUDA support in DNN
@ -187,7 +187,7 @@ All work is in C++ unless otherwise noted.
* ***Skills Required:*** mastery plus experience coding in C++; good practical experience in CUDA. Acquaintance with deep learning is desirable but not necessary, since the project is mostly about software engineering, not about ML algorithms or their optimization.
* ***Possible Mentors:*** Alexander Smorkalov
* ***Difficulty:*** Hard
* ***Duration:*** 280 hours
* ***Duration:*** 350 hours
1. #### _IDEA:_ OpenGL support with GTK 3 and GTK 4
@ -197,8 +197,7 @@ All work is in C++ unless otherwise noted.
* ***Skills Required:*** C++, practice with Linux.
* ***Possible Mentors:*** TBD
* ***Difficulty:*** Medium
* ***Duration:*** 240
* ***Duration:*** 175
1. #### _IDEA:_ Animated images and other functionality for imgcodecs
* ***Description:*** It's not a single big project but rather a series of tasks under the "image codecs" umbrella. The goal is to make a series of improvements in the existing opencv_imgcodecs module, including, but not limited to, the following items (please, feel free to propose your ideas):
@ -209,7 +208,7 @@ All work is in C++ unless otherwise noted.
* ***Skills Required:*** C++, practice with Linux.
* ***Possible Mentors:*** Vincent Rabaud
* ***Difficulty:*** Medium
* ***Duration:*** 200
* ***Duration:*** 90 or 175, depending on the exact scope
1. #### _IDEA:_ Synchronized multi camera video recorder
* ***Description:*** Multi-camera calibration and multi-view scenarios require synchronous recording with multiple cameras. Need to tune cv::VideoCapture or/and VideoWriter and implement sample for video recording with several cameras with timestamps
@ -219,7 +218,7 @@ All work is in C++ unless otherwise noted.
* ***Skills Required:*** C++
* ***Possible Mentors:*** Alexander S.
* ***Difficulty:*** Easy-Medium
* ***Duration:*** 200
* ***Duration:*** 175
1. #### _IDEA:_ libcamera back end for VideoCapture
* ***Description:*** Discussion: [#21653](https://github.com/opencv/opencv/issues/21653)
@ -229,7 +228,7 @@ All work is in C++ unless otherwise noted.
* ***Skills Required:*** C++, Linux
* ***Possible Mentors:*** TBD
* ***Difficulty:*** Medium
* ***Duration:*** 200
* ***Duration:*** 175
----
### _Idea Template:_