This paper presents an accelerated version of copy-move image forgery detection scheme on the Graphics Processing Units or GPUs. With the replacement of analog cameras with their digital counterparts and availability of powerful image processing software packages, authentication of digital images has gained importance in the recent past. This paper focuses on improving the performance of a copy-move forgery detection scheme based on radix sort by porting it onto the GPUs. This scheme has enhanced performance and is much more efficient compared to other methods without degradation of detection results. The CPU version of the radix-sort based detection scheme was developed in Matlab and critical sections of the CPU version were coded in C-language using Matlab’s Mex interface to get the maximum performance. The GPU version was developed using Jacket GPU Engine for Matlab and performs over twelve times faster than its optimized CPU variant. The contribution this paper makes towards blind image forensics is the use of integral images for computing feature vectors of overlapping blocks in block-matching technique and acceleration of the entire copy-move forgery detection scheme on the GPUs, not found in literature.
(Jaideep Singh and Balasubramanian Raman, “A High Performance Copy-Move Image Forgery Detection Scheme on GPU”, Advances in Intelligent and Soft Computing Volume 131, 2012, pp 239-246, Proceedings of the International Conference on Soft Computing for Problem Solving (SocProS 2011). [DOI])
Jacket enables GPU computing for MATLAB® codes. The new version v2.3 includes performance improvements and new support for CUDA 5.0. This newer version of CUDA enables computation on the latest Kepler K20 GPUs of the NVIDIA Tesla product line.
More information: http://blog.accelereyes.com/blog/2012/10/23/jacket-v2-3/
Libra Platform is a GPGPU-Heterogeneous Compute API and runtime environment available on Windows, Mac and Linux. Libra Compute API offers performance portability and direct compute access via standard programming environments C/C++, Java, C# and Matlab to execute math operations on top of current and future compute architectures, including the latest GPUs, x86/x64 CPUs and with broad support for compute devices compatible with low level specific APIs – OpenCL, CUDA, OpenGL and standard x86/x64 compute APIs.
Read more in the full announcement.
Jacket 1.8 and LibJacket 1.1 have been released by Accelereyes, enabling GPU support for MATLAB and easier CUDA development with C/C++/Fortran and Python. New features include:
- Expanded support for the Signal Processing, Image Processing, and Statistics Libraries included with both Jacket and LibJacket
- Faster linear algebra for special systems (e.g. symmetric, positive definite, triangular, etc.)
- Enhanced visualizations
- New and updated examples: FDTD, Mandelbrot fractals, maximum-likelihood neural segmentation, MDS for genomics
- Built with CUDA 4.0 for peak performance
Visit http://www.accelereyes.com/ for details, downloads, whitepapers and tutorials.
AccelerEyes has released version 1.7 of Jacket for GPU computing with MATLAB®. Version 1.7 delivers even more speed to MATLAB with a new Sparse Linear Algebra Library, a new Signal Processing Library, a big boost to convolution functions, and more.
Jacket is the premier GPU software plugin for MATLAB. It enables rapid prototyping and problem solving across a range of government, manufacturing, energy, media, biomedical, financial, and scientific research applications. Jacket accelerates performance of common arithmetic and linear algebra functionality using the complete line of CUDA-capable GPUs from NVIDIA, including top of the line Tesla GPUs as well as Quadro visualization GPUs and GeForce gaming GPUs.
Some of the new features available with Jacket 1.7 include:
Read the rest of this entry »
From a recent press release:
GPU Systems releases Matlab language bindings for Libra SDK – heterogenous compute platform. Libra 1.2 version with runtime compiler and environment supports x86/x64 backends, OpenGL, OpenCL and CUDA compute backends. This release brings full BLAS 1,2,3 matrix/vector, dense/sparse, real/complex, single/double math library and extended functionality to Matlab computing platform executing on x86 CPUs & GPUs from AMD and NVIDIA.
Michael Feldman of HPCWire writes:
MATLAB users with a taste for GPU computing now have a perfect reason to move up to the latest version. Release R2010b adds native GPGPU support that allows user to harness NVIDIA graphics processors for engineering and scientific computing. The new capability is provided within the Parallel Computing Toolbox and Distributed Computing Server.
Full details of MATLAB Release R1020b are available on the Mathworks site. Information on other numerical packages accelerated using NVIDIA CUDA is available on NVIDIA’s site.
[Editor's Note: as pointed out in the comments by John Melanakos (from Accelereyes), it may be worth checking out how MATLAB 2010b GPU support currently compares to Accelereyes Jacket.]
We present our effort in developing an open-source GPU (graphics processing units) code library for the MATLAB Image Processing Toolbox (IPT). We ported a dozen of representative functions from IPT and based on their inherent characteristics, we grouped these functions into four categories: data independent, data sharing, algorithm dependent and data dependent. For each category, we present a detailed case study, which reveals interesting insights on how to efficiently optimize the code for GPUs and highlight performance-critical hardware features, some of which have not been well explored in existing literature. Our results show drastic speedups for the functions in the data-independent or data-sharing category by leveraging hardware support judiciously; and moderate speedups for those in the algorithm-dependent category by careful algorithm selection and parallelization. For the functions in the last category, fine-grain synchronization and data-dependency requirements are the main obstacles to an efficient implementation on GPUs.
(J. Kong, et. al., “Accelerating MATLAB Image Processing Toolbox Functions on GPUs”, Proceedings of the Third Workshop on General-Purpose Computation on Graphics Processing Units (GPGPU-3), Pittsburgh, PA. Apr. 2010. Source code is available here.)
AccelerEyes has recently launched a number of resources to assist the gpu computing community in general and MATLAB users more specifically:
- In collaboration with Dr. Torben Larsen at Aalborg University in Denmark, Accelereyes has launched Torben’s Corner that consists of a wide variety of tips and tricks for application development and performance benchmarking of GPUs.
- The entire team at AccelerEyes is contributing to a weekly blog on GPU computing with MATLAB. Some recent posts include:
- Using Parallel For Loops (parfor) with MATLAB and Jacket
- Lazy Execution in MATLAB GPU computing
Join the AccelerEyes GPU computing blog for weekly insights to maximizing productivity with GPUs.
GPUmat, developed by the GP-You Group, allows Matlab code to benefit from the compute power of modern GPUs. It is built on top of NVIDIA CUDA. The acceleration is transparent to the user, only the declaration of variables needs to be changed using new GPU-specific keywords. Algorithms need not be changed. A wide range of standard Matlab functions have been implemented. GPUmat is available as freeware for Windows and Linux from the GP-You download page.