当前位置:网站首页>Point cloud library PCL from introduction to mastery Chapter 10
Point cloud library PCL from introduction to mastery Chapter 10
2022-06-23 08:27:00 【Sheep picking up shells at the seaside】
Chapter ten
https://robotica.unileon.es/index.php?title=PCL/OpenNI_tutorial_4:3D_object_recognition(descriptors)
Above PCL/OpenNI tutorial Official website , The explanation of each characteristic point in this chapter is well written
Section 1 The concept of feature description and extraction and related algorithms
3D Shape content descriptor
Relatively simple , Just read ~
Rotated image
Official interpretation of rotating images
https://robotica.unileon.es/index.php?title=PCL/OpenNI_tutorial_4:3D_object_recognition(descriptors)#Spin_image
The Spin Image (SI) is the oldest descriptor we are going to see here. It has been around since 1997, but it still sees some use for certain applications. It was originally designed to describe surfaces made by vertices, edges and polygons, but it has been since adapted for point clouds. The descriptor is unlike all others in that the output resembles an image that can be compared with another with the usual means.
Spin image (SI) It is the oldest description we will see here . It since 1997 In , But there are still some uses in some applications . It was originally designed to be described by vertices 、 A surface composed of edges and polygons , But it was later adapted for point cloud . This descriptor is different from all other descriptors , Because the descriptor output formed by this algorithm is similar to an image , It can be compared with another image in the usual way .
The support structure used is a cylinder, centered at the point, with a given radius and height, and aligned with the normal. This cylinder is divided radially and vertically into volumes. For each one, the number of neighbors lying inside is added up, eventually producing a descriptor. Weighting and interpolation are used to improve the result. The final descriptor can be seen as a grayscale image where dark areas correspond to volumes with higher point density.
The supporting structure used is a cylinder , Point centered , Having a given radius and height , And align with the normal . The cylinder is divided into several volumes in the radial and vertical directions . For each of these , Add up the number of internal neighbors , Finally, a descriptor is generated . Use weighting and interpolation to improve the results . The final descriptor can be viewed as a grayscale image , The dark region corresponds to the volume with higher point density
HD large picture link :
https://robotica.unileon.es/index.php?title=File:Spin_images.png
Once this example is given, the contents of the book are easy to understand , Special attention required , The three images on the right Not a projection ! Not a projection ! Not a projection !, It is easy to understand this mistake as a projection on the tangent plane , It's actually two concepts !!! Projection β Actually, it's gone , But on this axis there is β Of !!! On the right spin-image The image of the label is actually a rotating image descriptor (Spin Image descriptor )
In the second quarter Entry level instance of point cloud feature description and extraction
pcl Describe the basis of 3D features in
This section of the book is really abstract
First of all, we need to be clear about , When we call the point cloud for corresponding calculation , There are three functions to choose from , Namely setInputCloud(),setIndice(), and setSearchSurface(), Each represents the input point cloud set , Index of point cloud and search plane of point cloud . because setInputCloud() It is necessary Of , We must enter a point cloud set each time , So the combination of inputs to be determined becomes four , As shown in the figure below 
First, we give two point cloud sets ,P and Q, The points in the two sets are represented by p1,p2…pn as well as q1,q2…qm Express
Discuss the above four situations in turn
- situation 1, Neither index nor search plane is given
This is the most common situation , Most of the time, only one point cloud set is given , Suppose a given set P, First pcl Will give P Create a set of indexes , This index contains P All the points in , Then the nearest neighbor search is performed on the points in the index in turn , Search for p1 Neighborhood , then p2 Neighborhood … Until right P All points in the complete neighborhood search - situation 2, Only given index , No search plane is given
It's also common , For example, let's assume that the given index is a set P Number in all points in ( Indexes ) Odd points ,p(2k+1), Then the points with an even index will not be searched by the nearest neighbor . - situation 3, Given search plane only , No index is given
We assume that the given search plane is Q,setInputCloud() The input is P
This situation is actually equivalent to , situation 2 Middle set P The indexes of all points of are given , But it is in Q Search on , No P 了 - situation 4, Given the search plane, also given the index
Suppose that the given search plane is Q, Input P, The given index is P Odd numbered points in
And the situation 2 It's similar , Nothing more than to put the situation 2 Chinese vs P Its nearest neighbor search has been replaced by Q, The search index is still P Odd numbered points in
The basic purpose of adopting these four methods is to save calculation , Of course, we can perform the nearest neighbor search calculation on all points of the point cloud , however , In many cases, the points we are interested in are only part of the point cloud , for instance , Or two point sets P and Q,P It's from Q Key points filtered out in , At this time, we can respond to the situation 3, hold P Set to setinputcloud,Q Set to search plane , In fact, this is equivalent to the calculation of nearest neighbor point search for the key points in a point cloud set , In the subsequent calculation of key points , It greatly saves the amount of calculation .
边栏推荐
- aquatone工具 中的2個bug修複
- Deep learning ----- different methods to realize vgg16
- Implementation of AVL tree
- 7-调色板-CALayer和触摸
- Deep learning ----- different methods to implement lenet-5 model
- List interface three sub implementation classes
- The kernel fails to shut down when the easygbs program stops. How should I optimize it? [code attached]
- How can easycvr access the Dahua CVS video recorder and download a video file with an empty name?
- Which one is better for rendering renderings? 2022 latest measured data (IV)
- 如何评价代码质量
猜你喜欢

Summary of communication mode and detailed explanation of I2C drive

如何在conda虚拟环境开启jupyter-notebook
![Vulnhub | dc: 3 | [actual combat]](/img/97/e5ba86f2694fe1705c13c60484cff6.png)
Vulnhub | dc: 3 | [actual combat]

PCB电路板特性检查项目都有哪些?

jmeter压测结果分析

Open source technology exchange batch stream integrated data synchronization engine Chunjun data restore DDL function module analysis

Deep learning ----- different methods to implement lenet-5 model

The first day of employment more than ten years ago

Install a WGet for your win10

船长阿布的灵魂拷问
随机推荐
PCB电路板特性检查项目都有哪些?
Easycvr accesses the website through the domain name. How to solve the problem that the video cannot be viewed back?
C Advanced Learning -- extended method (this)
Deep learning ----- convolution (conv2d) bottom layer
Captain Abu's soul torture
Integers and operators in go data types (3)
What are the PCB characteristics inspection items?
Arclayoutview: implementation of an arc layout
Openvino series 19 Openvino and paddleocr for real-time video OCR processing
Azure Active Directory brute force attack
Install a WGet for your win10
爬虫框架
渲染效果图哪家好?2022最新实测(四)
Why use growth neural gas network (GNG)?
驱动架构 & platform平台总线驱动模型
Observer mode
船长阿布的灵魂拷问
Why do we say that the data service API is the standard configuration of the data midrange?
81 sentences worth repeating
List接口三个子实现类