
Digital Image Processing: Hardware and Software
Document information
School | University of Canterbury |
Major | Electrical and Electronic Engineering |
Document type | thesis |
Language | English |
Format | |
Size | 17.15 MB |
Summary
I.The VAX Image Processing System VIPS An Interactive Image Processing Tool
This thesis details the development and application of the VAX Image Processing System (VIPS), a powerful interactive image processing system implemented in VAX Pascal. VIPS provided a command-based interface for efficient algorithm development and testing, particularly for rank filters and range filters. Its novel features included ease of extension, allowing users to easily add custom image processing commands. Two technicians, Richard Cox and Andrew Earl, contributed to the display hardware and low-level software. The system's popularity grew both within and outside the Electrical Engineering Department at Canterbury University. VIPS played a crucial role in various image processing applications, including defect assessment in sawn timber (Ng, 1985) and growth ring area measurements.
1. VIPS System Overview and Development
The VAX Image Processing System (VIPS) evolved from a small set of image processing commands used for repetitive testing of range filters. The system's development included the addition of an image display and the creation of a command language. Two technicians, Richard Cox and Andrew Earl, made significant contributions by developing the display hardware and low-level software. This display facility formed the foundation upon which the image processing software was built. VIPS's design proved timely, evidenced by its increasing popularity both within the department and externally. The system's capabilities extended beyond its initial purpose, demonstrating its versatility as an image processing tool. The final application chapter of the thesis detailed the use of image processing techniques to detect blemishes on the surface of kiwifruit, illustrating the practical applications of VIPS.
2. VIPS Architecture and Functionality
VIPS, implemented in VAX Pascal, is a command-based interactive image processing system. Commands are executed under a parent program rather than directly under the VAX operating system. This architecture simplifies management of large data structures across commands. While creating a larger program with reduced memory space for images and data, this approach provides a large library of image processing subroutines that are callable from other programs independently of VIPS. The system addresses limitations in accessing host system commands by creating subprocesses. Furthermore, VIPS offers ease of extension. New commands can be added seamlessly, integrating with existing functionality. Users can create private commands which are kept separate from other users' private commands. Core VIPS commands reside in shareable executable files, a VAX/VMS operating system feature that conserves disk space and facilitates updates without requiring users to relink. This design enhances the system's flexibility and maintainability.
3. Image Data Handling and System Capabilities
VIPS supports two main 2D image types: 8-bit integer images and 6-bit complex images, alongside a chain-coded image type using a doubly-linked list. While theoretically supporting unlimited image sizes, practical constraints exist due to processing speed and display size (256x256 pixels) and storage (arbitrarily limited to 1 MB). Currently, image capture is not directly integrated into VIPS, and images are either computer-generated or transferred from other systems. A future improvement would be the addition of an image capture subsystem. The thesis also briefly touches upon other image processing systems like UCIPS (operational around 1978) and VICAR, highlighting their respective strengths and weaknesses in terms of flexibility, portability, and data handling. The UCIPS system, while functionally powerful, lacked the flexibility of later systems and suffered from limited portability due to hardware specificity. VICAR used a tape-to-tape processing method with temporary disk storage, a trade-off for managing large image datasets.
4. VIPS Command Structure and Execution
VIPS's interactive operation involves users entering commands at a prompt. The command is parsed using a linked-list based command table to find a match. This linked-list structure allows users to add their own commands. Once a match is found, parameters are parsed, with variable access handled through a doubly-linked-list variable table. The variable table contains symbolic names, values (or pointers for larger variables like images), and type information for parameter checking. If parameters are of correct types, the corresponding command procedure is executed. The use of shareable executable files for core commands saves disk space and allows for easy updates. This feature was particularly beneficial with many users developing their own commands. The ease of adding and altering user commands makes VIPS a powerful tool for command development and testing. Repetitive testing of commands with different parameters helps in understanding the subtle effects of new operators.
II. Image Enhancement and Noise Reduction Techniques
The research explored various image enhancement techniques, focusing on noise reduction. Methods such as median filtering were examined for their effectiveness in preserving edge information while suppressing noise. The study compared linear filters with more robust alternatives like rank filters and range filters, highlighting their superior performance in noise suppression and edge preservation for various image processing tasks. The impact of different noise distributions (Gaussian vs. uniform) on filter performance was also analyzed.
1. Image Enhancement Defined and Its Processes
Image enhancement aims to improve the subjective quality of an image or make it better suited for further processing (Pratt, 1978). While the information is present in the original image, it might be unclear or obscured (Bates and McDonnell, 1986). Key processes include noise reduction, nonlinearity compensation, contrast adjustment, and edge sharpening (Pratt, 1978). Applications mentioned include enhancing X-ray images (Gonzalez and Wintz, 1977) and removing fixed-pattern transmission interference (Peli and Verly, 1983). The text emphasizes the importance of image enhancement as a preprocessing step to improve the quality of images before further analysis or processing. The discussed techniques form a crucial aspect of image processing workflows where clearer, more defined images are required for accurate results. The cited works provide foundational information on image enhancement techniques, showcasing the established body of knowledge in this field. Practical applications of these techniques show their impact on improving diagnostic capabilities in medical imaging and on addressing interference artifacts in transmission systems. This section sets the stage for the discussion on noise reduction techniques that are further explored in the following sections.
2. Noise Reduction Techniques and their Applications
Noise reduction is a critical aspect of image enhancement. A linear low-pass filter is one method often used, although it's not suitable for many image processing tasks (Bailey et al., 1984). The document mentions the use of median filters as a more effective alternative. The impact of noise on edge detection is also discussed, noting that uniformly distributed noise can cause a blurring effect on edges and that this can influence how algorithms interpret edge features. The study compared the effects of different noise distributions (uniform and Gaussian) on filter responses. Extreme rank positions (in rank filters) were shown to be more susceptible to noise when using Gaussian noise, while using rank positions closer to the median resulted in reduced means and standard deviations. This analysis is critical for understanding how noise impacts processing and for selecting the best method to remove it, depending on the characteristics of the noise and the needs of the image analysis task. The comparison between different noise distributions and their impact on filter performance reveals the importance of considering the nature of the noise in image enhancement strategies.
III. Range Filters for Edge Detection and Enhancement
A significant portion of the research concentrated on the properties and applications of range filters in edge detection and enhancement. Range filters, defined as the difference between two rank filters, were shown to be less sensitive to noise than conventional linear filters like the Sobel filter. The thesis explored the response of range filters to step edges, impulses, and noisy images. A figure of merit was used to compare the performance of range filters with the Sobel filter in edge detection tasks, demonstrating their effectiveness in various scenarios, including those with binary symmetric channel errors (1% bit error rate).
1. Range Filters Definition and Properties
A range-filtered image is defined as the difference between two rank-filtered images. The properties of range filters are derived from those of rank filters. Rank filters are known to shift edges between regions of different intensity (Nodes and Gallagher, 1982; Goetcherian, 1980). Using two rank filters with different rank positions results in edges being shifted by varying amounts. The difference between these shifted edges, the local subrange, indicates edge activity (Hodgson et al., 1985). This concept of edge shifting and change detection has been previously discussed by Goetcherian (1980) and Pal and King (1983). The process of shifting edges and subtracting the original image is a form of differentiation. The response of a range filter to a step edge and an impulse is compared to that of a first difference, revealing that range filters consistently yield positive responses for real data. When larger window sizes are used in range filters, the responses differ even more from the first difference. The selection of pixels for subtraction in range filtering with larger windows can be quite complex, with some pixel values potentially never being selected as the window scans past.
2. Comparison with Sobel Filter and Response to Noise
The performance of range filters is compared with the commonly used Sobel filter, a local filter that performs two-dimensional differentiation (Abdou and Pratt, 1979). The Sobel filter uses two linear filters for horizontal and vertical differentiation, with the outputs combined to give a two-dimensional differential response. To determine the noise characteristics of range filters, the document details an experiment using a 'pure noise' image, where pixel intensities are randomly assigned from a predefined distribution. The mean of the filtered output indicates the filter's response to noise, while the standard deviation indicates its sensitivity. When noise is superimposed on an edge, the mean noise response shows threshold offset, and standard deviation shows the separability of background noise from edge points. A low standard deviation indicates less sensitivity to noise, allowing operation at lower signal-to-noise ratios. The use of Gaussian distributed noise, as opposed to uniform noise, shows increased mean and standard deviation when using extreme rank positions. This is because extreme positions are drawn from the tails of the distribution, which have a lower population density in Gaussian distributions compared to uniform ones.
3. Range Filter Performance Evaluation using a Figure of Merit
The study uses a figure of merit to compare range and Sobel filter performance in edge detection. Test images with a single, long vertical edge are corrupted with various noise types. The edge maps from both filter types are then thresholded, with thresholds chosen to maximize the figure of merit. The figure of merit used penalizes smeared and offset edges, balancing the importance of edge localization and sharpness. The choice of this specific figure of merit allows for comparison with results from other edge detection schemes previously assessed using this same metric (Abdou and Pratt, 1979; Suciu and Reeves, 1982). These include the Sobel, Prewitt, Snyder, Roberts, Kirsch, Pixel Mass Operator, Two-Level Model Operators, and Compass Gradient methods. The analysis demonstrates how the performance of range filters is affected by different noise conditions, particularly point noise which affects the extreme rank positions used within the filtering process. The study of range filters' responses to various noise conditions, including binary symmetric channel errors at a bit error rate of 1%, provides valuable insights into their robustness and suitability for real-world applications.
IV. Machine Vision Applications Kiwifruit Blemish Detection
The thesis presents a practical application of image processing techniques in the field of machine vision. A system for detecting blemishes on kiwifruit surfaces was developed. This involved creating a model of an 'ideal' fruit and comparing it to the actual fruit to identify defects. The algorithm's initial development was done in conjunction with Roger Blick for his final-year project. Later improvements enhanced its robustness. The algorithm's effectiveness was evaluated using a sample of real kiwifruit, and suggestions for further improvements were provided.
1. Kiwifruit Blemish Detection Algorithm Overview
This section describes the application of image processing techniques to detect blemishes on kiwifruit. The approach uses a model of an 'ideal' kiwifruit, created from the fruit being examined. This model is then used as a reference to identify defects by comparing it to the actual fruit's image. The initial algorithm development was a collaborative effort with Roger Blick as part of his final-year project. Subsequent improvements focused on enhancing the robustness of the modeling approach and algorithm. The current state of the algorithm is presented, along with the results obtained from classifying a sample of real kiwifruit. The discussion also includes suggestions for further improvements and addresses some challenges encountered during practical implementation. This application highlights the practical use of image processing in a real-world context, showcasing its potential in agricultural quality control and automation. The iterative development process, involving collaboration and refinement, showcases a typical approach in algorithm design and implementation.
2. Algorithm Development and Refinement
The kiwifruit blemish detection algorithm involved creating a model of a flawless kiwifruit for comparison with the actual fruit image. This model-based approach allows for the identification of defects by highlighting deviations from the ideal. The initial algorithm development was part of Roger Blick's final-year project. Subsequent improvements were made to the modelling process which enhanced the algorithm's overall robustness. The improved algorithm was then tested on a sample set of real kiwifruit. The results of this testing are presented to assess the algorithm's accuracy and effectiveness. The presentation of results provides insights into the algorithm's performance and areas where further improvement could be made. The inclusion of suggestions for future development highlights the iterative nature of the research and opens avenues for future work in this domain. The research showcases how machine vision can improve the detection of defects and increase overall efficiency in agricultural practices. The importance of the iterative development and testing is key for optimization of the algorithm.
V.Image Acquisition and Preprocessing for Fringe Pattern Analysis
The research also explored the use of image processing for quantitative measurements using fringe patterns, such as in foot ground pressure analysis. This involved image acquisition using a CCD camera, background subtraction to reduce noise (including dark current and optical scattering effects), and image segmentation through thresholding. Median filtering helped maintain the binary nature of the images. The system's accuracy was limited by resolution constraints; a higher-resolution camera (256x256 pixels minimum) was suggested for improved accuracy.
1. Image Acquisition and Initial Processing
This section details a method for quantitative measurement using fringe patterns, specifically focusing on image acquisition and preprocessing steps. An image of a loaded plate is captured; the load is a known weight distributed across three load points, creating a pattern of three fringes. The first step involves capturing an image of this loaded plate. This corresponds to the initial image acquisition stage. A background image, taken without any load, is then subtracted. This step is crucial for noise reduction, eliminating three major sources: dark current (thermal image generated within the CCD, Hobson, 1978), scratches, and dust on optical components. Background subtraction improves fringe-background contrast and background uniformity, making subsequent thresholding more effective. The method of using a background image in place of a separate 'dark current' image simplifies the algorithm without sacrificing performance. The choice to use a digital image processing system is justified by the availability of the equipment, mitigating the high initial cost concern.
2. Preprocessing Steps Noise Reduction and Binary Image Creation
Following image acquisition, a background image is subtracted to remove noise sources like dark current and artifacts from optical imperfections. This significantly enhances the contrast between fringes and the background. Further preprocessing steps include median filtering to further reduce noise while maintaining the binary nature of the image. For heavy loads, fringes may appear as rings due to destructive interference in the center. A step is included to fill the dark region within these rings, reclassifying these pixels appropriately. The combined preprocessing steps transform the initial grayscale fringe image into a binary image, isolating the relevant information (white regions representing the total interference area). All other irrelevant information from the original grayscale image is eliminated, which simplifies subsequent processing and area measurement steps. The use of a median filter is particularly advantageous here because it maintains the binary nature of the image after filtering. This preprocessing pipeline prepares the image for precise fringe area measurement.
3. Area Measurement and Limitations
The described algorithm allows for the quick measurement of fringe areas. However, due to resolution limitations of the imaging system (the UCIPS camera was used initially), the accuracy of area measurement is limited to ±7%. This limitation is particularly problematic when measuring the entire foot ground pressure pattern, where each load point occupies a limited number of pixels (7 or 8). This constraint is discussed in relation to the practical limitations of the system used, highlighting the need for higher resolution systems (256x256 pixels minimum) for more precise measurements of the total area of the fringes. The lower resolution of the UCIPS camera impacts the detail that can be obtained. While the algorithm works efficiently, achieving higher accuracy necessitates the use of a higher-resolution camera. In summary, this section explains that while this is a working system, better hardware is needed for more accurate analysis.
VI.Growth Ring Area Measurement Algorithm Development and Implementation
Another application involved measuring the area of growth rings in wood samples. This required edge tracking algorithms—the thesis described several approaches with varying search orders and lookahead capabilities to enhance accuracy and robustness. These algorithms addressed challenges like gaps in the rings caused by noise. The use of the UCIPS and HIPS cameras were compared in terms of imaging area capabilities. The VIPS system was utilized to combine images from different sections for larger samples, enhancing the analysis.
1. Methods for Quantitative Measurement using Fringe Patterns
This section explores the use of digital image processing for quantitative measurements from fringe patterns, comparing it to manual analysis of photographs. Digital image processing offers speed and lower running costs, but has the disadvantage of lower resolution compared to film, leading to limited accuracy. The choice of digital image processing in this case is justified by the ready availability of the necessary system. The process begins with capturing an image of a loaded plate. The load consists of a known weight distributed across three points to create a three-fringe pattern. The total area of the fringes depends on the weight. Three points are chosen because fewer are unstable, and more make even weight distribution difficult. The initial image capture forms the basis for subsequent processing steps. This initial step is important as it determines the input data for all later processing. The advantages of digital image processing are contrasted with the drawbacks, illustrating the tradeoffs involved in selecting a particular methodology. The selection rationale underscores practical considerations in experimental design and data acquisition strategies.
2. Background Subtraction and Noise Reduction
A crucial preprocessing step involves subtracting a background image (taken without a load) from the captured image. This removes various noise sources. The primary sources are 'dark current,' a thermal image from CCD random thermal motion (Hobson, 1978), and light scattering due to scratches or dust on the optics. This subtraction enhances the contrast between fringes and the background and improves background uniformity. This facilitates the subsequent thresholding process. Subtracting the 'dark current' is a standard practice with CCD cameras; this method uses an unloaded plate image instead, which simplifies the algorithm. The three main noise sources highlighted underscore the importance of this preprocessing step for improving image quality and measurement accuracy. The method of subtracting a background image, in lieu of capturing a separate dark current image, is presented as a pragmatic approach to simplifying the processing pipeline without sacrificing the effectiveness of noise reduction. The efficiency of this approach is especially relevant for large-scale processing.
3. Preprocessing and Area Calculation
Further preprocessing steps include median filtering to maintain the binary nature of the image and filling in the darker regions within rings (observed under heavy loads due to destructive interference) by reclassification. Steps 2-5 of the algorithm correspond to a preprocessing stage. These steps ultimately convert the grayscale fringe image into a binary image where white regions represent the total interference area. The algorithm proves effective, but accuracy is limited to ±7% due to resolution constraints. Measuring the entire foot ground pressure pattern is impractical because of the low resolution: each load point occupies only 7-8 pixels, requiring higher resolution for more precise analysis. The use of median filtering is noted for its ability to maintain the binary image characteristic. The importance of these preprocessing steps in achieving accurate measurements is emphasized. The limitations of the system are clearly outlined. It highlights that while the methodology presented is effective, the resolution of the imaging system imposes constraints on the accuracy of the measurements obtained.