Body size measurement method and system based on West Anhui white goose three-dimensional point cloud multi-view matching
By using a multi-view depth camera and an anatomically constrained point cloud matching method, the problem of finding the local optimum in the body size measurement of white geese in western Anhui Province using the traditional ICP algorithm was solved, realizing high-precision automated body size measurement of white geese, applicable to white geese with different postures and body shapes.
Patent Information
- Application Number
- CN202511125461.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-08-12
- Publication Date
- 2025-11-18
AI Technical Summary
Traditional ICP algorithms are prone to getting stuck in local optima during multi-view point cloud fusion, resulting in cracks, overlaps or misalignments in the splicing results of body size measurements of white geese in western Anhui, affecting measurement accuracy and reliability, and ignoring the anatomical constraints of the organism.
Multiple depth cameras were used to simultaneously acquire RGB images and depth map data of white geese. The RANSAC algorithm was used for ground query and plane fitting, and the ICP algorithm was used for coarse and fine registration. Anatomical constraints were introduced to optimize the objective function to ensure that the registration results conform to the biological structure of white geese.
It improves the accuracy and robustness of point cloud registration, realizes high-precision automated measurement of white goose body size, applicable to white geese of different postures and body sizes, and non-contact measurement improves the authenticity and repeatability of data.
Smart Images

