Feature-free tank body point cloud processing and splicing method
By using an automatic tank scanning and detection device and transformation matrix technology, the problem of smooth and featureless inner walls of ceramic tanks was solved, and a uniform and noise-free point cloud suitable for volume calculation was generated.
Patent Information
- Application Number
- CN202511691701.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-11-18
- Publication Date
- 2026-03-17
AI Technical Summary
The inner wall of ceramic jars is smooth and featureless, and existing technologies cannot effectively stitch together point clouds, resulting in the inability to manage them uniformly and measure their volume accurately.
An automatic tank scanning and detection device is used to scan the inner wall of the tank. By acquiring point cloud and attitude data, coordinate transformation and stitching are performed using a transformation matrix, and surface reconstruction technology is combined to generate a restored point cloud of the tank.
It realizes the processing and stitching of featureless tank point clouds, generating uniformly distributed and noise-free tank reconstruction point clouds, which are suitable for applications such as volume calculation.
Smart Images

Figure CN121685897A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of point cloud processing, in particular to a featureless tank point cloud processing and splicing method. BACKGROUND
[0002] The ceramic tank is often used for storing liquid food such as liquor, vinegar and soy sauce. The commonly used ceramic tanks include 500 kg jars, 700 kg jars, 1000 kg jars and the like. Such tanks have the characteristics of low consistency in forming, certain errors in size characteristics of tanks of the same specification, and cannot be uniformly managed. In addition, the tanks have the characteristics of large volume, heavy weight, small mouth and the like, which leads to the operation limitation of the inner wall of the tank, and the inner wall cannot be measured manually, and needs to be measured without contact, such as three-dimensional scanning of the inner surface of the container by a scanning device to obtain the internal point cloud data of the tank, processing and splicing the point clouds scanned at different angles to synthesize the internal three-dimensional point cloud of the tank, providing support for calculating the volume of the tank, so as to accurately count the liquid food in the ceramic tank. However, due to the smooth and featureless inner wall of the ceramic tank, it is not applicable to rely on features for splicing in the process of synthesizing the internal three-dimensional point cloud of the tank. SUMMARY
[0003] The present application aims to at least solve the technical problems in the prior art, and provides a featureless tank point cloud processing and splicing method.
[0004] In a first aspect, the present application provides a featureless tank point cloud processing and splicing method, which comprises: obtaining the point cloud and pose data of a scanning device at each angle in a tank inner wall scanning process performed by a tank automatic scanning detection device; obtaining the transformation matrix of each angle based on the external parameter file of the scanning device and the pose data at each angle; pre-processing the point cloud of each angle to obtain the pre-processed point cloud of each angle; performing coordinate transformation on the pre-processed point cloud of each angle based on the transformation matrix of each angle to obtain the transformed point cloud of each angle; splicing the transformed point clouds of all angles in the tank automatic scanning process of the scanning device to obtain the tank point cloud; performing alignment processing on the tank point cloud to obtain the tank aligned point cloud; performing surface reconstruction on the tank aligned point cloud to obtain the tank reconstructed surface; and obtaining the tank restored point cloud based on the tank reconstructed surface.
[0005] The beneficial technical effects are: In the process of the tank automatic scanning detection device performing the tank inner wall scanning process, the featureless tank point cloud processing and splicing method can be executed synchronously or asynchronously to obtain the final tank point cloud. In the processing of the method, first, the point cloud of each view is preprocessed to remove the point cloud noise and adjust the point cloud quantity. Then, the transformation matrix of each view is obtained through the pose data of each view scanning device and the external parameter file of the scanning device. The preprocessed point cloud of each view is converted to the same base coordinate system through the transformation matrix to complete the point cloud registration. Then, the transformed point cloud of all views is combined to complete the point cloud splicing and obtain the tank point cloud. The point cloud splicing is realized without relying on features, which is suitable for the smooth scenario of the inner wall of the ceramic tank. When the tank stores liquid food, the tank opening is upward. In order to facilitate the application of the tank point cloud in the volume calculation, the tank alignment processing is further performed. Through the surface reconstruction, the noise points in the tank alignment point cloud, the uneven point cloud caused by the view overlap and the small cavity can be further removed. The tank restoration point cloud obtained based on the tank reconstruction surface has the characteristics of uniform distribution and no noise, which is suitable for subsequent applications such as tank volume calculation.
[0006] In the second aspect, the application provides an irregular tank internal volume calculation method, which comprises the steps of: executing the method of the first aspect of the application to obtain the tank restoration point cloud, taking the tank restoration point cloud as the tank internal point cloud; reading the tank internal point cloud, which is obtained based on the tank inner wall scanning point cloud processing and splicing; determining the reference plane of the tank internal point cloud, starting from the reference plane and performing slice division along the height direction of the tank internal point cloud to obtain a plurality of slices; projecting all points of each slice on the reference plane to obtain the minimum enclosing boundary of the projection points of each slice on the reference plane, multiplying the internal area of the minimum enclosing boundary of each slice by the height of the slice to obtain the volume of the slice; accumulating the volumes of all slices of the tank internal point cloud to obtain the tank internal volume, and constructing a volume query table; and storing the tank internal volume. BRIEF DESCRIPTION OF DRAWINGS
[0007] Figure 1 FIG. 1 is a structural schematic diagram of the tank automatic scanning detection device of the application; Figure 2 FIG. 2 is a schematic diagram of the tank automatic scanning detection device of the application installed on the tank; Figure 3 FIG. 3 is a structural schematic diagram of the fixed tool of the application; Figure 4 FIG. 4 is a structural schematic diagram of the scanning mechanism of the application; Figure 5 FIG. 5 is a flowchart of the tank automatic nondestructive scanning method in a preferred embodiment of the application; Figure 6is a schematic diagram of the specific process of step A2 in a preferred embodiment of the present application; Figure 7 is an installation schematic diagram of the automatic scanning detection device of the tank body in a preferred embodiment of the present application; Figure 8 is a schematic diagram of the scanning device in the first set position and the second set position in a preferred embodiment of the present application; Figure 9 is a schematic diagram of the scanning device in different pitch angles in the first set position and the second set position in a preferred embodiment of the present application; Figure 10 is a schematic diagram of the spiral scanning path of the scanning device in a preferred embodiment of the present application; Figure 11 is a flow schematic diagram of the point cloud processing and splicing method of the featureless tank body in a preferred embodiment of the present application; Figure 12 is a three-axis coordinate principle diagram of the automatic scanning detection device of the tank body in a preferred embodiment of the present application; Figure 13 is a mounting schematic diagram of the calibration tooling in the external parameter file calibration process of the scanning device; Figure 14 is a pretreatment point cloud in a certain view in a preferred embodiment of the present application; Figure 15 is a tank body point cloud schematic diagram in a preferred embodiment of the present application; Figure 16 is a flow schematic diagram of the irregular tank body internal volume calculation method in a preferred embodiment of the present application; Figure 17 is a schematic diagram of the projection point of the slice on the reference plane for convex hull extraction in a preferred embodiment of the present application; The drawings show that: 1, fixed tooling; 101, mounting bottom plate; 102, clamping block; 103, quick clamp; 104, first bolt; 105, waist-shaped hole; 106, positioning pin; 107, through hole; 108, first handle; 2, scanning mechanism; 201, linear module; 202, fixed seat; 203, motor seat; 204, rotary motor; 205, adapter seat; 206, pitch motor; 207, transition plate; 208, scanning device; 209, second bolt; 210, second handle; 211, micro guide rail; 212, inclination sensor; 213, drag chain; 214, lifting motor; 3, tank body. DETAILED DESCRIPTION
[0008] The present application provides a tank body automatic scanning detection device.
[0009] In a preferred embodiment, see Figure 1The automatic scanning detection device for the tank body comprises a fixed tool 1 and a scanning mechanism 2. The fixed tool 1 comprises a mounting bottom plate 101, a tank mouth clamping mechanism and a first connecting structure arranged on the mounting bottom plate 101. The scanning mechanism 2 comprises a lifting motor 214, a linear module 201, a rotating motor 204, a pitching motor 206 and a scanning device 208. The lifting motor 214 is used to drive the linear module 201. A fixed seat 202 is arranged on the linear module slider. A second connecting structure is arranged on the fixed seat 202 and matched with the first connecting structure. One end of the linear module 201 is installed with the rotating motor 204 through a motor seat 203. The lifting motor 214 is directly connected to the other end of the driving linear module 201 through a shaft coupling. The rotating motor 204 is installed with the pitching motor 206 through an adapter seat 205. The pitching motor 206 is installed with the scanning device 208 through a transition plate 207.
[0010] The mounting bottom plate is fixed at the tank mouth through the tank mouth clamping mechanism. The scanning mechanism is connected with the first connecting structure on the mounting bottom plate through the second connecting structure of the fixed seat, so as to support and fix the scanning mechanism at the tank mouth. One end of the linear module installed with the rotating motor can be extended into the tank body to scan the inner wall and obtain the inner wall point cloud under the driving of the lifting motor. The scanning device is moved up and down in the tank body by the linear module. The circumferential position of the scanning device is adjusted by the rotating motor. The up-down deflection angle of the scanning device is adjusted by the pitching motor. Different pitching angles can be scanned at the same height position. The number of height position settings is reduced. The scanning time is saved. The high-precision scanning of the inner wall slope and the tank bottom boss in the tank body is realized. In addition, the device is light and can be quickly arranged and fixed at the tank mouth without damaging the inner wall of the ceramic tank body. The cost is low. It can adapt to various gas / liquid corrosion environments and has no special requirements for the installation position.
[0011] In the embodiment, the mounting bottom plate 101 is not limited to be rectangular or elliptical. As shown in Figure 2 , the device is transversely arranged at the tank mouth (also called eave mouth) of the tank body 3.
[0012] In the embodiment, the linear module slider is connected with the fixed seat 202 through a screw. The motor seat 203 is not limited to be an L-shaped motor seat. The adapter seat 205 is not limited to be an L-shaped adapter seat. The motor seat 203, the rotating motor 204, the adapter seat 205, the pitching motor 206 and the scanning device 208 can be connected through screws.
[0013] In the embodiment, the jar mouth clamping mechanism is used to fix the jar body automatic scanning detection device at the jar mouth, and specifically, the mounting base 101 of the fixing tool 1 is fixed at the jar mouth of the jar body 3. For example, the jar mouth clamping mechanism includes two or more than two symmetrical fast clamps 103 distributed around the mounting base 101, such as four or two fast clamps 103 located at both ends of the mounting base 101. The structure of the fast clamp 103 is shown in Figure 3 The fast clamp 103 is in a clamping state and an unlocking state by controlling the handle, and is a common fast clamp. For example, the fast clamp of the HS-101-A, HS-12205 series products of Haoside Technology Co., Ltd. can be selected, and the fast clamp structure disclosed in the patent with the publication number CN203418029U can also be referred to, and details are not described herein. The fast clamp 103 is fixed on the mounting base 101 by the screw installed on the front surface.
[0014] In the embodiment, the scanning mechanism 2 is fixed on the mounting base 101 of the fixing tool 1 by the cooperation of the first structure and the second structure. Preferably, as shown in Figure 1 The first connecting structure includes one or more than one positioning pin 106 and one or more than one positioning threaded hole, and the positioning pin 106 is fixed on the mounting base 101 by the screw installed on the back surface. The second connecting structure includes one or more than one pin hole matched with the positioning pin 106 and one or more than one second bolt 209 connected with the positioning threaded hole, and the second bolt 209 is not limited to the knurled screw to facilitate operation. When the jar body automatic scanning detection device works, the scanning mechanism 2 is placed on the fixing tool 1, the positioning pin 106 on the fixing tool 1 is inserted into the pin hole on the fixing seat 202, the second bolt 209 on the fixing seat 202 is screwed through the positioning threaded hole on the mounting base 101, and then the second bolt 209 is tightened, so that the fixing tool 1 and the scanning mechanism 2 are connected and fastened. The positioning pin 106 and the pin hole are matched one by one to realize positioning, and then the second bolt 209 and the positioning threaded hole on the mounting base 101 are connected to realize fastening.
[0015] In the embodiment, in order to make the scanning mechanism 2 work as much as possible at the center of the jar mouth, and make the structure of the automatic scanning detection device symmetrical, the overall center of gravity of the jar body automatic scanning detection device is stable when it works. Preferably, as shown in Figure 1 and Figure 3 A through hole 107 allowing one end of the linear module 201 to pass through is formed on the mounting base 101, and the positioning pin 106 and the positioning threaded hole are located at the edge of the through hole 107. Further preferably, the through hole 107 is located in the middle of the mounting base 101. When the jar body automatic scanning detection device works, as shown in Figure 2As shown, the linear module 201 passes through the through hole 107 at one end close to the lifting motor 214 or at one end close to the scanning device 208. The linear module slider is fixed on the fixed tool 1 through the fixing seat 202. Under the driving of the lifting motor 214, one end of the linear module 201 (i.e. the end of the motor seat 203 and the rotary motor 204) moves up and down, and at the same time, the scanning device 208 moves up and down to scan the point cloud of the inner wall of the tank 3.
[0016] In the embodiment, the scanning device 208 is not limited to the existing laser scanner, and preferably, the scanning device 208 is a 3D camera, such as an industrial 3D camera, which can obtain the point cloud of the inner wall of the tank 3.
[0017] In the embodiment, the lifting motor 214, the linear module 201, the rotary motor 204, the pitching motor 206 and the scanning device 208 can all select existing products.
[0018] In a preferred embodiment, the tank mouth clamping mechanism has a different structure. The tank mouth clamping mechanism of the embodiment includes clamping blocks 102 and quick clamps 103 arranged at both ends of the mounting bottom plate 101, so that the fixed tool 1 can be quickly mounted and fixed at the tank mouth. Please see Figure 1 and Figure 3 The clamping block 102 is located at one end of the mounting bottom plate 101, and the quick clamp 103 is located at the other end of the mounting bottom plate 101. The number of quick clamps 103 can be one or two. When working, the inner side of the clamping block 102 is in contact with the arc surface of the eaves of the tank 3. In order to improve the clamping effect on the eaves, the inner side of the clamping block 102 is arranged as an arc surface matched with the arc surface of the eaves.
[0019] In the embodiment, in order to facilitate adjustment, please see Figure 3 The fixed tool 1 further includes a first bolt 104, and a waist-shaped hole 105 is formed in the mounting bottom plate 101. The first bolt 104 is connected with the threaded hole of the clamping block 102 through the waist-shaped hole 105, and the first bolt 104 can move back and forth in the waist-shaped hole 105 of the mounting bottom plate 101. By adjusting the distance between the clamping block 102 and the quick clamp 103 through the movement of the first bolt 104 in the waist-shaped hole 105, it is convenient to take and place the fixed tool 1 at the tank mouth, and it is also convenient to adapt to tank mouths of different sizes.
[0020] Preferably, the length of the waist-shaped hole 105 extends towards the quick clamp 103, so as to adjust the distance between the clamping block 102 and the quick clamp 103. The first bolt 104 is not limited to a knurled screw. The working process is as follows: place the assembled fixed tool 1 on the eaves of the ceramic tank 3, adjust the clamping block 102 to be in contact with the arc surface of the eaves of the tank 3, then tighten the first bolt 104 to fix the position, and finally lock the quick clamp 103 to stably fix the entire fixed tool 1 on the eaves of the ceramic tank 3.
[0021] In a preferred embodiment, at least one first handle 108 is provided on the mounting base plate 101, see [link / reference]. Figure 3 Two first handles 108 are provided on the horizontal side of the mounting base 101 to facilitate the placement and removal of the fixing fixture 1. The first handles 108 are fixed to the mounting base 101 by screws mounted on the reverse side. At least one second handle 210 is provided on the fixing seat 202. See [link / reference]. Figure 4 A second handle 210 is provided at each end of the fixed base 202 to facilitate the picking and placing of the scanning mechanism 2. The second handle 210 is installed on the fixed base 202 by screws.
[0022] In this embodiment, preferably, to improve the motion accuracy of the linear module, such as Figure 1 and Figure 4 As shown, at least one of the two sides of the linear module 201 is equipped with a micro guide rail 211. The micro slider of the micro guide rail 211 is connected to the fixed base 202, and the connection method is not limited to screw connection. The micro slider of the micro guide rail 211 is fastened to the fixed base 202. When the lifting motor 214 drives one end of the linear module 201 (close to the scanning device 208) to move up and down, the end of the micro guide rail 211 close to the scanning device 208 also moves up and down synchronously.
[0023] In this embodiment, preferably, a tilt sensor 212 is installed on the fixed base 202. The tilt sensor 212 reads the tilt angle of the fixed base 202 in the X and Y directions of the horizontal plane. This allows adjustment of the connection between the first and second connecting structures, as well as the working state of the clamping block 102 and the quick clamp 103, so that the fixed base 202 does not tilt in the horizontal plane. This ensures that the linear module 201 moves up and down in the vertical direction as much as possible, and that the lifting motor 214 drives the scanning device 208 to move up and down in the vertical direction, thereby improving motion accuracy.
[0024] In this embodiment, preferably, please see Figure 1 and Figure 4 The scanning mechanism 2 also includes a cable chain 213, one end of which is fixed to the back of the linear module 201, and the other end of which is mounted on the mounting base 202. All component cables are threaded through the cable chain 213.
[0025] In one example of the automatic tank scanning and detection device provided by the present invention, the process of installing the device on the tank 3 is as follows: First, assemble the fixing fixture 1. Specifically, install the clamping block 102, the first bolt 104, the quick clamp 103, the positioning pin 106, and the first handle 108 on the mounting base plate 101. Holding the first handle 108, place the fixing fixture 1 on the rim of the ceramic jar 3. Adjust the clamping block 102 to make it contact the arc surface of the rim of the jar 3. Then tighten the first bolt 104 to fix the position. Finally, lock the quick clamp 103 to secure the entire fixing fixture 1 firmly on the rim of the ceramic jar 3.
[0026] Next, the scanning mechanism 2 is assembled. Specifically, the lifting motor 214 is directly connected to one end of the linear module 201 via a coupling. The linear module slider is connected to the fixed base 202 via screws. The other end of the linear module 201 is equipped with a rotary motor 204 via an L-shaped motor mount 203. The rotary motor 204 is equipped with a pitch motor 206 via an L-shaped adapter 205. The pitch motor 206 is equipped with a scanning device 208 via a transition plate 207. Two miniature guide rails 211 are also auxiliaryly installed on both sides of the linear module 201. The miniature sliders on the miniature guide rails 211 are mounted on the fixed base 202 via screws. The function of the miniature guide rails 211 is to improve the motion accuracy of the linear module 201. The tilt sensor 212 is installed below the fixed base 202. All component cables are threaded into the cable chain 213. One end of the cable chain 213 is connected to the back of the linear module 201, and the other end is installed on the fixed base 202. The fixed base 202 is also equipped with a second handle 210 for auxiliary handling and a second bolt 209 for locking.
[0027] Finally, the entire scanning mechanism 2 is placed onto the fixed fixture 1 by the second handle 210. Simultaneously, the positioning pin 106 on the fixed fixture 1 is inserted into the pin hole on the fixed base 202, and the second bolt 209 on the fixed base 202 is tightened to secure the connection. The entire device is powered on, and the tilt sensor 212 reads the tilt angle of the fixed base 202 in both the X and Y directions. Then, the lifting motor 214 drives the linear module 201 to move downwards, while the rotary motor 204 and the pitch motor 206 drive the scanning device 208 to rotate within a 360° horizontal circumference and a 180° pitch range.
[0028] In this example, the lifting motor 214, rotary motor 204, and pitch motor 206 can be controlled by a separate controller. The controller is not limited to including a microcontroller and more than three motor drive modules, with the microcontroller electrically connected to each motor drive module. The controller's motor control terminals are electrically connected to the control terminals of the motor drive modules for the lifting motor 214, rotary motor 204, and pitch motor 206, respectively. A pre-loaded program instruction is installed within the controller, specifying one or more designated positions. After the lifting motor 214 drives the linear module 201 near the rotary motor 204 to move downwards to each designated position, the pitch motor 206 adjusts the pitch angle of the scanning device 208 according to the set program, and the rotary motor 204 adjusts the circumferential position of the scanning device 208. This achieves multiple local scanning detections of designated positions on the inner wall of the ceramic tank 3, obtaining multiple local point clouds. All the local point clouds at the designated positions are stitched together to form the internal three-dimensional point cloud of the tank 3, facilitating subsequent volume measurement of the tank 3. It should be noted that the algorithms involved in the above process are not within the scope of protection of this invention.
[0029] This invention discloses an automatic non-destructive scanning method for tanks.
[0030] The provided automatic non-destructive scanning method for tanks is implemented by a controller based on an automatic tank scanning and detection device installed at the tank opening. In a preferred embodiment, the automatic tank scanning and detection device is the aforementioned automatic tank scanning and detection device provided by this invention, which will not be described in detail here. The automatic tank scanning and detection device installed at the tank opening is as follows: Figure 7 As shown. Select a controller that is electrically connected to the lifting motor 214, the rotary motor 204, the pitch motor 206, and the scanning device 208. The controller is not limited to including a microcontroller and more than three motor drive modules, with the microcontroller electrically connected to each motor drive module. The motor control terminals of the controller are electrically connected to the control terminals of the motor drive modules of the lifting motor 214, the rotary motor 204, and the pitch motor 206, respectively.
[0031] Please see Figure 5 The controller performs the following steps: Step A1: Control the lifting motor 214, rotation motor 204, and pitch motor 206 to initialize the position and attitude of the scanning device 208; Understandably, the controller drives the lifting motor 214, rotary motor 204, and pitch motor 206 back to zero, causing the scanning device 208 to return to its vertical position to zero, as well as its pitch and circumferential rotation angles to zero. The position of the scanning device 208 can be simplified to its vertical distance from the tank opening plane inside the tank 3, and the attitude of the scanning device 208 can be simplified to the circumferential rotation angle of the rotary motor 204 and the pitch angle of the pitch motor 206.
[0032] Step A2: Control the lifting motor 214 to drive the linear module 201, which in turn moves the scanning device 208 downwards to one or more preset positions. After the scanning device 208 reaches each preset position, control the pitch motor 206 to rotate the scanning device 208 to different pitch angles. After the scanning device 208 rotates to each pitch angle, control the rotary motor 204 to drive the scanning device 208 to perform a circumferential scan, that is, the scanning device 208 rotates around the central axis of the linear module 201. The scanning device 208 rotates once per circumferential direction, and the current attitude data of the scanning device 208 is recorded. Control the scanning device 208 to acquire the point cloud of the inner wall of the tank 3, that is, to obtain the local point cloud corresponding to the position and attitude. Stitch all the local point clouds together to obtain the three-dimensional point cloud model of the inside of the tank 3.
[0033] Specifically, in step A2, based on the shape of the tank 3, with the aim of acquiring as many high-precision point clouds of the inner wall of the tank 3 as possible, one or two or more pitch angles of the pitch motor 206 are set at each set position. The preferred range of the pitch angle is -120° to 60°, where a pitch angle of 0° indicates that the detection signal transmission direction of the scanning device 208 is horizontal. For ceramic tanks 3, especially ceramic tanks 3 for storing baijiu (Chinese liquor), please see... Figure 8 As shown, the area near the can opening is sloped, and the bottom of the can has a protrusion. Different pitch angles need to be set at specific locations to match the shape of the inner wall of can 3 in order to achieve accurate point cloud acquisition. Please see... Figure 9 This application allows for point cloud acquisition by the scanning device 208 at different pitch angles within a set location, reducing the number of set locations and accelerating the scanning of the inner wall. At each pitch angle within each set location, the scanning device 208 can be driven by the rotary motor 204 to advance at a preset first step angle. Or the second step angle Or the third step angle The stepper motor rotates circumferentially once per step, and the scanning device 208 is also driven to rotate circumferentially and scan once to obtain a cluster of local point clouds.
[0034] In this embodiment, preferably, to reduce the scanning time inside the tank 3, please see... Figure 8 and Figure 9 As shown, two setting positions are set, including the first setting position. Second set position The distance from the first set position to the plane of the tank opening is less than the distance from the second set position to the plane of the tank opening. Please see... Figure 8 Through the first set position Second set position The tank body 3 was scanned into three segments: the first segment was... The above parts and The first half, the second paragraph is lower half and The following section, the third part, is the bottom of tank 3.
[0035] In this embodiment, more preferably, the distance between the first set position and the plane of the tank opening is 0.25Hg to 0.35Hg; the distance between the second set position and the plane of the tank opening is 0.55Hg to 0.65Hg; where Hg represents the height of the tank.
[0036] In one example, the ceramic jar 3, with a capacity of 1000 jin (approximately 500 catties), has the following dimensions: mouth diameter 0.48 m, base diameter 0.5 m, waist diameter 0.87 m, and height (Hg) 1.2 m. The distance from the plane of the tank opening is 0.3m to 0.42m, preferably. It is 0.36m. Therefore... The distance from the plane of the tank opening is 0.66m to 0.78m, preferably. It is 0.71m.
[0037] The above-described automatic non-destructive scanning method for tanks involves setting a few predetermined positions in the vertical direction. The lifting motor 214 drives the linear module 201 to move the scanning device 208 downwards to the predetermined positions. Then, the pitch motor 206 is controlled to rotate, obtaining different pitch angles for the scanning device 208. Under each pitch angle condition, the rotary motor 204 is controlled to drive the scanning device 208 to perform a circumferential scan. The scanning device 208 rotates once per circumferential direction to perform a scan of the inner wall of the tank 3, obtaining a local point cloud. After traversing the pitch angles of each predetermined position, the method is further controlled... After the scanning device 208 moves to the next set position, the pitch motor 206 is controlled to rotate again to obtain different pitch angles of the scanning device 208. The scanning device 208 completes one circumferential scan under each pitch angle condition, and so on, until the bottom of the tank is scanned. This method realizes the circumferential scanning of the scanning device 208 under different pitch angles at each set position through the pitch motor 206, which can greatly save the tank scanning time. At the same time, it realizes high-precision scanning of the inclined surface of the inner wall of the tank 3 and the bottom boss, and accurately collects the point cloud of the inner wall of the irregularly shaped tank 3.
[0038] In a preferred embodiment, to better match the beveled shape of the tank opening portion of tank 3 and improve the point cloud acquisition accuracy, please see... Figure 6 and Figure 9 , Figure 9 In the diagram, the scanning device 208 is simplified as an ellipse. In step A2, the controller controls the lifting motor 214 to drive the linear module 201, which in turn moves the scanning device 208 downward to the first set position. At that time, execute: Step A21: Control the pitch motor 206 to drive the scanning device 208 to rotate to the first pitch angle. Then, the control rotary motor 204 drives the scanning device 208 to advance by one step angle. After one circumferential scan, proceed to step A22, where the scanning device 208 rotates circumferentially by a step angle of [missing value]. The rotary motor 204 rotates once per revolution, which in turn drives the scanning device 208 to rotate circumferentially. Angle, record the current attitude data of scanning device 208, and control scanning device 208 to acquire point cloud of inner wall of tank 3; first step angle The value range is from 40° to 30°, preferably 35°, such as... Figure 9 The blue elliptical shape is positioned to accurately acquire the point cloud of the inclined inner wall from the can opening at the first set position. Step A21 completes the first segment... The above parts were scanned.
[0039] Step A22: Control the pitch motor 206 to drive the scanning device 208 to rotate to the second pitch angle. Then, the control rotary motor 204 drives the scanning device 208 to advance by one step angle. One circumferential scan is performed, that is, a rotational scan is performed around the central axis. The rotary motor 204 rotates once in the circumferential direction, which drives the scanning device 208 to rotate circumferentially. Angle, record the attitude data of scanning device 208, control scanning device 208 to scan the inner wall of tank 3 to obtain point cloud of inner wall of tank 3; preferably, second pitch angle The size is 0°, such as Figure 9 The orange ellipse pose in the first segment. Step A22 is used to adjust the pose of the ellipse in the first segment. The upper half is scanned. First pitch angle. Second pitch angle ≥0°.
[0040] In this embodiment, to ensure sufficient overlap between local point clouds while avoiding excessive circumferential rotations during the circumferential scanning of the rotary motor 204, which would increase the time consumption, preferably, the first step angle... The size of the scanning device 208 is determined by the maximum waist diameter of the tank 3 and the effective field of view of the tank 3. For example, the maximum waist diameter of the tank 3 is 0.87 m, and its circumference is approximately 2700 μm. The scanning device 208 is positioned at a first predetermined location. The effective field of view is approximately 290 × 200 mm. To ensure complete reconstruction of this part of the tank wall, its circumference is predicted to be around 2700 mm based on a maximum waist diameter of 0.87 m. Therefore, in The height was scanned approximately 14 times. To ensure sufficient overlap between local point clouds, the initial determination was made. If the position is scanned 15 times, then the first step forward angle is... The value is 360 ÷ 15 = 24°.
[0041] In this embodiment, more preferably, in step A2, the control lifting motor 214 drives the linear module 201 to move the scanning device 208 downward to the second set position. Please see at that time. Figure 6 ,implement: Step A23: Control the pitch motor 206 to drive the scanning device 208 to rotate to the third pitch angle. Then, the rotary motor 204 is controlled to drive the scanning device 208 to advance at the second step angle. After one circumferential scan, step A24 is performed, which involves a rotational scan around the central axis. During this process, the scanning device 208 rotates once per circumferential direction. The attitude data of the scanning device 208 is recorded, and the device is controlled to scan the inner wall of the tank 3, obtaining a cluster of local point clouds on the inner wall of the tank 3. Third pitch angle. A value greater than 0 indicates that the scanning device 208 (such as a 3D camera) is rotating diagonally upwards. angle, The value range is 10° to 20°, so that the point cloud obtained by the circumferential scan appropriately overlaps with the point cloud obtained by the circumferential scan in step A22. Preferably, It is 14°, such as Figure 9 The green ellipsoid posture in the image.
[0042] Step A24: Control the pitch motor 206 to drive the scanning device 208 to rotate to the fourth pitch angle. Then, the rotary motor 204 is controlled to drive the scanning device 208 to advance at the second step angle. After one circumferential scan, step A25 is performed, which involves a rotational scan around the central axis. During this process, the scanning device 208 rotates once per circumference. The attitude data of the scanning device 208 is recorded, and the device is controlled to scan the inner wall of the tank 3, obtaining a cluster of local point clouds. Fourth pitch angle. Less than 0° indicates that the scanning device 208 is rotating diagonally downwards. angle, The value range is from -25° to -15°, preferably, The angle is set to -20° to ensure proper overlap between the point cloud obtained in step A24 and the point cloud obtained in step A23, such as... Figure 9 The black elliptical shape in the image.
[0043] Step A25: Control the pitch motor 206 to drive the scanning device 208 to rotate to the fifth pitch angle. Then, the rotary motor 204 is controlled to drive the scanning device 208 to advance at the second step angle. After one circumferential scan, step A26 is performed, which involves a rotational scan around the central axis. During each circumferential rotation of the scanning device 208, the attitude data of the scanning device 208 is recorded. The scanning device 208 is then controlled to scan the inner wall of the tank 3, obtaining a cluster of local point clouds on the inner wall of the tank 3; fifth pitch angle. The value range is -60° to -50°, preferably the fifth pitch angle. -55°, such as Figure 9 The purple elliptical shape in the image is adjusted to ensure proper overlap between the point cloud obtained in step A25 and the point cloud obtained in step A26. The second segment of tank 3 is then scanned via steps A23, A24, and A25.
[0044] Step A26: Control the pitch motor 206 to drive the scanning device 208 to rotate to the sixth pitch angle. Then, the rotary motor 204 is controlled to drive the scanning device 208 to advance at the third step angle. A circumferential scan, i.e., a rotational scan around the central axis, is performed to achieve a rotational scan of the bottom of the tank 3 around the central axis. Specifically, the scanning device 208 rotates once per circumferential direction, and its attitude data is recorded. The scanning device 208 is then controlled to scan the inner wall of the tank 3, obtaining a cluster of local point clouds of the inner wall of the tank 3; the sixth pitch angle... The value range is -90° to -100°, preferably. -94.5°, such as Figure 9 The gray elliptical shape in the image allows the scanning device 208 to perform a global rotational scan of the tank bottom, while the obtained point cloud appropriately overlaps with the point cloud from step A26. Third pitch angle. >0°>Fourth pitch angle Fifth pitch angle Sixth pitch angle >-100°. The third segment of tank 3 is scanned via step A26.
[0045] In this embodiment, preferably, the second step angle The second step angle is determined by the maximum waist diameter of tank 3 and the effective field of view of scanning device 208. The process of determining the angle is similar to the first step described above. The process of determining the second step angle. The angle is 24° to ensure sufficient overlap of point clouds between adjacent steps.
[0046] In this embodiment, preferably, the third step angle The size is determined based on the circumference of the tank bottom and the effective field of view of the scanning device 208. For example, in step A26, the maximum distance between the scanning device 208 and the tank wall is about 0.5m, the effective field of view of the scanning device 208 (such as a 3D camera) is about 370×250mm, the rotary motor 204 rotates 90° each time, and the scanning device 208 (such as a 3D camera) scans a total of 4 times.
[0047] In one example of this embodiment, the scanning device 208 is a 3D camera. The following calculates the time required to scan a tank 3 using the automatic non-destructive scanning method for tanks: The 3D camera's single scan time is 2.5 seconds, the pitch motor 206's rotation time is 2 seconds, and the rotation motor 204's rotation time is 3 seconds (including 2 seconds for storing point clouds). Taking a 1000-jin (500 catties) jar as an example, the jar's dimensions are: mouth diameter 0.48 m, bottom diameter 0.5 m, waist diameter 0.87 m, and height 1.2 m. The location is 0.36m from the tank opening mounting plane (i.e., the tank opening plane). The location is 0.71m from the installation plane of the tank opening.
[0048] exist Location Scan The above parts and In the upper part, the pitch motor 206 drives the 3D camera to pitch 35° and 0° for scanning. At these two angles, the maximum distance between the 3D camera and the tank wall is approximately 0.4m, and the effective field of view of the camera is approximately 290×200mm. To ensure complete reconstruction of this part of the tank wall, based on a maximum waist diameter of 0.87m, its circumference is predicted to be approximately 2700mm. Therefore, in The height was scanned approximately 14 times. To ensure sufficient overlap between point clouds, the initial determination was made. If the position is scanned 15 times, then the rotation angle is... The value is 360 ÷ 15 = 24°. During position scanning, the linear module 201 moves from its initial position to... Positioning takes 5 seconds; pitch motor 206 performs two pitch movements, taking 2 × 2 = 4 seconds; rotation motor 204 performs 15 rotation movements at two angles, taking 15 × 2 × 3 = 90 seconds; 3D camera takes 15 photos at two angles, taking 15 × 2 × 2.5 = 75 seconds. The total scanning time is 5 + 4 + 90 + 75 = 174 seconds.
[0049] exist Location Scan lower half and In the following section, the pitch motor 206 drives the 3D camera to perform scanning at pitches of 14°, -20°, and -55°. At these three angles, the maximum distance between the 3D camera and the tank wall is approximately 0.5m, and the effective field of view of the 3D camera is approximately 370×250mm. Based on a maximum waist diameter of 0.87m, the predicted circumference is approximately 2700mm. Therefore, in The number of scans at each pitch position is approximately 11. To ensure sufficient overlap between point clouds, the initial number of scans at pitch positions of 14°, -20°, and -55° is determined to be 15. The rotation angle... The angle is 360 ÷ 15 = 24°. During position scanning, the linear module 201 is included. Position moved to Positioning takes 15 seconds. Pitch motor 206 performs 3 pitch movements, taking 2 × 3 = 6 seconds. Rotation motor 204 performs 15 rotation movements at 3 angles, taking 15 × 3 × 3 = 135 seconds. The 3D camera takes 15 pictures at 3 angles, taking 15 × 3 × 2.5 = 112.5 seconds. The total scanning time is 15 + 6 + 135 + 112.5 = 268.5 seconds.
[0050] exist The bottom of the tank 3 is scanned. The pitch motor 206 also drives the 3D camera to pitch -94.5° to scan the bottom of the tank 3. At this time, the maximum distance between the 3D camera and the tank wall is about 0.5m, and the effective field of view of the 3D camera is about 370×250mm. The rotary motor 204 rotates 90° each time. The 3D camera scans a total of 4 times. Therefore, the total scanning time is 2+4×3+4×2.5=24s.
[0051] Based on the above analysis, the total scanning time of this method is 174 + 268.5 + 24 = 466.5 s, approximately 7.7 min < 8 min, which meets the design requirements.
[0052] In a preferred embodiment, please see Figure 10 At the first pitch angle Second pitch angle Third pitch angle Fourth pitch angle Fifth pitch angle and the sixth pitch angle In the circumferential scan, counterclockwise and clockwise circumferential scans are performed alternately. Specifically, at the first pitch angle... Scanning in a counter-clockwise circumferential direction at the second pitch angle Scanning clockwise in a circumferential direction, at the third pitch angle Scanning in a counter-clockwise circumferential direction, at the fourth pitch angle Scanning clockwise in a circumferential direction, at the fifth pitch angle Scanning counterclockwise in a circumferential direction, at the sixth pitch angle The scanning proceeds in a clockwise circumferential direction. In this way, the scanning device 208 scans all the point cloud information of the inner wall of the tank 3 in a spiral manner, ensuring short scanning time and optimal trajectory planning during the scanning process.
[0053] This invention discloses a method for processing and stitching point clouds of featureless tanks.
[0054] In a preferred embodiment, please see Figure 11 The method includes: Step B1: Acquire point cloud and attitude data of scanning device 208 at each viewpoint during the scanning of the inner wall of tank 3 by the automatic scanning and detection device of tank 3. Step B2: Based on the extrinsic parameter file of the scanning device 208 and the pose data at each viewpoint, obtain the transformation matrix for that viewpoint; Step B3: Preprocess the point cloud for each viewpoint to obtain the preprocessed point cloud for that viewpoint. Step B4: Based on the transformation matrix of each viewpoint, perform coordinate transformation on the preprocessed point cloud of that viewpoint to obtain the transformed point cloud of that viewpoint. Step B5: The stitching scanning device 208 combines the transformed point clouds from all perspectives during the automatic scanning process of the tank 3 to obtain the tank point cloud; Step B6: Align the tank point cloud to obtain an aligned tank point cloud, so that the tank opening faces the Z-axis of the base coordinate system. Step B7: Perform surface reconstruction on the point cloud of the aligned tank to obtain the reconstructed surface of the tank; Step B8: Obtain the tank reconstruction point cloud based on the reconstructed surface of the tank.
[0055] In this embodiment, Figure 11 This is merely an example of the execution order of the above steps in this application. Steps B2 and B3 can also be performed in parallel, or step B3 can be performed first and then step B2. This invention does not limit the execution order of each step.
[0056] The execution subject of the featureless tank point cloud processing and stitching method disclosed in this invention includes, but is not limited to, at least one of the following electronic devices that can be configured to execute the method provided in the embodiments of this application: server, terminal, computer, etc.
[0057] In this embodiment, in step B1, point cloud and attitude data for each viewpoint can be read simultaneously from the scanning device 208 or from the controller of the automatic tank scanning and detection device during the scanning of the inner wall of the tank 3 by the automatic tank scanning and detection device; alternatively, point cloud and attitude data for all viewpoints can be stored in the memory during the scanning of the inner wall of the tank 3 by the automatic tank scanning and detection device, and after the scanning is completed, point cloud and attitude data for all viewpoints can be read from the memory to perform featureless tank point cloud processing and stitching method.
[0058] In this embodiment, the automatic tank scanning and inspection device can be any existing automatic tank scanning and inspection device product. Alternatively, the automatic tank scanning and inspection device provided above by this invention can be selected. Preferably, the automatic tank scanning and inspection device is controlled to perform an inner wall scan of the tank 3 according to the automatic non-destructive scanning method provided by this invention, obtaining point cloud and attitude data of the scanning device 208 from each viewpoint. The scanning device 208 can be a 3D camera, with a three-axis coordinate system principle as follows... Figure 12 As shown, coordinate system O-XYZ is set as the basic coordinate system, coordinate system O1-X1Y1Z1 is the coordinate system of the tank opening, and coordinate system O2-X2Y2Z2 is the camera coordinate system. 3D camera calibration mainly adopts hand-eye calibration. Through 3D camera calibration, the transformation matrix between coordinate system O2-X2Y2Z2 and O-XYZ is obtained. This transformation matrix is stored in an external parameter file, which can be stored locally on the executing entity. The transformation matrix between coordinate system O2-X2Y2Z2 and O-XYZ is a 4×4 matrix, which can be decomposed into a 3×3 rotation matrix and a 3×1 translation vector.
[0059] In this embodiment, the high-precision three-axis transmission device, i.e., the automatic tank scanning and detection device, is non-standard; please see [link / reference]. Figure 12 and Figure 13 The mounting origin coordinates of the camera mounting surface of the pitch motor 206 (also called the pitch rotary motor) need to be calibrated. Camera calibration is performed using the mounting origin coordinates, the Euler angle types for pitch and horizontal rotation, and the camera calibration plate. The specific calibration process includes: (1) Calculate the position transformation relationship between the installation origin coordinates and the zero point O of the O-XYZ coordinate system using the TCP position calibration (tool center point position calibration) method; calculating the installation origin coordinates requires a six-axis robotic arm and calibration fixture, please see Figure 13The six-axis robotic arm is connected to the end of the six-axis robotic arm via a connecting surface. Using the six-axis robotic arm TCP position calibration method, the rotary motor 204 (also called the horizontal rotary motor) and the pitch motor 206 (also called the pitch rotary motor) are used to move the six-axis robotic arm so that the tip of the calibration fixture is always in the same position. The coordinates of the six-axis robotic arm, the horizontal rotation angle of the rotary motor 204, and the pitch rotation angle of the pitch motor 206 are recorded. By measuring the known distance from the tip of the calibration fixture to the plane of the installation origin, the transformation relationship between the XYZ coordinates of the installation origin and the response Euler angle and the zero point O of the connecting surface is calculated.
[0060] (2) Place the camera calibration plate in the camera's field of view; (3) Control the automatic scanning and detection device of the mobile tank so that the calibration plate is completely in the field of view, fix the calibration plate, record the movement data, calculate the coordinates of the installation origin and the corresponding Euler angles of rotation to form the calibration posture; (4) The 3D camera is controlled by the calibration pose to acquire the original image of the pose and the calibration plate feature is identified. (5) Repeat steps (3) to (4) to continue acquiring poses, acquire at least 20 sets, calculate the transformation matrix through the program, and store the transformation matrix in the external parameter file; (6) Save the external parameter file to the local machine of the execution entity and complete the camera calibration.
[0061] In this embodiment, in step B1, one attitude data point of the scanning device 208 corresponds to one field of view, i.e., one viewing angle. The attitude data of one viewing angle of the scanning device 208 includes the distance between the scanning device 208 and the tank opening, the horizontal rotation angle, and the pitch rotation angle. When the above-mentioned automatic tank scanning and detection device is used, the attitude data includes the linear displacement of the scanning device 208 (or the displacement of the linear module 201), the horizontal rotation angle, and the pitch rotation angle. The point cloud of each viewing angle includes the three-dimensional coordinates of multiple points in the camera coordinate system. In the scanning path inside the tank 3, the scanning device 208 has multiple viewing angles.
[0062] In this embodiment, in step B2, the transformation matrix of the scanning device 208 is obtained based on the extrinsic parameter file of the scanning device 208 and the attitude data of each viewpoint. Specifically, the pose transformation matrix of the viewpoint is obtained according to the attitude data of the current viewpoint of the scanning device 208 and the initial pose of the scanning device 208. The pose transformation matrix of the viewpoint is then multiplied by the transformation matrix from the camera coordinate system to the base coordinate system in the extrinsic parameter file to obtain the transformation matrix of the viewpoint. The initial pose of the scanning device 208 is the attitude data of the scanning device 208 when all driving components return to zero at the start of the automatic tank scanning and detection device. For example, when using the automatic tank scanning and detection device provided by the present invention, the initial pose of the scanning device 208 is the attitude data of the scanning device 208 when the control rotary motor 204, pitch motor 206 and linear module 201 return to zero.
[0063] In this embodiment, step B3 involves preprocessing the point cloud for each viewpoint to obtain a preprocessed point cloud for that viewpoint. Preferably, the preprocessing includes at least one of three processes: outlier removal, point cloud filtering, and point cloud downsampling. When acquiring point cloud data, the scanning device 208 (such as a 3D camera) is often affected by factors such as the external environment, device accuracy, and lighting interference, resulting in noisy or outlier points in the point cloud data. These points, deviating from the true geometric surface, increase modeling errors. Therefore, the system needs to filter the scanned point cloud and perform outlier removal, point cloud filtering, and point cloud downsampling to generate a preprocessed point cloud. Figure 14 This example demonstrates a preprocessed point cloud from a specific viewpoint.
[0064] In this embodiment, more preferably, a voxel mesh method is used to reduce the number of point clouds. When downsampling the point cloud for each viewpoint, the method includes: dividing the point cloud for each viewpoint into a uniform three-dimensional voxel mesh, retaining only one representative point within each voxel, where the representative point is not limited to the center point or centroid of the voxel. A suitable voxel volume can be preset to maximize the preservation of the shape features of the tank 3 while reducing the amount of data and improving the computation speed of subsequent algorithms.
[0065] In this embodiment, through step B4, the transformed point clouds of all views along the scanning path of the scanning device 208 are point clouds in the same coordinate system (i.e., the basic coordinate system O-XYZ), thus completing point cloud registration for subsequent merging.
[0066] In this embodiment, in step B5, the point clouds of view changes obtained by the scanning device 208 in step B4 at all viewpoints along the scanning path are gradually or as a whole merged to complete the point cloud stitching and obtain the tank body point cloud. Figure 15A schematic diagram of the tank's point cloud is shown in an example. Due to overlapping viewpoints, the tank's point cloud exhibits dense point cloud distribution in overlapping areas. To address this, steps B7 and B8 are used to reconstruct the tank surface and restore the point cloud based on the reconstructed surface. This method fills small holes, generates a smooth surface, and obtains a uniform point cloud that accurately reflects the shape characteristics of the tank's inner wall.
[0067] In a preferred embodiment, to accurately align the tank point cloud, step B6 involves aligning the tank point cloud, including: Step B61: Obtain the central axis of the tank point cloud based on the principal component analysis method (i.e., PCA); Step B62: Rotate the tank point cloud to make the central axis perpendicular to the XOY plane of the base coordinate system, thereby aligning the tank point cloud. Specifically, obtain the rotation matrix obtained in step B61 to rotate the central axis to be parallel to the Z-axis in the base coordinate system O-XYZ, and process the tank point cloud based on the rotation matrix to make the central axis of tank 3 perpendicular to the base coordinate system. Step B63: Calculate the cross-sectional area of the top and bottom of the aligned can body point cloud respectively; for example, calculate the cross-sectional area of the aligned can body point cloud at a distance d from the top and a distance d from the bottom, i.e., the cross-sectional area. The value of d is not limited to 5mm to 15mm, but preferably 10mm. Step B64: If the cross-sectional area of the top is less than or equal to the cross-sectional area of the bottom, it means that the can opening is facing upwards, and the can point cloud alignment process is completed. If the cross-sectional area at the top is greater than that at the bottom, then rotate and straighten the point cloud of the tank. After rotation, the cross-sectional area at the top of the straightened point cloud of the tank will be less than or equal to that at the bottom, thus completing the straightening process of the point cloud of the tank.
[0068] This implementation identifies the central axis, or principal line, of the tank point cloud using principal component analysis. However, it cannot analyze the relative position of the tank opening and bottom, nor can it guarantee the upward alignment of the tank opening. Therefore, the feature that the area of the opening of the ceramic tank 3 is smaller than the area of the bottom is used as an auxiliary method, combined with a rotation matrix, to achieve the final alignment of the tank point cloud.
[0069] In this embodiment, step B61, obtaining the central axis of the tank's point cloud based on principal component analysis, includes: Step B611 involves decentering the tank point cloud. For example, the decentering process involves calculating the centroid (also called the center point) of all points in the tank point cloud, i.e., the average coordinates of the points. Then, the coordinates of the centroid are subtracted from the coordinates of all points to complete decentering. Decentering makes the tank point cloud symmetrically distributed relative to the origin of the base coordinate system. If the point cloud is not decentered, the subsequent calculation of the covariance matrix will be affected by the overall position of the point cloud. After decentering, the coordinates of each point are relative to the center of the point cloud, thus eliminating the influence of positional offset.
[0070] Step B612: Calculate the covariance matrix of the decentralized tank point cloud along the X, Y, and Z axes of the base coordinate system. Let the three-dimensional coordinates of a point in the base coordinate system be (x, y, z). The covariance matrix of the tank point cloud describes the linear relationship between the X, Y, and Z axis coordinates (x, y, z). Therefore, the covariance matrix is expressed as: This indicates the calculation of the covariance of two variables.
[0071] Step B613 involves decomposing the covariance matrix to obtain multiple eigenvalues and eigenvectors corresponding to each eigenvalue, and selecting the eigenvector corresponding to the largest eigenvalue as the central axis of the tank point cloud. Preferably, singular value decomposition (SVD) is used to decompose the covariance matrix to obtain multiple eigenvalues and eigenvectors corresponding to each eigenvalue.
[0072] In this embodiment, the core of the principal component analysis method is to maximize the variance of the tank point cloud in the base coordinate system. The larger the variance, the more significant the change in the point cloud data along this coordinate axis, and therefore this direction is considered to contain more information. Therefore, by calculating the covariance matrix of the data, its eigenvalues and corresponding eigenvectors are found. The larger the eigenvalue, the greater the variance along the direction of the corresponding eigenvector; these eigenvectors are the principal components. Therefore, the eigenvector corresponding to the largest eigenvalue is selected as the direction of the greatest change in data variance, which is the principal axis of the point cloud data; for the tank point cloud, this is the central axis, which should be aligned parallel to the Z-axis of the base coordinate system. Clearly, in step B613, the eigenvector corresponding to the smallest eigenvalue is the normal vector of the tank point cloud.
[0073] In a preferred embodiment, during the scanning process of the scanning device 208, such as a 3D camera, scanning the inner wall of the tank 3, there may be incomplete point cloud data at a certain viewpoint. That is, the obtained point cloud is not a complete point cloud at that viewpoint, and there may be large-area incompleteness or internal incompleteness (such as the presence of voids). The reason for the incomplete point cloud may be that the scanning device 208 cannot scan a local part of the inner wall of the tank 3, or it may be that the point cloud is lost during data transmission. To avoid these problems and obtain a complete tank point cloud, before performing the transformation point cloud of all viewpoints during the automatic scanning process of the tank 3 by the stitching scanning device 208 to obtain the tank point cloud, that is, after performing step B4 and before performing step B5, the method provided by the present invention further includes: Determine if the transformed point cloud for each viewpoint is incomplete: If the point cloud of the perspective change is incomplete, it is determined whether the tank 3 is damaged. At this time, it can be manually determined whether the tank 3 being scanned or already scanned is damaged. If the tank 3 is damaged, the process ends, that is, the method provided in this embodiment ends. If the tank 3 is not damaged, it indicates that the point cloud transmission was abnormal or the scanning device 208 could not scan the inner wall of the tank 3. After executing step B5, the tank point cloud completion process is also executed. If the point cloud of the viewpoint transformation is not incomplete, then determine whether the point cloud of the next viewpoint transformation is incomplete. Continue until the point clouds of all viewpoint transformations have been determined, and then proceed to step B5.
[0074] In this embodiment, to adapt to the characteristics of large-area damage or internal voids in ceramic jars and accurately identify point cloud incompleteness, preferably, it involves determining whether the transformed point cloud at each viewpoint is incomplete, including: Step B451: Identify the connected regions of the transformed point cloud from this viewpoint. If the number of connected regions is greater than or equal to 2, it is considered that the transformed point cloud from this viewpoint has a large area of incompleteness. Step B452: Count the number of points in the transformed point cloud of this viewpoint whose curvature is greater than a preset curvature threshold. When the number of points whose curvature is greater than the preset curvature threshold is greater than the preset point count threshold, identify the connectivity between all points whose curvature is greater than the preset curvature threshold. If at least one connected cluster is formed among all points whose curvature is greater than the preset curvature threshold, it is considered that there is incompleteness inside the transformed point cloud of this viewpoint.
[0075] In this embodiment, the step of determining whether the transformed point cloud of each viewpoint is incomplete may include either step B451 or step B452.
[0076] In step B451, a surface connectivity test is used to check whether there are large-area defects in the transformed point cloud of the viewpoint. A complete point cloud should have high connectivity, and the transformed point cloud of the viewpoint should form a connected region after the surface connectivity test. If the transformed point cloud of the viewpoint has many separated regions (multiple connected clusters), it indicates that the transformed point cloud of the viewpoint may be missing or discontinuous. Therefore, when the number of connected regions is greater than or equal to 2, the transformed point cloud of the viewpoint is considered to have large-area defects. The surface connectivity test process of the point cloud is not limited to: treating each point in the point cloud as a node, using the KD-Tree neighborhood search method to quickly search for nearest neighbors for each node, connecting each point with its nearest neighbors with edges, and not connecting it with non-nearest neighbors. If the point cloud does not have large-area defects, a connected graph (also called a connected region) is formed; if the point cloud has large-area defects, two or more connected graphs will be formed.
[0077] If there are missing parts inside the tank 3, the curvature of the point cloud will be abnormal. However, since there are pores (cavities) inside the tank 3, high curvature point clouds will naturally be introduced. Point clouds with abnormal curvature values exceeding the quantity threshold will be connected. If connected clusters are formed, it indicates that the point cloud is incomplete, i.e., there are cavities. In step B452, the method for identifying the connectivity between all points with curvature greater than the preset curvature threshold can also refer to the identification method in step B451 above, and will not be repeated here.
[0078] In this embodiment, more preferably, to facilitate subsequent calculations such as the volume of tank 3, it is necessary to perform tank point cloud completion. The tank point cloud completion process includes: The scanning device 208 of the automatic scanning and detection device for the tank returns to the pose corresponding to the viewpoint where the transformed point cloud is incomplete, and rescans the inner wall of the tank 3 to obtain a new point cloud for that viewpoint. Determine if the new point cloud is incomplete. If the new point cloud is incomplete, it means that the previous point cloud incompleteness was caused by the loss of point cloud data transmission. Then, the new point cloud is added to the tank point cloud. If the new point cloud is incomplete, it means that the scanning device 208 has an area that cannot be successfully scanned from this viewpoint. Then, interpolation is performed on the reconstructed surface of the tank to complete the incompleteness.
[0079] In this embodiment, in step B7, the surface of the tank is reconstructed by performing surface reconstruction on the point cloud of the tank alignment. Preferably, the Poisson surface reconstruction method is selected, specifically including: Step (1) Calculate the normal vector of the point cloud of the tank being aligned.
[0080] The ceramic jar 3 is approximately an ellipsoid, and the curvature of jar 3 varies at different locations. The point cloud normal vector is obtained for surface reconstruction. A normal vector is the vector represented by a straight line perpendicular to a plane. In the aforementioned PCA principal component analysis, the eigenvector corresponding to the smallest eigenvalue of the covariance matrix decomposition was obtained as the point cloud normal vector of the local surface. The process of obtaining the normal vector for each point is as follows: ① For each point in the point cloud of the tank alignment, find its nearest neighbor. When designing the search algorithm, a KD-tree can be used as the search structure to accelerate the search for nearest neighbors. KD-trees can efficiently organize points in three-dimensional space, significantly improving the speed of nearest neighbor search.
[0081] ② Calculate the covariance matrix of these neighboring points; ③ Perform eigenvalue decomposition on the covariance matrix; ④ The eigenvector corresponding to the smallest eigenvalue is the direction of the normal vector.
[0082] Step (2) Merge the normal vector and point cloud coordinates to form a new point cloud representation.
[0083] The original point cloud data of the pottery jars does not include normal vector data. In the aforementioned process, the calculated normal vector data should be uniformly stored in the data structure of each point cloud. Therefore, it is necessary to merge the normal vector data and the point cloud data. The normal vector data structure uses four values of `normal` from `pcl:Normals` (normal x, normal y, normal z, curvature), namely, the x-normal vector, y-normal vector, z-normal vector, and the curvature value calculated using the covariance matrix of the neighborhood point set and singular value decomposition.
[0084] During merging, the x, y, z coordinates and normal data of the original point cloud are concatenated, and the data can be saved as a PCD point cloud file. By saving both the normal vector and coordinate data simultaneously, the local geometric features of the point cloud surface can be reflected, enabling more accurate surface fitting.
[0085] Step (3) Reconstruct the Poisson surface.
[0086] Poisson Surface Reconstruction is a surface reconstruction algorithm that constructs the Poisson equation by calculating the normal vector field and solving for the implicit surface, ultimately extracting the isosurface to generate a mesh. The core idea is to distinguish between the interior and exterior of an object, with the normal vectors of the object's point cloud data indicating the interior and exterior. By implicitly fitting the object's indicator function, an estimate of the object's surface is obtained; that is, by transforming the information of discrete points on the object's surface into a continuous surface function, the surface is constructed. If the exponential function value of each point in the tank's alignment point cloud is obtained, the surface of the entire tank's alignment point cloud can be determined. The Poisson Reconstruction algorithm outputs a triangular mesh model of the tank.
[0087] If the newly obtained point cloud is still incomplete in this step, interpolation is performed on the reconstructed surface of the tank (i.e., the Poisson reconstruction algorithm outputs a triangular mesh model) to complete it.
[0088] In this embodiment, to improve the accuracy of the subsequent calculation of the internal volume of the ceramic jar, the reconstructed surface of the jar, i.e., the triangular mesh model output by the Poisson reconstruction algorithm, inevitably has reconstruction errors. Therefore, in this application, point cloud data is used to calculate the internal volume of the jar. In step B8, the step of obtaining the jar's restored point cloud based on the reconstructed surface of the jar specifically involves extracting the vertices of the reconstructed surface and restoring the mesh representation of the reconstructed surface of the jar to a point cloud representation.
[0089] This invention discloses a method for calculating the internal volume of an irregular tank.
[0090] In a preferred embodiment, a method for calculating the internal volume of an irregularly shaped tank is provided below. Figure 16 ,include: Step C1: Read the point cloud inside the tank. The point cloud inside the tank is obtained by processing and stitching the point cloud scanned from the inner wall of the tank 3.
[0091] It is understandable that the internal point cloud of the tank is read from the internal memory of the execution entity of the method for calculating the internal volume of the irregular tank via a communication interface, or from an external memory connected to the execution entity, or from other entities. The internal point cloud of the tank is obtained by scanning the inner wall of the tank 3 along a preset scanning path using the scanning device 208 of the automatic tank scanning detection device, obtaining point clouds from multiple perspectives of the scanning device 208, and then processing and stitching the point clouds from multiple perspectives to obtain the internal point cloud of the tank.
[0092] Preferably, the automatic tank scanning and detection device is the automatic tank scanning and detection device provided by the present invention. More preferably, the internal scanning of the tank 3 can be performed according to the automatic non-destructive scanning method of the present invention to obtain point cloud and attitude data from multiple perspectives of the scanning device 208. More preferably, the tank reconstruction point cloud obtained based on the featureless tank point cloud processing and stitching method provided by the present invention is used as the internal point cloud of the tank in this embodiment.
[0093] In this embodiment, the process of acquiring the point cloud inside the tank can be as follows: acquiring the point cloud and attitude data of the scanning device 208 at each viewpoint during the scanning of the inner wall of the tank 3 by the automatic scanning and detection device; obtaining the transformation matrix of the viewpoint based on the external parameter file of the scanning device 208 and the attitude data at each viewpoint; preprocessing the point cloud at each viewpoint to obtain the preprocessed point cloud at that viewpoint; performing coordinate transformation on the preprocessed point cloud at each viewpoint based on the transformation matrix at each viewpoint to obtain the transformed point cloud at that viewpoint; stitching together the transformed point clouds at all views during the automatic scanning of the tank 3 by the scanning device 208 to obtain the tank point cloud, and using the tank point cloud as the internal point cloud of the tank. Alternatively, the process of acquiring the internal point cloud of the tank can also include: after obtaining the above-mentioned tank point cloud, performing surface reconstruction on the tank point cloud to obtain the reconstructed surface of the tank; obtaining the restored point cloud of the tank based on the reconstructed surface of the tank, and using the restored point cloud of the tank as the internal point cloud of the tank. The specific processing steps of the above steps can refer to some steps in the above-mentioned method for processing and stitching point clouds of tanks without features provided by the present invention, and will not be repeated here.
[0094] Step C2: Determine the reference plane of the point cloud inside the tank, and start from the reference plane to divide the point cloud inside the tank into slices along the height direction to obtain multiple slices.
[0095] Specifically, the reference plane is the starting plane for calculating the internal volume of the tank. Its acquisition process includes: obtaining the zero-point plane of the point cloud inside the tank and the basic coordinate system (which can be the aforementioned basic coordinate system O-XYZ); translating the point cloud inside the tank by a certain height so that the zero-point plane of the point cloud inside the tank is aligned with the zero-point plane of the coordinate system (i.e., the XOY plane). Generally, the zero-point plane of the point cloud inside the tank is the plane circumscribed by the top or bottom of the tank and parallel to the XOY plane, and the height direction of the point cloud inside the tank is the Z-axis direction of the basic coordinate system.
[0096] In this embodiment, the heights of the multiple slices obtained in step C2 may be the same or different. If the slice heights are not completely equal, the slice height can be set according to the curvature of the local point cloud inside the tank. For example, the greater the local curvature of the point cloud inside the tank, the smaller the slice height of that local point cloud should be.
[0097] To facilitate rapid slicing and accelerate processing efficiency, preferably, in step C2, the tank is divided into equal-height slices starting from the reference plane along the height direction of the point cloud inside the tank, according to a preset slicing height, to obtain multiple slices, with the minimum Z-axis coordinate of the point cloud inside the tank as the dividing point. Starting from the maximum value of the Z-axis coordinate of the point cloud inside the tank, Using the endpoint as the dividing point, the process is repeated to obtain multiple slices.
[0098] Step C3: Project all points of each slice onto the reference plane, obtain the minimum bounding boundary of the projected points of each slice on the reference plane, and multiply the internal area of the minimum bounding boundary of each slice by the height of the slice to obtain the volume of the slice.
[0099] It is understandable that the reference plane is the XOY plane, which serves as the projection plane. For any point P(x,y,z) in three-dimensional space, the coordinates of its orthogonal projection point P'(x',y') on the XOY plane are calculated as x'=x, y'=y. In other words, the z-coordinate value of the point is directly discarded, and the x and y coordinates are used as the coordinates on the two-dimensional projection plane.
[0100] Step C4: Accumulate the volumes of all slices of the point cloud inside the tank to obtain the internal volume of the tank. Use the sum of the accumulated volumes as the internal volume of the tank.
[0101] Step C5: Store the internal volume of the tank. The internal volume of the tank is stored in the internal memory of the execution subject of the method for calculating the internal volume of an irregular tank provided in this embodiment, or in its external memory, or in a preset database.
[0102] The larger the number of slices, the smaller the area difference between the upper and lower cross sections of the slice point cloud. Therefore, the smaller the internal area difference of the minimum bounding boundary between adjacent slices, the more accurate the final tank internal volume is obtained. However, the computational load is large, reducing processing efficiency. Conversely, when the number of slices is small, although the computational load is reduced and the processing efficiency is improved, the area difference between the upper and lower cross sections of the slice point cloud is large, and the internal area difference of the minimum bounding boundary between adjacent slices is also large, resulting in lower accuracy of the final tank internal volume. To reconcile the contradiction between computational load and tank internal volume accuracy, a preset slice height is found that satisfies both moderate computational load and high tank internal volume accuracy. In a preferred embodiment, the preset slice height is selected as follows: For tank 3 of the same specification, select the point cloud inside one tank 3, and set the preset slice height. The range of values is , Indicates rounding up. Starting from 6, iterate through the value range in increments of 1 or 2. Each time a value is traversed (i.e.) When traversing the values, calculate the objective function value. After traversing its range of values, select the value with the minimum objective function value. The traversal value as The selected value is used as the final preset slice height. Later, for other tanks of this specification (tank 3), the internal point cloud was sliced using the selected traversal values as the preset slice height. The objective function is: Indicates according to The current traversal value is the slice index after slicing the point cloud inside the tank. Indicates according to The current traversal value is used to slice the point cloud inside the tank. The interior area of the minimum enclosing boundary. Indicates according to The current traversal value is used to slice the point cloud inside the tank. The internal area of the minimum enclosing boundary.
[0103] This embodiment uses a reference plane as the starting plane for calculating the tank volume. It is aligned with the coordinate system of the point cloud inside the tank. After slicing along the height direction of the point cloud inside the tank, each slice is projected onto the reference plane. The area inside the minimum bounding boundary of each slice's projection point is used as the bottom area of that slice, which improves the accuracy of the bottom area. The volume of each slice is calculated separately by multiplying the area inside the minimum bounding boundary by the height of that slice. The volumes of all slices are then summed to obtain the internal volume of the tank, which improves the accuracy of the internal volume of the tank.
[0104] In a preferred embodiment, after reading the point cloud inside the tank in step C1, the method further includes: Perform a compliance check on the point cloud inside the tank. If the point cloud inside the tank is compliant, then determine the reference plane for the point cloud inside the tank. If the point cloud inside the tank is not compliant, then end the process.
[0105] In this embodiment, the process of determining the compliance of the point cloud inside the tank is as follows: if the point cloud inside the tank is aligned and the tank opening faces upwards, the point cloud inside the tank is considered compliant; if it is not aligned and the tank opening faces downwards, the point cloud inside the tank is considered non-compliant. The alignment of the point cloud inside the tank can be determined by: obtaining the central axis of the point cloud inside the tank using the principal component analysis method in the featureless tank point cloud processing and stitching method provided by this invention; and determining whether the central axis is parallel to the Z-axis. If it is parallel, it is considered aligned; if it is not parallel, it is considered not aligned. Alternatively, the orientation of the tank opening can be determined using the tank opening orientation method in the featureless tank point cloud processing and stitching method provided by this invention.
[0106] In a preferred embodiment, after performing step C2 and before performing step C3 to project all points of each slice onto the reference plane, the method further includes: Repeat the following steps until the number of points in all slices is greater than the first point threshold: The number of points within each slice is counted. If the number of points in a slice is less than or equal to a preset first point threshold, the slice is merged with a neighboring slice whose point count is greater than a second point threshold. The height of the merged slice is the sum of the heights of the two merged slices. The second point threshold is greater than the first point threshold. A neighboring slice whose point count is greater than the second point threshold can be the slice preceding or following the current slice. In this embodiment, the first point threshold can be 2, and the second point threshold can be 3.
[0107] In this embodiment, slices with a number of points less than or equal to the first point threshold are excluded through the above processing, because such slices cannot effectively obtain the minimum enclosing boundary and calculate their internal area, thereby improving the reliability of the entire algorithm.
[0108] In a preferred embodiment, in step C3, all points of each slice are projected onto a reference plane to obtain the minimum bounding boundary of the projected points of each slice on the reference plane, and the minimum bounding boundary of the projected points of each slice on the reference plane is obtained based on the convex hull method.
[0109] It is understood that the convex hull method is an algorithm used to obtain the minimum enclosing polygon of a planar point set. The principle of the convex hull method is to find the minimum convex polygon containing the set of points projected onto the reference plane for each slice, ensuring that the line connecting any two points within the minimum convex polygon lies entirely inside that polygon. The convex hull construction of the projected points after slicing uses an incremental method (QuickHull), which can quickly process large-scale point cloud data. For example, as... Figure 17 As shown, the principle of convex hull calculation is as follows: ① Randomly select four initial projection points to form a tetrahedron; ② Traverse the remaining projection points and use the ray casting method to determine whether the projection points are located inside the convex hull; ③ Add the external projection points to the convex hull vertex set and recalculate the convex hull.
[0110] In a preferred embodiment, to accurately calculate the internal area of the minimum enclosing boundary, the internal area of the minimum enclosing boundary of each slice is calculated using the shoelace formula.
[0111] Specifically, for a projected point cloud already projected onto a two-dimensional plane, its minimum bounding boundary is essentially a polygon. To calculate the area of this polygon on the plane, the shoelace formula is needed. The shoelace formula is defined as follows: the coordinates of the polygon vertices are arranged in clockwise or counterclockwise order, denoted as (x1, y1), (x2, y2), ..., (x...). n y n Connect the first and last vertices to form a closed figure. When calculating the area, multiply the coordinates of adjacent vertices by cross; the first part is x1y2 + x2y3 + ... + x n y1, the latter half of which is y1x2 + y2x3 + ... + y n x1, the area is half the absolute value of the difference between the two. in, Let be the coordinates of vertex i of the minimum bounding boundary in the projection plane, n be the number of vertices of the minimum bounding boundary, and det() represent the determinant operation. This formula calculates twice the area by traversing the vertices of the minimum bounding boundary and calculating the sum of the cross products of the vectors formed by the coordinates of adjacent points (which needs to be divided by 2). Let be the coordinates of vertex i of the minimum bounding boundary in the projection plane.
[0112] In a preferred embodiment, a unique tank number is assigned to each tank 3, and a volume lookup table is set for each tank 3, with the tank number bound to the volume lookup table. The volume lookup table includes the slice number of each slice, as well as the height of that slice, the cumulative height of the slices, the cumulative volume of the slices, and the volume of the slice associated with that slice number. When obtaining the liquid level height inside the tank, the volume lookup table bound to the tank number is found, and the liquid level height inside the tank is matched with the found volume lookup table to obtain the volume of the liquid inside the tank. Preferably, the volume lookup table is stored in a preset database.
Claims
1. A featureless can body point cloud processing and stitching method, characterized in that, The method comprises: acquiring point cloud and pose data of a scanning device (208) at each view angle in a scanning process of a tank body (3) inner wall by a tank body automatic scanning detection device; obtaining a transformation matrix of the view angle based on an external parameter file of the scanning device (208) and the pose data at the view angle; preprocessing the point cloud of each view angle to obtain preprocessed point cloud of the view angle; performing coordinate transformation on the preprocessed point cloud of the view angle based on the transformation matrix of the view angle to obtain transformed point cloud of the view angle; splicing the transformed point cloud of all view angles of the scanning device (208) in the automatic scanning process of the tank body (3) to obtain tank body point cloud; performing alignment processing on the tank body point cloud to obtain aligned tank body point cloud; performing surface reconstruction on the aligned tank body point cloud to obtain tank body reconstructed surface; obtaining tank body restoration point cloud based on the tank body reconstructed surface.
2. The featureless can body point cloud processing and stitching method of claim 1, wherein, The preprocessing comprises at least one of the following three processes: outlier point cloud removal, point cloud filtering and point cloud downsampling.
3. The featureless can body point cloud processing and stitching method of claim 2, wherein, When the point cloud of each view angle is subjected to point cloud downsampling, the following steps are included: dividing the point cloud of each view angle into a uniform three-dimensional voxel grid, and retaining only one representative point in each voxel.
4. The featureless can body point cloud processing and stitching method of claim 1, wherein, The alignment processing on the tank body point cloud comprises: obtaining a central axis of the tank body point cloud based on a principal component analysis method; performing rotation processing on the tank body point cloud to make the central axis perpendicular to the XOY plane of the base coordinate system to obtain the aligned tank body point cloud; calculating the cross-sectional area of the top and bottom of the aligned tank body point cloud, respectively; if the cross-sectional area of the top is less than or equal to that of the bottom, the alignment processing of the tank body point cloud is completed; if the cross-sectional area of the top is greater than that of the bottom, the aligned tank body point cloud is rotated, and the cross-sectional area of the top of the rotated aligned tank body point cloud is less than or equal to that of the bottom, and the alignment processing of the tank body point cloud is completed.
5. The featureless can body point cloud processing and stitching method of claim 4, wherein, The obtaining of the central axis of the tank body point cloud based on the principal component analysis method comprises: performing decentralization processing on the tank body point cloud; calculating the covariance matrix of the tank body point cloud after the decentralization processing in the X, Y and Z three axes of the base coordinate system; decomposing the covariance matrix to obtain a plurality of characteristic values and a characteristic vector corresponding to each characteristic value, and selecting the characteristic vector corresponding to the largest characteristic value as the central axis of the tank body point cloud.
6. The featureless can body point cloud processing and stitching method of any one of claims 1-5, wherein, Before the splicing of the transformed point cloud of all view angles of the scanning device (208) in the automatic scanning process of the tank body (3) to obtain the tank body point cloud, the following steps are further included: judging whether the transformed point cloud of each view angle is incomplete, if the transformed point cloud of the view angle is incomplete, judging whether the tank body (3) is damaged, if the tank body (3) is damaged, the process is ended, if the tank body (3) is not damaged, after the splicing of the transformed point cloud of all view angles of the scanning device (208) in the automatic scanning process of the tank body (3) to obtain the tank body point cloud, the tank body point cloud completion processing is further performed; if the transformed point cloud of the view angle is not incomplete, judging whether the transformed point cloud of the next view angle is incomplete.
7. The featureless can body point cloud processing and stitching method of claim 6, wherein, The judgment of whether the transformed point cloud of each view angle is incomplete comprises: identifying the connected regions of the transformed point cloud of the view angle, if the number of the connected regions is greater than or equal to 2, it is considered that the transformed point cloud of the view angle is incomplete in a large area. The number of points with curvature greater than the preset curvature threshold in the transformed point cloud of the view angle is counted. When the number of points with curvature greater than the preset curvature threshold is greater than a preset point number threshold, the connectivity between all points with curvature greater than the preset curvature threshold is identified. If at least one connected cluster is formed among all points with curvature greater than the preset curvature threshold, it is considered that there is a defect in the interior of the transformed point cloud of the view angle.
8. The featureless can body point cloud processing and stitching method of claim 6, wherein, The tank point cloud completion processing includes: The scanning device (208) of the tank automatic scanning detection device is controlled to return to the pose corresponding to the view angle where the transformed point cloud has defects, and the inner wall of the tank (3) is scanned again to obtain a new point cloud of the view angle; It is judged whether the new point cloud has defects. If the new point cloud has no defects, the new point cloud is completed in the tank point cloud. If the new point cloud has defects, interpolation completion is performed on the tank reconstructed surface.
9. An irregular tank body internal volume calculation method characterized by, The method includes: The steps of the method of any one of claims 1-8 are performed to obtain a tank restoration point cloud, and the tank restoration point cloud is taken as a tank interior point cloud; The tank interior point cloud is read, and the tank interior point cloud is obtained based on tank inner wall scanning point cloud processing and splicing; A reference plane of the tank interior point cloud is determined, and slicing is performed along the height direction of the tank interior point cloud starting from the reference plane to obtain a plurality of slices; All points of each slice are projected on the reference plane to obtain the minimum enclosing boundary of the projection points of each slice on the reference plane. The volume of each slice is obtained by multiplying the internal area of the minimum enclosing boundary of each slice by the height of the slice. The volumes of all slices of the tank interior point cloud are accumulated to obtain a tank interior volume, and a volume query table is constructed; The tank interior volume is stored.
Citation Information
Patent Citations
Positioning material-pressing trolley
CN203418029U