Strawberry Detection using a Heterogeneous Multi-Processor Platform
Over the last few years, the number of precision farming projects has increased specifically in harvesting robots and many of which have made continued progress from identifying crops to grasping the desired fruit or vegetable. One of the most common issues found in precision farming projects is that successful application is heavily dependent not just on identifying the fruit but also on ensuring that localisation allows for accurate navigation. These issues become significant factors when the robot is not operating in a prearranged environment, or when vegetation becomes too thick, thus covering crop. Moreover, running a state-of-the-art deep learning algorithm on an embedded platform is also very challenging, resulting most of the times in low frame rates. This paper proposes using the You Only Look Once version 3 (YOLOv3) Convolutional Neural Network (CNN) in combination with utilising image processing techniques for the application of precision farming robots targeting strawberry detection, accelerated on a heterogeneous multiprocessor platform. The results show a performance acceleration by five times when implemented on a Field-Programmable Gate Array (FPGA) when compared with the same algorithm running on the processor side with an accuracy of 78.3% over the test set comprised of 146 images.
Please watch the video below for a full explanation. You can read the paper at the bottom of this page or download it as a PDF to read later.
Sundance VCS-1 system – Vision, Control and Sensors.
As used for the strawberry detection in this case, Sundance’s VCS-1 system can be used to process complex detection and recognition systems while simultaneously controlling the robot’s movements.
The VCS-1 is a PC/104 Linux stack composed of 2 main components, namely the EMC2 board which is a PCIe/104 OneBank™ carrier for a Trenz compatible SoC Module and the FM191 expansion card that fans out the I/Os from the SoC to the outside world.
The SoC provides standard connectivity (e.g. SPI, RS232, I2C, USB, GigE, PCIe, etc), ARM-based processing which is used to run Ubuntu Linux OS and ROS Melodic, memory interfaces and Programmable Logic used for Hardware acceleration and GPIO. The SoC can either be Xilinx Zynq 7 Series (Dual Core ARM Cortex A9) or Xilinx MPSoC Zynq Ultrascale+ (Quad Core ARM Cortex A53).