当前位置:网站首页>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 .
边栏推荐
- 受限线性表
- Basic learning of SQL Server -- creating databases and tables with code
- Ping error: unknown name or service
- gorm 关联关系小结
- 35岁那年,我做了一个面临失业的决定
- 如何衡量产品是否“刚需、高频、痛点”
- Chisel tutorial - 05 Sequential logic in chisel (including explicit multi clock, explicit synchronous reset and explicit asynchronous reset)
- archery安装测试
- 一键免费翻译300多页的pdf文档
- Idea automatically generates serialVersionUID
猜你喜欢
随机推荐
解析token的网址
May day d-light
postgis学习
Ora-02437 failed to verify the primary key violation
Enterprise application demand-oriented development of human resources department, employee attendance records and paid wages business process cases
Anti climbing means cracking the second
通达信买基金安全吗?
Enumeration, simulation, and sorting
C language greedy snake
ping报错:未知的名称或服务
At the age of 35, I made a decision to face unemployment
Apng2gif solutions to various problems
FFA and ICGA angiography
【路径规划】使用垂距限值法与贝塞尔优化A星路径
Ora-01741 and ora-01704
Where are you going
一个测试工程师的7年感悟 ---- 致在一路独行的你(别放弃)
SQL connection problem after downloading (2)
Class C design questions
Magic fast power