An On-Line Machine Vision Flotation Froth Analysis Platform
Available from
Charl Botha's profile on Mendeley.
Page 1
An On-Line Machine Vision Flotation Froth Analysis Platform
An On-Line Machine Vision Flotation
Froth Analysis Platform
Charl P. Botha
October 1999
Thesis presented in partial fulfilment
of the requirements for the degree of
Master of Science
at the
University of Stellenbosch
Supervisor: Prof. D.M. Weber
Froth Analysis Platform
Charl P. Botha
October 1999
Thesis presented in partial fulfilment
of the requirements for the degree of
Master of Science
at the
University of Stellenbosch
Supervisor: Prof. D.M. Weber
Page 2
Declaration
I, the under-signed, hereby declare that the work contained in this thesis is my own original work
and has not previously in its entirety or in part been submitted at any university for a degree.
Signature :
Date : April 2, 2004
I, the under-signed, hereby declare that the work contained in this thesis is my own original work
and has not previously in its entirety or in part been submitted at any university for a degree.
Signature :
Date : April 2, 2004
Page 3
Abstract
Froth flotation is a popular process used for the extraction of certain minerals from ore. The ef-
fective automatic control of this process has great financial importance. Utilising machine vision
as the measurement component of an automatic flotation control system has several advantages:
it is a cost effective solution due to its non-contacting sensors and consequent low maintenance,
as well as its low initial setup costs; it yields consistent and accurate parameters; and the mea-
surements it makes are available immediately, thus enabling real-time control and minimising the
effects of process disturbances rapidly and efficiently. In addition, machine vision can be used
as a research tool for investigating froth flotation, a process which is still not fully understood.
This work documents the development of an on-line machine vision flotation froth analysis plat-
form that is in use in the industry as the measurement component of an advanced flotation control
system and in the academic world as a powerful research tool. Two additional froth analysis ap-
plications, namely an embedded froth mobility sensor for use in the flotation industry and a
continuous froth video sampling and analysis research platform, are developed in the course of
this work.
An investigation into continuous video sampling and analysis of flotation froth is performed for
the first time and indicates that this mode of froth image acquisition yields more information
than traditional froth imaging methods. Recommendations are made with respect to the practical
application of continuous froth video sampling and analysis.
Froth flotation is a popular process used for the extraction of certain minerals from ore. The ef-
fective automatic control of this process has great financial importance. Utilising machine vision
as the measurement component of an automatic flotation control system has several advantages:
it is a cost effective solution due to its non-contacting sensors and consequent low maintenance,
as well as its low initial setup costs; it yields consistent and accurate parameters; and the mea-
surements it makes are available immediately, thus enabling real-time control and minimising the
effects of process disturbances rapidly and efficiently. In addition, machine vision can be used
as a research tool for investigating froth flotation, a process which is still not fully understood.
This work documents the development of an on-line machine vision flotation froth analysis plat-
form that is in use in the industry as the measurement component of an advanced flotation control
system and in the academic world as a powerful research tool. Two additional froth analysis ap-
plications, namely an embedded froth mobility sensor for use in the flotation industry and a
continuous froth video sampling and analysis research platform, are developed in the course of
this work.
An investigation into continuous video sampling and analysis of flotation froth is performed for
the first time and indicates that this mode of froth image acquisition yields more information
than traditional froth imaging methods. Recommendations are made with respect to the practical
application of continuous froth video sampling and analysis.
Page 4
Opsomming
Skuim-flotasie is ’n gewilde proses vir die ontginning van sekere minerale uit erts. Die effektiewe
outomatiese beheer van flotasie dra groot finansie¨le impak. Daar is verskeie voordele verbonde
aan die gebruik van rekenaar-visie as die sensor-komponent van so ‘n outomatiese flotasie be-
heerstelsel. Dit is ’n koste-effektiewe oplossing vanwee die feit dat die sensors nie in aanraking
is met die flotasie nie en dus min onderhoud vereis. Boonop is die aanvanklike opstellingskoste
laag. ’n Masjien-visie stelsel lewer akkurate en betroubare metings en dit kan hierdie metings
baie vinnig beskikbaar maak wat intydse beheer van ‘n flotasie-aanleg vergemaklik. Daar kan
dan baie vinnig op proses-versteurings gereageer word. Masjien-visie is ook waardevol vir na-
vorsing oor flotasie, ’n proses wat nog nie heeltemal verstaan word nie.
’n Praktiese masjien-visie gebaseerde flotasie-skuim analise platform word ontwikkel. Hierdie
sagteware word gebruik in die flotasie-industrie as die sensor-komponent van ’n gevorderde
flotasie beheerstelsel asook as ’n kragtige navorsings-hulpmiddel in die akademiese weˆreld.
Twee bykomende toepassings word ontwikkel, naamlik ’n intydse flotasie-skuim mobiliteitsen-
sor vir gebruik in die flotasie-industrie en ’n navorsingsplatform vir die insameling en analise
van kontinue flotasie-skuim video-data.
Ondersoek word ingestel na die analise van kontinue flotasie-skuim video-data vir die eerste keer
in flotasie-skuim geskiedenis, en die resultate dui daarop dat hierdie metode van data-insameling
meer informasie oor die skuim inhou as tradisionele insamelings- en analise metodes. Daar
word aanbevelings gemaak omtrent die praktiese toepassing van kontinue flotasie-skuim video
monstering.
Skuim-flotasie is ’n gewilde proses vir die ontginning van sekere minerale uit erts. Die effektiewe
outomatiese beheer van flotasie dra groot finansie¨le impak. Daar is verskeie voordele verbonde
aan die gebruik van rekenaar-visie as die sensor-komponent van so ‘n outomatiese flotasie be-
heerstelsel. Dit is ’n koste-effektiewe oplossing vanwee die feit dat die sensors nie in aanraking
is met die flotasie nie en dus min onderhoud vereis. Boonop is die aanvanklike opstellingskoste
laag. ’n Masjien-visie stelsel lewer akkurate en betroubare metings en dit kan hierdie metings
baie vinnig beskikbaar maak wat intydse beheer van ‘n flotasie-aanleg vergemaklik. Daar kan
dan baie vinnig op proses-versteurings gereageer word. Masjien-visie is ook waardevol vir na-
vorsing oor flotasie, ’n proses wat nog nie heeltemal verstaan word nie.
’n Praktiese masjien-visie gebaseerde flotasie-skuim analise platform word ontwikkel. Hierdie
sagteware word gebruik in die flotasie-industrie as die sensor-komponent van ’n gevorderde
flotasie beheerstelsel asook as ’n kragtige navorsings-hulpmiddel in die akademiese weˆreld.
Twee bykomende toepassings word ontwikkel, naamlik ’n intydse flotasie-skuim mobiliteitsen-
sor vir gebruik in die flotasie-industrie en ’n navorsingsplatform vir die insameling en analise
van kontinue flotasie-skuim video-data.
Ondersoek word ingestel na die analise van kontinue flotasie-skuim video-data vir die eerste keer
in flotasie-skuim geskiedenis, en die resultate dui daarop dat hierdie metode van data-insameling
meer informasie oor die skuim inhou as tradisionele insamelings- en analise metodes. Daar
word aanbevelings gemaak omtrent die praktiese toepassing van kontinue flotasie-skuim video
monstering.
Page 5
Acknowledgements
Dave Weber, my advisor for the past three years, has been a good friend and mentor and has
taught me everything that I know about research and coffee appreciation.
The DSP-Lab has been my research home for the past three years; the knowledge and experience
I have gained from interacting with its inhabitants are considerable. It has also been a brilliant
supplier of good strong coffee.
The creators of the free software that I depend on, such as GNU/Linux, CVS, LaTeX and my
all-time favourite editor, JED, deserve a lot of gratitude.
Marc van Olst and Francois du Plessis have been good friends and colleagues in my interaction
with Crusader Systems.
Gerhard “Goof” Esterhuizen and Mark Stoneman have taken the DSP-Group’s network to new
heights of efficiency and functionality and have made sure that I’ve always had machines and
good operating systems to work on.
All my friends make life a scream. Thanks guys.
My mother, Barry, Hermann and Etienne are very dear to me, and they’ve played a great part in
my education as human being.
Stella has redefined the term “supportive” during times when normal humans would have given
up. She is an amazing person, and my eternal love and gratitude belong to her.
Dave Weber, my advisor for the past three years, has been a good friend and mentor and has
taught me everything that I know about research and coffee appreciation.
The DSP-Lab has been my research home for the past three years; the knowledge and experience
I have gained from interacting with its inhabitants are considerable. It has also been a brilliant
supplier of good strong coffee.
The creators of the free software that I depend on, such as GNU/Linux, CVS, LaTeX and my
all-time favourite editor, JED, deserve a lot of gratitude.
Marc van Olst and Francois du Plessis have been good friends and colleagues in my interaction
with Crusader Systems.
Gerhard “Goof” Esterhuizen and Mark Stoneman have taken the DSP-Group’s network to new
heights of efficiency and functionality and have made sure that I’ve always had machines and
good operating systems to work on.
All my friends make life a scream. Thanks guys.
My mother, Barry, Hermann and Etienne are very dear to me, and they’ve played a great part in
my education as human being.
Stella has redefined the term “supportive” during times when normal humans would have given
up. She is an amazing person, and my eternal love and gratitude belong to her.
Page 8
Contents Contents
3.3 Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.3.1 Linear Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.3.2 Circular Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.4 Histograms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.4.1 Histogram Accumulation . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4 Practical Implementation 40
4.1 Froth Flotation Plant Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.2 Fluxar Flotation Control System . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.3 Implementations of Froth Surface Analysis . . . . . . . . . . . . . . . . . . . . 43
4.3.1 Analysis kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.3.2 Fluxar-SP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.3.3 Fluxar-Speed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.3.4 Continuous sampling platform . . . . . . . . . . . . . . . . . . . . . . . 48
5 Performance and Impact 51
5.1 On Algorithm Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.1.1 Experiments with synthesised motion . . . . . . . . . . . . . . . . . . . 51
5.1.2 Qualitative judgement . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.2 Continuous Sampling Experiment . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.2.1 Continuous Video Static Analysis . . . . . . . . . . . . . . . . . . . . . 54
5.2.2 A Useful Filter for Froth Parameters . . . . . . . . . . . . . . . . . . . . 57
5.2.3 Continuous Video Dynamic Analysis . . . . . . . . . . . . . . . . . . . 59
5.2.4 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
5.3 Performance and Impact on Flotation Plants . . . . . . . . . . . . . . . . . . . . 65
vii
3.3 Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.3.1 Linear Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.3.2 Circular Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.4 Histograms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.4.1 Histogram Accumulation . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4 Practical Implementation 40
4.1 Froth Flotation Plant Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.2 Fluxar Flotation Control System . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.3 Implementations of Froth Surface Analysis . . . . . . . . . . . . . . . . . . . . 43
4.3.1 Analysis kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.3.2 Fluxar-SP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.3.3 Fluxar-Speed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.3.4 Continuous sampling platform . . . . . . . . . . . . . . . . . . . . . . . 48
5 Performance and Impact 51
5.1 On Algorithm Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.1.1 Experiments with synthesised motion . . . . . . . . . . . . . . . . . . . 51
5.1.2 Qualitative judgement . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.2 Continuous Sampling Experiment . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.2.1 Continuous Video Static Analysis . . . . . . . . . . . . . . . . . . . . . 54
5.2.2 A Useful Filter for Froth Parameters . . . . . . . . . . . . . . . . . . . . 57
5.2.3 Continuous Video Dynamic Analysis . . . . . . . . . . . . . . . . . . . 59
5.2.4 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
5.3 Performance and Impact on Flotation Plants . . . . . . . . . . . . . . . . . . . . 65
vii
Page 9
Contents Contents
6 Conclusions 67
6.1 Summary of Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
6.2 Contribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
6.3 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
A Circular Statistics 74
A.1 Selected statistic measures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
A.1.1 Mean Direction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
A.1.2 Median Direction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
A.1.3 Circular Variance and Standard Deviation . . . . . . . . . . . . . . . . . 75
A.2 Angular Distributions on the range (0,2pi/l) . . . . . . . . . . . . . . . . . . . . 77
viii
6 Conclusions 67
6.1 Summary of Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
6.2 Contribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
6.3 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
A Circular Statistics 74
A.1 Selected statistic measures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
A.1.1 Mean Direction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
A.1.2 Median Direction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
A.1.3 Circular Variance and Standard Deviation . . . . . . . . . . . . . . . . . 75
A.2 Angular Distributions on the range (0,2pi/l) . . . . . . . . . . . . . . . . . . . . 77
viii
Page 10
List of Figures
2.1 Image illustrating the over-segmentation that takes place if the marker extraction
and homotopic transform is not performed before the watershed segmentation.
The top image is the source image, the second is an un-preprocessed image that
has been run through the watershed, and the third image has been correctly pre-
processed and segmented. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2 Illustration of binary reconstruction. In the left image, the dark grey regions
represent the markers and the lighter grey regions the mask. Only connected
components of the mask which contain at least a pixel of a marker are kept and
the rest are eliminated. The result is shown in the right-hand image. . . . . . . . 13
2.3 Greyscale reconstruction. Analogously to binary reconstruction, the marker im-
age marks the parts of the mask that should be kept. . . . . . . . . . . . . . . . . 14
2.4 H-dome extraction. A constant h is subtracted from an image I to yield image
I −h. The image I is then reconstructed from I −h, and the result of this recon-
struction is subtracted from the original image thus yielding the h-dome image. . 15
2.5 Marker extraction. Note indicated position has two markers instead of one, and
this causes incorrect segmentation as can be seen in the last image in figure 2.1. . 15
2.6 Illustration of the homotopic modification. The marked minimum is enforced by
extending it downwards to the minimum possible value and non-marked minima
are filled. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.7 Watershed terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.8 Sample watershed segmentation of flotation froth . . . . . . . . . . . . . . . . . 19
2.9 Oversegmentation due to extra markers . . . . . . . . . . . . . . . . . . . . . . 20
ix
2.1 Image illustrating the over-segmentation that takes place if the marker extraction
and homotopic transform is not performed before the watershed segmentation.
The top image is the source image, the second is an un-preprocessed image that
has been run through the watershed, and the third image has been correctly pre-
processed and segmented. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2 Illustration of binary reconstruction. In the left image, the dark grey regions
represent the markers and the lighter grey regions the mask. Only connected
components of the mask which contain at least a pixel of a marker are kept and
the rest are eliminated. The result is shown in the right-hand image. . . . . . . . 13
2.3 Greyscale reconstruction. Analogously to binary reconstruction, the marker im-
age marks the parts of the mask that should be kept. . . . . . . . . . . . . . . . . 14
2.4 H-dome extraction. A constant h is subtracted from an image I to yield image
I −h. The image I is then reconstructed from I −h, and the result of this recon-
struction is subtracted from the original image thus yielding the h-dome image. . 15
2.5 Marker extraction. Note indicated position has two markers instead of one, and
this causes incorrect segmentation as can be seen in the last image in figure 2.1. . 15
2.6 Illustration of the homotopic modification. The marked minimum is enforced by
extending it downwards to the minimum possible value and non-marked minima
are filled. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.7 Watershed terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.8 Sample watershed segmentation of flotation froth . . . . . . . . . . . . . . . . . 19
2.9 Oversegmentation due to extra markers . . . . . . . . . . . . . . . . . . . . . . 20
ix
Page 12
List of Figures List of Figures
5.3 Section of average vertical pixel motion as calculated by region-based motion
calculation for 25 image per second sample set of laboratory froth. Compare
with the images in figure 5.2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
5.4 Section of ellipticity figure plot for 25 image per second sample set of laboratory
froth. See figure 5.2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
5.5 Plot of average bubble area/size over 400 images representing 16 seconds of on-
plant tank cell froth digitised at 25 images per second. . . . . . . . . . . . . . . . 58
5.6 Average bubble size signal filtered with α-trimmed mean filter with N = 10 and
α = 0.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.7 Input and segmented froth images corresponding to graph in figure 5.6. Images
117, 132 and 152 from top to bottom. . . . . . . . . . . . . . . . . . . . . . . . 60
5.8 Plot of average horizontal pixel motion as calculated by the region-based mo-
tion estimation over 400 images sampled at 25 images per second from on-plant
scavenger cell. The darker line is a version smoothed with an α-trimmed means
filter with α = 0.2 and N = 10. . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5.9 Plot of average horizontal pixel motion per image standard deviation as cal-
culated by the region-based motion estimation over 400 images sampled at 25
images per second from on-plant scavenger cell. The darker line is a version
smoothed with an α-trimmed means filter with α = 0.2 and N = 10. . . . . . . . 62
5.10 Section of plot of average vertical pixel motion for 400 images sampled at 25
images per second from laboratory flotation cell. . . . . . . . . . . . . . . . . . 63
5.11 Section of plot of average vertical pixel motion per image standard deviation
for 400 images sampled at 25 images per second from laboratory flotation cell.
Corresponds with figure 5.10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.12 Images with motion vectors corresponding with positions 357, 360 and 363 in
graphs in figures 5.10 and 5.11. . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
A.1 Illustration of median direction . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
xi
5.3 Section of average vertical pixel motion as calculated by region-based motion
calculation for 25 image per second sample set of laboratory froth. Compare
with the images in figure 5.2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
5.4 Section of ellipticity figure plot for 25 image per second sample set of laboratory
froth. See figure 5.2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
5.5 Plot of average bubble area/size over 400 images representing 16 seconds of on-
plant tank cell froth digitised at 25 images per second. . . . . . . . . . . . . . . . 58
5.6 Average bubble size signal filtered with α-trimmed mean filter with N = 10 and
α = 0.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.7 Input and segmented froth images corresponding to graph in figure 5.6. Images
117, 132 and 152 from top to bottom. . . . . . . . . . . . . . . . . . . . . . . . 60
5.8 Plot of average horizontal pixel motion as calculated by the region-based mo-
tion estimation over 400 images sampled at 25 images per second from on-plant
scavenger cell. The darker line is a version smoothed with an α-trimmed means
filter with α = 0.2 and N = 10. . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5.9 Plot of average horizontal pixel motion per image standard deviation as cal-
culated by the region-based motion estimation over 400 images sampled at 25
images per second from on-plant scavenger cell. The darker line is a version
smoothed with an α-trimmed means filter with α = 0.2 and N = 10. . . . . . . . 62
5.10 Section of plot of average vertical pixel motion for 400 images sampled at 25
images per second from laboratory flotation cell. . . . . . . . . . . . . . . . . . 63
5.11 Section of plot of average vertical pixel motion per image standard deviation
for 400 images sampled at 25 images per second from laboratory flotation cell.
Corresponds with figure 5.10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.12 Images with motion vectors corresponding with positions 357, 360 and 363 in
graphs in figures 5.10 and 5.11. . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
A.1 Illustration of median direction . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
xi
Page 13
List of Tables
1.1 Effect of process condition changes on bubble size . . . . . . . . . . . . . . . . 4
2.1 Average execution times for various algorithm groups on tank cell and scavenger
cell froth. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.1 Extractable parameters and available post-processing . . . . . . . . . . . . . . . 30
3.2 Pre-processing of parameter arrays . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.1 Mean square pixel errors for horizontal, vertical and Euclidean motion calculated
over 100 test images. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
xii
1.1 Effect of process condition changes on bubble size . . . . . . . . . . . . . . . . 4
2.1 Average execution times for various algorithm groups on tank cell and scavenger
cell froth. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.1 Extractable parameters and available post-processing . . . . . . . . . . . . . . . 30
3.2 Pre-processing of parameter arrays . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.1 Mean square pixel errors for horizontal, vertical and Euclidean motion calculated
over 100 test images. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
xii
Page 14
Keywords
image processing
machine vision
froth flotation
process control
sensor platform
greyscale morphology
motion analysis
mineral processing
image processing
machine vision
froth flotation
process control
sensor platform
greyscale morphology
motion analysis
mineral processing
Page 15
Acronyms
SE Structuring Element
NGLDM Neighbouring grey level dependence matrix
SGLDM Spatial grey level dependence matrix
BMA Block Matching Algorithm
SNE Small Number Element
LNE Large Number Element
NNU Number Non-uniformity
SM Second Moment
ENT Entropy
MCC Maximum Cross-Correlation
SCADA Simultaneous Control and Data Acquisition
SE Structuring Element
NGLDM Neighbouring grey level dependence matrix
SGLDM Spatial grey level dependence matrix
BMA Block Matching Algorithm
SNE Small Number Element
LNE Large Number Element
NNU Number Non-uniformity
SM Second Moment
ENT Entropy
MCC Maximum Cross-Correlation
SCADA Simultaneous Control and Data Acquisition
Page 16
Chapter 1
Introduction
1.1 Background and definitions
1.1.1 The Flotation Process
Froth flotation is a very widely used process for extracting certain minerals from ore. It is based
on the utilisation of differences in surface properties of particles of various minerals. Mineral-
rich ore is milled to a fineness that liberates most of the valuable particles and that will result in
particles that are small enough to stay attached to rising air-bubbles in the pulp [1]. This milled
ore is added to water. Reagents that modify the surface hydrophobicity of the particles are added
to the mixture and air is bubbled through the pulp. Hydrophobic particles attach to bubbles and
float to the surface where they form the froth layer and can be easily skimmed off, whereas the
other particles remain in the body of the pulp [2].
In direct froth flotation the valuable mineral particles are made to be hydrophobic so that they
attach to air bubbles when they collide with them in an agitated mixture of milled ore and water.
Other particles should ideally remain (or be made) hydrophilic so that they remain in the pulp.
Some of the reagents which are utilised in order to realise the flotation process are [3]:
frother Enables water to form a stable froth.
collector Adsorbed on mineral surfaces rendering them hydrophobic. Facilitates bubble attach-
ment.
activator Induces flotation in the presence of a collector which otherwise has no effect on the
target mineral.
1
Introduction
1.1 Background and definitions
1.1.1 The Flotation Process
Froth flotation is a very widely used process for extracting certain minerals from ore. It is based
on the utilisation of differences in surface properties of particles of various minerals. Mineral-
rich ore is milled to a fineness that liberates most of the valuable particles and that will result in
particles that are small enough to stay attached to rising air-bubbles in the pulp [1]. This milled
ore is added to water. Reagents that modify the surface hydrophobicity of the particles are added
to the mixture and air is bubbled through the pulp. Hydrophobic particles attach to bubbles and
float to the surface where they form the froth layer and can be easily skimmed off, whereas the
other particles remain in the body of the pulp [2].
In direct froth flotation the valuable mineral particles are made to be hydrophobic so that they
attach to air bubbles when they collide with them in an agitated mixture of milled ore and water.
Other particles should ideally remain (or be made) hydrophilic so that they remain in the pulp.
Some of the reagents which are utilised in order to realise the flotation process are [3]:
frother Enables water to form a stable froth.
collector Adsorbed on mineral surfaces rendering them hydrophobic. Facilitates bubble attach-
ment.
activator Induces flotation in the presence of a collector which otherwise has no effect on the
target mineral.
1
Page 19
Chapter 1. Introduction 1.1. Background and definitions
Process condition/event Bubble size Note
too high mineral content large no windows; froth stable, viscous
very low mineral content very small watery froth
strong frother small
weak frother large
high froth viscosity large
increase in frother concentration decrease
increase in pH increase
presence of ions in solution decrease better collection
temperature increase decrease
Table 1.1: Effect of process condition changes on bubble size
1.1.4.1 Characteristics of surface appearance
Bubble size
The bubble size distribution in the pulp has great effect on the probability of collision between
mineral-rich particles and bubbles, as well as the adhesion of these particles to the bubbles.
Bubble size on the surface and bubble size in the pulp are assumed to be related. Bubble size
is also related to process variables such as the aeration rate, fluctuations in pH, the addition of
reagents and the nature and amount of the minerals in the surface froth. Bubble size is one of the
more important froth parameters.
Table 1.1 shows the relationship between bubble size and selected process conditions. In addition
to the factors mentioned in the table, it has been established that bubble size should be adjusted to
compensate for different particle sizes [7]. Specifically, it is suggested that decreasing bubble size
can improve flotation performance with small particles drastically. Air flow rate has a marked
effect on the grade and recovery of mineral and as there is a relation between air flow rate and
bubble size, bubble size is significant in this respect as well.
Bubble shape
Polyhedral bubble shapes occur as a result of bubbles being packed closely together in a dry
froth. This phenomenon indicates good drainage and a high grade. Spherical bubbles on the
other hand imply that there is more water between the bubbles, and therefore the froth is runny
and has low mineral content. Elliptic shapes are caused by high froth viscosity and stability.
4
Process condition/event Bubble size Note
too high mineral content large no windows; froth stable, viscous
very low mineral content very small watery froth
strong frother small
weak frother large
high froth viscosity large
increase in frother concentration decrease
increase in pH increase
presence of ions in solution decrease better collection
temperature increase decrease
Table 1.1: Effect of process condition changes on bubble size
1.1.4.1 Characteristics of surface appearance
Bubble size
The bubble size distribution in the pulp has great effect on the probability of collision between
mineral-rich particles and bubbles, as well as the adhesion of these particles to the bubbles.
Bubble size on the surface and bubble size in the pulp are assumed to be related. Bubble size
is also related to process variables such as the aeration rate, fluctuations in pH, the addition of
reagents and the nature and amount of the minerals in the surface froth. Bubble size is one of the
more important froth parameters.
Table 1.1 shows the relationship between bubble size and selected process conditions. In addition
to the factors mentioned in the table, it has been established that bubble size should be adjusted to
compensate for different particle sizes [7]. Specifically, it is suggested that decreasing bubble size
can improve flotation performance with small particles drastically. Air flow rate has a marked
effect on the grade and recovery of mineral and as there is a relation between air flow rate and
bubble size, bubble size is significant in this respect as well.
Bubble shape
Polyhedral bubble shapes occur as a result of bubbles being packed closely together in a dry
froth. This phenomenon indicates good drainage and a high grade. Spherical bubbles on the
other hand imply that there is more water between the bubbles, and therefore the froth is runny
and has low mineral content. Elliptic shapes are caused by high froth viscosity and stability.
4
Page 21
Chapter 1. Introduction 1.2. Previous Work
obtained. These attempts, although promising, weren’t entirely successful due to the complexity
involved in trying to identify individual elements (bubbles) in the froth structure [8].
Moolman et al. took a different approach in [11] and used second order statistics to characterise
the textural properties of the surface froth. These textural properties were used as input features
to neural network classifiers. Using these techniques, they could accurately classify froth type
and detect froth mobility. Their method was refined in [8] to increase its classification accuracy.
The textural features that they extracted were numerical features on the neighbouring grey level
dependence matrix (NGLDM) and spatial grey level dependence matrix (SGLDM) based, both
second-order grey level statistics [12].
Eksteen’s work [1] utilised the image processing software and algorithms as developed by Mool-
man et. al, but focused more on providing a knowledge base for the research and development of
vision-based automatic froth control systems from a chemical engineering viewpoint. This work
concluded that a vision-based system for automatic flotation control was a commercially viable
venture and put forth the parameters for this viability. As a general overview of the factors perti-
nent to the development of a complete vision-based automatic flotation control system, this is a
valuable work. From an image-processing point of view, it contains a more detailed discussion
of the methods employed by Moolman et al.
Note that by this time, there were two distinct approaches in the froth surface visual analysis
business. One approach attempted to analyse the froth structure in a hierarchical and direct fash-
ion by attempting an accurate segmentation of the froth surface into bubbles, and then calculating
higher level parameters using this segmentation [10]. The other approach related distinct froth
types to textural properties and could indirectly derive other froth surface visual parameters from
texture.
The first successful attempt at full bubble segmentation was made in 1997 by N. Sadr-Kazemi
and J.J. Cilliers of UMIST [13]. In this research, the morphological watershed algorithm was
used to segment froth images into bubbles. It is also stated that “there have been few attempts at
estimating the complete bubble size distribution and relating that to the flotation performance”.
The dynamic (motion) analysis of flotation froth is also significant as it is interdependent with the
froth viscosity. Motion blur caused by slightly longer than normal exposures on video capturing
equipment was used by Moolman et al. [9] and Eksteen [1] to calculate froth mobility. They
found that the NGLDM second moment as calculated on one of these blurred images gave an
accurate measure of froth speed. This conforms with their paradigm of classifying froth types
according to surface texture. Other work on calculating froth mobility [14] used standard block
matching algorithm (BMA) based methods and compared these with bubble-based motion. BMA
based methods calculate motion by attempting to match small regions of a source image with
corresponding regions on a target image, where the source and target image are images of the
same scene taken temporally apart. The bubble-based motion estimation was found to be more
suitable, contrary to our results.
6
obtained. These attempts, although promising, weren’t entirely successful due to the complexity
involved in trying to identify individual elements (bubbles) in the froth structure [8].
Moolman et al. took a different approach in [11] and used second order statistics to characterise
the textural properties of the surface froth. These textural properties were used as input features
to neural network classifiers. Using these techniques, they could accurately classify froth type
and detect froth mobility. Their method was refined in [8] to increase its classification accuracy.
The textural features that they extracted were numerical features on the neighbouring grey level
dependence matrix (NGLDM) and spatial grey level dependence matrix (SGLDM) based, both
second-order grey level statistics [12].
Eksteen’s work [1] utilised the image processing software and algorithms as developed by Mool-
man et. al, but focused more on providing a knowledge base for the research and development of
vision-based automatic froth control systems from a chemical engineering viewpoint. This work
concluded that a vision-based system for automatic flotation control was a commercially viable
venture and put forth the parameters for this viability. As a general overview of the factors perti-
nent to the development of a complete vision-based automatic flotation control system, this is a
valuable work. From an image-processing point of view, it contains a more detailed discussion
of the methods employed by Moolman et al.
Note that by this time, there were two distinct approaches in the froth surface visual analysis
business. One approach attempted to analyse the froth structure in a hierarchical and direct fash-
ion by attempting an accurate segmentation of the froth surface into bubbles, and then calculating
higher level parameters using this segmentation [10]. The other approach related distinct froth
types to textural properties and could indirectly derive other froth surface visual parameters from
texture.
The first successful attempt at full bubble segmentation was made in 1997 by N. Sadr-Kazemi
and J.J. Cilliers of UMIST [13]. In this research, the morphological watershed algorithm was
used to segment froth images into bubbles. It is also stated that “there have been few attempts at
estimating the complete bubble size distribution and relating that to the flotation performance”.
The dynamic (motion) analysis of flotation froth is also significant as it is interdependent with the
froth viscosity. Motion blur caused by slightly longer than normal exposures on video capturing
equipment was used by Moolman et al. [9] and Eksteen [1] to calculate froth mobility. They
found that the NGLDM second moment as calculated on one of these blurred images gave an
accurate measure of froth speed. This conforms with their paradigm of classifying froth types
according to surface texture. Other work on calculating froth mobility [14] used standard block
matching algorithm (BMA) based methods and compared these with bubble-based motion. BMA
based methods calculate motion by attempting to match small regions of a source image with
corresponding regions on a target image, where the source and target image are images of the
same scene taken temporally apart. The bubble-based motion estimation was found to be more
suitable, contrary to our results.
6
Page 22
Chapter 1. Introduction 1.3. Overview of this work
A complete vision-based expert system for flotation froth control is documented in [15]. Bubble-
segmentation is performed, but the description of the method used is quite vague, although it
does seem related to the watershed. This system, although commercially marketed, does not
seem very successful.
JKFrothCam is a commercially available system for the on-line monitoring of flotation froth that
was developed at the Julius Kruttschnitt Mineral Research Centre (JKMRC) in Australia [16]. It
captures, digitises and analyses video from cameras monitoring the flotation froth surface. It is
able to calculate three surface characteristics, namely average bubble size, froth texture and froth
velocity.
For the froth texture, a texture unit number is generated at each point by performing a certain
calculation (measuring the difference between neighbouring pixels) within a 3× 3 pixel matrix
at that pixel. A histogram, or texture spectrum, of number of occurrences vs. texture unit number
is then generated. The height of the middle peak in this spectrum is used to classify bubble size,
whilst the whole spectrum is compared to pre-calibrated representative froth spectra to determine
the froth type.
The velocity is calculated using what the JKMRC calls “pixel tracing”. Judging by available
documentation this is a form of the BMA for motion estimation.
JKFrothCam is able to estimate certain metallurgical properties of the froth, such as ash con-
centration, using a simple linear model with the three extracted parameters (type, bubble size,
velocity) as variables. The model parameters are regularly calibrated using a self-tuning Kalman
filter.
1.3 Overview of this work
This work documents the development, implementation and investigation of a complete set of
flotation froth surface computational vision analysis algorithms. These algorithms are able to
perform a complete static and dynamic analysis on digital images of the froth surface.
The static analysis includes a full bubble segmentation where the perimeter of each bubble is
determined using watershed morphology. In addition to the number of bubbles, parameters like
per-bubble area, perimeter length, orientation angle and ellipticity are calculated from the seg-
mentation results. As part of further post-processing, histograms and statistic values are calcu-
lated, taking special care with angular data.
Textural parameters are also calculated as part of the static analysis and can be used as an auxil-
iary indication of parameters like bubble-size. In addition, areas that contain fine froth, i.e. froth
that is too fine to segment into distinct bubbles, are tagged as such. This is a very important step,
7
A complete vision-based expert system for flotation froth control is documented in [15]. Bubble-
segmentation is performed, but the description of the method used is quite vague, although it
does seem related to the watershed. This system, although commercially marketed, does not
seem very successful.
JKFrothCam is a commercially available system for the on-line monitoring of flotation froth that
was developed at the Julius Kruttschnitt Mineral Research Centre (JKMRC) in Australia [16]. It
captures, digitises and analyses video from cameras monitoring the flotation froth surface. It is
able to calculate three surface characteristics, namely average bubble size, froth texture and froth
velocity.
For the froth texture, a texture unit number is generated at each point by performing a certain
calculation (measuring the difference between neighbouring pixels) within a 3× 3 pixel matrix
at that pixel. A histogram, or texture spectrum, of number of occurrences vs. texture unit number
is then generated. The height of the middle peak in this spectrum is used to classify bubble size,
whilst the whole spectrum is compared to pre-calibrated representative froth spectra to determine
the froth type.
The velocity is calculated using what the JKMRC calls “pixel tracing”. Judging by available
documentation this is a form of the BMA for motion estimation.
JKFrothCam is able to estimate certain metallurgical properties of the froth, such as ash con-
centration, using a simple linear model with the three extracted parameters (type, bubble size,
velocity) as variables. The model parameters are regularly calibrated using a self-tuning Kalman
filter.
1.3 Overview of this work
This work documents the development, implementation and investigation of a complete set of
flotation froth surface computational vision analysis algorithms. These algorithms are able to
perform a complete static and dynamic analysis on digital images of the froth surface.
The static analysis includes a full bubble segmentation where the perimeter of each bubble is
determined using watershed morphology. In addition to the number of bubbles, parameters like
per-bubble area, perimeter length, orientation angle and ellipticity are calculated from the seg-
mentation results. As part of further post-processing, histograms and statistic values are calcu-
lated, taking special care with angular data.
Textural parameters are also calculated as part of the static analysis and can be used as an auxil-
iary indication of parameters like bubble-size. In addition, areas that contain fine froth, i.e. froth
that is too fine to segment into distinct bubbles, are tagged as such. This is a very important step,
7
Page 24
Chapter 1. Introduction 1.5. Thesis Organisation
In order to facilitate the development of this package, a practically re-usable froth analysis code
kernel was created that can be re-deployed in any number of practical applications. One such
application is the embedded froth surface mobility analyser that was developed in the course of
this work.
In contrast to the long analysis times required by the bubble segmentation implementations men-
tioned in section 1.2, this work is able to perform full analyses in near-realtime, enabling it to be
deployed on flotation cells in a closed-loop control system.
The sensor platform has been successfully integrated with a practical flotation plant control sys-
tem, in which capacity it is performing very satisfactorily. It is one of only two such systems
known in the world that are currently being marketed, and it far outstrips the competing sensor
platform with respects to functionality.
No known prior work has investigated froth surface analysis on continuous full-rate video data.
We have performed experiments in this regard and our results are documented in this work. A
re-usable application that is able to gather large amounts of froth images at continuous rates and
analyse these off-line was developed using the froth analysis kernel. This is a valuable research
tool.
This work adds to the small formalised knowledge-base available to practitioners and researchers
in the machine vision analysis of flotation froth.
1.5 Thesis Organisation
Chapter 2 documents the specific image processing algorithms and principles that were used
to analyse the froth structure images. At top level, the chapter can be divided into static and
dynamic analyses.
In chapter 3 we detail how the information yielded by the image processing algorithms and
techniques is processed and converted to usable parameters.
A description of the implementation of the whole froth surface visual parameter extraction sys-
tem is given in chapter 4. This also describes the complete control platform of which the sensor
platform is an important part.
Chapter 5 presents the results obtained from both laboratory and plant operation.
Chapter 6 contains a summary of this work, the contribution therein and re-iterates the important
knowledge that was gained. Possibilities for future work on this subject are also discussed.
9
In order to facilitate the development of this package, a practically re-usable froth analysis code
kernel was created that can be re-deployed in any number of practical applications. One such
application is the embedded froth surface mobility analyser that was developed in the course of
this work.
In contrast to the long analysis times required by the bubble segmentation implementations men-
tioned in section 1.2, this work is able to perform full analyses in near-realtime, enabling it to be
deployed on flotation cells in a closed-loop control system.
The sensor platform has been successfully integrated with a practical flotation plant control sys-
tem, in which capacity it is performing very satisfactorily. It is one of only two such systems
known in the world that are currently being marketed, and it far outstrips the competing sensor
platform with respects to functionality.
No known prior work has investigated froth surface analysis on continuous full-rate video data.
We have performed experiments in this regard and our results are documented in this work. A
re-usable application that is able to gather large amounts of froth images at continuous rates and
analyse these off-line was developed using the froth analysis kernel. This is a valuable research
tool.
This work adds to the small formalised knowledge-base available to practitioners and researchers
in the machine vision analysis of flotation froth.
1.5 Thesis Organisation
Chapter 2 documents the specific image processing algorithms and principles that were used
to analyse the froth structure images. At top level, the chapter can be divided into static and
dynamic analyses.
In chapter 3 we detail how the information yielded by the image processing algorithms and
techniques is processed and converted to usable parameters.
A description of the implementation of the whole froth surface visual parameter extraction sys-
tem is given in chapter 4. This also describes the complete control platform of which the sensor
platform is an important part.
Chapter 5 presents the results obtained from both laboratory and plant operation.
Chapter 6 contains a summary of this work, the contribution therein and re-iterates the important
knowledge that was gained. Possibilities for future work on this subject are also discussed.
9
Page 29
Chapter 2. Image Processing 2.1. Static Analysis
J
I
Figure 2.3: Greyscale reconstruction. Analogously to binary reconstruction, the marker image marks the parts of
the mask that should be kept.
olded at intensity value k. Figure 2.3 illustrates the grey-scale reconstruction of mask I from
marker J.
The grey-scale reconstruction is implemented in a highly optimised fashion using iterated grey-
scale dilations and infimums (point-wise minima). Conceptually, the marker image J is grey-
scale dilated by a flat structuring element B. J is now replaced by the infimum of mask image I
and the result of the dilation. This is repeated until stability is reached, i.e. no change in J takes
place. This corresponds to the definition in the previous paragraph, but lends itself to effective
implementation and computational optimisation.
The h-dome extraction works by subtracting a constant, h, from all pixel intensities in an image
I, thus yielding image I − h. I is then greyscale reconstructed from I − h and the resulting
reconstruction is subtracted from the original I. This yields an h-dome extraction of image I.
This principle is illustrated in figure 2.4.
The extraction was found to be very effective and robust on froth surface images taken under
various conditions, lighting and otherwise. The value of h chosen is very important but is effec-
tive within a relatively wide range. We found that for most froth images h = 50 yielded excellent
results. As a binary marker image is required, the resulting h-dome extraction has to be thresh-
olded. In an attempt to eliminate any undesired results (e.g. two h-domes for a single localised
reflection, a possibility with certain bubble-structures as can be seen in figure 2.5) the threshold
was chosen at h/2. Figure 2.5 shows an example of the h-dome extraction and thresholding
as performed on an image of the froth in an industrial tank cell. Note how well the localised
reflections are extracted, in spite of the fact that they differ in size, shape and intensity.
2.1.1.2 Homotopic modification
The homotopic modification [17, 18] utilises the extracted markers and modifies the image that
is to be analysed in such a way that:
14
J
I
Figure 2.3: Greyscale reconstruction. Analogously to binary reconstruction, the marker image marks the parts of
the mask that should be kept.
olded at intensity value k. Figure 2.3 illustrates the grey-scale reconstruction of mask I from
marker J.
The grey-scale reconstruction is implemented in a highly optimised fashion using iterated grey-
scale dilations and infimums (point-wise minima). Conceptually, the marker image J is grey-
scale dilated by a flat structuring element B. J is now replaced by the infimum of mask image I
and the result of the dilation. This is repeated until stability is reached, i.e. no change in J takes
place. This corresponds to the definition in the previous paragraph, but lends itself to effective
implementation and computational optimisation.
The h-dome extraction works by subtracting a constant, h, from all pixel intensities in an image
I, thus yielding image I − h. I is then greyscale reconstructed from I − h and the resulting
reconstruction is subtracted from the original I. This yields an h-dome extraction of image I.
This principle is illustrated in figure 2.4.
The extraction was found to be very effective and robust on froth surface images taken under
various conditions, lighting and otherwise. The value of h chosen is very important but is effec-
tive within a relatively wide range. We found that for most froth images h = 50 yielded excellent
results. As a binary marker image is required, the resulting h-dome extraction has to be thresh-
olded. In an attempt to eliminate any undesired results (e.g. two h-domes for a single localised
reflection, a possibility with certain bubble-structures as can be seen in figure 2.5) the threshold
was chosen at h/2. Figure 2.5 shows an example of the h-dome extraction and thresholding
as performed on an image of the froth in an industrial tank cell. Note how well the localised
reflections are extracted, in spite of the fact that they differ in size, shape and intensity.
2.1.1.2 Homotopic modification
The homotopic modification [17, 18] utilises the extracted markers and modifies the image that
is to be analysed in such a way that:
14
Page 32
Chapter 2. Image Processing 2.1. Static Analysis
enforced minimum
non-marked
minima filled
marker
Figure 2.6: Illustration of the homotopic modification. The marked minimum is enforced by extending it down-
wards to the minimum possible value and non-marked minima are filled.
down into that specific local minimum, is the catchment basin of the local minimum. The borders
that separate catchment basins belonging to different local minima are called watershed lines or
just watersheds. Figure 2.7 illustrates the terms just defined.
The purpose of the greyscale watershed is to extract watershed lines, i.e. contiguous lines of
high-intensity pixels separating local intensity minima in the image. An alternative approach to
understanding the watershed that is closer to the implementation that we used is the “immersion”
definition [17]. If we were to puncture the landscape at all its minima and then immerse it in a
lake, the water would progressively fill all the catchment basins. At each pixel where the water
from two different minima would merge, we build a dam wall. When the whole landscape has
been fully immersed, the set of resultant dam walls represent the watershed lines that delineate
the whole landscape into its constituent catchment basins.
The immersion definition also makes the applicability of the watershed algorithm to bubble seg-
mentation obvious. Recall that we need to segment out each and every bubble in an image of
flotation froth surface. Each bubble is structurally an irregular dome, with the lowest elevation
or altitude being where bubbles meet, i.e. the domes intersect, and the highest point usually co-
inciding with the localised light reflection if the light source is close to the the normal axis of the
froth surface. If we approximate the elevation at any point with the recorded pixel intensity at
that point, which is intuitively and empirically a valid approximation, we have a digital elevation
map of the froth surface. If we invert the elevation map, i.e. turn the maxima into minima and
vice versa, and perform the watershed immersion on the inverted elevation map, the result is a
set of watershed lines coinciding with bubble boundaries; in other words, a segmentation of the
bubbles in the froth image. In practice, the result is a tessellation of the image into catchment
17
enforced minimum
non-marked
minima filled
marker
Figure 2.6: Illustration of the homotopic modification. The marked minimum is enforced by extending it down-
wards to the minimum possible value and non-marked minima are filled.
down into that specific local minimum, is the catchment basin of the local minimum. The borders
that separate catchment basins belonging to different local minima are called watershed lines or
just watersheds. Figure 2.7 illustrates the terms just defined.
The purpose of the greyscale watershed is to extract watershed lines, i.e. contiguous lines of
high-intensity pixels separating local intensity minima in the image. An alternative approach to
understanding the watershed that is closer to the implementation that we used is the “immersion”
definition [17]. If we were to puncture the landscape at all its minima and then immerse it in a
lake, the water would progressively fill all the catchment basins. At each pixel where the water
from two different minima would merge, we build a dam wall. When the whole landscape has
been fully immersed, the set of resultant dam walls represent the watershed lines that delineate
the whole landscape into its constituent catchment basins.
The immersion definition also makes the applicability of the watershed algorithm to bubble seg-
mentation obvious. Recall that we need to segment out each and every bubble in an image of
flotation froth surface. Each bubble is structurally an irregular dome, with the lowest elevation
or altitude being where bubbles meet, i.e. the domes intersect, and the highest point usually co-
inciding with the localised light reflection if the light source is close to the the normal axis of the
froth surface. If we approximate the elevation at any point with the recorded pixel intensity at
that point, which is intuitively and empirically a valid approximation, we have a digital elevation
map of the froth surface. If we invert the elevation map, i.e. turn the maxima into minima and
vice versa, and perform the watershed immersion on the inverted elevation map, the result is a
set of watershed lines coinciding with bubble boundaries; in other words, a segmentation of the
bubbles in the froth image. In practice, the result is a tessellation of the image into catchment
17
Page 34
Chapter 2. Image Processing 2.1. Static Analysis
Figure 2.8: Sample watershed segmentation of flotation froth
19
Figure 2.8: Sample watershed segmentation of flotation froth
19
Page 35
Chapter 2. Image Processing 2.1. Static Analysis
localised
reflection
discontinuity
false boundary 1
false boundary 2
real bubble boundary
Figure 2.9: Oversegmentation due to extra markers
as two or more bubbles. Figure 2.9 illustrates this over-segmentation of a bubble (for illustra-
tive purposes, darker regions represent higher intensity regions of the image). Note that because
of the indicated darker discontinuity in the localised reflection, two markers get extracted. The
marker extraction is quite robust to variations of intensity in the localised reflections but major
discontinuities will cause errors.
The post-segmentation oversegmentation correction algorithm1 is a rule-based method of reme-
dying oversegmentation of bubbles. Initially, all boundaries, i.e. pixels on the borders of catch-
ment basins, are calculated from the watershed tessellation. Each boundary is examined in turn
for any pixels which have a grey intensity value above a certain relatively high threshold. We
found that for froth images that have been normalised to the full available greyscale and for the
parameters we use for the h-dome extraction, a threshold of 210 yields good results. If such a
pixel is found, it is assumed that it sits on a false boundary, i.e. a boundary intersecting a localised
light reflection. The first neighbouring pixel that belongs to a different catchment basin is then
found. These two catchment basins are then merged and a new boundary is formed around the
combination. The two old boundaries are deleted. In this way, if a bubble has been incorrectly
segmented as two distinct bubbles, the two bubbles will be merged, thus rendering a correct
segmentation result. Figure 2.10 an image that has been oversegmentation corrected. Compare
with the uncorrected segmented image at the bottom of figure 2.1 and the marker image in figure
2.1.1.1 that points out an anomalous marker.
1Algorithm by David M. Weber
20
localised
reflection
discontinuity
false boundary 1
false boundary 2
real bubble boundary
Figure 2.9: Oversegmentation due to extra markers
as two or more bubbles. Figure 2.9 illustrates this over-segmentation of a bubble (for illustra-
tive purposes, darker regions represent higher intensity regions of the image). Note that because
of the indicated darker discontinuity in the localised reflection, two markers get extracted. The
marker extraction is quite robust to variations of intensity in the localised reflections but major
discontinuities will cause errors.
The post-segmentation oversegmentation correction algorithm1 is a rule-based method of reme-
dying oversegmentation of bubbles. Initially, all boundaries, i.e. pixels on the borders of catch-
ment basins, are calculated from the watershed tessellation. Each boundary is examined in turn
for any pixels which have a grey intensity value above a certain relatively high threshold. We
found that for froth images that have been normalised to the full available greyscale and for the
parameters we use for the h-dome extraction, a threshold of 210 yields good results. If such a
pixel is found, it is assumed that it sits on a false boundary, i.e. a boundary intersecting a localised
light reflection. The first neighbouring pixel that belongs to a different catchment basin is then
found. These two catchment basins are then merged and a new boundary is formed around the
combination. The two old boundaries are deleted. In this way, if a bubble has been incorrectly
segmented as two distinct bubbles, the two bubbles will be merged, thus rendering a correct
segmentation result. Figure 2.10 an image that has been oversegmentation corrected. Compare
with the uncorrected segmented image at the bottom of figure 2.1 and the marker image in figure
2.1.1.1 that points out an anomalous marker.
1Algorithm by David M. Weber
20
Page 36
Chapter 2. Image Processing 2.1. Static Analysis
Figure 2.10: Results after oversegmentation correction to be compared with figure 2.1 (uncorrected segmented
image at bottom) and figure 2.1.1.1 (marker image pointing out anomalous marker).
2.1.2 Other textural properties
As noted in section 1.2, Moolman et al. based their froth classification efforts on the extraction
of SGLD and NGLD matrices and the calculation of features on these matrices. Some of this
functionality has been included in this work for reasons which will be discussed shortly.
The Neighbouring Grey Level Dependence Matrix (NGLDM) [12] as calculated on an image or
image region contains information about the relationship between each of the pixels and all its
neighbouring pixels at a certain distance d. The matrix is represented as a two-dimensional array
Q of size Ng rows by Nr columns, where Ng is the number of possible grey levels and Nr is the
number of possible neighbours to a pixel in an image. The Q matrix is computed for a specific
positive integer value of distance d and difference a. For every pixel, the number of times that
its grey value and a neighbouring pixel’s grey value differ by a or less are counted. The value at
row i and column j in the Q matrix is incremented, where i is the grey value of the pixel under
examination, and j is the value itself.
This matrix relates to the texture information in an image or image region. It is invariant to image
rotation as well as to linear grey level transformations or shifts of the grey level spectrum. For
example, if the brightness of an image were to be increased without resulting in any values being
truncated, the NGLDM would look exactly the same as in the darker case.
Scalar image features can be calculated on the Q matrix, such as the Small Number Emphasis
(SNE), Large Number Emphasis (LNE), Number Non-uniformity (NNU), Second Moment (SM)
and Entropy (ENT). Each of these scalars indicates some qualitative measure. The SNE is a
measure of the fineness of the image, the LNE is a a measure of the coarseness of the image,
the SM is related to the homogeneity of the image. The NNU and ENT are also related to the
21
Figure 2.10: Results after oversegmentation correction to be compared with figure 2.1 (uncorrected segmented
image at bottom) and figure 2.1.1.1 (marker image pointing out anomalous marker).
2.1.2 Other textural properties
As noted in section 1.2, Moolman et al. based their froth classification efforts on the extraction
of SGLD and NGLD matrices and the calculation of features on these matrices. Some of this
functionality has been included in this work for reasons which will be discussed shortly.
The Neighbouring Grey Level Dependence Matrix (NGLDM) [12] as calculated on an image or
image region contains information about the relationship between each of the pixels and all its
neighbouring pixels at a certain distance d. The matrix is represented as a two-dimensional array
Q of size Ng rows by Nr columns, where Ng is the number of possible grey levels and Nr is the
number of possible neighbours to a pixel in an image. The Q matrix is computed for a specific
positive integer value of distance d and difference a. For every pixel, the number of times that
its grey value and a neighbouring pixel’s grey value differ by a or less are counted. The value at
row i and column j in the Q matrix is incremented, where i is the grey value of the pixel under
examination, and j is the value itself.
This matrix relates to the texture information in an image or image region. It is invariant to image
rotation as well as to linear grey level transformations or shifts of the grey level spectrum. For
example, if the brightness of an image were to be increased without resulting in any values being
truncated, the NGLDM would look exactly the same as in the darker case.
Scalar image features can be calculated on the Q matrix, such as the Small Number Emphasis
(SNE), Large Number Emphasis (LNE), Number Non-uniformity (NNU), Second Moment (SM)
and Entropy (ENT). Each of these scalars indicates some qualitative measure. The SNE is a
measure of the fineness of the image, the LNE is a a measure of the coarseness of the image,
the SM is related to the homogeneity of the image. The NNU and ENT are also related to the
21
Page 37
Chapter 2. Image Processing 2.1. Static Analysis
coarseness of the image. In this work, we make use of only the Small Number Element.
The SNE is defined as:
SNE = ∑
k
∑
s
[Q(k,s)/s2]/R
where R = ∑Q is a normalisation factor. A fine image, i.e. consisting of many grey level varia-
tions per area, will have more entries in the lower values of the Q matrix columns (representing
less neighbouring pixels having similar grey values) making Q(k,s)/s2 large for small s and
resulting in a larger SNE. Conversely, a smooth image will have a much smaller SNE.
Initially, the SNE was used as a feature input to neural-network based froth type classifiers. In
recent times however, it has become useful as a secondary indication of bubble size. In fact, in the
automatic flotation control systems designed by Crusader Systems, it has become an important
parameter of process stability in its own right2. The SNE remains very stable for a particular
froth until a process disturbance occurs, in which case it deviates noticeably.
Because the SNE is an accumulated measure of fineness for a whole image calculated from an
already accumulative dependence matrix, there are billions of image configurations that will give
similar SNEs. It is not a very sensitive parameter. It can afford a high degree of stability over
time by trading off on accuracy. For the effective control of flotation however, it is a valuable,
although coarse-grained, observation.
2.1.3 Fine-froth Segmentation
Certain areas of the flotation froth surface consist of bubbles that are too small to segment out.
It is important that these areas are detected so that they can be compensated for. In addition,
knowing which percentage of the froth surface is covered by fine froth is a valuable parameter,
as it is an indication of the average bubble size when the per-bubble segmentation is not able to
segment the whole image. This is a very difficult problem, as the froth textures are very complex.
In cases where fine froth areas are present, the watershed segmentation will segment out these
fine froth areas as large bubbles. This is because the occurrence of relatively bright localised
reflections in fine froth is scarce, and this results in a small number of markers being extracted
for relatively large areas of fine froth.
2.1.3.1 Marker Bubble Area Ratio Threshold
This method makes use of the behaviour of the bubble-segmentation documented above. The
segmentation algorithm segments out large regions of fine froth as single bubbles. This implies
2The author has investigated the use of this work on a South African platinum-extraction plant.
22
coarseness of the image. In this work, we make use of only the Small Number Element.
The SNE is defined as:
SNE = ∑
k
∑
s
[Q(k,s)/s2]/R
where R = ∑Q is a normalisation factor. A fine image, i.e. consisting of many grey level varia-
tions per area, will have more entries in the lower values of the Q matrix columns (representing
less neighbouring pixels having similar grey values) making Q(k,s)/s2 large for small s and
resulting in a larger SNE. Conversely, a smooth image will have a much smaller SNE.
Initially, the SNE was used as a feature input to neural-network based froth type classifiers. In
recent times however, it has become useful as a secondary indication of bubble size. In fact, in the
automatic flotation control systems designed by Crusader Systems, it has become an important
parameter of process stability in its own right2. The SNE remains very stable for a particular
froth until a process disturbance occurs, in which case it deviates noticeably.
Because the SNE is an accumulated measure of fineness for a whole image calculated from an
already accumulative dependence matrix, there are billions of image configurations that will give
similar SNEs. It is not a very sensitive parameter. It can afford a high degree of stability over
time by trading off on accuracy. For the effective control of flotation however, it is a valuable,
although coarse-grained, observation.
2.1.3 Fine-froth Segmentation
Certain areas of the flotation froth surface consist of bubbles that are too small to segment out.
It is important that these areas are detected so that they can be compensated for. In addition,
knowing which percentage of the froth surface is covered by fine froth is a valuable parameter,
as it is an indication of the average bubble size when the per-bubble segmentation is not able to
segment the whole image. This is a very difficult problem, as the froth textures are very complex.
In cases where fine froth areas are present, the watershed segmentation will segment out these
fine froth areas as large bubbles. This is because the occurrence of relatively bright localised
reflections in fine froth is scarce, and this results in a small number of markers being extracted
for relatively large areas of fine froth.
2.1.3.1 Marker Bubble Area Ratio Threshold
This method makes use of the behaviour of the bubble-segmentation documented above. The
segmentation algorithm segments out large regions of fine froth as single bubbles. This implies
2The author has investigated the use of this work on a South African platinum-extraction plant.
22
Page 38
Chapter 2. Image Processing 2.1. Static Analysis
Figure 2.11: Images illustrating working of marker bubble area ratio threshold fine froth detection with MBRT
parameter set to 0.004.
that the ratio of the area of the extracted marker for a specific fine froth region to the area of
the fine froth region itself is considerably lower than for normal segmentable bubbles, where the
localised reflection and, by implication, the extracted marker are usually relatively large.
By calculating this ratio for each and every segmented area and by comparing it to a certain
threshold, areas with a lower ratio than the threshold can be tagged as fine froth. The threshold
depends on lighting, froth type and froth cell type, among other factors. It is left as an operator-
adjustable parameter.
This method is not absolutely accurate, but it has been empirically found that it improves the
results of the static analysis. The threshold parameter determines the sensitivity of the fine froth
detection, and can be optimised either for minimum false alarms or for highest detection rate.
In addition, because the marker size and corresponding bubble size are already available, this
segmentation is very fast. This method is used in the froth analysis product.
Figure 2.11 shows the result of a marker bubble area ratio threshold (MBRT) based fine froth
detection.
2.1.3.2 Moving window SNE
Another approach that can be taken for fine froth segmentation is the more obvious one of calcu-
lating a region-based texture measure and classifying areas on the basis of this measure. For the
purpose of this application, an un-supervised form of classification is required.
A moving window SNE approach was investigated and yielded promising results. In this ap-
proach a window of certain size is moved over the image in question and the SNE is calculated
at every pixel position. In this way, a feature image is generated. By performing simple thresh-
23
Figure 2.11: Images illustrating working of marker bubble area ratio threshold fine froth detection with MBRT
parameter set to 0.004.
that the ratio of the area of the extracted marker for a specific fine froth region to the area of
the fine froth region itself is considerably lower than for normal segmentable bubbles, where the
localised reflection and, by implication, the extracted marker are usually relatively large.
By calculating this ratio for each and every segmented area and by comparing it to a certain
threshold, areas with a lower ratio than the threshold can be tagged as fine froth. The threshold
depends on lighting, froth type and froth cell type, among other factors. It is left as an operator-
adjustable parameter.
This method is not absolutely accurate, but it has been empirically found that it improves the
results of the static analysis. The threshold parameter determines the sensitivity of the fine froth
detection, and can be optimised either for minimum false alarms or for highest detection rate.
In addition, because the marker size and corresponding bubble size are already available, this
segmentation is very fast. This method is used in the froth analysis product.
Figure 2.11 shows the result of a marker bubble area ratio threshold (MBRT) based fine froth
detection.
2.1.3.2 Moving window SNE
Another approach that can be taken for fine froth segmentation is the more obvious one of calcu-
lating a region-based texture measure and classifying areas on the basis of this measure. For the
purpose of this application, an un-supervised form of classification is required.
A moving window SNE approach was investigated and yielded promising results. In this ap-
proach a window of certain size is moved over the image in question and the SNE is calculated
at every pixel position. In this way, a feature image is generated. By performing simple thresh-
23
Page 39
Chapter 2. Image Processing 2.2. Dynamic Analysis
50 100 150 200 250 300 350
20
40
60
80
100
120
140
Figure 2.12: Results of moving window SNE fine froth segmentation
olding on the feature image, fine froth areas can be segmented.
Figure 2.12 shows the results for such a segmentation on the image shown in figure 2.11. This
sample was generated with a window size of 20×10, the SNE feature image was thresholded at
0.85 and the result was morphologically opened [19] in order to remove noise. Compare these
results with those in figure 2.11. This method has the advantage that it is not limited by the bubble
segmentation. Keep in mind that the MBRT method can only tag whole segmented regions as
fine froth, whereas this method can do this on a pixel by pixel basis.
Unfortunately, this method is very computationally expensive and its parameters are much more
sensitive and difficult to adjust than those of the MBRT. Because of this, it is not applicable in a
practical froth analysis product.
2.2 Dynamic Analysis
The mobility of the froth is a significant parameter as it is related to the viscosity and the amount
of hydrophobic particles in the froth. As such, the mobility is related to frother addition rate,
depressant flow rate, activator flow rate, pulp level and density, and aeration rate.
24
50 100 150 200 250 300 350
20
40
60
80
100
120
140
Figure 2.12: Results of moving window SNE fine froth segmentation
olding on the feature image, fine froth areas can be segmented.
Figure 2.12 shows the results for such a segmentation on the image shown in figure 2.11. This
sample was generated with a window size of 20×10, the SNE feature image was thresholded at
0.85 and the result was morphologically opened [19] in order to remove noise. Compare these
results with those in figure 2.11. This method has the advantage that it is not limited by the bubble
segmentation. Keep in mind that the MBRT method can only tag whole segmented regions as
fine froth, whereas this method can do this on a pixel by pixel basis.
Unfortunately, this method is very computationally expensive and its parameters are much more
sensitive and difficult to adjust than those of the MBRT. Because of this, it is not applicable in a
practical froth analysis product.
2.2 Dynamic Analysis
The mobility of the froth is a significant parameter as it is related to the viscosity and the amount
of hydrophobic particles in the froth. As such, the mobility is related to frother addition rate,
depressant flow rate, activator flow rate, pulp level and density, and aeration rate.
24
Page 41
Chapter 2. Image Processing 2.2. Dynamic Analysis
Figure 2.13: Sample results of per-bubble motion analysis
the corresponding block in the target image. Again, the source image and target images are of
the same scene but taken a short time apart. The matching target block is found by calculating
some similarity measure between the source block and several blocks in a target image search
region. Of these candidate blocks, the one that achieves the highest similarity measure is selected
as the matching block. The difference in position between the source block and the target block
represents the motion that was undergone by this block in the time interval between images.
For this application, the Maximum Cross-Correlation (MCC) matching criterion was used. Each
source block is cross-correlated with all the possible overlapping target blocks in its search region
in the target image, and the position at which maximum cross correlation is achieved is selected
as the position of the matching target block. The BMA with MCC matching criterion is a form of
feature-detection by matched filtering [22, 23] where the matched filter in this case is the source
block itself. The motion vector V i(m,n) measured from image Ii to a following image Ii+1 for a
block centered at pixel location (m,n) is determined by:
V i(m,n) = (xd −m,yd −n)
where
(xd,yd) = arg max
x,y∈Ω
(
∑M/2p=−M/2 ∑
M/2
q=−N/2 Ii(m+p,n+q)Ii+1(x+p,y+q)
√
∑M/2p=−M/2 ∑
M/2
q=−N/2 I
2
i (m+p,n+q)∑M/2p=−M/2 ∑
M/2
q=−N/2 I
2
i+1(x+p,y+q)
)
The motion-block is M by N pixels and the search region Ω is a block congruent with the motion-
block but larger. The normalisation is very important. It eliminates the effect of differing signal
energies between the search block and the block in the search area that it’s being matched with.
26
Figure 2.13: Sample results of per-bubble motion analysis
the corresponding block in the target image. Again, the source image and target images are of
the same scene but taken a short time apart. The matching target block is found by calculating
some similarity measure between the source block and several blocks in a target image search
region. Of these candidate blocks, the one that achieves the highest similarity measure is selected
as the matching block. The difference in position between the source block and the target block
represents the motion that was undergone by this block in the time interval between images.
For this application, the Maximum Cross-Correlation (MCC) matching criterion was used. Each
source block is cross-correlated with all the possible overlapping target blocks in its search region
in the target image, and the position at which maximum cross correlation is achieved is selected
as the position of the matching target block. The BMA with MCC matching criterion is a form of
feature-detection by matched filtering [22, 23] where the matched filter in this case is the source
block itself. The motion vector V i(m,n) measured from image Ii to a following image Ii+1 for a
block centered at pixel location (m,n) is determined by:
V i(m,n) = (xd −m,yd −n)
where
(xd,yd) = arg max
x,y∈Ω
(
∑M/2p=−M/2 ∑
M/2
q=−N/2 Ii(m+p,n+q)Ii+1(x+p,y+q)
√
∑M/2p=−M/2 ∑
M/2
q=−N/2 I
2
i (m+p,n+q)∑M/2p=−M/2 ∑
M/2
q=−N/2 I
2
i+1(x+p,y+q)
)
The motion-block is M by N pixels and the search region Ω is a block congruent with the motion-
block but larger. The normalisation is very important. It eliminates the effect of differing signal
energies between the search block and the block in the search area that it’s being matched with.
26
Page 42
Chapter 2. Image Processing 2.3. Conclusions
Figure 2.14: Output of the region-based motion estimation
This method is inaccurate if used on images with general motion, such as rotation, zoom and
deformation [24]. In our case, the images are taken a very short time apart (20ms) and the
motion blocks are kept relatively small. Under these circumstances and taking into account the
nature of froth mobility we assume pure translational motion. Empirically, this turns out to be
a valid assumption. Figure 2.14 shows sample output of the region-based motion-estimation
algorithm. Each of the arrows represents an independently calculated motion vector.
The region-of-interest over which motion vectors are calculated, the size of the motion-blocks
and the size of the search areas are all user-definable and should be calibrated to suit the physical
setup of acquisition equipment. For our environment, the region of interest is set to cover a third
of the image, the motion block size is 10x10 pixels and the search area is a 16x16 pixel congruent
block. The motion block and search area sizes are constant for a region of interest. The effective
image size is 380x142, which is either the odd or even field of a 380x284 image.
2.3 Conclusions
Table 2.1 shows average execution times of the main algorithm groups documented in this chap-
ter. These timings exclude overheads such as image acquisition and display. The bubble segmen-
tation includes a marker extraction, homotopic transform and watershed segmentation. The pixel
analysis includes algorithms which return statistics on pixel intensities and colour information
(these are documented in the next chapter). The algorithms were performed on 380x142 images
27
Figure 2.14: Output of the region-based motion estimation
This method is inaccurate if used on images with general motion, such as rotation, zoom and
deformation [24]. In our case, the images are taken a very short time apart (20ms) and the
motion blocks are kept relatively small. Under these circumstances and taking into account the
nature of froth mobility we assume pure translational motion. Empirically, this turns out to be
a valid assumption. Figure 2.14 shows sample output of the region-based motion-estimation
algorithm. Each of the arrows represents an independently calculated motion vector.
The region-of-interest over which motion vectors are calculated, the size of the motion-blocks
and the size of the search areas are all user-definable and should be calibrated to suit the physical
setup of acquisition equipment. For our environment, the region of interest is set to cover a third
of the image, the motion block size is 10x10 pixels and the search area is a 16x16 pixel congruent
block. The motion block and search area sizes are constant for a region of interest. The effective
image size is 380x142, which is either the odd or even field of a 380x284 image.
2.3 Conclusions
Table 2.1 shows average execution times of the main algorithm groups documented in this chap-
ter. These timings exclude overheads such as image acquisition and display. The bubble segmen-
tation includes a marker extraction, homotopic transform and watershed segmentation. The pixel
analysis includes algorithms which return statistics on pixel intensities and colour information
(these are documented in the next chapter). The algorithms were performed on 380x142 images
27
Page 43
Chapter 2. Image Processing 2.3. Conclusions
Analysis Tank [s] Scavenger [s]
Bubble segmentation 0.98 1.1
Pixel analysis 0.27 0.27
Bubble motion 1.03 1.56
Region-based motion 1.02 0.95
Table 2.1: Average execution times for various algorithm groups on tank cell and scavenger cell froth.
on a Celeron 366MHz processor, the region-based motion estimation region of interest was set to
a third of the image, the motion block to 10x10 pixels and the search region to a 16x16 congruent
block.
The tank cell froth consists of larger bubbles and the scavenger cell froth of many smaller bub-
bles. As to be expected, the bubble-segmentation and bubble-motion analyses take noticeably
longer on the scavenger froth, whilst the pixel analysis and region-based motion analysis per-
form more or less the same on both types of froth.
The low-level image processing algorithms documented in this chapter extract valuable informa-
tion that can be post-processed to yield higher-level parameters that more directly describe the
flotation froth that is being examined. The following chapter will document this post-processing.
The fine-froth detection methods, the post-segmentation oversegmentation correction and the
per-bubble motion algorithms are novel additions to flotation froth analysis. Although one of the
fine-froth detection methods is not currently applicable, it indicates that there is much research
potential in attempting froth-dependent segmentation of froth images.
28
Analysis Tank [s] Scavenger [s]
Bubble segmentation 0.98 1.1
Pixel analysis 0.27 0.27
Bubble motion 1.03 1.56
Region-based motion 1.02 0.95
Table 2.1: Average execution times for various algorithm groups on tank cell and scavenger cell froth.
on a Celeron 366MHz processor, the region-based motion estimation region of interest was set to
a third of the image, the motion block to 10x10 pixels and the search region to a 16x16 congruent
block.
The tank cell froth consists of larger bubbles and the scavenger cell froth of many smaller bub-
bles. As to be expected, the bubble-segmentation and bubble-motion analyses take noticeably
longer on the scavenger froth, whilst the pixel analysis and region-based motion analysis per-
form more or less the same on both types of froth.
The low-level image processing algorithms documented in this chapter extract valuable informa-
tion that can be post-processed to yield higher-level parameters that more directly describe the
flotation froth that is being examined. The following chapter will document this post-processing.
The fine-froth detection methods, the post-segmentation oversegmentation correction and the
per-bubble motion algorithms are novel additions to flotation froth analysis. Although one of the
fine-froth detection methods is not currently applicable, it indicates that there is much research
potential in attempting froth-dependent segmentation of froth images.
28
Page 44
Chapter 3
Parameter Extraction
In this chapter we document how the low-level image-processing information is processed and
converted to usable froth surface parameters. This includes the calculation of discrete bubble-
structure parameters, such as size and shape, for every distinct bubble, as well as the generation
of summarising information, such as a histogram or a median value. In current automatic control
systems, this summarising information is utilised rather than raw image-processing data. Ta-
ble 3.1 lists all extractable parameters and available post-processing. Subsequent sections will
discuss the available post-processing in detail.
3.1 Pre-processing of image-processing information
The per-bubble segmentation yields a tessellation of the froth surface image, where all the pixels
belonging to a specific bubble are tagged as such in a two-dimensional array of the same dimen-
sions as the image. In order to work with this data, it has to be converted to a bubble-ordered
form (as opposed to a position-ordered form), i.e. where bubble segmentation information can
be accessed on a per-bubble basis.
In order to do this, the tessellation is run-length encoded [22]. A list consisting of bubble-
information atoms is formed. Each atom contains a list of line start positions and lengths which
represents a rasterised bubble. This representation facilitates the calculation of the parameters
detailed in the following sections.
29
Parameter Extraction
In this chapter we document how the low-level image-processing information is processed and
converted to usable froth surface parameters. This includes the calculation of discrete bubble-
structure parameters, such as size and shape, for every distinct bubble, as well as the generation
of summarising information, such as a histogram or a median value. In current automatic control
systems, this summarising information is utilised rather than raw image-processing data. Ta-
ble 3.1 lists all extractable parameters and available post-processing. Subsequent sections will
discuss the available post-processing in detail.
3.1 Pre-processing of image-processing information
The per-bubble segmentation yields a tessellation of the froth surface image, where all the pixels
belonging to a specific bubble are tagged as such in a two-dimensional array of the same dimen-
sions as the image. In order to work with this data, it has to be converted to a bubble-ordered
form (as opposed to a position-ordered form), i.e. where bubble segmentation information can
be accessed on a per-bubble basis.
In order to do this, the tessellation is run-length encoded [22]. A list consisting of bubble-
information atoms is formed. Each atom contains a list of line start positions and lengths which
represents a rasterised bubble. This representation facilitates the calculation of the parameters
detailed in the following sections.
29
Page 48
Chapter 3. Parameter Extraction 3.2. Extractable parameters
This parameter is related to the viscosity and stability of the froth. An ellipticity of unity repre-
sents a circular bubble whilst a larger ellipticity represents a more elliptical or elongated bubble,
which usually appears in a viscous stable froth [8].
3.2.6 Fine froth/Valid Froth Ratio
The total area of the regions classified as fine froth froth by the fine froth detection algorithm
in section 2.1.3.1 is calculated as a ratio of the total image area. This is the fine froth ratio and
can be used as a direct measure of the amount of fine froth in an image and consequently as an
indication of bubble-size, especially when the ratio is large. When the ratio is relatively small,
bubble-size information gained from segmentation is more significant.
The valid froth ratio is the ratio of valid froth area to total image area, where valid froth area is
simply the difference in area between total area and fine froth area.
3.2.7 Orientation
The orientation is defined as the clockwise angle between the longest axis of the best-fit ellipsoid
(see 3.2.5) and the horizontal. As discussed, the ellipsoid has axes ±c√λiei, with ei being the
i’th eigenvector of the shape’s covariance matrix. The vector em corresponding to the largest
eigenvalue is used to calculate the angle, where the angle θ is defined as:
θ = tan−1
(
em[1]
em[0]
)
The angle is adjusted to be on [0◦,180◦].
The orientation can be used to determine to which degree ellipsoid bubbles are elongated in
the direction of froth motion. The more the elongation is in the direction of motion, the more
significantly it indicates viscosity.
3.2.8 Perimeter
The perimeter is the pixel perimeter of the segmented bubble-projection. A boundary tracing
algorithm from [27] is performed on the bubble-segmented tessellation (all pixels belonging to
a certain bubble are tagged uniquely, i.e. have a specific colour) of the froth surface image. The
boundary tracing algorithm yields a list of pixel chain codes describing the Euclidean perimeter
of the bubble.
33
This parameter is related to the viscosity and stability of the froth. An ellipticity of unity repre-
sents a circular bubble whilst a larger ellipticity represents a more elliptical or elongated bubble,
which usually appears in a viscous stable froth [8].
3.2.6 Fine froth/Valid Froth Ratio
The total area of the regions classified as fine froth froth by the fine froth detection algorithm
in section 2.1.3.1 is calculated as a ratio of the total image area. This is the fine froth ratio and
can be used as a direct measure of the amount of fine froth in an image and consequently as an
indication of bubble-size, especially when the ratio is large. When the ratio is relatively small,
bubble-size information gained from segmentation is more significant.
The valid froth ratio is the ratio of valid froth area to total image area, where valid froth area is
simply the difference in area between total area and fine froth area.
3.2.7 Orientation
The orientation is defined as the clockwise angle between the longest axis of the best-fit ellipsoid
(see 3.2.5) and the horizontal. As discussed, the ellipsoid has axes ±c√λiei, with ei being the
i’th eigenvector of the shape’s covariance matrix. The vector em corresponding to the largest
eigenvalue is used to calculate the angle, where the angle θ is defined as:
θ = tan−1
(
em[1]
em[0]
)
The angle is adjusted to be on [0◦,180◦].
The orientation can be used to determine to which degree ellipsoid bubbles are elongated in
the direction of froth motion. The more the elongation is in the direction of motion, the more
significantly it indicates viscosity.
3.2.8 Perimeter
The perimeter is the pixel perimeter of the segmented bubble-projection. A boundary tracing
algorithm from [27] is performed on the bubble-segmented tessellation (all pixels belonging to
a certain bubble are tagged uniquely, i.e. have a specific colour) of the froth surface image. The
boundary tracing algorithm yields a list of pixel chain codes describing the Euclidean perimeter
of the bubble.
33
Page 49
Chapter 3. Parameter Extraction 3.3. Statistics
Each chain code indicates the direction in which the next pixel can be found. There are eight
directions, of which four are diagonal and four are vertical or horizontal. By traversing the list
of chain codes and adding one pixel to the perimeter total for every horizontal or vertical chain
code, and
√
2 pixels for every diagonal chain code, the Euclidean perimeter of the bubble can be
calculated.
The bubble-perimeter is very closely related to the bubble-size.
3.2.9 Region-based Motion
The region-based motion estimation documented in section 2.2.2 results in a matrix of regu-
larly spaced motion vectors all within the specified region of interest. The regular spacing is
determined by the block size, as each vector denotes the motion that a specific partitioned block
underwent from one image to the next.
These motion vectors are initially available as differential horizontal and vertical motion pairs,
but polar representations are calculated as well. In contrast to the bubble-based motion estima-
tion, summarising information (such as means, histograms, etc.) calculated from these vectors
are more readily interpretable as they are regularly spaced.
Our parameter choices are documented in sections 2.2.2 and 5.2.
3.2.10 SNE
The SNE was discussed in section 2.1.2. This parameter is calculated once for a whole image.
No post-processing is performed on it.
3.3 Statistics
All the multi-valued extracted parameters, i.e. parameters which have distinct values for each
bubble, for each pixel or for each partitioned motion block in an image, are summarised with
statistic values that are useful in online flotation control systems. These values are: minimum,
maximum, standard deviation, mean and median. The mean refers to the arithmetic mean of the
data and the median to an actual data value that has half the data values greater than it and the
other half smaller than it. The standard-deviation is a measure of the spread of the data about its
mean.
Before these values are calculated on the extracted data, parts of the data which might affect
34
Each chain code indicates the direction in which the next pixel can be found. There are eight
directions, of which four are diagonal and four are vertical or horizontal. By traversing the list
of chain codes and adding one pixel to the perimeter total for every horizontal or vertical chain
code, and
√
2 pixels for every diagonal chain code, the Euclidean perimeter of the bubble can be
calculated.
The bubble-perimeter is very closely related to the bubble-size.
3.2.9 Region-based Motion
The region-based motion estimation documented in section 2.2.2 results in a matrix of regu-
larly spaced motion vectors all within the specified region of interest. The regular spacing is
determined by the block size, as each vector denotes the motion that a specific partitioned block
underwent from one image to the next.
These motion vectors are initially available as differential horizontal and vertical motion pairs,
but polar representations are calculated as well. In contrast to the bubble-based motion estima-
tion, summarising information (such as means, histograms, etc.) calculated from these vectors
are more readily interpretable as they are regularly spaced.
Our parameter choices are documented in sections 2.2.2 and 5.2.
3.2.10 SNE
The SNE was discussed in section 2.1.2. This parameter is calculated once for a whole image.
No post-processing is performed on it.
3.3 Statistics
All the multi-valued extracted parameters, i.e. parameters which have distinct values for each
bubble, for each pixel or for each partitioned motion block in an image, are summarised with
statistic values that are useful in online flotation control systems. These values are: minimum,
maximum, standard deviation, mean and median. The mean refers to the arithmetic mean of the
data and the median to an actual data value that has half the data values greater than it and the
other half smaller than it. The standard-deviation is a measure of the spread of the data about its
mean.
Before these values are calculated on the extracted data, parts of the data which might affect
34
Page 54
Chapter 3. Parameter Extraction 3.4. Histograms
3.4.1 Histogram Accumulation
Histograms can be calculated for each image that is captured and analysed. These analyses
usually take place at regular intervals, and with each new analysis, the histogram of the previous
analysis is replaced with a new one. Instead of this behaviour, histograms can be accumulated
over time to yield an accumulative histogram which represents the nature of the froth over a
certain time interval. In this way, the accumulated histogram is able to contain information about
past perturbations in a flexible way by acting as an estimator and in fact smoothing histograms.
The accumulation is performed with an exponential forget factor. Let hn and hn be the accu-
mulative and instantaneous histograms at discrete time n and λ an adjustable forget-factor that
satisfies |λ|<= 1, then:
hn =
n
∑
k=0
λkhn−k
This can be implemented as a recursive system as follows:
hn = hn +λhn−1
Note that a forget-factor λ = 1 means that no forgetting takes place, i.e. all past histograms
contribute equally to the current accumulative. The smaller the forget-factor, the more the accu-
mulation discounts the effect of past histograms, up to the limiting case where λ = 0 and only
the current histogram makes a contribution.
Such an accumulative histogram can be used to examine the non-instantaneous nature of the
froth. The forget-factor ensures that effects of process disturbances can be gradually discounted
in the accumulative histogram. When the accumulated histogram is examined, it is useful to
scale it as follows:
1
1+λ+λ2 +λ3 . . .+λn hn =
1−λ
1−λn+1 hn
This yields a histogram which represents the accumulative nature of the froth, but whose values
are in range for a normal instantaneous histogram.
39
3.4.1 Histogram Accumulation
Histograms can be calculated for each image that is captured and analysed. These analyses
usually take place at regular intervals, and with each new analysis, the histogram of the previous
analysis is replaced with a new one. Instead of this behaviour, histograms can be accumulated
over time to yield an accumulative histogram which represents the nature of the froth over a
certain time interval. In this way, the accumulated histogram is able to contain information about
past perturbations in a flexible way by acting as an estimator and in fact smoothing histograms.
The accumulation is performed with an exponential forget factor. Let hn and hn be the accu-
mulative and instantaneous histograms at discrete time n and λ an adjustable forget-factor that
satisfies |λ|<= 1, then:
hn =
n
∑
k=0
λkhn−k
This can be implemented as a recursive system as follows:
hn = hn +λhn−1
Note that a forget-factor λ = 1 means that no forgetting takes place, i.e. all past histograms
contribute equally to the current accumulative. The smaller the forget-factor, the more the accu-
mulation discounts the effect of past histograms, up to the limiting case where λ = 0 and only
the current histogram makes a contribution.
Such an accumulative histogram can be used to examine the non-instantaneous nature of the
froth. The forget-factor ensures that effects of process disturbances can be gradually discounted
in the accumulative histogram. When the accumulated histogram is examined, it is useful to
scale it as follows:
1
1+λ+λ2 +λ3 . . .+λn hn =
1−λ
1−λn+1 hn
This yields a histogram which represents the accumulative nature of the froth, but whose values
are in range for a normal instantaneous histogram.
39
Page 55
Chapter 4
Practical Implementation
In this chapter the practical implementations and use of the computer vision froth surface analysis
algorithms are detailed. In order to document the context in which these implementations are
applied, a “generic” froth flotation based extraction plant is described, as well as the complete
flotation control system of which one of the surface analysis implementations forms an integral
part.
4.1 Froth Flotation Plant Basics
The setup of a flotation plant is naturally dependent on the type of mineral that is to be extracted.
For any one mineral there are also several configurations that can be employed. Glembotskii [2]
calls these configurations schemes, and defines them as combined systems of different flotation
operations, where the scheme used depends on the properties of the mineral that is to be extracted,
the desired quality of the product and naturally on economic factors. Such a scheme can consist
of one or more stages, where a stage is defined to be a crushing operation and the flotation
operations following it.
During the crushing operation ore is crushed or milled in order to liberate the valuable particles.
In froth flotation plants, the subsequent flotation operations (as described in section 1.1.1) are
implemented using flotation cells. These flotation cells are large containers with devices for
injecting air-bubbles into the slurry and promoting motion in the pulp in order to facilitate air-
bubble mineral-particle collisions. Mineral-laden bubbles float to the top and form the froth that
can be skimmed off and filtered to form the valuable mineral concentrate.
This concentrate can go through any number of additional grinding and flotation operations
(flotation cells) before it becomes the final concentrate. The tailings, i.e. particles which are
40
Practical Implementation
In this chapter the practical implementations and use of the computer vision froth surface analysis
algorithms are detailed. In order to document the context in which these implementations are
applied, a “generic” froth flotation based extraction plant is described, as well as the complete
flotation control system of which one of the surface analysis implementations forms an integral
part.
4.1 Froth Flotation Plant Basics
The setup of a flotation plant is naturally dependent on the type of mineral that is to be extracted.
For any one mineral there are also several configurations that can be employed. Glembotskii [2]
calls these configurations schemes, and defines them as combined systems of different flotation
operations, where the scheme used depends on the properties of the mineral that is to be extracted,
the desired quality of the product and naturally on economic factors. Such a scheme can consist
of one or more stages, where a stage is defined to be a crushing operation and the flotation
operations following it.
During the crushing operation ore is crushed or milled in order to liberate the valuable particles.
In froth flotation plants, the subsequent flotation operations (as described in section 1.1.1) are
implemented using flotation cells. These flotation cells are large containers with devices for
injecting air-bubbles into the slurry and promoting motion in the pulp in order to facilitate air-
bubble mineral-particle collisions. Mineral-laden bubbles float to the top and form the froth that
can be skimmed off and filtered to form the valuable mineral concentrate.
This concentrate can go through any number of additional grinding and flotation operations
(flotation cells) before it becomes the final concentrate. The tailings, i.e. particles which are
40
Page 56
Chapter 4. Practical Implementation 4.2. Fluxar Flotation Control System
rougher cleaner 1 cleaner 2
scavenger
ball
millore
cyclone final
concentrate
final
tailing
Figure 4.1: Diagram of simple froth flotation circuit
not removed in the concentrate in a flotation cell [3], can also be reground and/or passed through
additional flotation cells. Eventually, final concentrate and final tailings outputs are attained.
Figure 4.1 is a diagram of a very simple froth flotation circuit from [3]. The rougher, scavenger
and cleaners are flotation cells and their names are assigned according to their purpose and posi-
tion in the circuit. Note that output from the bottom of a cell is concentrate and output from the
right indicates tailing. The cyclone is a device that separates particles on the basis of fineness.
Here it is used to return particles that aren’t fine enough to the ball mill.
4.2 Fluxar Flotation Control System
Industrial colour cameras are mounted at various points in the flotation plant in positions where
they can monitor the surface of the flotation froth in flotation cells. Custom-manufactured metal
camera enclosures are pyramidal and reach down to near the froth surface as illustrated in figure
4.2. Their purpose is to eliminate ambient light interference as much as possible, thus increasing
the accuracy of the image processing algorithms. In addition, a strong spotlight is mounted next
to the camera. Figure 4.2 shows an example of the Fluxar camera setup at a South African
platinum extraction plant. Whilst systems like the one by the JKMRC [16] claim to work with
natural light, they also make use of shade flaps and spot-lights to increase accuracy.
The cameras are of the interlaced kind, i.e. the images they return consist of two interlaced
images1 taken 20ms apart (in the case of PAL). The even and odd images that constitute one
interlaced image are extracted and used as separate images for dynamic analysis.
An obvious yet very important issue is that of acquisition hardware quality and any other mea-
sures taken to improve the quality of the acquired images. The importance of utilising the highest
1All the even lines belong to one image and the odd lines to the other.
41
rougher cleaner 1 cleaner 2
scavenger
ball
millore
cyclone final
concentrate
final
tailing
Figure 4.1: Diagram of simple froth flotation circuit
not removed in the concentrate in a flotation cell [3], can also be reground and/or passed through
additional flotation cells. Eventually, final concentrate and final tailings outputs are attained.
Figure 4.1 is a diagram of a very simple froth flotation circuit from [3]. The rougher, scavenger
and cleaners are flotation cells and their names are assigned according to their purpose and posi-
tion in the circuit. Note that output from the bottom of a cell is concentrate and output from the
right indicates tailing. The cyclone is a device that separates particles on the basis of fineness.
Here it is used to return particles that aren’t fine enough to the ball mill.
4.2 Fluxar Flotation Control System
Industrial colour cameras are mounted at various points in the flotation plant in positions where
they can monitor the surface of the flotation froth in flotation cells. Custom-manufactured metal
camera enclosures are pyramidal and reach down to near the froth surface as illustrated in figure
4.2. Their purpose is to eliminate ambient light interference as much as possible, thus increasing
the accuracy of the image processing algorithms. In addition, a strong spotlight is mounted next
to the camera. Figure 4.2 shows an example of the Fluxar camera setup at a South African
platinum extraction plant. Whilst systems like the one by the JKMRC [16] claim to work with
natural light, they also make use of shade flaps and spot-lights to increase accuracy.
The cameras are of the interlaced kind, i.e. the images they return consist of two interlaced
images1 taken 20ms apart (in the case of PAL). The even and odd images that constitute one
interlaced image are extracted and used as separate images for dynamic analysis.
An obvious yet very important issue is that of acquisition hardware quality and any other mea-
sures taken to improve the quality of the acquired images. The importance of utilising the highest
1All the even lines belong to one image and the odd lines to the other.
41
Page 57
Chapter 4. Practical Implementation 4.2. Fluxar Flotation Control System
Figure 4.2: Camera setup
42
Figure 4.2: Camera setup
42
Page 59
Chapter 4. Practical Implementation 4.3. Implementations of Froth Surface Analysis
4.3.1 Analysis kernel
The analysis kernel is a body of program code that implements most of the froth surface analysis
logic in a platform-independent and reusable manner. It consists of object oriented C++ source
code and is primarily developed on the Linux operating system, due to its standards compli-
ant development tools and overall stability. Note that the analysis kernel source code remains
platform-independent, i.e. it can be recompiled on other operating systems and processor types
without modification.
4.3.2 Fluxar-SP
Fluxar-SP is the Fluxar Sensor Platform, a general-purpose froth surface video acquisition and
analysis application. It is the most full-featured application of the froth analysis kernel and offers
its operator access to all the image analysis and parameter extraction algorithms shown in table
3.1. It was designed primarily for deployment as the measurement component of the complete
Fluxar flotation control system, which is documented in section 4.2, but is also very valuable as
a research tool.
The package is able to capture images from live video input from up to four channels and perform
any combination of analyses and parameter extractions on the captured images. The extracted
information is stored in a remote or local SQL database for use by the other components in the
flotation control system. All parameters of the acquisition and analysis are configurable by the
operator through the user-friendly graphical user-interface. Figure 4.4 shows some of Fluxar-
SP’s user-interface elements.
Operators are able to view live video from the current acquisition channel and examine calcu-
lated histograms and extracted data as they are generated. Figure 3.2 shows a sample histogram
as displayed by the package. Several output images are also shown as they are generated, namely
an image with bubble segmentation lines overlaid, an image with region-based motion vectors
overlaid, and an image with bubble-based vectors overlaid. A screen-shot of a sample image
display window is shown in figure 4.5. This visual feedback enables the operator to quantita-
tively judge the performance of the algorithms. The operator can also view the values of scalar
parameters as they are extracted by making use of the database viewer shown in figure 4.6.
As mentioned earlier, Fluxar-SP offers a very convenient way of configuring the various available
algorithms, thus facilitating its operation by plant operators. In addition, this functionality makes
it a valuable tool for experimentation with the froth analysis algorithms. Figure 4.7 shows the
analysis options dialogue box. Here the user is able to adjust the motion estimation parameters
by selecting the region of interest with a mouse and by entering block size and search area
parameters using the supplied controls. The marker bubble area ratio threshold (see section
2.1.3.1) is adjustable and the oversegmentation correction (see section 2.1.1.4) can be activated or
44
4.3.1 Analysis kernel
The analysis kernel is a body of program code that implements most of the froth surface analysis
logic in a platform-independent and reusable manner. It consists of object oriented C++ source
code and is primarily developed on the Linux operating system, due to its standards compli-
ant development tools and overall stability. Note that the analysis kernel source code remains
platform-independent, i.e. it can be recompiled on other operating systems and processor types
without modification.
4.3.2 Fluxar-SP
Fluxar-SP is the Fluxar Sensor Platform, a general-purpose froth surface video acquisition and
analysis application. It is the most full-featured application of the froth analysis kernel and offers
its operator access to all the image analysis and parameter extraction algorithms shown in table
3.1. It was designed primarily for deployment as the measurement component of the complete
Fluxar flotation control system, which is documented in section 4.2, but is also very valuable as
a research tool.
The package is able to capture images from live video input from up to four channels and perform
any combination of analyses and parameter extractions on the captured images. The extracted
information is stored in a remote or local SQL database for use by the other components in the
flotation control system. All parameters of the acquisition and analysis are configurable by the
operator through the user-friendly graphical user-interface. Figure 4.4 shows some of Fluxar-
SP’s user-interface elements.
Operators are able to view live video from the current acquisition channel and examine calcu-
lated histograms and extracted data as they are generated. Figure 3.2 shows a sample histogram
as displayed by the package. Several output images are also shown as they are generated, namely
an image with bubble segmentation lines overlaid, an image with region-based motion vectors
overlaid, and an image with bubble-based vectors overlaid. A screen-shot of a sample image
display window is shown in figure 4.5. This visual feedback enables the operator to quantita-
tively judge the performance of the algorithms. The operator can also view the values of scalar
parameters as they are extracted by making use of the database viewer shown in figure 4.6.
As mentioned earlier, Fluxar-SP offers a very convenient way of configuring the various available
algorithms, thus facilitating its operation by plant operators. In addition, this functionality makes
it a valuable tool for experimentation with the froth analysis algorithms. Figure 4.7 shows the
analysis options dialogue box. Here the user is able to adjust the motion estimation parameters
by selecting the region of interest with a mouse and by entering block size and search area
parameters using the supplied controls. The marker bubble area ratio threshold (see section
2.1.3.1) is adjustable and the oversegmentation correction (see section 2.1.1.4) can be activated or
44
Page 62
Chapter 4. Practical Implementation 4.3. Implementations of Froth Surface Analysis
Figure 4.7: Screen-shot of Fluxar-SP Global Analysis Options dialogue
Figure 4.8: Screen-shot of Fluxar-SP Algorithm Options dialogue
47
Figure 4.7: Screen-shot of Fluxar-SP Global Analysis Options dialogue
Figure 4.8: Screen-shot of Fluxar-SP Algorithm Options dialogue
47
Page 65
Chapter 4. Practical Implementation 4.3. Implementations of Froth Surface Analysis
sample at periods that are an integral multiple of 20ms, whereas the customary sampling rate for
industrial setups is 30 to 90 seconds. The results of this novel experiment are detailed in chapter
5.
50
sample at periods that are an integral multiple of 20ms, whereas the customary sampling rate for
industrial setups is 30 to 90 seconds. The results of this novel experiment are detailed in chapter
5.
50
Page 68
Chapter 5. Performance and Impact 5.2. Continuous Sampling Experiment
0 motion of a greater magnitude, more incorrect bubble-motion vectors would be generated in
regions with smaller bubbles.
The maximum detectable magnitude of motion detectable by the region-based motion estimation
is limited by the size of the search area. This size is adjustable however. Although making it
larger increases accuracy, the size increase increases execution time significantly.
5.1.2 Qualitative judgement
Extensive qualitative measurements of the algorithms’ performance were made by examining
its graphical outputs both on the extraction plant and in the laboratory with hours of recorded
flotation froth video footage. The graphical outputs are segmented images such as that in figure
2.8 and images with calculated motion vectors overlaid such as that in figures 2.13 and 2.14.
Judging by these observations, the algorithms perform satisfactorily.
5.2 Continuous Sampling Experiment
When the froth surface analysis software is in use on the plant, typical image sampling periods are
at the very least 15 seconds, more often 30 to 120 seconds. This is also the norm for JKFrothCam
[16]. This period is very short in comparison to the time constants of processes on the plant where
a disturbance is considered very fast if it lasts an half-hour. Because of this, no work has been
published on the analysis of continuous sampling and analysis of froth surface video data. In the
course of this work, some investigations were made into this.
Video from a laboratory flotation cell and from four industrial cells in a South African platinum
extraction plant was used. Segments of 16 seconds (representing 400 images at 25 images per
second) were digitised, as well as longer segments of 2 minutes (representing 1500 images at
12.5 images per second). Full static and dynamic analyses were performed on some 19200
images. The continuous sampling platform of section 4.3.4 was used to perform the digitising
and analysis. Interlaced images of dimensions 380x284 pixels were captured, of which only the
even fields were used for these analyses. The region of interest for the area-based motion analysis
was chosen on the grounds of the location of the weir which varies for our datasets, but was kept
to a third of the image area. The effective partitioning (motion block) size for the region-based
motion estimation was chosen as 10x10 pixels and the search area as a 16x16 congruent block.
On an entry-level Intel Celeron 366MHz computer, a full static analysis on one image and a full
dynamic analysis on that image and the next takes on average 2.5 seconds.
On the grounds of the investigation of the analyses results, several important observations can be
made.
53
0 motion of a greater magnitude, more incorrect bubble-motion vectors would be generated in
regions with smaller bubbles.
The maximum detectable magnitude of motion detectable by the region-based motion estimation
is limited by the size of the search area. This size is adjustable however. Although making it
larger increases accuracy, the size increase increases execution time significantly.
5.1.2 Qualitative judgement
Extensive qualitative measurements of the algorithms’ performance were made by examining
its graphical outputs both on the extraction plant and in the laboratory with hours of recorded
flotation froth video footage. The graphical outputs are segmented images such as that in figure
2.8 and images with calculated motion vectors overlaid such as that in figures 2.13 and 2.14.
Judging by these observations, the algorithms perform satisfactorily.
5.2 Continuous Sampling Experiment
When the froth surface analysis software is in use on the plant, typical image sampling periods are
at the very least 15 seconds, more often 30 to 120 seconds. This is also the norm for JKFrothCam
[16]. This period is very short in comparison to the time constants of processes on the plant where
a disturbance is considered very fast if it lasts an half-hour. Because of this, no work has been
published on the analysis of continuous sampling and analysis of froth surface video data. In the
course of this work, some investigations were made into this.
Video from a laboratory flotation cell and from four industrial cells in a South African platinum
extraction plant was used. Segments of 16 seconds (representing 400 images at 25 images per
second) were digitised, as well as longer segments of 2 minutes (representing 1500 images at
12.5 images per second). Full static and dynamic analyses were performed on some 19200
images. The continuous sampling platform of section 4.3.4 was used to perform the digitising
and analysis. Interlaced images of dimensions 380x284 pixels were captured, of which only the
even fields were used for these analyses. The region of interest for the area-based motion analysis
was chosen on the grounds of the location of the weir which varies for our datasets, but was kept
to a third of the image area. The effective partitioning (motion block) size for the region-based
motion estimation was chosen as 10x10 pixels and the search area as a 16x16 congruent block.
On an entry-level Intel Celeron 366MHz computer, a full static analysis on one image and a full
dynamic analysis on that image and the next takes on average 2.5 seconds.
On the grounds of the investigation of the analyses results, several important observations can be
made.
53
Page 70
Chapter 5. Performance and Impact 5.2. Continuous Sampling Experiment
Figure 5.2: Segmented froth images corresponding to graph in figure 5.1. Images 144–149 left to right, top to
bottom.
55
Figure 5.2: Segmented froth images corresponding to graph in figure 5.1. Images 144–149 left to right, top to
bottom.
55
Page 74
Chapter 5. Performance and Impact 5.2. Continuous Sampling Experiment
0 50 100 150 200 250 300 350 400400
600
800
1000
1200
1400
1600
1800
2000
Image
Ave
rage
Are
a [Pi
xels]
Figure 5.6: Average bubble size signal filtered with α-trimmed mean filter with N = 10 and α = 0.2
moving window, and the output of the L-filter is the numerical average of the remaining values.
Larger α values result in a closer resemblance to a median filter and smaller values result in a
closer resemblance to a mean filter.
A median filter discards impulse noise well, but is not well-adapted for additive Gaussian noise
removal, whilst the mean filter handles additive Gaussian noise well, but fairs badly with im-
pulsive noise [28]. The trimmed mean filter is a compromise which yields good results in cases
where impulsive noise and Gaussian noise are present. In our case, there is impulsive “noise”
which can be attributed to the sensitivity of the segmentation-based parameters and we assume
that the segmentation error can be modelled as Gaussian noise.
Figure 5.6 shows the signal in figure 5.5 after having been filtered with an α-trimmed filter with
N = 10 and α = 0.2.
As a quick illustration of the segmentation performance, the segmentations of images 117, 132
and 152 are shown in figure 5.7. The first image represents the highest peak of the bubble size
plot in figure 5.6, the third image represents the deep trough immediately following it, and the
second image is halfway between them. From the input images the large drop in average bubble
size is clearly visible.
5.2.3 Continuous Video Dynamic Analysis
The average horizontal or vertical motion is the numerical average of the applicable rectangular
components of the calculated vector field. The vector field is the array of motion vectors gen-
59
0 50 100 150 200 250 300 350 400400
600
800
1000
1200
1400
1600
1800
2000
Image
Ave
rage
Are
a [Pi
xels]
Figure 5.6: Average bubble size signal filtered with α-trimmed mean filter with N = 10 and α = 0.2
moving window, and the output of the L-filter is the numerical average of the remaining values.
Larger α values result in a closer resemblance to a median filter and smaller values result in a
closer resemblance to a mean filter.
A median filter discards impulse noise well, but is not well-adapted for additive Gaussian noise
removal, whilst the mean filter handles additive Gaussian noise well, but fairs badly with im-
pulsive noise [28]. The trimmed mean filter is a compromise which yields good results in cases
where impulsive noise and Gaussian noise are present. In our case, there is impulsive “noise”
which can be attributed to the sensitivity of the segmentation-based parameters and we assume
that the segmentation error can be modelled as Gaussian noise.
Figure 5.6 shows the signal in figure 5.5 after having been filtered with an α-trimmed filter with
N = 10 and α = 0.2.
As a quick illustration of the segmentation performance, the segmentations of images 117, 132
and 152 are shown in figure 5.7. The first image represents the highest peak of the bubble size
plot in figure 5.6, the third image represents the deep trough immediately following it, and the
second image is halfway between them. From the input images the large drop in average bubble
size is clearly visible.
5.2.3 Continuous Video Dynamic Analysis
The average horizontal or vertical motion is the numerical average of the applicable rectangular
components of the calculated vector field. The vector field is the array of motion vectors gen-
59
Page 76
Chapter 5. Performance and Impact 5.2. Continuous Sampling Experiment
0 50 100 150 200 250 300 350 400−6
−5.5
−5
−4.5
−4
−3.5
−3
−2.5
−2
−1.5
−1
Image
Hor
izon
tal M
otio
n [Pi
xels]
Figure 5.8: Plot of average horizontal pixel motion as calculated by the region-based motion estimation over 400
images sampled at 25 images per second from on-plant scavenger cell. The darker line is a version
smoothed with an α-trimmed means filter with α = 0.2 and N = 10.
erated by the region-based motion estimation, where one motion vector is calculated for each
partitioned motion block.
Figure 5.8 is a plot of the region-based motion estimation calculated average horizontal motion
over 400 images sampled at 25 images per second from an on-plant scavenger cell and 5.9 is a
plot of the per image standard deviation of this parameter. This sampling of the scavenger shows
a relatively continuous horizontal flow over 16 seconds and the standard deviation values are
relatively small in comparison to the average horizontal motion values that they correspond with.
Examining the sample images also show that the motion vectors calculated for each image are
generally in full agreement, i.e. they are all of almost equal magnitude and pointing in the same
direction. Keep in mind that each vector represents the motion of a separate independent parti-
tioned block of the motion region of interest. This behaviour is to be expected of a flotation cell
which is kept under effective control. There are no major step discontinuities in the motion and
the standard deviations are relatively small indicating that the region of interest is experiencing
constant translational motion.
In order to demonstrate the behaviour of parameters extracted from froth which is not so well-
behaved, a sample set of images captured of laboratory laboratory froth was analysed. Figures
5.10 shows a section of the average vertical motion plot and figure 5.11 shows the corresponding
per-image standard deviation.
This section has been chosen to illustrate how average motion standard deviation and average
motion itself reflect froth events such as bubble bursts, and indirectly froth stability. At image
357 the standard deviation is relatively low in comparison the the vertical motion. The first
61
0 50 100 150 200 250 300 350 400−6
−5.5
−5
−4.5
−4
−3.5
−3
−2.5
−2
−1.5
−1
Image
Hor
izon
tal M
otio
n [Pi
xels]
Figure 5.8: Plot of average horizontal pixel motion as calculated by the region-based motion estimation over 400
images sampled at 25 images per second from on-plant scavenger cell. The darker line is a version
smoothed with an α-trimmed means filter with α = 0.2 and N = 10.
erated by the region-based motion estimation, where one motion vector is calculated for each
partitioned motion block.
Figure 5.8 is a plot of the region-based motion estimation calculated average horizontal motion
over 400 images sampled at 25 images per second from an on-plant scavenger cell and 5.9 is a
plot of the per image standard deviation of this parameter. This sampling of the scavenger shows
a relatively continuous horizontal flow over 16 seconds and the standard deviation values are
relatively small in comparison to the average horizontal motion values that they correspond with.
Examining the sample images also show that the motion vectors calculated for each image are
generally in full agreement, i.e. they are all of almost equal magnitude and pointing in the same
direction. Keep in mind that each vector represents the motion of a separate independent parti-
tioned block of the motion region of interest. This behaviour is to be expected of a flotation cell
which is kept under effective control. There are no major step discontinuities in the motion and
the standard deviations are relatively small indicating that the region of interest is experiencing
constant translational motion.
In order to demonstrate the behaviour of parameters extracted from froth which is not so well-
behaved, a sample set of images captured of laboratory laboratory froth was analysed. Figures
5.10 shows a section of the average vertical motion plot and figure 5.11 shows the corresponding
per-image standard deviation.
This section has been chosen to illustrate how average motion standard deviation and average
motion itself reflect froth events such as bubble bursts, and indirectly froth stability. At image
357 the standard deviation is relatively low in comparison the the vertical motion. The first
61
Page 78
Chapter 5. Performance and Impact 5.2. Continuous Sampling Experiment
354 355 356 357 358 359 360 361 362 363
−3
−2
−1
0
1
2
3
4
5
6
7
Image
Ver
tica
l Mo
tion
[Pix
els]
Figure 5.10: Section of plot of average vertical pixel motion for 400 images sampled at 25 images per second from
laboratory flotation cell.
355 356 357 358 359 360 361 362 363 364
0.05
0.1
0.15
0.2
0.25
Image
Ver
tica
l Mo
tion
Sta
nda
rd D
evia
tion
[Pix
els]
Figure 5.11: Section of plot of average vertical pixel motion per image standard deviation for 400 images sampled
at 25 images per second from laboratory flotation cell. Corresponds with figure 5.10
63
354 355 356 357 358 359 360 361 362 363
−3
−2
−1
0
1
2
3
4
5
6
7
Image
Ver
tica
l Mo
tion
[Pix
els]
Figure 5.10: Section of plot of average vertical pixel motion for 400 images sampled at 25 images per second from
laboratory flotation cell.
355 356 357 358 359 360 361 362 363 364
0.05
0.1
0.15
0.2
0.25
Image
Ver
tica
l Mo
tion
Sta
nda
rd D
evia
tion
[Pix
els]
Figure 5.11: Section of plot of average vertical pixel motion per image standard deviation for 400 images sampled
at 25 images per second from laboratory flotation cell. Corresponds with figure 5.10
63
Page 81
Chapter 5. Performance and Impact 5.3. Performance and Impact on Flotation Plants
automatically, it simply recommends control actions.
Very importantly, reports by process engineers involved at the plant state that during closed-loop
control by the Fluxar system the deviation of monitored variables from their ideal set points is
smaller than when control is performed by human operators. Also, short-lived deviations which
are often missed by human operators are flawlessly handled by the control system. The control
system is definitely able to stabilise the flotation process effectively. During advisory operation,
the control system’s recommendations independently mimic the control actions taken by the froth
operators. These things are at the least an added indication that the sensor platform, forming an
integral part of the Fluxar control system, is fulfilling its function satisfactorily.
The JKMRC indicate that they have achieved 17% increased recovery of combustible coal at
Peak Downs (a coal mine in Australia) and 1.2% at 92% confidence at Escondida (a copper mine
in Chile) using their JKFrothCam system [16]. Fluxar-SP is able to extract considerably more
visual information than JKFrothCam at high accuracy. It has the potential for the same or better
performance than JKFrothCam.
66
automatically, it simply recommends control actions.
Very importantly, reports by process engineers involved at the plant state that during closed-loop
control by the Fluxar system the deviation of monitored variables from their ideal set points is
smaller than when control is performed by human operators. Also, short-lived deviations which
are often missed by human operators are flawlessly handled by the control system. The control
system is definitely able to stabilise the flotation process effectively. During advisory operation,
the control system’s recommendations independently mimic the control actions taken by the froth
operators. These things are at the least an added indication that the sensor platform, forming an
integral part of the Fluxar control system, is fulfilling its function satisfactorily.
The JKMRC indicate that they have achieved 17% increased recovery of combustible coal at
Peak Downs (a coal mine in Australia) and 1.2% at 92% confidence at Escondida (a copper mine
in Chile) using their JKFrothCam system [16]. Fluxar-SP is able to extract considerably more
visual information than JKFrothCam at high accuracy. It has the potential for the same or better
performance than JKFrothCam.
66
Page 83
Chapter 6. Conclusions 6.2. Contribution
applications. It is able to perform a full static and two-image dynamic analysis in a few sec-
onds, depending on the capturing and analysis parameters. Literature does not mention a single
complete implementation such as this.
Three software packages incorporating this froth analysis kernel were developed. The most
extensive one, Fluxar-SP, affords its user easy and user-friendly access to all the froth analysis
algorithms and post-processing functionality through a graphical user interface. It is able to
acquire image data from four multiplexed video input channels so that it can be deployed in
an on-line fashion on flotation plants as the measurement component of an automatic control
system. It is also able to acquire data from images stored on disc so that froth images can be
analysed off-line. This enables it to be used for after-the-fact analysis of process events as well
as a low-cost research tool. Fluxar-SP has proved to be a robust application and has shown in
practice that it can fulfil its purpose as the sensor component of an automatic flotation control
system. It is in use in selected research setups and in an industrial flotation plant.
Fluxar-Speed is an embedded application of the froth analysis system and is used on plants
where a low-cost mobility-monitoring device is required. Because it only has to extract and
output mobility information, it can do this at the rate of 10 or more samples per second. This
tool is in the process of going to international market.
The Continuous Sampling Platform is a research tool that was designed to capture large batches
of continuous video data and analyse them off-line. It performs all available static and dy-
namic analyses on the captured data and stores all extracted information for experimental post-
processing and investigation.
The performance and impact of the algorithms were then investigated. The difficulty of theo-
retically quantifying froth analysis algorithm accuracy was explained and an attempt was made
at partly validating the mobility analyses. A significant preliminary study was done on selected
issues pertaining to continuous video flotation froth analysis and it was shown that this is a very
promising avenue of research for froth visual analysis. Using the video data that was captured,
an important issue of parameter stability vs. parameter accuracy was also discussed. The chapter
concluded with a short discussion on the performance and impact of the froth analysis system on
flotation plants.
6.2 Contribution
This work yields several important contributions to the froth analysis industry:
1. This work provides a knowledge base for further research and development in computa-
tional vision flotation froth analysis specifically, extending the more general knowledge
base for machine vision control of flotation provided by Eksteen’s work [1].
68
applications. It is able to perform a full static and two-image dynamic analysis in a few sec-
onds, depending on the capturing and analysis parameters. Literature does not mention a single
complete implementation such as this.
Three software packages incorporating this froth analysis kernel were developed. The most
extensive one, Fluxar-SP, affords its user easy and user-friendly access to all the froth analysis
algorithms and post-processing functionality through a graphical user interface. It is able to
acquire image data from four multiplexed video input channels so that it can be deployed in
an on-line fashion on flotation plants as the measurement component of an automatic control
system. It is also able to acquire data from images stored on disc so that froth images can be
analysed off-line. This enables it to be used for after-the-fact analysis of process events as well
as a low-cost research tool. Fluxar-SP has proved to be a robust application and has shown in
practice that it can fulfil its purpose as the sensor component of an automatic flotation control
system. It is in use in selected research setups and in an industrial flotation plant.
Fluxar-Speed is an embedded application of the froth analysis system and is used on plants
where a low-cost mobility-monitoring device is required. Because it only has to extract and
output mobility information, it can do this at the rate of 10 or more samples per second. This
tool is in the process of going to international market.
The Continuous Sampling Platform is a research tool that was designed to capture large batches
of continuous video data and analyse them off-line. It performs all available static and dy-
namic analyses on the captured data and stores all extracted information for experimental post-
processing and investigation.
The performance and impact of the algorithms were then investigated. The difficulty of theo-
retically quantifying froth analysis algorithm accuracy was explained and an attempt was made
at partly validating the mobility analyses. A significant preliminary study was done on selected
issues pertaining to continuous video flotation froth analysis and it was shown that this is a very
promising avenue of research for froth visual analysis. Using the video data that was captured,
an important issue of parameter stability vs. parameter accuracy was also discussed. The chapter
concluded with a short discussion on the performance and impact of the froth analysis system on
flotation plants.
6.2 Contribution
This work yields several important contributions to the froth analysis industry:
1. This work provides a knowledge base for further research and development in computa-
tional vision flotation froth analysis specifically, extending the more general knowledge
base for machine vision control of flotation provided by Eksteen’s work [1].
68
Page 84
Chapter 6. Conclusions 6.3. Future Work
2. It includes the most complete froth surface visual analysis implementation known to exist.
This is in the form of a reusable and portable kernel that can be re-deployed in any number
of froth surface analysis applications. In addition, a full static (including complete bubble-
segmentation) and dynamic analysis can be performed in a few seconds.
3. Three practical applications have been created. Fluxar-SP is a complete and operator-
friendly front-end to the froth analysis kernel for on-plant and research use. Fluxar-Speed
is an embedded mobility monitoring device that will find widespread industrial use. The
continuous sampling platform is a valuable research tool for investigations into an inter-
esting new direction.
4. Fluxar-SP is installed in a factory and although no conclusive results concerning its per-
formance are available, it is performing very satisfactorily as a robust and accurate froth
analysis platform. It is important to note that this development took place in close coop-
eration with the froth operators and chemical engineers who make use of it, and is thus
well-adapted for practical use in industrial environments.
5. Novel additions to froth analysis algorithms:
• Two methods for fine froth detection in froth images.
• A heuristic method for post-segmentation over-segmentation correction.
• An algorithm for the extraction of per-bubble motion.
• The first application of forget-factor based filtering to froth parameter histograms
6. A preliminary investigation into continuous video froth analysis was performed and se-
lected issues were discussed. There is no literature on previous experiments of this kind.
The implementation infrastructure for our investigation can be re-used for further research.
6.3 Future Work
This work opens up several new and interesting opportunities for other research. From an image-
processing perspective, a very valuable contribution to the froth surface analysis field would be
the creation of a reference database of images that also contains human froth-operator and chem-
ical engineering information describing each image’s significance to the process. This database
could be used to benchmark froth analysis and classification algorithms, as well as being a very
valuable tool in operator training.
The analysis software developed as part of this work facilitates the investigation of various clas-
sifiers and other pattern-recognition constructs for the automatic extraction of process variables
from imaging parameters. Up to now, most work has been done on classifying froth types on the
grounds of texture-related information. Now we have access to parameters representing physical
69
2. It includes the most complete froth surface visual analysis implementation known to exist.
This is in the form of a reusable and portable kernel that can be re-deployed in any number
of froth surface analysis applications. In addition, a full static (including complete bubble-
segmentation) and dynamic analysis can be performed in a few seconds.
3. Three practical applications have been created. Fluxar-SP is a complete and operator-
friendly front-end to the froth analysis kernel for on-plant and research use. Fluxar-Speed
is an embedded mobility monitoring device that will find widespread industrial use. The
continuous sampling platform is a valuable research tool for investigations into an inter-
esting new direction.
4. Fluxar-SP is installed in a factory and although no conclusive results concerning its per-
formance are available, it is performing very satisfactorily as a robust and accurate froth
analysis platform. It is important to note that this development took place in close coop-
eration with the froth operators and chemical engineers who make use of it, and is thus
well-adapted for practical use in industrial environments.
5. Novel additions to froth analysis algorithms:
• Two methods for fine froth detection in froth images.
• A heuristic method for post-segmentation over-segmentation correction.
• An algorithm for the extraction of per-bubble motion.
• The first application of forget-factor based filtering to froth parameter histograms
6. A preliminary investigation into continuous video froth analysis was performed and se-
lected issues were discussed. There is no literature on previous experiments of this kind.
The implementation infrastructure for our investigation can be re-used for further research.
6.3 Future Work
This work opens up several new and interesting opportunities for other research. From an image-
processing perspective, a very valuable contribution to the froth surface analysis field would be
the creation of a reference database of images that also contains human froth-operator and chem-
ical engineering information describing each image’s significance to the process. This database
could be used to benchmark froth analysis and classification algorithms, as well as being a very
valuable tool in operator training.
The analysis software developed as part of this work facilitates the investigation of various clas-
sifiers and other pattern-recognition constructs for the automatic extraction of process variables
from imaging parameters. Up to now, most work has been done on classifying froth types on the
grounds of texture-related information. Now we have access to parameters representing physical
69
Page 87
Bibliography Bibliography
[10] P. J. Symonds and G. de Jager, “A technique for autmatically segmenting images of the
surface froth structures that are prevalent in industrial flotation cells,” in Proceedings of the
South African Symposium on Communications and Signal Processing, pp. 111–115, 1992.
[11] D. W. Moolman, C. Aldrich, and J. S. J. van Deventer, “The monitoring of froth surfaces
on industrial flotation plants using connectionist image processing techniques,” Minerals
Engineering, vol. 8, no. 1–2, pp. 23–30, 1995.
[12] L. H. Siew, R. M. Hodgson, and E. J. Wood, “Texture Measures for Carpet Wear Assess-
ment,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 10, pp. 92–
105, January 1988.
[13] N. Sadr-Kazemi and J. J. Cilliers, “An image processing algorithm for measurement of
flotation froth bubble size and shape distributions,” Minerals Engineering, vol. 10, no. 10,
pp. 1075–1083, 1997.
[14] J. J. Francis and G. de Jager, “An investigation into the suitability of various motion estima-
tion algorithms for froth imaging,” in Proceedings of the IEEE South African Symposium
on Communications and Signal Processing, pp. 139–142, September 1998.
[15] A. Cipriano, M. Guarini, R. Vidal, A. Soto, C. Sepu´lveda, D. Mery, and H. Brisen`o, “A real
time visual sensor for supervision of flotation cells,” Minerals Engineering, July-August
1997.
[16] P. N. Holtham, K. K. Nguyen, and P. M. Cameron, “Recent Developments in the Applica-
tion of Froth Imaging Techniques to the Control of Flotation Plants,” in Mineral Processing,
South African Institute of Mining and Metallurgy, 1999.
[17] L. Vincent and P. Soille, “Watersheds in digital spaces: An efficient algorithm based on
immersion simulations,” IEEE Transactions on Pattern Analysis and Machine Intelligence,
vol. 13, pp. 583–598, June 1991.
[18] L. Vincent, “Morphological grayscale reconstruction in image analysis: Applications and
efficient algorithms,” IEEE Transactions on Pattern Analysis and Machine Intelligence,
vol. 2, pp. 176–201, April 1993.
[19] E. R. Dougherty, An Introduction to Morphological Image Processing. SPIE Optical Engi-
neering Press, 1992.
[20] C. P. Botha, D. M. Weber, M. van Olst, and D. W. Moolman, “A practical system for real-
time on-plant flotation froth visual parameter extraction,” in Proceedings of IEEE Africon,
September 1999.
[21] S. Zafar, Y.-Q. Zhang, and J. S. Baras, “Predictive Block-Matching Motion Estimation for
TV Coding – Part I: Inter-Block Prediction,” IEEE Transactions on Broadcasting, vol. 37,
pp. 97–101, September 1991.
72
[10] P. J. Symonds and G. de Jager, “A technique for autmatically segmenting images of the
surface froth structures that are prevalent in industrial flotation cells,” in Proceedings of the
South African Symposium on Communications and Signal Processing, pp. 111–115, 1992.
[11] D. W. Moolman, C. Aldrich, and J. S. J. van Deventer, “The monitoring of froth surfaces
on industrial flotation plants using connectionist image processing techniques,” Minerals
Engineering, vol. 8, no. 1–2, pp. 23–30, 1995.
[12] L. H. Siew, R. M. Hodgson, and E. J. Wood, “Texture Measures for Carpet Wear Assess-
ment,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 10, pp. 92–
105, January 1988.
[13] N. Sadr-Kazemi and J. J. Cilliers, “An image processing algorithm for measurement of
flotation froth bubble size and shape distributions,” Minerals Engineering, vol. 10, no. 10,
pp. 1075–1083, 1997.
[14] J. J. Francis and G. de Jager, “An investigation into the suitability of various motion estima-
tion algorithms for froth imaging,” in Proceedings of the IEEE South African Symposium
on Communications and Signal Processing, pp. 139–142, September 1998.
[15] A. Cipriano, M. Guarini, R. Vidal, A. Soto, C. Sepu´lveda, D. Mery, and H. Brisen`o, “A real
time visual sensor for supervision of flotation cells,” Minerals Engineering, July-August
1997.
[16] P. N. Holtham, K. K. Nguyen, and P. M. Cameron, “Recent Developments in the Applica-
tion of Froth Imaging Techniques to the Control of Flotation Plants,” in Mineral Processing,
South African Institute of Mining and Metallurgy, 1999.
[17] L. Vincent and P. Soille, “Watersheds in digital spaces: An efficient algorithm based on
immersion simulations,” IEEE Transactions on Pattern Analysis and Machine Intelligence,
vol. 13, pp. 583–598, June 1991.
[18] L. Vincent, “Morphological grayscale reconstruction in image analysis: Applications and
efficient algorithms,” IEEE Transactions on Pattern Analysis and Machine Intelligence,
vol. 2, pp. 176–201, April 1993.
[19] E. R. Dougherty, An Introduction to Morphological Image Processing. SPIE Optical Engi-
neering Press, 1992.
[20] C. P. Botha, D. M. Weber, M. van Olst, and D. W. Moolman, “A practical system for real-
time on-plant flotation froth visual parameter extraction,” in Proceedings of IEEE Africon,
September 1999.
[21] S. Zafar, Y.-Q. Zhang, and J. S. Baras, “Predictive Block-Matching Motion Estimation for
TV Coding – Part I: Inter-Block Prediction,” IEEE Transactions on Broadcasting, vol. 37,
pp. 97–101, September 1991.
72
Page 88
Bibliography Bibliography
[22] A. K. Jain, Fundamentals of Digital Image Processing. Prentice Hall, 1989.
[23] R. N. Bracewell, Two-Dimensional Imaging. Prentice Hall, 1995.
[24] C. Stiller and J. Konrad, “Estimating Motion in Image Sequences,” IEEE Signal Processing
Magazine, vol. 16, pp. 70–91, July 1999.
[25] J. Peyton Z. Peebles, Probability, Random Variables, and Random Signal Principles.
McGraw-Hill, 1993.
[26] M. Nadler and E. P. Smith, Pattern Recognition Engineering. John Wiley & Sons, 1992.
[27] M. Sonka, V. Hlavac, and R. Boyle, Image Processing, Analysis and Machine Vision. Chap-
man & Hall, 1993.
[28] J. Astola and P. Kuosmanen, Fundamentals of Nonlinear Digital Filtering. CRC Press,
1997.
[29] Crusader Systems, “Crusader Systems Company Web Site,” 1999.
http://www.crusader.co.za/.
[30] Crusader Systems, “Fluxar Web Site,” 1999. http://www.fluxar.com/.
[31] K. V. Mardia, Statistics of Directional Data. Academic Press, 1972.
73
[22] A. K. Jain, Fundamentals of Digital Image Processing. Prentice Hall, 1989.
[23] R. N. Bracewell, Two-Dimensional Imaging. Prentice Hall, 1995.
[24] C. Stiller and J. Konrad, “Estimating Motion in Image Sequences,” IEEE Signal Processing
Magazine, vol. 16, pp. 70–91, July 1999.
[25] J. Peyton Z. Peebles, Probability, Random Variables, and Random Signal Principles.
McGraw-Hill, 1993.
[26] M. Nadler and E. P. Smith, Pattern Recognition Engineering. John Wiley & Sons, 1992.
[27] M. Sonka, V. Hlavac, and R. Boyle, Image Processing, Analysis and Machine Vision. Chap-
man & Hall, 1993.
[28] J. Astola and P. Kuosmanen, Fundamentals of Nonlinear Digital Filtering. CRC Press,
1997.
[29] Crusader Systems, “Crusader Systems Company Web Site,” 1999.
http://www.crusader.co.za/.
[30] Crusader Systems, “Fluxar Web Site,” 1999. http://www.fluxar.com/.
[31] K. V. Mardia, Statistics of Directional Data. Academic Press, 1972.
73
Page 91
Appendix A. Circular Statistics A.1. Selected statistic measures
A measure of total dispersion D of all sample points from P could then be defined as
D =
1
n
n
∑
i=1
(1− cosζi)
and
D =
1
n
n
∑
i=1
(1− cos(θi −α)) (A.1)
if we rotate the zero direction by α degrees, i.e. we are measuring the total dispersion from the
vector representing an angle of α degrees.
Setting equation A.1 equal to zero and taking the derivative with respect to α yields
n
∑
i=1
sin(θi −α) = 0
showing that the dispersion is smallest about α. If α = x0 (i.e. the mean) then we have that the
dispersion (equation A.1) is a minimum about the mean, which is a desirable property.
We can write D as a dispersion about the mean x0 and call it S0, the circular variance, as in
S0 = 1−
1
n
n
∑
i=1
cos(θi − x0) (A.2)
Setting
R =
1
n
√
(
n
∑
i=1
cosθi)2 +(
n
∑
i=1
sinθi)2
with R being the mean resultant length (of all the unit vectors representing the sample angles)
and keeping in mind that
1
n
n
∑
i=1
cosθi = Rcosx0
1
n
n
∑
i=1
sinθi = Rsinx0
equation A.2 can be reduced to
S0 = 1−R
In order to transform this to the interval (0,∞), the following transformation is applicable:
s0 =
√
{−2ln(1−S0)}
which is defined as the circular standard deviation.
76
A measure of total dispersion D of all sample points from P could then be defined as
D =
1
n
n
∑
i=1
(1− cosζi)
and
D =
1
n
n
∑
i=1
(1− cos(θi −α)) (A.1)
if we rotate the zero direction by α degrees, i.e. we are measuring the total dispersion from the
vector representing an angle of α degrees.
Setting equation A.1 equal to zero and taking the derivative with respect to α yields
n
∑
i=1
sin(θi −α) = 0
showing that the dispersion is smallest about α. If α = x0 (i.e. the mean) then we have that the
dispersion (equation A.1) is a minimum about the mean, which is a desirable property.
We can write D as a dispersion about the mean x0 and call it S0, the circular variance, as in
S0 = 1−
1
n
n
∑
i=1
cos(θi − x0) (A.2)
Setting
R =
1
n
√
(
n
∑
i=1
cosθi)2 +(
n
∑
i=1
sinθi)2
with R being the mean resultant length (of all the unit vectors representing the sample angles)
and keeping in mind that
1
n
n
∑
i=1
cosθi = Rcosx0
1
n
n
∑
i=1
sinθi = Rsinx0
equation A.2 can be reduced to
S0 = 1−R
In order to transform this to the interval (0,∞), the following transformation is applicable:
s0 =
√
{−2ln(1−S0)}
which is defined as the circular standard deviation.
76
Page 92
Appendix A. Circular Statistics A.2. Angular Distributions on the range (0,2pi/l)
A.2 Angular Distributions on the range (0,2pi/l)
Consider a random variable θ that is entirely on the range (0,2pi/l), i.e. regard it as only having
values in that range. Define
θ′ = lθ
which will have values on the interval (0,2pi).
Now, if we define x′0 and s′0 respectively as the mean direction and circular standard deviation of
θ′, then the mean of θ
x0 = x
′
0/l
and the deviation of θ
s0 = s
′
0/l
Defining the translated variance is not as easy. For a distribution concentrated in a small arc
about the mean, the relation
V0 = V ′0/l2
works well. In other cases, for wrapped normal and Von Mises distributions (see the reference)
Vo = 1− (1−V ′0)1/l
2
is a valid general relation.
For the median direction, the method documented in section A.1.2 can be used as is, no angle
translation has to be done.
77
A.2 Angular Distributions on the range (0,2pi/l)
Consider a random variable θ that is entirely on the range (0,2pi/l), i.e. regard it as only having
values in that range. Define
θ′ = lθ
which will have values on the interval (0,2pi).
Now, if we define x′0 and s′0 respectively as the mean direction and circular standard deviation of
θ′, then the mean of θ
x0 = x
′
0/l
and the deviation of θ
s0 = s
′
0/l
Defining the translated variance is not as easy. For a distribution concentrated in a small arc
about the mean, the relation
V0 = V ′0/l2
works well. In other cases, for wrapped normal and Von Mises distributions (see the reference)
Vo = 1− (1−V ′0)1/l
2
is a valid general relation.
For the median direction, the method documented in section A.1.2 can be used as is, no angle
translation has to be done.
77
Sign up today - FREE
Mendeley saves you time finding and organizing research. Learn more
- All your research in one place
- Add and import papers easily
- Access it anywhere, anytime
Start using Mendeley in seconds!
Readership Statistics
2 Readers on Mendeley
by Discipline
50% Engineering
by Academic Status
50% Student (Master)
50% Assistant Professor
by Country
50% Netherlands
50% South Africa


