当前位置:网站首页>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 .
边栏推荐
- Gorm Association summary
- One click installation with fishros in blue bridge ROS
- C语言学习
- MP4文件格式解析之结合实例分析
- 数据库面试题+解析
- Chisel tutorial - 01 Introduction to Scala
- 正畸注意事项(持续更新中)
- Uic564-2 Appendix 4 - flame retardant fire test: flame diffusion
- 数据湖(十五):Spark与Iceberg整合写操作
- Take you hand in hand to build Eureka server with idea
猜你喜欢
[experiment sharing] log in to Cisco devices through the console port
Aitm3.0005 smoke toxicity test
神奇快速幂
Ora-02437 failed to verify the primary key violation
数据湖(十五):Spark与Iceberg整合写操作
用語雀寫文章了,功能真心强大!
Basic learning of SQL Server -- creating databases and tables with code
Benchmarking Detection Transfer Learning with Vision Transformers(2021-11)
How did a fake offer steal $540million from "axie infinity"?
光流传感器初步测试:GL9306
随机推荐
Class C design questions
Extract the file name under the folder under win
webflux - webclient Connect reset by peer Error
自动化测试:Robot FrameWork框架90%的人都想知道的实用技巧
BSS 7230 flame retardant performance test of aviation interior materials
企业应用需求导向开发之人力部门,员工考勤记录和实发工资业务程序案例
【LeetCode】20、有效的括号
激光slam学习(2D/3D、偏实践)
[leetcode] 20. Valid brackets
用語雀寫文章了,功能真心强大!
C language learning
webflux - webclient Connect reset by peer Error
HDU - 1260 tickets (linear DP)
HB 5469 combustion test method for non-metallic materials in civil aircraft cabin
[summary] some panels and videos seen
At the age of 35, I made a decision to face unemployment
P1308 [noip2011 popularity group] count the number of words
Data analysis series 3 σ Rule / eliminate outliers according to laida criterion
一份假Offer如何盗走了「Axie infinity」5.4亿美元?
Basic learning of SQL Server -- creating databases and tables with code