Image Processing: Dealing With Texture (Hardcover)
暫譯: 影像處理:處理紋理 (精裝版)

Maria Petrou, Pedro Garcia Sevilla

買這商品的人也買了...

商品描述

Description

Self-contained text covering practical image processing methods and theory for image texture analysis.

Techniques for the analysis of texture in digital images are essential to a range of applications in areas as diverse as robotics, defence, medicine and the geo-sciences. In biological vision, texture is an important cue allowing humans to discriminate objects. This is because the brain is able to decipher important variations in data at scales smaller than those of the viewed objects. In order to deal with texture in digital data, many techniques have been developed by image processing researchers.

With a wholly practical approach and many worked examples, Image Processing: Dealing with Texture is a comprehensive guide to these techniques, including chapters on mathematical morphology, fractals, Markov random fields, Gabor functions and wavelets. Structured around a series of questions and answers, enabling readers to easily locate information on specific problems, this book also:

  • provides detailed descriptions of methods used to analyse binary as well as grey texture images
  • presents information on two levels: an easy-to-follow narrative explaining the basics, and an advanced, in-depth study of mathematical theorems and concepts
  • looks at ‘good’ and ‘bad’ image processing practice, with wrongly designed algorithms illustrating ‘what not to do’
  • includes accompanying website, setting out all algorithms discussed within the text.

 An ideal self-teaching aid for senior undergraduate and Masters students taking courses in image processing and pattern recognition, this book is also an ideal reference for PhD students, electrical and biomedical engineers, mathematicians, and informatics researchers designing image processing applications.

 

Table of Contents

Preface.

1 Introduction.

What is texture?

Why are we interested in texture?

How do we cope with texture when texture is a nuisance?

How does texture give us information about the material of the imaged object?

Are there non-optical images?

What is the meaning of texture in non-optical images?

What is the albedo of a surface?

Can a surface with variable albedo appear non-textured?

Can a rough surface of uniform albedo appear non-textured?

What are the problems of texture which image processing is trying to solve?

What are the limitations of image processing in trying to solve the above problems?

How may the limitations of image processing be overcome for recognising textures?

What is this book about?

Box 1.1. An algorithm for the isolation of textured regions.

2 Binary textures.

Why are we interested in binary textures?

What is this chapter about?

Are there any generic tools appropriate for all types of texture?

Can we at least distinguish classes of texture?

Which are the texture classes?

Which tools are appropriate for each type of texture?

2.1 Shape grammars.

What is a shape grammar?

Box 2.1. Shape grammars.

What happens if the placement of the primitive pattern is not regular?

What happens if the primitive pattern itself is not always the same?

What happens if the primitive patterns vary in a continuous way?

2.2 Boolean models.

What is a 2D Boolean model?

Box 2.2. How can we draw random numbers according to a given probability density function?

Box 2.3. What is a Poisson process?

How can we use the 2D Boolean model to describe a binary texture?

How can we estimate some aggregate parameters of the 2D Boolean model?

How can we estimate some individual parameters of the 2D Boolean model?

Box 2.4. How can we relate the individual parameters to the aggregate parameters of the 2D Boolean model?

What is the simplest possible primitive pattern we may have in a Boolean model?

What is a 1D Boolean model?

How may the 1D Boolean model be used to describe textures?

How can we create 1D strings from a 2D image?

Box 2.5. Hilbert curves.

How can we estimate the parameters of the 1D Boolean model?

Box 2.6. Parameter estimation for the discrete 1D Boolean model.

What happens if the primitive patterns are very irregular ? 

2.3 Mathematical morphology.

What is mathematical morphology ?

What is dilation?

What is erosion?

Is there any way to lose details smaller than a certain size but leave the size of larger details unaffected?

What is opening?

What is closing?

How do we do morphological operations if the structuring element is not symmetric about its centre?

Since the structuring element looks like a small image, can we exchange the roles of object and structuring element?

Is closing a commutative operation?

Can we use different structuring elements for the erosion and the dilation parts of the opening and closing operators?

Can we apply morphological operators to the white pixels of an image instead of applying them to the black pixels?

