论文部分内容阅读
随着深度学习技术的不断发展,细粒度图像分类算法的性能得到了很大程度上的提升。与传统的图像识别算法不同,细粒度图像分类算法主要针对同一大类下的不同子类进行类别判断。由于这些目标物之间存在的差异较小且存在差异的部位具有不确定性,比如某些鸟类之间的差异仅仅只有翅膀的颜色不同等,就算是该领域的专家想要将这些种类全部分清都有些困难。但是细粒度图像分类在许多领域都拥有十分广泛的应用场景以及研究需求,市面上却少有专门用于细粒度图像分类的硬件设备,因此本文将设计一款细粒度图像分类系统填补这一需求。由于细粒度图像分类算法计算过程十分繁杂、运算量极大以及对处理器的要求很高,普通的硬件设备难以满足要求。异构嵌入式设备的优点主要有大小核结构、体积小、功耗低、效率高、软硬件均可按需定制等,将异构嵌入式设备用于细粒度图像分类是一个非常不错的选择。因此本文选取了瑞星微公司的RK3399异构嵌入式平台,并将在该平台上实现细粒度图像分类系统。在本文中将整个细粒度图像分类系统分成了硬件部分和软件部分,在硬件部分完成了包括嵌入式处理器的选择、操作系统的选择、图像采集模块等部分在内的硬件平台的选择与搭建;软件部分完成了包括图像预处理、细粒度图像分类以及人机交互等部分在内的各个模块的设计与实现。在图像采集模块中选择了摄像头模组OV13850作为图像采集设备,然后设计并实现了补光模块并使用PWM控制补光模块的输入,使得使用者根据周围环境来调整补光模块亮度,增加了设备实用性。在图像预处理模块中设计并实现了普通图像降噪算法、图像去雾算法以及基于形态学的图像自适应降噪算法。将图像采集模块获得的图像作为图像预处理部分的输入,并行进入三种算法中对输入图像进行降噪处理。分别计算降噪后图像的清晰度,并将清晰度最高的降噪后图像作为图像预处理模块的输出。本文将重点放在了细粒度图像分类模块上面,首先深入研究了基于弱监督的Object-Part Attention Driven Discriminative Localization算法,详细介绍了该算法的基本原理、整体流程以及优缺点。并且针对该算法进行了改进:其一,修改了原论文中用于生成候选区域的算法以更小的代价更快的速度更加准确的生成候选区域,且保证每个候选区域中均存在目标物;其二,使用深度学习工具设计并实现了一个卷积神经网络模型,用该模型替换了原算法中用于完成目标物定位以及特征提取等功能的网络模型。然后将改进后的算法在细粒度图像数据集Caltech-UCSD Birds-200-2011和Cars-196上进行了训练、测试。实验结果表明本文改进后的算法相较于原算法来讲,在Caltech-UCSD Birds-200-2011数据集上分类准确率提高了0.35%,训练时间降低了7%~10%,测试时间降低了1~3S;在Cars-196数据集上分类准确率提高了0.37%,训练时间降低了8%~13%,测试时间降低了2~4S。人机交互部分主要是基于QT设计并实现了GUI操作界面。论文最后将系统的硬件部分以及软件部分的整合起来,在硬件平台RK3399上将图像采集模块、图像预处理模块、细粒度图像分类模块以及人机交互模块串联起来,实现了基于异构嵌入式的细粒度图像自动分类系统。