Image classification using two dimensional wavelet coefficients with parallel computing - Ong, Yew Fai (2020)
Wavelet is a mathematical function that decomposes any given data signals and enabling the extraction of discontinuities and sharp spikes permeated in the signal. A two-dimensional signal which is represented by an image can be decomposed through wavelet transform into elementary forms at different resolutions and scales. The raster graphics are decomposed using various kind of wavelets together with numerous type of methods in this research to examine the process and the output coefficients of wavelet transform. Parallel processing and matrix convolution inside wavelet transform process is the most prominent study in this research. Furthermore, colour threshold analysis and edge detection algorithms are redesigned exclusively to refine the two-dimensional coefficients into a more meaningful low-level representation. The low-level features such as edges, blobs, and ridges were extracted for grouping and classification. Object recognition and image classification comes after the wavelet transform. User is authorized to select and name any specified region from the image, and store the colour, brightness, size, and various kind of information together with the selected area as the individual characteristics for the particular region. Whenever an area with the similar characteristic is verified in the next frame, the area will be identified and bounded with a rectangle through the object recognition algorithm of the research. Classification can be done precisely and efficiently for objects identified in the future frame. From the study, a prevalent midrange laptop integrated with an intel i7 processor and a built-in Nvidia graphic card is served as a standardized device, a tremendously precise and efficient image classification outcome can be obtained within a minute from this research. With the aid of parallel processing method introduced in this research, both central processing core units and graphic card receive a different program instruction to execute the task assigned to them simultaneously. This method is capable to shorten the process time of the computation-intensive program in this research to process the live images frame by frame, which received from a laptop webcam to achieve real-time video processing. In addition, this research does not require any pre-stored database to train the algorithm. This research requires the supervision from the users to train the algorithm by naming the region. This research algorithm demonstrated a very promising result with Support Vector Machines, this algorithm produces a 90% of accuracies whereas the decision tree algorithm gets 100% accuracies. Future development can be carried out by creating a database based on the user’s standard of measure and accessing it whenever the user starts the program.