Can we apply more than one morphological operator to the same image?

Is erosion an associative operation as well?

How can we use morphological operations to characterise a texture?

Box 2.7. Formal definitions inmathematical morphology.

What is the “take home” message of this chapter?

3 Stationary grey texture images 81

What is a stationary texture image?

What is this chapter about?

Are any of the methods appropriate for classifying binary textures useful for the analysis of grey textures?

3.1 Image binarisation.

How may a grey image be analysed into a set of binary images by thresholding?

How may a grey image be analysed into a set of binary images by bit-slicing?

Is there any relationship between the binary planes produced by thresholding and the bit planes?

3.2 Grey scale mathematical morphology.

How does mathematica lmorphology generalise for grey images?

How is the complement of an image defined for grey images?

What is a non-flat structuring element?

What is the relationship between the morphological operations applied to an image and those applied to its complement?

What is the purpose of using a non-flat structuring element?

How can we perform granulometry with a grey image?

Can we extract in one go the details of a signal, peaks or valleys, smaller than a certain size?

How can we use the pattern spectrum to classify textures?

3.3 Fractals.

What is a fractal?

What is the fractal dimension?

Which statistical properties remain the same at all scales in non-deterministic fractals?

Box 3.1. What is self-affine scaling?

Box 3.2. What is the relationship between the fractal dimension and exponent H?

Box 3.3. What is the range of values of H?

What is a fractional Brownian motion?

Box 3.4. Prove that the range of values of H for a fractional Brownian motion is (0,1)

Box 3.5. What is the correlation between two increments of a fractional Brownian motion?

Box 3.6. What is the power spectrum of a fractal?

Box 3.7. Robust line fitting using the Ransac method.

Box 3.8. What is the autocorrelation function of a fractal?

Is fractal dimension a good texture descriptor?

Is there a way to enrich the description of textures offered by fractal models?

What is lacunarity?

3.4 Markov random fields.

What is a Markov random field?

Which are the neighbouring pixels of a pixel?

How can we use MRFs to characterise textures?

What is texture synthesis by analysis?

How can we apply the Markov model to create textures?

Can we apply the method discussed in the previous section to create images with 256 grey levels?

What is the auto-normal Markov random field model?

How can we estimate the Markov parameters of a texture?

What is maximum likelihood estimation?

What is the log-likelihood?

Box 3.9. What is the relationship between maximum likelihood estimation and Bayesian estimation?

How can we apply maximum likelihood estimation to estimate the parameters of a Markov random field?

How do we know which parameter values to try when we apply MLE to estimate the Markov parameters?

How can we estimate the Markov parameters with the least square error estimation method?

Box 3.10. Least square parameter estimation for the MRF parameters.

Is a Markov random field always realisable given that we define it arbitrarily?

What conditions make an MRF self-consistent?

What is a clique in a neighbourhood structure?

3.5 Gibbs distributions.

What is a Gibbs distribution?

What is a clique potential?

Can we have a Markov random field with only singleton cliques?

What is the relationship between the clique potentials and the Markov parameters?

Box 3.11. Prove the equivalence of Markov random fields and Gibbs distributions (Hammersley–Clifford theorem).

How can we use the Gibbs distribution to create textures?

How can we create an image compatible with a Gibbs model if we are not interested in fixing the histogram of the image?

What is the temperature of a Gibbs distribution?

How does the temperature parameter of the Gibbs distribution determine how distinguishable one configuration is from another?

What is the critical temperature of a Markov random field?

3.6 The autocorrelation function as a texture descriptor.

How can we compute the autocorrelation function of an MRF?

Can we use the autocorrelation function itself to characterise a texture?

How can we use the autocorrelation function directly for texture characterisation?

How can we infer the periodicity of a texture from the autocorrelation function?

How can we extract parametric features from the autocorrelation function? .

Box 3.12. Least square fitting in 2D and 1D.

3.7 Texture features from the Fourier transform.

Can we infer the periodicity of a texture directly from its power spectrum?

Does the phase of the Fourier transform convey any useful information?

