﻿<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.0 20120330//EN" "http://jats.nlm.nih.gov/publishing/1.0/JATS-journalpublishing1.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-id journal-id-type="nlm-ta">Intell. Robot.</journal-id>
      <journal-id journal-id-type="publisher-id">IR</journal-id>
      <journal-title-group>
        <journal-title>Intelligence &amp; Robotics</journal-title>
      </journal-title-group>
      <issn pub-type="epub">2770-3541</issn>
      <publisher>
        <publisher-name>OAE Publishing Inc.</publisher-name>
      </publisher>
    </journal-meta>
    <article-meta>
      <article-id pub-id-type="doi">10.20517/ir.2026.17</article-id>
	  <article-id pub-id-type="publisher-id">IR-2026-011102</article-id>
      <article-categories>
        <subj-group>
          <subject>Research Article</subject>
        </subj-group>
      </article-categories>
      <title-group>
        <article-title>A target extraction method for 3D pig point clouds from a top-down perspective</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <name>
            <surname>Li</surname>
            <given-names>Mingyu</given-names>
          </name>
          <xref ref-type="aff" rid="I1">
            <sup>1</sup>
          </xref>
          <xref ref-type="aff" rid="I2">
            <sup>2</sup>
          </xref>
          <xref ref-type="aff" rid="I#">
            <sup>#</sup>
          </xref>
        </contrib>
        <contrib contrib-type="author">
          <name>
            <surname>Li</surname>
            <given-names>Qifeng</given-names>
          </name>
          <xref ref-type="aff" rid="I1">
            <sup>1</sup>
          </xref>
          <xref ref-type="aff" rid="I2">
            <sup>2</sup>
          </xref>
          <xref ref-type="aff" rid="I#">
            <sup>#</sup>
          </xref>
        </contrib>
        <contrib contrib-type="author">
          <name>
            <surname>Sun</surname>
            <given-names>Congcong</given-names>
          </name>
          <xref ref-type="aff" rid="I3">
            <sup>3</sup>
          </xref>
        </contrib>
        <contrib contrib-type="author">
          <name>
            <surname>Ji</surname>
            <given-names>Xintong</given-names>
          </name>
          <xref ref-type="aff" rid="I1">
            <sup>1</sup>
          </xref>
        </contrib>
        <contrib contrib-type="author">
          <name>
            <surname>Xu</surname>
            <given-names>Zhankang</given-names>
          </name>
          <xref ref-type="aff" rid="I1">
            <sup>1</sup>
          </xref>
        </contrib>
        <contrib contrib-type="author">
          <name>
            <surname>Yang</surname>
            <given-names>Simon X.</given-names>
          </name>
          <xref ref-type="aff" rid="I4">
            <sup>4</sup>
          </xref>
        </contrib>
        <contrib contrib-type="author">
          <name>
            <surname>Guo</surname>
            <given-names>Hao</given-names>
          </name>
          <xref ref-type="aff" rid="I5">
            <sup>5</sup>
          </xref>
        </contrib>
        <contrib contrib-type="author">
          <name>
            <surname>Zhou</surname>
            <given-names>Hui</given-names>
          </name>
          <xref ref-type="aff" rid="I6">
            <sup>6</sup>
          </xref>
        </contrib>
        <contrib contrib-type="author" corresp="yes">
          <name>
            <surname>Ma</surname>
            <given-names>Weihong</given-names>
          </name>
          <xref ref-type="aff" rid="I1">
            <sup>1</sup>
          </xref>
          <xref ref-type="aff" rid="I2">
            <sup>2</sup>
          </xref>
          <xref ref-type="aff" rid="I4">
            <sup>4</sup>
          </xref>
          <xref ref-type="corresp" rid="cor1" />
        </contrib>
      </contrib-group>
      <aff id="I1">
        <sup>1</sup>Information Technology Research Center, Beijing Academy of Agriculture and Forestry Sciences, Beijing 100097, China.</aff>
      <aff id="I2">
        <sup>2</sup>National Innovation Center of Digital Technology in Animal Husbandry, Beijing 100097, China.</aff>
      <aff id="I3">
        <sup>3</sup>Agricultural Biosystems Engineering Group, Wageningen University, Wageningen 6700 AA, the Netherlands.</aff>
      <aff id="I4">
        <sup>4</sup>Advanced Robotics and Intelligent Systems Laboratory, School of Engineering, University of Guelph, Guelph N1G 2W1, Canada.</aff>
      <aff id="I5">
        <sup>5</sup>College of Information and Electrical Engineering, China Agricultural University, Beijing 100083, China.</aff>
      <aff id="I6">
        <sup>6</sup>Xing’an League Modern Animal Husbandry Pilot Zone Establishment and Service Center, Ulanhot 137400, Inner Mongolia, China.</aff>
      <aff id="I#">
        <sup>#</sup>Authors contributed equally to this work.</aff>
      <author-notes>
        <corresp id="cor1">Correspondence to: Dr. Weihong Ma, Information Technology Research Center, Beijing Academy of Agriculture and Forestry Sciences, Beijing 100097, China. E-mail: <email>mawh@nercita.org.cn</email></corresp>
        <fn fn-type="other">
          <p>
            <bold>Received:</bold> 11 Jan 2026 | <bold>First Decision:</bold> 16 Apr 2026 | <bold>Revised:</bold> 6 Jun 2026 | <bold>Accepted:</bold> 15 Jun 2026 | <bold>Published:</bold> 29 Jun 2026</p>
        </fn>
        <fn fn-type="other">
          <p>
            <bold>Academic Editor:</bold> Rong Xiong | <bold>Copy Editor:</bold> Pei-Yun Wang | <bold>Production Editor:</bold> Pei-Yun Wang</p>
        </fn>
      </author-notes>
      <pub-date pub-type="ppub">
        <year>2026</year>
      </pub-date>
      <pub-date pub-type="epub">
        <day>29</day>
        <month>6</month>
        <year>2026</year>
      </pub-date>
      <volume>6</volume>
	  <issue>2</issue>
      <fpage>315</fpage>
	  <lpage>40</lpage>
      <permissions>
        <copyright-statement>© The Author(s) 2026.</copyright-statement>
        <license xlink:href="https://creativecommons.org/licenses/by/4.0/">
          <license-p>© The Author(s) 2026. <bold>Open Access</bold> This article is licensed under a Creative Commons Attribution 4.0 International License (<uri xlink:href="https://creativecommons.org/licenses/by/4.0/">https://creativecommons.org/licenses/by/4.0/</uri>), which permits unrestricted use, sharing, adaptation, distribution and reproduction in any medium or format, for any purpose, even commercially, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.</license-p>
        </license>
      </permissions>
      <abstract>
        <p>Currently, there are many studies focusing on keypoint extraction, weight estimation, and pose assessment using point clouds from pig backs. But extracting point clouds from complex environments remains challenging, especially when the data collection environment, location and height are changing. This study addresses the challenge of extracting 3D point clouds of pig in complex environments with variable heights and severe interference from a bird’s-eye perspective by proposing a target extraction method based on a single Time-of-Flight (TOF) depth camera. A custom-designed pushcart-based data acquisition equipment was utilized to collect 987 point cloud datasets under diverse conditions, encompassing three height levels to accommodate various pig body sizes and postures. A dynamic algorithm, dynamic point-cloud feature focusing and segmentation (DPFFS), was developed, which integrates a point counting peak statistical filtering module and a multi-dimensional perceptual spatial filtering module to remove ground point clouds and other interfering noise. This way of extracting target does not require pigs to move through specific channels and is also transferable to the segmentation of multiple targets, and other animals, and varied scenes. Experimental results show that the pig body point clouds were highly consistent with the ground truth, as represented by the manual segmentation results, with an average intersection over union (<italic>IoU</italic>) of 0.984, considering the erroneous segmentation caused by clustering, the <italic>IoU</italic> is 0.836, mis-segmentation rate is 0.17. After voxel grid downsampling, the DPFFS algorithm achieved an average running time of 0.928 s. It can serve as a pre-processing module for point cloud target extraction in various application scenario, providing accurate preliminary results for tasks such as individual identification, body size measurement, and pig weight estimation, <italic>etc.</italic></p>
      </abstract>
      <kwd-group>
        <kwd>Depth camera</kwd>
        <kwd>3D point cloud</kwd>
        <kwd>pig point cloud target extraction</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec1">
      <title>1. INTRODUCTION</title>
      <p>The phenotypic data of pigs, including body size, body conformation traits, and body weight among other core parameters<sup>[<xref ref-type="bibr" rid="B1">1</xref>]</sup>, play a crucial role in pig breeding and production. These data serve as a foundation for various aspects and stages, such as breeding, genetic selection<sup>[<xref ref-type="bibr" rid="B2">2</xref>]</sup>, reproductive management<sup>[<xref ref-type="bibr" rid="B3">3</xref>]</sup>, and scientific research<sup>[<xref ref-type="bibr" rid="B4">4</xref>]</sup>. The accumulation of phenotypic data in pig farming guides the adjustments, operation and decision-making of the breeding processes. Currently, the acquisition of body size data primarily relies on manual measurements<sup>[<xref ref-type="bibr" rid="B5">5</xref>]</sup>, body conformation traits and appearance scoring rely on experienced professionals, while the weighing of pigs using animal scales relies on manual driving away pigs. These methods are time-consuming, labor-intensive, hazardous, and prone to causing personnel injuries. Moreover, these methods may negatively impact animal welfare, potentially inducing stress responses and consequently impairing productivity, fertility, and growth rates<sup>[<xref ref-type="bibr" rid="B6">6</xref>]</sup>.</p>
      <p>To overcome the challenges associated with manual measurement and production processes, a range of recent studies have been developed that leverage artificial intelligence and computer vision technologies to solve these problems. The fundamental principle of these technologies is the utilization of Red-Green-Blue (RGB) cameras or depth cameras for acquiring animal images (2D)<sup>[<xref ref-type="bibr" rid="B7">7</xref>-<xref ref-type="bibr" rid="B11">11</xref>]</sup> or point clouds (3D)<sup>[<xref ref-type="bibr" rid="B12">12</xref>-<xref ref-type="bibr" rid="B17">17</xref>]</sup>. Based on these collection method, image segmentation<sup>[<xref ref-type="bibr" rid="B18">18</xref>]</sup>, 3D reconstruction techniques<sup>[<xref ref-type="bibr" rid="B19">19</xref>,<xref ref-type="bibr" rid="B20">20</xref>]</sup>, and deep learning methods are subsequently used to process single-dimensional or multi-modal data, typically gathering key points to assist in calculating animal body size or estimating weight based on area and volume. The use of these technologies and intelligent electronic devices enables the effective mitigation of stress responses and adverse effects associated with direct animal contact, while simultaneously improving operational efficiency, an advantage that is especially significant in large-scale production. Compared to 2D image information, depth camera can measure the distance to objects (3D), thereby better capturing animal contours. In recent years, 3D pig back point clouds have been well used in many studies, such as estimating pig weight and key point detection for body size measurements. Nevertheless, challenges persist in the pre-processing stage of acquiring pig point clouds.This is mainly manifested in the fact that it becomes particularly difficult when the environment, location, and height of the dataset collection change, as well as when the target point cloud and noise point cloud are integrated.</p>
      <p>Currently, there are two main point cloud segmentation (PCS) approaches, traditional PCS algorithms based on geometric or statistical principles [e.g., Region Growing, Random Sample Consensus (RANSAC), density-based spatial clustering of applications with noise (DBSCAN), <italic>etc.</italic>] and deep learning methods<sup>[<xref ref-type="bibr" rid="B21">21</xref>-<xref ref-type="bibr" rid="B23">23</xref>]</sup> (e.g., MVCNN, FGPointKAN++, PointNet, PointNet++, <italic>etc.</italic>). For PCS approaches, most of the research utilizing PCS are constrained to specific or fixed scenarios, which typically confine pigs within fixed passageways, requiring them to remain in or move through these channels, or to collect data in designated areas such as feeding or weighing zones. At the same time, when the environment, acquisition location, and height change, it is necessary to manually adjust the filtering parameters or simply use software for segmentation, the segmentation results are often suboptimal, particularly in cases where animals are closely adjacent to railings or walls. For deep learning approaches, a substantial amount of data is required for model training. However, obtaining livestock point cloud data is highly challenging for two main reasons: firstly, publicly accessible livestock point cloud datasets are scarce. Secondly, data acquisition is difficult, and generating point cloud datasets is both time-consuming and labor-intensive. Okayama <italic>et al.</italic> (2021) utilized a top-view Kinect v2 camera to collect data for estimating pig weight based on the volume of pig back point clouds<sup>[<xref ref-type="bibr" rid="B24">24</xref>]</sup>. However, the segmentation method for pig back point clouds was not explicitly mentioned in their study. Based on data analysis, it can be inferred that the extraction was conducted within fixed pig passageways. Similarly, Li <italic>et al.</italic> (2022) employed a Kinect v2 camera positioned in the drinking area to capture pig back point clouds for body parameter measurements<sup>[<xref ref-type="bibr" rid="B25">25</xref>]</sup>. In their research, ground point clouds were chosen as the reference coordinate system, and a variance classification algorithm was applied to distinguish between pig bodies and noise points. In this algorithm, points with higher variances were deemed as noise, while those with lower variances were classified as the pig body. Subsequently, a top-down region growth method was employed for segmentation under conditions of adhesion. Liu <italic>et al.</italic> (2023) captured pig back data using an Intel RealSense D435i camera positioned above pig weighing scales, they employed statistical filtering and DBSCAN to separate pigs from the background<sup>[<xref ref-type="bibr" rid="B26">26</xref>]</sup>. Wang <italic>et al.</italic> (2024) designed the Pig Back Transformer model using pig back point clouds, the point cloud data of pig backs were obtained from cameras positioned above stationary pig passageways, with background noise removed in the fixed scenes<sup>[<xref ref-type="bibr" rid="B27">27</xref>]</sup>. In a word, the aforementioned studies almost uniformly confine pigs to a fixed area for point cloud preprocessing and the two preprocessing segmentation methods in the existing research generally have the following limitations, the PCS method requires adjusting a large number of parameters in complex situations, while deep learning methods require preparing a large amount of training data in advance for training, which can be quite troublesome in practical engineering applications.</p>
      <p>In response to these challenges, we propose a method for accurately extracting pig body point clouds in complex and dynamic livestock farm environments. Specifically, we developed a dynamic point-cloud feature focusing and segmentation (DPFFS) algorithm, the algorithm is not a particularly innovative AI model, but rather a simple, fast, and highly adaptable preprocessing method that integrates PCS techniques, such as K-dimensional (K-D) Tree, nearest neighbor radius search, spatial pass-through filtering, and Euclidean clustering. Compared to singular PCS methods, it can achieve dynamic filtering and object extraction effects without adjusting a large number of parameters, and can be applied to completely different scenarios without restricting pigs to fixed scenes or passageways, and without any manual preprocessing of the dataset. Compared with the deep learning method, this method does not require extensive training datasets, and can rapidly extract point clouds from the top region of pigs. This approach effectively isolates target point clouds under varying noise conditions, in scenario where pig bodies blend with background noise, and in both single- and multi-pig scenes. The method ensures precise extraction of pig body point clouds despite pig movement, postures variations, adjustable camera heights, and diverse environmental conditions by leveraging the geometric characteristics and spatial distribution of the point clouds. Moreover, this approach is adaptable to the extraction of point clouds for other livestock species, such as cattle.</p>
    </sec>
    <sec id="sec2">
      <title>2. MATERIALS AND METHODS</title>
      <p>Our experiment does not involve any harm to pigs, and we have obtained permission from the person in charge of the pig farm to complete 3D point cloud data collection under their cooperation and supervision. All animal experimental procedures in this study were formally reviewed and approved by the Institutional Animal Welfare and Animal Experimental Ethical Inspection Committee of the National Engineering Research Center for Information Technology in Agriculture (NERCITA), China (Approval No. DWFL-2025-2-02). The experimental protocols strictly adhered to the “3Rs” principles (Replacement, Reduction, and Refinement) and national guidelines for animal welfare. Specifically, during the data collection process, we guided pigs to an empty enclosure and only used a Time-of-Fligh (TOF) camera for non-contact scanning, without touching the pig’s body or restricting its movement throughout the process, after the experiment was completed, the pigs were released back to their original enclosure. In the experiment, a push-cart data acquisition equipment was utilized to acquire point cloud data. Based on the distribution characteristics of the point clouds, the DPFFS method was designed and validated using 987 datasets. The overall flowchart of the DPFFS algorithm is shown in <xref ref-type="fig" rid="fig1">Figure 1</xref>, which includes INPUT, MODULE 1, MODULE 2, and OUTPUT four stages. The input is pig point cloud in the original environment with ground noise. In MODULE 1, these ground noise of varying heights is automatically identified and removed by analyzing the point cloud density features within this slice. After that, MODULE 2 effectively discerns and filters out noise in the vertical (Z-axis) direction such as walls and equipment, as well as noise in the horizontal plane (X-Y plane) such as railings and window sills. The output is the extracted point cloud of target pig body. These two modules demonstrate excellent target extraction capabilities even though pig body point clouds are adhered to noise.</p>
      <fig id="fig1" position="float">
        <label>Figure 1</label>
        <caption>
          <p>Flowchart of DPFFS method. DPFFS: Dynamic point-cloud feature focusing and segmentation.</p>
        </caption>
        <graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="ir6017.fig.1.jpg" />
      </fig>
      <sec id="sec2-1">
        <title>2.1. Data and environment</title>
        <sec id="sec2-1-1">
          <title>2.1.1. Data acquisition equipment and algorithmic environment</title>
          <p>We designed a cart-type bird’s eye perspective data acquisition equipment constructed from aluminum profiles, using a structure that reaches forward for depth camera mounting, which allows for ample movement space between the pig and the equipment. The equipment’s up aluminum boom arm is adjustable both vertically and horizontally, facilitating data collection at various heights and ranges, and includes a platform for placing a computer. Equipment includes a Microsoft Surface Book 2, an Orbbec Femto Bolt camera (TOF), and an outdoor portable battery which can supply power to the computer and camera, as illustrated in <xref ref-type="fig" rid="fig2">Figure 2A</xref>.</p>
          <fig id="fig2" position="float">
            <label>Figure 2</label>
            <caption>
              <p>(A) Acquisition equipment diagram, ① Orbbec Femto Bolt (China), ② Microsoft Surface Book 2, ③ Outdoor portable battery; (B) Data acquisition method, photograph taken by the authors. RGB-D: Red-Green-Blue-depth.</p>
            </caption>
            <graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="ir6017.fig.2.jpg" />
          </fig>
          <p>During point cloud acquisition, a resolution of 512 × 512 was utilized with a wide field of view of 120° × 120°, the camera’s optical axis was oriented vertically downwards. We collected data at three heights of 1,680, 1,780, and 1,880 mm (where height refers to the vertical distance from the camera’s protective window to the ground surface), the data stream operated at a frame rate of 30 fps, with the data acquisition program set to capture data every second. During data collection, we tried to keep the pig within the camera’s field of view as much as possible.The real situation of data collection is shown in <xref ref-type="fig" rid="fig2">Figure 2B</xref>.</p>
          <p>The DPFFS algorithm was developed in the Microsoft Visual Studio 2019 using C++ programming language, employed the point cloud library (PCL) 1.11.1 version of the point cloud library and the Orbbec SDK 1.9.5 Release version. The point cloud was loaded using a K-D Tree structure to speed up the process of nearest neighbor searching. The computer configuration for the algorithm design was as follows: CPU - Intel(R) Core(TM) i5-9300H, RAM - 8.00 GB, GPU - GTX 1650, Windows 11. The algorithm did not use a deep learning network and did not require dataset training. To obtain high-density original pig body point clouds or to swiftly extract simplified point clouds with almost unchanged features, we selected three sets of voxel downsampling parameters to assess the algorithm’s execution speed. The equipment parameters involved in the experiment are presented in <xref ref-type="table" rid="t1">Table 1</xref>.</p>
          <table-wrap id="t1">
            <label>Table 1</label>
            <caption>
              <p>Device parameters involved in the experiment</p>
            </caption>
            <table frame="hsides" rules="groups">
              <thead>
                <tr>
                  <td style="border-bottom:1;">
                    <bold>Subject</bold>
                  </td>
                  <td style="border-bottom:1;">
                    <bold>Content</bold>
                  </td>
                  <td style="border-bottom:1;">
                    <bold>Subject</bold>
                  </td>
                  <td style="border-bottom:1;">
                    <bold>Content</bold>
                  </td>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <td>CPU</td>
                  <td>Intel I5 9300H</td>
                  <td>RGB-D camera</td>
                  <td>Orbbec Femto Bolt</td>
                </tr>
                <tr>
                  <td>Cores/threads</td>
                  <td>4 cores/8 threads</td>
                  <td>Depth technology</td>
                  <td>iTOF</td>
                </tr>
                <tr>
                  <td>Operating system</td>
                  <td>Windows 11</td>
                  <td>Depth FOV</td>
                  <td>H120°V120°</td>
                </tr>
                <tr>
                  <td>IDE</td>
                  <td>Visual Studio 2019</td>
                  <td>Depth resolution/FPS</td>
                  <td>512×512@30fps</td>
                </tr>
              </tbody>
            </table>
            <table-wrap-foot>
              <fn>
                <p>CPU: Central processing unit; RGB-D: Red-Green-Blue-depth; iTOF: indirect time-of-flight; FOV: field of view; IDE: integrated development environment; FPS: frames per second.</p>
              </fn>
            </table-wrap-foot>
          </table-wrap>
        </sec>
        <sec id="sec2-1-2">
          <title>2.1.2. Data content</title>
          <p>The data acquisition for this study was conducted at a fattening pig farm in Longyao, Xingtai City, Hebei Province, China. During this period, a total of 40 different Duroc x Large White crossbred pigs were selected for data collection, ranging in age from 3 to 5 months. The data collection used the push-cart equipment that followed the pigs while maintaining a distance from them. In total, 1,000 sets of polygon file format (PLY) format point clouds were collected, encompassing individuals with different ages (based on body weight) and various movement postures. Among these datasets, 13 sets were considered to be erroneous due to pig moves out of the field of view. As the exposure errors lead to severe depth information and point cloud loss, these erroneous point clouds were removed from the overall dataset, leaving 987 sets of data, sows accounted for 70%, while boars constituted 30%, with body weights ranging from a minimum of 60.0 kg to a maximum of 102.3 kg. The detailed information of the data is provided in <xref ref-type="table" rid="t2">Table 2</xref>. The postures and sizes of pig body point cloud varied, with some mixed with environmental noise, while others remained unaffected by noise interference except for ground point cloud disturbances.</p>
          <table-wrap id="t2">
            <label>Table 2</label>
            <caption>
              <p>Data details</p>
            </caption>
            <table frame="hsides" rules="groups">
              <thead>
                <tr>
                  <td style="border-bottom:1;">
                    <bold>Subject</bold>
                  </td>
                  <td style="border-bottom:1;">
                    <bold>Content</bold>
                  </td>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <td>Data source location</td>
                  <td>Longyao, Xingtai City, Hebei Province, China</td>
                </tr>
                <tr>
                  <td>Data source and quantity</td>
                  <td>40 Duroc x Large White crossbred pigs</td>
                </tr>
                <tr>
                  <td>Data format</td>
                  <td>“.PLY” point cloud</td>
                </tr>
                <tr>
                  <td>Age ranges</td>
                  <td>3-5 months</td>
                </tr>
                <tr>
                  <td>Weight ranges</td>
                  <td>60.0-102.3 kg</td>
                </tr>
                <tr>
                  <td>Proportion of sows</td>
                  <td>70% (692 point cloud sets)</td>
                </tr>
                <tr>
                  <td>Proportion of boars</td>
                  <td>30% (295 point cloud sets)</td>
                </tr>
              </tbody>
            </table>
          </table-wrap>
        </sec>
      </sec>
      <sec id="sec2-2">
        <title>2.2. Point cloud coordinate reference system</title>
        <p>In order to establish the spatial reference system required for point cloud computations, 4 × 4 transformation matrix is employed to standardize the coordinate system in the pre-processing stage. In this study, the Z-axis is defined to align with the direction of gravity, perpendicular to the ground point cloud. While the plane formed by the X and Y axes is parallel to the ground, the values of the Z-axis coordinates increased from top to bottom, with the Z-axis coordinates of points near the ground corresponding to the actual distance from the camera to the ground. For instance, if 1,680 mm was selected as the data collection height in practice, the Z-axis values of points near the ground would be approximately 1,680 mm.The specific orientation of the X and Y axes is not constrained in this study, hence the Z-axis is not selected as the rotation axis, instead, the target states are calculated using the other two axes individually.</p>
        <p>The original point cloud set is defined as <italic>P<sub>Original</sub></italic> {<italic>P<sub>i</sub></italic>|<italic>i</italic> = 1, 2, …, <italic>n</italic>}, where <italic>P<sub>i</sub></italic> represents index points in <italic>P<sub>Original</sub></italic>, each of <italic>P<sub>i</sub></italic> possesses three-dimensional coordinate information, <italic>i</italic> represents index value of <italic>P<sub>i</sub></italic>, <inline-formula><tex-math id="M1">$$ \forall $$</tex-math></inline-formula> <italic>P<sub>i</sub></italic> = (<italic>X<sub>i</sub></italic>, <italic>Y<sub>i</sub></italic>, <italic>Z<sub>i</sub></italic>), and <italic>n</italic> is the total number of points in the point cloud. <italic>R</italic> was calculated using the Cloud Compare (v2.13.beta) software, furthermore, to maintain consistency, the angle between the camera’s optical axis and the ground is unchanged, so a <italic>R</italic> is computed using a set of point cloud, it can be applied to establish and rectify the spatial reference system for all other data. By utilizing a 4 × 4 transformation matrix <italic>R</italic> (without translation calculation), the point cloud with standard coordinate system <italic>P</italic> {<italic>P<sub>j</sub></italic>|<italic>j</italic> = 1, 2, …, <italic>n</italic>} is calculated.</p>
		<p><disp-formula> <label>(1)</label> <tex-math id="E1"> $$  R=\begin{bmatrix}
1.000  &amp; 0.000 &amp; 0.000 &amp; 0.000\\
0.000  &amp; 0.994 &amp; 0.109 &amp; -459.963\\
0.000  &amp; -0.109 &amp; 0.994 &amp; 1644.661\\
0.000  &amp; 0.000 &amp; 0.000 &amp; 1.000
\end{bmatrix} $$ </tex-math></disp-formula></p>
		<p><disp-formula> <label>(2)</label> <tex-math id="E1"> $$  P=R\cdot P_{Original} $$ </tex-math></disp-formula></p>
      </sec>
      <sec id="sec2-3">
        <title>2.3. Dynamic point counting peak statistical filtering</title>
        <p>Point cloud data contains distance information. When the camera’s height changes, even imaging the same scene will result in completely different depth values and point cloud coordinates. Therefore, relying solely on a single Pass-Through Filter or RANSAC<sup>[<xref ref-type="bibr" rid="B28">28</xref>]</sup> fitting method has certain limitations. The Pass-Through Filter requires setting coordinate parameters, changes in coordinate height deactivate the threshold, necessitating repeated calibration. While RANSAC in this study is prone to erroneously extracting other planar objects such as walls, even pig backs, furthermore, it exhibits low iterative convergence efficiency, lengthy runtime, and high misclassification rates. Hence, a key module of the algorithm named dynamic point counting peak statistical filtering was designed through continuous point cloud slicing and intra-slice quantity statistics, which removed ground noise slice containing peak point count and confines the remaining points within the region of interest. It ran faster than RANSAC in this study and did not exhibit erroneous segmentation.</p>
        <p>The overall flowchart for module 1 is shown in <xref ref-type="fig" rid="fig3">Figure 3</xref>, step 1 calculates point counting peak and removes ground noise slice, based on the coordinate of the camera <italic>A</italic>0, the localized starting point <italic>A</italic>1 and region of interest can be obtained by step 2.</p>
        <fig id="fig3" position="float">
          <label>Figure 3</label>
          <caption>
            <p>Flowchart of ground noise removal and region of interest extraction (module 1). <italic>P<sub>s</sub></italic>: point cloud that Z-axis values fall within the interval of [<italic>Z</italic><sub>max</sub> - Δ<italic><sub>Z</sub></italic>, <italic>Z</italic><sub>max</sub>], <italic>S</italic><sub>1</sub>: point cloud without ground noise, <italic>S</italic><sub>2</sub>: point cloud within region of interest.</p>
          </caption>
          <graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="ir6017.fig.3.jpg" />
        </fig>
        <sec id="sec2-3-1">
          <title>2.3.1. Variable altitude ground noise identification and filtering</title>
          <p>In the wide field-of-view depth imaging system of a TOF camera, the spatial structure of the acquisition space presents a conical influenced by the geometric characteristics of the perspective mirror. Areas of the ground farther from the camera optical center exhibit larger X-Y plane areas, and these points tend to cluster within small segments along the Z direction. Therefore, the principle of module 1 involves slicing the point cloud continuously, tallying the number of points within each slice, and ultimately identifying slices containing peak point count as “ground noise” for removal using a pass-through filter. Previous section calculated a standardized coordinate system point cloud <italic>P</italic>, using <italic>P</italic> as input, traversing the point cloud index, obtaining the maximum value <italic>Z</italic><sub>max</sub> of the Z-axis, which is realistically the lowest point on the ground, defining Δ<italic><sub>Z</sub></italic> = 1,000, equivalent to 1,000 mm, <italic>Z</italic><sub>max</sub> - Δ<italic><sub>Z</sub></italic> is defined as the lower limit and <italic>Z</italic><sub>max</sub> as the upper limit for a spatial pass-through filter. This procedure defined a rectangular spatial region with a height of <InlineParagraph>1,000 mm</InlineParagraph> and filtered out all noise points with Z values exceeding 1,000 mm. The purpose of this procedure is to eliminate non-critical areas, particularly noise points above the spatial region, thereby optimizing the spatial distribution of the point cloud data. This facilitates focusing on key features around the pig’s body and the ground for subsequent denoising modules. The target point cloud in the space region <italic>P<sub>s</sub></italic> is calculated by the following Equation, <italic>P<sub>i</sub></italic> is the point in <italic>P</italic> where the value of the Z value falls within the region of space, <inline-formula><tex-math id="M1">$$ \forall $$</tex-math></inline-formula> <italic>P<sub>i</sub></italic> = (<italic>X<sub>i</sub></italic>, <italic>Y<sub>i</sub></italic>, <italic>Z<sub>i</sub></italic>), <italic>i</italic> represents index, from 0 to <italic>n</italic> (total number of points).</p>
          <p><disp-formula> <label>(3)</label> <tex-math id="E1"> $$  P_s=\bigcup_{P_i\in P}\left \{ P_i(X_i,Y_i,Z_i)|\left \{P_i\in P|Z_{\mathrm{max}}-\Delta _Z\le Z_i\le Z_{\mathrm{max}}\right \} \right \} $$ </tex-math></disp-formula></p>
		  <p>The starting and ending interval of the Z-axis for the target point cloud <italic>P<sub>s</sub></italic> are now [<italic>Z</italic><sub>max</sub> - Δ<italic><sub>Z</sub></italic>, <italic>Z</italic><sub>max</sub>]. Within this interval, a cyclic program and pass-through filter are employed to generate slices, each with a span value <italic>D<sub>Z</sub></italic> of 100, corresponding to 100 mm in reality (the impact of varying <italic>D<sub>Z</sub></italic> values is discussed in the discussion section). Subsequently, starting from the coordinate value <italic>Z</italic><sub>max</sub> - Δ<italic><sub>Z</sub></italic>, continuous slicing is performed along the Z-axis direction until reaching <italic>Z</italic><sub>max</sub> + <italic>D<sub>Z</sub></italic>. When the span of the last slice does not meet 100, it necessitates including some empty values in the point cloud. The following Equation (4) is utilized to calculate the number of points <italic>N</italic> within each slice.Function <italic>I</italic> is defined such that the result is 1 when the Z-axis of <italic>P<sub>i</sub></italic> satisfies the condition and 0 otherwise. <italic>I</italic> represents slice’s index, which can be dynamically calculated from different values of <italic>Z</italic><sub>max</sub>. For example if <italic>I</italic> = 3, <italic>N</italic><sub>3</sub> represents the number of points in the third slice of <italic>D<sub>Z</sub></italic> thickness, interval is [(<italic>Z</italic><sub>max</sub> - Δ<italic><sub>Z</sub></italic>) - (3*<italic>D<sub>Z</sub></italic>), (<italic>Z</italic><sub>max</sub> - Δ<italic><sub>Z</sub></italic>) - (3*<italic>D<sub>Z</sub></italic>) + <italic>D<sub>Z</sub></italic>].</p>
		  <p><disp-formula> <label>(4)</label> <tex-math id="E1"> $$  N_I=\sum_{i=1}^n I\left \{ P_i(X_i,Y_i,Z_i)|(Z_{\mathrm{max}}-\Delta _Z)-(I*D_Z)\le Z_i\le (Z_{\mathrm{max}}-\Delta _Z)-(I*D_Z)+D_Z \right \}  $$ </tex-math></disp-formula></p>
          <p>The number of points within each slice is tallied, resulting in a quantity distribution characteristic shown in <xref ref-type="fig" rid="fig4">Figure 4A</xref>, which represents the correspondence between point cloud slices and the number of points within each slice. In <xref ref-type="fig" rid="fig4">Figure 4B</xref>, which represents the characteristic distribution chart of point cloud quantities within one point cloud set, the number of points within a slice reaches a peak at positions closer to the ground, corresponding to larger coordinates. To validate this observation, 10 additional sets of point clouds were randomly selected, and their distribution of features exhibited a similar pattern, as shown in <xref ref-type="fig" rid="fig4">Figure 4C</xref>. This method can be utilized for ground point cloud localization and denoising purposes.</p>
          <fig id="fig4" position="float">
            <label>Figure 4</label>
            <caption>
              <p>The distribution chart of point quantities within point cloud slices in the [<italic>Z</italic><sub>max</sub> - Δ<italic><sub>Z</sub></italic>, <italic>Z</italic><sub>max</sub>] interval. (A) The correspondence between slices and number of points; (B) The distribution chart of points in one point cloud set; (C) The distribution chart of points in ten point cloud sets.</p>
            </caption>
            <graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="ir6017.fig.4.jpg" />
          </fig>
          <p>After obtaining the peak value, a slice with a span value <italic>D<sub>Z</sub></italic> is determined to contain ground noise points within the target space. The starting Z-axis value of the slice is set as <italic>d<sub>z</sub></italic>, calculated by the algorithm, and the ending coordinate value equal to the starting coordinate plus the span: <italic>d<sub>z</sub></italic> + <italic>D<sub>Z</sub></italic>, interval equals to [<italic>d<sub>z</sub></italic>, <italic>d<sub>z</sub></italic> + <italic>D<sub>Z</sub></italic>]. Considering significant noise near the ground and the limitation of small slice spans in encompassing all ground noise points, the range of the pass-through filter is further extended into [<italic>d<sub>z</sub></italic> - <inline-formula><tex-math id="M1">$$ \frac{D_Z}{2} $$</tex-math></inline-formula>, <italic>d<sub>z</sub></italic> + <inline-formula><tex-math id="M1">$$ \frac{3}{2} $$</tex-math></inline-formula><italic>D<sub>Z</sub></italic>] during the actual filtering stage to enhance ground removal efficacy. This extension involves filtering out additional portions above and below the target space by <inline-formula><tex-math id="M1">$$ \frac{D_Z}{2} $$</tex-math></inline-formula> units. The point cloud set without ground noise <italic>S</italic><sub>1</sub>, is obtained using the following Equation (5), where <italic>d<sub>z</sub></italic> is the dynamically calculated starting Z-axis value, which varies for point clouds at different heights:</p>
		  <p><disp-formula> <label>(5)</label> <tex-math id="E1"> $$  S_1=\bigcup_{P_i\in P_s}\left \{ P_i(X_i,Y_i,Z_i)|d_z-\frac{D_Z}{2}\le Z_i\le Z_{\mathrm{max}}-\Delta _Z\right \} $$ </tex-math></disp-formula></p>
          <p>Under the current experimental conditions, point cloud data for slatted floor have not been obtained. However, in practical applications, to ensure the comfort of animals standing and lying down, gap dimensions should be smaller than those of the floor section. Additionally, the point cloud density captured by a single consumer-grade depth camera does not meet industrial standards. Therefore, during point distribution statistics, the characteristics should correspond to those of an actual cement floor. This assumption needs further discussion and validation when real-world data become available.</p>
        </sec>
        <sec id="sec2-3-2">
          <title>2.3.2. Region of interest extraction</title>
          <p>Following the filtration of ground noise, the point cloud set <italic>S</italic><sub>1</sub> still exhibits significant noise redundancy, primarily manifested as clusters of outliers comprising non-critical objects such as railings, ancillary facilities of the pig pens, walls, parts of the data acquisition equipment, and suspended dust particles. Consequently, the consideration arises to further constrain the target region to a smaller rectangular space to reduce scene complexity. The camera position defines the viewpoint origin from which the point cloud is generated, with geometric constraints referencing it as the coordinate point. Based on the movement of the pig’s body within the field of view, a bounding box is computed. From the spatial origin coordinate position <italic>A</italic>0(0, 0, 0) of the camera, <italic>A</italic>1(0, 0, <italic>Z</italic><sub>max</sub> - Δ<italic><sub>Z</sub></italic>) is designated as the localized starting point. A bounding box with dimensions length Δ<italic><sub>X</sub></italic> = 2,000 mm, width: Δ<italic><sub>Y</sub></italic> = 2,000 mm, and height: Δ<italic><sub>Z</sub></italic> = 1,000 mm is selected. These dimensions are determined based on the movement range of the largest pig in the experiment. Point cloud data points lying outside this geometric boundary, where the pig’s body would exceed the specified dimensions, are classified as erroneous. The target point cloud set <italic>S</italic><sub>2</sub> is calculated by the following Equation:</p>
		  <p><disp-formula> <label>(6)</label> <tex-math id="E1"> $$  S_{2}=\bigcup_{P_{i} \in S_{1}}\left\{P_{i}\left(X_{i}, Y_{i}, Z_{i}\right) \left\lvert\, \forall P_{i}\left\{\left(\begin{array}{c}
A 1(X)-\frac{\Delta_{X}}{2} \leq X_{i} \leq A 1(X)+\frac{\Delta_{X}}{2}, \\
A 1(Y)-\frac{\Delta_{Y}}{2} \leq Y_{i} \leq A 1(Y)+\frac{\Delta_{Y}}{2}, \\
d_{z}-D_{Z} \leq Z_{i} \leq A 1(Z)
\end{array}\right)\right\}\right.\right. $$ </tex-math></disp-formula></p>
        </sec>
      </sec>
      <sec id="sec2-4">
        <title>2.4. Dynamic multi-dimensional perceptual spatial filtering</title>
        <p>After point counting peak statistical filtering, ground noise was removed, and the redundancy of other noise sources was also reduced. However, instances occur where pigs move in close proximity to pens or walls. These wall or railing noise points are near the pig’s point clouds, sometimes even merging with the pig’s body points, with the number of noise points often surpassing that of the pig. Traditional filtering methods such as gaussian filtering, bilateral filtering, pass-through filtering, statistical radius filtering, and region growing segmentation are ineffective in directly separating these noise points, especially in the edges where the pigs are in contact with the noise. Hence, another key module of algorithm, named dynamic multi-dimensional perceptual spatial filtering, is designed. This module constructs perceptual spaces in both 3D and 2D, defines geometric constraints within these spaces, calculates inner point coordinates, sets threshold parameters, and ultimately denoises within the point cloud set <italic>S</italic><sub>2</sub>. The primary advantage of combining the two dimensions to denoise lies in effectively removing noise in both the vertical and horizontal directions. The overall flowchart for module 2 is shown in <xref ref-type="fig" rid="fig5">Figure 5</xref>, step 1 realizes 3D perceptual spatial filtering of z-direction noise, step 2 realizes 2D perceptual spatial filtering of X-Y plane direction noise.</p>
        <fig id="fig5" position="float">
          <label>Figure 5</label>
          <caption>
            <p>Flowchart of walls, railings (<italic>etc.</italic>) removal by 3D, 2D perceptual spatial filtering (module 2). <italic>S</italic><sub>2</sub>: point cloud within region of interest obtained in the previous section, <italic>S</italic><sub>3D</sub>: point cloud after 3D perceptual spatial filtering, <italic>S</italic><sub>2D</sub>: point cloud after 2D perceptual spatial filtering.</p>
          </caption>
          <graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="ir6017.fig.5.jpg" />
        </fig>
        <sec id="sec2-4-1">
          <title>2.4.1. Voxel simplification of point cloud</title>
          <p>The point cloud data acquired by depth camera is exceedingly voluminous, demanding significant computational resources and long processing times. Voxel downsampling is employed to effectively reduce the data volume while ensuring the integrity of the target point cloud features. In this study, three sets of voxel downsampling parameters are selected to obtain point clouds of varying densities and analyze the runtime of the DPFFS algorithm. To facilitate the observation and differentiation of point cloud features within subsequent illustrations, no downsampling operation is conducted on the point clouds within the figures except for the final results. Bounding boxes are computed within the point cloud set, discretized into small voxels, each cube of the same size is defined as voxel <italic>V</italic>, and the centroid (<italic>X<sub>c</sub></italic>, <italic>Y<sub>c</sub></italic>, <italic>Z<sub>c</sub></italic>) within each <italic>V</italic> is calculated to obtain the simplified point cloud <italic>P<sub>c</sub></italic> after sampling. <italic>m</italic> represents the number of points within each voxel <italic>V</italic>. This chapter selects <italic>V</italic> values of 10, 20, and 30 mm for algorithmic time evaluations.</p>
		  <p><disp-formula> <label>(7)</label> <tex-math id="E1"> $$  P_{c}=\bigcup_{(X_c,Y_c,Z_c) \in V}(X_c,Y_c,Z_c) $$ </tex-math></disp-formula></p>
		  <p><disp-formula> <label>(8)</label> <tex-math id="E1"> $$  \left (X_{c}=\frac{\sum_{i=1}^{m} X_{i}}{m}, Y_{c}=\frac{\sum_{i=1}^{m} Y_{i}}{m}, Z_{c}=\frac{\sum_{i=1}^{m} Z_{i}}{m} \right )   $$ </tex-math></disp-formula></p>
		  <p><disp-formula> <label>(9)</label> <tex-math id="E1"> $$  (X_i,Y_i,Z_i)\in V $$ </tex-math></disp-formula></p>
        </sec>
        <sec id="sec2-4-2">
          <title>2.4.2. Noise feature analysis</title>
          <p>In order to segment the target pig body from environmental noise, this study considers designing an identification method to transform target extraction into a binary classification task, dividing points into noise set or pig body set based on their distinct features. The perceptual box is a three-dimensional spatial cropping model based on pose constraints, its essence lies in using axis-aligned oriented bounding boxes to delineate the regions of interest for target objects in complex scenes, enabling noise suppression. Therefore, by employing the concept of perceptual boxes, perceptual spaces are constructed where point cloud features can be differentiated, each space contains few points and has high computational efficiency. To better observe the features of pig bodies and noise points, several point cloud sets of heavily interfered and noise closely adhered with pig body’s points, as well as undisturbed typical point cloud sets, are selected for analysis. As shown in <xref ref-type="fig" rid="fig6">Figure 6</xref>, the point cloud data corresponding to the black pig body points exhibits a uniform, dense, and smooth “single-layer” structural characteristic, this type of structure demonstrates continuity and consistency within a spatial segment along the Z-axis, with low variance. Conversely, the other two types of points exhibit more extreme characteristics in the Z-direction and the X-Y plane, The green noise region represents noise such as walls, inner and outer walls of feed troughs, and parts of the data acquisition equipment, specifically, in the Z-coordinate axis direction, these points span a large range, are densely distributed, and exhibit significant longitudinal clustering properties. The blue noise region represents noise like railings, window sills, and the bottoms of feed troughs, in this case, points exhibit a small span along the Z-coordinate axis but are densely distributed within a small neighborhood in the X-Y plane, showing distinct lateral clustering properties. The remaining yellow region comprises scattered outlier points with less prominent features. By using the concept of perceptual boxes to construct spatial structures sensitive to both longitudinal and lateral feature distributions, a task of noise points and pig bodies identification and classification can be conducted. However, during the construction process, it is not possible to construct only a single perceptual space. This is because at the boundaries of different regions, the points within the perceptual space exhibit composite features. Consequently, the two-dimensional and three-dimensional perceptual spaces and corresponding geometric constraints were ultimately constructed to amplify the distribution characteristic differences between the pig body and noise. For the point cloud noise in the green and blue regions in <xref ref-type="fig" rid="fig6">Figure 6</xref> it is necessary to calculate the intra-point Z-axis spans and statistical quantities within the perceptual spaces and select appropriate threshold values to avoid misidentification and erroneous filtering of point clouds not affected by noise, as shown in <xref ref-type="fig" rid="fig6">Figure 6F</xref>. For the remaining sparse yellow outlier points, they can be filtered out during the utilization of clustering algorithms without requiring specific attention.</p>
          <fig id="fig6" position="float">
            <label>Figure 6</label>
            <caption>
              <p>(A-F) Represent typical point clouds of different noise complexity, the 4 colored point regions in the figure have 4 different point distribution characteristics.</p>
            </caption>
            <graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="ir6017.fig.6.jpg" />
          </fig>
        </sec>
        <sec id="sec2-4-3">
          <title>2.4.3. 3D perceptual spatial filtering</title>
          <p>Based on the characteristics of noise points, a 3D “cylindrical” perceptual space was designed for the identification and filtering of noise points exhibiting large Z-axis spans and significant point clustering features, such as walls, inner and outer walls of feed troughs, <italic>etc.</italic> The size of the constructed perceptual space is determined based on the trade-off between computational speed and effectiveness. If the perceptual space is excessively large, the corresponding neighborhood search radius will also increase, resulting in slower computational speeds and the potential erroneous filtering of point clouds unaffected by noise. Conversely, selecting a space that is too small may lead to suboptimal filtering effects, making it challenging to remove noise adhering to the pig body point cloud. Specific parameter selections are detailed in the discussion section. The point cloud is loaded using the K-D Tree structure, traversing all points within the set <italic>S</italic><sub>2</sub>. Each point is considered as the center point for neighborhood radius search and perceptual spaces construction, as the PCL does not directly offer a cylindrical search method within the K-D Tree structure. A cylindrical space, denoted as <italic>σ</italic>, with a radius <italic>r</italic> of 10 mm and a height h of 200 mm is constructed by code to impose geometric constraints. Within the search radius <italic>r<sub>s</sub></italic>, all inner points <italic>P<sub>i</sub></italic> falling within the spatial constraint <italic>σ</italic> are counted. And the maximum and minimum Z values of these inner points are recorded to calculate the count parameter <italic>C</italic> and span parameter <italic>D</italic>. A threshold is then set for binary classification, where center points classified as noise are filtered out. The search radius <italic>r<sub>s</sub></italic> is computed based on the constructed radius <italic>r</italic>, and the search region is the circumscribed sphere of <italic>σ</italic>. By using a radius search, a greater number of points can be encompassed in the computation, the defined cylindrical space and constraint serve to amplify the span differences in the Z-direction of inner points. Furthermore, from a top-down perspective, a circular shape at the boundaries between the two types of points contains fewer shared adhesion regions, thereby mitigating potential severe disruptions to the edges of the pig body point clouds.</p>
          <p>Traversing each point in <italic>S</italic><sub>2</sub> as construction center point (<italic>X<sub>Central</sub></italic>, <italic>Y<sub>Central</sub></italic>, <italic>Z<sub>Central</sub></italic>), search radius <italic>r<sub>s</sub></italic> and the mathematical set form of <italic>σ</italic> can be calculated by the following Equations (10) and (11), respectively:</p>
		  <p><disp-formula> <label>(10)</label> <tex-math id="E1"> $$  r_s=\sqrt{(r)^2+(\frac{h}{2})^2}  $$ </tex-math></disp-formula></p>
		  <p><disp-formula> <label>(11)</label> <tex-math id="E1"> $$  \sigma =\bigcup_{P_{i} \in S_{2}}\left\{P_{i}\left(X_{i}, Y_{i}, Z_{i}\right) \left\lvert\, \begin{array}{c}
\sqrt{(X_i-X_{Central})^2+(Y_i-Y_{Central})^2}\le r,  \\
Z_{Central}-\frac{\mathrm{h}}{2}\le Z_i\le Z_{Central}+\frac{\mathrm{h}}{2}
\end{array}\right.\right \} $$ </tex-math></disp-formula></p>
          <p>where <italic>σ</italic> represents the neighborhood point set that within the geometric constraint. An indicator function <italic>I</italic> is defined such that the result is 1 when <italic>P<sub>i</sub></italic> within the set <italic>σ</italic> and 0 otherwise. The count parameter <italic>C</italic> is ultimately calculated, where <italic>C</italic><sub>0</sub> in the equation represents the initial value of 0, and <italic>n</italic> denotes the number of points in the point cloud:</p>
		  <p><disp-formula> <label>(12)</label> <tex-math id="E1"> $$  C=C_0+\sum_{i=1}^n I(P_i(X_i,Y_i,Z_i)\in \sigma ) $$ </tex-math></disp-formula></p>
          <p>The span parameter <italic>D</italic> is calculated by Equation (13):</p>
		  <p><disp-formula> <label>(13)</label> <tex-math id="E1"> $$  D=\max_{P_i(X_i,Y_i,Z_i)\in \sigma}Z_i-\min_{P_i(X_i,Y_i,Z_i)\in \sigma}Z_i $$ </tex-math></disp-formula></p>
          <p>where <italic>i</italic> represents the index of inner points, <inline-formula><tex-math id="M1">$$ \max_{P_i(X_i,Y_i,Z_i)\in \sigma} $$</tex-math></inline-formula><italic>Z<sub>i</sub></italic> represents the maximum Z value of the inner points, and <inline-formula><tex-math id="M1">$$ \min_{P_i(X_i,Y_i,Z_i)\in \sigma} $$</tex-math></inline-formula><italic>Z<sub>i</sub></italic> represents the minimum Z value of the inner points.</p>
          <p>
            <xref ref-type="fig" rid="fig7">Figure 7</xref> illustrates the construction principle of the cylindrical perceptual spaces and the method for determining inner points, which exhibits different characteristics between the pig body point cloud and the noise point cloud. When the blue cylinder <italic>σ</italic><sub>1</sub> is constructed at a noise point, the inner points tend to cluster vertically, with the maximum span difference nearly equal to the height h, denoted as Δ<italic><sub>Z</sub></italic><sub>1</sub> in <xref ref-type="fig" rid="fig7">Figure 7</xref>. In contrast, for the green cylinder <italic>σ</italic><sub>2</sub> constructed on a single layer of the pig body point cloud, the inner points are sparser with smaller Z differences, indicated as Δ<italic><sub>Z</sub></italic><sub>2</sub> in <xref ref-type="fig" rid="fig7">Figure 7</xref>. It is evident from the figure that Δ<italic><sub>Z</sub></italic><sub>1</sub> is significantly greater than Δ<italic><sub>Z</sub></italic><sub>2</sub>, consequently, the count parameter <italic>C</italic> and span parameter <italic>D</italic> for <italic>σ</italic><sub>1</sub> are both greater than those for <italic>σ</italic><sub>2</sub>. By combining <italic>C</italic> and <italic>D</italic> as filtering criteria, the removal of center points is executed when the inner points of <italic>σ</italic> satisfy <italic>C</italic> ≥ 50 and <italic>D</italic> ≥ 50 mm.</p>
          <fig id="fig7" position="float">
            <label>Figure 7</label>
            <caption>
              <p>3D perceptual spaces construct method and different inner points characteristics of <italic>σ</italic> when constructed in noise or pig body points. (A) Observe the construction of 3D perceptual spaces from the top perspective; (B) Observe the construction of 3D perceptual spaces from the side perspective.</p>
            </caption>
            <graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="ir6017.fig.7.jpg" />
          </fig>
          <p>In summary, the method flow is to traverse the point cloud, selecting the current index point as the construction center point (<italic>X<sub>Central</sub></italic>, <italic>Y<sub>Central</sub></italic>, <italic>Z<sub>Central</sub></italic>) based on its actual coordinates <italic>X<sub>Central</sub></italic>, <italic>Y<sub>Central</sub></italic> and <italic>Z<sub>Central</sub></italic>, followed by the construction of a perceptual space and geometric constraint. The coordinates of all inner points within the constraint are calculated. If the <italic>C</italic> and <italic>D</italic> criteria are met, the center point is removed from the point cloud, otherwise, it is skipped. This process continues iteratively until all index points have been traversed. The pseudocode of the program logic design is depicted in <xref ref-type="fig" rid="fig8">Figure 8</xref>.</p>
          <fig id="fig8" position="float" width="520">
            <label>Figure 8</label>
            <caption>
              <p>3D perceptual spatial filtering program pseudo-code.</p>
            </caption>
            <graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="ir6017.fig.8.jpg" />
          </fig>
        </sec>
        <sec id="sec2-4-4">
          <title>2.4.4. 2D perceptual spatial filtering</title>
          <p>The 3D perceptual spatial filtering method is unable to handle point clouds exhibiting clustering characteristics in the X-Y plane direction. Consequently, a 2D “circular” perceptual region was devised to address this limitation. Within the plane resulting from the dimension reduction projection of the point cloud, this method identifies and eliminates noise characterized by a small Z-direction span but a significant concentration of points within a short height neighborhood, such as railings, window sills, and trough bottoms. When constructing the 2D circular perceptual region <italic>ρ</italic>, the dimensions should be larger to encompass a larger number of points. This facilitates the amplification of feature differences for better distinction between noise and pig body point, and helps mitigate false filtering. The potential for erroneous filtering arises from point cloud sets that are not affected by noise, primarily representing the pig’s body. Additionally, the natural posture of the pig results in a smaller Z-direction span of the point cloud at the pig’s back edge, a smaller <italic>ρ</italic> value may lead to the mis-filtering of these edges. Therefore, a construction diameter of 100 mm was selected for <italic>ρ</italic> to cover a larger lateral area of the pig’s back during side projection.</p>
          <p>In the preceding section, the point cloud set <italic>S</italic><sub>3D</sub> was calculated. Subsequently, with its point cloud X coordinates set to 0, all points were projected onto the Y-Z plane as shown in <xref ref-type="fig" rid="fig9">Figure 9A</xref>. Utilizing the K-D Tree structure, the point cloud was loaded and traversed, conducting a nearest neighbor radius search with each point cloud serving as a construction center point. Following the data transformation into 2D, the search region coincided with the perceptual region, enabling the direct construction of geometric constraint <italic>ρ</italic> using the search radius. While <italic>r</italic> was chosen to be 50 mm, the process involved counting all inner points <italic>P<sub>i</sub></italic> falling within the perceptual region <italic>ρ</italic>, simultaneously recording the maximum and minimum Z values of these inner points to derive the count parameter <italic>C</italic> and span parameter <italic>D</italic>. The rationale for selecting a circular rather than a rectangular geometric constraint lies in the circular shape’s better alignment with the search region, offering a larger area of coverage. In contrast, choosing a rectangular constraint would result in the search area being the circumscribed circle of the rectangle, potentially causing point omissions at the edges.</p>
          <fig id="fig9" position="float">
            <label>Figure 9</label>
            <caption>
              <p>2D perceptual regions construct method and different inner points characteristics of <italic>ρ</italic> when constructed in noise or pig body points. (A) Observe the construction of 2D perceptual regions from the Y-Z plane perspective; (B) Observe the construction of 2D perceptual regions from the X-Z plane perspective.</p>
            </caption>
            <graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="ir6017.fig.9.jpg" />
          </fig>
          <p>Traversing each point in <italic>S</italic><sub>3D</sub> as construction center point (0, <italic>Y<sub>Central</sub></italic>, <italic>Z<sub>Central</sub></italic>), the mathematical set form of <italic>ρ</italic> can be calculated by the following Equation:</p>
		  <p><disp-formula> <label>(14)</label> <tex-math id="E1"> $$  \rho =\bigcup _{P_i\in S_{3\mathrm{D}}}\left \{ P_i(0,Y_i,Z_i)|\sqrt{(Y_i-Y_{Central})^2+(Z_i-Z_{Central})^2}\le r \right \}  $$ </tex-math></disp-formula></p>
          <p>In the above equation, <italic>ρ</italic> represents the neighborhood point set that within the geometric constraint. The same indicator function <italic>I</italic> is used to calculate the count parameter <italic>C</italic>. While <italic>C</italic><sub>0</sub> in the equation represents the initial value of 0, and <italic>n</italic> denotes the number of points in the point cloud:</p>
		  <p><disp-formula> <label>(15)</label> <tex-math id="E1"> $$  C=C_0+\sum_{i=1}^n I(P_i(0,Y_i,Z_i)\in \rho ) $$ </tex-math></disp-formula></p>
          <p>The span parameter <italic>D</italic> is calculated:</p>
		  <p><disp-formula> <label>(16)</label> <tex-math id="E1"> $$  D=\max_{P_i(0,Y_i,Z_i)\in \rho}Z_i-\min_{P_i(0,Y_i,Z_i)\in \rho}Z_i $$ </tex-math></disp-formula></p>
          <p>
            <italic>i</italic> represents the index of inner points, <inline-formula><tex-math id="M1">$$ \max_{P_i(0,Y_i,Z_i)\in \rho} $$</tex-math></inline-formula><italic>Z<sub>i</sub></italic> represents the maximum Z value of the inner points, and <inline-formula><tex-math id="M1">$$ \min_{P_i(0,Y_i,Z_i)\in \rho} $$</tex-math></inline-formula><italic>Z<sub>i</sub></italic> represents the minimum Z value of the inner points. Then continue to project the point cloud to the X-Z plane as in <xref ref-type="fig" rid="fig9">Figure 9B</xref>, and similarly calculate <italic>C</italic> and <italic>D</italic>. Twice 2D filtering can remove most of the noisy points such as the railings, window sill surfaces, and the bottom of the trough, only a small number of sparse point clusters remain.</p>
          <p>
            <xref ref-type="fig" rid="fig9">Figure 9</xref> illustrates the two projection steps and the construction method of the circular perceptual region <italic>ρ</italic>, the inner points in space still exhibit different characteristics. When constructing the blue region <italic>ρ</italic><sub>1</sub>, the inner points demonstrate a small Z-direction span and clustering in the X-Y direction, denoted as Δ<italic><sub>Z</sub></italic><sub>1</sub>. Conversely, for the green region <italic>ρ</italic><sub>2</sub>, the pig’s back exhibits a certain curvature, allowing <italic>ρ</italic><sub>2</sub> to encompass more points. The Z difference for <italic>ρ</italic><sub>2</sub> exceed <italic>ρ</italic><sub>1</sub>, as indicated by Δ<italic><sub>Z</sub></italic><sub>2</sub> being greater than Δ<italic><sub>Z</sub></italic><sub>1</sub>. The combined conditions of <italic>C</italic> and <italic>D</italic> are employed for filtering, specifically, when the inner points of <italic>ρ</italic> satisfy <italic>C</italic> ≥ 20 and <italic>D</italic> ≤ 40 mm, center point will be removed.</p>
          <p>In summary, the method flow is to project <italic>S</italic><sub>3D</sub> onto the Y-Z plane, traversing the point cloud, selecting the current index point as the construction center point (0, <italic>Y<sub>Central</sub></italic>, <italic>Z<sub>Central</sub></italic>) with <italic>Y<sub>Central</sub></italic> and <italic>Z<sub>Central</sub></italic> representing the actual coordinates of the point. Subsequently, perceptual regions are constructed, calculating the coordinates of all inner points within the region. If these points satisfy the criteria <italic>C</italic> and <italic>D</italic>, the center point is removed from the point cloud, otherwise, it is skipped. This process continues iteratively until all index points have been traversed, then the remaining points are projected onto the X-Z plane, and the aforementioned steps are repeated. Finally, all remaining points are matched with the <italic>S</italic><sub>2</sub> set, and the corresponding Y and X coordinates of points with identical coordinates are assigned their original values. The pseudocode of the program logic design is depicted in <xref ref-type="fig" rid="fig10">Figure 10</xref>.</p>
          <fig id="fig10" position="float" width="560">
            <label>Figure 10</label>
            <caption>
              <p>2D perceptual spatial filtering program pseudo-code.</p>
            </caption>
            <graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="ir6017.fig.10.jpg" />
          </fig>
        </sec>
      </sec>
      <sec id="sec2-5">
        <title>2.5. Pig body point cloud target extraction</title>
        <p>Following the filtration of distinct geometrically shaped point cloud noise by the two key modules, some scattered outliers or point clusters with indistinct geometric features remain. The final extraction of the pig body target is achieved through the employment of the DBSCAN. Clustering algorithm involves two crucial parameters: the neighborhood radius and the number of points within a cluster. The neighborhood radius is defined as the Euclidean distance <italic>Dist</italic>(<italic>p</italic>, <italic>q</italic>), where <italic>p</italic> represents the selected cluster center point and <italic>q</italic> is the point within the <italic>Dist</italic> neighborhood, including core points, noise points, and boundary points. The number of points within a cluster is determined by calculating the count of core points within cluster <italic>C<sub>i</sub></italic>. According to the characteristics of the remaining points in the point cloud, where the pig body appears uniform and dense while noise clusters are sparse and dispersed, a relatively small Euclidean distance <italic>Dist</italic> of 50 mm is set. This choice aims to preserve the integrity of the pig body, particularly the pig ears and pig tails, and effectively filter out outlier clusters. For all points <italic>P<sub>i</sub></italic>(<italic>X<sub>i</sub></italic>, <italic>Y<sub>i</sub></italic>, <italic>Z<sub>i</sub></italic>) within the point cloud <italic>S</italic><sub>2D</sub> and their neighbor points <italic>P<sub>j</sub></italic>, the final target pig body point cloud cluster <italic>P<sub>F</sub></italic> is calculated:</p>
		<p><disp-formula> <label>(17)</label> <tex-math id="E1"> $$  P_F=\mathrm{max}\{C_i\}  $$ </tex-math></disp-formula></p>
		<p><disp-formula> <label>(18)</label> <tex-math id="E1"> $$  C_i =\bigcup _{P_i,P_j\in S_{2\mathrm{D}}}\left \{ P_i(X_i,Y_i,Z_i),P_j(X_j,Y_j,Z_j)|Dist(P_i,P_j)\le 5\mathrm{cm}\right \}  $$ </tex-math></disp-formula></p>
		<p><disp-formula> <label>(19)</label> <tex-math id="E1"> $$  Dist(P_i,P_j)=\sqrt{(X_j-X_i)^2+(Y_j-Y_i)^2+(Z_j-Z_i)^2}  $$ </tex-math></disp-formula></p>
        <p>In the above equation, <italic>C<sub>i</sub></italic> represents all clusters within the <italic>S</italic><sub>2D</sub> (Perceptual spatial filtered point cloud obtained in the previous section) that satisfy the <italic>Dist</italic> condition, <italic>Dist</italic>(<italic>P<sub>i</sub></italic>, <italic>P<sub>j</sub></italic>) represents the Euclidean distance of center points <italic>P<sub>i</sub></italic> and neighborhood points <italic>P<sub>j</sub></italic>, and the <italic>P<sub>j</sub></italic> points meeting the criteria are considered as core points. <italic>P<sub>F</sub></italic> represents the largest cluster that meets the <italic>Dist</italic> condition.</p>
      </sec>
    </sec>
    <sec id="sec3">
      <title>3. RESULTS</title>
      <sec id="sec3-1">
        <title>3.1. Noise filtering results</title>
        <sec id="sec3-1-1">
          <title>3.1.1. Ground denoising results at different heights</title>
          <p>To evaluate the dynamic noise removal effect of module 1 on ground noise, point cloud datasets collected at three different heights of 1,680, 1,780, and 1,880 mm were selected for comparative experiments. By analyzing the distribution characteristics of point cloud quantities within Z-direction slices, we observed that the original point cloud data exhibited significant peak in point distribution in the vicinity of the ground before filtering, as shown in <xref ref-type="fig" rid="fig11">Figure 11A</xref>. The slice region containing the counting-peak (ground noise) was effectively eliminated after filtering, concurrently filtering out point clouds from non-critical areas above the pig body as shown in <xref ref-type="fig" rid="fig11">Figure 11B</xref>. The experiment showed that module 1 of the DPFFS algorithm can achieve adaptive dynamic filtration of ground noise at different heights, exhibiting a high level of processing efficiency.</p>
          <fig id="fig11" position="float">
            <label>Figure 11</label>
            <caption>
              <p>Distribution of points in every slices before and after filtering. (A) Distribution of point cloud points before module 1 filtering; (B) Distribution of point cloud points after module 1 filtering.</p>
            </caption>
            <graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="ir6017.fig.11.jpg" />
          </fig>
        </sec>
        <sec id="sec3-1-2">
          <title>3.1.2. Denoising rates for different interference complexities</title>
          <p>Significant differences in noise interference levels existed among different point cloud groups, compounded by variations in pig weights and sizes, resulting in distinct size and density distributions of clusters within the point cloud. Consequently, the algorithm needed to simultaneously satisfy two key requirements under a unified parameter configuration: (1) effectively denoise point clouds with high noise interference levels and (2) avoid excessive filtration of point clouds with low noise interference levels. To objectively quantify the denoising performance and robustness of the algorithm, the denoising rate (<italic>DR</italic>) was introduced as a core evaluation metric. The 6 sets of point clouds were utilized shown in <xref ref-type="fig" rid="fig6">Figure 6</xref> for filtration experiments, where the sixth set F [<xref ref-type="fig" rid="fig6">Figure 6F</xref>] had zero noise points and was excluded from <italic>DR</italic> calculations. Noise points were segmented using Cloud Compare software to obtain the total number of noise points before filtration: <italic>N<sub>S</sub></italic>, while the total number of noise points after algorithmic filtration was defined as <italic>N<sub>P</sub></italic>. The quantity of points correctly filtered out was determined as <italic>N<sub>S</sub></italic> - <italic>N<sub>P</sub></italic>. <italic>DR</italic> was then calculated using the following Equation:</p>
		  <p><disp-formula> <label>(20)</label> <tex-math id="E1"> $$  DR=\frac{N_S-N_P}{N_S}\times 100\% $$ </tex-math></disp-formula></p>
          <p>As shown in <xref ref-type="table" rid="t3">Table 3</xref>, the first through third groups of point clouds were heavily influenced by noise interference, characterized by a regular geometric distribution of noise points. Consequently, the algorithm exhibited a higher <italic>DR</italic> in these instances. In contrast, the fifth group of point clouds had low noise density and less distinct features (as shown in <xref ref-type="fig" rid="fig6">Figure 6</xref>), resulting in a relatively lower <italic>DR</italic>. The fourth group of point clouds exhibited the most complex noise structure, characterized primarily by irregular surface distributions. The number of noise points significantly exceeded that of the pig body point cloud, resulting in the lowest <italic>DR</italic> among all groups. In summary, the algorithm effectively reduced the number of noise points in heavily interfered point cloud groups to below the number of pig body points, while maintaining lower <italic>DR</italic>s for groups with less interference to avoid false filtering. The experimental results indicated that module 2 possessed filtering capabilities for different noise intensities.</p>
          <table-wrap id="t3">
            <label>Table 3</label>
            <caption>
              <p>
                <italic>DR</italic>s for different noise interference complexities</p>
            </caption>
            <table frame="hsides" rules="groups">
              <thead>
                <tr>
                  <td style="border-bottom:1;">
                    <bold>Point cloud ID (corresponding to <xref ref-type="fig" rid="fig6">Figure 6</xref>)</bold>
                  </td>
                  <td style="border-bottom:1;">
                    <bold>Total number of noise points before filtering-<italic>N</italic><italic><sub>S</sub></italic></bold>
                  </td>
                  <td style="border-bottom:1;">
                    <bold>Total number of noise points after filtering-<italic>N</italic><italic><sub>P</sub></italic></bold>
                  </td>
                  <td style="border-bottom:1;">
                    <bold>Denoising rate-<italic>DR</italic></bold>
                  </td>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <td>A</td>
                  <td>22,302</td>
                  <td>1,316</td>
                  <td>94.1%</td>
                </tr>
                <tr>
                  <td>B</td>
                  <td>26,720</td>
                  <td>1,831</td>
                  <td>93.1%</td>
                </tr>
                <tr>
                  <td>C</td>
                  <td>25,833</td>
                  <td>1,820</td>
                  <td>93.0%</td>
                </tr>
                <tr>
                  <td>D</td>
                  <td>27,727</td>
                  <td>11,022</td>
                  <td>60.2%</td>
                </tr>
                <tr>
                  <td>E</td>
                  <td>4,804</td>
                  <td>1,751</td>
                  <td>63.5%</td>
                </tr>
              </tbody>
            </table>
            <table-wrap-foot>
              <fn>
                <p>
                  <italic>DR</italic>s: Denoising rates.</p>
              </fn>
            </table-wrap-foot>
          </table-wrap>
          <p>The final clustered results after filtering were shown in <xref ref-type="fig" rid="fig12">Figure 12</xref>.</p>
          <fig id="fig12" position="float">
            <label>Figure 12</label>
            <caption>
              <p>Target pig body point cloud cluster extraction results, the extraction results (A-F) in the figure correspond to the point cloud input of <xref ref-type="fig" rid="fig6">Figure 6</xref>. Each column represents a different perspective of the same pig.</p>
            </caption>
            <graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="ir6017.fig.12.jpg" />
          </fig>
        </sec>
      </sec>
      <sec id="sec3-2">
        <title>3.2. Accuracy of target pig body extraction</title>
        <p>For PCS and extraction tasks, model performance is typically evaluated using intersection over union (<italic>IoU</italic>). In this study, which addressed a binary classification task distinguishing non-target negative samples (environmental noise) from target positive samples (pig body point cloud), <italic>IoU</italic> was employed to evaluate the classification performance in pig body point cloud extraction. Manual PCS using Cloud Compare software served as ground truth samples for calculating <italic>IoU</italic> and assessing extraction accuracy. <italic>IoU</italic> was computed using the following Equation:</p>
		<p><disp-formula> <label>(21)</label> <tex-math id="E1"> $$  IoU=\frac{TP}{TP+FP+FN} $$ </tex-math></disp-formula></p>
        <p>The term <italic>TP</italic> in the above Equation represented the number of intersecting points between the algorithm’s positive instances and the manually segmented positive instances. <italic>FP</italic> represented the number of intersecting points between the manually segmented positive instances and the points incorrectly classified as negative by the algorithm. <italic>FN</italic> represented the number of intersecting points between the manually segmented negative instances and the points incorrectly classified as positive by the algorithm. A total of 987 sets of point cloud datasets were utilized for evaluation and validation, with <italic>IoU</italic> calculated for each set and the average value computed in the end, a set with <italic>IoU</italic> less than 0.90 is defined as misclassified and does not participate in averaging, the mis-segmentation rate is 0.17 (clarified in the limitations chapter), and the average <italic>IoU</italic> value including mis-segmentation is 0.836. The distribution histogram of correctly segmented <italic>IoU</italic> values was shown in <xref ref-type="fig" rid="fig13">Figure 13A</xref>, with the majority of sample accuracies concentrated between 0.98 and 1.0 as shown in orange mark. The scatter plot in <xref ref-type="fig" rid="fig13">Figure 13B</xref> illustrated an average <italic>IoU</italic> value of 0.984 as shown in orange mark. <xref ref-type="fig" rid="fig14">Figure 14</xref> presented examples of pig body target extraction results.</p>
        <fig id="fig13" position="float">
          <label>Figure 13</label>
          <caption>
            <p>Distribution of <italic>IoU</italic> values for pig body target extracted using the algorithm (Point cloud sets with IoU less than 0.90 are considered as erroneous segmentation and are not displayed in the figure). (A) Distribution histogram of <italic>IoU</italic> values; (B) Scatter plot of <italic>IoU</italic> values. <italic>IoU</italic>: Intersection over union.</p>
          </caption>
          <graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="ir6017.fig.13.jpg" />
        </fig>
        <fig id="fig14" position="float">
          <label>Figure 14</label>
          <caption>
            <p>Pig body target extraction results using DPFFS. Each row corresponded to the extraction results obtained using different voxel sizes <italic>V</italic>, with the last row showing the original high-density point cloud without downsampling. Each column displayed the results for the same target at varying voxel values. DPFFS: Dynamic point-cloud feature focusing and segmentation.</p>
          </caption>
          <graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="ir6017.fig.14.jpg" />
        </fig>
      </sec>
      <sec id="sec3-3">
        <title>3.3. Runtime of algorithm</title>
        <p>To evaluate the computational efficiency of the DPFFS algorithm, this study recorded the runtime of module 1, RANSAC, module 2, and the overall algorithm (encompassing processes such as point cloud coordinate correction, Euclidean clustering, and disk storage) across 987 extraction experiments. The maximum, minimum, and average runtime values were calculated and documented. As mentioned in Section 2.4.1, the runtime durations for four configurations were recorded, including the original point cloud without voxel downsampling, and voxel downsampling with voxel sizes of 10, 20, and 30 mm, as shown in <xref ref-type="table" rid="t4">Table 4</xref>.</p>
        <table-wrap id="t4">
          <label>Table 4</label>
          <caption>
            <p>Runtime of DPFFS</p>
          </caption>
          <table frame="hsides" rules="groups">
            <thead>
              <tr>
                <td>
                  <bold>Content</bold>
                </td>
                <td colspan="3">
                  <bold>Runtime of module 1/s</bold>
                </td>
                <td colspan="3">
                  <bold>Runtime of RANSAC/s</bold>
                </td>
                <td colspan="3">
                  <bold>Runtime of module 2/s</bold>
                </td>
                <td colspan="3">
                  <bold>Runtime of overall/s</bold>
                </td>
              </tr>
              <tr>
                <td style="border-bottom:1;">
                  <bold>Voxel</bold>
                </td>
                <td style="border-bottom:1;">
                  <bold>Min</bold>
                </td>
                <td style="border-bottom:1;">
                  <bold>Max</bold>
                </td>
                <td style="border-bottom:1;">
                  <bold>Avg</bold>
                </td>
                <td style="border-bottom:1;">
                  <bold>Min</bold>
                </td>
                <td style="border-bottom:1;">
                  <bold>Max</bold>
                </td>
                <td style="border-bottom:1;">
                  <bold>Avg</bold>
                </td>
                <td style="border-bottom:1;">
                  <bold>Min</bold>
                </td>
                <td style="border-bottom:1;">
                  <bold>Max</bold>
                </td>
                <td style="border-bottom:1;">
                  <bold>Avg</bold>
                </td>
                <td style="border-bottom:1;">
                  <bold>Min</bold>
                </td>
                <td style="border-bottom:1;">
                  <bold>Max</bold>
                </td>
                <td style="border-bottom:1;">
                  <bold>Avg</bold>
                </td>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td>
                  <italic>Non V</italic>
                </td>
                <td>0.087</td>
                <td>0.139</td>
                <td>0.095</td>
                <td>0.149</td>
                <td>5.383</td>
                <td>1.934</td>
                <td>0.999</td>
                <td>18.249</td>
                <td>6.267</td>
                <td>1.086</td>
                <td>18.408</td>
                <td>6.287</td>
              </tr>
              <tr>
                <td>
                  <italic>V =</italic> 30 mm</td>
                <td>0.060</td>
                <td>0.748</td>
                <td>0.097</td>
                <td>0.062</td>
                <td>2.615</td>
                <td>1.001</td>
                <td>0.007</td>
                <td>0.154</td>
                <td>0.044</td>
                <td>0.079</td>
                <td>0.946</td>
                <td>0.143</td>
              </tr>
              <tr>
                <td>
                  <italic>V =</italic> 20 mm</td>
                <td>0.060</td>
                <td>0.846</td>
                <td>0.099</td>
                <td>0.060</td>
                <td>5.495</td>
                <td>1.174</td>
                <td>0.010</td>
                <td>0.365</td>
                <td>0.126</td>
                <td>0.090</td>
                <td>1.570</td>
                <td>0.228</td>
              </tr>
              <tr>
                <td>
                  <italic>V =</italic> 10 mm</td>
                <td>0.062</td>
                <td>0.697</td>
                <td>0.100</td>
                <td>0.066</td>
                <td>3.680</td>
                <td>1.217</td>
                <td>0.048</td>
                <td>2.467</td>
                <td>0.826</td>
                <td>0.145</td>
                <td>2.794</td>
                <td>0.928</td>
              </tr>
            </tbody>
          </table>
          <table-wrap-foot>
            <fn>
              <p>DPFFS: Dynamic point-cloud feature focusing and segmentation; RANSAC: Region Growing, Random Sample Consensus.</p>
            </fn>
          </table-wrap-foot>
        </table-wrap>
        <p>The original point cloud data, without downsampling, posed challenges due to its large scale, requiring processing of a greater number of neighboring points within the search radius during the traversal filtering process. This results in increased iteration counts and higher time complexity. Employing a 10 mm voxel downsampling strategy ensured that the total runtime was approximately 1 s, while preserving the essential geometric features of the point cloud, thereby achieving efficient pig body extraction. To balance efficiency and accuracy, the configuration with a voxel size of 10 mm was selected for practical use.</p>
      </sec>
      <sec id="sec3-4">
        <title>3.4. Applicability</title>
        <p>The method proposed in this study was applicable for the holistic point cloud extraction of multiple-target pig bodies, fixed-scene pig body extraction, and also transferable to cattle body extraction tasks. In multi-target extraction scenarios, adjustments to the size parameters of the region of interest and clustering threshold parameters were necessary (Because the previously defined size of the region of interest was only for one pig, it is necessary to enlarge the region to include more pigs and point clouds during group segmentation. The parameters of algorithm core modules 1 and 2 do not need to be changed), while the filtering parameters remain unchanged. The characteristics of pig bodies and noise in both fixed and dynamic scenes exhibited a high degree of consistency, obviating the need for additional algorithm parameter adjustments. For cattle body extraction tasks, the clustering threshold parameters was required (Because cattles are much larger in size than pigs and have more point clouds, only the clustering threshold parameters need to be adjusted. The parameters of the core modules 1 and 2 of the algorithm do not need to be changed). To validate the method’s generalization capability, 25 sets of pig group point clouds, 34 sets of fixed-scene point clouds, and 20 sets of cattle body point clouds were selected for experimentation. Some extraction results were shown in <xref ref-type="fig" rid="fig15">Figure 15</xref>, with a note that the cattle body point clouds were obtained from the top camera of non-contact gantry-type system<sup>[<xref ref-type="bibr" rid="B29">29</xref>]</sup>. As illustrated in <xref ref-type="fig" rid="fig15">Figure 15</xref>, the method is suitable for extracting the point cloud of the entire pig herd and the pig point cloud form fixed-scenes, also transferable to cattle body extraction.</p>
        <fig id="fig15" position="float">
          <label>Figure 15</label>
          <caption>
            <p>Some results of experiments on the applicability of the extraction method to other scenarios.</p>
          </caption>
          <graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="ir6017.fig.15.jpg" />
        </fig>
      </sec>
    </sec>
    <sec id="sec4">
      <title>4. DISCUSSION</title>
      <sec id="sec4-1">
        <title>4.1. Discussion of algorithm parameters</title>
        <p>It should be noted that this method was designed for the quantitative distribution characteristics of point clouds. Therefore, once the filtering parameters for module 1 and module 2 were set, there is no need to reconfigure them for different segmentation tasks. Parameters <italic>C</italic> and <italic>D</italic> have already been optimized, as shown in <xref ref-type="fig" rid="fig16">Figure 16</xref>. This single set of parameters can adapt to various segmentation tasks without adjustments, the previous chapter does not require adjusting the parameters of core module 1 and module 2 for different segmentation tasks.</p>
        <fig id="fig16" position="float" width="550">
          <label>Figure 16</label>
          <caption>
            <p>Comparison of filtering effect with different parameter values. (A) Ground noise filtering slice span value (<italic>D<sub>Z</sub></italic>); (B) 3D vertical noise filtering count parameter and span parameter values (<italic>C</italic> and <italic>D</italic>); (C) 2D horizontal noise filtering count parameter and span parameter values (<italic>C</italic> and <italic>D</italic>).</p>
          </caption>
          <graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="ir6017.fig.16.jpg" />
        </fig>
        <p>In the parameter selection of module 1, a comparison was conducted on different values of the slice span <italic>D<sub>Z</sub></italic>, with 4 sets of parameters chosen for experimentation. When <italic>D<sub>Z</sub></italic> was too small, such as 40 (mm), incomplete denoising results in a significant amount of residual ground noise points, as indicated by the green markers in <xref ref-type="fig" rid="fig16">Figure 16A</xref>. When <italic>D<sub>Z</sub></italic> was set to 70 (mm), residual corner noise points persist in the contact area between the railing and the ground. Conversely, with an large <italic>D<sub>Z</sub></italic> value, such as 130 (mm), ground noise points were thoroughly removed. However, this improvement comes at the cost of increased misidentification rates, especially when pigs lower their heads to the ground or approach wall corners, which leads to erroneous filtering of pig body point clouds. Therefore, the optimal parameter of 100 (mm) was selected to maintain a balanced trade-off, ensuring precise control of height errors.</p>
        <p>In the parameter selection of module 2, a comparison was made on the count parameter <italic>C</italic> and the span parameter <italic>D</italic> threshold, with 4 sets of experiments conducted for each. When <italic>C</italic> was too small (e.g., <italic>C</italic> = 10), the misfiltering rate increases, as indicated by the green markers in <xref ref-type="fig" rid="fig16">Figure 16B</xref>. Conversely, excessively large values of <italic>C</italic> reduce the filtering effectiveness. For the span parameter <italic>D</italic> in 3D perceptual spatial filtering, a small value was necessary to ensure thorough removal of vertical noise points. In contrast, in 2D perceptual spatial filtering, a large value for <italic>D</italic> was preferred to avoid erroneously filtering out points on the edges of pig body contours. The final determination set the 3D filtering parameters <italic>C</italic> and <italic>D</italic> to 50 and 50 mm, respectively, and the 2D filtering parameters <italic>C</italic> and <italic>D</italic> to 20 and 40 mm, respectively. Furthermore, variations in voxel size do not affect the aforementioned parameters, eliminating the need to adjust the <italic>C</italic> and <italic>D</italic> parameter configurations for different voxel sizes.</p>
      </sec>
      <sec id="sec4-2">
        <title>4.2. Limitations</title>
        <p>Despite its advantages, the method has certain limitations that should be acknowledged. First, the data collected in this study lacked variations in height, making it difficult to validate whether precise target extraction is still achievable in extreme cases where the camera is in close proximity to the pig body. Additionally, data collection did not include slatted floor, preventing the assessment of the denoising effect on floor gap point clouds. Future work may include expanding the dataset to a larger scale.</p>
        <p>Furthermore, among the 987 data sets, there were 28 datasets exhibiting <italic>IoU</italic> below 0.90, with 141 data sets having an <italic>IoU</italic> of 0 (<italic>IoU</italic> less than 0.90 are defined as incorrect segmentation). These incorrect segmentation point cloud sets with <italic>IoU</italic> equals 0 are all due to the fact that the target pig is close to other fences, and there are many pigs in other fences, resulting in a significantly lower number of point clouds for the target pig than for the pig groups. The principle of clustering is to extract the largest part of all point cloud clusters, so the pig group point cloud cluster is erroneously extracted instead of the target pig, resulting in <italic>TP</italic> equals 0 when calculating <italic>IoU</italic>, leading to incorrect segmentation. Therefore, for objectively evaluating the accuracy of the method, we introduced the mis-segmentation rate, which considers all point cloud groups with <italic>IoU</italic> less than 0.90 as error segmentation. The calculated error segmentation rate is 0.17, and the average <italic>IoU</italic> without calculating error segmentation is 0.984, the average <italic>IoU</italic> with calculating error segmentation is 0.836. The principle of clustering is to calculate the distance between points to form a set of clusters, it can only extract the cluster that meets the conditions by manually setting a threshold. Therefore, when distinguishing between noise and target pig body point clouds, we extract the largest point cloud cluster by setting a point number threshold, which can obtain the correct target. However, when distinguishing between pig groups point clouds and individual target pig bodies, the number of point clouds in the pig groups are much larger than that of a single target pig, resulting in incorrect extraction as shown in <xref ref-type="fig" rid="fig17">Figure 17</xref>. This limitation needs to be addressed by changing the basic computing principles of clustering, such as determining variance.</p>
        <fig id="fig17" position="float" width="450">
          <label>Figure 17</label>
          <caption>
            <p>Visualization of algorithm erroneous clustering.</p>
          </caption>
          <graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="ir6017.fig.17.jpg" />
        </fig>
        <p>Therefore, in future research, more different scenarios and collection heights will be introduced to further validate its applicability, as well as to distinguish between pig herds and individual pigs through discriminant variance, improved clustering, or designing other geometric methods, the method proposed in this study can also be used as an auxiliary module for point cloud preprocessing.</p>
      </sec>
    </sec>
    <sec id="sec5">
      <title>5. CONCLUSIONS</title>
      <p>This study proposes a novel method for target extraction from pig point clouds captured from a top-down perspective. A dynamic algorithm, named DPFFS, was developed to address the challenges of complex environment. The Core module 1, Dynamic Point Counting Peak Statistical Filtering, effectively identifies and removes ground noise points, even when these appear at varying heights. The Core module 2, Dynamic Multi-Dimensional Perceptual Spatial Filtering, accurately extracts pig body point clouds even when they partially blend with background noise. Experimental results demonstrate that the proposed method successfully extracts pig point clouds in complex scenes, achieving an average segmentation accuracy (measured by the <italic>IoU</italic>) of 0.984, which is highly consistent with manual segmentation results, considering the unmanageable erroneous segmentation caused by the characteristics of the clustering method, the <italic>IoU</italic> also reached 0.836. When using a voxel size of 10 mm to simplify the point cloud, the algorithm maintained a processing time of less than 1 second per frame. Furthermore, the method shows strong applicability and can be extended to other point cloud extraction tasks involving multiple targets, fixed scenes, or other animals such as cows. However, some limitations remain, such as occasional misclassification of pig target during the clustering process. Overall, this method serves as an effective auxiliary module for point cloud preprocessing and offers valuable support for downstream applications such as pig back key point detection, body length and width measurement, posture angle estimation, and volume calculation.</p>
    </sec>
  </body>
  <back>
    <sec>
      <title>DECLARATIONS</title>
      <sec>
        <title>Authors’contributions</title>
        <p>Conceptualization, data curation, software, writing - original draft: Li, M.</p>
        <p>Conceptualization, methodology, supervision, funding acquisition: Li, Q.</p>
        <p>Resources, writing - review and editing: Sun, C.</p>
        <p>Data curation, software: Ji, X.; Xu, Z.</p>
        <p>Resources, supervision: Yang, S. X.</p>
        <p>Resources, project administration: Guo, H.</p>
        <p>Resources, writing - review and editing: Zhou, H.</p>
        <p>Resources, project administration, writing - review and editing: Ma, W.</p>
      </sec>
      <sec>
        <title>Availability of data and materials</title>
        <p>The data supporting the conclusions of this research are available from the corresponding author upon reasonable request.</p>
      </sec>
      <sec>
        <title>AI and AI-assisted tools statement</title>
        <p>During the preparation of this manuscript, the Doubao AI Model (Version: Web edition) was used solely for generating the pig image in <xref ref-type="fig" rid="fig2">Figure 2A</xref>. The tool did not influence the study design, data collection, analysis, interpretation, or the scientific content of the work. All authors take full responsibility for the accuracy, integrity, and final content of the manuscript.</p>
      </sec>
      <sec>
        <title>Financial support and sponsorship</title>
        <p>This work was supported by the Special Project for Outstanding Scientist Cultivation of Beijing Academy of Agriculture and Forestry Sciences (JKZX202214) and Sichuan Science Technology Program (No2021ZDZX0011).</p>
      </sec>
      <sec>
        <title>Conflicts of interest</title>
        <p>Yang, S. X. is the Editor-in-Chief of the journal <italic>Intelligence</italic> &amp; <italic>Robotics</italic>, but was not involved in any steps of editorial processing, notably including reviewer selection, manuscript handling, and decision making, while the other authors have declared that they have no conflicts of interest.</p>
      </sec>
      <sec>
        <title>Ethical approval and consent to participate</title>
        <p>All animal experimental procedures in this study were formally reviewed and approved by the Institutional Animal Welfare and Animal Experimental Ethical Inspection Committee of the National Engineering Research Center for Information Technology in Agriculture (NERCITA), China (Approval No. DWFL-2025-2-02). The experimental protocols strictly adhered to the “3Rs” principles (Replacement, Reduction, and Refinement) and national guidelines for animal welfare. Furthermore, explicit permission and informed consent were obtained from the farm owner prior to data collection, and all experimental activities were conducted under their direct cooperation and supervision.</p>
      </sec>
      <sec>
        <title>Consent for publication</title>
        <p>Not applicable.</p>
      </sec>
      <sec>
        <title>Copyright</title>
        <p>© The Author(s) 2026.</p>
      </sec>
    </sec>
    <ref-list>
      <ref id="B1">
        <label>1</label>
        <nlm-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Hietala</surname>
              <given-names>P</given-names>
            </name>
            <name>
              <surname>Juga</surname>
              <given-names>J</given-names>
            </name>
          </person-group>
          <article-title>Impact of including growth, carcass and feed efficiency traits in the breeding goal for combined milk and beef production systems</article-title>
          <source>Animal</source>
          <year>2017</year>
          <volume>11</volume>
          <fpage>564</fpage>
          <lpage>73</lpage>
          <pub-id pub-id-type="doi">10.1017/s1751731116001877</pub-id>
          <pub-id pub-id-type="pmid">27608523</pub-id>
        </nlm-citation>
      </ref>
      <ref id="B2">
        <label>2</label>
        <nlm-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Rzabayev</surname>
              <given-names>TS</given-names>
            </name>
            <name>
              <surname>Assanbayev</surname>
              <given-names>TS</given-names>
            </name>
            <name>
              <surname>Rzabayev</surname>
              <given-names>S</given-names>
            </name>
            <name>
              <surname>Bazargaliyev</surname>
              <given-names>A</given-names>
            </name>
            <name>
              <surname>Rzabayev</surname>
              <given-names>KS</given-names>
            </name>
          </person-group>
          <article-title>Linebreeding as a system of stock breeding to improve the productive qualities of horses of the Kushum breed</article-title>
          <source>Reprod Domest Anim</source>
          <year>2022</year>
          <volume>57</volume>
          <fpage>1584</fpage>
          <lpage>92</lpage>
          <pub-id pub-id-type="doi">10.1111/rda.14235</pub-id>
          <pub-id pub-id-type="pmid">36004555</pub-id>
        </nlm-citation>
      </ref>
      <ref id="B3">
        <label>3</label>
        <nlm-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Park</surname>
              <given-names>M</given-names>
            </name>
            <name>
              <surname>Britton</surname>
              <given-names>D</given-names>
            </name>
            <name>
              <surname>Daley</surname>
              <given-names>W</given-names>
            </name>
            <etal />
          </person-group>
          <article-title>Artificial intelligence, sensors, robots, and transportation systems drive an innovative future for poultry broiler and breeder management</article-title>
          <source>Anim Front</source>
          <year>2022</year>
          <volume>12</volume>
          <fpage>40</fpage>
          <lpage>8</lpage>
          <pub-id pub-id-type="doi">10.1093/af/vfac001</pub-id>
          <pub-id pub-id-type="pmid">35505844</pub-id>
          <pub-id pub-id-type="pmcid">PMC9056034</pub-id>
        </nlm-citation>
      </ref>
      <ref id="B4">
        <label>4</label>
        <nlm-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Palma-Molina</surname>
              <given-names>P</given-names>
            </name>
            <name>
              <surname>Hennessy</surname>
              <given-names>T</given-names>
            </name>
            <name>
              <surname>O’Connor</surname>
              <given-names>AH</given-names>
            </name>
            <etal />
          </person-group>
          <article-title>Factors associated with intensity of technology adoption and with the adoption of 4 clusters of precision livestock farming technologies in Irish pasture-based dairy systems</article-title>
          <source>J Dairy Sci</source>
          <year>2023</year>
          <volume>106</volume>
          <fpage>2498</fpage>
          <lpage>509</lpage>
          <pub-id pub-id-type="doi">10.3168/jds.2021-21503</pub-id>
          <pub-id pub-id-type="pmid">36797180</pub-id>
        </nlm-citation>
      </ref>
      <ref id="B5">
        <label>5</label>
        <nlm-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Pethick</surname>
              <given-names>DW</given-names>
            </name>
            <name>
              <surname>Hocquette</surname>
              <given-names>JF</given-names>
            </name>
            <name>
              <surname>Scollan</surname>
              <given-names>ND</given-names>
            </name>
            <name>
              <surname>Dunshea</surname>
              <given-names>FR</given-names>
            </name>
          </person-group>
          <article-title>Review: Improving the nutritional, sensory and market value of meat products from sheep and cattle</article-title>
          <source>Animal</source>
          <year>2021</year>
          <volume>15 Suppl 1</volume>
          <fpage>100356</fpage>
          <pub-id pub-id-type="doi">10.1016/j.animal.2021.100356</pub-id>
          <pub-id pub-id-type="pmid">34600858</pub-id>
        </nlm-citation>
      </ref>
      <ref id="B6">
        <label>6</label>
        <nlm-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Zulkifli</surname>
              <given-names>I</given-names>
            </name>
          </person-group>
          <article-title>Review of human-animal interactions and their impact on animal productivity and welfare</article-title>
          <source>J Anim Sci Biotechnol</source>
          <year>2013</year>
          <volume>4</volume>
          <fpage>25</fpage>
          <pub-id pub-id-type="doi">10.1186/2049-1891-4-25</pub-id>
          <pub-id pub-id-type="pmid">23855920</pub-id>
          <pub-id pub-id-type="pmcid">PMC3720231</pub-id>
        </nlm-citation>
      </ref>
      <ref id="B7">
        <label>7</label>
        <nlm-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Zhang</surname>
              <given-names>ALN</given-names>
            </name>
            <name>
              <surname>Wu</surname>
              <given-names>BP</given-names>
            </name>
            <name>
              <surname>Jiang</surname>
              <given-names>CXH</given-names>
            </name>
            <name>
              <surname>Xuan</surname>
              <given-names>DCZ</given-names>
            </name>
            <name>
              <surname>Ma</surname>
              <given-names>EYH</given-names>
            </name>
            <name>
              <surname>Zhang</surname>
              <given-names>FYA</given-names>
            </name>
          </person-group>
          <article-title>Development and validation of a visual image analysis for monitoring the body size of sheep</article-title>
          <source>J Appl Anim Res</source>
          <year>2018</year>
          <volume>46</volume>
          <fpage>1004</fpage>
          <lpage>15</lpage>
          <pub-id pub-id-type="doi">10.1080/09712119.2018.1450257</pub-id>
        </nlm-citation>
      </ref>
      <ref id="B8">
        <label>8</label>
        <nlm-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Li</surname>
              <given-names>J</given-names>
            </name>
            <name>
              <surname>Green-Miller</surname>
              <given-names>AR</given-names>
            </name>
            <name>
              <surname>Hu</surname>
              <given-names>X</given-names>
            </name>
            <etal />
          </person-group>
          <article-title>Barriers to computer vision applications in pig production facilities</article-title>
          <source>Comput Electron Agric</source>
          <year>2022</year>
          <volume>200</volume>
          <fpage>107227</fpage>
          <pub-id pub-id-type="doi">10.1016/j.compag.2022.107227</pub-id>
        </nlm-citation>
      </ref>
      <ref id="B9">
        <label>9</label>
        <nlm-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Taylor</surname>
              <given-names>C</given-names>
            </name>
            <name>
              <surname>Guy</surname>
              <given-names>J</given-names>
            </name>
            <name>
              <surname>Bacardit</surname>
              <given-names>J</given-names>
            </name>
          </person-group>
          <article-title>Prediction of growth in grower-finisher pigs using recurrent neural networks</article-title>
          <source>Biosyst Eng</source>
          <year>2022</year>
          <volume>220</volume>
          <fpage>114</fpage>
          <lpage>34</lpage>
          <pub-id pub-id-type="doi">10.1016/j.biosystemseng.2022.05.016</pub-id>
        </nlm-citation>
      </ref>
      <ref id="B10">
        <label>10</label>
        <nlm-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Guo</surname>
              <given-names>Q</given-names>
            </name>
            <name>
              <surname>Sun</surname>
              <given-names>Y</given-names>
            </name>
            <name>
              <surname>Orsini</surname>
              <given-names>C</given-names>
            </name>
            <etal />
          </person-group>
          <article-title>Enhanced camera-based individual pig detection and tracking for smart pig farms</article-title>
          <source>Comput Electron Agric</source>
          <year>2023</year>
          <volume>211</volume>
          <fpage>108009</fpage>
          <pub-id pub-id-type="doi">10.1016/j.compag.2023.108009</pub-id>
        </nlm-citation>
      </ref>
      <ref id="B11">
        <label>11</label>
        <nlm-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Wang</surname>
              <given-names>Y</given-names>
            </name>
            <name>
              <surname>Xin</surname>
              <given-names>C</given-names>
            </name>
            <name>
              <surname>Gao</surname>
              <given-names>Y</given-names>
            </name>
            <etal />
          </person-group>
          <article-title>Advancing selective breeding in leopard coral grouper (<italic>P. leopardus</italic>) through development of a high-throughput image-based growth trait</article-title>
          <source>Agric Commun</source>
          <year>2024</year>
          <volume>2</volume>
          <fpage>100042</fpage>
          <pub-id pub-id-type="doi">10.1016/j.agrcom.2024.100042</pub-id>
        </nlm-citation>
      </ref>
      <ref id="B12">
        <label>12</label>
        <nlm-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Yin</surname>
              <given-names>L</given-names>
            </name>
            <name>
              <surname>Cai</surname>
              <given-names>G</given-names>
            </name>
            <name>
              <surname>Tian</surname>
              <given-names>X</given-names>
            </name>
            <etal />
          </person-group>
          <article-title>Three dimensional point cloud reconstruction and body size measurement of pigs based on multi-view depth camera</article-title>
          <source>Trans Chin Soc Agric Eng</source>
          <year>2019</year>
          <volume>35</volume>
          <fpage>201</fpage>
          <lpage>8</lpage>
          <pub-id pub-id-type="doi">10.11975/j.issn.1002-6819.2019.23.025</pub-id>
        </nlm-citation>
      </ref>
      <ref id="B13">
        <label>13</label>
        <nlm-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Du</surname>
              <given-names>A</given-names>
            </name>
            <name>
              <surname>Guo</surname>
              <given-names>H</given-names>
            </name>
            <name>
              <surname>Lu</surname>
              <given-names>J</given-names>
            </name>
            <etal />
          </person-group>
          <article-title>Automatic livestock body measurement based on keypoint detection with multiple depth cameras</article-title>
          <source>Comput Electron Agric</source>
          <year>2022</year>
          <volume>198</volume>
          <fpage>107059</fpage>
          <pub-id pub-id-type="doi">10.1016/j.compag.2022.107059</pub-id>
        </nlm-citation>
      </ref>
      <ref id="B14">
        <label>14</label>
        <nlm-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Hao</surname>
              <given-names>H</given-names>
            </name>
            <name>
              <surname>Jincheng</surname>
              <given-names>Y</given-names>
            </name>
            <name>
              <surname>Ling</surname>
              <given-names>Y</given-names>
            </name>
            <name>
              <surname>Gengyuan</surname>
              <given-names>C</given-names>
            </name>
            <name>
              <surname>Sumin</surname>
              <given-names>Z</given-names>
            </name>
            <name>
              <surname>Huan</surname>
              <given-names>Z</given-names>
            </name>
          </person-group>
          <article-title>An improved PointNet++ point cloud segmentation model applied to automatic measurement method of pig body size</article-title>
          <source>Comput Electron Agricu</source>
          <year>2023</year>
          <volume>205</volume>
          <fpage>107560</fpage>
          <pub-id pub-id-type="doi">10.1016/j.compag.2022.107560</pub-id>
        </nlm-citation>
      </ref>
      <ref id="B15">
        <label>15</label>
        <nlm-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Kwon</surname>
              <given-names>K</given-names>
            </name>
            <name>
              <surname>Park</surname>
              <given-names>A</given-names>
            </name>
            <name>
              <surname>Lee</surname>
              <given-names>H</given-names>
            </name>
            <name>
              <surname>Mun</surname>
              <given-names>D</given-names>
            </name>
          </person-group>
          <article-title>Deep learning-based weight estimation using a fast-reconstructed mesh model from the point cloud of a pig</article-title>
          <source>Comput Electron Agric</source>
          <year>2023</year>
          <volume>210</volume>
          <fpage>107903</fpage>
          <pub-id pub-id-type="doi">10.1016/j.compag.2023.107903</pub-id>
        </nlm-citation>
      </ref>
      <ref id="B16">
        <label>16</label>
        <nlm-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Luo</surname>
              <given-names>X</given-names>
            </name>
            <name>
              <surname>Hu</surname>
              <given-names>Y</given-names>
            </name>
            <name>
              <surname>Gao</surname>
              <given-names>Z</given-names>
            </name>
            <name>
              <surname>Guo</surname>
              <given-names>H</given-names>
            </name>
            <name>
              <surname>Su</surname>
              <given-names>Y</given-names>
            </name>
          </person-group>
          <article-title>Automated measurement of livestock body based on pose normalisation using statistical shape model</article-title>
          <source>Biosyst Eng</source>
          <year>2023</year>
          <volume>227</volume>
          <fpage>36</fpage>
          <lpage>51</lpage>
          <pub-id pub-id-type="doi">10.1016/j.biosystemseng.2023.01.016</pub-id>
        </nlm-citation>
      </ref>
      <ref id="B17">
        <label>17</label>
        <nlm-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Na</surname>
              <given-names>MH</given-names>
            </name>
            <name>
              <surname>Cho</surname>
              <given-names>WH</given-names>
            </name>
            <name>
              <surname>Kim</surname>
              <given-names>SK</given-names>
            </name>
            <name>
              <surname>Na</surname>
              <given-names>IS</given-names>
            </name>
          </person-group>
          <article-title>The development of a weight prediction system for pigs using raspberry Pi</article-title>
          <source>Agriculture</source>
          <year>2023</year>
          <volume>13</volume>
          <fpage>2027</fpage>
          <pub-id pub-id-type="doi">10.3390/agriculture13102027</pub-id>
        </nlm-citation>
      </ref>
      <ref id="B18">
        <label>18</label>
        <nlm-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Wang</surname>
              <given-names>G</given-names>
            </name>
            <name>
              <surname>Li</surname>
              <given-names>Z</given-names>
            </name>
            <name>
              <surname>Weng</surname>
              <given-names>G</given-names>
            </name>
            <name>
              <surname>Chen</surname>
              <given-names>Y</given-names>
            </name>
          </person-group>
          <article-title>An overview of industrial image segmentation using deep learning models</article-title>
          <source>Intell Robot</source>
          <year>2025</year>
          <volume>5</volume>
          <fpage>143</fpage>
          <lpage>80</lpage>
          <pub-id pub-id-type="doi">10.20517/ir.2025.09</pub-id>
        </nlm-citation>
      </ref>
      <ref id="B19">
        <label>19</label>
        <nlm-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Shuai</surname>
              <given-names>S</given-names>
            </name>
            <name>
              <surname>Ling</surname>
              <given-names>Y</given-names>
            </name>
            <name>
              <surname>Shihao</surname>
              <given-names>L</given-names>
            </name>
            <etal />
          </person-group>
          <article-title>Research on 3D surface reconstruction and body size measurement of pigs based on multi-view RGB-D cameras</article-title>
          <source>Comput Electron Agric</source>
          <year>2020</year>
          <volume>175</volume>
          <fpage>105543</fpage>
          <pub-id pub-id-type="doi">10.1016/j.compag.2020.105543</pub-id>
        </nlm-citation>
      </ref>
      <ref id="B20">
        <label>20</label>
        <nlm-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Lei</surname>
              <given-names>K</given-names>
            </name>
            <name>
              <surname>Tang</surname>
              <given-names>X</given-names>
            </name>
            <name>
              <surname>Li</surname>
              <given-names>X</given-names>
            </name>
            <etal />
          </person-group>
          <article-title>Research and preliminary evaluation of key technologies for 3D reconstruction of pig bodies based on 3D point clouds</article-title>
          <source>Agriculture</source>
          <year>2024</year>
          <volume>14</volume>
          <fpage>793</fpage>
          <pub-id pub-id-type="doi">10.3390/agriculture14060793</pub-id>
        </nlm-citation>
      </ref>
      <ref id="B21">
        <label>21</label>
        <nlm-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Grilli</surname>
              <given-names>E</given-names>
            </name>
            <name>
              <surname>Menna</surname>
              <given-names>F</given-names>
            </name>
            <name>
              <surname>Remondino</surname>
              <given-names>F</given-names>
            </name>
          </person-group>
          <article-title>A review of point clouds segmentation and classification algorithms</article-title>
          <source>Int Arch Photogramm Remote Sens Spatial Inf Sci</source>
          <year>2017</year>
          <volume>XLII-2/W3</volume>
          <fpage>339</fpage>
          <lpage>44</lpage>
          <pub-id pub-id-type="doi">10.5194/isprs-archives-xlii-2-w3-339-2017</pub-id>
        </nlm-citation>
      </ref>
      <ref id="B22">
        <label>22</label>
        <nlm-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Shorten</surname>
              <given-names>C</given-names>
            </name>
            <name>
              <surname>Khoshgoftaar</surname>
              <given-names>TM</given-names>
            </name>
          </person-group>
          <article-title>A survey on image data augmentation for deep learning</article-title>
          <source>J Big Data</source>
          <year>2019</year>
          <volume>6</volume>
          <fpage>197</fpage>
          <pub-id pub-id-type="doi">10.1186/s40537-019-0197-0</pub-id>
        </nlm-citation>
      </ref>
      <ref id="B23">
        <label>23</label>
        <nlm-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Zhou</surname>
              <given-names>G</given-names>
            </name>
            <name>
              <surname>Ye</surname>
              <given-names>W</given-names>
            </name>
            <name>
              <surname>Li</surname>
              <given-names>S</given-names>
            </name>
            <etal />
          </person-group>
          <article-title>FGPointKAN++ point cloud segmentation and adaptive key cutting plane recognition for cow body size measurement</article-title>
          <source>Artif Intell Agric</source>
          <year>2025</year>
          <volume>15</volume>
          <fpage>783</fpage>
          <lpage>801</lpage>
          <pub-id pub-id-type="doi">10.1016/j.aiia.2025.06.003</pub-id>
        </nlm-citation>
      </ref>
      <ref id="B24">
        <label>24</label>
        <nlm-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Okayama</surname>
              <given-names>T</given-names>
            </name>
            <name>
              <surname>Kubota</surname>
              <given-names>Y</given-names>
            </name>
            <name>
              <surname>Toyoda</surname>
              <given-names>A</given-names>
            </name>
            <name>
              <surname>Kohari</surname>
              <given-names>D</given-names>
            </name>
            <name>
              <surname>Noguchi</surname>
              <given-names>G</given-names>
            </name>
          </person-group>
          <article-title>Estimating body weight of pigs from posture analysis using a depth camera</article-title>
          <source>Anim Sci J</source>
          <year>2021</year>
          <volume>92</volume>
          <fpage>e13626</fpage>
          <pub-id pub-id-type="doi">10.1111/asj.13626</pub-id>
          <pub-id pub-id-type="pmid">34472660</pub-id>
        </nlm-citation>
      </ref>
      <ref id="B25">
        <label>25</label>
        <nlm-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Li</surname>
              <given-names>G</given-names>
            </name>
            <name>
              <surname>Liu</surname>
              <given-names>X</given-names>
            </name>
            <name>
              <surname>Ma</surname>
              <given-names>Y</given-names>
            </name>
            <name>
              <surname>Wang</surname>
              <given-names>B</given-names>
            </name>
            <name>
              <surname>Zheng</surname>
              <given-names>L</given-names>
            </name>
            <name>
              <surname>Wang</surname>
              <given-names>M</given-names>
            </name>
          </person-group>
          <article-title>Body size measurement and live body weight estimation for pigs based on back surface point clouds</article-title>
          <source>Biosyst Eng</source>
          <year>2022</year>
          <volume>218</volume>
          <fpage>10</fpage>
          <lpage>22</lpage>
          <pub-id pub-id-type="doi">10.1016/j.biosystemseng.2022.03.014</pub-id>
        </nlm-citation>
      </ref>
      <ref id="B26">
        <label>26</label>
        <nlm-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Liu</surname>
              <given-names>Z</given-names>
            </name>
            <name>
              <surname>Hua</surname>
              <given-names>J</given-names>
            </name>
            <name>
              <surname>Xue</surname>
              <given-names>H</given-names>
            </name>
            <name>
              <surname>Tian</surname>
              <given-names>H</given-names>
            </name>
            <name>
              <surname>Chen</surname>
              <given-names>Y</given-names>
            </name>
            <name>
              <surname>Liu</surname>
              <given-names>H</given-names>
            </name>
          </person-group>
          <article-title>Body weight estimation for pigs based on 3D hybrid filter and convolutional neural network</article-title>
          <source>Sensors</source>
          <year>2023</year>
          <volume>23</volume>
          <fpage>7730</fpage>
          <pub-id pub-id-type="doi">10.3390/s23187730</pub-id>
          <pub-id pub-id-type="pmid">37765787</pub-id>
          <pub-id pub-id-type="pmcid">PMC10537768</pub-id>
        </nlm-citation>
      </ref>
      <ref id="B27">
        <label>27</label>
        <nlm-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Wang</surname>
              <given-names>Y</given-names>
            </name>
            <name>
              <surname>Shi</surname>
              <given-names>Y</given-names>
            </name>
            <name>
              <surname>Chen</surname>
              <given-names>Z</given-names>
            </name>
            <etal />
          </person-group>
          <article-title>Pig Back Transformer: automatic 3D pig body measurement model</article-title>
          <source>Smart Agric</source>
          <year>2024</year>
          <volume>6</volume>
          <fpage>76</fpage>
          <lpage>90</lpage>
          <pub-id pub-id-type="doi">10.12133/j.smartag.SA202401023</pub-id>
        </nlm-citation>
      </ref>
      <ref id="B28">
        <label>28</label>
        <nlm-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Yang</surname>
              <given-names>L</given-names>
            </name>
            <name>
              <surname>Li</surname>
              <given-names>Y</given-names>
            </name>
            <name>
              <surname>Li</surname>
              <given-names>X</given-names>
            </name>
            <name>
              <surname>Meng</surname>
              <given-names>Z</given-names>
            </name>
            <name>
              <surname>Luo</surname>
              <given-names>H</given-names>
            </name>
          </person-group>
          <article-title>Efficient plane extraction using normal estimation and RANSAC from 3D point cloud</article-title>
          <source>Comput Stand Interfaces</source>
          <year>2022</year>
          <volume>82</volume>
          <fpage>103608</fpage>
          <pub-id pub-id-type="doi">10.1016/j.csi.2021.103608</pub-id>
        </nlm-citation>
      </ref>
      <ref id="B29">
        <label>29</label>
        <nlm-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Li</surname>
              <given-names>J</given-names>
            </name>
            <name>
              <surname>Ma</surname>
              <given-names>W</given-names>
            </name>
            <name>
              <surname>Li</surname>
              <given-names>Q</given-names>
            </name>
            <etal />
          </person-group>
          <article-title>Multi-view real-time acquisition and 3D reconstruction of point clouds for beef cattle</article-title>
          <source>Comput Electron Agric</source>
          <year>2022</year>
          <volume>197</volume>
          <fpage>106987</fpage>
          <pub-id pub-id-type="doi">10.1016/j.compag.2022.106987</pub-id>
        </nlm-citation>
      </ref>
    </ref-list>
  </back>
</article>