“開源軟件供應鏈點亮計劃-暑期2020”(以下簡稱 暑期2020)是由中科院軟件所與 openEuler 社區共同舉辦的一項面向高校學生的暑期活動,將聯合各大開源社區針對重要開源軟件的開發與維護提供 mini 項目,學生可自主選擇申請感興趣的項目,中選后獲得該軟件資深維護者(導師)親自指導完成項目。

OpenCV China社區參與了暑期2020,我們有如下OpenCV項目任務歡迎感興趣的同學申請:

資源:
開源軟件供應鏈點亮計劃-暑期2020官網
OpenCV官網
OpenCV wiki
如何pull request/如何貢獻代碼
– 源代碼地址GitHub/opencvGitHub/opencv_contrib

1. IDEA: Write a tutorial about using universal intrinsics and cv::parallel_for_ for efficient cross-platform algorithm implementation

  • Description
    Universal intrinsics is OpenCV way to write cross-platform and yet very efficient code on a variety of platforms. The technique is widely used inside OpenCV, but it’s not well-known to many OpenCV users, including contributors, who are supposed to provide high-quality fast code into OpenCV. This tutorial should fill this important missing part of the documentation.
  • Expected Outcomes:
    • A tutorial + source code that will explain how to use the universal intrinsics. It should also have an overview of what are intrinsics, what are vector (SIMD) instructions. Some tricks (e.g. how to process the “tails” of image rows that do not fit SIMD register), useful intrinsics should be covered as well.
  • Resources:
  • Skills Required: 
    good experience in C++, some experience with code optimization. Very good English.
  • Possible Mentors: Shiqi Yu
  • Difficulty: Medium

2. IDEA: Create nuget package for OpenCV and OpenCV contrib.

  • Description: 
    Nuget is the standard Microsoft package manager. If done properly, it can become the most convenient way to install OpenCV on Windows. We can also create opencv_contrib nuget package, and thus provide a convenient way for OpenCV users to install experimental OpenCV functionality on Windows.
  • Expected Outcomes:
    • scripts to automatically generate 2 nuget packages: for OpenCV and OpenCV-contrib. Probably, even finer-grain nuget packages can be created, e.g. one for the main OpenCV and then one per each opencv_contrib module. But 2 will be good enough to start with.
    • publish OpenCV nuget packages at NuGet Gallery
  • Resources:
  • Skills Required: 
    good expertise in C++ and Windows development. good English.
  • Possible Mentors: Satya Mallick
  • Difficulty: Medium

3. IDEA: Support Audio IO module

  • Description: 
    At the moment, OpenCV can works with inference deep neural network with help DNN module. But DNN module has limitation, it work with only images. In addition, exist much network which work with audio. That why proposed support audio input/output in OpenCV for extension functionality of library and more specifically extension functionality of DNN module.
  • Expected Outcomes: 
    Participant is expected to support audio input/output module for Windows or MacOS family operating system. Will require a study Windows Core Audio APIs (WASAPI) and MacOS Core Audio.
  • Resources
  • Skills Required: 
    experienced in C++, experience in computer vision and OpenCV library. good English.
  • Possible Mentors: Intel OpenCV team member
  • Difficulty: Medium

4. IDEA: Implementation of QR-codes decoder and encoder

  • Description: 
    OpenCV has well-working QR codes detection and decoding algorithm. Currently it uses third party library for decoding and doesn’t have functionality for creation of QR-codes. The first task will be implementation decoder with help of OpenCV functionality. This will help to solve second task – QR-code encoder (tasks are interconnected). Student will need to research QR-codes decoding algorithms, error correction rules, data character encoding methods and to program decoder and encoder.
  • Expected Outcomes:
    • Integration of decoding functionality of QR codes that will pass existing tests.
    • Create encoding functionality and API with regression and performance tests
    • New functionality has no 3rdparty dependencies and no code replacements from other libraries
  • Skills Required: 
    experienced in C++, OOP, experience of using OpenCV library. good English.
  • Possible Mentors:  Intel OpenCV team member
  • Difficulty: Medium

