| Literature DB >> 30654569 |
Minghao Zhao1, Chengquan Hu2, Fenglin Wei3, Kai Wang4, Chong Wang5, Yu Jiang6.
Abstract
The underwater environment is still unknown for humans, so the high definition camera is an important tool for data acquisition at short distances underwater. Due to insufficient power, the image data collected by underwater submersible devices cannot be analyzed in real time. Based on the characteristics of Field-Programmable Gate Array (FPGA), low power consumption, strong computing capability, and high flexibility, we design an embedded FPGA image recognition system on Convolutional Neural Network (CNN). By using two technologies of FPGA, parallelism and pipeline, the parallelization of multi-depth convolution operations is realized. In the experimental phase, we collect and segment the images from underwater video recorded by the submersible. Next, we join the tags with the images to build the training set. The test results show that the proposed FPGA system achieves the same accuracy as the workstation, and we get a frame rate at 25 FPS with the resolution of 1920 × 1080. This meets our needs for underwater identification tasks.Entities:
Keywords: CNN; FPGA; image recognition; underwater smart device
Year: 2019 PMID: 30654569 PMCID: PMC6359710 DOI: 10.3390/s19020350
Source DB: PubMed Journal: Sensors (Basel) ISSN: 1424-8220 Impact factor: 3.576
Figure 1A CNN model for image recognition.
Figure 2This is a simple model for DNN structure.
Figure 3FPGA system architecture.
Figure 4The structure of the convolutional unit.
Figure 5The structure of the inner product unit of Convolution Layers.
Figure 6The pipeline of inner product unit of Convolution Layers.
Figure 7The structure of Pooler.
Figure 8The first strategy of Full Connected layer.
Figure 9The second strategy of Full Connected layer.
Dataset.
| Sum | Water | Algae | Rock | Bubble | |
|---|---|---|---|---|---|
| shallow water | 4056 | 1661 | 652 | 1188 | 555 |
| middle water | 4836 | 1789 | 877 | 1820 | 350 |
| weak light | 5508 | 1456 | 1879 | 2173 | - |
Training optimal parameters.
| Loss | Accuracy | |
|---|---|---|
| Shallow water | 0.59 | 0.887 |
| Middle water | 0.44 | 0.923 |
| Weak light | 0.43 | 0.861 |
Comparison of two strategies.
| Loss1 | Acc1 | Time1 | Loss2 | Acc2 | Time2 | |
|---|---|---|---|---|---|---|
| Shallow water | 0.61 | 0.872 | 8.0 s | 0.61 | 0.872 | 4.0 s |
| Middle water | 0.48 | 0.920 | 8.0 s | 0.48 | 0.920 | 4.1 s |
| Weak light | 0.44 | 0.865 | 9.9 s | 0.42 | 0.865 | 4.5 s |
Comparison of results.
| Lossf | Accf | Timef | Lossc | Accc | Timec | Losse | Acce | Timee | |
|---|---|---|---|---|---|---|---|---|---|
| Test1 | 0.61 | 0.872 | 4.0 s | 0.60 | 0.872 | <1 s | 0.60 | 0.872 | 479.6 s |
| Test2 | 0.48 | 0.920 | 4.1 s | 0.48 | 0.920 | <1 s | 0.48 | 0.920 | 572.9 s |
| Test3 | 0.44 | 0.865 | 4.5 s | 0.42 | 0.865 | <1 s | 0.42 | 0.865 | 656.3 s |