当前位置:网站首页>Robomaster visual tutorial (11) summary

Robomaster visual tutorial (11) summary

2022-07-07 23:52:00 Raring_ Ringtail

RoboMaster Visual tutorial (11) summary

This series of tutorials is finally the last one , At first, there are two more articles 「 Program startup and process daemon 」 and 「OpenCV GPU The use of modules and clever calculations GPU Of Zero Copy 」.

however 「 Program self start 」 There's nothing to write about , Linux Program self startup is nothing more than /etc/rc.local Add the execution path of our visual program in or bashrc Put the path in to achieve the effect of automatic login .

and 「 Process daemons 」 I wanted to do it before, but it has been shelved , I've only tried to restart the crash with a watchdog on raspberry pie , If you haven't practiced, you won't write .

Another one 「OpenCV GPU The use of modules and clever calculations GPU Of Zero Copy 」 I wanted to sum up this year's preparations and try to use clever tricks GPU Some attempts to optimize the program , But because the last thing we do is negative optimization , It was used GPU The speed is much slower , Plus I'm not familiar with it, so I don't write it .

Zero Copy yes Tegra Series of chips (TK1, TX1, TX2 etc. ) Supported features , Namely GPU And CPU Can share the same memory , Can achieve CPU After processing, directly give this memory to the graphics card for processing , There is no need to copy to video memory , But in the actual test, you can only write it yourself CUDA Kernel function to achieve . although OpenCV There is support for this feature, but almost all are related to GPU The related processing functions are copied to the video memory first and then processed , I've been tossing about this part for a long time ……

Nvidia Yes TK1 The support is limited , A lot of new API None , however Nvidia Yes TX2 The support of more advanced chips is relatively perfect ,L4T Multimedia API ( I won't support it TK1 ) This API Provides some video decoding 、 Camera control related functions , If you are interested, you can study it well , It is of great help to make full use of hardware resources .

During this period, I also tossed OpenCL Want to use Intel CPU The nuclear acceleration on , Finally, because OpenCV Awful eggs UMat Various bug Gave up trying ( How can I toss about so much ……)

Zero Copy Related information :

「Zero Copy on Tegra K1」

「Zero-Copy: CUDA, OpenCV and NVidia Jetson TK1: Part 1 」

「Zero-Copy: CUDA, OpenCV and NVidia Jetson TK1: Part 2 」

「CUDA Programming ——zero copy」

The purpose of writing these tutorials is to summarize what we have done and keep a record , In addition, I hope to give new people a chance to enter the pit RM Some introductory suggestions from the students in the Vision Group . In fact, the visual requirements of this competition in Dajiang are not particularly high , Especially after the official and major teams have given the open source code , After reading the open source code carefully, you can basically find out the routine of visual recognition .

But vision is a particularly comprehensive project , It's hard to get started without some tutorials . Most books on vision are about principles or explanations OpenCV How to use library functions , There are few books on Application , I often read many books and know how to use many functions , But really use OpenCV If you do something, you will have no clue .

for instance , Identify the armor plate . If you don't know that the camera can adjust the exposure parameters and directly use the normal exposure , That's too difficult , I don't know how to start , I also saw the official open source code and suddenly realized , So it can be like this .

Vision books rarely mention what parameters the camera has 、 What is the effect of adjusting different parameters . Even OpenCV If you use the default settings when compiling, you may not even be able to adjust the resolution of the camera .

These tutorials basically introduce RM Visual considerations , It provides some specific ideas for implementation , In addition to my own code, I also refer to the open source code of several teams and note the source , I thank them for their selfless dedication .

Because my energy and level are limited , There will inevitably be mistakes in the tutorial , Welcome to correct .

I applied for my own official account Notes on Jiangda , It is convenient for me to help others by summarizing my own learning and research experience . Interested friends can pay attention to .

原网站

版权声明
本文为[Raring_ Ringtail]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/02/202202130554126289.html