– 源代码地址和

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 
  • 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
    •  – Windows audio I/O API.
    •  – MacOS audio I/O API.
  • 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:
    •   (please read and understand this before applying!)
  • Skills Required: 
    Extensive experience coding in C++. Prior work with point clouds and libraries such as  is a plus. Good English.
  • Possible Mentors: Mihai Bujanca
  • Difficulty: Medium

感兴趣的同学可发邮件至admin@ehzapmb.com与我们沟通项目细节和方案,标题请注明“暑期2020+姓名+申请项目”。具体报名流程请参考

  • 由于项目多为非使用中文语言的导师,请使用英文书写邮件和提案 。
  • 为了更好地让指导老师查看提案,请向我们发送提案文档的同时附上文档的网页查看链接。
  • 正式报名请务必通过暑期2020活动官网进行,参考

注:截至目前,申请同学的意向集中在项目QR code和Data Augmentation,尤其集中在QR code。 暑期2020组委会规定每个项目仅一名实习生。

128彩票 快3在线投注 福建快3 234彩票 234彩票