A Block-Based and Highly Parallel CNN Accelerator for Seed Sorting
Seed sorting is critical for the breeding industry to improve the agricultural yield. The seed sorting methods based on convolutional neural networks (CNNs) have achieved excellent recognition accuracy on large-scale pretrained network models. However, CNN inference is a computationally intensive pr...
Main Authors: | , , , , |
---|---|
Format: | Article |
Language: | English |
Published: |
Hindawi Limited
2022-01-01
|
Series: | Journal of Electrical and Computer Engineering |
Online Access: | http://dx.doi.org/10.1155/2022/5608573 |
_version_ | 1811186931602554880 |
---|---|
author | Xiaoting Sang Zhenghui Hu Huanyu Li Chunlei Li Zhoufeng Liu |
author_facet | Xiaoting Sang Zhenghui Hu Huanyu Li Chunlei Li Zhoufeng Liu |
author_sort | Xiaoting Sang |
collection | DOAJ |
description | Seed sorting is critical for the breeding industry to improve the agricultural yield. The seed sorting methods based on convolutional neural networks (CNNs) have achieved excellent recognition accuracy on large-scale pretrained network models. However, CNN inference is a computationally intensive process that often requires hardware acceleration to operate in real time. For embedded devices, the high-power consumption of graphics processing units (GPUs) is generally prohibitive, and the field programmable gate array (FPGA) becomes a solution to perform high-speed inference by providing a customized accelerator for a particular user. To date, the recognition speeds of the FPGA-based universal accelerators for high-throughput seed sorting tasks are slow, which cannot guarantee real-time seed sorting. Therefore, a block-based and highly parallel MobileNetV2 accelerator is proposed in this paper. First, a hardware-friendly quantization method that uses only fixed-point operation is designed to reduce resource consumption. Then, the block convolution strategy is proposed to avoid latency and energy consumption increase caused by large-scale intermediate result off-chip data transfers. Finally, two scalable computing engines are explicitly designed for depth-wise convolution (DWC) and point-wise convolution (PWC) to develop the high parallelism of block convolution computation. Moreover, an efficient memory system with a double buffering mechanism and new data reordering mode is designed to address the imbalance between memory access and parallel computing. Our proposed FPGA-based MobileNetV2 accelerator for real-time seed sorting is implemented and evaluated on the platform of Xilinx XC7020. Experimental results demonstrate that our implementation can achieve about 29.4 frames per second (FPS) and 10.86 Giga operations per second (GOPS), and 0.92× to 5.70 × DSP-efficiency compared with previous FPGA-based accelerators. |
first_indexed | 2024-04-11T13:53:27Z |
format | Article |
id | doaj.art-201b7d193cb24129bc1d521165e65492 |
institution | Directory Open Access Journal |
issn | 2090-0155 |
language | English |
last_indexed | 2024-04-11T13:53:27Z |
publishDate | 2022-01-01 |
publisher | Hindawi Limited |
record_format | Article |
series | Journal of Electrical and Computer Engineering |
spelling | doaj.art-201b7d193cb24129bc1d521165e654922022-12-22T04:20:26ZengHindawi LimitedJournal of Electrical and Computer Engineering2090-01552022-01-01202210.1155/2022/5608573A Block-Based and Highly Parallel CNN Accelerator for Seed SortingXiaoting Sang0Zhenghui Hu1Huanyu Li2Chunlei Li3Zhoufeng Liu4School of Electronic and Information EngineeringHangzhou Innovation InstituteCollege of Oceanography and Space InformaticsSchool of Electronic and Information EngineeringSchool of Electronic and Information EngineeringSeed sorting is critical for the breeding industry to improve the agricultural yield. The seed sorting methods based on convolutional neural networks (CNNs) have achieved excellent recognition accuracy on large-scale pretrained network models. However, CNN inference is a computationally intensive process that often requires hardware acceleration to operate in real time. For embedded devices, the high-power consumption of graphics processing units (GPUs) is generally prohibitive, and the field programmable gate array (FPGA) becomes a solution to perform high-speed inference by providing a customized accelerator for a particular user. To date, the recognition speeds of the FPGA-based universal accelerators for high-throughput seed sorting tasks are slow, which cannot guarantee real-time seed sorting. Therefore, a block-based and highly parallel MobileNetV2 accelerator is proposed in this paper. First, a hardware-friendly quantization method that uses only fixed-point operation is designed to reduce resource consumption. Then, the block convolution strategy is proposed to avoid latency and energy consumption increase caused by large-scale intermediate result off-chip data transfers. Finally, two scalable computing engines are explicitly designed for depth-wise convolution (DWC) and point-wise convolution (PWC) to develop the high parallelism of block convolution computation. Moreover, an efficient memory system with a double buffering mechanism and new data reordering mode is designed to address the imbalance between memory access and parallel computing. Our proposed FPGA-based MobileNetV2 accelerator for real-time seed sorting is implemented and evaluated on the platform of Xilinx XC7020. Experimental results demonstrate that our implementation can achieve about 29.4 frames per second (FPS) and 10.86 Giga operations per second (GOPS), and 0.92× to 5.70 × DSP-efficiency compared with previous FPGA-based accelerators.http://dx.doi.org/10.1155/2022/5608573 |
spellingShingle | Xiaoting Sang Zhenghui Hu Huanyu Li Chunlei Li Zhoufeng Liu A Block-Based and Highly Parallel CNN Accelerator for Seed Sorting Journal of Electrical and Computer Engineering |
title | A Block-Based and Highly Parallel CNN Accelerator for Seed Sorting |
title_full | A Block-Based and Highly Parallel CNN Accelerator for Seed Sorting |
title_fullStr | A Block-Based and Highly Parallel CNN Accelerator for Seed Sorting |
title_full_unstemmed | A Block-Based and Highly Parallel CNN Accelerator for Seed Sorting |
title_short | A Block-Based and Highly Parallel CNN Accelerator for Seed Sorting |
title_sort | block based and highly parallel cnn accelerator for seed sorting |
url | http://dx.doi.org/10.1155/2022/5608573 |
work_keys_str_mv | AT xiaotingsang ablockbasedandhighlyparallelcnnacceleratorforseedsorting AT zhenghuihu ablockbasedandhighlyparallelcnnacceleratorforseedsorting AT huanyuli ablockbasedandhighlyparallelcnnacceleratorforseedsorting AT chunleili ablockbasedandhighlyparallelcnnacceleratorforseedsorting AT zhoufengliu ablockbasedandhighlyparallelcnnacceleratorforseedsorting AT xiaotingsang blockbasedandhighlyparallelcnnacceleratorforseedsorting AT zhenghuihu blockbasedandhighlyparallelcnnacceleratorforseedsorting AT huanyuli blockbasedandhighlyparallelcnnacceleratorforseedsorting AT chunleili blockbasedandhighlyparallelcnnacceleratorforseedsorting AT zhoufengliu blockbasedandhighlyparallelcnnacceleratorforseedsorting |