| |
REAL-TIME FRUIT INSPECTION
The following outlines a real-time fruit inspection application.
To measure the quality of fruit, the colors and shapes are used.
The fruit is imaged with a color digital imaging system, the images
are analyzed, and results reported to a host computer to determine
the final disposition of each piece of fruit. The fruit is presented
to the imaging system at a rate of 10 per second. It is a design
requirement that all the fruit be inspected.

click to enlarge
Application Steps
Collecting the Image
During this phase of the application the fruit is
imaged by a camera that captures the fruit from six directions –
front, left, back, right, top, and bottom – and supplies these
images to the computer system as six separate images, each at
256x256 pixels. The six images are merged into one image of 768x512
for ease of handling, three images across and two down. This image
is digitized as 24-bit RGB data.
Color Evaluation
The image is color space converted from RGB to HSI
(hue, saturation and intensity). The three 8-bit values are
converted to one 8-bit value by converting the ‘I’ value to a 4-bit
value via a LUT (look up table), taking the H and S values and
converting them to an 8-bit value via another LUT. The 12-bit value
formed from the 4-bit intensity value and the 8-bit color value is
converted to an 8-bit value via a final LUT. (In principle this
could be done with one LUT of 16 MB deep.)
The values in the LUT's are precomputed to allow
the color differences in the fruit that are significant to its grading
to be easily detected. After the RGB pixel values are converted
to the 8-bit pixels, a blob analysis is run on the image. Regions
of constant color (8-bit value) are labeled in each of the 6 views.
A table of regions is reported to the host computer containing the
location of the blob, its size, color and bounding box. These values
are used by the host computer to determine if the fruit is ripe,
over-ripe, or damaged.
Shape Evaluation
Shape evaluation is performed in each view by
determining the perimeter of the fruit in each view, the area
enclosed by the perimeter, the convex hull of the perimeter, and the
area enclosed by the convex hull. The host computer uses the convex
hull and the perimeter to determine if a piece of the fruit is
missing or if the fruit is oddly shaped. For example, in the case of
spherical fruit, the area of the convex hull and the perimeter
should be nearly the same. However, for a banana, the convex hull
will enclose more area than the perimeter.
Computational and Bus Bandwidth Requirements
The table below shows the counts of the number of operations and
usage of memory for the selected processors. The number of
processors required can be determined by computing the time it would
take one processor to do the processing, and dividing that by the
time actually available.
| Operations |
CPU
Ops |
BUS
Bytes-R |
BUS
Bytes-W |
I/O
Bytes |
| Acquire
front |
- |
- |
786,000
|
786,000
|
| Acquire
left |
- |
- |
786,000
|
786,000
|
| Acquire
back |
- |
- |
786,000
|
786,000
|
| Acquire
right |
- |
- |
786,000
|
786,000
|
| Acquire
top |
- |
- |
786,000
|
786,000
|
| Acquire
bottom |
- |
- |
786,000
|
786,000
|
| Calibration |
- |
4,718,000
|
- |
- |
| Stitch
image together |
4,718,000
|
- |
1,179,000
|
- |
| Convert
from RGB to HSI |
17,694,000
|
1,179,000
|
- |
- |
| Convert
HSI to color index |
7,077,000
|
- |
393,000
|
- |
| Blob
analysis |
524,000
|
786,000
|
786,000
|
- |
| Inspect
Shape |
866,000
|
430,000
|
720
|
720
|
| Report
enclosed area |
786,000
|
393,000
|
240
|
240
|
| Report
perimeter length |
64,000
|
21,000
|
240
|
240
|
| Report
convex hull area |
15,000
|
15,000
|
240
|
240
|
| Entire
Application |
30,881,000
|
7,114,000
|
7,078,000
|
4,719,000
|
Inspection Results
The same set of processors are used as compared
before, but this time their computational performance is
significant. The performance of the processors is shown in the table
below.
When the design requirement to process 10 fruit per
second is considered, the total operations and memory bus cycles
dictate the number of processors required. In this application the
PIII processor is able to participate as the data rate is below
PCI’s 132 MB/s limitation.
Number of processors required for fruit inspection
application.
| Intel
PIII-450 |
Philips
TM1300 |
TI C6701 |
ADI 21160 |
|
2
|
1
|
3
|
2
|
Click to register
to Download the application
note in pdf format
|