论文部分内容阅读
随着计算机网络和多媒体技术的迅速发展,网络中的图像越来越多,各个行业对图像的使用也越来越广泛,如何快速准确地实现对图像的检索成为了日益关注的问题。通过提升算法的并行性从而提升检索图像的效率是人们应对这一问题的解决方案之一,但是CPU (Central Processing Unit)受自身材质和设计理念所限,并不适合于大数据集的并行浮点运算,而这正是GPGPUs (General-purpose computing on graphics processing units)最大优势所在。因此,基于GPGPUs+CPU改进图像检索算法迅速成为一个研究热点。本文首先介绍了一些图像检索的技术。包括图像颜色、形状和纹理的特征提取算法,相似性度量算法等。接下来详细分析了GPU的发展和CUDA统一计算架构,以及本文所用到的技术细节。在本文的实现部分描述了如何利用CUDA实现图像特征提取中的两种常用算法:全局颜色直方图特征提取算法和灰度共生矩阵特征提取算法。图像的全局颜色直方图(Global Color Histogram),除计算简单的特性外,同时还具有对平移和旋转不敏感的优点。根据算法的特点,首先在CPU上进行了实现,然后根据CUDA版本的不同情况,提出了有原子操作和无原子操作两个改进方案,利用CUDA中的归约操作得到图像的颜色直方图,并对其进行了优化。接着从图像的纹理入手,研究如何有效地提取图像纹理特征对图像进行描述。在进行提取之前要先对图像进行灰度化处理,将原图像转化为灰度图。然后在灰度图的基础上计算灰度矩阵,然后根据共生矩阵计算出相应的特征值。在内容上也是先在CPU上实现了一个版本,接着根据特征值之间的计算关系,设计和实现了CUDA版的改进方案。在每个算法实现完成后,基于GPGPU的实现方案都与基于CPU进行了对比。实验表明,在不影响识别率的前提下,获得了很好的加速效果。