Since the phase conveys more information for a pattern than its power spectrum, why don’t we use the phase to describe textures?

Is it possible to compute from the image phase a function the value of which changes only due to genuine image changes?

How do we perform phase unwrapping?

What are the drawbacks of the simple phase unwrapping algorithm?

3.8 Co-occurrence matrices.

Can we use non-parametric descriptions of texture?

How is a co-occurrence matrix defined?

How do we compute the co-occurrence matrix in practice?

How can we recognise textures with the help of the co-occurrence matrix?

How can we choose the parameters of the co-occurrence matrix?

What are the higher-order co-occurrence matrices?

What is the “take home” message of this chapter?

4 Non-stationary grey texture images.

What is a non-stationary texture image?

What is this chapter about?

Why can’t we use the methods developed in the previous chapter here?

How can we be sure that the texture inside an image window is stationary?

4.1 The uncertainty principle and its implications in signal and image processing.

What is the uncertainty principle in signal processing?

Box 4.1. Prove the uncertainty principle in signal processing.

Does the window we choose in order to extract local information influence the result?

How can we estimate “what is happening where” in a digital signal?

How can we deal with the variability of the values of a feature?

How do we know which size window we should use?

How is the uncertainty principle generalised to 2D?

4.2 Gabor functions.

What is a Gabor function?

Why are Gabor functions useful in analysing a signal?

How can we use the Gabor functions in practice?

How is a Gabor function generalised in 2D?

How may we use the 2D Gabor functions to analyse an image?

Can we have alternative tessellations of the frequency domain?

How can we define a Gaussian window in polar coordinates in the frequency domain?

What is an octave?

How do we express a frequency in octaves?

How may we choose the parameters of the Gaussian window in the frequency space?

4.3 Prolate spheroidal sequence functions.

Is it possible to have a window with sharp edges in one domain which has minimal side ripples in the other domain?

Box 4.2. Of all the band-limited sequences one can define, which sequence has the maximum energy concentration between a given set of indices?

Box 4.3. Do prolate spheroidal wave functions exists in the digital domain?

What is the relationship of two band-limited functions, the Fourier transforms of which are given by the real functions F(ωx, ωy), and F(−ωx,−ωy), respectively?

How can we construct a filter which is band-limited in two bands which are symmetrically

placed about the origin of the axes in the frequency domain?

Box 4.4. How may we generalise the prolate spheroidal sequence functions to 2D?

Could we construct the 2D prolate spheroidal sequence filters as separable filters?

What is the advantage of using separable filters?

4.4 Wavelets.

Is there a way other than using Gabor functions to span the whole spatio-frequency space?

What is a wavelet?

How can we use wavelets to analyse a signal?

Box 4.5. How should we choose the mother wavelet?

Box 4.6. Does the wavelet function minimise the uncertainty inequality?

How is the wavelet transform adapted for digital signals?

How do we compute the wavelet coefficients in practice?

Why is the continuous wavelet transform invertible and the discrete wavelet transform non-invertible?

How can we span the part of the “what happens when” space which contains the direct component of the signal?

Can we span the whole “what is where” space by using only the scaling function?

What is a Laplacian pyramid?

Why is the creation of a Laplacian pyramid associated with the application of a Gaussian function at different scales, and the subtraction of the results?

Why may the second derivative of a Gaussian function be used as a filter to estimate the second derivative of a signal?

How can we extract the coarse resolution content of a signal from its content at a finer resolution?

How can we choose the scaling function.

How do we perform the multiresolution analysis of a signal in practice?

Why in tree wavelet analysis do we always analyse the part of the signal which

contains the low frequencies only?

Box 4.7. How do we recover the original signal from its wavelet coefficients in practice?

How many different wavelet filters exist?

How may we use wavelets to process images?

How may we use wavelets to construct texture features?

What is the maximum overlap algorithm?

What is the relationship between Gabor functions and wavelets?

4.5 Where Image Processing and Pattern Recognition meet.

Why in wavelet analysis do we always split the band with the maximum energy?

What is feature selection?

How can we visualise the histogram of more than one feature in order to decide whether they constitute a good feature set?