Figure CN120976277A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of point cloud matching algorithm technology, and more specifically, to a body size measurement method and system based on multi-view matching of three-dimensional point clouds of white geese in western Anhui. Background Technology
[0002] In the Anhui white goose breeding industry, accurate body size measurement is of great significance for breed selection, growth monitoring, and health assessment. Traditional body size measurement methods rely on manual operation, which is not only inefficient but also prone to causing stress to the animals, affecting measurement accuracy.
[0003] To address the aforementioned issues, multi-view 3D point cloud technology can be used for non-contact measurement. However, during the multi-view point cloud fusion process, due to pose differences and calibration errors between depth cameras, the traditional ICP algorithm is prone to getting stuck in local optima when performing point cloud registration. This results in obvious cracks, overlaps, or misalignments in the stitching results, affecting the accuracy and reliability of body size measurement.
[0004] Specifically, traditional point cloud matching algorithms have the following technical problems:
[0005] 1. It only considers geometric similarity and ignores the inherent anatomical constraints of organisms;
[0006] 2. When there are large differences in viewing angle or uneven point cloud quality, it is easy to produce registration results that do not conform to reality;
[0007] 3. Lack of reliable initial correspondence leads to low quality of registration starting point;
[0008] 4. The biological validity of the registration results cannot be guaranteed. Summary of the Invention
[0009] This invention provides a body size measurement method and system based on multi-view matching of three-dimensional point clouds of white geese in western Anhui. It solves the technical problem in related technologies that, during the multi-view point cloud fusion process, due to pose differences and calibration errors between cameras, the traditional ICP algorithm is prone to getting trapped in local optima when performing point cloud registration, resulting in obvious cracks, overlaps or misalignments in the stitching results, which affects the accuracy and reliability of body size measurement.
[0010] This invention provides a body size measurement method based on multi-view matching of three-dimensional point clouds of white geese in western Anhui, comprising the following steps:
[0011] RGB images and depth map data of white geese in western Anhui were acquired simultaneously using depth cameras from multiple directions; the RGB images and depth maps were fused using the intrinsic parameters of the depth cameras to construct the initial point cloud data.
[0012] Preprocess the point cloud data; use the RANSAC algorithm for ground query and plane fitting; denoise and downsample the point clouds from multiple perspectives, extract feature points and perform descriptor matching, use the ICP algorithm for coarse and fine registration, and fuse the point clouds from multiple perspectives; extract the goose outline and key feature points, and calculate the body size parameters of the goose.
[0013] The ICP algorithm calculates the rotation matrix and translation vector iteratively until the mean square error is less than a preset threshold or the maximum number of iterations is reached.
[0014] Furthermore, the depth camera is a time-of-flight depth camera, and the multiple depth cameras are respectively placed in multiple locations in the center of the Anhui West White Goose to achieve 360-degree all-round coverage.
[0015] Furthermore, the coordinate system transformation includes:
[0016] Rotate the point cloud 90 degrees around the X-axis to align the depth camera coordinate system with the world coordinate system.
[0017] Furthermore, the steps of the RANSAC algorithm for ground query and plane fitting include:
[0018] Randomly select the smallest subset from the point cloud to fit a candidate planar model;
[0019] Calculate the perpendicular distance from all points to the plane, and mark points whose distance is less than a threshold as interior points;
[0020] Iteratively update the planar model with the most interior points until the maximum number of iterations is reached or convergence occurs.
[0021] Extract the normal vector of the detection plane, and calculate the rotation axis and rotation angle between the normal vector and the z-axis unit vector;
[0022] Calculate the translation vector and translate the plane to the position z = 0;
[0023] A transformation matrix is applied to the entire point cloud to achieve normalization.
[0024] Furthermore, the steps of coarse registration and fine registration performed by the ICP algorithm include:
[0025] Noise reduction is performed on point clouds from multiple perspectives, using statistical filtering and radius filtering to remove isolated noise points;
[0026] Use voxel grid filtering to reduce point cloud density;
[0027] Descriptor matching is performed on key points extracted from adjacent viewpoints;
[0028] Estimation of the initial rotation matrix and translation vector based on the RANSAC algorithm;
[0029] The rotation matrix and translation vector are calculated using SVD, and this process is repeated until convergence.
[0030] Furthermore, the calculation of the body size parameters includes:
[0031] Project the point cloud of white geese in western Anhui onto the xoz plane and extract the outer points of the point cloud to obtain the contour curve;
[0032] Point cloud information of the beak and legs was extracted using a custom RGB color extraction algorithm;
[0033] The minimum and maximum values of the z-coordinate are found by traversing the leg point cloud, and the tibia length is calculated.
[0034] Find the point cloud with the maximum value in the z-coordinate, and calculate the height based on the tibial length;
[0035] Find the maximum and minimum x-values in the foot point cloud and calculate the foot length;
[0036] The curve function of the semi-submersible length is fitted using back information, and the curve length is calculated using the discrete point integration method.
[0037] Furthermore, a body size measurement method based on multi-view matching of three-dimensional point clouds of Anhui white geese also includes the following steps:
[0038] A database of anatomical features of white geese is constructed, which includes a set of key anatomical landmarks, a spatial relationship matrix between landmarks, local feature descriptors around the landmarks, and a standard template of the white goose skeleton surface.
[0039] Analyze and identify landmark points in point cloud data from various perspectives to establish initial correspondences;
[0040] Anatomical constraints are introduced as regularization terms into the ICP optimization objective function to achieve a two-stage optimized registration process of coarse registration and fine registration.
[0041] Point cloud data from multiple perspectives are fused, and the fusion results are post-processed and optimized to form a complete 3D model of the white goose.
[0042] The objective function for the fine registration stage is that the total error is equal to the weighted sum of the ICP distance error term and the anatomical constraint term. The ICP distance error term is the distance error calculation of the traditional ICP algorithm, the anatomical constraint term is used to ensure that the registration result conforms to the biological structure of the white goose, and the weight coefficient is used to balance the influence of geometric similarity and anatomical constraints.
[0043] Furthermore, the steps for identifying and matching anatomical landmarks include:
[0044] For the point cloud of each viewpoint, a candidate set of anatomical landmarks is identified using local curvature analysis and geometric feature extraction algorithms;
[0045] For each candidate point, its local feature descriptor is calculated and matched with the standard descriptor in the feature library to obtain a similarity score;
[0046] Using the random sampling consensus algorithm, combined with spatial relationship constraints between landmarks, the most likely set of anatomical landmarks is selected from the candidate set.
[0047] Establish the correspondence between marker points in point clouds from different perspectives to form an initial set of matching point pairs.
[0048] Furthermore, the anatomical constraint term is calculated as follows:
[0049] The anatomical constraint term is equal to the sum of squares of the differences in anatomical features between the transformed point cloud and the target point cloud. The function that evaluates the consistency between the point cloud and the anatomical features is used to extract specific anatomical feature parameters of the point cloud. The transformed point cloud refers to the source point cloud processed by the transformation matrix, and the target point cloud refers to the point cloud that needs to be registered with it.
[0050] This invention provides a body size measurement system based on multi-view matching of 3D point clouds of Anhui white geese, used to perform the aforementioned body size measurement method based on multi-view matching of 3D point clouds of Anhui white geese, including:
[0051] Multiple depth cameras were placed at different locations on the Anhui white goose to simultaneously acquire RGB images and depth map data;
[0052] A data processing unit is used to perform the method of any one of claims 1 to 9, including point cloud construction, point cloud preprocessing, multi-view point cloud registration, and volume scale parameter calculation.
[0053] The display unit is used to display the processed 3D point cloud model and the calculation results of volume scale parameters.
[0054] The storage unit is used to store the raw data, the processed point cloud data, and the results of the body size parameter calculation.
[0055] The beneficial effects of this invention are as follows: by introducing a point cloud matching framework with anatomical prior constraints, the registration accuracy is improved, the robustness is enhanced, the splicing misalignment problem in traditional methods is effectively solved, and the ability to recognize minute features is improved.
[0056] Through multi-view hardware collaborative acquisition and software algorithm processing, high-precision 3D reconstruction and body size measurement of white geese were achieved;
[0057] The provided automatic measurement method for white geese body size enables accurate identification of key parts such as the beak and feet of white geese. The entire process is automated, the calculation is efficient and reliable, and it is applicable to white geese of different postures and body sizes. The non-contact measurement improves the authenticity and repeatability of the data. Attached Figure Description
[0058] Figure 1 This is a system design flowchart of the present invention;
[0059] Figure 2 This is a schematic diagram of the hardware platform design of the present invention;
[0060] Figure 3 This is a schematic diagram of the RGB-D synthesized point cloud of the present invention;
[0061] Figure 4 This invention uses a custom pass-through filter point cloud diagram;
[0062] Figure 5 This is the coordinate system transformation diagram of the present invention;
[0063] Figure 6 The RANSAC method of this invention is used to find the maximum planar graph;
[0064] Figure 7 This is a diagram illustrating the point cloud rotation operation of the present invention;
[0065] Figure 8 This is a diagram illustrating the point cloud translation operation of the present invention;
[0066] Figure 9 This is a flowchart of the ICP point cloud fitting process of the present invention;
[0067] Figure 10 This is a point cloud ICP matching result image;
[0068] Figure 11 This is a diagram showing the noise point processing.
[0069] Figure 12 This is the image before plane fitting;
[0070] Figure 13 This is the image after planar fitting;
[0071] Figure 14 It is a point cloud extraction image of claws and beak;
[0072] Figure 15 It is a planar fit diagram of the claws and beak;
[0073] Figure 16 This is a curve fitting diagram of the back side. Detailed Implementation
[0074] The subject matter described herein will now be discussed with reference to exemplary embodiments. It should be understood that these embodiments are discussed only to enable those skilled in the art to better understand and implement the subject matter described herein, and changes may be made to the function and arrangement of the elements discussed without departing from the scope of this specification. Various processes or components may be omitted, substituted, or added as needed in the examples. Furthermore, some features described in the examples may be combined in other examples.
[0075] Example 1
[0076] A method for body size measurement based on multi-view matching of 3D point clouds of white geese in western Anhui Province includes the following steps:
[0077] Step 1, Point Cloud Generation
[0078] Data acquisition is fundamental to creating a point cloud dataset. Using a FemtoBolt depth camera, both RGB and depth images are simultaneously acquired. Combined with camera intrinsics, a point cloud dataset is constructed. By utilizing the depth camera's internal parameters, such as scaling factor, focal length, X-center point, and Y-center point, the 3D coordinates (x, z) of each pixel can be calculated. Using this depth information, each pixel is transformed to its position in 3D space, constructing a point cloud composed of a series of 3D points. This point cloud is used to characterize the geometric contours of objects or scenes. `v` represents the coordinates of a pixel in the 2D image, and `depth(u, v)` returns the distance stored at the pixel. Figure 3 As shown, depth maps and color maps can be synthesized into two types of point clouds: PointXYZ and PointXYZRGB. The specific formulas are as follows:
[0079]
[0080] Where x is the x-coordinate in three-dimensional space, z is the depth value, and focal length is the focal length. length The focal length is the camera's focal length, u is the horizontal coordinate of the pixel, and center is the center point. x The horizontal coordinates of the image center point.
[0081]
[0082] Where y is the y-coordinate in three-dimensional space, z is the depth value, and focal length is the focal length. length The focal length is the camera's focal length, v is the vertical coordinate of the pixel, and center is the center point. y The vertical coordinates of the image center point.
[0083]
[0084] Where z is the z-coordinate in 3D space, depth(u, v) is the depth value at pixel (u, v), and scalingfocal This is the depth scaling factor.
[0085] Step 2, Point Cloud Preprocessing
[0086] Step 2-1, Method for filtering outliers
[0087] In the experiment designed in this paper, due to limitations of the camera itself, there are a large number of points with XYZ coordinates of (0, 0, 0) and RGB values of (0, 0, 0). These points are outliers and invalid points. Since existing filters cannot effectively remove these outliers, a method combining color filters and XYZ filters is designed to filter them by observing the XYZ and RGB values of relevant points. First, it was found that 10% of the points have (X, Y, Z) values of (0, 0, 0) or a distance to a distant point less than a certain threshold. These points are caused by the camera hardware. A radius pass-through filter was designed. When the distance of a point in the point cloud to the origin is less than the threshold, it is considered an invalid point and is filtered out.
[0088] like Figure 4 Table 1 shows the image representation of the point cloud after filtering out noise points using a custom pass-through filter, and the retention rate of the filtered noise points, respectively. This custom filter is also used as a method for subsequent effective point extraction of geese.
[0089] Table 1 Retention Rate Using a Custom Pass-Through Filter
[0090] Point cloud perspective Before filtering After filtering Retention rate Perspective 1 8294400 521676 6.3% Perspective 2 8294400 645696 7.8% Perspective 3 8294400 720684 8.7% Perspective 4 8294400 643572 7.8% Perspective 5 8294400 503964 6.1% Perspective 6 8294400 657216 7.9% Perspective 7 8294400 710568 8.6% Perspective 8 8294400 637200 7.7%
[0091] Step 2-2, Statistical Discrete Point Filtering Method
[0092] During the point cloud formation process, due to the multipath effect of depth cameras and environmental factors, depth maps and RGB images may introduce noisy data, duplicate points, or inaccurate points. These discrete points can affect the quality of the point cloud, causing measurement errors or incorrect analysis results. Discrete point filtering is a crucial step in improving point cloud quality. Firstly, when using statistical discrete point filters, it is necessary to filter any point p in the goose point cloud model. i In its neighborhood set N(p i Calculate the set distance d between all neighboring points of k threshold points. ij Calculate each point p i The average neighborhood distance μ i The mean distance μ and standard deviation σ of the entire point cloud are obtained. A dynamic threshold T is set, and points whose neighborhood mean distance significantly deviates from the mean are removed, where α is the standard deviation multiplier. The specific statistical formula for the discrete point filter is as follows:
[0093]
[0094] Where, d ij p i To its neighborhood point p j The Euclidean distance, p i p represents the point currently under investigation. j p i Points within the neighborhood, N(p) i ) represents point p i Neighborhood set;
[0095]
[0096] Where, μ i Point p i The average neighborhood distance, where k represents the number of points in the neighborhood d. ij Point p i The distance to the j-th point in its neighborhood;
[0097]
[0098] Where μ represents the mean of the neighborhood average distances of all points, σ represents the standard deviation, and N cloud μ represents the total number of points in the point cloud. i This represents the average neighborhood distance of the i-th point;
[0099] T=μ+α·σ
[0100] Where T represents the dynamic threshold, α represents the standard deviation multiplier, used to control the strictness of the threshold, μ represents the mean, and σ represents the standard deviation.
[0101] Steps 2-3, Coordinate Transformation Method
[0102] In 3D point cloud processing, rotation is a common geometric transformation. Because the coordinate system of the depth camera differs from the world coordinate system, Figure 5 The coordinate system transformation relationship shown indicates that the point cloud is rotated 90 degrees around the X-axis. This method is applicable to tasks such as pose adjustment and coordinate alignment of goose point cloud models.
[0103] The transformation matrix for rotating 90 degrees around the X-axis is:
[0104]
[0105] Among them, R x This represents the transformation matrix for rotation around the X-axis. cos90° represents the cosine of the 90-degree angle, which is equal to 0, and sin90° represents the sine of the 90-degree angle, which is equal to 1. The 1, 0, and -1 in the matrix are the specific rotation transformation coefficients.
[0106] For any point p = (x, y, z) in the point cloud, the rotated coordinates are:
[0107]
[0108] Where p′ represents the coordinates of the point after the rotation transformation, R x The matrix represents the transformation matrix around the X-axis, p represents the original point coordinates (x, y, z), * represents matrix multiplication, and the matrix on the right represents the new coordinates after the transformation: x remains unchanged, y becomes -z, and z becomes y.
[0109] High-precision rotation of point clouds is achieved through geometric transformation matrices, providing reliable support for the pose adjustment and coordinate alignment of goose point cloud models.
[0110] Step 3, Multi-view point cloud fusion
[0111] Step 3-1, RANSAC-based ground query method
[0112] RANSAC uses iterative random sampling to evaluate interior points after model fitting, making it suitable for situations with a large number of outliers. During ground detection, the ground is assumed to be a plane, so RANSAC can be used to fit a plane model to distinguish between ground points and non-ground points.
[0113] In the 3D point cloud processing of geese, accurate segmentation of the ground point cloud is fundamental for body size parameter calculation and attitude analysis. For cases where ground point clouds are mixed with non-ground points (such as feathers and sensor noise), a RANSAC (Random Sample Consensus)-based ground query method is used. Robust plane fitting is employed to achieve accurate localization of the ground region. The specific application of this method in the experiment is as follows:
[0114] Random sampling: Randomly select the smallest subset (e.g., 3 points) from the point cloud to fit a candidate planar model.
[0115] d th Interior point determination: Calculate the perpendicular distance from all points to the plane, and mark the points whose distance is less than the threshold as interior points.
[0116] Model optimization: Iteratively update the planar model with the most interior points until the maximum number of iterations is reached or convergence is achieved.
[0117] ax + by + cz + d = 0
[0118]
[0119] Where A, B, C, and D are the coefficients of the plane equation Ax + By + Cz + D = 0, (x i y i , z i () represents the coordinates of any point.
[0120] Maximum distance threshold d th =0.02m is adjusted according to the flatness of the ground and the accuracy of the point cloud.
[0121] The maximum number of iterations, Nmax = 1000, balances computational efficiency with model stability.
[0122] The minimum number of interior points, Nummin = 10000, ensures the reliability of the ground model.
[0123] Step 3-2, Method for Fitting to the XOY Plane
[0124] Because the coordinate system of the depth camera is different from the world coordinate system, and the camera orientation is difficult to align precisely in practice, the camera coordinate system may not align according to the pre-set alignment. A method is designed to use the platform's point cloud information as a reference standard to detect platform information and fit it to the XOY plane. The specific steps are as follows:
[0125] Maximum plane detection: Fit the maximum plane in the point cloud using the RANSAC algorithm (this can be reused by changing the threshold parameter). Figure 6 Display the largest plane that has been found.
[0126] Plane alignment: Calculate the rotation and translation matrix between the detection plane and the xoy plane.
[0127] Extract the normal vector of the detection plane:
[0128] n = (a, b, c)
[0129] Calculate the rotation axis u and rotation angle θ of the normal vector and the z-axis unit vector k = (0, 0, 1):
[0130]
[0131] θ = arccos(n·k)
[0132] Extract any point on the detection plane
[0133] p0 = (x0, y0, z0)
[0134] Calculate the translation vector t = (0, 0, -z0) and translate the plane to the position z = 0.
[0135] Point cloud transformation: Apply a transformation matrix to the entire point cloud to achieve normalization.
[0136] Ptransformed=R·P+t
[0137] Where P represents the original point cloud coordinates, and Ptransformed represents the transformed point cloud coordinates. Figure 7It is a rotation that applies a transformation matrix operation to a point cloud. Figure 8 It is a translation operation of the transformation matrix of the point cloud.
[0138] Step 3-3, ICP-based multi-view matching algorithm
[0139] This step involves stitching together and reconstructing the pre-processed 3D point cloud data of the goose (primarily focusing on the goose itself). During the 3D reconstruction process, multi-view point cloud data from depth cameras can effectively collect complete surface information of the goose from all directions. Due to the viewing angle error, noise, and dynamic error of the depth cameras, the point cloud information collected by depth cameras from different directions is inconsistent, and the pose will also have certain deviations. Simple rotation transformation stitching methods cannot effectively match these discrepancies. This paper proposes a multi-view point cloud registration method based on ICP (Iterative ClosestPoint). Figure 9 This is a flowchart illustrating the ICP fusion method. A hierarchical registration strategy is used to progressively align point clouds from multiple viewpoints to a unified coordinate system, ultimately constructing a complete 3D model. However, simply using the ICP algorithm may be hampered by the different camera perspectives. Initial poses from different viewpoints may not allow for effective use of the ICP algorithm, leading to local optima, which may not be the desired result. Therefore, in this experiment, the viewpoints of multiple point clouds are numbered. First, point clouds from different viewpoints are transformed to a unified world coordinate system. Then, two point clouds are sequentially stitched together and merged to form a complete 3D point cloud model of a goose.
[0140] The specific ICP matching method is explained below:
[0141] Pair registration: Based on the ICP algorithm, the point clouds of adjacent viewpoints (such as viewpoint 1 and viewpoint 2) are initially aligned.
[0142] Model fusion: The registered multi-view point clouds are fused and denoised to generate a complete 3D model.
[0143] The following are the data processing steps. To ensure data quality, the point cloud data from multiple perspectives are preprocessed, including noise reduction (statistical filtering and radius filtering are performed on the point cloud of each perspective to remove isolated noise points) and downsampling (using voxel grid filter to reduce point cloud density and reduce computation; here, 1mm is used to collect one point).
[0144] Feature matching: Descriptor matching is performed on key points extracted from adjacent viewpoints (e.g., viewpoints i and i+1). Coarse registration: The initial rotation matrix R0 and translation vector t0 are estimated based on the RANSAC algorithm. The rotation matrix R and translation vector t are calculated through SVD decomposition, and this process is repeated until convergence (MSE < 3mm or the maximum number of iterations is reached).
[0145] Step 4, Calculation of body size parameters
[0146] Step 4-1, extract the goose image using xoz planarization.
[0147] The method of fitting the maximum point cloud plane of the goose can effectively detect the point cloud plane of the goose's body, including its semi-submerged body length. However, in the point cloud preprocessing algorithm mentioned above, the goose's posture has already been adjusted. As shown in the figure, the plane containing the goose's webbed feet in the 3D model of the goose has been fitted into the xoy plane, and its beak is also facing the same direction as the x-direction. Projecting the point cloud onto the xoz plane and extracting the outer points of the point cloud can extract the goose's contour curve. Figure 12 , Figure 13 It is the transformation of the point cloud image with the goose's pose processed onto the xoz plane.
[0148] Step 4-2, point cloud extraction of goose beak and legs.
[0149] After loading the 3D point cloud information of the goose, a custom RGB color extraction algorithm can be used to effectively extract the point cloud information of the goose's beak and legs. Figure 14 The beak and claws were extracted from a complete 3D model of a goose. For efficient calculation of the beak and claw dimensions later, planar processing was also performed. Figure 15 As shown
[0150] Step 4-3: Calculation methods for shin length, height, foot length, and semi-submersible body length.
[0151] After the above operations, the planar contour information, leg point cloud, and beak point cloud of the goose can be effectively extracted. The method for calculating the shank length is to traverse the leg point cloud to find the minimum and maximum values of the z-coordinate, Zs_min and Zs_max, and then calculate the shank length Lshin. The formula is as follows:
[0152] Lshin = Zs_max - Zs_min
[0153] Similarly, the beak length can be calculated from the beak point cloud. When calculating the height of the Anhui White Goose, it is necessary to find the point with the maximum value of the z-coordinate in the goose's point cloud to obtain Zmax. When reading the 3D model of the goose, the variable viewing function of the software can be used to quickly view the range of the z-coordinate point cloud. Using the relationship between Zmax and Zs_min in the above shank length calculation, the height H of the goose can be calculated, as shown in the following formula:
[0154] H = Zmax - Zs_min
[0155] The method for calculating foot length is as follows: After extracting the point cloud of the foot, it is planarized. The maximum and minimum values of Xf_max and Xf_min are found in the array storing the point cloud. The foot length Lf of a goose can be quickly calculated using the maximum and minimum difference of the x-values of the foot point cloud. The calculation formula is as follows:
[0156] LF = Xf_max - Xf_min
[0157] Method for calculating the semi-submerged body length: The outline of the planar point cloud is calculated using the method described above. A curve function for the semi-submerged body length is fitted using the back information. The back curve of the goose's point cloud can then be calculated using a simple mathematical method for calculating curve arc length. Considering the discretization method used when fitting the curve, the fitted curve is composed of discrete points. The integral method of discrete points can be used to fit the curve. Figure 16 Here, a mean filter is used for smoothing, and the specific formula is as follows:
[0158]
[0159] Where ∫ represents the definite integral sign, a represents the lower limit of integration, b represents the upper limit of integration, y′ represents the derivative of the curve, and dx represents the integration variable;
[0160]
[0161] Where ∑ represents the summation symbol, N points This represents the total number of points.
[0162] Example 2
[0163] This embodiment discloses a body size measurement method based on multi-view matching of three-dimensional point clouds of Anhui white geese, including the following steps:
[0164] Step 2.1: Construct a white goose anatomical feature database. By analyzing the anatomical structure of white geese, a spatial relationship model containing the skeletal structure, body surface contour, and key anatomical landmarks of typical white geese is constructed as prior knowledge for subsequent point cloud matching. Specifically, this includes:
[0165] Step 2.1-1, Set of key anatomical landmarks: L = {l1, l2, ..., l n}, where each marker point l i It indicates specific feature points on the body surface of a white goose, such as the tip of its beak, wing joints, and feet;
[0166] Step 2.1-2, Spatial Relationship Matrix R between Marker Points rel This describes the relative positional relationships and distance constraints between the marker points;
[0167] Steps 2.1-3, local feature descriptors around the marker; D = {d1, d2, ..., d...} n}, used to identify and locate these marker points in the point cloud, each descriptor d i It includes feature information such as local curvature and normal vector distribution;
[0168] Steps 2.1-4: The standard template M of the white goose skeleton and body surface is used as the reference benchmark for point cloud registration.
[0169] Step 2.2, Anatomical Landmark Identification and Matching: Based on the anatomical feature database constructed in Step 2.1, the point cloud data from various perspectives are processed to identify key anatomical landmarks and establish initial correspondences. Specifically, this includes:
[0170] Step 2.2-1, for the point cloud P of each viewpoint i The algorithm utilizes local curvature analysis and geometric feature extraction to identify a potential set of anatomical landmark candidates: C i ={c i1 c i2 c im};
[0171] Step 2.2-2, for each candidate point c ij Calculate its local feature descriptor d ij It is then matched with the standard descriptor D in the feature library to obtain a similarity score s. ij ;
[0172] Steps 2.2-3 utilize the Random Sample Consensus (RANSAC) algorithm, combined with the spatial relationship constraints R between marker points. rel The most likely set of anatomical landmarks L is selected from the candidate set. i ;
[0173] Steps 2.2-4 establish the correspondence between marker points in point clouds from different viewpoints, forming an initial set of matching point pairs:
[0174] M match ={(p i q i | i = 1, 2, ..., k match}
[0175] Where p i ∈P a q i ∈P b These represent the corresponding anatomical landmarks in the point clouds from the two viewpoints.
[0176] Step 2.3, ICP optimization based on anatomical constraints, introduces anatomical constraints as regularization terms into the ICP optimization objective function to achieve a two-stage optimization registration process, including the following steps:
[0177] Step 2.3-1: Based on the correspondence of anatomical landmarks identified in Step 2.2, calculate the initial rigid transformation matrix: T initial =[R rot |t];where R rot Let be the rotation matrix and t be the translation vector. This transformation matrix is obtained by minimizing the following objective function:
[0178]
[0179] Where (p) i ,q i () represents the correspondence between anatomical landmarks established in step 2.2.
[0180] Step 2.3-2: Based on the coarse registration, perform ICP iterative optimization with anatomical constraints. The optimization objective function is as follows:
[0181] E total =E icp +λ·E anatomy
[0182] Among them: E icp The distance error term in the traditional ICP algorithm is calculated as follows:
[0183]
[0184] Among them: (p i ′,q i ′) represents the corresponding point pair in the current iteration; E anatomy This is an anatomical constraint term used to ensure that the registration result conforms to the biological structure of the white goose. It is calculated as follows:
[0185]
[0186] Where f i and g i A function to evaluate the consistency between point clouds and anatomical features. Function f i The specific implementation is as follows:
[0187] First, the transformed point cloud T(P) is extracted based on the standard anatomical positional relationships in the feature library. a The specific anatomical feature parameters (such as the distance ratio between key points, curvature features, etc.) are then returned as a normalized feature vector.
[0188] function g i P for point cloud bPerform the same feature extraction operation so that the outputs of the two functions can be directly compared.
[0189] These two functions are designed for different anatomical parts of the goose (such as the beak, wings, and feet) to ensure that the anatomical rationality of each part is taken into account.
[0190] λ is a weighting coefficient used to balance the effects of geometric similarity and anatomical constraints.
[0191] Step 2.3-3: The iteration terminates when any of the following conditions are met:
[0192] The change in the transformation matrix between two consecutive iterations is less than a preset threshold. T ;
[0193] The error change in two consecutive iterations is less than a preset threshold. E ;
[0194] Reaching the maximum number of iterations N max .
[0195] Step 2.4 involves fusing point cloud data from multiple perspectives and post-processing the fusion result to form a complete 3D model of the white goose. This includes:
[0196] Step 2.4-1: Register the point clouds from multiple viewpoints in pairs according to a predetermined order, such as registering viewpoint 1 with viewpoint 2, and the result with viewpoint 3, and so on.
[0197] Step 2.4-2: After completing the pairwise registration, a global optimization algorithm is used to eliminate accumulated errors and ensure the consistency of the overall registration results.
[0198] Steps 2.4-3 merge the registered point clouds into a unified point cloud model, and apply techniques such as voxel mesh filtering and statistical outlier removal to eliminate redundant and noise points in overlapping areas.
[0199] Steps 2.4-4: Based on the fused point cloud data, a continuous white goose surface model is generated using algorithms such as Poisson surface reconstruction or moving least squares, and appropriate smoothing is performed to reduce surface discontinuities caused by registration errors.
[0200] Example 3
[0201] This embodiment provides a 3D point cloud acquisition and processing system for white geese based on a multi-view depth camera, comprising two parts: a hardware platform and a software processing module, specifically including:
[0202] The hardware platform consists of the following main components:
[0203] Multi-view camera array: Multiple FemtoBolt depth cameras are evenly distributed around the center of the white goose at a 45-degree angle; each camera is 1.2 meters away from the center of the target and maintains a fixed tilt angle to ensure 360-degree coverage; the cameras are fixed on a stable bracket with an adjustable height to accommodate white geese of different sizes;
[0204] Synchronization control unit: Based on the synchronization triggering function provided by FemtoBoltSDK, it realizes millisecond-level synchronous acquisition of multiple cameras; it adopts a master-slave architecture, with one master camera sending a trigger signal and the other cameras responding synchronously as slave devices; it is equipped with a high-precision clock synchronization module to ensure time consistency between cameras;
[0205] Data acquisition terminal: configured with a high-performance computer, an Intel Core i9 processor, 32GB of memory, and a high-performance GPU; equipped with high-speed storage devices to support real-time storage and processing of large-capacity point cloud data; configured with a unified data receiving and processing interface, supporting multiple USB 3.0 high-speed data channels;
[0206] Measurement environment control: Construct a closed measurement space and equip it with a uniform lighting system to reduce the impact of ambient light changes on point cloud quality; use special materials for the ground to reduce reflection and scattering and improve the quality of point cloud data; set up a special fixing device in the center of the measurement area to ensure that the white goose is in a relatively stable posture.
[0207] Multi-view hardware platform design
[0208] This study employed a hardware platform utilizing multiple depth cameras operating collaboratively. Relying on multi-angle 3D imaging technology, it accurately measured the body size of geese. To ensure comprehensive coverage of the goose's full-body posture and details, multiple depth cameras were placed at different locations around the goose's center, each 1.2 meters away from the center and maintaining appropriate angular differences, thus achieving complete 360-degree coverage. Its high-precision depth sensing capability was sufficient to meet the requirements for goose body size measurement. To ensure synchronous data acquisition, the synchronization triggering function provided by the Femto Bolt SDK was used to ensure that RGB images and depth maps were captured simultaneously, thereby achieving high-precision data collection. The use of multiple depth cameras positioned at multiple angles not only comprehensively covered the goose's body but also reduced data loss or inaccuracies. The synchronized operation of multiple cameras ensured high consistency in data acquisition, resulting in more accurate and complete point cloud data. Figure 2 It describes the positional relationship between the depth camera, the terminal, and the Anhui white geese, as well as the experimental environment.
[0209] Depth camera selection
[0210] The depth camera used in this experiment employs Microsoft's latest advanced ToF sensing technology, possessing the same working mode and performance as the Microsoft Azure Kinect DK depth camera. It is reasonably priced and offers good performance. The relevant parameters and algorithm design of the Femto Bolt depth camera on the computer are shown in Tables 2 and 3 below:
[0211] Table 2 Depth Camera Hardware Parameter Information
[0212]
[0213] Table 3. Experimental Terminal Operating System and Integrated Development Tools
[0214]
[0215] The software system is composed of the following functional modules:
[0216] Data acquisition and synchronization module:
[0217] Develop a multi-threaded acquisition program to achieve parallel data reading from multiple cameras;
[0218] Achieve precise registration and synchronization between RGB and depth images;
[0219] Implement a caching mechanism to ensure stable processing of high-speed data streams;
[0220] Point cloud generation and preprocessing module:
[0221] Based on camera intrinsic parameters, RGB and depth images are converted into color point clouds using the following formula:
[0222]
[0223] z = depth(u,v)·scale
[0224] Where (u, v) are pixel coordinates, (f x f y (c) is the focal length. x c y ) represents the optical center coordinates, and scale is the depth scaling factor; the function depth(u, v) is an API function provided by the depth camera, used to obtain the depth value at coordinates (u, v) in the depth map;
[0225] Remove outliers by applying a custom pass-through filter:
[0226] For point p i If ||p i -p originIf || < threshold or the RGB value is (0, 0, 0), it is considered an outlier and removed.
[0227] Apply a statistically based discrete point filtering algorithm:
[0228] Calculate point p i In the neighborhood N(p) i The average distance μ in ) i If μ i If the distance is greater than μ + α·σ, then remove the point, where μ is the global average distance, σ is the standard deviation, and α is an adjustable parameter.
[0229] Neighborhood function N(p) i This is achieved using the K-nearest neighbor algorithm, which finds the distance point p in the point cloud. i Recent k nn k points (in this embodiment) nn =30);
[0230] Perform a coordinate system transformation to unify the point cloud to the world coordinate system:
[0231] Applying rotation matrix R x (90°) and translation vector t xyz This standardizes the posture of white geese dotting the clouds;
[0232] Anatomically constrained point cloud matching module:
[0233] The anatomical landmark identification and matching algorithm in Implementation 1 is invoked;
[0234] Perform two-stage ICP optimization based on anatomical constraints;
[0235] A pairwise registration strategy is adopted to sequentially fuse point cloud data from multiple perspectives;
[0236] A global optimization algorithm is applied to eliminate accumulated errors;
[0237] Body size parameter calculation module:
[0238] The outline of the white goose was extracted from the fused point cloud, and key parts were identified by RGB values and spatial location.
[0239] Calculate the body size parameters of white geese, including height, shank length, foot length, and semi-submerged body length;
[0240] Generate a body size report, including numerical results and visualizations.
[0241] Example 4
[0242] This embodiment provides an automatic calculation method for the body size parameters of a white goose based on fused point clouds, including the following steps:
[0243] Step 4.1 involves standardizing the coordinate system and performing planar projection on the 3D point cloud model to lay the foundation for subsequent volumetric parameter calculations. This includes:
[0244] Step 4.1-1, Coordinate System Standardization: Rotate the goose point cloud model to a standard pose, ensuring the goose's principal axis is parallel to the X-axis of the coordinate system, the plane containing the goose's webbed feet coincides with the XOY plane, and the goose's beak faces the same direction as the positive X-axis. The specific method is as follows:
[0245] First, the plane containing the goosefoot is detected using a RANSAC-based plane fitting algorithm:
[0246] ax+by+cz+d const =0
[0247] Where (a, b, c) are the plane normal vectors, and d const is the constant term of the plane equation.
[0248] Then, calculate the rotation angle between this plane and the XOY plane, and apply the corresponding rotation transformation matrix R. plane :
[0249]
[0250] Apply a rotation transformation to each point p = (x, y, z) in the point cloud:
[0251] p′=R plane ·p
[0252] Step 4.1-2, Point Cloud Projection: Project the standardized point cloud data onto a specific plane to form two-dimensional contour data.
[0253] XOZ plane projection: used to calculate parameters such as height and body length;
[0254] XOY plane projection: used to calculate parameters such as foot size.
[0255] Projection operations are achieved by preserving the coordinate values of a specified plane and ignoring the coordinate values perpendicular to that plane. For example, XOZ plane projection preserves the x and z coordinates but ignores the y coordinate.
[0256] Step 4.2, Feature Region Extraction: Based on color and spatial location information, key anatomical parts of the white goose are extracted from the point cloud model to provide a basis for accurate measurement. This specifically includes:
[0257] Step 4.2-1, Beak and Foot Extraction: Using a custom RGB color filter, based on the orange-yellow features of the white goose's beak and feet, point cloud data of these regions is extracted. Specifically, this includes:
[0258] The filtering conditions are as follows: points whose RGB values meet the following ranges are extracted as the target region: -R: 130-255 -G: 40-80 -B: 20-70;
[0259] Perform filtering operation: for each point p in the point cloud i and its color value (R) i G i B i If the following conditions are met:
[0260] R min ≤G i ≤G max And G min ≤G i ≤G max And B min ≤Bi≤B max
[0261] If the point is valid, keep it; otherwise, discard it.
[0262] Step 4.2-2, Back Contour Extraction: From the XOZ plane projection data, the contour curve of the goose's back is extracted using a boundary point detection algorithm. The specific method is as follows:
[0263] First, sort the projected point cloud of the XOZ plane according to the X coordinate;
[0264] Then, for each X coordinate interval, extract the point with the largest Z coordinate to form the back contour point set;
[0265] Finally, a smoothing filter is applied to the extracted contour point set to reduce the impact of noise.
[0266] Step 4.3, Body size parameter calculation: Based on the extracted feature regions and contour lines, calculate the key body size parameters of the white goose.
[0267] Step 4.3-1, shin length calculation: Determine the maximum value of the Z coordinate Z in the extracted leg point cloud. s_max and minimum value Z s_min Calculate tibia length:
[0268] L shin =Z s_max -Z s_min
[0269] Step 4.3-2, Height Calculation: Determine the global maximum value Z of the Z-coordinate in the complete point cloud data. max Then, Z is calculated based on the tibia length. s_min Calculate height:
[0270] H=Z max -Z s_min
[0271] Step 4.3-3, Foot length calculation: After planarizing the extracted foot point cloud, determine the maximum value of the X coordinate X. f_max and minimum value X f_min Calculate foot length:
[0272] L f =X f_max -X f_min
[0273] Step 4.3-4, Calculation of semi-submerged body length: Based on the back contour curve, the line integral method is applied to calculate the semi-submerged body length of the white goose. Specifically, the implementation is as follows:
[0274] For the discretized back contour point set {(x i , z i Calculate the curve length for each i = 1, 2, ..., n.
[0275]
[0276] To improve calculation accuracy, a mean filter is applied to smooth the curve and reduce the impact of local fluctuations on the measurement. The specific implementation of the mean filter is as follows:
[0277] For each point (x) in the contour point set i , z i ), before and after using each k filter k points filter Typically, an average value of 3 to 5 is used to calculate the average.
[0278]
[0279] Boundary points are filled using a mirror image.
[0280] Step 4.4, Data Validation and Output: Verify the rationality of the calculation results and generate a standardized body size parameter report.
[0281] Step 4.4-1, Parameter Validation: Based on the biological characteristic range of the white goose's body size, the validity of the calculation results is verified.
[0282] If the parameter value exceeds the preset reasonable range, an exception flag is triggered;
[0283] If the proportional relationship between parameters does not conform to the anatomical characteristics of a white goose, a warning will be issued.
[0284] Step 4.4-2: Visualize the results. Mark the key points and measurement lines of the body size measurement on the 3D model to intuitively display the measurement results; generate a 2D chart of body size parameters for easy comparison and analysis.
[0285] Step 4.4-3: Data output. The body size parameter results are formatted and output as a standard report, including numerical results, measurement time, and confidence level assessment. The data is synchronously stored in the database for subsequent breeding analysis and individual tracking.
[0286] Here is an example of an application of the present invention:
[0287] Pair registration: Based on the ICP algorithm, the point clouds of adjacent viewpoints (such as viewpoint 1 and viewpoint 2) are initially aligned.
[0288] Model fusion: The registered multi-view point clouds are fused and denoised to generate a complete 3D model.
[0289] The following are the data processing steps. To ensure data quality, the point cloud data from multiple perspectives are preprocessed, including noise reduction (statistical filtering and radius filtering are performed on the point cloud of each perspective to remove isolated noise points) and downsampling (using voxel grid filter to reduce point cloud density and reduce computation; here, 1mm is used to collect one point).
[0290] Feature matching: Descriptor matching is performed on key points extracted from adjacent viewpoints (e.g., viewpoints i and i+1). Coarse registration: The initial rotation matrix R0 and translation vector t0 are estimated based on the RANSAC algorithm. The rotation matrix R and translation vector t are calculated through SVD decomposition, and this process is repeated until convergence (MSE < 3mm or the maximum number of iterations is reached).
[0291] Figure 10 This involves stitching together point clouds from two perspectives using the ICP algorithm. The left side shows the original positional relationships, and the right side shows the matched positional relationships. Following the same method, point clouds from multiple perspectives are processed through coarse and fine matching operations using the ICP algorithm to form a complete multi-view point cloud of a goose. However, visualization of the point cloud after stitching reveals cracks, feather tips, and black edges at the stitching points. Further filtering is needed here. Figure 10 The two images on the left are complete point clouds generated using the ICP method, containing black cracks and noise points. A custom color selector was used to select the black portions of the point cloud (mainly black cracks), and downsampling and a statistical discrete point filtering algorithm effectively removed the black cracks. Figure 11 The two point clouds on the right are point cloud images after processing the black cracks and noise points.
[0292] With this, the 3D reconstruction of the goose, taking it as an example, was completed, creating a complete 3D point cloud model from multiple angles, including RGB related information.
[0293] 3.1 Method for calculating the body size of a goose
[0294] After the above preprocessing and fusion, a relatively complete point cloud model of a goose is formed. The preprocessing and fusion algorithm includes point cloud position correction, rotating and transforming the point cloud to the world coordinate system, conforming to well-known scale calculation methods. The following is the method for extracting the goose's body size information:
[0295] 3.1.1 Extraction of geese in xoz planarization processing
[0296] The method of fitting the maximum point cloud plane of the goose can effectively detect the point cloud plane of the goose's body, including its semi-submerged length. However, after the point cloud preprocessing algorithm mentioned above, the goose's posture has been adjusted. As shown in the figure, the plane containing the goose's webbed feet has been fitted into the xoy plane of the goose's 3D model, and its beak is also facing the same direction as the x-axis. Projecting the point cloud onto the xoz plane and extracting the outer points of the point cloud can extract the goose's contour curve. Figure 12 , Figure 13 It is the transformation of the point cloud image with the goose's pose processed onto the xoz plane.
[0297] 3.1.2 Point cloud extraction from goose beak and legs
[0298] After loading the 3D point cloud information of the goose, a custom RGB color extraction algorithm can be used to effectively extract the point cloud information of the goose's beak and legs. Figure 14 The beak and claws were extracted from a complete 3D model of a goose. For efficient calculation of the beak and claw dimensions later, planar processing was also performed. Figure 15 As shown in Table 4, the RGB color thresholds used are as follows:
[0299] Table 4 RGB Filter Range
[0300] RGB colors lower threshold upper limit of threshold R value R_min=130 R_max = 255 G value G_min=40 G_max = 80 B value B_min = 20 B_max = 70
[0301] 3.1.3 Calculation methods for tibial length, height, foot length, and semi-diving body length
[0302] After the above operations, the planar contour information, leg point cloud, and beak point cloud of the goose can be effectively extracted. The method for calculating the shank length is to traverse the leg point cloud to find the minimum and maximum values of the z-coordinate, Zs_min and Zs_max, and then calculate the shank length Lshin. The formula is as follows:
[0303] Lshin = Zs_max - Zs_min
[0304] Similarly, the beak length can be calculated from the beak point cloud. When calculating the height of the Anhui White Goose, it is necessary to find the point with the maximum value of the z-coordinate in the goose's point cloud to obtain Zmax. When reading the 3D model of the goose, the variable viewing function of the software can be used to quickly view the range of the z-coordinate point cloud. Using the relationship between Zmax and Zs_min in the above shank length calculation, the height H of the goose can be calculated, as shown in the following formula:
[0305] H = Zmax - Zs_min
[0306] The method for calculating foot length is as follows: After extracting the point cloud of the foot, it is planarized. The maximum and minimum values of Xf_max and Xf_min are found in the array storing the point cloud. The foot length Lf of a goose can be quickly calculated using the maximum and minimum difference of the x-values of the foot point cloud. The calculation formula is as follows:
[0307] Lf = Xf_max - Xf_min
[0308] Method for calculating the semi-submerged body length: The outline of the planar point cloud is calculated using the method described above. A curve function for the semi-submerged body length is fitted using the back information. The back curve of the goose's point cloud can then be calculated using a simple mathematical method for calculating curve arc length. Considering the discretization method used when fitting the curve, the fitted curve is composed of discrete points. The integral method of discrete points can be used to fit the curve. Figure 16 Here, a mean filter is used for smoothing, and the specific formula is as follows:
[0309]
[0310] It is understood that data preprocessing methods known to those skilled in the art include data cleaning, data transformation, and data reduction. Data transformation includes type conversion and normalization and standardization. Although the dimensions and types of data were omitted in the description of the preceding embodiments, data preprocessing is a technical knowledge known to those skilled in the art and a prerequisite step in data processing. Therefore, the previously described well-known data preprocessing steps were not described independently.
[0311] The embodiments of the present invention have been described above. However, the embodiments are not limited to the specific implementation methods described above. The specific implementation methods described above are merely illustrative and not restrictive. Those skilled in the art can make more equivalent embodiments under the guidance of the present embodiments, and all of them are within the protection scope of the present embodiments.
Claims
1. A method for measuring body size based on multi-view matching of three-dimensional point clouds of Anhui white geese, characterized in that, Includes the following steps: RGB images and depth map data of white geese in western Anhui were acquired simultaneously using depth cameras from multiple directions; the RGB images and depth maps were fused using the intrinsic parameters of the depth cameras to construct the initial point cloud data. Preprocess the point cloud data; The RANSAC algorithm was used for ground query and plane fitting; noise reduction and downsampling were performed on point clouds from multiple perspectives, feature points were extracted and descriptor matching was performed, coarse and fine registration were performed using the ICP algorithm, and point clouds from multiple perspectives were fused; the outline of the goose and key feature points were extracted, and the body size parameters of the goose were calculated. The ICP algorithm calculates the rotation matrix and translation vector iteratively until the mean square error is less than a preset threshold or the maximum number of iterations is reached.
2. The body size measurement method based on multi-view matching of three-dimensional point clouds of Anhui white geese according to claim 1, characterized in that, The depth camera is a time-of-flight depth camera. The multiple depth cameras are placed at various locations around the center of the Anhui White Goose, with each camera 1.2 meters away from the center of the Anhui White Goose, achieving 360-degree all-round coverage.
3. The body size measurement method based on multi-view matching of three-dimensional point clouds of Anhui white geese according to claim 1, characterized in that, The coordinate system transformation includes: Rotate the point cloud 90 degrees around the X-axis to align the depth camera coordinate system with the world coordinate system.
4. The body size measurement method based on multi-view matching of three-dimensional point clouds of Anhui white geese according to claim 1, characterized in that, The steps of the RANSAC algorithm for ground query and plane fitting include: Randomly select the smallest subset from the point cloud to fit a candidate planar model; Calculate the perpendicular distance from all points to the plane, and mark points whose distance is less than a threshold as interior points; Iteratively update the planar model with the most interior points until the maximum number of iterations is reached or convergence occurs. Extract the normal vector of the detection plane, and calculate the rotation axis and rotation angle between the normal vector and the z-axis unit vector; Calculate the translation vector and translate the plane to the position z = 0; A transformation matrix is applied to the entire point cloud to achieve normalization.
5. The body size measurement method based on multi-view matching of three-dimensional point clouds of Anhui white geese according to claim 1, characterized in that, The steps of coarse and fine registration in the ICP algorithm include: Noise reduction is performed on point clouds from multiple perspectives, using statistical filtering and radius filtering to remove isolated noise points; Use voxel grid filtering to reduce point cloud density; Descriptor matching is performed on key points extracted from adjacent viewpoints; Estimation of the initial rotation matrix and translation vector based on the RANSAC algorithm; The rotation matrix and translation vector are calculated using SVD, and this process is repeated until convergence.
6. The body size measurement method based on multi-view matching of three-dimensional point clouds of Anhui white geese according to claim 1, characterized in that, The calculation of the body size parameters includes: Project the point cloud of white geese in western Anhui onto the xoz plane and extract the outer points of the point cloud to obtain the contour curve; Point cloud information of the beak and legs was extracted using a custom RGB color extraction algorithm; The minimum and maximum values of the z-coordinate are found by traversing the leg point cloud, and the tibia length is calculated. Find the point cloud with the maximum value in the z-coordinate, and calculate the height based on the tibial length; Find the maximum and minimum x-values in the foot point cloud and calculate the foot length; The curve function of the semi-submersible length is fitted using back information, and the curve length is calculated using the discrete point integration method.
7. The body size measurement method based on multi-view matching of three-dimensional point clouds of Anhui white geese according to claim 1, characterized in that, It also includes the following steps: A database of anatomical features of white geese is constructed, which includes a set of key anatomical landmarks, a spatial relationship matrix between landmarks, local feature descriptors around the landmarks, and a standard template of the white goose skeleton surface. Analyze and identify landmark points in point cloud data from various perspectives to establish initial correspondences; Anatomical constraints are introduced as regularization terms into the ICP optimization objective function to achieve a two-stage optimized registration process of coarse registration and fine registration. Point cloud data from multiple perspectives are fused, and the fusion results are post-processed and optimized to form a complete 3D model of the white goose. The objective function for the fine registration stage is that the total error is equal to the weighted sum of the ICP distance error term and the anatomical constraint term. The ICP distance error term is the distance error calculation of the traditional ICP algorithm, the anatomical constraint term is used to ensure that the registration result conforms to the biological structure of the white goose, and the weight coefficient is used to balance the influence of geometric similarity and anatomical constraints.
8. The body size measurement method based on multi-view matching of three-dimensional point clouds of Anhui white geese according to claim 7, characterized in that, The steps for identifying and matching anatomical landmarks include: For the point cloud of each viewpoint, a candidate set of anatomical landmarks is identified using local curvature analysis and geometric feature extraction algorithms; For each candidate point, its local feature descriptor is calculated and matched with the standard descriptor in the feature library to obtain a similarity score; Using the random sampling consensus algorithm, combined with spatial relationship constraints between landmarks, the most likely set of anatomical landmarks is selected from the candidate set. Establish the correspondence between marker points in point clouds from different perspectives to form an initial set of matching point pairs.
9. The body size measurement method based on multi-view matching of three-dimensional point clouds of Anhui white geese according to claim 7, characterized in that, The anatomical constraint term is calculated as follows: The anatomical constraint term is equal to the sum of squares of the differences in anatomical features between the transformed point cloud and the target point cloud. The function that evaluates the consistency between the point cloud and the anatomical features is used to extract specific anatomical feature parameters of the point cloud. The transformed point cloud refers to the source point cloud processed by the transformation matrix, and the target point cloud refers to the point cloud that needs to be registered with it.
10. A body size measurement system based on multi-view matching of three-dimensional point clouds of Anhui white geese, characterized in that, Enabled for executing the body size measurement method based on multi-view matching of three-dimensional point clouds of Anhui white geese as described in any one of claims 1-9, including: Multiple depth cameras were placed at different locations in the center of the Anhui White Goose Farm to simultaneously acquire RGB images and depth map data; A data processing unit is used to perform the method of any one of claims 1 to 9, including point cloud construction, point cloud preprocessing, multi-view point cloud registration, and volume scale parameter calculation. The display unit is used to display the processed 3D point cloud model and the calculation results of volume scale parameters. The storage unit is used to store the raw data, the processed point cloud data, and the results of the body size parameter calculation.