当前位置:网站首页>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: 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 .
边栏推荐
- Data analysis series 3 σ Rule / eliminate outliers according to laida criterion
- BSS 7230 flame retardant performance test of aviation interior materials
- Navicat connects Oracle
- 机器人(自动化)等专业课程创新的结果
- UIC564-2 附录4 –阻燃防火测试:火焰的扩散
- Chisel tutorial - 05 Sequential logic in chisel (including explicit multi clock, explicit synchronous reset and explicit asynchronous reset)
- Binary sort tree [BST] - create, find, delete, output
- ASP. Net open web page
- 数据分析系列 之3σ规则/依据拉依达准则来剔除异常值
- Postgres timestamp to human eye time string or millisecond value
猜你喜欢
Flash download setup
【LeetCode】20、有效的括号
Idea automatically generates serialVersionUID
Restricted linear table
一份假Offer如何盗走了「Axie infinity」5.4亿美元?
Apng2gif solutions to various problems
One click installation with fishros in blue bridge ROS
FFA and ICGA angiography
Traduction gratuite en un clic de plus de 300 pages de documents PDF
神奇快速幂
随机推荐
redis缓存工具类,值得拥有~
HDU - 1260 tickets (linear DP)
[summary] some panels and videos seen
数据分析系列 之3σ规则/依据拉依达准则来剔除异常值
AWS AWS help error
Dataguard 主备清理归档设置
保证接口数据安全的10种方案
Take you hand in hand to build feign with idea
Pypharm uses, and the third-party library has errors due to version problems
正畸注意事项(持续更新中)
[leetcode] 20. Valid brackets
go time包常用函数
Navicat connects Oracle
507 field D - extraterrestrial relics
Ora-01741 and ora-01704
Restricted linear table
Where are you going
Take you hand in hand to build Eureka client with idea
C language greedy snake
Traduction gratuite en un clic de plus de 300 pages de documents PDF