What is the feature space?

What is the histogram of distances in a feature space?

Is it possible that the histogram of distances does not pick up the presence of clusters, even though clusters are present?

How do we segment the image once we have produced a set of features for each pixel?

What is the K-means algorithm?

What is deterministic annealing?

Box 4.8. Maximum entropy clustering.

How may we assess the quality of a segmentation?

How is the Bhattacharyya distance defined?

How can we compute the Bhattacharyya distance in practice?

How may we assess the quality of a segmentation using a manual segmentation as reference?

What is a confusion matrix?

What are the over- and under-detection errors?

4.6 Laws’ masks and the ‘‘what looks like where’’ space.

Is it possible to extract image features without referring to the frequency domain?

How are Laws’ masks defined?

Is there a systematic way to construct features that span the “what looks like where” space completely?

How can we expand a local image neighbourhood in terms of the Walsh elementary images?

Can we use convolution to compute the coefficients of the expansion of a sub-image in terms of a set of elementary images?

Is there any other way to express the local structure of the image?

4.7 Local binary patterns.

What is the local binary pattern approach to texture representation?

How can we make this representation rotationally invariant?

How can we make this representation appropriate for macro-textures?

How can we use the local binary patterns to characterise textures?

What is a metric?

What is a pseudo-metric?

Why should one wish to use a pseudo-metric and not a metric?

How can we measure the difference between two histograms?

How can we use the local binary patterns to segment textures?

How can we overcome the shortcomings of the LBP segmentation?

4.8 The Wigner distribution.

What is the Wigner distribution?

How is the Wigner distribution used for the analysis of digital signals?

What is the pseudo-Wigner distribution?

What is the Kaiser window?

What is the Nyquist frequency?

Why does the use of the pseudo-Wigner distribution require signals which have been sampled at twice their Nyquist frequency?

Should we worry about aliasing when we use the pseudo-Wigner distribution for texture analysis?

How is the pseudo-Wigner distribution defined for the analysis of images?

How can the pseudo-Wigner distribution be used for texture segmentation?

What is the “take-home” message of this chapter?

Bibliographical notes.

References.

Index.

商品描述(中文翻譯)

描述

本書涵蓋了實用的影像處理方法和理論,專注於影像紋理分析。數位影像中的紋理分析技術對於機器人、國防、醫學和地球科學等多個領域的應用至關重要。在生物視覺中,紋理是一個重要的線索,使人類能夠區分物體。這是因為大腦能夠解讀比所觀察物體更小尺度的數據中的重要變化。為了處理數位數據中的紋理,影像處理研究人員開發了許多技術。

《影像處理:處理紋理》採取完全實用的方式,並提供了許多實例,是這些技術的綜合指南,包括數學形態學、分形、馬可夫隨機場、Gabor 函數和小波等章節。本書以一系列問題和答案為結構,使讀者能夠輕鬆找到特定問題的信息,此外,本書還:

- 提供了用於分析二進位和灰階紋理影像的方法的詳細描述
- 以兩個層次呈現信息:易於理解的敘述解釋基礎知識,以及對數學定理和概念的深入研究
- 探討「良好」和「不良」的影像處理實踐,通過錯誤設計的算法說明「不應該做什麼」
- 包含附屬網站,列出文本中討論的所有算法。

這本書是高年級本科生和修習影像處理及模式識別課程的碩士生的理想自學輔助工具,也是設計影像處理應用的博士生、電機和生醫工程師、數學家及資訊研究人員的理想參考書。

目錄

前言

1 介紹
- 什麼是紋理?
- 我們為什麼對紋理感興趣?
- 當紋理成為麻煩時,我們如何應對?
- 紋理如何提供有關影像物體材料的信息?
- 是否存在非光學影像?
- 在非光學影像中,紋理的意義是什麼?
- 表面的反照率是什麼?
- 反照率變化的表面能否顯示為無紋理?
- 均勻反照率的粗糙表面能否顯示為無紋理?
- 影像處理試圖解決的紋理問題是什麼?
- 影像處理在解決上述問題時的限制是什麼?
- 如何克服影像處理在識別紋理方面的限制?
- 本書的主題是什麼?
- 箱 1.1 一個用於隔離紋理區域的算法。

