<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" article-type="research-article" dtd-version="2.3" xml:lang="EN">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Plant Sci.</journal-id>
<journal-title>Frontiers in Plant Science</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Plant Sci.</abbrev-journal-title>
<issn pub-type="epub">1664-462X</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.3389/fpls.2024.1397816</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Plant Science</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>Fusion of fruit image processing and deep learning: a study on identification of citrus ripeness based on R-LBP algorithm and YOLO-CIT model</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname>Wang</surname>
<given-names>Chenglin</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/2677342"/>
<role content-type="https://credit.niso.org/contributor-roles/conceptualization/"/>
<role content-type="https://credit.niso.org/contributor-roles/data-curation/"/>
<role content-type="https://credit.niso.org/contributor-roles/investigation/"/>
<role content-type="https://credit.niso.org/contributor-roles/resources/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-review-editing/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Han</surname>
<given-names>Qiyu</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/2666595"/>
<role content-type="https://credit.niso.org/contributor-roles/formal-analysis/"/>
<role content-type="https://credit.niso.org/contributor-roles/methodology/"/>
<role content-type="https://credit.niso.org/contributor-roles/software/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-original-draft/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-review-editing/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Li</surname>
<given-names>Chunjiang</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/data-curation/"/>
<role content-type="https://credit.niso.org/contributor-roles/validation/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-review-editing/"/>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Zou</surname>
<given-names>Tianlong</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<xref ref-type="author-notes" rid="fn001">
<sup>*</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/funding-acquisition/"/>
<role content-type="https://credit.niso.org/contributor-roles/project-administration/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-review-editing/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Zou</surname>
<given-names>Xiangjun</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<xref ref-type="aff" rid="aff3">
<sup>3</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/903174"/>
<role content-type="https://credit.niso.org/contributor-roles/funding-acquisition/"/>
<role content-type="https://credit.niso.org/contributor-roles/project-administration/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-review-editing/"/>
</contrib>
</contrib-group>
<aff id="aff1">
<sup>1</sup>
<institution>Faculty of Modern Agricultural Engineering, Kunming University of Science and Technology</institution>, <addr-line>Kunming</addr-line>, <country>China</country>
</aff>
<aff id="aff2">
<sup>2</sup>
<institution>Foshan-Zhongke Innovation Research Institute of Intelligent Agriculture and Robotics</institution>, <addr-line>Guangzhou</addr-line>, <country>China</country>
</aff>
<aff id="aff3">
<sup>3</sup>
<institution>College of Intelligent Manufacturing and Modern Industry, Xinjiang University</institution>, <addr-line>Wulumuqi</addr-line>, <country>China</country>
</aff>
<author-notes>
<fn fn-type="edited-by">
<p>Edited by: Daobilige Su, China Agricultural University, China</p>
</fn>
<fn fn-type="edited-by">
<p>Reviewed by: Jinhai Wang, Foshan University, China</p>
<p>Michael Payson, Zhongkai University of Agriculture and Engineering, China</p>
<p>Abdullah Beyaz, Ankara University, T&#xfc;rkiye</p>
</fn>
<fn fn-type="corresp" id="fn001">
<p>*Correspondence: Tianlong Zou, <email xlink:href="mailto:84174619@qq.com">84174619@qq.com</email>
</p>
</fn>
</author-notes>
<pub-date pub-type="epub">
<day>05</day>
<month>06</month>
<year>2024</year>
</pub-date>
<pub-date pub-type="collection">
<year>2024</year>
</pub-date>
<volume>15</volume>
<elocation-id>1397816</elocation-id>
<history>
<date date-type="received">
<day>08</day>
<month>03</month>
<year>2024</year>
</date>
<date date-type="accepted">
<day>17</day>
<month>04</month>
<year>2024</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2024 Wang, Han, Li, Zou and Zou</copyright-statement>
<copyright-year>2024</copyright-year>
<copyright-holder>Wang, Han, Li, Zou and Zou</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/">
<p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</p>
</license>
</permissions>
<abstract>
<p>Citrus fruits are extensively cultivated fruits with high nutritional value. The identification of distinct ripeness stages in citrus fruits plays a crucial role in guiding the planning of harvesting paths for citrus-picking robots and facilitating yield estimations in orchards. However, challenges arise in the identification of citrus fruit ripeness due to the similarity in color between green unripe citrus fruits and tree leaves, leading to an omission in identification. Additionally, the resemblance between partially ripe, orange-green interspersed fruits and fully ripe fruits poses a risk of misidentification, further complicating the identification of citrus fruit ripeness. This study proposed the YOLO-CIT (You Only Look Once-Citrus) model and integrated an innovative R-LBP (Roughness-Local Binary Pattern) method to accurately identify citrus fruits at distinct ripeness stages. The R-LBP algorithm, an extension of the LBP algorithm, enhances the texture features of citrus fruits at distinct ripeness stages by calculating the coefficient of variation in grayscale values of pixels within a certain range in different directions around the target pixel. The C3 model embedded by the CBAM (Convolutional Block Attention Module) replaced the original backbone network of the YOLOv5s model to form the backbone of the YOLO-CIT model. Instead of traditional convolution, Ghostconv is utilized by the neck network of the YOLO-CIT model. The fruit segment of citrus in the original citrus images processed by the R-LBP algorithm is combined with the background segment of the citrus images after grayscale processing to construct synthetic images, which are subsequently added to the training dataset. The experiment showed that the R-LBP algorithm is capable of amplifying the texture features among citrus fruits at distinct ripeness stages. The YOLO-CIT model combined with the R-LBP algorithm has a Precision of 88.13%, a Recall of 93.16%, an F1 score of 90.89, a mAP@0.5 of 85.88%, and 6.1ms of average detection speed for citrus fruit ripeness identification in complex environments. The model demonstrates the capability to accurately and swiftly identify citrus fruits at distinct ripeness stages in real-world environments, effectively guiding the determination of picking targets and path planning for harvesting robots.</p>
</abstract>
<kwd-group>
<kwd>citrus</kwd>
<kwd>ripeness identification</kwd>
<kwd>deep learning</kwd>
<kwd>image processing</kwd>
<kwd>LBP feature</kwd>
</kwd-group>
<counts>
<fig-count count="15"/>
<table-count count="4"/>
<equation-count count="14"/>
<ref-count count="30"/>
<page-count count="14"/>
<word-count count="5846"/>
</counts>
<custom-meta-wrap>
<custom-meta>
<meta-name>section-in-acceptance</meta-name>
<meta-value>Sustainable and Intelligent Phytoprotection</meta-value>
</custom-meta>
</custom-meta-wrap>
</article-meta>
</front>
<body>
<sec id="s1" sec-type="intro">
<label>1</label>
<title>Introduction</title>
<p>Citrus fruits possess high nutritional and economic value and are widely cultivated globally (<xref ref-type="bibr" rid="B22">Wang et&#xa0;al., 2022</xref>). As the largest citrus-cultivating country, China currently relies predominantly on manual harvesting, leading to significant labor and time costs (<xref ref-type="bibr" rid="B16">Pei et&#xa0;al., 2022</xref>). In the context of Agriculture 4.0, the development of fruit-picking robots has emerged as a crucial research direction (<xref ref-type="bibr" rid="B23">Wang et&#xa0;al., 2022</xref>
). The identification of distinct ripeness stages in citrus is instrumental in achieving intelligent sorting and harvesting, thereby enhancing orchard productivity and fruit quality (<xref ref-type="bibr" rid="B21">Sun et&#xa0;al., 2019</xref>).</p>
<p>During the ripening process of citrus fruits, the accumulation of sucrose leads to a reduction in chlorophyll and an increase in carotenoids. Consequently, the peel transitions from green to orange in color (<xref ref-type="bibr" rid="B8">Iglesias et&#xa0;al., 2001</xref>). Simultaneously, the synthesis of epicuticular wax on the fruit peel gradually occurs, increasing the smoothness of the peel (<xref ref-type="bibr" rid="B19">Romero and Lafuente, 2020</xref>). Based on its visual characteristics, citrus fruits with an orange area covering more than 80% of the total peel surface area are generally defined as ripe; otherwise, they are considered unripe. However, citrus fruits within the same orchard often exist at distinct ripeness stages (<xref ref-type="bibr" rid="B6">Gupta et&#xa0;al., 2021</xref>). Therefore, harvesting robots need to rapidly and accurately identify citrus fruits at distinct ripeness stages.</p>
<p>The color, shape, texture, and other features of the fruits are commonly used as criteria for ripeness identification. Image processing methods are widely applied in the field of citrus fruit ripeness identification. By combining the color difference map of citrus fruits under normal conditions with the brightness map under illumination, and utilizing color characteristics for threshold segmentation, Lu effectively solves the impact of illumination on citrus ripeness identification (<xref ref-type="bibr" rid="B11">Lu et&#xa0;al., 2014</xref>). Regarding the orange features in citrus images, which are predominantly manifested in the Cr channel of the YCbCr color space, Peng employed an improved fuzzy C-means clustering threshold segmentation method (FCM) to achieve accurate identification of ripe citrus fruits (<xref ref-type="bibr" rid="B17">Peng et&#xa0;al., 2014</xref>). Under complex weather conditions, the color features of citrus images are variable. Qiang utilized the morphological features of citrus fruits and employed a multi-class support vector machine based on morphological operations to effectively identify ripe citrus fruit (<xref ref-type="bibr" rid="B18">Qiang et&#xa0;al., 2014</xref>). Xu applied the Otsu adaptive thresholding method to the V component of the YUV color space. The Canny edge detection algorithm was employed to obtain the morphological features of citrus fruits, enabling a more accurate identification in the environment (<xref ref-type="bibr" rid="B26">Xu et&#xa0;al., 2020</xref>). Texture features are also among the essential characteristics of citrus fruits. In addressing the issue of green, unripe citrus fruits being close in color to the background, Zhao combined the results of the Adaptive Red-Blue color map (ARB) and Histogram Equalization for Hue (HEH). By utilizing five selected texture features to eliminate false positives, accurate identification of green, unripe citrus fruits was achieved (<xref ref-type="bibr" rid="B30">Zhao et&#xa0;al., 2016</xref>).</p>
<p>In recent years, deep learning models have been widely applied in harvesting robots, achieving high automation and effectively improving the accurate classification of complex ripeness features. Xiong proposed a Des-YOLOv3 network, which accurately identifies small and occluded citrus fruit targets (<xref ref-type="bibr" rid="B24">Xiong et&#xa0;al., 2020</xref>). Based on the YOLOv5s network, the BCAM (bidirectional cross attention mechanism) attention mechanism was added by Yang, resulting in enhanced identification accuracy for various fruits, including citrus (<xref ref-type="bibr" rid="B27">Yang et&#xa0;al., 2022</xref>). Regarding the differences in characteristics among citrus fruits at distinct ripeness stages, Lu utilized a Resnet backbone structure that integrates deep and shallow features to construct the Mask-Rcnn network. This approach precisely identified citrus fruits at distinct ripeness stages (<xref ref-type="bibr" rid="B12">Lu et&#xa0;al., 2022</xref>). For real-time identification of citrus fruits, Chen combined the Canopy algorithm and K-Means++ algorithm to automatically determine the input image size. Additionally, the Scientific Control of Pruning (SCOP) algorithm was applied to prune the YOLOv4 network, enabling real-time identification of citrus fruits (<xref ref-type="bibr" rid="B3">Chen et&#xa0;al., 2022</xref>). The improved deep learning model can effectively detect the maturity of citrus fruits.</p>
<p>Modern harvesting robots need to accurately identify unripe and ripe citrus fruits during the harvesting process, avoiding picking unripe ones and ensuring the precise harvesting of ripe ones (<xref ref-type="bibr" rid="B28">Yang et&#xa0;al., 2020</xref>). However, the green color of unripe citrus fruits is similar to the background color of leaves, resulting in significant detection omissions; Some partially unripe citrus fruits exhibit both orange and green characteristics, making it challenging to differentiate them from ripe citrus fruits with similar color features, leading to issues of misidentification (<xref ref-type="bibr" rid="B10">Lu et&#xa0;al., 2018</xref>). This study proposed an R-LBP (Roughness-Local Binary Pattern) algorithm, an improvement upon the LBP algorithm. By computing two sets of coefficients of variation in grayscale values in eight different directions around the current pixel, one including the grayscale value of the current pixel and the other excluding it, the R-LBP algorithm determines encoding based on the difference in the degree of variation between the two sets of coefficients. The citrus fruit images processed by this algorithm are added to the training dataset to better facilitate the learning of texture and morphological features of citrus fruits; Furthermore, a YOLO-CIT (You Only Look Once-Citrus) model, an improvement upon YOLOv5s, is proposed. The backbone network of this model combines the C3 model with the CBAM (Convolutional Block Attention Module) attention mechanism, leveraging both channel and spatial features to enhance the model&#x2019;s capability to extract characteristics of distinct ripeness stages in citrus. In the neck network of the model, a Ghostnet structure is utilized, transforming some regular convolutions into linear mappings to reduce computational complexity and improve the model&#x2019;s inference speed. Multiple experiments were conducted to verify the effectiveness of the proposed R-LBP algorithm and the performance of the YOLO-CIT model.</p>
</sec>
<sec id="s2" sec-type="materials|methods">
<label>2</label>
<title>Materials and methods</title>
<sec id="s2_1">
<label>2.1</label>
<title>R-LBP algorithm</title>
<p>The LBP algorithm is a method that reflects the local texture features of an image by describing the texture variations around a pixel. Common texture features include roughness, directionality, contrast, and so on (<xref ref-type="bibr" rid="B15">Ojala et&#xa0;al., 2002</xref>). In the ripening process of citrus fruits, the synthesis of epicuticular wax leads to a noticeable change in the roughness of the peel. In digital images, the roughness of fruit peel can be represented by the degree of variation in pixel grayscale values. The calculation process of peel roughness for citrus fruits at distinct ripeness stages is illustrated in <xref ref-type="fig" rid="f1">
<bold>Figure&#xa0;1</bold>
</xref>.</p>
<fig id="f1" position="float">
<label>Figure&#xa0;1</label>
<caption>
<p>Calculation process for peel roughness of citrus fruits.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fpls-15-1397816-g001.tif"/>
</fig>
<p>In Step 1, citrus fruits at four distinct ripeness stages are sequentially selected and converted into grayscale images. In Step 2, for each grayscale image, the longer and shorter sides of its bounding rectangle are divided into four equal parts successively to obtain intersection points, defining nine sampling regions. In each sampling region, the average pixel difference in eight directions is calculated sequentially, as shown in <xref ref-type="disp-formula" rid="eq1">Equations 1</xref>, <xref ref-type="disp-formula" rid="eq2">2</xref>.</p>
<disp-formula id="eq1">
<label>(1)</label>
<mml:math display="block" id="M1">
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">D</mml:mi>
<mml:mi mathvariant="bold-italic">i</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn mathvariant="bold">1</mml:mn>
</mml:mrow>
<mml:mi mathvariant="bold-italic">N</mml:mi>
</mml:msubsup>
<mml:mrow>
<mml:mo>|</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">X</mml:mi>
<mml:mi mathvariant="bold-italic">i</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">X</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
</mml:mrow>
<mml:mo>|</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold-italic">N</mml:mi>
</mml:mfrac>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
</disp-formula>
<disp-formula id="eq2">
<label>(2)</label>
<mml:math display="block" id="M2">
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">P</mml:mi>
<mml:mi mathvariant="bold-italic">i</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn mathvariant="bold">1</mml:mn>
</mml:mrow>
<mml:mn mathvariant="bold">8</mml:mn>
</mml:msubsup>
<mml:msub>
<mml:mi mathvariant="bold-italic">D</mml:mi>
<mml:mi mathvariant="bold-italic">i</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mn mathvariant="bold">8</mml:mn>
</mml:mfrac>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
</disp-formula>
<p>Where <inline-formula>
<mml:math display="inline" id="im1">
<mml:mrow>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represents the grayscale value of the pixel at position <inline-formula>
<mml:math display="inline" id="im2">
<mml:mi>i</mml:mi>
</mml:math>
</inline-formula>, <inline-formula>
<mml:math display="inline" id="im3">
<mml:mi>N</mml:mi>
</mml:math>
</inline-formula> represents the number of pixels in that direction, <inline-formula>
<mml:math display="inline" id="im4">
<mml:msup>
<mml:mi>X</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
</mml:math>
</inline-formula> represents the average value of N pixels, and <inline-formula>
<mml:math display="inline" id="im5">
<mml:mrow>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represents the mean difference of pixel grayscale values in that direction.</p>
<p>In Step 3, the roughness of the fruit peel is obtained by calculating the average of the nine sampling regions. The results for distinct ripeness stages of the fruit are illustrated in <xref ref-type="fig" rid="f2">
<bold>Figure&#xa0;2</bold>
</xref>.</p>
<fig id="f2" position="float">
<label>Figure&#xa0;2</label>
<caption>
<p>Peel roughness of citrus fruits with distinct ripeness stages.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fpls-15-1397816-g002.tif"/>
</fig>
<p>
<xref ref-type="fig" rid="f2">
<bold>Figure&#xa0;2</bold>
</xref> shows that there is a decreasing trend in the roughness of citrus fruit peel as it matures. Based on this characteristic, the R-LBP algorithm, which utilizes peel roughness for encoding, is proposed. The method&#x2019;s workflow is illustrated in <xref ref-type="fig" rid="f3">
<bold>Figure&#xa0;3</bold>
</xref>.</p>
<fig id="f3" position="float">
<label>Figure&#xa0;3</label>
<caption>
<p>R-LBP algorithm process.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fpls-15-1397816-g003.tif"/>
</fig>
<p>The R-LBP algorithm processes each pixel in the image sequentially to calculate its final grayscale value. In Step 1, the encoding relies on the eight pixels surrounding the target pixel, which are named reference pixels. In Step 2, the reference pixels are numbered sequentially in a clockwise order. In Step 3, The coefficient of variation reflects the fluctuation in a set of data, and the variation in pixel grayscale values can represent the roughness of the peel. Taking reference pixel 1 as an example, the coefficient of variation (<inline-formula>
<mml:math display="inline" id="im6">
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mi>a</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>) is calculated for the array formed by pixels 1, 9, and 10 in its direction. Additionally, the coefficient of variation (<inline-formula>
<mml:math display="inline" id="im7">
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>) is calculated for the array formed by adding the target pixel to the aforementioned array (pixels 0, 1, 9 and 10). The calculation process is shown in <xref ref-type="disp-formula" rid="eq3">Equations 3</xref>, <xref ref-type="disp-formula" rid="eq4">4</xref>.</p>
<disp-formula id="eq3">
<label>(3)</label>
<mml:math display="block" id="M3">
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi mathvariant="bold-italic">C</mml:mi>
<mml:msub>
<mml:mi mathvariant="bold-italic">V</mml:mi>
<mml:mi mathvariant="bold-italic">a</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn mathvariant="bold">2</mml:mn>
</mml:mrow>
<mml:mn mathvariant="bold">4</mml:mn>
</mml:msubsup>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">X</mml:mi>
<mml:mi mathvariant="bold-italic">i</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">X</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn mathvariant="bold">2</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mn mathvariant="bold">3</mml:mn>
</mml:mfrac>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">X</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#xd7;</mml:mo>
<mml:mn mathvariant="bold">100</mml:mn>
<mml:mo>%</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
</disp-formula>
<disp-formula id="eq4">
<label>(4)</label>
<mml:math display="block" id="M4">
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi mathvariant="bold-italic">C</mml:mi>
<mml:msub>
<mml:mi mathvariant="bold-italic">V</mml:mi>
<mml:mi mathvariant="bold-italic">b</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn mathvariant="bold">1</mml:mn>
</mml:mrow>
<mml:mn mathvariant="bold">4</mml:mn>
</mml:msubsup>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">X</mml:mi>
<mml:mi mathvariant="bold-italic">i</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">X</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn mathvariant="bold">2</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mn mathvariant="bold">4</mml:mn>
</mml:mfrac>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">X</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#xd7;</mml:mo>
<mml:mn mathvariant="bold">100</mml:mn>
<mml:mo>%</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
</disp-formula>
<p>Where <inline-formula>
<mml:math display="inline" id="im8">
<mml:mrow>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represents the grayscale value of the pixel at coordinate <inline-formula>
<mml:math display="inline" id="im9">
<mml:mi>i</mml:mi>
</mml:math>
</inline-formula>, and <inline-formula>
<mml:math display="inline" id="im10">
<mml:msup>
<mml:mi>X</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
</mml:math>
</inline-formula> represents the mean value within the array.</p>
<p>If the difference between <inline-formula>
<mml:math display="inline" id="im11">
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mi>a</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula>
<mml:math display="inline" id="im12">
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is greater than 15% of <inline-formula>
<mml:math display="inline" id="im13">
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mi>a</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, it indicates that the addition of the target pixel significantly affects the roughness between the existing reference pixels in that direction (<xref ref-type="bibr" rid="B2">Brown, 1998</xref>). Moreover, the texture features in that direction are strong. In such cases, the encoding of the current reference pixel is set to 1; otherwise, it is set to 0. The specific encoding process is shown in <xref ref-type="disp-formula" rid="eq5">Equation 5</xref>.</p>
<disp-formula id="eq5">
<label>(5)</label>
<mml:math display="block" id="M5">
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mn mathvariant="bold">1</mml:mn>
<mml:mtext>&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;</mml:mtext>
<mml:mfrac>
<mml:mrow>
<mml:mrow>
<mml:mo>|</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">C</mml:mi>
<mml:msub>
<mml:mi mathvariant="bold-italic">V</mml:mi>
<mml:mi mathvariant="bold-italic">a</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold-italic">C</mml:mi>
<mml:msub>
<mml:mi mathvariant="bold-italic">V</mml:mi>
<mml:mi mathvariant="bold-italic">b</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>|</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold-italic">C</mml:mi>
<mml:msub>
<mml:mi mathvariant="bold-italic">V</mml:mi>
<mml:mi mathvariant="bold-italic">a</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&gt;</mml:mo>
<mml:mn mathvariant="bold">15</mml:mn>
<mml:mo>%</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>&#xa0;</mml:mo>
<mml:mn mathvariant="bold">0</mml:mn>
<mml:mtext>&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;</mml:mtext>
<mml:mfrac>
<mml:mrow>
<mml:mrow>
<mml:mo>|</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">C</mml:mi>
<mml:msub>
<mml:mi mathvariant="bold-italic">V</mml:mi>
<mml:mi mathvariant="bold-italic">a</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold-italic">C</mml:mi>
<mml:msub>
<mml:mi mathvariant="bold-italic">V</mml:mi>
<mml:mi mathvariant="bold-italic">b</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>|</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold-italic">C</mml:mi>
<mml:msub>
<mml:mi mathvariant="bold-italic">V</mml:mi>
<mml:mi mathvariant="bold-italic">a</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2264;</mml:mo>
<mml:mn mathvariant="bold">15</mml:mn>
<mml:mo>%</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
</disp-formula>
<p>In Step 4, the encoding results from the eight reference pixels are combined in the order of their numbering to obtain a binary outcome. This binary result is then converted to decimal and serves as the new grayscale value for the current pixel. The same process is applied to other pixels, and the final result of the R-LBP algorithm processing is obtained.</p>
</sec>
<sec id="s2_2">
<label>2.2</label>
<title>Dataset construction of citrus images</title>
<sec id="s2_2_1">
<label>2.2.1</label>
<title>Image acquisition of citrus data</title>
<p>There are citrus orchards located in Zengcheng District, Guangzhou City, Guangdong Province, China (23&#xb0;16&#x2032;N, 113&#xb0;51&#x2032;E) for dataset collection. The Canon 200D Mark II DSLR camera, equipped with an 18-55mm lens set to fully automatic mode, is used for capturing images of citrus fruits. Take images every two days, a total of 5 times, from 10 am to 12 am. A total of 1533 raw image data were collected, and saved in.jpeg format, with a resolution of 4032&#xd7;3024 pixels. The collection information for the initial data is presented in <xref ref-type="table" rid="T1">
<bold>Table&#xa0;1</bold>
</xref>.</p>
<table-wrap id="T1" position="float">
<label>Table&#xa0;1</label>
<caption>
<p>Initial dataset composition table.</p>
</caption>
<table frame="hsides">
<thead>
<tr>
<th valign="middle" align="center">Order</th>
<th valign="middle" align="center">Date</th>
<th valign="middle" align="center">Weather</th>
<th valign="middle" align="center">Num</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="middle" align="center">1</td>
<td valign="middle" align="center">2022/10/09</td>
<td valign="middle" align="center">Cloudy</td>
<td valign="middle" align="center">297</td>
</tr>
<tr>
<td valign="middle" align="center">2</td>
<td valign="middle" align="center">2022/10/11</td>
<td valign="middle" align="center">Sunny</td>
<td valign="middle" align="center">305</td>
</tr>
<tr>
<td valign="middle" align="center">3</td>
<td valign="middle" align="center">2022/10/13</td>
<td valign="middle" align="center">Sunny</td>
<td valign="middle" align="center">312</td>
</tr>
<tr>
<td valign="middle" align="center">4</td>
<td valign="middle" align="center">2022/10/15</td>
<td valign="middle" align="center">Sunny</td>
<td valign="middle" align="center">285</td>
</tr>
<tr>
<td valign="middle" align="center">5</td>
<td valign="middle" align="center">2022/10/17</td>
<td valign="middle" align="center">Cloudy</td>
<td valign="middle" align="center">334</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The collected data underwent preliminary screening, removing images with out-of-focus, motion blur, or severe distortion. Some images from the initial dataset were augmented through random flips, tilts, and other operations. The initial dataset can be divided into several categories based on lighting intensity and shooting distance, as shown in <xref ref-type="fig" rid="f4">
<bold>Figure&#xa0;4</bold>
</xref>. The specific composition is detailed in <xref ref-type="supplementary-material" rid="SM1">
<bold>Supplementary Table 2</bold>
</xref>.</p>
<fig id="f4" position="float">
<label>Figure&#xa0;4</label>
<caption>
<p>Sample image of initial dataset: <bold>(A)</bold> Medium distance exposure citrus image; <bold>(B)</bold> Medium range natural light citrus image; <bold>(C)</bold> Medium distance backlight citrus image; <bold>(D)</bold> Close range exposure citrus image; <bold>(E)</bold> Close range natural light citrus image; <bold>(F)</bold> Close range backlight citrus image.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fpls-15-1397816-g004.tif"/>
</fig>
</sec>
<sec id="s2_2_2">
<label>2.2.2</label>
<title>R-LBP&#x2013;based citrus images texture enhancement</title>
<p>The R-LBP algorithm primarily processes the fruit segment of citrus images. Therefore, in this study, artificially synthesized images were obtained to enhance the texture features of the fruit segment at distinct ripeness stages in citrus images. The synthesized images are added to the training dataset to enhance the features that the model can learn. The processing workflow for artificially synthesized images is illustrated in <xref ref-type="fig" rid="f5">
<bold>Figure&#xa0;5</bold>
</xref>.</p>
<fig id="f5" position="float">
<label>Figure&#xa0;5</label>
<caption>
<p>Image synthesis process.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fpls-15-1397816-g005.tif"/>
</fig>
<p>By using Photoshop, the citrus fruit area and background area are separately extracted. The citrus fruit undergoes processing with the R-LBP algorithm to enhance its texture features. The background region is converted to a grayscale image to remove its color characteristics. The two processed results are then combined to create the final image.</p>
<p>The additional training set consists of synthesized images based on close-range citrus images with clear texture features. It is used to test the effect of adding images processed by the R-LBP algorithm to the training set on model performance. The sample images of the additional training set are shown in <xref ref-type="fig" rid="f6">
<bold>Figure&#xa0;6</bold>
</xref>, and the specific composition of the additional dataset is shown in <xref ref-type="supplementary-material" rid="SM1">
<bold>Supplementary Table 1</bold>
</xref>.</p>
<fig id="f6" position="float">
<label>Figure&#xa0;6</label>
<caption>
<p>Sample image of additional dataset: <bold>(A)</bold> Grayscale citrus image; <bold>(B)</bold> Synthetic citrus images based on LBP; <bold>(C)</bold> Synthetic citrus images based on R-LBP.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fpls-15-1397816-g006.tif"/>
</fig>
</sec>
</sec>
<sec id="s2_3">
<label>2.3</label>
<title>Construction of YOLO-CIT model</title>
<sec id="s2_3_1">
<label>2.3.1</label>
<title>Backbone network of the YOLO-CIT model</title>
<p>The YOLO-CIT model proposed in this paper is built upon the YOLOv5s model. The backbone network structure of the YOLO-CIT model is formed by combining the CBAM attention mechanism with the C3 module. The computational process is illustrated in <xref ref-type="fig" rid="f7">
<bold>Figure&#xa0;7</bold>
</xref>.</p>
<fig id="f7" position="float">
<label>Figure&#xa0;7</label>
<caption>
<p>C3+CBAM module calculation process.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fpls-15-1397816-g007.tif"/>
</fig>
<p>The feature maps are entered into the CBAM Bottleneck, where maximum pooling and average pooling features are computed. These two features are then input into a Multi-Layer Perceptron (MLP), and channel attention is calculated. The computation process is depicted in <xref ref-type="disp-formula" rid="eq6">Equation 6</xref>.</p>
<disp-formula id="eq6">
<label>(6)</label>
<mml:math display="block" id="M6">
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">M</mml:mi>
<mml:mi mathvariant="bold-italic">c</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold-italic">F</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3c3;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">W</mml:mi>
<mml:mn mathvariant="bold">1</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">W</mml:mi>
<mml:mn mathvariant="bold">0</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">F</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">a</mml:mi>
<mml:mi mathvariant="bold-italic">v</mml:mi>
<mml:mi mathvariant="bold-italic">g</mml:mi>
</mml:mrow>
<mml:mi mathvariant="bold-italic">c</mml:mi>
</mml:msubsup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">W</mml:mi>
<mml:mn mathvariant="bold">1</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">W</mml:mi>
<mml:mn mathvariant="bold">0</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">F</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mi mathvariant="bold-italic">a</mml:mi>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mi mathvariant="bold-italic">c</mml:mi>
</mml:msubsup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
</disp-formula>
<p>Where <inline-formula>
<mml:math display="inline" id="im14">
<mml:mi>&#x3c3;</mml:mi>
</mml:math>
</inline-formula> represents the sigmoid function, <inline-formula>
<mml:math display="inline" id="im15">
<mml:mrow>
<mml:msub>
<mml:mi>W</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi>R</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mo stretchy="false">/</mml:mo>
<mml:mi>r</mml:mi>
<mml:mo>*</mml:mo>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula>
<mml:math display="inline" id="im16">
<mml:mrow>
<mml:msub>
<mml:mi>W</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi>R</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mo>*</mml:mo>
<mml:mi>c</mml:mi>
<mml:mo stretchy="false">/</mml:mo>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> represent the shared weights of the MLP, <inline-formula>
<mml:math display="inline" id="im17">
<mml:mi>r</mml:mi>
</mml:math>
</inline-formula> represents the reduction ratio, <inline-formula>
<mml:math display="inline" id="im18">
<mml:mi>c</mml:mi>
</mml:math>
</inline-formula> represents the length of the feature map, <inline-formula>
<mml:math display="inline" id="im19">
<mml:mrow>
<mml:msubsup>
<mml:mi>F</mml:mi>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mi>v</mml:mi>
<mml:mi>g</mml:mi>
</mml:mrow>
<mml:mi>c</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> represents the average pooling feature, and <inline-formula>
<mml:math display="inline" id="im20">
<mml:mrow>
<mml:msubsup>
<mml:mi>F</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mi>c</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> represents the maximum pooling feature.</p>
<p>Channel attention and feature maps are broadcasted, and the intermediate feature output F &#x2018;is calculated, as shown in <xref ref-type="disp-formula" rid="eq7">Equation 7</xref>.</p>
<disp-formula id="eq7">
<label>(7)</label>
<mml:math display="block" id="M7">
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">F</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">M</mml:mi>
<mml:mi mathvariant="bold-italic">c</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold-italic">F</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x2297;</mml:mo>
<mml:mi mathvariant="bold-italic">F</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
</disp-formula>
<p>Average pooling and maximum pooling operations are applied along the channel axis of the middle feature map, the two results are connected through standard convolutional layers and spatial attention is generated. The calculation process is shown in <xref ref-type="disp-formula" rid="eq8">Equation 8</xref>.</p>
<disp-formula id="eq8">
<label>(8)</label>
<mml:math display="block" id="M8">
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">M</mml:mi>
<mml:mi mathvariant="bold-italic">s</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi mathvariant="bold-italic">F</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="bold-italic">&#x3c3;</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">f</mml:mi>
<mml:mrow>
<mml:mn mathvariant="bold">7</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:mn mathvariant="bold">7</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">F</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">a</mml:mi>
<mml:mi mathvariant="bold-italic">v</mml:mi>
<mml:mi mathvariant="bold-italic">g</mml:mi>
</mml:mrow>
<mml:mi mathvariant="bold-italic">s</mml:mi>
</mml:msubsup>
<mml:mo>;</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">F</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mi mathvariant="bold-italic">a</mml:mi>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
<mml:mi mathvariant="bold-italic">s</mml:mi>
</mml:msubsup>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
</disp-formula>
<p>Where <inline-formula>
<mml:math display="inline" id="im21">
<mml:mrow>
<mml:msubsup>
<mml:mi>F</mml:mi>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mi>v</mml:mi>
<mml:mi>g</mml:mi>
</mml:mrow>
<mml:mi>s</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> represents the two-dimensional average pooling feature, <inline-formula>
<mml:math display="inline" id="im22">
<mml:mrow>
<mml:msubsup>
<mml:mi>F</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mi>s</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> represents the two-dimensional maximum pooling feature, and <inline-formula>
<mml:math display="inline" id="im23">
<mml:mrow>
<mml:msup>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mn>7</mml:mn>
<mml:mo>*</mml:mo>
<mml:mn>7</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> represents the convolution operation with a filter size of 77.</p>
<p>Spatial attention further aggregates with the middle feature map through broadcasting, and the final output <inline-formula>
<mml:math display="inline" id="im24">
<mml:msup>
<mml:mi>F</mml:mi>
<mml:mo>&#x2033;</mml:mo>
</mml:msup>
</mml:math>
</inline-formula> of the module is calculated, as shown in <xref ref-type="disp-formula" rid="eq9">Equation 9</xref>.</p>
<disp-formula id="eq9">
<label>(9)</label>
<mml:math display="block" id="M9">
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold-italic">F</mml:mi>
<mml:mo>&#x2033;</mml:mo>
</mml:msup>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">M</mml:mi>
<mml:mi mathvariant="bold-italic">s</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">F</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x2297;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold-italic">F</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
</disp-formula>
</sec>
<sec id="s2_3_2">
<label>2.3.2</label>
<title>Neck network of the YOLO-CIT model</title>
<p>In the neck network of the YOLO-CIT model, Ghostconv is used instead of regular convolution. The structure of Ghostconv for processing input content is shown in <xref ref-type="fig" rid="f8">
<bold>Figure&#xa0;8</bold>
</xref>.</p>
<fig id="f8" position="float">
<label>Figure&#xa0;8</label>
<caption>
<p>Ghostconv module calculation process.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fpls-15-1397816-g008.tif"/>
</fig>
<p>In the context of citrus fruit image processing, the initial features of the input image are extracted through an initial convolution process using convolution kernels. The outcomes of the initial convolution are divided into two segments, where one segment undergoes mapping, and the other segment, including &#x3b1;1, &#x3b1;2, &#x2026;, &#x3b1;n initial convolutional feature maps, undergoes additional convolutional operations. The outputs from these two segments are then merged to generate the final output feature map.</p>
</sec>
<sec id="s2_3_3">
<label>2.3.3</label>
<title>YOLO-CIT model</title>
<p>The specific composition structure of the YOLO-CIT network is shown in <xref ref-type="fig" rid="f9">
<bold>Figure&#xa0;9</bold>
</xref>. The initial image of citrus fruit is input into the backbone network and processed by modules such as C3-CBAM to generate a feature map that combines channel attention and spatial attention; The feature map is further input into the neck network, and through lightweight convolution and up sampling operations in the GhostConv module, a prediction box is generated. Citrus fruits with distinct ripeness stages are identified.</p>
<fig id="f9" position="float">
<label>Figure&#xa0;9</label>
<caption>
<p>YOLO-CIT Network Architecture.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fpls-15-1397816-g009.tif"/>
</fig>
</sec>
</sec>
<sec id="s2_4">
<label>2.4</label>
<title>Experiments</title>
<p>To validate the effectiveness of the YOLO-CIT model and R-LBP algorithm in this study, three sets of experiments were conducted sequentially.</p>
<p>In the first set of experiments, 200 close-range images of citrus fruits were selected. These images were divided into 50 groups, with each group containing four images representing distinct ripeness stages of the citrus fruit. Various algorithms, including grayscale processing, LBP algorithm, and R-LBP algorithm, were applied to the fruit segment of the citrus fruit images respectively. The difference in surface roughness, as introduced in Section 2.1.1, was used to evaluate the enhancement effects of different algorithms on surface roughness. The average difference in roughness values between adjacent stages within each group of images after processing by different algorithms was recorded and analyzed.</p>
<p>In the second set of experiments, the YOLO-CIT model was trained on the basic training set, supplemented with additional datasets processed using grayscale conversion, LBP algorithm, and R-LBP algorithm respectively. The performance parameters of the model were recorded and analyzed.</p>
<p>In the third set of experiments, the YOLO-CIT model proposed in this study, along with several common deep learning network models such as models of YOLOv4, YOLOv5s, YOLOv7, YOLOX, YOLOv8s, and faster-RCNN, was trained using the basic dataset. A comparative performance analysis of the models was conducted.</p>
<p>The experimental hardware setup primarily involves a computer system featuring an Intel i5-13600kf processor, 32 GB RAM, and a GeForce GTX 4080 GPU. The computer is configured with CUDA 11.2 parallel computing architecture and utilizes the NVIDIA cuDNN 8.0.5 GPU acceleration library. The software simulation environment is built on the PyTorch deep learning framework (Python version 3.10). The data pre-processing involved the utilization of Labeling, Photoshop 2018, and Matlab2020b. For configuring and managing the virtual environment, Anaconda was employed, and program compilation and execution were carried out using Pycharm. Model performance metrics mainly include P (precision), R (recall), F1 (harmonic average), AP (average precision), and mAP@0.5 (mean average precision) shown in <xref ref-type="disp-formula" rid="eq10">Equations 10</xref>&#x2013;<xref ref-type="disp-formula" rid="eq14">14</xref>.</p>
<disp-formula id="eq10">
<label>(10)</label>
<mml:math display="block" id="M10">
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mi mathvariant="bold-italic">r</mml:mi>
<mml:mi mathvariant="bold-italic">e</mml:mi>
<mml:mi mathvariant="bold-italic">c</mml:mi>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mi mathvariant="bold-italic">o</mml:mi>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">T</mml:mi>
<mml:mi mathvariant="bold-italic">p</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">T</mml:mi>
<mml:mi mathvariant="bold-italic">p</mml:mi>
</mml:msub>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>+</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">F</mml:mi>
<mml:mi mathvariant="bold-italic">p</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
</disp-formula>
<disp-formula id="eq11">
<label>(11)</label>
<mml:math display="block" id="M11">
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi mathvariant="bold-italic">r</mml:mi>
<mml:mi mathvariant="bold-italic">e</mml:mi>
<mml:mi mathvariant="bold-italic">c</mml:mi>
<mml:mi mathvariant="bold-italic">a</mml:mi>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">T</mml:mi>
<mml:mi mathvariant="bold-italic">p</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">T</mml:mi>
<mml:mi mathvariant="bold-italic">p</mml:mi>
</mml:msub>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>+</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">F</mml:mi>
<mml:mi mathvariant="bold-italic">N</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
</disp-formula>
<disp-formula id="eq12">
<label>(12)</label>
<mml:math display="block" id="M12">
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">F</mml:mi>
<mml:mn mathvariant="bold">1</mml:mn>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn mathvariant="bold">2</mml:mn>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xd7;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mi mathvariant="bold-italic">r</mml:mi>
<mml:mi mathvariant="bold-italic">e</mml:mi>
<mml:mi mathvariant="bold-italic">c</mml:mi>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mi mathvariant="bold-italic">o</mml:mi>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xd7;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mi mathvariant="bold-italic">r</mml:mi>
<mml:mi mathvariant="bold-italic">e</mml:mi>
<mml:mi mathvariant="bold-italic">c</mml:mi>
<mml:mi mathvariant="bold-italic">a</mml:mi>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mi mathvariant="bold-italic">l</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mi mathvariant="bold-italic">r</mml:mi>
<mml:mi mathvariant="bold-italic">e</mml:mi>
<mml:mi mathvariant="bold-italic">c</mml:mi>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mi mathvariant="bold-italic">o</mml:mi>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>+</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mi mathvariant="bold-italic">r</mml:mi>
<mml:mi mathvariant="bold-italic">e</mml:mi>
<mml:mi mathvariant="bold-italic">c</mml:mi>
<mml:mi mathvariant="bold-italic">a</mml:mi>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mi mathvariant="bold-italic">l</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
</disp-formula>
<disp-formula id="eq13">
<label>(13)</label>
<mml:math display="block" id="M13">
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi mathvariant="bold-italic">A</mml:mi>
<mml:mi mathvariant="bold-italic">P</mml:mi>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mi mathvariant="bold-italic">r</mml:mi>
<mml:mi mathvariant="bold-italic">e</mml:mi>
<mml:mi mathvariant="bold-italic">c</mml:mi>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mi mathvariant="bold-italic">o</mml:mi>
<mml:mi mathvariant="bold-italic">n</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mi mathvariant="bold-italic">N</mml:mi>
</mml:mfrac>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
</disp-formula>
<disp-formula id="eq14">
<label>(14)</label>
<mml:math display="block" id="M14">
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mi mathvariant="bold-italic">A</mml:mi>
<mml:mi mathvariant="bold-italic">P</mml:mi>
<mml:mo>@</mml:mo>
<mml:mn mathvariant="bold">0.5</mml:mn>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn mathvariant="bold">1</mml:mn>
</mml:mrow>
<mml:mi mathvariant="bold-italic">K</mml:mi>
</mml:msubsup>
<mml:mi mathvariant="bold-italic">A</mml:mi>
<mml:msub>
<mml:mi mathvariant="bold-italic">P</mml:mi>
<mml:mi mathvariant="bold-italic">i</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">N</mml:mi>
<mml:mi mathvariant="bold-italic">C</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
</disp-formula>
<p>where <inline-formula>
<mml:math display="inline" id="im25">
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>p</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represents the number of citrus fruits correctly identified, <inline-formula>
<mml:math display="inline" id="im26">
<mml:mrow>
<mml:msub>
<mml:mi>F</mml:mi>
<mml:mi>p</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represents the number of citrus fruits incorrectly identified, <inline-formula>
<mml:math display="inline" id="im27">
<mml:mrow>
<mml:msub>
<mml:mi>F</mml:mi>
<mml:mi>N</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represents the number of missed citrus fruits, <inline-formula>
<mml:math display="inline" id="im28">
<mml:mi>N</mml:mi>
</mml:math>
</inline-formula> represents the total number of images, and <inline-formula>
<mml:math display="inline" id="im29">
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>C</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represents the number of categories of citrus fruit ripeness stages. <inline-formula>
<mml:math display="inline" id="im30">
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> representing the integral of accuracy rate to recall rate is equal to the area under the P-R curve. <inline-formula>
<mml:math display="inline" id="im31">
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mi>A</mml:mi>
<mml:mi>P</mml:mi>
<mml:mo>@</mml:mo>
<mml:mn>0.5</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> is the average of the average precision of all categories.</p>
</sec>
</sec>
<sec id="s3" sec-type="results">
<label>3</label>
<title>Results</title>
<sec id="s3_1">
<label>3.1</label>
<title>Performance analysis of citrus fruit texture enhancement</title>
<p>In the first set of experiments, distinct ripeness stages of citrus fruits were processed using grayscale conversion, LBP algorithm, and R-LBP algorithm respectively, as shown in <xref ref-type="fig" rid="f10">
<bold>Figure&#xa0;10</bold>
</xref>. The differences in peel roughness between citrus fruits at different maturity stages are depicted in <xref ref-type="fig" rid="f11">
<bold>Figure&#xa0;11</bold>
</xref>.</p>
<fig id="f10" position="float">
<label>Figure&#xa0;10</label>
<caption>
<p>
<bold>(A&#x2013;D)</bold> Different ripening stages of citrus fruits.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fpls-15-1397816-g010.tif"/>
</fig>
<fig id="f11" position="float">
<label>Figure&#xa0;11</label>
<caption>
<p>Citrus fruit epidermal roughness difference across ripening stages.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fpls-15-1397816-g011.tif"/>
</fig>
<p>The median in peel roughness difference of images processed by grayscale conversion is 122.3, with an upper quartile of 138.1, a lower quartile of 111.2, and an interquartile range of 26.9. The dispersion of peel roughness in different images is relatively small; The median in peel roughness difference of images processed with the LBP algorithm is 162.8, with an upper quartile of 184.3, lower quartile of 142.8, and an interquartile range of 41.5. The results show a higher level of dispersion among different images in this case. The median peel roughness difference of images processed with the R-LBP algorithm is 220.7, which is respectively 98.4 and 57.9 higher than the results obtained with the grayscale conversion and LBP algorithm. The interquartile range of peel roughness for images processed with the R-LBP algorithm is 33.6, which is 6.7 higher than the grayscale conversion and 7.9 smaller than the LBP algorithm. The data dispersion is relatively stable. Images processed with the R-LBP algorithm exhibit more distinct and relatively stable texture features compared to images processed with grayscale conversion and the LBP algorithm, which are useful for distinguishing distinct ripeness stages of citrus fruits.</p>
</sec>
<sec id="s3_2">
<label>3.2</label>
<title>Comparison of identification performance of YOLO-CIT model trained with different datasets</title>
<p>In the second set of experiments, the YOLO-CIT model was trained using the same base dataset but with different additional datasets. The variation of map@0.5 during the training process is illustrated in <xref ref-type="fig" rid="f12">
<bold>Figure&#xa0;12</bold>
</xref>, and the performance parameters of the model are listed in <xref ref-type="table" rid="T2">
<bold>Table&#xa0;2</bold>
</xref>.</p>
<fig id="f12" position="float">
<label>Figure&#xa0;12</label>
<caption>
<p>Change in YOLO-CIT model&#x2019;s mAP@0.5 trained on different datasets.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fpls-15-1397816-g012.tif"/>
</fig>
<table-wrap id="T2" position="float">
<label>Table&#xa0;2</label>
<caption>
<p>Performance of models trained on different datasets.</p>
</caption>
<table frame="hsides">
<thead>
<tr>
<th valign="middle" align="center">dataset</th>
<th valign="middle" align="center">mAP@0.5</th>
<th valign="middle" align="center">Precision/%</th>
<th valign="middle" align="center">Recall/%</th>
<th valign="middle" align="center">F1score</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="middle" align="center">Original dataset</td>
<td valign="middle" align="center">83.52</td>
<td valign="middle" align="center">87.50</td>
<td valign="middle" align="center">90.01</td>
<td valign="middle" align="center">88.74</td>
</tr>
<tr>
<td valign="middle" align="center">Add grayscale images</td>
<td valign="middle" align="center">84.17</td>
<td valign="middle" align="center">86.42</td>
<td valign="middle" align="center">91.31</td>
<td valign="middle" align="center">88.79</td>
</tr>
<tr>
<td valign="middle" align="center">Add LBP images</td>
<td valign="middle" align="center">83.39</td>
<td valign="middle" align="center">88.70</td>
<td valign="middle" align="center">91.63</td>
<td valign="middle" align="center">90.14</td>
</tr>
<tr>
<td valign="middle" align="center">Add R-LBP images</td>
<td valign="middle" align="center">85.88</td>
<td valign="middle" align="center">88.73</td>
<td valign="middle" align="center">93.16</td>
<td valign="middle" align="center">90.89</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>By observing <xref ref-type="fig" rid="f12">
<bold>Figure&#xa0;12</bold>
</xref>, it can be seen that the four curves exhibit significant differences during the training process mAP@0.5 The value rapidly increases and remains relatively stable after the epoch reaches 100. Among them, when the model uses the additional dataset with R-LBP or LBP, the fluctuation of the curve is smaller, and the mAP@0.5 value is more stable. The YOLO-CIT model trained with the R-LBP additional dataset exhibits a higher stable mAP@0.5 curve, indicating the best detection accuracy among the curves. According to <xref ref-type="table" rid="T2">
<bold>Table&#xa0;2</bold>
</xref>, the YOLO-CIT model trained with the R-LBP additional dataset achieves mAP@0.5 values that are 2.36, 1.71, and 2.49 higher than the YOLO-CIT models trained with the base dataset, additional grayscale image dataset, and additional LBP dataset, respectively. Its Precision is slightly higher than other results, and its Recall is approximately 2% higher than the others. The F1 score of the YOLO-CIT model trained with the additional R-LBP dataset is 2.15, 2.1, and 0.75 higher than the other results, respectively. The&#xa0;YOLO-CIT model trained with the additional R-LBP dataset exhibits the best overall performance.</p>
</sec>
<sec id="s3_3">
<label>3.3</label>
<title>Performance comparison among various network models</title>
<p>In the third set of experiments, different deep-learning models were trained using the base dataset. The variation of mAP@0.5 during the training process is illustrated in <xref ref-type="fig" rid="f13">
<bold>Figure&#xa0;13</bold>
</xref>, and the model performance parameters are shown in <xref ref-type="table" rid="T3">
<bold>Table&#xa0;3</bold>
</xref>.</p>
<fig id="f13" position="float">
<label>Figure&#xa0;13</label>
<caption>
<p>Variation of mAP@0.5 during training across different models.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fpls-15-1397816-g013.tif"/>
</fig>
<table-wrap id="T3" position="float">
<label>Table&#xa0;3</label>
<caption>
<p>Performance of models trained on different datasets.</p>
</caption>
<table frame="hsides">
<thead>
<tr>
<th valign="middle" align="center">dataset</th>
<th valign="middle" align="center">mAP@0.5</th>
<th valign="middle" align="center">Precision/%</th>
<th valign="middle" align="center">Recall/%</th>
<th valign="middle" align="center">F1score</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="middle" align="center">YOLOv4</td>
<td valign="middle" align="center">70.83</td>
<td valign="middle" align="center">76.89</td>
<td valign="middle" align="center">81.02</td>
<td valign="middle" align="center">78.90</td>
</tr>
<tr>
<td valign="middle" align="center">YOLOv5s</td>
<td valign="middle" align="center">79.81</td>
<td valign="middle" align="center">86.10</td>
<td valign="middle" align="center">85.19</td>
<td valign="middle" align="center">85.64</td>
</tr>
<tr>
<td valign="middle" align="center">YOLOv7</td>
<td valign="middle" align="center">78.34</td>
<td valign="middle" align="center">85.82</td>
<td valign="middle" align="center">82.33</td>
<td valign="middle" align="center">84.04</td>
</tr>
<tr>
<td valign="middle" align="center">YOLOX</td>
<td valign="middle" align="center">71.88</td>
<td valign="middle" align="center">76.21</td>
<td valign="middle" align="center">78.04</td>
<td valign="middle" align="center">77.11</td>
</tr>
<tr>
<td valign="middle" align="center">YOLOv8s</td>
<td valign="middle" align="center">82.60</td>
<td valign="middle" align="center">86.15</td>
<td valign="middle" align="center">85.67</td>
<td valign="middle" align="center">85.91</td>
</tr>
<tr>
<td valign="middle" align="center">YOLO-CIT</td>
<td valign="middle" align="center">83.52</td>
<td valign="middle" align="center">87.50</td>
<td valign="middle" align="center">90.01</td>
<td valign="middle" align="center">88.73</td>
</tr>
<tr>
<td valign="middle" align="center">Faster-RCNN</td>
<td valign="middle" align="center">81.31</td>
<td valign="middle" align="center">87.01</td>
<td valign="middle" align="center">87.93</td>
<td valign="middle" align="center">87.47</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>
<xref ref-type="fig" rid="f13">
<bold>Figure&#xa0;13</bold>
</xref> shows that the mAP@0.5 curves of YOLO-CIT, YOLOX, and YOLOv4 models gradually increase during the training process and tend to stabilize after reaching epoch 150. This indicates that the models can effectively learn features of citrus fruits at distinct ripeness stages, resulting in a relatively stable improvement in accuracy in citrus fruit identification. The mAP@0.5 curves of the YOLOv5s, YOLOv7, YOLOv8s, and Faster-RCNN models show a rapid initial rise during training. However, between epochs 100 and 150, there is a declining trend, and after reaching epoch 150, there is a noticeable fluctuation. This indicates that these models exhibit differences in feature learning during the training process, leading to temporary decreases in detection accuracy and insufficient stability in the models. The YOLO-CIT model achieved its best mAP@0.5 value of 83.52 during training, significantly surpassing the mAP@0.5 values of the YOLOv4 and YOLOX models, and slightly outperforming the YOLOv5s, YOLOv7, YOLOv8s, and Faster-RCNN models. The YOLO-CIT model exhibits the highest detection accuracy. Observing <xref ref-type="table" rid="T3">
<bold>Table&#xa0;3</bold>
</xref>, it can be seen that the YOLO-CIT model has Precision values higher than other models by 0.49% to 11.29%, Recall values higher by 2.08% to 11.97%, and F1 scores higher by 1.26 to 11.62. The YOLO-CIT model demonstrates the best performance.</p>
<p>The average detection time of the YOLO-CIT model compared to other experimental models map@0.5 The distribution is shown in <xref ref-type="fig" rid="f14">
<bold>Figure&#xa0;14</bold>
</xref>.</p>
<fig id="f14" position="float">
<label>Figure&#xa0;14</label>
<caption>
<p>Detection time and mAP@0.5 across various models.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fpls-15-1397816-g014.tif"/>
</fig>
<p>According to <xref ref-type="fig" rid="f14">
<bold>Figure&#xa0;14</bold>
</xref>, the YOLO-CIT, YOLOv5s, YOLOv7, and YOLOv8s models exhibit high average detection accuracy while maintaining a fast detection speed. The average detection speed for these models ranges from 5ms to 7ms, meeting the requirements for real-time detection. The detection speed of the YOLO-CIT model is slightly lower than that of the YOLOv5s, but it achieves higher average detection accuracy than the YOLOv5s model.</p>
<p>To validate the ripeness identification capability of the YOLO-CIT model in real-world environments, the model was trained using the base dataset and an additional dataset processed with R-LBP. The trained model was then utilized to identify citrus fruit ripeness stages in diverse environmental conditions, encompassing both images and videos. Results are shown in <xref ref-type="fig" rid="f15">
<bold>Figure&#xa0;15</bold>
</xref> and <xref ref-type="table" rid="T4">
<bold>Table&#xa0;4</bold>
</xref>.</p>
<fig id="f15" position="float">
<label>Figure&#xa0;15</label>
<caption>
<p>YOLO-CIT model: citrus ripeness identification in varied environments: <bold>(A, B)</bold> Backlight environment; <bold>(C, D)</bold> Exposure environment; <bold>(E, F)</bold> The situation where leaves cover the fruit; <bold>(G, H)</bold> The dense distribution of citrus fruits.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fpls-15-1397816-g015.tif"/>
</fig>
<table-wrap id="T4" position="float">
<label>Table&#xa0;4</label>
<caption>
<p>Performance of the model on video detection.</p>
</caption>
<table frame="hsides">
<thead>
<tr>
<th valign="middle" align="center">Model</th>
<th valign="middle" align="center">Device</th>
<th valign="middle" align="center">Accuracy/%</th>
<th valign="middle" align="center">Video processing time/sec</th>
<th valign="middle" align="center">FPS</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="middle" align="center">YOLO-CIT</td>
<td valign="middle" align="center">GPU(RTX-4080super)</td>
<td valign="middle" align="center">86.54</td>
<td valign="middle" align="center">4.51</td>
<td valign="middle" align="center">76.36</td>
</tr>
<tr>
<td valign="middle" align="center"/>
<td valign="middle" align="center">CPU(i5-13600KF)</td>
<td valign="middle" align="center">86.17</td>
<td valign="middle" align="center">30.02</td>
<td valign="middle" align="center">11.47</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>According to <xref ref-type="fig" rid="f15">
<bold>Figure&#xa0;15</bold>
</xref>, it can be noted that YOLO-CIT accurately identifies the ripeness stages of citrus fruits under varying lighting conditions. For citrus fruits exposed to strong light or significant shadow coverage, the identification confidence reaches 0.8 or higher. In cases of dense growth or occlusion of citrus fruits, for those close and with complete shapes, the confidence in ripeness identification ranges from 0.88 to 0.94. For those farther away with incomplete shapes, the recognition confidence is above 0.76. The above results show that the YOLO-CIT model is capable of accurately and confidently identifying the ripeness of citrus fruits within the robot&#x2019;s picking range under various environmental conditions. According to <xref ref-type="table" rid="T4">
<bold>Table&#xa0;4</bold>
</xref>, it can be seen that the YOLO-CIT model achieves an accuracy of 86.54% and an FPS of 76.36 when detecting videos on GPU devices. Beyaz &amp; G&#xfc;l deployed a YOLOv4-tiny model similar to this one on the NVIDIA Jetson TX2 AI board, achieving an FPS of over 12 during the detection process (<xref ref-type="bibr" rid="B1">Beyaz and G&#xfc;l, 2023</xref>). The parameter count of the YOLO-CIT model is smaller than that of the YOLOv4-tiny model. Applying this model to the same type of AI board can also achieve similar performance. It has a fast processing speed and can effectively connect cameras for real-time detection tasks.</p>
</sec>
</sec>
<sec id="s4" sec-type="discussion">
<label>4</label>
<title>Discussion</title>
<p>The green unripe citrus fruits have a similar color to the background, making it challenging to identify them using color features alone. This study additionally investigates from the perspective of texture features. The R-LBP algorithm proposed in Experiment 1 effectively amplifies the differences in peel roughness of citrus fruits at different ripeness stages. This increases the feature disparity between green citrus fruits and the green background, significantly improving the accuracy of identifying green citrus fruits and reducing instances of missed recognition. At the same time, it also enhances the recognition ability of the model for citrus fruits with different maturities. Enhancing the differences in features between various identification targets is beneficial for target identification, a conclusion that aligns with findings in other research (<xref ref-type="bibr" rid="B20">Sharan et&#xa0;al., 2013</xref>).</p>
<p>In Experiment 2, different types of additional datasets were added to the basic training set to train the YOLO-CIT model. The performance of the model trained with added grayscale and LBP images did not show improvement and even slightly decreased. For grayscale images, this may be because the color features of grayscale images interfere with the model&#x2019;s feature learning, leading to a decrease in recognition accuracy. For LBP images, this may be because the texture features provided by the images processed by LBP are not sufficient to improve the performance of the model. On the other hand, the model trained with the additional dataset using the R-LBP algorithm exhibited improved performance. This improvement is attributed to the fact that the training set, while containing color images providing color features, also includes additional images that offer roughness texture features. This enhancement contributes to the model&#x2019;s learning effectiveness. Including samples in the training set that possess characteristics relevant to the application domain can effectively improve identification performance. Similar conclusions can be found in related studies (<xref ref-type="bibr" rid="B9">Liu, 2020</xref>; <xref ref-type="bibr" rid="B7">Han et&#xa0;al., 2021</xref>).</p>
<p>In Experiment 3, the YOLO-CIT model demonstrated the best Precision and mAP@0.5, indicating its ability to accurately identify citrus fruits at distinct ripening stages. The model also exhibited the best Recall, suggesting that it has a lower tendency to miss detections, providing comprehensive detection of the ripeness of all citrus fruits within the images. Due to the clear citrus color and texture features in the training set, the YOLO-CIT model incorporates the CBAM attention mechanism into the C3 module. The structure of C3 and CBAM uses more computation to extract texture features of citrus. The computational complexity is focused on the backbone network to learn the texture features. In the model&#x2019;s neck, where the feature maps have already been initially formed, a lightweight Ghostconv module is utilized to reduce computational complexity. This not only avoids a loss in identification accuracy but also enhances the model&#x2019;s detection speed. The above experiments concluded that introducing attention mechanisms in the backbone network while reducing computational complexity in the neck network can enhance the overall performance of the model. Similar conclusions can also be found in other research (<xref ref-type="bibr" rid="B13">McCool et&#xa0;al., 2017</xref>; <xref ref-type="bibr" rid="B25">Xu et&#xa0;al., 2023</xref>). In the identification results of citrus ripeness in different environments, the model accurately identifies citrus fruits at distinct ripeness stages. When the YOLO-CIT model is applied to GPU devices, its FPS exceeds 60 and detection accuracy exceeds 80%, indicating that the improved model can be combined with high frame rate cameras to provide real-time position information of different detection targets (<xref ref-type="bibr" rid="B4">Fang et&#xa0;al., 2019</xref>; <xref ref-type="bibr" rid="B5">G&#xfc;nd&#xfc;z and I&#x15f;&#x131;k, 2023</xref>). It can be effectively applied to citrus harvesting robots, laying the foundation for their efficient harvesting operations. This aids in guiding the harvesting robot to avoid unripe citrus fruits, facilitating subsequent tasks in path planning for harvesting ripe citrus fruits (<xref ref-type="bibr" rid="B14">Ning et&#xa0;al., 2022</xref>; <xref ref-type="bibr" rid="B29">Yi et&#xa0;al., 2024</xref>). There were instances in the experimental results where some citrus fruits at a distance were not identified. These fruits were located beyond the operational range of the harvesting robot, rendering their ripeness identification irrelevant, and therefore, they can be disregarded.</p>
</sec>
<sec id="s5" sec-type="conclusions">
<label>5</label>
<title>Conclusion</title>
<p>This article first proposes an improved R-LBP algorithm based on LBP, which can amplify the peel roughness characteristics of citrus fruits with distinct ripeness stages. The synthesized images processed by the R-LBP algorithm are added to the training set, which can improve the identification accuracy of the model for citrus fruits with distinct ripeness stages. This article also proposes an improved YOLO-CIT model based on YOLOv5s, which can accurately and comprehensively identifies the ripeness stages of citrus fruits in complex environments, The specific conclusion is as follows:</p>
<list list-type="simple">
<list-item>
<p>1. An R-LBP algorithm based LBP, is proposed. This algorithm utilizes the grayscale value coefficient of variation for encoding, enhancing the differentiation in peel roughness among citrus fruits at distinct ripeness stages.</p>
</list-item>
<list-item>
<p>2. The fruit segment of citrus images is processed using the R-LBP algorithm, while the background is subjected to grayscale conversion to create synthetic images. Adding these images to the base training set enhances the model&#x2019;s performance, effectively improving the accuracy of identifying green citrus fruits against a green background. Simultaneously, it reduces the misidentification rate for partially green and partially orange unripe citrus fruits.</p>
</list-item>
<list-item>
<p>3. The backbone network of the model is constructed using the C3+CBAM structure, and the traditional convolution in the neck network is replaced by Ghostconv. Thus, the YOLO-CIT model is established. The YOLO-CIT model, trained using the base dataset combined with the additional dataset processed with R-LBP, achieves a Precision of 88.13%, Recall of 93.16%, F1score of 90.89, and mAP@0.5 of 85.88%. It demonstrates comprehensive identification of the ripeness stages of citrus fruits in complex environments, including exposure, backlight, and occlusion.</p>
</list-item>
</list>
<p>These findings validate that the proposed YOLO-CIT model, in conjunction with the R-LBP algorithm, can comprehensively and accurately identify citrus fruits at distinct ripeness stages in complex environments. This provides accurate data for obtaining target coordinates and robotic arm parameters for the fruit-picking robot. In the future, we will study a harvesting path planning algorithm that comprehensively considers both mature and immature fruits, avoiding rotten citrus fruits and jointly planning the harvesting path.</p>
</sec>
<sec id="s6" sec-type="data-availability">
<title>Data availability statement</title>
<p>The datasets presented in this study can be found in online repositories. The names of the repository/repositories and accession number(s) can be found in the article/<xref ref-type="supplementary-material" rid="SM1">
<bold>Supplementary Material</bold>
</xref>.</p>
</sec>
<sec id="s7" sec-type="author-contributions">
<title>Author contributions</title>
<p>CW: Conceptualization, Data curation, Investigation, Resources, Writing &#x2013; review &amp; editing. QH: Formal analysis, Methodology, Software, Writing &#x2013; original draft, Writing &#x2013; review &amp; editing. CL: Data curation, Validation, Writing &#x2013; review &amp; editing. TZ: Funding acquisition, Project administration, Writing &#x2013; review &amp; editing. XZ: Funding acquisition, Project administration, Writing &#x2013; review &amp; editing.</p>
</sec>
</body>
<back>
<sec id="s8" sec-type="funding-information">
<title>Funding</title>
<p>The author(s) declare financial support was received for the research, authorship, and/or publication of this article. This work was supported by the Guangdong Basic and Applied Basic Research Foundation (grant number 2022A1515140162) and the Guangdong Province International Cooperation Project (grant number 2023A0505050133).</p>
</sec>
<sec id="s9" sec-type="COI-statement">
<title>Conflict of interest</title>
<p>The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<sec id="s10" sec-type="disclaimer">
<title>Publisher&#x2019;s note</title>
<p>All claims expressed in this article are solely those of the authors&#xa0;and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<sec id="s114" sec-type="supplementary-material">
<title>Supplementary material</title>
<p>The Supplementary Material for this article can be found online at: <ext-link ext-link-type="uri" xlink:href="https://www.frontiersin.org/articles/10.3389/fpls.2024.1397816/full#supplementary-material">https://www.frontiersin.org/articles/10.3389/fpls.2024.1397816/full#supplementary-material</ext-link>
</p>
<supplementary-material xlink:href="Table_1.docx" id="SM1" mimetype="application/vnd.openxmlformats-officedocument.wordprocessingml.document"/>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Beyaz</surname> <given-names>A.</given-names>
</name>
<name>
<surname>G&#xfc;l</surname> <given-names>V.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>YOLOv4 and tiny YOLOv4 based forage crop detection with an artificial intelligence board</article-title>. <source>Braz. Arch. Biol. Technology.</source> <volume>66</volume>, <elocation-id>e23220803</elocation-id>. doi:&#xa0;<pub-id pub-id-type="doi">10.1590/1678-4324-2023220803</pub-id>
</citation>
</ref>
<ref id="B2">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Brown</surname> <given-names>C.</given-names>
</name>
</person-group> (<year>1998</year>). &#x201c;<article-title>Coefficient of variation</article-title>,&#x201d; in <source>Applied Multivariate Statistics in Geohydrology and Related Sciences</source>, <fpage>155</fpage>&#x2013;<lpage>157</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1007/978-3-642-80328-4</pub-id>
</citation>
</ref>
<ref id="B3">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Chen</surname> <given-names>W.</given-names>
</name>
<name>
<surname>Lu</surname> <given-names>S.</given-names>
</name>
<name>
<surname>Liu</surname> <given-names>B.</given-names>
</name>
<name>
<surname>Chen</surname> <given-names>M.</given-names>
</name>
<name>
<surname>Li</surname> <given-names>G.</given-names>
</name>
<name>
<surname>Qian</surname> <given-names>T.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>CitrusYOLO: A algorithm for citrus detection under orchard environment based on YOLOv4</article-title>. <source>Multimed. Tools Appl.</source> <volume>81</volume>, <fpage>31363</fpage>&#x2013;<lpage>31389</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1007/s11042-022-12687-5</pub-id>
</citation>
</ref>
<ref id="B4">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Fang</surname> <given-names>W.</given-names>
</name>
<name>
<surname>Wang</surname> <given-names>L.</given-names>
</name>
<name>
<surname>Ren</surname> <given-names>P.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Tinier-YOLO: A real-time object detection method for constrained environments</article-title>. <source>IEEE Access</source> <volume>8</volume>, <fpage>1935</fpage>&#x2013;<lpage>1944</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1109/Access.6287639</pub-id>
</citation>
</ref>
<ref id="B5">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>G&#xfc;nd&#xfc;z</surname> <given-names>M.&#x15e;.</given-names>
</name>
<name>
<surname>I&#x15f;&#x131;k</surname> <given-names>G.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>A new YOLO-based method for real-time crowd detection from video and performance analysis of YOLO models</article-title>. <source>J. Real-Time Image Process.</source> <volume>20</volume>, <fpage>5</fpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1007/s11554-023-01276-w</pub-id>
</citation>
</ref>
<ref id="B6">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Gupta</surname> <given-names>A.</given-names>
</name>
<name>
<surname>Pathak</surname> <given-names>U.</given-names>
</name>
<name>
<surname>Tongbram</surname> <given-names>T.</given-names>
</name>
<name>
<surname>Medhi</surname> <given-names>M.</given-names>
</name>
<name>
<surname>Terdwongworakul</surname> <given-names>A.</given-names>
</name>
<name>
<surname>Magwaza</surname> <given-names>L.</given-names>
</name>
<etal/>
</person-group>. (<year>2021</year>). <article-title>Emerging approaches to determine maturity of citrus fruit</article-title>. <source>Crit. Rev. Food Sci. Nutr.</source> <volume>62</volume>, <fpage>5245</fpage>&#x2013;<lpage>5266</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1080/10408398.2021.1883547</pub-id>
</citation>
</ref>
<ref id="B7">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Han</surname> <given-names>E.</given-names>
</name>
<name>
<surname>Smith</surname> <given-names>A.</given-names>
</name>
<name>
<surname>Kemper</surname> <given-names>R.</given-names>
</name>
<name>
<surname>White</surname> <given-names>R.</given-names>
</name>
<name>
<surname>Kirkegaard</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Thorup-Kristensen</surname> <given-names>K.</given-names>
</name>
<etal/>
</person-group>. (<year>2021</year>). <article-title>Digging roots is easier with AI</article-title>. <source>J. Exp. botany.</source> <volume>72</volume>, <fpage>4680</fpage>&#x2013;<lpage>4690</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1093/jxb/erab174</pub-id>
</citation>
</ref>
<ref id="B8">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Iglesias</surname> <given-names>D.</given-names>
</name>
<name>
<surname>Tadeo</surname> <given-names>F.</given-names>
</name>
<name>
<surname>Legaz</surname> <given-names>F.</given-names>
</name>
<name>
<surname>Primo-millo</surname> <given-names>E.</given-names>
</name>
<name>
<surname>Tal&#xf3;n</surname> <given-names>M.</given-names>
</name>
</person-group> (<year>2001</year>). <article-title>
<italic>In vivo</italic> sucrose stimulation of colour change in citrus fruit epicarps: Interactions between nutritional and hormonal signals</article-title>. <source>Physiologia plantarum.</source> <volume>112</volume>, <fpage>244</fpage>&#x2013;<lpage>250</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1034/j.1399-3054.2001.1120213.x</pub-id>
</citation>
</ref>
<ref id="B9">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Liu</surname> <given-names>W.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Interfruit : deep learning network for classifying fruit images</article-title>. <source>bioRxiv</source>. doi:&#xa0;<pub-id pub-id-type="doi">10.1101/2020.02.09.941039</pub-id>
</citation>
</ref>
<ref id="B10">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Lu</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Lee</surname> <given-names>W.</given-names>
</name>
<name>
<surname>Gan</surname> <given-names>H.</given-names>
</name>
<name>
<surname>Hu</surname> <given-names>X.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Immature citrus fruit detection based on local binary pattern feature and hierarchical contour analysis</article-title>. <source>Biosyst. Engineering.</source> <volume>171</volume>, <fpage>78</fpage>&#x2013;<lpage>90</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.biosystemseng.2018.04.009</pub-id>
</citation>
</ref>
<ref id="B11">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Lu</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Sang</surname> <given-names>N.</given-names>
</name>
<name>
<surname>Hu</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Fu</surname> <given-names>H.</given-names>
</name>
</person-group> (<year>2014</year>). <article-title>Detecting citrus fruits with highlight on tree based on fusion of multi-map</article-title>. <source>J. Light-and Electronoptic.</source> <volume>125</volume>, <fpage>1903</fpage>&#x2013;<lpage>1907</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.ijleo.2013.04.135</pub-id>
</citation>
</ref>
<ref id="B12">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Lu</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Yang</surname> <given-names>R.</given-names>
</name>
<name>
<surname>Yu</surname> <given-names>C.</given-names>
</name>
<name>
<surname>Lin</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Chen</surname> <given-names>W.</given-names>
</name>
<name>
<surname>Wu</surname> <given-names>H.</given-names>
</name>
<etal/>
</person-group>. (<year>2022</year>). <article-title>Citrus green fruit detection via improved feature network extraction</article-title>. <source>Front. Plant Sci.</source> <volume>13</volume>, <elocation-id>946154</elocation-id>. doi:&#xa0;<pub-id pub-id-type="doi">10.3389/fpls.2022.946154</pub-id>
</citation>
</ref>
<ref id="B13">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>McCool</surname> <given-names>C.</given-names>
</name>
<name>
<surname>Perez</surname> <given-names>T.</given-names>
</name>
<name>
<surname>Upcroft</surname> <given-names>B.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>Mixtures of lightweight deep convolutional neural networks: applied to agricultural robotics</article-title>. <source>IEEE Robotics Automation Letters.</source> <volume>2</volume>, <fpage>1344</fpage>&#x2013;<lpage>1351</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1109/LRA.2017.2667039</pub-id>
</citation>
</ref>
<ref id="B14">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ning</surname> <given-names>Z.</given-names>
</name>
<name>
<surname>Luo</surname> <given-names>L.</given-names>
</name>
<name>
<surname>Ding</surname> <given-names>X.</given-names>
</name>
<name>
<surname>Dong</surname> <given-names>Z.</given-names>
</name>
<name>
<surname>Yang</surname> <given-names>B.</given-names>
</name>
<name>
<surname>Cai</surname> <given-names>J.</given-names>
</name>
<etal/>
</person-group>. (<year>2022</year>). <article-title>Recognition of sweet peppers and planning the robotic picking sequence in high-density orchards</article-title>. <source>Comput. Electron. Agriculture.</source> <volume>196</volume>, <fpage>106878</fpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.compag.2022.106878</pub-id>
</citation>
</ref>
<ref id="B15">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ojala</surname> <given-names>T.</given-names>
</name>
<name>
<surname>Pietikainen</surname> <given-names>M.</given-names>
</name>
<name>
<surname>Maenpaa</surname> <given-names>T.</given-names>
</name>
</person-group> (<year>2002</year>). <article-title>Multiresolution gray-scale and rotation invariant texture classification with local binary patterns</article-title>. <source>IEEE Trans. Pattern Anal. Mach. Intell.</source> <volume>24</volume>, <fpage>971</fpage>&#x2013;<lpage>987</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1109/TPAMI.2002.1017623</pub-id>
</citation>
</ref>
<ref id="B16">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Pei</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>He</surname> <given-names>C.</given-names>
</name>
<name>
<surname>Liu</surname> <given-names>H.</given-names>
</name>
<name>
<surname>Shen</surname> <given-names>G.</given-names>
</name>
<name>
<surname>Feng</surname> <given-names>J.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Compositional analysis of four kinds of citrus fruits with an NMR-based method for understanding nutritional value and rational utilization: from pericarp to juice</article-title>. <source>Molecules</source> <volume>27</volume>, <fpage>2579</fpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.3390/molecules27082579</pub-id>
</citation>
</ref>
<ref id="B17">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Peng</surname> <given-names>H.</given-names>
</name>
<name>
<surname>Zou</surname> <given-names>X.</given-names>
</name>
<name>
<surname>Xiong</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Chen</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Guo</surname> <given-names>A.</given-names>
</name>
<name>
<surname>Chen</surname> <given-names>K.</given-names>
</name>
</person-group> (<year>2014</year>). <article-title>Recognition of mature citrus in natural scene under the occlusion condition</article-title>. <source>J. Inf. Comput. Science.</source> <volume>11</volume>, <fpage>1947</fpage>&#x2013;<lpage>1958</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.12733/issn.1548-7741</pub-id>
</citation>
</ref>
<ref id="B18">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Qiang</surname> <given-names>L.</given-names>
</name>
<name>
<surname>Cai</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Bin</surname> <given-names>L.</given-names>
</name>
<name>
<surname>Lie</surname> <given-names>D.</given-names>
</name>
<name>
<surname>Zhang</surname> <given-names>Y.</given-names>
</name>
</person-group> (<year>2014</year>). <article-title>Identification of fruit and branch in natural scenes for citrus harvesting robot using machine vision and support vector machine</article-title>. <source>Int. J. Agric. Biol. Engineering.</source> <volume>7</volume>, <fpage>115</fpage>&#x2013;<lpage>121</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.3965/j.ijabe.20140702.014</pub-id>
</citation>
</ref>
<ref id="B19">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Romero</surname> <given-names>P.</given-names>
</name>
<name>
<surname>Lafuente</surname> <given-names>M.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Abscisic acid deficiency alters epicuticular wax metabolism and morphology that leads to in-creased cuticle permeability during sweet orange (Citrus sinensis) fruit ripening</article-title>. <source>Front. Plant Science.</source> <volume>11</volume>, <elocation-id>594184</elocation-id>. doi:&#xa0;<pub-id pub-id-type="doi">10.3389/fpls.2020.594184</pub-id>
</citation>
</ref>
<ref id="B20">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Sharan</surname> <given-names>L.</given-names>
</name>
<name>
<surname>Liu</surname> <given-names>C.</given-names>
</name>
<name>
<surname>Rosenholtz</surname> <given-names>R.</given-names>
</name>
<name>
<surname>Adelson</surname> <given-names>E.</given-names>
</name>
</person-group> (<year>2013</year>). <article-title>Recognizing materials using perceptually inspired features</article-title>. <source>Int. J. Comput. Vision</source> <volume>103</volume>, <fpage>348</fpage>&#x2013;<lpage>371</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1007/s11263-013-0609-0</pub-id>
</citation>
</ref>
<ref id="B21">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Sun</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Singh</surname> <given-names>Z.</given-names>
</name>
<name>
<surname>Tokala</surname> <given-names>V.</given-names>
</name>
<name>
<surname>Heather</surname> <given-names>B.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Harvest maturity stage and cold storage period influence lemon fruit quality</article-title>. <source>Scientia Horticulturae.</source> <volume>249</volume>, <fpage>322</fpage>&#x2013;<lpage>328</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.scienta.2019.01.056</pub-id>
</citation>
</ref>
<ref id="B22">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wang</surname> <given-names>S.</given-names>
</name>
<name>
<surname>Xie</surname> <given-names>W.</given-names>
</name>
<name>
<surname>Yan</surname> <given-names>X.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Effects of future climate change on citrus quality and yield in China</article-title>. <source>Sustainability</source> <volume>14</volume>, <fpage>9366</fpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.3390/su14159366</pub-id>
</citation>
</ref>
<ref id="B23">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wang</surname> <given-names>Z.</given-names>
</name>
<name>
<surname>Xun</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Wang</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Yang</surname> <given-names>Q.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Review of smart robots for fruit and vegetable picking in agriculture</article-title>. <source>Int. J. Agric. Biol. Engineering.</source> <volume>15</volume>, <fpage>33</fpage>&#x2013;<lpage>54</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.25165/j.ijabe.20221501.7232</pub-id>
</citation>
</ref>
<ref id="B24">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Xiong</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Zheng</surname> <given-names>Z.</given-names>
</name>
<name>
<surname>Liang</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Zhong</surname> <given-names>Z.</given-names>
</name>
<name>
<surname>Liu</surname> <given-names>B.</given-names>
</name>
<name>
<surname>Sun</surname> <given-names>B.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Citrus detection method in night environment based on improved YOLO v3 network</article-title>. <source>Trans. Chin. Soc. Agric. Mach.</source> <volume>51</volume>, <fpage>199</fpage>&#x2013;<lpage>206</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.6041/j.issn.1000-1298.2020.04.023</pub-id>
</citation>
</ref>
<ref id="B25">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Xu</surname> <given-names>X.</given-names>
</name>
<name>
<surname>Ding</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Lv</surname> <given-names>Z.</given-names>
</name>
<name>
<surname>Li</surname> <given-names>Z.</given-names>
</name>
<name>
<surname>Sun</surname> <given-names>R.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>Optimized pointwise convolution operation by Ghost blocks</article-title>. <source>Electronic Res. Archive.</source> <volume>31</volume>, <fpage>3187</fpage>&#x2013;<lpage>3199</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.3934/era.2023161</pub-id>
</citation>
</ref>
<ref id="B26">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Xu</surname> <given-names>L.</given-names>
</name>
<name>
<surname>Zhu</surname> <given-names>S.</given-names>
</name>
<name>
<surname>Chen</surname> <given-names>X.</given-names>
</name>
<name>
<surname>Wang</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Kang</surname> <given-names>Z.</given-names>
</name>
<name>
<surname>Huang</surname> <given-names>P.</given-names>
</name>
<etal/>
</person-group>. (<year>2020</year>). <article-title>Citrus recognition in real scenarios based on machine vision</article-title>. <source>DYNA</source> <volume>95</volume>, <fpage>87</fpage>&#x2013;<lpage>93</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.6036/DYNAII</pub-id>
</citation>
</ref>
<ref id="B27">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yang</surname> <given-names>R.</given-names>
</name>
<name>
<surname>Hu</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Yao</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Gao</surname> <given-names>M.</given-names>
</name>
<name>
<surname>Liu</surname> <given-names>R.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Fruit target detection based on BCo-YOLOv5 model</article-title>. <source>Mob. Inf. Syst.</source> <volume>2022</volume>. doi:&#xa0;<pub-id pub-id-type="doi">10.1155/2022/8457173</pub-id>
</citation>
</ref>
<ref id="B28">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Yang</surname> <given-names>C.</given-names>
</name>
<name>
<surname>Xiong</surname> <given-names>L.</given-names>
</name>
<name>
<surname>Wang</surname> <given-names>Z.</given-names>
</name>
<name>
<surname>Wang</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Shi</surname> <given-names>G.</given-names>
</name>
<name>
<surname>Kuremot</surname> <given-names>T.</given-names>
</name>
<etal/>
</person-group>. (<year>2020</year>). <article-title>Integrated detection of citrus fruits and branches using a convolutional neural network</article-title>. <source>Comput. Electron. Agric.</source> <volume>174</volume>, <fpage>105469</fpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.compag.2020.105469</pub-id>
</citation>
</ref>
<ref id="B29">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yi</surname> <given-names>T.</given-names>
</name>
<name>
<surname>Zhang</surname> <given-names>D.</given-names>
</name>
<name>
<surname>Luo</surname> <given-names>L.</given-names>
</name>
<name>
<surname>Luo</surname> <given-names>J.</given-names>
</name>
</person-group> (<year>2024</year>). <article-title>View planning for grape harvesting based on active vision strategy under occlusion</article-title>. <source>IEEE Robot. Autom. Lett.</source> <volume>9</volume>, <fpage>2535</fpage>&#x2013;<lpage>2542</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1109/LRA.2024.3357397</pub-id>
</citation>
</ref>
<ref id="B30">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Zhao</surname> <given-names>C.</given-names>
</name>
<name>
<surname>Lee</surname> <given-names>W.</given-names>
</name>
<name>
<surname>He</surname> <given-names>D.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>Immature green citrus detection based on colour feature and sum of absolute transformed difference (SATD) using colour images in the citrus grove</article-title>. <source>Comput. Electron. Agric.</source> <volume>124</volume>, <fpage>243</fpage>&#x2013;<lpage>253</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.compag.2016.04.009</pub-id>
</citation>
</ref>
</ref-list>
</back>
</article>