<?xml version="1.0" encoding="UTF-8"?>
<!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" xml:lang="en" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="nlm-ta">Sensors</journal-id>
<journal-title>Sensors</journal-title>
<issn pub-type="epub">1424-8220</issn>
<publisher>
<publisher-name>Molecular Diversity Preservation International (MDPI)</publisher-name></publisher></journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.3390/s121014179</article-id>
<article-id pub-id-type="publisher-id">sensors-12-14179</article-id>
<article-categories>
<subj-group>
<subject>Article</subject></subj-group></article-categories>
<title-group>
<article-title>Intelligent Color Vision System for Ripeness Classification of Oil Palm Fresh Fruit Bunch</article-title></title-group>
<contrib-group>
<contrib contrib-type="author">
<name><surname>Fadilah</surname><given-names>Norasyikin</given-names></name><xref ref-type="aff" rid="af1-sensors-12-14179"><sup>1</sup></xref></contrib>
<contrib contrib-type="author">
<name><surname>Mohamad-Saleh</surname><given-names>Junita</given-names></name><xref ref-type="aff" rid="af1-sensors-12-14179"><sup>1</sup></xref><xref ref-type="corresp" rid="c1-sensors-12-14179"><sup>*</sup></xref></contrib>
<contrib contrib-type="author">
<name><surname>Halim</surname><given-names>Zaini Abdul</given-names></name><xref ref-type="aff" rid="af2-sensors-12-14179"><sup>2</sup></xref></contrib>
<contrib contrib-type="author">
<name><surname>Ibrahim</surname><given-names>Haidi</given-names></name><xref ref-type="aff" rid="af1-sensors-12-14179"><sup>1</sup></xref></contrib>
<contrib contrib-type="author">
<name><surname>Ali</surname><given-names>Syed Salim Syed</given-names></name><xref ref-type="aff" rid="af3-sensors-12-14179"><sup>3</sup></xref></contrib></contrib-group>
<aff id="af1-sensors-12-14179">
<label>1</label> School of Electrical &amp; Electronic Engineering, Universiti Sains Malaysia, Engineering Campus, 14300 Nibong Tebal, Pulau Pinang, Malaysia; E-Mails: <email>norasyikin@ump.edu.my</email> (N.F.); <email>haidi@eng.usm.my</email> (H.I.)</aff>
<aff id="af2-sensors-12-14179">
<label>2</label> Collaborative Microelectronic Design Excellent Centre, Universiti Sains Malaysia, Engineering Campus, 14300 Nibong Tebal, Pulau Pinang, Malaysia; E-Mail: <email>zaini@cedec.usm.my</email></aff>
<aff id="af3-sensors-12-14179">
<label>3</label> Felda Agricultural Services Sdn Bhd, Pusat Perkhidmatan Pertanian Tun Razak, Beg Berkunci No. 3, 26400 Bandar Jengka, Pahang Darul Makmur, Malaysia; E-Mail: <email>syedsalim.sa@felda.net.my</email></aff>
<author-notes>
<corresp id="c1-sensors-12-14179">
<label>*</label>Author to whom correspondence should be addressed; E-Mail: <email>jms@eng.usm.my</email>; Tel.: +60-604-599-6027; Fax: +60-604-594-1023.</corresp></author-notes>
<pub-date pub-type="collection">
<year>2012</year></pub-date>
<pub-date pub-type="epub">
<day>22</day>
<month>10</month>
<year>2012</year></pub-date>
<volume>12</volume>
<issue>10</issue>
<fpage>14179</fpage>
<lpage>14195</lpage>
<history>
<date date-type="received">
<day>20</day>
<month>08</month>
<year>2012</year></date>
<date date-type="rev-recd">
<day>05</day>
<month>10</month>
<year>2012</year></date>
<date date-type="accepted">
<day>10</day>
<month>10</month>
<year>2012</year></date></history>
<permissions>
<copyright-statement>© 2012 by the authors; licensee MDPI, Basel, Switzerland.</copyright-statement>
<copyright-year>2012</copyright-year>
<license>
<p>This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution license (http://creativecommons.org/licenses/by/3.0/).</p></license></permissions>
<abstract>
<p>Ripeness classification of oil palm fresh fruit bunches (FFBs) during harvesting is important to ensure that they are harvested during optimum stage for maximum oil production. This paper presents the application of color vision for automated ripeness classification of oil palm FFB. Images of oil palm FFBs of type DxP Yangambi were collected and analyzed using digital image processing techniques. Then the color features were extracted from those images and used as the inputs for Artificial Neural Network (ANN) learning. The performance of the ANN for ripeness classification of oil palm FFB was investigated using two methods: training ANN with full features and training ANN with reduced features based on the Principal Component Analysis (PCA) data reduction technique. Results showed that compared with using full features in ANN, using the ANN trained with reduced features can improve the classification accuracy by 1.66% and is more effective in developing an automated ripeness classifier for oil palm FFB. The developed ripeness classifier can act as a sensor in determining the correct oil palm FFB ripeness category.</p></abstract>
<kwd-group>
<kwd>artificial neural network</kwd>
<kwd>principal component analysis</kwd>
<kwd>digital image processing</kwd>
<kwd>oil palm fresh fruit bunch</kwd></kwd-group></article-meta></front>
<body>
<sec sec-type="intro">
<label>1.</label>
<title>Introduction</title>
<p>Quality is the most important factor for agricultural and food products because high quality products are significant for success in today's highly competitive market. In agricultural applications, the quality of a product—especially fruits—is often classified by their texture, shape and color. These features are usually observed using human's vision particularly in determining the ripeness of fruits. However, the method of human grading is tedious and may be erroneous. This leads to extensive researches on automated fruit grading using sensor-based technologies such as image sensors. It is believed that the use of non-contact image sensing technology combined with robust computing and decision processes provides automated, non-destructive and cost-effective method to determine the quality of agricultural and food products [<xref ref-type="bibr" rid="b1-sensors-12-14179">1</xref>].</p>
<p>Oil palm fruit is one of the major agricultural products particularly in Malaysia. It produces palm oil, which is the basic ingredient in manufacturing of soaps, candles, margarine, shortenings, domestic frying oil and snack food. An oil palm fresh fruit bunch (FFB) may contain up to 2000 fruits with an individual weight of 3-30 g and 2-5 cm in size [<xref ref-type="bibr" rid="b2-sensors-12-14179">2</xref>,<xref ref-type="bibr" rid="b3-sensors-12-14179">3</xref>]. Oil palm FFB of type <italic>Elaeis guineensis</italic> is common in Malaysia. The fruit color varies from very dark purple to orange depending on its gene and ripeness. The oil content for different stages of FFB ripeness also varies, and it is generally stated as oil-to-bunch ratio [<xref ref-type="bibr" rid="b2-sensors-12-14179">2</xref>]. As the oil content of FFB is a function of its degree of ripeness [<xref ref-type="bibr" rid="b4-sensors-12-14179">4</xref>], it is crucial that the FFBs are harvested at the optimum ripeness.</p>
<p>According to [<xref ref-type="bibr" rid="b2-sensors-12-14179">2</xref>], it is practical to observe the number of loose fruits on the ground to determine whether the FFB on the tree is ripe. Hitam and Yusof [<xref ref-type="bibr" rid="b4-sensors-12-14179">4</xref>] discussed two methods of expressing the number of loose fruits. One of them is the number of loose fruits on the ground before the FFB is cut, and the other is the number of loose fruit sockets on the bunch. The latter is feasible for short trees since the harvester could clearly see the FFB, while the former method is often used for tall trees. The observation of loose fruits for ripeness prediction of oil palm FFB on tall trees has been practiced until today. However, this method may be inaccurate because loose fruits might fall under a different tree and can be stuck in the fronds, washed away by heavy rain, or taken by animals in the estate. The probability of harvesting FFBs that are not ripe will increase. Moreover, this method is time consuming and laborious, which could lead to higher harvesting and production costs.</p>
<p>Malaysian Palm Oil Board (MPOB) has established fifteen classes of FFB in the grading of oil palm in palm oil mills: ripe, underripe, unripe, overripe, empty, rotten, long stalk, unfresh/old, dirty, small, pest damaged, diseased, dura, loose fruit, and wet [<xref ref-type="bibr" rid="b5-sensors-12-14179">5</xref>]. Most studies focused on the grading of two, three or four ripeness stages: unripe, underripe, ripe and overripe. These studies employed color vision inspection in assessing fruit ripeness. For example, MPOB identified purplish black fruits as unripe, reddish black as underripe, red as ripe, and reddish orange as overripe [<xref ref-type="bibr" rid="b6-sensors-12-14179">6</xref>].</p>
<p>Images in red, green and blue (RGB) color space were used to analyze the color of oil palm fruits. Ismail <italic>et al.</italic> [<xref ref-type="bibr" rid="b7-sensors-12-14179">7</xref>] found that the ranges of color intensity for all ripeness categories were almost the same. The only attribute that could differentiate between ripe category and others was the average of red value. However, a later study by Ghazali <italic>et al.</italic> [<xref ref-type="bibr" rid="b8-sensors-12-14179">8</xref>] discovered that the red components for unripe and underripe categories were almost the same. Thus, red component was not able to distinguish between unripe and underripe categories, and could not be an attribute for ripeness classification.</p>
<p>The optimum ripeness of oil palm FFB is indicated by the amount of oil extracted from the fruit bunch. Therefore, Choong <italic>et al.</italic> [<xref ref-type="bibr" rid="b9-sensors-12-14179">9</xref>] investigated the correlation between the color of oil palm fruits and their oil content. It was reported that there was a positive correlation between both attributes. Underripe fruit has the lowest oil content, ripe fruit has the highest oil content and the oil content deteriorates when the fruit reached overripe stage. Similar results were also reported in other studies of correlation between the color of oil palm FFBs and their oil contents [<xref ref-type="bibr" rid="b10-sensors-12-14179">10</xref>–<xref ref-type="bibr" rid="b12-sensors-12-14179">12</xref>]. Hudzari <italic>et al.</italic> [<xref ref-type="bibr" rid="b11-sensors-12-14179">11</xref>] studied the relationship between FFB color, light intensity, and oil content for three ripeness stages; unripe, ripe and overripe. They found that as light intensity becomes higher, the RGB pixel values increase. Thus, they converted RGB image to Hue, Saturation, and Intensity (HSI), and constructed a hue histogram [<xref ref-type="bibr" rid="b13-sensors-12-14179">13</xref>–<xref ref-type="bibr" rid="b15-sensors-12-14179">15</xref>]. Tan <italic>et al.</italic> discovered that in four different sides of an FFB, there were differences in dominant hue peaks [<xref ref-type="bibr" rid="b14-sensors-12-14179">14</xref>]. This could be due to the uneven color of the FFB that resulted from different amount of exposure to sunlight. However, statistical evaluation showed that there was a good correlation coefficient between the dominant hue peak and the FFB oil content. Ismail <italic>et al.</italic> reported a high correlation between hue value and oil content [<xref ref-type="bibr" rid="b15-sensors-12-14179">15</xref>]. They conducted an experiment with FFB that were on trees and concluded that unlike RGB intensities, hue value was not affected by the variances of lighting intensity. Therefore, hue value is an important attribute for detecting FFB color in any light intensity.</p>
<p>Principal component analysis (PCA) has been widely used to accomplish the task of pattern recognition or data reduction for multivariate data [<xref ref-type="bibr" rid="b16-sensors-12-14179">16</xref>,<xref ref-type="bibr" rid="b17-sensors-12-14179">17</xref>]. For instance, in a work to develop a classifier for polarimetric synthetic aperture radar images, Zhang and Wu implemented PCA to reduce 19 features from an image to 13 features. These features were then used for a two-hidden-layer back-propagation neural network for classification [<xref ref-type="bibr" rid="b17-sensors-12-14179">17</xref>]. In oil palm study, Junkwon <italic>et al.</italic> [<xref ref-type="bibr" rid="b18-sensors-12-14179">18</xref>] used PCA and Euclidean distance to identify four ripeness classes of oil palm FFB. Three features represented by three RGB values were analyzed using PCA to obtain a plot of two principal components. From the plot, four centroid values that indicated four ripeness classes were identified, and the Euclidean distances between the centroid values and the plot of other samples were used to classify the oil palm FFB. This method yielded 75% correct classification for RGB images.</p>
<p>Jamil <italic>et al.</italic> and May and Amaran developed intelligent oil palm FFB grading by using neuro-fuzzy and fuzzy logic, respectively. Jamil <italic>et al.</italic> [<xref ref-type="bibr" rid="b19-sensors-12-14179">19</xref>] trained RGB values for 45 FFB images by using Hebb algorithm to identify the best-fit value to represent RGB color of FFB images. Then the color classification was conducted in four steps: fuzzification, rule evaluation, aggregation of the rule outputs and defuzzification. The neuro-fuzzy techniques yielded 73.3% correct classification. Meanwhile, May and Amaran [<xref ref-type="bibr" rid="b20-sensors-12-14179">20</xref>] developed an automated oil palm fruit grading system using fuzzy logic algorithm, which gave 86.67% correct classification. More studies of different classification techniques can be done to enhance the classification accuracy of automated oil palm FFB system. For instance, artificial neural network (ANN) classifiers have been successfully implemented for various classification tasks of other different agricultural products. These include classification of the quality for San-Fuji apples, cherries, Iyokan oranges, and beans [<xref ref-type="bibr" rid="b21-sensors-12-14179">21</xref>].</p>
<p>The objective of this work is to develop an algorithm for automatic intelligent grading of oil palm FFB based on color vision in a natural light environment. The color measurement was based on hue distribution of oil palm FFB image. The feasibility of applying PCA for data reduction and ANN intelligent system for oil palm FFB ripeness classification were investigated. The results were presented and discussed.</p>
<p>This paper consists of four sections. Current oil palm harvesting methods and previous studies involving color vision for ripeness classification of oil palm FFB are discussed in this section. Section 2 presents the setup of the proposed classification system and explains the steps involved in developing an oil palm FFB ripeness classifier. Then the ripeness classification results obtained are presented and discussed in Section 3. Lastly, Section 4 concludes the findings of the research work.</p></sec>
<sec sec-type="materials|methods">
<label>2.</label>
<title>Materials and Methods</title>
<p>The intelligent grading system consisted of a camera for image acquisition and a computer for data storage, image pre-processing and ANN classification. The system is illustrated in <xref ref-type="fig" rid="f1-sensors-12-14179">Figure 1</xref>. A Vivotek IP8332 Network Bullet Camera (0 Lux, 1.0 M pixels, F1.8) was used to acquire the image of oil palm FFB. This camera was chosen due to its ability to adapt to constantly changing outdoor lighting conditions. Matlab Image Processing Toolbox was used to process each captured image. An ANN system was trained and tested using the Matlab Neural Network Toolbox.</p>
<p>Oil palm FFBs of type DxP Yangambi were sourced from Felda Agricultural Services Sdn. Bhd. (FASSB). For this work, researchers managed to get 80 FFBs cut-off, with equal numbers for each ripeness class. A FASSB's trained grade inspector segregated the fruits into four ripeness categories: unripe, underripe, ripe and overripe. Rotten, empty and infected FFBs were discarded. At most, four color images were captured for each FFB at different areas of the bunch. The total images taken from 80 FFBs were 208 images. Each image was at the size of 480 × 640 in a 24-bit RGB format. All the captured images were stored in a computer for further processing. Then the images were randomly divided into 3 sets; 120 images were categorized as the training set, 28 images were grouped as the validation set, and 60 images formed the independent test set. No more than 60 images could be used as test set due to the limited number of FFBs that could be obtained.</p>
<p>Four sample images from different ripeness categories are shown in <xref ref-type="fig" rid="f2-sensors-12-14179">Figure 2</xref>. It can be seen that the unripe fruits are in deep violet to black. As the fruits ripen, they turn red. The overripe oil palm FFB shows that most of the outer fruits are gone, and the inner fruits are orange in color.</p>
<p>Secondly, the images were processed using digital image processing technique to obtain color features of the fruits. In this method, the images were segmented into two parts, which were fruits area and spikes area. This segmentation process is further clarified in Section 2.1.</p>
<p>Thirdly, after the fruits area was obtained for each image, color features were extracted. In this work, hue for each fruit pixel was calculated and a hue histogram representing the feature vector for each image was obtained. This feature vector represented the parameter for ripeness classifier. A detailed explanation of color feature extraction is explained in Section 2.2.</p>
<p>Lastly, an ANN classifier was developed to classify the ripeness of oil palm FFB. Two methods were investigated; one of them used all features as the input parameters, whereas the other used reduced PCA features as the input parameters. These methods are clarified in Section 2.3.</p>
<sec>
<label>2.1.</label>
<title>Image Segmentation</title>
<p>Image segmentation is a process that divides the image into regions [<xref ref-type="bibr" rid="b22-sensors-12-14179">22</xref>]. As seen earlier in <xref ref-type="fig" rid="f2-sensors-12-14179">Figure 2</xref>, there are two distinct regions in each of the oil palm FFB images, which are spikes and fruits. The fruits region was of interest in this research. Therefore, the image was partitioned into two regions to obtain the fruits region.</p>
<p>In this work, oil palm FFB images were segmented based on clustering method used by Jaffar [<xref ref-type="bibr" rid="b12-sensors-12-14179">12</xref>]. K-means clustering was implemented for image segmentation in L*a*b* color space. At first the RGB image was converted into two-dimensional image with a* and b* color planes. Then the most representative number of clusters was determined for each oil palm FFB category, so that each cluster represented either the fruits or the spikes by trying with 2 to 5 clusters. Three clusters were found to be sufficient to distinguish between the spikes and the fruits. Hence, the mean values of three colors were obtained from each image based on different ripeness category of oil palm FFB. From all the images, five discriminating color mean values were identified. These values were used as color markers to classify every pixel in an image by calculating the Euclidean distance between each pixel and each color marker. The smallest distance indicated that it closely matched the color marker. In this process, a binary mask image was formed to obtain the fruits' segmented image; the fruits' pixels were labeled as “1” and the spikes' pixels were labeled as “0”. After that, the binary mask was conceptually placed on top of the original RGB image by multiplication to produce a segmented image. Examples of segmented images are shown in <xref ref-type="fig" rid="f3-sensors-12-14179">Figure 3</xref>.</p></sec>
<sec>
<label>2.2.</label>
<title>Color Features Extraction</title>
<p>Color is an important feature in determining the ripeness of an oil palm FFB. Compared with RGB or CIExy values, hue measurement has shown to be a good discriminator for oil palm colors [<xref ref-type="bibr" rid="b23-sensors-12-14179">23</xref>]. Thus, in this work, the RGB image was converted to HSI color model to extract the hue values. This color model has been an ideal tool in depicting humans color interpretation. Mathematically, the hue value <italic>H</italic> is given by [<xref ref-type="bibr" rid="b22-sensors-12-14179">22</xref>],
<disp-formula id="FD1">
<label>(1)</label>
<mml:math id="mm1" display="block">
<mml:semantics id="sm1">
<mml:mrow>
<mml:mi>H</mml:mi>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable columnalign="right">
<mml:mtr columnalign="right">
<mml:mtd columnalign="right">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo>cos</mml:mo></mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msup>
<mml:mfrac>
<mml:mrow>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn></mml:mfrac>
<mml:mo stretchy="false">[</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>R</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi>G</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>R</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi>B</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">]</mml:mo></mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>R</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi>G</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>+</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>R</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi>B</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>G</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi>B</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">]</mml:mo></mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>/</mml:mo>
<mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfrac></mml:mrow></mml:mtd>
<mml:mtd columnalign="right">
<mml:mrow>
<mml:mtext>if</mml:mtext></mml:mrow></mml:mtd>
<mml:mtd columnalign="right">
<mml:mrow>
<mml:mi>B</mml:mi>
<mml:mo>≤</mml:mo>
<mml:mi>G</mml:mi></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr columnalign="right">
<mml:mtd columnalign="right">
<mml:mrow>
<mml:mn>360</mml:mn>
<mml:mo>−</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo>cos</mml:mo></mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msup>
<mml:mfrac>
<mml:mrow>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn></mml:mfrac>
<mml:mo stretchy="false">[</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>R</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi>G</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>R</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi>B</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">]</mml:mo></mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>R</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi>G</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>+</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>R</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi>B</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>G</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi>B</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">]</mml:mo></mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>/</mml:mo>
<mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mfrac></mml:mrow></mml:mtd>
<mml:mtd columnalign="right">
<mml:mrow>
<mml:mtext>if</mml:mtext></mml:mrow></mml:mtd>
<mml:mtd columnalign="right">
<mml:mrow>
<mml:mi>B</mml:mi>
<mml:mo>&gt;</mml:mo>
<mml:mi>G</mml:mi></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula>where <italic>R</italic>, <italic>G</italic> and <italic>B</italic> are the red, green and blue components of the RGB image for fruits region, respectively. After obtaining the hue values, a hue histogram of 100 bins was obtained. The histogram distribution was indicated as a feature vector for each image. Therefore, for the whole dataset with <italic>N</italic> samples and <italic>q</italic> hue values, a matrix <bold><italic>X</italic></bold> of <italic>N</italic>×<italic>q</italic> was obtained as,
<disp-formula id="FD2">
<label>(2)</label>
<mml:math id="mm2" display="block">
<mml:semantics id="sm2">
<mml:mrow>
<mml:mi mathvariant="bold">X</mml:mi>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mn>11</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mn>12</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mo>⋯</mml:mo></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mi>q</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mn>21</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mn>22</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mo>⋯</mml:mo></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>q</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mo>⋮</mml:mo></mml:mtd>
<mml:mtd>
<mml:mo>⋮</mml:mo></mml:mtd>
<mml:mtd>
<mml:mo>⋱</mml:mo></mml:mtd>
<mml:mtd>
<mml:mo>⋮</mml:mo></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mo>⋯</mml:mo></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mi>q</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>In this work, out of 100 bins that represented the hue values, only 59 values represented the color of fruits. These values were used as the features for ANN inputs.</p></sec>
<sec>
<label>2.3.</label>
<title>Development of Oil Palm FFB Intelligent Ripeness Classifier</title>
<p>ANN has been widely used to map input patterns with their desired outputs. Its application is wide, ranging from data classification to data prediction and data visualization [<xref ref-type="bibr" rid="b24-sensors-12-14179">24</xref>–<xref ref-type="bibr" rid="b26-sensors-12-14179">26</xref>]. No pre-defined rules needed to be set for an ANN, as it is able to learn and generalize from “experience” or a set of presented examples [<xref ref-type="bibr" rid="b27-sensors-12-14179">27</xref>]. The set of examples is called a training set.</p>
<p>In this work, the employment of multilayer perceptron (MLP) neural network—a commonly used ANN architecture—as the ripeness classifier was investigated. A MLP neural network usually consists of three different layers: input layer, hidden layer and output layer. Each layer comprises a number of neurons, which are also known as processing elements (PE). Detailed descriptions of MLP were documented elsewhere [<xref ref-type="bibr" rid="b27-sensors-12-14179">27</xref>–<xref ref-type="bibr" rid="b29-sensors-12-14179">29</xref>]. <xref ref-type="fig" rid="f4-sensors-12-14179">Figure 4</xref> shows the structure of a three-layer MLP architecture. The PEs in the input layer of an MLP does not compute any process. They only buffer the input signals <italic>x</italic><sub>i</sub> to the PEs in hidden layer. In the hidden layer, each PE sums up the products of input signals <italic>x</italic><sub>i</sub> with their weighted connections <italic>W</italic><sub>ji</sub>. Mathematically,
<disp-formula id="FD3">
<label>(3)</label>
<mml:math id="mm3" display="block">
<mml:semantics id="sm3">
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mi>e</mml:mi>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mi>j</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>n</mml:mi></mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mi>W</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mi>i</mml:mi></mml:mrow></mml:msub>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula>where <italic>net<sub>j</sub></italic> is the output for <italic>j</italic>th PE. <italic>net<sub>j</sub></italic> is then further processed to produce a new output <italic>y<sub>j</sub></italic> by the following equation;
<disp-formula id="FD4">
<label>(4)</label>
<mml:math id="mm4" display="block">
<mml:semantics id="sm4">
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>j</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mi>f</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>n</mml:mi>
<mml:mi>e</mml:mi>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mi>j</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula>where <italic>f</italic> is the activation function that determines the processing inside each PE. The output of PEs in the output layer is computed similarly as <xref rid="FD4" ref-type="disp-formula">Equation (4)</xref>. In this work, the logistic sigmoid (logsig), hyperbolic tangent sigmoid (tansig) and linear (purelin) functions were selected. Respectively, these functions are as given below,
<disp-formula id="FD5">
<label>(5)</label>
<mml:math id="mm5" display="block">
<mml:semantics id="sm5">
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mi>s</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:mfrac></mml:mrow></mml:semantics></mml:math></disp-formula>
<disp-formula id="FD6">
<label>(6)</label>
<mml:math id="mm6" display="block">
<mml:semantics id="sm6">
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mi>s</mml:mi></mml:msup>
<mml:mo>−</mml:mo>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mi>s</mml:mi></mml:mrow></mml:msup></mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mi>s</mml:mi></mml:msup>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mi>s</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:mfrac></mml:mrow></mml:semantics></mml:math></disp-formula>
<disp-formula id="FD7">
<label>(7)</label>
<mml:math id="mm7" display="block">
<mml:semantics id="sm7">
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mi>s</mml:mi></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>To determine the most optimum MLP model, various combinations of transfer functions for hidden and output neurons as listed in <xref ref-type="table" rid="t1-sensors-12-14179">Table 1</xref> were applied. The number of output neurons represented the output coding for the ripeness class of oil palm FFB. For CA to CD combinations, each output neuron value was represented in binary, “1” or “0”, whereas for CE and CF, each neuron was represented either as “1”, “2”, “3” or “4”. The representations of the output codings for all ripeness classes are given in <xref ref-type="table" rid="t2-sensors-12-14179">Tables 2</xref>–<xref ref-type="table" rid="t4-sensors-12-14179">4</xref>.</p>
<p>The number of optimum hidden neurons was determined experimentally from training processes of the MLP classifiers. The MLP neural network training started with having only one hidden neuron and its performance was recorded. Then, the number of hidden neurons in the MLP was incrementally added, one at a time until there was no longer improvement in the MLP performance. This is known as the network growing approach. In this work, 15 hidden neurons were found to give optimum performance.</p>
<p>All of the MLP networks based on the combinations of transfer functions shown in <xref ref-type="table" rid="t1-sensors-12-14179">Table 1</xref> were trained, validated and tested. In a training process, MLP network kept updating the trained-weights in the input and hidden layers after every training cycle to improve its performance. The validation set was used to validate MLP performance by terminating the training process when there was no improvement in the validation performance based on the validation set. The best-performed MLP model was selected based on the highest classification accuracy (<italic>h.c.a.</italic>) of the test set obtained from the percentage of <italic>n</italic> correct classification in the set of <italic>N</italic> test data, using,
<disp-formula id="FD8">
<label>(8)</label>
<mml:math id="mm8" display="block">
<mml:semantics id="sm8">
<mml:mrow>
<mml:mi>h</mml:mi>
<mml:mo>.</mml:mo>
<mml:mi>c</mml:mi>
<mml:mo>.</mml:mo>
<mml:mi>a</mml:mi>
<mml:mo>.</mml:mo>
<mml:mo>=</mml:mo>
<mml:mtext mathvariant="italic">max</mml:mtext>
<mml:mo stretchy="false">[</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mfrac>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mtext mathvariant="italic">test</mml:mtext></mml:mrow></mml:msub></mml:mrow></mml:mfrac>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>×</mml:mo>
<mml:mn>100</mml:mn>
<mml:mo>%</mml:mo>
<mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>To develop an optimum intelligent ripeness classifier, two methods were experimented for each MLP combination and were then compared. The first method, MA, used full features as the MLP input. There were a total of 59 input features used in method MA. The second method MB used pre-processed data as the MLP input. In method MB, the PCA method was proposed as an input preprocessing algorithm. PCA was employed to reduce the dimensionality of the data by reducing the hue measurements of oil palm FFB. This technique was considered because the extracted data could have correlated components that might affect MLP learning. PCA managed to eliminate those correlated components while keeping as much variation in the information of the input data as possible. Further information about the theory and applications of PCA can be obtained elsewhere [<xref ref-type="bibr" rid="b30-sensors-12-14179">30</xref>]. The full-feature data for the training set were reduced to <italic>m</italic> principal components by using the PCA approach. The optimum <italic>m</italic> was determined based on the highest classification accuracy of test data. The processes of both methods are illustrated in <xref ref-type="fig" rid="f5-sensors-12-14179">Figure 5</xref>.</p>
<p>Basically, the procedures of PCA for this work are as follows. First, the hue measurements were normalized so that they have zero mean and unity variance. Then the covariance of each combination of variables was calculated and stored into a covariance matrix, as below,
<disp-formula id="FD9">
<label>(9)</label>
<mml:math id="mm9" display="block">
<mml:semantics id="sm9">
<mml:mrow>
<mml:mo>∑</mml:mo>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>s</mml:mi>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mrow>
<mml:mn>12</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mo>⋯</mml:mo></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mi>q</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mrow>
<mml:mn>21</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>s</mml:mi>
<mml:mn>2</mml:mn>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mo>⋯</mml:mo></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>q</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mo>⋮</mml:mo></mml:mtd>
<mml:mtd>
<mml:mo>⋯</mml:mo></mml:mtd>
<mml:mtd>
<mml:mo>⋱</mml:mo></mml:mtd>
<mml:mtd>
<mml:mo>⋮</mml:mo></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mo>⋯</mml:mo></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>s</mml:mi>
<mml:mi>q</mml:mi>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>The eigenvectors <bold>A</bold>=[<bold>a</bold><sub>1</sub>, <bold>a</bold><sub>2</sub>, …, <bold>a</bold><italic><sub>q</sub></italic>] of Σ were calculated and arranged in ascending order of eigenvalues <bold>λ</bold>=(λ<sub>1</sub>, λ<sub>2</sub>, …, λ<italic><sub>q</sub></italic>). Suppose that <bold>x</bold>=(X<sub>1</sub>, X<sub>2</sub>, …, X<italic><sub>q</sub></italic>)' denote an observation of the hue values and <bold>y</bold>=(Y<sub>1</sub>, Y<sub>2</sub>, …, Y<italic><sub>q</sub></italic>)' is the derived set of the hue values, then
<disp-formula id="FD10">
<label>(10)</label>
<mml:math id="mm10" display="block">
<mml:semantics id="sm10">
<mml:mrow>
<mml:mi mathvariant="bold">y</mml:mi>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="bold">A</mml:mi>
<mml:mo>′</mml:mo>
<mml:mi mathvariant="bold">x</mml:mi></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>In this work, the first <italic>m</italic> uncorrelated principal components (PCs) were accounted for using [<xref ref-type="bibr" rid="b30-sensors-12-14179">30</xref>]
<disp-formula id="FD11">
<label>(11)</label>
<mml:math id="mm11" display="block">
<mml:semantics id="sm11">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>m</mml:mi></mml:msubsup>
<mml:mrow>
<mml:msub>
<mml:mi>λ</mml:mi>
<mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>q</mml:mi></mml:msubsup>
<mml:mrow>
<mml:msub>
<mml:mi>λ</mml:mi>
<mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mrow></mml:mfrac></mml:mrow></mml:semantics></mml:math></disp-formula>where the total variation was considered as the new features to be fed into an MLP for classification. The total variations with their corresponding number of PCs are shown in <xref ref-type="table" rid="t5-sensors-12-14179">Table 5</xref>.</p></sec></sec>
<sec sec-type="results|discussion">
<label>3.</label>
<title>Results and Discussion</title>
<p><xref ref-type="table" rid="t6-sensors-12-14179">Table 6</xref> shows the results of the method MA. The results show that by using different forms of transfer functions in input and output neurons, the performance of each combination was different due to the different form of mapping in the ANN. The CC combination indicated the highest performance of 91.67%. The combination that implemented the logistic sigmoid function for both input and output neurons managed to classify the ripeness of oil palm FFB when all 59 features were used. Thus, this indicated that for a problem of 59 inputs and 4 ripeness categories, 4 output neurons were able to give the highest classification accuracy. This could be due to distinct binary output representation for each ripeness class, making it easier for the MLP to learn and differentiate the mapping, in comparison to 2 output neurons. Also, each of the 4 neurons has to solve for narrower range of output (<italic>i.e.</italic>, between 0 and 1) in comparison to the case of 1 output neuron (<italic>i.e.</italic>, output ranges within 1 and 4). The difference in the performance of ANNs with different numbers of output neurons could be well explained in the different numbers of unknowns (<italic>i.e.</italic>, different numbers of neuronal outputs to be solved for) as well as the different ranges of output value that each neuron can possibly produce. For instance, with 1 output neuron, it is a 59-to-1 problem (<italic>i.e.</italic>, 59 inputs and 1 output), where the output ranges from 1 to 4 (<italic>i.e.</italic>, 4 classes of ripeness). With 4 output neurons for example, it is a 59-to-4 problem where the ANN has to solve for 4 output values, each being between 0 and 1. Somehow, the results have revealed that different numbers of output neurons with different ranges of output values contribute to the mapping complexity of an ANN, and hence affecting its performance.</p>
<p>In method MB, the number of features was reduced from 59 hue measurements to 12 different numbers of PCs. These numbers were determined based on the total variation obtained by the method explained in Section 2.3. The performance of MLP for every combination and every number of PCs are shown in <xref ref-type="table" rid="t7-sensors-12-14179">Table 7</xref>. The CC combination with 5 PCs yielded the best performance of 91.67% correct classification.</p>
<p><xref ref-type="fig" rid="f6-sensors-12-14179">Figure 6</xref> illustrates the overall MLP performance for method MB. When the number of features was reduced from 59 to 55, the MLP's classification accuracy decreased to less than 70%. The accuracy started to increase as the number of PCs was reduced until it reached more than 80% at 5 to 15 PCs. This is due to elimination of correlation in the data, whose existence may confuse the MLP learning process. Yet, MLP was unable to classify the oil palm FFB images correctly when there were only 2 PCs because there might not be enough information for the MLP to learn.</p>
<p>To find the optimal number of features, MLP performance was further investigated for 5 PCs to 15 PCs. The results are shown in <xref ref-type="table" rid="t8-sensors-12-14179">Table 8</xref> and <xref ref-type="fig" rid="f7-sensors-12-14179">Figure 7</xref>. It was found that at CD combination of 6 and 12 PCs, the MLP performance was 93.33%, which indicated the highest performance.</p>
<p>In comparison to method MA, method MB reduced the number of features by finding the minimum number of features required for an MLP to give the best classification accuracy. It is proven in this work that even though the features were reduced, MLP based on method MB managed to classify oil palm FFB images with higher classification accuracy than method MA. By reducing the number of features, the number of input neurons for MLP is reduced. Thus, the MLP architecture becomes simpler. This could reduce memory requirement for execution of the task and provide faster classification.</p>
<p>As discussed in the Introduction section, conventional oil palm FFB harvesting method involves observing the number of loose fruits and the color of the FFB surface. Such method is subjective and tends to be erroneous. Besides, it takes so much time for a harvester to count loose fruits before deciding whether to cut off an oil palm FFB. By using the proposed classification system that employed MLP and PCA, the subjective and time-consuming judgment of human grading could be solved.</p>
<p>Even though there have been similar image sensor studies to classify the ripeness of oil palm FFB, most of them implemented laboratory setup and used controlled lighting when capturing the FFB images. The classification accuracy of such methods reached up to 100% [<xref ref-type="bibr" rid="b18-sensors-12-14179">18</xref>]. Meanwhile, Jamil <italic>et al.</italic> predicted that the classification accuracy would drop when the setup were to be changed to outdoor environment due to variance in illumination. Later, they came up with a neuro-fuzzy technique to grade oil palm FFB in outdoor environment and reported a classification accuracy of only 73.3%. In comparison, for FFB images captured in outdoor environment, this proposed work employing a simple MLP gives a higher ripeness classification accuracy of 93.33% than the neuro-fuzzy approach. Therefore, the proposed approach would be beneficial for automated ripeness decision during harvesting process in determining whether an FFB should be cut off from an oil palm tree.</p></sec>
<sec sec-type="conclusions">
<label>4.</label>
<title>Conclusions</title>
<p>The algorithm for the ripeness classification of oil palm FFB has been successfully implemented. The performance of MLP has been investigated for classification purpose by using data with either full features or reduced features. In the first method, all 59 hue measurements from segmented fruit images were used as the features to characterize the oil palm FFB ripeness. MLP managed to classify the ripeness of oil palm FFBs with 91.67% correct classification. In the second method, PCA was used to obtain a number of principal components that represented the new features to be fed into MLP. By using only 6 features, MLP managed to classify the ripeness of oil palm FFB with 93.33% correct classification. Results indicated that even though the features were reduced, the best classification performance improved by 1.66%. This method seems effective in improving MLP performance. Besides, training with reduced features decreases the computational time by reducing the number of MLP inputs. In conclusion, the developed ripeness classifier can serve as a color sensor for automated oil palm FFB ripeness classification, in order to expedite the accurate ripeness grading during a harvesting process.</p></sec></body>
<back>
<ack>
<p>This research is supported by Felda Agricultural Services Sdn Bhd (FASSB) in collaboration with Universiti Sains Malaysia. The authors would like to thank Anuar Ibrahim and Yusak for providing some sample images, and Hassan from FASSB for providing his expertise in the oil palm FFB manual ripeness classification. We also want to express our appreciation to Nik Mohd Anis Nik Mohamad and Kusairay Musa for helping with data collection, and Mohd Fitri Kamari from FASSB for management support side.</p></ack>
<ref-list>
<title>References</title>
<ref id="b1-sensors-12-14179"><label>1.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Brosnan</surname><given-names>T.</given-names></name><name><surname>Sun</surname><given-names>D.W.</given-names></name></person-group><article-title>Improving quality inspection of food products by computer vision—A review</article-title><source>J. Food Eng.</source><year>2004</year><volume>61</volume><fpage>3</fpage><lpage>16</lpage><pub-id pub-id-type="doi">10.1016/S0260-8774(03)00183-3</pub-id></citation></ref>
<ref id="b2-sensors-12-14179"><label>2.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Corley</surname><given-names>R.H.V.</given-names></name><name><surname>Tinker</surname><given-names>P.B.</given-names></name></person-group><source>The Oil Palm</source><publisher-name>Blackwell Science Ltd</publisher-name><publisher-loc>Oxford, UK</publisher-loc><year>2003</year></citation></ref>
<ref id="b3-sensors-12-14179"><label>3.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Vaughan</surname><given-names>J.</given-names></name><name><surname>Nicholson</surname><given-names>B.</given-names></name><name><surname>Geissler</surname><given-names>C.</given-names></name><name><surname>Dowle</surname><given-names>E.</given-names></name><name><surname>Rice</surname><given-names>E.</given-names></name></person-group><source>The New Oxford Book of Food Plants</source><publisher-name>Oxford University Press</publisher-name><publisher-loc>London, UK</publisher-loc><year>2009</year></citation></ref>
<ref id="b4-sensors-12-14179"><label>4.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Hitam</surname><given-names>A.H.</given-names></name><name><surname>Yusof</surname><given-names>A.M.</given-names></name></person-group><article-title>Mechanization in Oil Palm Plantations</article-title><source>Advances in Oil Palm Research</source><person-group person-group-type="editor"><name><surname>Basiron</surname><given-names>Y.</given-names></name><name><surname>Jalani</surname><given-names>B.</given-names></name><name><surname>Chan</surname><given-names>K.</given-names></name></person-group><publisher-name>Malaysian Palm Oil Board</publisher-name><publisher-loc>Ministry of Primary Industries, Malaysia</publisher-loc><year>2000</year><volume>1</volume><fpage>653</fpage><lpage>696</lpage></citation></ref>
<ref id="b5-sensors-12-14179"><label>5.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Jalil</surname><given-names>A.</given-names></name></person-group><article-title>Grading of FFB for Palm Oil Mills in Malaysia</article-title><conf-name>Proceedings of 1994 PORIM National Palm Oil Milling and Refining Technology Conference</conf-name><conf-loc>Kuala Lumpur, Malaysia</conf-loc><conf-date>7–8 July 1994</conf-date></citation></ref>
<ref id="b6-sensors-12-14179"><label>6.</label><citation citation-type="book"><person-group person-group-type="author"><collab>Malaysian Palm Oil Board</collab></person-group><source>Oil Palm Fruit Grading Manual</source><publisher-name>Malaysian Palm Oil Board</publisher-name><publisher-loc>Kajang, Malaysia</publisher-loc><year>2003</year></citation></ref>
<ref id="b7-sensors-12-14179"><label>7.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ismail</surname><given-names>W.I.W.</given-names></name><name><surname>Bardaie</surname><given-names>M.Z.</given-names></name><name><surname>Hamid</surname><given-names>A.M.A.</given-names></name></person-group><article-title>Optical properties for mechanical harvesting of oil palm FFB</article-title><source>J. Oil Palm Res.</source><year>2000</year><volume>12</volume><fpage>38</fpage><lpage>45</lpage></citation></ref>
<ref id="b8-sensors-12-14179"><label>8.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Ghazali</surname><given-names>K.H.</given-names></name><name><surname>Samad</surname><given-names>R.</given-names></name><name><surname>Arshad</surname><given-names>N.W.</given-names></name><name><surname>Karim</surname><given-names>R.A.</given-names></name></person-group><article-title>Image Processing Analysis of Oil Palm Fruits for Automatic Grading</article-title><conf-name>Proceedings of the International Conference on Instrumentation, Control &amp; Automation</conf-name><conf-loc>Bandung, Indonesia</conf-loc><conf-date>20 October 2009</conf-date></citation></ref>
<ref id="b9-sensors-12-14179"><label>9.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Choong</surname><given-names>T.</given-names></name><name><surname>Abbas</surname><given-names>S.</given-names></name><name><surname>Shariff</surname><given-names>A.</given-names></name><name><surname>Halim</surname><given-names>R.</given-names></name><name><surname>S</surname><given-names>M.H.</given-names></name><name><surname>Yunus</surname><given-names>R.</given-names></name><name><surname>Ali</surname><given-names>S.</given-names></name><name><surname>ahmadun</surname><given-names>F.R.</given-names></name></person-group><article-title>Digital image processing of palm oil fruits</article-title><source>Int. J. Food Eng.</source><year>2006</year><volume>2</volume><fpage>1</fpage><lpage>4</lpage><pub-id pub-id-type="doi">10.1111/j.1365-2621.1976.tb00769.x-i1</pub-id></citation></ref>
<ref id="b10-sensors-12-14179"><label>10.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Alfatni</surname><given-names>M.S.M.</given-names></name><name><surname>Shariff</surname><given-names>A.R.M.</given-names></name><name><surname>Shafri</surname><given-names>H.Z.M.</given-names></name><name><surname>Saaed</surname><given-names>O.M.B.</given-names></name><name><surname>Eshanta</surname><given-names>O.M.</given-names></name></person-group><article-title>Oil palm fruit bunch grading system using red, green and blue digital number</article-title><source>J. Appl. Sci.</source><year>2008</year><volume>8</volume><fpage>1444</fpage><lpage>1452</lpage><pub-id pub-id-type="doi">10.3923/jas.2008.1444.1452</pub-id></citation></ref>
<ref id="b11-sensors-12-14179"><label>11.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Hudzari</surname><given-names>R.</given-names></name><name><surname>Ishak</surname><given-names>W.W.</given-names></name><name><surname>Noorman</surname><given-names>M.</given-names></name></person-group><article-title>Parameter acceptance of software development for oil palm fruit maturity prediction</article-title><source>J. Softw. Eng.</source><year>2010</year><volume>4</volume><fpage>244</fpage><lpage>256</lpage><pub-id pub-id-type="doi">10.3923/jse.2010.244.256</pub-id></citation></ref>
<ref id="b12-sensors-12-14179"><label>12.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Jaffar</surname><given-names>A.</given-names></name><name><surname>Jaafar</surname><given-names>R.</given-names></name><name><surname>Jamil</surname><given-names>N.</given-names></name><name><surname>Low</surname><given-names>C.Y.</given-names></name><name><surname>Abdullah</surname><given-names>B.</given-names></name></person-group><article-title>Photogrammetric grading of oil palm fresh fruit bunches</article-title><source>Int. J. Mech. Mechatron. Eng.</source><year>2009</year><volume>9</volume><fpage>18</fpage><lpage>24</lpage></citation></ref>
<ref id="b13-sensors-12-14179"><label>13.</label><citation citation-type="thesis"><person-group person-group-type="author"><name><surname>Guan</surname><given-names>L.C.</given-names></name></person-group><article-title>Stepwise Discriminant Analysis on Oil Palm Fruit's Hues for Ripeness Grading Using Machine Vision System</article-title><source>M.Sc. Thesis</source><publisher-name>School of Electrical and Electronic Engineering, Universiti Sains Malaysia</publisher-name><publisher-loc>Pulau Pinang, Malaysia</publisher-loc><year>2005</year></citation></ref>
<ref id="b14-sensors-12-14179"><label>14.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Tan</surname><given-names>Y.A.</given-names></name><name><surname>Low</surname><given-names>K.W.</given-names></name><name><surname>Lee</surname><given-names>C.K.</given-names></name><name><surname>Low</surname><given-names>K.S.</given-names></name></person-group><article-title>Imaging technique for quantification of oil palm fruit ripeness and oil content</article-title><source>Eur. J. Lipid Sci. Technol.</source><year>2010</year><volume>112</volume><fpage>838</fpage><lpage>843</lpage><pub-id pub-id-type="doi">10.1002/ejlt.201000020</pub-id></citation></ref>
<ref id="b15-sensors-12-14179"><label>15.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Ismail</surname><given-names>W.I.W.</given-names></name><name><surname>Razali</surname><given-names>M.H.</given-names></name></person-group><article-title>Hue Optical Properties to Model Oil Palm Fresh Fruit Bunches Maturity Index</article-title><conf-name>Proceedings of World Multi-Conference on Systemics, Cybernetics and Pattern Recognition</conf-name><conf-loc>Orlando, FL, USA</conf-loc><year>2010</year><fpage>168</fpage><lpage>173</lpage></citation></ref>
<ref id="b16-sensors-12-14179"><label>16.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Zakaria</surname><given-names>A.</given-names></name><name><surname>Shakaff</surname><given-names>A.Y.M.</given-names></name><name><surname>Masnan</surname><given-names>M.J.</given-names></name><name><surname>Ahmad</surname><given-names>M.N.</given-names></name><name><surname>Adom</surname><given-names>A.H.</given-names></name><name><surname>Jaafar</surname><given-names>M.N.</given-names></name><name><surname>Ghani</surname><given-names>S.A.</given-names></name><name><surname>Abdullah</surname><given-names>A.H.</given-names></name><name><surname>Aziz</surname><given-names>A.H.A.</given-names></name><name><surname>Kamarudin</surname><given-names>L.M.</given-names></name><etal/></person-group><article-title>A biomimetic sensor for the classification of honeys of different floral origin and the detection of adulteration</article-title><source>Sensors</source><year>2011</year><volume>11</volume><fpage>7799</fpage><lpage>7822</lpage><pub-id pub-id-type="doi">10.3390/s110807799</pub-id><pub-id pub-id-type="pmid">22164046</pub-id></citation></ref>
<ref id="b17-sensors-12-14179"><label>17.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Zhang</surname><given-names>Y.</given-names></name><name><surname>Wu</surname><given-names>L.</given-names></name></person-group><article-title>Crop classification by forward neural network with adaptive chaotic particle swarm optimization</article-title><source>Sensors</source><year>2011</year><volume>11</volume><fpage>4721</fpage><lpage>4743</lpage><pub-id pub-id-type="doi">10.3390/s110504721</pub-id><pub-id pub-id-type="pmid">22163872</pub-id></citation></ref>
<ref id="b18-sensors-12-14179"><label>18.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Junkwon</surname><given-names>P.</given-names></name><name><surname>Takigawa</surname><given-names>T.</given-names></name><name><surname>Okamoto</surname><given-names>H.</given-names></name><name><surname>Hasegawa</surname><given-names>H.</given-names></name><name><surname>Koike</surname><given-names>M.</given-names></name><name><surname>Sakai</surname><given-names>K.</given-names></name><name><surname>Siruntawineti</surname><given-names>J.</given-names></name><name><surname>Chaeychomsri</surname><given-names>W.</given-names></name><name><surname>Sanevas</surname><given-names>N.</given-names></name><name><surname>Tittinuchanon</surname><given-names>P.</given-names></name><etal/></person-group><article-title>Potential application of color and hyperspectral images for estimation of weight and ripeness of oil palm (Elaeis guineensis Jacq. var. tenera)</article-title><source>Agric. Inf. Res.</source><year>2009</year><volume>18</volume><fpage>72</fpage><lpage>81</lpage></citation></ref>
<ref id="b19-sensors-12-14179"><label>19.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Jamil</surname><given-names>N.</given-names></name><name><surname>Mohamed</surname><given-names>A.</given-names></name><name><surname>Abdullah</surname><given-names>S.</given-names></name></person-group><article-title>Automated grading of palm oil Fresh Fruit Bunches (FFB) using neuro-fuzzy technique</article-title><conf-name>Proceedings of the International Conference of Soft Computing and Pattern Recognition, SOCPAR '09</conf-name><conf-loc>Malacca, Malaysia</conf-loc><conf-date>31 December 2009</conf-date><fpage>245</fpage><lpage>249</lpage></citation></ref>
<ref id="b20-sensors-12-14179"><label>20.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>May</surname><given-names>Z.</given-names></name><name><surname>Amaran</surname><given-names>M.H.</given-names></name></person-group><article-title>Automated oil palm fruit grading system using artificial intelligence</article-title><source>Int. J. Eng. Sci.</source><year>2011</year><volume>11</volume><fpage>30</fpage><lpage>35</lpage></citation></ref>
<ref id="b21-sensors-12-14179"><label>21.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Chinchuluun</surname><given-names>R.</given-names></name><name><surname>Lee</surname><given-names>W.S.</given-names></name><name><surname>Bhorania</surname><given-names>J.</given-names></name><name><surname>Pardalos</surname><given-names>P.M.</given-names></name></person-group><article-title>Clustering and classification algorithms in food and agricultural applications: A survey</article-title><source>Advances in Modeling Agricultural Systems</source><publisher-name>Springer</publisher-name><publisher-loc>Yardley, PA, USA</publisher-loc><year>2009</year><volume>25</volume><fpage>433</fpage><lpage>454</lpage></citation></ref>
<ref id="b22-sensors-12-14179"><label>22.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Gonzalez</surname><given-names>R.</given-names></name><name><surname>Woods</surname><given-names>R.</given-names></name></person-group><source>Digital Image Processing</source><edition>3rd ed.</edition><publisher-name>Prentice-Hall</publisher-name><publisher-loc>Upper Saddle River, NJ, USA</publisher-loc><year>2010</year></citation></ref>
<ref id="b23-sensors-12-14179"><label>23.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Abdullah</surname><given-names>M.</given-names></name><name><surname>Guan</surname><given-names>L.</given-names></name><name><surname>Mohamed</surname><given-names>A.</given-names></name><name><surname>Noor</surname><given-names>M.</given-names></name></person-group><article-title>Color vision system for ripeness inspection of oil palm elaeis guineensis</article-title><source>J. Food Process. Pres.</source><year>2002</year><volume>26</volume><fpage>213</fpage><lpage>235</lpage><pub-id pub-id-type="doi">10.1111/j.1745-4549.2002.tb00481.x</pub-id></citation></ref>
<ref id="b24-sensors-12-14179"><label>24.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ayrulu-Erdem</surname><given-names>B.</given-names></name><name><surname>Barshan</surname><given-names>B.</given-names></name></person-group><article-title>Leg motion classification with artificial neural networks using wavelet-based features of gyroscope signals</article-title><source>Sensors</source><year>2011</year><volume>11</volume><fpage>1721</fpage><lpage>1743</lpage><pub-id pub-id-type="doi">10.3390/s110201721</pub-id><pub-id pub-id-type="pmid">22319378</pub-id></citation></ref>
<ref id="b25-sensors-12-14179"><label>25.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Baladrón</surname><given-names>C.</given-names></name><name><surname>Aguiar</surname><given-names>J.M.</given-names></name><name><surname>Calavia</surname><given-names>L.</given-names></name><name><surname>Carro</surname><given-names>B.</given-names></name><name><surname>Sánchez-Esguevillas</surname><given-names>A.</given-names></name><name><surname>Hernández</surname><given-names>L.</given-names></name></person-group><article-title>Performance study of the application of artificial neural networks to the completion and prediction of data retrieved by underwater sensors</article-title><source>Sensors</source><year>2012</year><volume>12</volume><fpage>1468</fpage><lpage>1481</lpage><pub-id pub-id-type="pmid">22438720</pub-id></citation></ref>
<ref id="b26-sensors-12-14179"><label>26.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Jeon</surname><given-names>H.Y.</given-names></name><name><surname>Tian</surname><given-names>L.F.</given-names></name><name><surname>Zhu</surname><given-names>H.</given-names></name></person-group><article-title>Robust crop and weed segmentation under uncontrolled outdoor illumination</article-title><source>Sensors</source><year>2011</year><volume>11</volume><fpage>6270</fpage><lpage>6283</lpage><pub-id pub-id-type="doi">10.3390/s110606270</pub-id><pub-id pub-id-type="pmid">22163954</pub-id></citation></ref>
<ref id="b27-sensors-12-14179"><label>27.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Rafiq</surname><given-names>M.</given-names></name><name><surname>Bugmann</surname><given-names>G.</given-names></name></person-group><article-title>Neural network design for engineering applications</article-title><source>Comput. Struct.</source><year>2001</year><volume>79</volume><fpage>1541</fpage><lpage>1552</lpage><pub-id pub-id-type="doi">10.1016/S0045-7949(01)00039-6</pub-id></citation></ref>
<ref id="b28-sensors-12-14179"><label>28.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Abdullah</surname><given-names>M.</given-names></name><name><surname>Mohamad-Saleh</surname><given-names>J.</given-names></name><name><surname>Fathinul-Syahir</surname><given-names>A.</given-names></name><name><surname>Mohd-Azemi</surname><given-names>B.</given-names></name></person-group><article-title>Discrimination and classification of fresh-cut starfruits (Averrhoa carambola L.) using automated machine vision system</article-title><source>J. Food Eng.</source><year>2006</year><volume>76</volume><fpage>506</fpage><lpage>523</lpage><pub-id pub-id-type="doi">10.1016/j.jfoodeng.2005.05.053</pub-id></citation></ref>
<ref id="b29-sensors-12-14179"><label>29.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Priddy</surname><given-names>K.L.</given-names></name><name><surname>Keller</surname><given-names>P.E.</given-names></name></person-group><source>Artificial Neural Networks: An Introduction</source><publisher-name>SPIE Publications</publisher-name><publisher-loc>Bellingham, DC, USA</publisher-loc><year>2005</year></citation></ref>
<ref id="b30-sensors-12-14179"><label>30.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Jollife</surname><given-names>I.</given-names></name></person-group><source>Principal Component Analysis</source><publisher-name>Springer</publisher-name><publisher-loc>Berlin/Heidelberg, Germany</publisher-loc><year>2002</year></citation></ref></ref-list>
<sec sec-type="display-objects">
<title>Figures and Tables</title>
<fig id="f1-sensors-12-14179" position="float">
<label>Figure 1.</label>
<caption>
<p>Oil palm FFB grading system.</p></caption>
<graphic xlink:href="sensors-12-14179f1.gif"/></fig>
<fig id="f2-sensors-12-14179" position="float">
<label>Figure 2.</label>
<caption>
<p>Oil palm FFB images for four ripeness categories: (<bold>a</bold>) Unripe; (<bold>b</bold>) Underripe; (<bold>c</bold>) Ripe; (<bold>d</bold>) Overripe.</p></caption>
<graphic xlink:href="sensors-12-14179f2.gif"/></fig>
<fig id="f3-sensors-12-14179" position="float">
<label>Figure 3.</label>
<caption>
<p>Segmented images of oil palm FFB's (<bold>a</bold>) fruits and (<bold>b</bold>) spikes.</p></caption>
<graphic xlink:href="sensors-12-14179f3.gif"/></fig>
<fig id="f4-sensors-12-14179" position="float">
<label>Figure 4.</label>
<caption>
<p>Structure of MLP neural network.</p></caption>
<graphic xlink:href="sensors-12-14179f4.gif"/></fig>
<fig id="f5-sensors-12-14179" position="float">
<label>Figure 5.</label>
<caption>
<p>Two experimented methods. (<bold>a</bold>) Method MA; (<bold>b</bold>) Method MB.</p></caption>
<graphic xlink:href="sensors-12-14179f5.gif"/></fig>
<fig id="f6-sensors-12-14179" position="float">
<label>Figure 6.</label>
<caption>
<p>MLP performance based on number of features.</p></caption>
<graphic xlink:href="sensors-12-14179f6.gif"/></fig>
<fig id="f7-sensors-12-14179" position="float">
<label>Figure 7.</label>
<caption>
<p>MLP performance based on number of features (5–15 PCs).</p></caption>
<graphic xlink:href="sensors-12-14179f7.gif"/></fig>
<table-wrap id="t1-sensors-12-14179" position="float">
<label>Table 1.</label>
<caption>
<p>Properties of each investigated MLP neural network.</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th align="center" valign="bottom"><bold>Combination Label</bold></th>
<th align="center" valign="bottom"><bold>Transfer Function (Hidden Neuron)</bold></th>
<th align="center" valign="bottom"><bold>Transfer Function (Output Neuron)</bold></th>
<th align="center" valign="bottom"><bold>No. of Output Neurons</bold></th></tr></thead>
<tbody>
<tr>
<td align="center" valign="top">CA</td>
<td align="center" valign="top">logsig</td>
<td align="center" valign="top">logsig</td>
<td align="center" valign="top">4</td></tr>
<tr>
<td align="center" valign="top">CB</td>
<td align="center" valign="top">tansig</td>
<td align="center" valign="top">logsig</td>
<td align="center" valign="top">4</td></tr>
<tr>
<td align="center" valign="top">CC</td>
<td align="center" valign="top">logsig</td>
<td align="center" valign="top">logsig</td>
<td align="center" valign="top">2</td></tr>
<tr>
<td align="center" valign="top">CD</td>
<td align="center" valign="top">tansig</td>
<td align="center" valign="top">logsig</td>
<td align="center" valign="top">2</td></tr>
<tr>
<td align="center" valign="top">CE</td>
<td align="center" valign="top">logsig</td>
<td align="center" valign="top">purelin</td>
<td align="center" valign="top">1</td></tr>
<tr>
<td align="center" valign="top">CF</td>
<td align="center" valign="top">tansig</td>
<td align="center" valign="top">purelin</td>
<td align="center" valign="top">1</td></tr></tbody></table></table-wrap>
<table-wrap id="t2-sensors-12-14179" position="float">
<label>Table 2.</label>
<caption>
<p>Output coding representations for CA and CB combinations.</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th align="center" valign="middle" rowspan="2"><bold>Ripeness Class</bold></th>
<th colspan="4" align="center" valign="middle"><bold>MLP Output</bold></th></tr>
<tr>
<th align="center" valign="middle"><bold>1</bold></th>
<th align="center" valign="middle"><bold>2</bold></th>
<th align="center" valign="middle"><bold>3</bold></th>
<th align="center" valign="middle"><bold>4</bold></th></tr></thead>
<tbody>
<tr>
<td align="center" valign="top">Unripe</td>
<td align="center" valign="top">1</td>
<td align="center" valign="top">0</td>
<td align="center" valign="top">0</td>
<td align="center" valign="top">0</td></tr>
<tr>
<td align="center" valign="top">Underripe</td>
<td align="center" valign="top">0</td>
<td align="center" valign="top">1</td>
<td align="center" valign="top">0</td>
<td align="center" valign="top">0</td></tr>
<tr>
<td align="center" valign="top">Ripe</td>
<td align="center" valign="top">0</td>
<td align="center" valign="top">0</td>
<td align="center" valign="top">1</td>
<td align="center" valign="top">0</td></tr>
<tr>
<td align="center" valign="top">Overripe</td>
<td align="center" valign="top">0</td>
<td align="center" valign="top">0</td>
<td align="center" valign="top">0</td>
<td align="center" valign="top">1</td></tr></tbody></table></table-wrap>
<table-wrap id="t3-sensors-12-14179" position="float">
<label>Table 3.</label>
<caption>
<p>Output coding representations for CC and CD combinations.</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th align="center" valign="middle" rowspan="2"><bold>Ripeness Class</bold></th>
<th colspan="3" align="center" valign="middle"><bold>MLP Output</bold></th></tr>
<tr>
<th align="center" valign="middle"><bold>1</bold></th>
<th colspan="2" align="center" valign="middle"><bold>2</bold></th></tr></thead>
<tbody>
<tr>
<td align="center" valign="top">Unripe</td>
<td align="center" valign="top">0</td>
<td align="center" valign="top">0</td></tr>
<tr>
<td align="center" valign="top">Underripe</td>
<td align="center" valign="top">0</td>
<td align="center" valign="top">1</td></tr>
<tr>
<td align="center" valign="top">Ripe</td>
<td align="center" valign="top">1</td>
<td align="center" valign="top">0</td></tr>
<tr>
<td align="center" valign="top">Overripe</td>
<td align="center" valign="top">1</td>
<td align="center" valign="top">1</td></tr></tbody></table></table-wrap>
<table-wrap id="t4-sensors-12-14179" position="float">
<label>Table 4.</label>
<caption>
<p>Output coding representations for CE and CF combinations.</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th align="center" valign="middle"><bold>Ripeness Class</bold></th>
<th align="center" valign="middle"><bold>MLP Output</bold></th></tr></thead>
<tbody>
<tr>
<td align="center" valign="top">Unripe</td>
<td align="center" valign="top">1</td></tr>
<tr>
<td align="center" valign="top">Underripe</td>
<td align="center" valign="top">2</td></tr>
<tr>
<td align="center" valign="top">Ripe</td>
<td align="center" valign="top">3</td></tr>
<tr>
<td align="center" valign="top">Overripe</td>
<td align="center" valign="top">4</td></tr></tbody></table></table-wrap>
<table-wrap id="t5-sensors-12-14179" position="float">
<label>Table 5.</label>
<caption>
<p>Total variation with its corresponding number of PCs.</p></caption>
<table frame="hsides" rules="rows">
<tbody>
<tr>
<td align="center" valign="top">Total variation</td>
<td align="center" valign="top">0.2</td>
<td align="center" valign="top">0.0482</td>
<td align="center" valign="top">0.06</td>
<td align="center" valign="top">0.0014</td>
<td align="center" valign="top">0.00031</td>
<td align="center" valign="top">0.00019</td>
<td align="center" valign="top">0.000123</td></tr>
<tr>
<td align="center" valign="top">Number of PCs</td>
<td align="center" valign="top">2</td>
<td align="center" valign="top">5</td>
<td align="center" valign="top">10</td>
<td align="center" valign="top">15</td>
<td align="center" valign="top">20</td>
<td align="center" valign="top">25</td>
<td align="center" valign="top">30</td></tr>
<tr>
<td align="center" valign="top">Total variation</td>
<td align="center" valign="top">0.00008</td>
<td align="center" valign="top">0.000046</td>
<td align="center" valign="top">0.00003</td>
<td align="center" valign="top">0.000017</td>
<td align="center" valign="top">0.000008</td>
<td align="center" valign="top"/>
<td align="center" valign="top"/></tr>
<tr>
<td align="center" valign="top">Number of PCs</td>
<td align="center" valign="top">35</td>
<td align="center" valign="top">40</td>
<td align="center" valign="top">45</td>
<td align="center" valign="top">50</td>
<td align="center" valign="top">55</td>
<td align="center" valign="top"/>
<td align="center" valign="top"/></tr></tbody></table></table-wrap>
<table-wrap id="t6-sensors-12-14179" position="float">
<label>Table 6.</label>
<caption>
<p>Oil palm FFB ripeness classification accuracy for method MA.</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th align="center" valign="bottom"><bold>Combination Label</bold></th>
<th align="center" valign="bottom"><bold>Classification Accuracy (%)</bold></th></tr></thead>
<tbody>
<tr>
<td align="center" valign="top">CA</td>
<td align="center" valign="top">88.33</td></tr>
<tr>
<td align="center" valign="top">CB</td>
<td align="center" valign="top">88.33</td></tr>
<tr>
<td align="center" valign="top">CC</td>
<td align="center" valign="top"><bold>9</bold>1.67</td></tr>
<tr>
<td align="center" valign="top">CD</td>
<td align="center" valign="top">90.00</td></tr>
<tr>
<td align="center" valign="top">CE</td>
<td align="center" valign="top">85.00</td></tr>
<tr>
<td align="center" valign="top">CF</td>
<td align="center" valign="top">86.67</td></tr></tbody></table></table-wrap>
<table-wrap id="t7-sensors-12-14179" position="float">
<label>Table 7.</label>
<caption>
<p>Oil palm FFB ripeness classification accuracy for method MB.</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th align="center" valign="middle" rowspan="2"/>
<th colspan="12" align="center" valign="middle"><bold>No. of PC (Features) and Performance (%)</bold></th></tr>
<tr>
<th align="center" valign="middle"><bold>2</bold></th>
<th align="center" valign="middle"><bold>5</bold></th>
<th align="center" valign="middle"><bold>10</bold></th>
<th align="center" valign="middle"><bold>15</bold></th>
<th align="center" valign="middle"><bold>20</bold></th>
<th align="center" valign="middle"><bold>25</bold></th>
<th align="center" valign="middle"><bold>30</bold></th>
<th align="center" valign="middle"><bold>35</bold></th>
<th align="center" valign="middle"><bold>40</bold></th>
<th align="center" valign="middle"><bold>45</bold></th>
<th align="center" valign="middle"><bold>50</bold></th>
<th align="center" valign="middle"><bold>55</bold></th></tr></thead>
<tbody>
<tr>
<td align="center" valign="top">CA</td>
<td align="center" valign="top">65.00</td>
<td align="center" valign="top">86.67</td>
<td align="center" valign="top">88.33</td>
<td align="center" valign="top">85.00</td>
<td align="center" valign="top">80.00</td>
<td align="center" valign="top">78.33</td>
<td align="center" valign="top">78.33</td>
<td align="center" valign="top">75.00</td>
<td align="center" valign="top">75.00</td>
<td align="center" valign="top">66.67</td>
<td align="center" valign="top">73.33</td>
<td align="center" valign="top">60.00</td></tr>
<tr>
<td align="center" valign="top">CB</td>
<td align="center" valign="top">66.67</td>
<td align="center" valign="top">90.00</td>
<td align="center" valign="top">86.67</td>
<td align="center" valign="top">85.00</td>
<td align="center" valign="top">83.33</td>
<td align="center" valign="top">80.00</td>
<td align="center" valign="top">73.33</td>
<td align="center" valign="top">71.67</td>
<td align="center" valign="top">70.00</td>
<td align="center" valign="top">71.67</td>
<td align="center" valign="top">63.33</td>
<td align="center" valign="top">56.67</td></tr>
<tr>
<td align="center" valign="top">CC</td>
<td align="center" valign="top">78.33</td>
<td align="center" valign="top"><bold>9</bold>1.67</td>
<td align="center" valign="top">90.00</td>
<td align="center" valign="top">88.33</td>
<td align="center" valign="top">81.67</td>
<td align="center" valign="top">83.33</td>
<td align="center" valign="top">80.00</td>
<td align="center" valign="top">75.00</td>
<td align="center" valign="top">71.67</td>
<td align="center" valign="top">68.33</td>
<td align="center" valign="top">65.00</td>
<td align="center" valign="top">60.00</td></tr>
<tr>
<td align="center" valign="top">CD</td>
<td align="center" valign="top">80.00</td>
<td align="center" valign="top">90.00</td>
<td align="center" valign="top">88.33</td>
<td align="center" valign="top">86.67</td>
<td align="center" valign="top">81.67</td>
<td align="center" valign="top">81.67</td>
<td align="center" valign="top">76.67</td>
<td align="center" valign="top">68.33</td>
<td align="center" valign="top">70.00</td>
<td align="center" valign="top">68.33</td>
<td align="center" valign="top">65.00</td>
<td align="center" valign="top">66.67</td></tr>
<tr>
<td align="center" valign="top">CE</td>
<td align="center" valign="top">78.33</td>
<td align="center" valign="top">86.67</td>
<td align="center" valign="top">81.67</td>
<td align="center" valign="top">83.33</td>
<td align="center" valign="top">80.00</td>
<td align="center" valign="top">76.67</td>
<td align="center" valign="top">76.67</td>
<td align="center" valign="top">71.67</td>
<td align="center" valign="top">70.00</td>
<td align="center" valign="top">65.00</td>
<td align="center" valign="top">65.00</td>
<td align="center" valign="top">66.67</td></tr>
<tr>
<td align="center" valign="top">CF</td>
<td align="center" valign="top">78.33</td>
<td align="center" valign="top">88.33</td>
<td align="center" valign="top">86.67</td>
<td align="center" valign="top">81.67</td>
<td align="center" valign="top">78.33</td>
<td align="center" valign="top">75.00</td>
<td align="center" valign="top">71.67</td>
<td align="center" valign="top">68.33</td>
<td align="center" valign="top">70.00</td>
<td align="center" valign="top">65.00</td>
<td align="center" valign="top">65.00</td>
<td align="center" valign="top">63.33</td></tr></tbody></table></table-wrap>
<table-wrap id="t8-sensors-12-14179" position="float">
<label>Table 8.</label>
<caption>
<p>Oil palm FFB ripeness classification accuracy for method MB (5–15 PCs).</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th align="center" valign="middle" rowspan="2"/>
<th colspan="11" align="center" valign="middle"><bold>No. of PC (Features) and Performance (%)</bold></th></tr>
<tr>
<th align="center" valign="middle"><bold>5</bold></th>
<th align="center" valign="middle"><bold>6</bold></th>
<th align="center" valign="middle"><bold>7</bold></th>
<th align="center" valign="middle"><bold>8</bold></th>
<th align="center" valign="middle"><bold>9</bold></th>
<th align="center" valign="middle"><bold>10</bold></th>
<th align="center" valign="middle"><bold>11</bold></th>
<th align="center" valign="middle"><bold>12</bold></th>
<th align="center" valign="middle"><bold>13</bold></th>
<th align="center" valign="middle"><bold>14</bold></th>
<th align="center" valign="middle"><bold>15</bold></th></tr></thead>
<tbody>
<tr>
<td align="center" valign="top">CA</td>
<td align="center" valign="top">86.67</td>
<td align="center" valign="top">90.00</td>
<td align="center" valign="top">88.33</td>
<td align="center" valign="top">88.33</td>
<td align="center" valign="top">90.00</td>
<td align="center" valign="top">88.33</td>
<td align="center" valign="top">86.67</td>
<td align="center" valign="top">86.67</td>
<td align="center" valign="top">90.00</td>
<td align="center" valign="top">90.00</td>
<td align="center" valign="top">85.00</td></tr>
<tr>
<td align="center" valign="top">CB</td>
<td align="center" valign="top">90.00</td>
<td align="center" valign="top">90.00</td>
<td align="center" valign="top">88.33</td>
<td align="center" valign="top">86.67</td>
<td align="center" valign="top">88.33</td>
<td align="center" valign="top">86.67</td>
<td align="center" valign="top">86.67</td>
<td align="center" valign="top">90.00</td>
<td align="center" valign="top">90.00</td>
<td align="center" valign="top">88.33</td>
<td align="center" valign="top">85.00</td></tr>
<tr>
<td align="center" valign="top">CC</td>
<td align="center" valign="top">91.67</td>
<td align="center" valign="top">91.67</td>
<td align="center" valign="top">91.67</td>
<td align="center" valign="top">88.33</td>
<td align="center" valign="top">90.00</td>
<td align="center" valign="top">90.00</td>
<td align="center" valign="top">90.00</td>
<td align="center" valign="top">91.67</td>
<td align="center" valign="top">91.67</td>
<td align="center" valign="top">88.33</td>
<td align="center" valign="top">88.33</td></tr>
<tr>
<td align="center" valign="top">CD</td>
<td align="center" valign="top">90.00</td>
<td align="center" valign="top"><bold>9</bold>3.33</td>
<td align="center" valign="top">90.00</td>
<td align="center" valign="top">88.33</td>
<td align="center" valign="top">90.00</td>
<td align="center" valign="top">88.33</td>
<td align="center" valign="top">90.00</td>
<td align="center" valign="top"><bold>9</bold>3.33</td>
<td align="center" valign="top">88.33</td>
<td align="center" valign="top">88.33</td>
<td align="center" valign="top">86.67</td></tr>
<tr>
<td align="center" valign="top">CE</td>
<td align="center" valign="top">86.67</td>
<td align="center" valign="top">86.67</td>
<td align="center" valign="top">85.00</td>
<td align="center" valign="top">86.67</td>
<td align="center" valign="top">86.67</td>
<td align="center" valign="top">81.67</td>
<td align="center" valign="top">85.00</td>
<td align="center" valign="top">81.67</td>
<td align="center" valign="top">85.00</td>
<td align="center" valign="top">85.00</td>
<td align="center" valign="top">83.33</td></tr>
<tr>
<td align="center" valign="top">CF</td>
<td align="center" valign="top">88.33</td>
<td align="center" valign="top">86.67</td>
<td align="center" valign="top">88.33</td>
<td align="center" valign="top">88.33</td>
<td align="center" valign="top">88.33</td>
<td align="center" valign="top">86.67</td>
<td align="center" valign="top">81.67</td>
<td align="center" valign="top">83.33</td>
<td align="center" valign="top">86.67</td>
<td align="center" valign="top">85.00</td>
<td align="center" valign="top">81.67</td></tr></tbody></table></table-wrap></sec></back></article>