2 二進位紋理
- 我們為什麼對二進位紋理感興趣?
- 本章的主題是什麼?
- 是否有適用於所有類型紋理的通用工具?
- 我們至少能否區分紋理類別?
- 紋理類別有哪些?
- 每種類型的紋理適合使用哪些工具?

2.1 形狀文法
- 什麼是形狀文法?
- 箱 2.1 形狀文法。
- 如果原始圖案的放置不規則會發生什麼?
- 如果原始圖案本身不總是相同會發生什麼?
- 如果原始圖案以連續方式變化會發生什麼?

2.2 布林模型
- 什麼是 2D 布林模型?
- 箱 2.2 我們如何根據給定的概率密度函數繪製隨機數?
- 箱 2.3 什麼是泊松過程?
- 我們如何使用 2D 布林模型來描述二進位紋理?
- 我們如何估計 2D 布林模型的一些聚合參數?
- 我們如何估計 2D 布林模型的一些個別參數?
- 箱 2.4 我們如何將個別參數與 2D 布林模型的聚合參數相關聯?
- 在布林模型中,我們可能擁有的最簡單的原始圖案是什麼?
- 什麼是 1D 布林模型?
- 我們如何使用 1D 布林模型來描述紋理?
- 我們如何從 2D 影像創建 1D 字串?
- 箱 2.5 Hilbert 曲線。
- 我們如何估計 1D 布林模型的參數?
- 箱 2.6 離散 1D 布林模型的參數估計。
- 如果原始圖案非常不規則會發生什麼?

2.3 數學形態學
- 什麼是數學形態學?
- 什麼是膨脹?
- 什麼是侵蝕?
- 是否有方法可以丟失小於某一大小的細節,但不影響較大細節的大小?
- 什麼是開運算?
- 什麼是閉運算?
- 如果結構元素在其中心不對稱,我們如何進行形態運算?
- 由於結構元素看起來像一個小影像,我們可以交換物體和結構元素的角色嗎?
- 閉運算是一個可交換的運算嗎?
- 我們可以為開運算和閉運算的侵蝕和膨脹部分使用不同的結構元素嗎?
- 我們可以將形態運算應用於影像的白色像素,而不是黑色像素嗎?
- 我們可以對同一影像應用多個形態運算嗎?
- 侵蝕也是一個結合運算嗎?
- 我們如何使用形態運算來表徵紋理?
- 箱 2.7 數學形態學中的正式定義。
- 本章的「帶回家」信息是什麼?

3 靜態灰階紋理影像
- 什麼是靜態紋理影像?
- 本章的主題是什麼?
- 任何適合分類二進位紋理的方法是否對灰階紋理的分析有用?

3.1 影像二值化
- 如何通過閾值將灰階影像分析為一組二進位影像?
- 如何通過位切片將灰階影像分析為一組二進位影像?
- 通過閾值產生的二進位平面與位平面之間有什麼關係?

3.2 灰階數學形態學
- 數學形態學如何對灰階影像進行概括?
- 灰階影像的補集是如何定義的?
- 什麼是非平坦的結構元素?
- 應用於影像的形態運算與應用於其補集的運算之間有什麼關係?
- 使用非平坦結構元素的目的何在?
- 我們如何對灰階影像進行顆粒度分析?
- 我們能否一次性提取小於某一大小的信號細節、峰值或谷值?
- 我們如何使用模式頻譜來分類紋理?

3.3 分形
- 什麼是分形?
- 什麼是分形維度?
- 在非確定性分形中,哪些統計特性在所有尺度上保持不變?
- 箱 3.1 什麼是自相似縮放?
- 箱 3.2 分形維度與指數 H 之間的關係是什麼?
- 箱 3.3 H 的取值範圍是什麼?
- 什麼是分數布朗運動?
- 箱 3.4 證明分數布朗運動的 H 的取值範圍是 (0,1)。
- 箱 3.5 分數布朗運動的兩個增量之間的相關性是什麼?