A Low Memory Requirement MobileNets Accelerator Based on FPGA for Auxiliary Medical Tasks

Convolutional neural networks (CNNs) have been widely applied in the fields of medical tasks because they can achieve high accuracy in many fields using a large number of parameters and operations. However, many applications designed for auxiliary checks or help need to be deployed into portable dev...

Full description

Bibliographic Details
Main Authors: Yanru Lin, Yanjun Zhang, Xu Yang
Format: Article
Language:English
Published: MDPI AG 2022-12-01
Series:Bioengineering
Subjects:
Online Access:https://www.mdpi.com/2306-5354/10/1/28
_version_ 1797445996698927104
author Yanru Lin
Yanjun Zhang
Xu Yang
author_facet Yanru Lin
Yanjun Zhang
Xu Yang
author_sort Yanru Lin
collection DOAJ
description Convolutional neural networks (CNNs) have been widely applied in the fields of medical tasks because they can achieve high accuracy in many fields using a large number of parameters and operations. However, many applications designed for auxiliary checks or help need to be deployed into portable devices, where the huge number of operations and parameters of a standard CNN can become an obstruction. MobileNet adopts a depthwise separable convolution to replace the standard convolution, which can greatly reduce the number of operations and parameters while maintaining a relatively high accuracy. Such highly structured models are very suitable for FPGA implementation in order to further reduce resource requirements and improve efficiency. Many other implementations focus on performance more than on resource requirements because MobileNets has already reduced both parameters and operations and obtained significant results. However, because many small devices only have limited resources they cannot run MobileNet-like efficient networks in a normal way, and there are still many auxiliary medical applications that require a high-performance network running in real-time to meet the requirements. Hence, we need to figure out a specific accelerator structure to further reduce the memory and other resource requirements while running MobileNet-like efficient networks. In this paper, a MobileNet accelerator is proposed to minimize the on-chip memory capacity and the amount of data that is transferred between on-chip and off-chip memory. We propose two configurable computing modules: Pointwise Convolution Accelerator and Depthwise Convolution Accelerator, to parallelize the network and reduce the memory requirement with a specific dataflow model. At the same time, a new cache usage method is also proposed to further reduce the use of the on-chip memory. We implemented the accelerator on Xilinx XC7Z020, deployed MobileNetV2 on it, and achieved 70.94 FPS with 524.25 KB on-chip memory usage under 150 MHz.
first_indexed 2024-03-09T13:34:05Z
format Article
id doaj.art-290e9ee8c9a8485b996e2f06631c94b2
institution Directory Open Access Journal
issn 2306-5354
language English
last_indexed 2024-03-09T13:34:05Z
publishDate 2022-12-01
publisher MDPI AG
record_format Article
series Bioengineering
spelling doaj.art-290e9ee8c9a8485b996e2f06631c94b22023-11-30T21:14:26ZengMDPI AGBioengineering2306-53542022-12-011012810.3390/bioengineering10010028A Low Memory Requirement MobileNets Accelerator Based on FPGA for Auxiliary Medical TasksYanru Lin0Yanjun Zhang1Xu Yang2School of Integrated Circuits and Electronics, Beijing Institute of Technology, No. 5, South Street, Zhongguancun, Haidian District, Beijing 100081, ChinaSchool of Cyberspace Science and Technology, Beijing Institute of Technology, No. 5, South Street, Zhongguancun, Haidian District, Beijing 100081, ChinaSchool of Computer Science and Technology, Beijing Institute of Technology, No. 5, South Street, Zhongguancun, Haidian District, Beijing 100081, ChinaConvolutional neural networks (CNNs) have been widely applied in the fields of medical tasks because they can achieve high accuracy in many fields using a large number of parameters and operations. However, many applications designed for auxiliary checks or help need to be deployed into portable devices, where the huge number of operations and parameters of a standard CNN can become an obstruction. MobileNet adopts a depthwise separable convolution to replace the standard convolution, which can greatly reduce the number of operations and parameters while maintaining a relatively high accuracy. Such highly structured models are very suitable for FPGA implementation in order to further reduce resource requirements and improve efficiency. Many other implementations focus on performance more than on resource requirements because MobileNets has already reduced both parameters and operations and obtained significant results. However, because many small devices only have limited resources they cannot run MobileNet-like efficient networks in a normal way, and there are still many auxiliary medical applications that require a high-performance network running in real-time to meet the requirements. Hence, we need to figure out a specific accelerator structure to further reduce the memory and other resource requirements while running MobileNet-like efficient networks. In this paper, a MobileNet accelerator is proposed to minimize the on-chip memory capacity and the amount of data that is transferred between on-chip and off-chip memory. We propose two configurable computing modules: Pointwise Convolution Accelerator and Depthwise Convolution Accelerator, to parallelize the network and reduce the memory requirement with a specific dataflow model. At the same time, a new cache usage method is also proposed to further reduce the use of the on-chip memory. We implemented the accelerator on Xilinx XC7Z020, deployed MobileNetV2 on it, and achieved 70.94 FPS with 524.25 KB on-chip memory usage under 150 MHz.https://www.mdpi.com/2306-5354/10/1/28convolutional neural networkFPGAhardware acceleratorMobileNetV2auxiliary medical tasks
spellingShingle Yanru Lin
Yanjun Zhang
Xu Yang
A Low Memory Requirement MobileNets Accelerator Based on FPGA for Auxiliary Medical Tasks
Bioengineering
convolutional neural network
FPGA
hardware accelerator
MobileNetV2
auxiliary medical tasks
title A Low Memory Requirement MobileNets Accelerator Based on FPGA for Auxiliary Medical Tasks
title_full A Low Memory Requirement MobileNets Accelerator Based on FPGA for Auxiliary Medical Tasks
title_fullStr A Low Memory Requirement MobileNets Accelerator Based on FPGA for Auxiliary Medical Tasks
title_full_unstemmed A Low Memory Requirement MobileNets Accelerator Based on FPGA for Auxiliary Medical Tasks
title_short A Low Memory Requirement MobileNets Accelerator Based on FPGA for Auxiliary Medical Tasks
title_sort low memory requirement mobilenets accelerator based on fpga for auxiliary medical tasks
topic convolutional neural network
FPGA
hardware accelerator
MobileNetV2
auxiliary medical tasks
url https://www.mdpi.com/2306-5354/10/1/28
work_keys_str_mv AT yanrulin alowmemoryrequirementmobilenetsacceleratorbasedonfpgaforauxiliarymedicaltasks
AT yanjunzhang alowmemoryrequirementmobilenetsacceleratorbasedonfpgaforauxiliarymedicaltasks
AT xuyang alowmemoryrequirementmobilenetsacceleratorbasedonfpgaforauxiliarymedicaltasks
AT yanrulin lowmemoryrequirementmobilenetsacceleratorbasedonfpgaforauxiliarymedicaltasks
AT yanjunzhang lowmemoryrequirementmobilenetsacceleratorbasedonfpgaforauxiliarymedicaltasks
AT xuyang lowmemoryrequirementmobilenetsacceleratorbasedonfpgaforauxiliarymedicaltasks