当前位置:网站首页>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 .
边栏推荐
- 一鍵免費翻譯300多頁的pdf文檔
- 光流传感器初步测试:GL9306
- Uic564-2 Appendix 4 - flame retardant fire test: flame diffusion
- Dependency injection
- Chisel tutorial - 01 Introduction to Scala
- C - Fibonacci sequence again
- codeforces每日5题(均1500)-第八天
- The file format and extension of XLS do not match
- webflux - webclient Connect reset by peer Error
- Basic learning of SQL Server -- creating databases and tables with the mouse
猜你喜欢
随机推荐
企业应用需求导向开发之人力部门,员工考勤记录和实发工资业务程序案例
Orthodontic precautions (continuously updated)
正畸注意事项(持续更新中)
Access database query all tables SQL
Is it safe for tongdaxin to buy funds?
[leetcode] 20. Valid brackets
aws-aws help报错
一份假Offer如何盗走了「Axie infinity」5.4亿美元?
受限线性表
Resolve the URL of token
SQL connection problem after downloading (2)
Display the server hard disk image to the browser through Servlet
95.(cesium篇)cesium动态单体化-3D建筑物(楼栋)
About the difference between ch32 library function and STM32 library function
【leetcode】day1
Solutions to problems in sqlserver deleting data in tables
ASP. Net core middleware request processing pipeline
The file format and extension of XLS do not match
一鍵免費翻譯300多頁的pdf文檔
机器人(自动化)等专业课程创新的结果