{"id":411,"date":"2020-05-12T07:10:07","date_gmt":"2020-05-12T07:10:07","guid":{"rendered":"http:\/\/www.opencv.org.cn\/?page_id=411"},"modified":"2020-11-24T07:59:37","modified_gmt":"2020-11-24T07:59:37","slug":"%e5%bc%80%e6%ba%90%e8%bd%af%e4%bb%b6%e4%be%9b%e5%ba%94%e9%93%be%e7%82%b9%e4%ba%ae%e8%ae%a1%e5%88%92-%e6%9a%91%e6%9c%9f2020","status":"publish","type":"page","link":"https:\/\/www.opencv.org.cn\/?page_id=411","title":{"rendered":"\u5f00\u6e90\u8f6f\u4ef6\u4f9b\u5e94\u94fe\u70b9\u4eae\u8ba1\u5212-\u6691\u671f2020"},"content":{"rendered":"\n<p>     \u201c\u5f00\u6e90\u8f6f\u4ef6\u4f9b\u5e94\u94fe\u70b9\u4eae\u8ba1\u5212-\u6691\u671f2020\u201d\uff08\u4ee5\u4e0b\u7b80\u79f0 \u6691\u671f2020\uff09\u662f\u7531\u4e2d\u79d1\u9662\u8f6f\u4ef6\u6240\u4e0e openEuler \u793e\u533a\u5171\u540c\u4e3e\u529e\u7684\u4e00\u9879\u9762\u5411\u9ad8\u6821\u5b66\u751f\u7684\u6691\u671f\u6d3b\u52a8\uff0c\u5c06\u8054\u5408\u5404\u5927\u5f00\u6e90\u793e\u533a\u9488\u5bf9\u91cd\u8981\u5f00\u6e90\u8f6f\u4ef6\u7684\u5f00\u53d1\u4e0e\u7ef4\u62a4\u63d0\u4f9b mini \u9879\u76ee\uff0c\u5b66\u751f\u53ef\u81ea\u4e3b\u9009\u62e9\u7533\u8bf7\u611f\u5174\u8da3\u7684\u9879\u76ee\uff0c\u4e2d\u9009\u540e\u83b7\u5f97\u8be5\u8f6f\u4ef6\u8d44\u6df1\u7ef4\u62a4\u8005\uff08\u5bfc\u5e08\uff09\u4eb2\u81ea\u6307\u5bfc\u5b8c\u6210\u9879\u76ee\u3002<\/p>\n\n\n\n<p>    OpenCV China\u793e\u533a\u53c2\u4e0e\u4e86\u6691\u671f2020\uff0c\u6211\u4eec\u6709\u5982\u4e0bOpenCV\u9879\u76ee\u4efb\u52a1\u6b22\u8fce\u611f\u5174\u8da3\u7684\u540c\u5b66\u7533\u8bf7\uff1a<\/p>\n\n\n\n<p class=\"has-text-color has-background has-vivid-cyan-blue-color has-very-light-gray-background-color\"><strong>\u8d44\u6e90\uff1a<\/strong><br>&#8211; <a href=\"https:\/\/isrc.iscas.ac.cn\/summer2020\/#\/index\">\u5f00\u6e90\u8f6f\u4ef6\u4f9b\u5e94\u94fe\u70b9\u4eae\u8ba1\u5212-\u6691\u671f2020\u5b98\u7f51<\/a> <br>&#8211; <a href=\"http:\/\/opencv.org\">OpenCV\u5b98\u7f51<\/a><br>&#8211; <a href=\"https:\/\/github.com\/opencv\/opencv\/wiki\">OpenCV wiki<\/a><br>&#8211; <a href=\"https:\/\/github.com\/opencv\/opencv\/wiki\/How_to_contribute\">\u5982\u4f55pull request\/\u5982\u4f55\u8d21\u732e\u4ee3\u7801<\/a><br>&#8211; \u6e90\u4ee3\u7801\u5730\u5740<a href=\"https:\/\/github.com\/opencv\/opencv\">GitHub\/opencv<\/a>\u548c<a href=\"https:\/\/github.com\/opencv\/opencv_contrib\">GitHub\/opencv_contrib<\/a> <\/p>\n\n\n\n<h4><strong>1. IDEA:&nbsp;Write a tutorial about using universal intrinsics and&nbsp;<\/strong><code><strong>cv::parallel_for_<\/strong><\/code><strong>&nbsp;for efficient cross-platform algorithm implementation<\/strong><\/h4>\n\n\n\n<ul><li>Description<br>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&#8217;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.<\/li><li>Expected Outcomes:<ul><li>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 &#8220;tails&#8221; of image rows that do not fit SIMD register), useful intrinsics should be covered as well.<\/li><\/ul><\/li><li>Resources:<ul><li><a href=\"https:\/\/docs.opencv.org\/master\/df\/d91\/group__core__hal__intrin.html\">OpenCV Wide Universal Intrinsics Guide<\/a><\/li><\/ul><\/li><li>Skills Required:&nbsp;<br>good experience in C++, some experience with code optimization. Very good English.<\/li><li>Possible Mentors:&nbsp;Shiqi Yu<\/li><li>Difficulty:&nbsp;Medium<\/li><\/ul>\n\n\n\n<h4><strong>2. IDEA:&nbsp;Create nuget package for OpenCV and OpenCV contrib.<\/strong><\/h4>\n\n\n\n<ul><li>Description:&nbsp;<br>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.<\/li><li>Expected Outcomes:<ul><li>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.<\/li><li>publish OpenCV nuget packages at&nbsp;<a href=\"https:\/\/github.com\/opencv\/opencv\/wiki\/nuget.org\">NuGet Gallery<\/a><\/li><\/ul><\/li><li>Resources:<ul><li><a href=\"https:\/\/www.nuget.org\/packages\/OpenCV.Net\">OpenCV 3.x nuget package<\/a><\/li><li><a href=\"https:\/\/docs.microsoft.com\/en-us\/nuget\/what-is-nuget\">An Introduction to NuGet from Microsoft<\/a><\/li><\/ul><\/li><li>Skills Required:&nbsp;<br>good expertise in C++ and Windows development. good English.<\/li><li>Possible Mentors:&nbsp;Satya Mallick<\/li><li>Difficulty:&nbsp;Medium<\/li><\/ul>\n\n\n\n<h4><strong>3. IDEA:&nbsp;Support Audio IO module<\/strong><\/h4>\n\n\n\n<ul><li>Description:&nbsp;<br>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.<\/li><li>Expected Outcomes:&nbsp;<br>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.<\/li><li>Resources<ul><li><a href=\"https:\/\/docs.microsoft.com\/en-us\/windows\/win32\/coreaudio\/about-the-windows-core-audio-apis\">WASAPI<\/a>&nbsp;&#8211; Windows audio I\/O API.<\/li><li><a href=\"https:\/\/developer.apple.com\/library\/archive\/documentation\/MusicAudio\/Conceptual\/CoreAudioOverview\/WhatisCoreAudio\/WhatisCoreAudio.html\">Core Audio<\/a>&nbsp;&#8211; MacOS audio I\/O API.<\/li><\/ul><\/li><li>Skills Required:&nbsp;<br>experienced in C++, experience in computer vision and OpenCV library. good English.<\/li><li>Possible Mentors:&nbsp;Intel OpenCV team member<\/li><li>Difficulty:&nbsp;Medium<\/li><\/ul>\n\n\n\n<h4><strong>4. IDEA:&nbsp;Implementation of QR-codes decoder and encoder<\/strong><\/h4>\n\n\n\n<ul><li>Description:&nbsp;<br>OpenCV has well-working QR codes detection and decoding algorithm. Currently it uses third party library for decoding and doesn\u2019t 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 \u2013 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.<\/li><li>Expected Outcomes:<ul><li>Integration of decoding functionality of QR codes that will pass existing tests.<\/li><li>Create encoding functionality and API with regression and performance tests<\/li><li>New functionality has no 3rdparty dependencies and no code replacements from other libraries<\/li><\/ul><\/li><li>Skills Required:&nbsp;<br>experienced in C++, OOP, experience of using OpenCV library.  good English. <\/li><li>Possible Mentors:&nbsp;  Intel OpenCV team member <\/li><li>Difficulty:&nbsp;Medium<\/li><\/ul>\n\n\n\n<h4><strong>5. IDEA:&nbsp;Data Augmentation<\/strong><\/h4>\n\n\n\n<ul><li>Description:&nbsp;<br>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&#8217;d like to enhance data reading with simple to use data augmentation techniques as well.<\/li><li>Expected Outcomes:<ol><li>Analyze which image transformations are widely used for image classification, object detection, semantic and instance segmentation problems.<ul><li>Things that help with data augmentation for training networks<ul><li>Lighting functions<\/li><li>spherical or cylindrical views around a planar object<\/li><li>noise &#8230;<\/li><li>for 3D point clouds<\/li><\/ul><\/li><\/ul><\/li><li>Create a new OpenCV&#8217;s module (or use an existing one such&nbsp;<code>datasets<\/code>&nbsp;or&nbsp;<code>dnn<\/code>?) with at least the following functionality:<ul><li>Provide an API to apply single transformations to an Image or batch of Images, Rectangles (i.e. for ground truth for object detection), Masks.<\/li><li>Let users combine different transformations in the class object which can apply them with some probability.<\/li><li>Custom data transformations which can be included in the augmentation classes.<\/li><\/ul><\/li><li>Write tutorials targeting on Python wrappers due it&#8217;s the most popular language supported by different DL frameworks right now.<ul><li>These should in particular show use with PyTorch and TensorFlow.<\/li><\/ul><\/li><\/ol><\/li><li>Skills Required:&nbsp;<br>Experience in image processing and deep learning networks training for computer vision problems.  good English. <\/li><li>Possible Mentors:&nbsp; Intel OpenCV team member <\/li><li>Difficulty:&nbsp;Hard<\/li><\/ul>\n\n\n\n<h4><strong>6. IDEA:&nbsp;Incremental and Batch Simplification of Point Clouds<\/strong><\/h4>\n\n\n\n<ul><li>Description:&nbsp;<br>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.&nbsp;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 &#8220;Incremental and Batch Planar Simplification of Dense Point Cloud Maps paper&#8221; (see link in Resources).<\/li><li>Expected Outcomes:<ul><li>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.&nbsp; &nbsp;<em>def simplify(point_cloud) -&gt; simple_mesh<\/em><\/li><li>Implement incremental simplification: Given a&nbsp;small point cloud (e.g a frame with known pose from a&nbsp;RGB-D camera) and a&nbsp;simplified mesh (e.g from the step above), output a&nbsp;simplified mesh combining both.&nbsp; &nbsp; &nbsp;<em>def simplify(point_cloud, simple_mesh) -&gt; simple_mesh<\/em><\/li><li>Optional: implement texture mapping as described in the paper.<\/li><li>Optional: extend simplification beyond planes to consider cylinders and sphere fitting (depends on work-in-progress on point cloud fitting)<\/li><\/ul><\/li><li>Resources:<ul><li><a rel=\"noreferrer noopener\" href=\"http:\/\/www.cs.nuim.ie\/research\/vision\/data\/ras2014\/Whelan14ras.pdf\" target=\"_blank\">Incremental and Batch Planar Simplification of Dense Point Cloud Maps paper<\/a>&nbsp; (please read and understand this before applying!)<\/li><li><a rel=\"noreferrer noopener\" href=\"https:\/\/www.youtube.com\/watch?v=uF-I-xF3Rk0\" target=\"_blank\">Video<\/a><\/li><\/ul><\/li><li>Skills Required:&nbsp;<br>Extensive experience coding in C++. Prior work with point clouds and libraries such as&nbsp;<a rel=\"noreferrer noopener\" href=\"https:\/\/pointclouds.org\/\" target=\"_blank\">pcl library<\/a>&nbsp;is a plus. Good English.<\/li><li>Possible Mentors:&nbsp;Mihai Bujanca<\/li><li>Difficulty:&nbsp;Medium<\/li><\/ul>\n\n\n\n<p>\u611f\u5174\u8da3\u7684\u540c\u5b66\u53ef\u53d1\u90ae\u4ef6\u81f3<strong>admin@opencv.org.cn<\/strong>\u4e0e\u6211\u4eec\u6c9f\u901a\u9879\u76ee\u7ec6\u8282\u548c\u65b9\u6848\uff0c\u6807\u9898\u8bf7\u6ce8\u660e\u201c<strong>\u6691\u671f2020+\u59d3\u540d+\u7533\u8bf7\u9879\u76ee<\/strong>\u201d\u3002\u5177\u4f53\u62a5\u540d\u6d41\u7a0b\u8bf7\u53c2\u8003<strong><a href=\"https:\/\/isrc.iscas.ac.cn\/summer2020\/help\/student.html#%E5%AD%A6%E7%94%9F%E5%A6%82%E4%BD%95%E6%8A%A5%E5%90%8D\">\u5b66\u751f\u5982\u4f55\u62a5\u540d<\/a><\/strong>\u3002<\/p>\n\n\n\n<ul><li> \u7531\u4e8e\u9879\u76ee\u591a\u4e3a\u975e\u4f7f\u7528\u4e2d\u6587\u8bed\u8a00\u7684\u5bfc\u5e08\uff0c\u8bf7\u4f7f\u7528<strong>\u82f1\u6587<\/strong>\u4e66\u5199\u90ae\u4ef6\u548c\u63d0\u6848 \u3002 <\/li><li>\u4e3a\u4e86\u66f4\u597d\u5730\u8ba9\u6307\u5bfc\u8001\u5e08\u67e5\u770b\u63d0\u6848\uff0c\u8bf7\u5411\u6211\u4eec\u53d1\u9001\u63d0\u6848\u6587\u6863\u7684\u540c\u65f6\u9644\u4e0a\u6587\u6863\u7684\u7f51\u9875\u67e5\u770b\u94fe\u63a5\u3002<\/li><li>\u6b63\u5f0f\u62a5\u540d\u8bf7\u52a1\u5fc5\u901a\u8fc7\u6691\u671f2020\u6d3b\u52a8\u5b98\u7f51\u8fdb\u884c\uff0c\u53c2\u8003<strong><a href=\"https:\/\/isrc.iscas.ac.cn\/summer2020\/help\/student.html#%E5%AD%A6%E7%94%9F%E5%A6%82%E4%BD%95%E6%8A%A5%E5%90%8D\">\u5b66\u751f\u5982\u4f55\u62a5\u540d<\/a><\/strong>\u3002 <\/li><\/ul>\n\n\n\n<p style=\"color:#ca450d\" class=\"has-text-color\">\u6ce8\uff1a\u622a\u81f3\u76ee\u524d\uff0c\u7533\u8bf7\u540c\u5b66\u7684\u610f\u5411\u96c6\u4e2d\u5728\u9879\u76eeQR code\u548cData Augmentation\uff0c\u5c24\u5176\u96c6\u4e2d\u5728QR code\u3002 \u6691\u671f2020\u7ec4\u59d4\u4f1a\u89c4\u5b9a\u6bcf\u4e2a\u9879\u76ee\u4ec5\u4e00\u540d\u5b9e\u4e60\u751f\u3002<\/p>\n\n\n\n<p style=\"font-size:24px\" class=\"has-text-color has-background has-vivid-cyan-blue-color has-very-light-gray-background-color\"><strong>\u7533\u8bf7\u7ed3\u679c<\/strong><\/p>\n\n\n\n<ul><li>Incremental and Batch Simplification of Point Clouds<strong> \u5510\u603f\u73c9\uff08\u4e0a\u6d77\u79d1\u6280\u5927\u5b66\uff09<\/strong><\/li><li>Implementation of QR-codes decoder and encoder<strong> \u90d1\u6c42\u5b9e\uff08\u540c\u6d4e\u5927\u5b66\uff09<strong><\/li><\/ul>\n\n\n\n<p style=\"font-size:24px\" class=\"has-text-color has-background has-vivid-cyan-blue-color has-very-light-gray-background-color\"><strong>\u7ed3\u9879\u901a\u8fc7\u7ed3\u679c<\/strong><\/p>\n\n\n\n<ul><li>Implementation of QR-codes decoder and encoder<strong> \u90d1\u6c42\u5b9e\uff08\u540c\u6d4e\u5927\u5b66\uff09<\/strong><\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>\u201c\u5f00\u6e90\u8f6f\u4ef6\u4f9b\u5e94\u94fe\u70b9\u4eae\u8ba1\u5212-\u6691\u671f2020\u201d\uff08\u4ee5\u4e0b\u7b80\u79f0 \u6691\u671f2020\uff09\u662f\u7531\u4e2d\u79d1\u9662\u8f6f\u4ef6\u6240\u4e0e openEuler \u793e\u533a\u5171\u540c\u4e3e\u529e\u7684\u4e00\u9879\u9762\u5411\u9ad8\u6821\u5b66\u751f\u7684\u6691\u671f\u6d3b\u52a8\uff0c\u5c06\u8054\u5408\u5404\u5927\u5f00\u6e90\u793e\u533a\u9488\u5bf9\u91cd\u8981\u5f00\u6e90\u8f6f\u4ef6\u7684\u5f00\u53d1\u4e0e\u7ef4\u62a4\u63d0\u4f9b mini \u9879\u76ee\uff0c\u5b66\u751f\u53ef\u81ea\u4e3b\u9009\u62e9\u7533\u8bf7\u611f\u5174\u8da3\u7684\u9879\u76ee\uff0c\u4e2d\u9009\u540e\u83b7\u5f97\u8be5\u8f6f\u4ef6\u8d44\u6df1\u7ef4\u62a4\u8005\uff08\u5bfc\u5e08\uff09\u4eb2\u81ea\u6307\u5bfc\u5b8c\u6210\u9879\u76ee\u3002 OpenCV China\u793e\u533a\u53c2\u4e0e\u4e86\u6691\u671f2020\uff0c\u6211\u4eec\u6709\u5982\u4e0bOpenCV\u9879\u76ee\u4efb\u52a1\u6b22\u8fce\u611f\u5174\u8da3\u7684\u540c\u5b66\u7533\u8bf7\uff1a \u8d44\u6e90\uff1a&#8211; \u5f00\u6e90\u8f6f\u4ef6\u4f9b\u5e94\u94fe\u70b9\u4eae\u8ba1\u5212-\u6691\u671f2020\u5b98\u7f51 &#8211; OpenCV\u5b98\u7f51&#8211; OpenCV wiki&#8211; \u5982\u4f55pull request\/\u5982\u4f55\u8d21\u732e\u4ee3\u7801&#8211; \u6e90\u4ee3\u7801\u5730\u5740GitHub\/opencv\u548cGitHub\/opencv_contrib 1. IDEA:&nbsp;Write a tutorial about using universal intrinsics and&nbsp;cv::parallel_for_&nbsp;for efficient cross-platform algorithm implementation DescriptionUniversal 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,&#8230;<\/p>\n<p class=\"more-link\"><a href=\"https:\/\/www.opencv.org.cn\/?page_id=411\" class=\"themebutton3\">Read More<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":1,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"_links":{"self":[{"href":"https:\/\/www.opencv.org.cn\/index.php?rest_route=\/wp\/v2\/pages\/411"}],"collection":[{"href":"https:\/\/www.opencv.org.cn\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.opencv.org.cn\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.opencv.org.cn\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.opencv.org.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=411"}],"version-history":[{"count":44,"href":"https:\/\/www.opencv.org.cn\/index.php?rest_route=\/wp\/v2\/pages\/411\/revisions"}],"predecessor-version":[{"id":752,"href":"https:\/\/www.opencv.org.cn\/index.php?rest_route=\/wp\/v2\/pages\/411\/revisions\/752"}],"wp:attachment":[{"href":"https:\/\/www.opencv.org.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=411"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}