5. IDEA: Data Augmentation

  • Description: 
    Deep learning networks are hungry for data and data augmentation is one of the easiest ways to increase data variation. Augmentation could be as simple image flipping, cropping and scaling on up to more complicated transformations such style transfer using another deep learning network. For computer vision problems, OpenCV is often used for reading images in most of training scenarios, so why we’d like to enhance data reading with simple to use data augmentation techniques as well.
  • Expected Outcomes:
    1. Analyze which image transformations are widely used for image classification, object detection, semantic and instance segmentation problems.
      • Things that help with data augmentation for training networks
        • Lighting functions
        • spherical or cylindrical views around a planar object
        • noise …
        • for 3D point clouds
    2. Create a new OpenCV’s module (or use an existing one such datasets or dnn?) with at least the following functionality:
      • Provide an API to apply single transformations to an Image or batch of Images, Rectangles (i.e. for ground truth for object detection), Masks.
      • Let users combine different transformations in the class object which can apply them with some probability.
      • Custom data transformations which can be included in the augmentation classes.
    3. Write tutorials targeting on Python wrappers due it’s the most popular language supported by different DL frameworks right now.
      • These should in particular show use with PyTorch and TensorFlow.
  • Skills Required: 
    Experience in image processing and deep learning networks training for computer vision problems. good English.
  • Possible Mentors:  Intel OpenCV team member
  • Difficulty: Hard

6. IDEA: Incremental and Batch Simplification of Point Clouds

  • Description: 
    With a rapid growth of computer vision application areas such as robotics, self-driving cars, drones, as well as augmented reality, and with increasing availability of various depth sensors, there is also more demand in software that would be able to process point clouds coming from these sensors efficiently in realtime on low-power processors. And so the efficient cloud processing becomes one of OpenCV strategic directions. Reducing the number of points in a point cloud prior to triangulation can be used to simultaneously improve the quality of point clouds and reduce the memory footprint. This project aims at an efficient implementation of the “Incremental and Batch Planar Simplification of Dense Point Cloud Maps paper” (see link in Resources).
  • Expected Outcomes:
    • Implement batch simplification: Given a point cloud (possibly very large), reduce the number of points used to represent planes and output a triangulated mesh of the simplified cloud.   def simplify(point_cloud) -> simple_mesh
    • Implement incremental simplification: Given a small point cloud (e.g a frame with known pose from a RGB-D camera) and a simplified mesh (e.g from the step above), output a simplified mesh combining both.     def simplify(point_cloud, simple_mesh) -> simple_mesh
    • Optional: implement texture mapping as described in the paper.
    • Optional: extend simplification beyond planes to consider cylinders and sphere fitting (depends on work-in-progress on point cloud fitting)
  • Resources:
  • Skills Required: 
    Extensive experience coding in C++. Prior work with point clouds and libraries such as pcl library is a plus. Good English.
  • Possible Mentors: Mihai Bujanca
  • Difficulty: Medium

感興趣的同學可發郵件至[email protected]與我們溝通項目細節和方案,標題請注明“暑期2020+姓名+申請項目”。具體報名流程請參考學生如何報名。

  • 由于項目多為非使用中文語言的導師,請使用英文書寫郵件和提案 。
  • 為了更好地讓指導老師查看提案,請向我們發送提案文檔的同時附上文檔的網頁查看鏈接。
  • 正式報名請務必通過暑期2020活動官網進行,參考學生如何報名。

注:截至目前,申請同學的意向集中在項目QR code和Data Augmentation,尤其集中在QR code。 暑期2020組委會規定每個項目僅一名實習生。

梦幻西游85剧情赚钱嘛 股票投资书籍 北京三分赛车彩票 云南快乐十分基本走势图 湖南快乐十分遗漏组三统计 十分快三 在线理财平台 江西多乐彩购买 贵州快三遗漏一定牛 福彩22选5选号秘籍 上海期货配资