Mức thứ ba là các phương pháp trích trọn ngữ nghĩa các thông tin dựa trên các kết quả của các mức thấp hơn, ví dụ như: nhận dạng chữ viết tay, nhận dạng mặt người… Toán học hình thái Mat
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
BÙI ĐỨC GIANG
NGHIÊN CỨU PHƯƠNG PHÁP
GENETIC, PHÉP TOÁN HÌNH THÁI
VÀ ỨNG DỤNG
NGƯỜI HƯỚNG DẪN: PGS TS NGÔ QUỐC TẠO
Trang 2Lời cảm ơn
Để hoàn thành luận văn này, tôi đã nhận được sự trợ giúp rất nhiều của các thầy, các bạn và người thân trong gia đình tôi Trước tiên tôi xin gửi lời biết ơn chân thành nhất tới PGS TS Ngô Quốc Tạo, người đã hướng dẫn tôi và cho tôi những ý kiến quý báu, những lời khuyên trong suốt quá trình tìm hiểu và hoàn thành luận văn này Xin chân thành cảm ơn thầy! Tôi cũng xin bày tỏ lòng biết ơn đến các thầy cô trong Viện Công nghệ thông tin và Trường Đại học Công nghệ đã dạy dỗ tôi trong suốt hai năm học cao học vừa qua Tôi xin cám ơn các thầy, anh chị và các bạn trong Bộ môn Công nghệ phần mềm – Đại học Công nghệ đã giúp đỡ tôi rất nhiều trong thời gian tôi học và công tác tại bộ môn
Trong quá trình hoàn thành luận văn, tôi còn nhận được sự giúp đỡ rất nhiệt tình của các bạn trong lớp K11T1 Xin chân thành cảm ơn các bạn của tôi: Đào Thanh Khiết, Trần Thị Mai Thương, Đặng Thanh Hải, Phan Việt Cường
Cuối cùng tôi xin bày tỏ lòng biết ơn sâu sắc tới gia đình, nơi luôn ủng hộ, giúp
đỡ và ở bên tôi trong mọi hoàn cảnh khó khă
Hà Nội, tháng 12/2007 Bùi Đức Giang
Trang 3MỤC LỤC
DANH MỤC CÁC HÌNH VẼ 5
Chương 1: MỞ ĐẦU 7
Chương I: Các khái niệm cơ bản về toán học hình thái 9
I.1 Quan hệ giữa khái niệm tập hợp và phép toán hình thái 9
I.1.1 Một số khái niệm cơ bản về tập hợp 10
I.1.2 Các phép toán logic trên ảnh nhị phân Error! Bookmark not defined I.2 Phép toán làm béo (Dilation) và làm gầy (Erosion) Error! Bookmark not defined
I.2.1 Làm béo Error! Bookmark not defined I.2.2 Làm gầy Error! Bookmark not defined I.2.3 Phép toán Opening và Closing Error! Bookmark not defined I.2.4 Biến đổi Hit or Miss Error! Bookmark not defined I.3 Một số thuật toán dựa trên phép toán hình tháiError! Bookmark not defined I.3.1 Trích chọn biên Error! Bookmark not defined I.3.2 Tô miền Error! Bookmark not defined I.3.3 Tách các thành phần liên thông Error! Bookmark not defined I.3.4 Làm mảnh Error! Bookmark not defined I.3.5 Làm dầy Error! Bookmark not defined I.3.6 Tìm xương của ảnh Error! Bookmark not defined Chương II: Thuật toán di truyền Error! Bookmark not defined II.1 Thuật toán di truyền là gì? Error! Bookmark not defined.
Trang 4II.2 Sử dụng thuật toán di truyền trong toán học hình thái Error! Bookmark not defined
II.3 Hoạt động của thuật toán di truyền Error! Bookmark not defined II.3.1 Quá trình lai ghép (phép lai) Error! Bookmark not defined Lai ghép một điểm Error! Bookmark not defined Lai ghép hai điểm Error! Bookmark not defined Cắt và ghép Error! Bookmark not defined.
Ví dụ về phép lai Error! Bookmark not defined II.3.2 Quá trình đột biến (phép đột biến) Error! Bookmark not defined II.3.3 Quá trình sinh sản và chọn lọc (phép tái sinh và phép chọn) Error! Bookmark not defined
II.4 Mô hình thuật toán Error! Bookmark not defined Chương III: Một cách tiếp cận di truyền trong bài toán phân rã phần tử cấu trúc Error! Bookmark not defined
III.1 Tiếp cận ngẫu nhiên Error! Bookmark not defined III.2 Cấu trúc dữ liệu Error! Bookmark not defined III.3 Giải thuật dựa trên thuật toán tìm kiếm di truyền Error! Bookmark not defined
CHƯƠNG IV THỰC NGHIỆM Error! Bookmark not defined IV.1 Mô tả bài toán và giả thuyết Error! Bookmark not defined IV.2 Giao diện chính của chương trình Error! Bookmark not defined IV.3 Một số kết quả thử nghiệm Error! Bookmark not defined.
V KẾT LUẬN Error! Bookmark not defined.
Tài liệu tham khảo 12
Trang 6DANH MỤC CÁC HÌNH VẼ
Hình I.1.1 Ảnh nhị phân 9 Hình I.1.2 Ảnh đa cấp xám 10 Hình I.1.3 Các phép toán cơ bản trên tập hợp 11 HÌnh I.1.4 Các phép toán cơ bản Error! Bookmark not defined Hình I.2.1 Phép toán dilation Error! Bookmark not defined Hình I.2.2 Ứng dụng của phép toán dilation Error! Bookmark not defined Hình I.2.3 Loại bỏ thành phần nhiễu Error! Bookmark not defined Hình I.2.4 Phép toán Opening Error! Bookmark not defined Hình I.2.5 Phép toán Closing Error! Bookmark not defined Hình I.2.6 Phép toán Opening và Closing Error! Bookmark not defined Hình I.2.7 Xử lý nhiễu trong ảnh vân tay Error! Bookmark not defined Hình I.2.8 Phép toán Hit ỏ Miss Error! Bookmark not defined Hình I.3.1 Trích chọn biên Error! Bookmark not defined Hình I.3.2 Ảnh đƣợc trích chọn biên Error! Bookmark not defined Hình I.3.3 Ví dụ thuật toán tô miền Error! Bookmark not defined Hình I.3.4 Tìm các thành phần liên thông trong ảnh Error! Bookmark not defined Hình I.3.5 Xác định vật thể lạ trong ảnh Error! Bookmark not defined Hình I.3.6 Làm mảnh ảnh Error! Bookmark not defined Hình I.3.7 Làm dầy ảnh Error! Bookmark not defined
Trang 7Hình I.3.8 Tìm xương của ảnh Error! Bookmark not defined Hình II.1 Mô phỏng quá trình tiến hóa Error! Bookmark not defined Hình II.2 Lai ghép một điểm Error! Bookmark not defined Hình II.3 Lai ghép hai điểm Error! Bookmark not defined Hình II.4 Cắt và ghép Error! Bookmark not defined Hình II.5 Ví dụ về phép lai Error! Bookmark not defined Hình II.6 Đột biến tại bít thứ 6 Error! Bookmark not defined Hình II.7 Mô tả hoạt động thuật toán Error! Bookmark not defined Hình III.1 Cấu trúc dữ liệu Error! Bookmark not defined Hình III.2 Ví dụ về cắt và ghép nối Error! Bookmark not defined
Trang 8MỞ ĐẦU
Xử lý ảnh là một ngành phát triển mạnh mẽ trong khoa học máy tính Sự phát triển của nó được tiếp sức bởi các công nghệ mới trong xử lý ảnh số, các bộ vi xử lý mới cùng các thiết bị lưu trữ phổ biến Những ngành nghiên cứu trước kia chủ yếu xử dụng ảnh tương tự nay đã chuyển sang các hệ thống ảnh số do sự linh đông và dễ đáp ứng của nó Các thí dụ quan trọng có thể kể ra đây như trong y học, sản xuất phim và video, nhiếp ảnh, v.v Những nguồn dữ liệu này đã tạo ra một lượng khổng lồ các dữ liệu ảnh số
Xử lý ảnh quan tâm chủ yếu đến việc trích chọn các thông tin hữu ích từ trong ảnh Các thuật toán xử lý ảnh được phân ra làm 3 mức Mức thấp nhất là các phương pháp thao tác trực tiếp với các dữ liệu thô, các giá trị điểm ảnh có thể bị nhiễu Mức thứ hai là tận dụng các kết quả ở mức 1 để đưa ra các kết quả tốt hơn như: phân đoạn ảnh, liên kết ảnh Mức thứ ba là các phương pháp trích trọn ngữ nghĩa các thông tin dựa trên các kết quả của các mức thấp hơn, ví dụ như: nhận dạng chữ viết tay, nhận dạng mặt người…
Toán học hình thái (Mathematic Morphology) là một lĩnh vực riêng biệt trong
xử lý ảnh Không giống như các cách tiếp cận khác thiên về toán học tính toán, MM dựa trên cấu trúc và hình dạng, dùng các toán hình thái cơ bản để làm đơn giản ảnh nhưng vẫn giữ lại những đặc trưng chính MM còn là một công cụ cơ bản để trích chọn các thành phần ảnh, như biên ảnh, xương ảnh, rất hữu dụng cho việc biểu diễn các các vùng khác nhau trên một ảnh Những kỹ thuật dùng toán hình thái như lọc ảnh, làm mảnh ảnh hay làm dầy ảnh có sử dụng toán học hình thái cũng được sử dụng trong quá trình tiền xử lý ảnh Ngoài ra, một trong các ứng dụng quan trọng mà tôi đề cập chính trong luận văn này là: Phân rã phần tử cấu trúc thành các phần tử cấu trúc nhỏ hơn Phần tử cấu trúc là phần tử tham gia trong các phép toán hình thái, và việc phân rã phần tử cấu trúc hoặc nói một cách khác là ma trận điểm ảnh có ba lợi ích quan trọng: Thứ nhất, làm giảm phép toán trong các ứng dụng mà phần tử đó tham gia Thứ hai, giảm không gian lưu trữ ảnh Thứ ba, đối với các hệ thống chỉ hỗ trợ tập lệnh SIMD trên các phần tử nhỏ hơn nhiều phần tử cấu trúc, thì việc phân rã phần tử cấu trúc thành các phần tử cấu trúc nhỏ hơn là cần thiết
Trong khuôn khổ của luận văn thạc sỹ này, tôi muốn tập trung đi sâu vào tìm hiểu các phép toán hình thái và một số ứng dụng của phép toán hình thái trong xử lý ảnh Phần chính của luận văn, tôi sẽ trình bày một số kết quả đạt được trong việc ứng
Trang 9dụng thuật toán di truyền để giải quyết bài toán phân rã phần tử cấu trúc trong xử lý ảnh Bố cục của luận văn này được tổ chức thành 3 chương:
Chương 1: Trình bày các kiến thức cơ bản về phép toán hình thái bao gồm các
khái niệm, các thuật toán và các ứng dụng tiêu biểu của phép toán hình thái
Chương 2: Trình bày ngắn gọn các khái niệm liên quan đến thuật toán di
truyền
Chương 3: Tập trung giải quyết bài toán phân rã phần tử cấu trúc bằng phương
pháp tiếp cận ngẫu nhiên dựa trên thuật toán di truyền
Chương 4: Trình bày kết quả thực nghiệm: Phân rã phần tử cấu trúc kích thước
9x9 thành các phần tử cấu trúc kích thước 3x3
Phần kết luận nêu tóm tắt các kết quả đạt được và đưa ra các những vấn đề còn
tồn đọng để nâng cao hiệu năng của thuật toán
Trang 10
Chương I: Các khái niệm cơ bản về toán học
hình thái
I.1 Quan hệ giữa khái niệm tập hợp và phép toán hình thái
Toán học hình thái (MM) dựa trên khái niệm về tập hợp, và chính nhờ có khái niệm này mà toán học hình thái mang lại một cách tiếp mới cận đối với các bài toán xử
lý ảnh Trong hầu hết các trường hợp, phép toán hình thái đều thể hiện một tính chất nào đó của phép toán liên quan đến khái niệm tập hợp Bằng các khái niệm đơn giản về phép toán hợp, giao, phần bù v.v, chúng ta có thể xây dựng các phép toán rất hữu ích cho các kỹ thuật xử lý ảnh
Ảnh số là sự biểu diễn ảnh dưới dạng tín hiệu tương tự hoặc tín hiệu số Trong biểu diễn số của các ảnh đa mức xám, tập hợp các điểm ảnh được biểu diễn dưới dạng một ma trận hai chiều Mỗi phần tử của ma trận biểu diễn cho mức xám hay cường độ của ảnh tại vị trí đó, phần tử trong ma trận được gọi là một phần tử ảnh, thông thường
kí hiệu là PEL (Picture Element) hoặc là điểm ảnh (Pixel)
Đối với ảnh nhị phân, ta ngầm định các điểm ảnh thể hiện đối tượng ảnh được
mã hóa bởi các điểm ảnh có giá trị 1 Tương ứng với đó, nền sẽ được mã hóa bởi các điểm ảnh có giá trị 0
Ảnh đa cấp xám có thể được biểu diễn bởi các tập hợp tập con của tập Z3
Hình I.1.1 Ảnh nhị phân
Trang 11Mỗi một phần tử được đại diện bởi một bộ 3 phần tử (x1,x2,x3) tương ứng là toạ
độ điểm ảnh và mức xám tại ảnh đó Hình I.1.2[17] mô tả một thể hiện đơn giản của ảnh đa cấp xám
Hình I.1.2 Ảnh đa cấp xám
Như vậy, ta đã hình dung được mối quan hệ giữa ảnh và khái niệm tập hợp Đối với mỗi ảnh thì sẽ có tương ứng một tập hợp thể hiện ảnh và ngược lại, từ một tập hợp,
ta có thể dựng lại ảnh tương ứng
I.1.1 Một số khái niệm cơ bản về tập hợp
Giả sử A là một tập thuộc Z2 Nếu a=(a1,a2) là một phần tử của A, thì ta kí
hiệu là:
aA
Tương tự như vậy, trong trường hợp a không phải là phần tử con của A thì kí hiệu:
aA
Tập hợp không chứa phần tử nào thì được gọi là tập rỗng
Trang 12Trong khuôn khổ của luận văn này, chúng ta sẽ quan tâm tới khái niệm phần tử của một tập hợp trong phạm vi của ảnh nhị phân Ví dụ, khi ta viết
Cw wd dD thì nghĩa là C là tập các phần tử w là đối của các phần tử
tương ứng của tập D qua gốc tọa độ
Nếu như với mọi phần tử A đều thuộc tập B thì ta nói rằng tập A là một tập con của tập B và kí hiệu là :
AB
Hợp của hai tập A và tập B là tập tất cả các phần tử hoặc thuộc A hoặc thuộc B
C A B Tương tự như vậy giao của hai tập A và tập B là tất cả các phần tử vừa thuộc A lại đồng thời thuộc B :
Hình I.1.3 Các phép toán cơ bản trên tập hợp
Phần bù của tập A là tập tất cả các phần tử không thuộc A
{ | }
C
Hiệu A và B, kí hiệu là A-B được định nghĩa bởi
Ngoài ra, trong toán học hình thái người ta còn đưa ra hai định nghĩa khác, tập nghịch của A :
Trang 13Tài liệu tham khảo
[1] P Angeline, G Saunders, and J Pollack, “An Evolutionary Algorithm That Constructs Recurrent Neural Networks,” IEEE Trans Neural Networks, vol 5, pp
54-65, Jan 1994
[2] A Broggi, “ Speeding-Up Mathematical Morphology Computations with Special-Purpose Array Processors,” Proc 27th Hawaii Int’l Conf System Sciences, T.N Mudge and B.D Shriver, eds., vol 1, pp 321-330, Maui, Hawaii, Jan 4-7 1994 Los Alamitos, Calif.: IEEE Computer Society
[3] E Falkenauer, “A New Representation and Operators for Genetic Algorithms Applied to Grouping Problems,” Evolutionary Computation, vol 2 no 2, 1994
[4] Giovanni Anelli, Alberto Broggi, Giulio Destri, "Decomposition of Arbitrarily
Shaped Binary Morphological Structuring Elements Using Genetic Algorithms," IEEE
Transactions on Pattern Analysis and Machine Intelligence, vol 20, no 2, pp
217-224, Feb., 1998
[5] Marcos Quintana, “Genetic programming applied to morphological image processing”, PhD thesis, pp 9-30, 2004
[6] D.E Goldberg, B Korb, and K Deb, “Messy Genetic Algorithms: Motivation, Analysis, and First Results,” Complex Systems, vol 3, pp 493-530, 1989
[7] D.E Goldberg, B Korb, and K Deb, “Messy Genetic Algorithms Revisited: Studies in Mixed Size and Scale,” Complex Systems, vol 4, pp 415-444, 1990
[8] R.M Haralick, S.R Sternberg, and X Zhuang, “ Image Analysis Using Mathematical Morphology,” IEEE Trans Pattern Analysis and Machine Intelligence, vol 9, no 4, pp 532-550, Apr 1987
[9] J Holland, Adaption Natural and Artificial Systems Ann Arbor, Mich.: Univ of Michigan Press, 1975
[10] S.W Mahfoud, “Crossover Interactions Among Niches,” Proc First IEEE Conf
on Evolutionary Computation, pp 188-193, 1994
Trang 14[11] G Matheron, Random Sets and Integral Geometry New York: John Wiley, 1975 [12] Z Michalewicz, Genetic Algorithms + Data Structures = Evolution Programs Berlin: Springer-Verlag, 1992
[13] H Park and R.T Chin, “Optimal Decomposition of Convex Structuring Elements for a 4-Connected Parallel Array Processor,” IEEE Trans Pattern Analysis and Machine Intelligence, vol 16, no 3, Mar 1994
[14] H Park and R.T Chin, “Decomposition of Arbitrarily Shaped Morphological Structuring Elements,” IEEE Trans Pattern Analysis and Machine Intelligence, vol
17, no 1, Jan 1995
[15] J Serra, Image Analysis and Mathematical Morphology London: Academic Press, 1982
[16] M Srinivas and L Patnaik, “Adaptive Probabilities of Crossover and Mutation in Genetic Algorithm,” IEEE Trans System, Man, and Cybernetics, vol 24, no 4, Apr
1994
[17] R van den Boomgaard, Mathematical Morphology: Extensions Towards Computer Vision, PhD thesis, Universiteit Van Amsterdam, 1992
[18] R van den Boomgaard and R van Balen, “Methods for Fast Morphological Image Transforms Using Bitmapped Binary Images,” Computer Vision, Graphics, and Image Processing: Graphical Models and Image Processing, vol 54, no 3, pp 252-258, May
1992
[19] S.S Wilson, “ Theory of Matrix Morphology,” IEEE Trans Pattern Analysis and Machine Intelligence, vol 14, no 6, pp 636-652, June 1992
[20] X Zhuang and R.M Haralick, “Morphological Structuring Element Decomposition,” Computer Vision, Graphics, and Image Processing, vol 35, pp
370-382, Sept 1986
[21] N R Harvey New Techniques for the Design of Morphological Filters using Genetic Algorithms PhD thesis, University of Strathclyde, Glasgow, UK, 1997
[22] N R Harvey and S Marshall Mathematical Morphology and Its Applications to Image Procesing, chapter Using Genetic Algorithms in the Design of Morphological Filters, pages 53-59 Kluwer Academic Publishers, 1994