Trong luận văn này chỉ mô tả một vài phương pháp tiền xử lý hình ảnh, chú trọng đến ảnh nhị phân, bởi ảnh của các bản vẽ kỹ thuật thường chỉ là ảnh 2 màu: đen, trắng để cải thiện chất lư
Trang 1Nâng cao chất lượng hình ảnh bằng phép toán hình thái, kỹ thuật tìm xương và làm mảnh / Nguyễn Minh Đức ; Nghd :
PGS.TS.Ngô Quốc Tạo
LỜI NÓI ĐẦU
Ảnh là một dạng dữ liệu đóng vai trò quan trọng trong việc trao đổi, xử
lý, lưu giữ thông tin Trong nhiều ngành nghề, trong một số các loại hình công việc, người ta điều cần đến hình ảnh để mô tả, minh chứng hay diễn đạt những điều mà đôi khi chữ viết hay ngôn ngữ nói không lột tả hết được Trong hầu hết các ngành như: Thiết kế cơ khí, Thiết kế xây dựng, Thiết kế mạch điện việc đọc hình ảnh có thể nói là thường xuyên và cực kỳ quan trọng Bản vẽ kỹ thuật (một dạng của hình ảnh) chính là kết quả ngôn ngữ kỹ thuật, Mà qua nó, một qui trình công nghệ phải được xây dựng trong quá trình sản xuất, cũng như nó chính là cơ sở cho việc nghiệm thu cho bất kỳ sản phẩm nào Để lưu ảnh của các tài liệu, các bản vẽ hoặc sửa đổi chúng và chuyển chúng sang các dạng đồ hoạ khác tiện cho việc nhận dạng, đối sánh mẫu để sử dụng sau này là điều cần thiết Nhưng phải tổ chức việc lưu các dạng hình ảnh này như thế nào? Có cần
xử lý gì trước khi lưu chúng không? Câu trả lời là có Do vậy tiền xử lý ảnh là việc cần làm Có nhiều phương pháp, nhiều công cụ, nhiều phần mềm xử lý ảnh
Trang 2đã ra đời Tăng cường chất lượng ảnh, mà công đoạn đầu tiên là một bước tiền
xử lý nhằm loại bỏ nhiễu, khắc phục những khiếm khuyết do bước thu nhận ảnh không tốt là việc làm quan trọng Có nhiều phương pháp cho việc nâng cao chất lượng ảnh nói chung và tiền xử lý nói riêng Trong luận văn này chỉ mô tả một vài phương pháp tiền xử lý hình ảnh, (chú trọng đến ảnh nhị phân, bởi ảnh của các bản vẽ kỹ thuật thường chỉ là ảnh 2 màu: đen, trắng) để cải thiện chất lượng hình ảnh bằng các thao tác Hình thái học (Morphology); một vài kỹ thuật phát hiện xương, làm mảnh
Các thao tác Hình thái học nói chung, đặc biệt là Hình thái học số được
sử dụng chủ yếu vào việc cải thiện ảnh bằng cách làm rõ (tái hiện) những nét đặc trưng của các hình dạng, do vậy mà có thể tính toán được hay nhận biết được chúng một cách dễ dàng Việc sử dụng các thao tác hình thái và ứng dụng của chúng, đặc biệt là ứng dụng kỹ thuật làm mảnh ảnh để nâng cao chất lượng hình ảnh cho bước tiền xử lý, trước khi thực hiện những bước kế tiếp cho công việc xử lý ảnh
Trong các kỹ thuật tìm xương truyền thống, việc sử dụng một mẩu phần
tử cấu trúc (cũng là một ảnh nhị phân) được khởi tạo ngay từ ban đầu xuyên suốt quá trình lặp để xử lý ảnh thường chỉ xử lý được một vài đặc điểm của đối tượng, vì thế trong luận văn này tôi cũng đề cập đến một phương pháp phân rã phân tử cấu trúc hình dạng tuỳ ý sử dụng thuật toán di truyền để lựa chọn phân
tử cấu trúc tối ưu cho các phép toán hình thái Luận văn gồm 4 chương:
Chương 1: Tổng quan về phương pháp nâng cao chất lượng hình ảnh
Trang 3Giới thiệu sơ bộ về xử lý ảnh và ứng dụng Khái niệm ảnh nhị phân, Hình thái học
Chương 2: Nâng cao chất lượng ảnh bằng phép toán hình thái
Chương này giới thiệu về các thao tác với ảnh nhị phân Cụ thể đó là các thao tác như: Phép dãn, phép co, phép đóng, mở ảnh Bên cạnh các thao tác có kèm theo ý nghĩa của chúng, có thuật toán và có hình minh hoạ
Chương 3: Nâng cao chất lượng hình ảnh bằng phương pháp tìm xương và làm mảnh
Trong chương này giới thiệu về ý nghĩa của hình thái học trong thực tiễn
và các ứng dụng nói chung của thao tác hình thái, trong đó chú trọng vào thao tác làm mảnh, luận văn còn giới thiệu một phương pháp phân rã phần tử cấu trúc sử dụng thuật toán di truyền
Chương 4: Cài đặt chương trình thử nghiệm
Trình bày một số thử nghiệm cho thao tác tìm xương, làm mảnh ảnh
Kết Luận
CHƯƠNG I: TỔNG QUAN VỀ PHƯƠNG PHÁP NÂNG
CAO CHẤT LƯỢNG HÌNH ẢNH
1.1 Giới thiệu chung về xử lý ảnh:
Cũng như xử lý dữ liệu bằng đồ hoạ, xử lý ảnh số là một lĩnh vực của tin học ứng dụng Xử lý dữ liệu bằng đồ họa đề cập đến những ảnh nhân tạo, các
Trang 4ảnh này được xem xét như là một cấu trúc dữ liệu và được tạo ra bởi các chương trình Xử lý ảnh số bao gồm các phương pháp và kỹ thuật để biến đổi,
để truyền tải hoặc mã hóa các ảnh tự nhiên Mục đích của xử lý ảnh gồm: Thứ nhất, biến đổi ảnh và làm đẹp ảnh
Thứ hai, tự động phân tích nhận dạng ảnh hay đoán nhận ảnh và đánh giá các nội dung của ảnh
Nhận dạng ảnh là quá trình liên quan đến các mô tả đối tượng mà người ta muốn đặc tả nó Quá trình nhận dạng thường đi sau quá trình trích chọn các đặc tính chủ yếu của đối tượng Có hai kiểu mô tả đối tượng:
- Mô tả tham số (nhận dạng theo tham số)
- Mô tả theo cấu trúc (nhận dạng theo cấu trúc)
Nhận biết và đánh giá các nội dung của ảnh là sự phân tích một hình ảnh thành những phần có nghĩa để phân biệt đối tượng này với đối tượng khác Dựa vào đó ta có thể mô tả cấu trúc của hình ảnh ban đầu
Có thể liệt kê một số phương pháp nhận dạng cơ bản như nhận dạng biên của một đối tượng trên ảnh, tách cạnh, phân đoạn hình ảnh Kỹ thuật này được sử dụng nhiều trong y học (xử lý tế bào, nhiễm sắc thể)
Trang 5Hình 1.1: Sơ đồ quá trình xử lý ảnh
Trước hết là quá trình thu nhận ảnh: Ảnh có thể thu nhận qua camera, từ
vệ tinh hay ảnh được quét qua scanner Tiếp theo là quá trình số hóa
(Digitalizer) để biến đổi tín hiệu tương tự sang tín hiệu rời rạc trước khi chuyển sang giai đoạn xử lý, phân tích hay lưu trữ lại
Quá trình phân tích ảnh thực chất bao gồm nhiều công đoạn nhỏ Trước hết
là công việc tăng cường hình ảnh (Image Enhancement) để nâng cao chất lượng hình ảnh Do những nguyên nhân khác nhau: có thể do thiết bị thu nhận ảnh, do nguồn sáng hay do nhiễu, ảnh có thể bị suy biến Do vậy cần phải tăng cường
và khôi phục (Image Restoration) lại ảnh để làm nổi bật một số đặc tính chính của ảnh, hay làm cho ảnh gần giống với trạng thái gốc - trạng thái trước khi ảnh
bị biến dạng Giai đoạn tiếp theo là phát hiện các đặc tính như biên (Edge Detection), phân vùng ảnh (Image Segmentation), trích chọn các đặc tính (Feature Extraction),v.v
Cuối cùng, tuỳ theo mục đích của ứng dụng, sẽ là giai đoạn nhận dạng, phân lớp hay các quyết định khác Các giai đoạn chính của quá trình xử lý ảnh
Trang 6Trong quá trình số hoá, ngươì ta biến đổi tín hiêụ liên tục sang tín hiệu rời rạc thông qua quá trình lấy mẫu (rời rạc hoá về không gian) và lượng hoá thành phần giá trị mà về nguyên tắc, mắt thường không phân biệt được hai điểm kề
nhau Trong quá trình này, người ta sử dụng khái niệm Picture Element mà ta
quen gọi hay viết là pixel ( phần tử ảnh) Như vậy một ảnh là một tập hợp các pixel Mỗi pixel gồm một cặp toạ độ x, y và màu
• Ảnh nhị phân: Ảnh chỉ có giá trị 0 hoặc 1 thì ta nói đó là một ảnh nhị phân hoặc ảnh đen trắng
Trang 7CHƯƠNG II: NÂNG CAO CHẤT LƯỢNG ẢNH BẰNG
PHÉP TOÁN HÌNH THÁI
2.1 Khái niệm về phép toán hình thái Morphology:
Hiểu một cách đầy đủ thì morphology là “ hình thái và cấu trúc của một đối tượng”, hay, nó diễn tả những phạm vi và các mối quan hệ giữa các phần của một đối tượng
Những đối tượng ảnh trong Hình thái học là tập hợp của các điểm ảnh, nhóm lại theo cấu trúc hai chiều
Phần lớn các phép toán hình thái học được định nghĩa từ hai phép toán cơ
bản là: Dãn ảnh (Dilation) và Co ảnh (Erosion)
2.2 Thao tác trên ảnh nhị phân:
Trong luận văn này, ta coi đối tượng ảnh là những điểm đen và nền là những điểm trắng Trước hết, để bắt đầu ta hãy xem hình 2.1a
Tập hợp các điểm ảnh đen tạo nên đối tượng ảnh hình vuông và trong 2.1b, đối tượng ảnh cũng là hình vuông nhưng là hình vuông lớn hơn so với 2.1a một điểm ảnh về mọi phía, nghĩa là thay mọi lân cận trắng của các điểm ảnh trong 2.1a thành các điểm ảnh đen Đối tượng trong 2.1c cũng được thao tác tương
tự Thao tác đó có thể coi như một phép dãn đơn giản, phép dãn một điểm ảnh
về mọi phía Việc dãn đó có thể được thực hiện cho đến khi toàn bộ ảnh được thay bằng các điểm ảnh đen Tuy nhiên trong thực tế, đối tượng ảnh được xem như là một tập hợp toán học của các điểm ảnh đen, mỗi điểm ảnh đen được coi
Trang 8như là một điểm trong không gian hai chiều và nó được xác định bởi số hàng và
số cột Do vậy, đối tượng ảnh trong 2.1a
có thể được viết lại là {(3, 3), (3, 4), (4, 3), (4, 4) }, với điểm ảnh phía trên bên trái là (0, 0) Tuy nhiên, việc viết như vậy sẽ rất dài dòng và bất tiện nên ta gọi đơn giản đối tượng ảnh là A, và các phần tử trong đó là các điểm ảnh
đó chính là phép quay A một góc 180° quanh gốc tọa độ
• Phần bù của tập A là tập các điểm ảnh không thuộc đối tượng A, ở đây chính là các điểm ảnh trắng Theo lý thuyết tập hợp thì:
Hình 2.1:
Hiệu quả của thao tác nhị phân đơn giản trên một ảnh nhỏ
(a) Ảnh ban đầu
(b) Ảnh dãn 1 điểm ảnh
(c) Ảnh dãn 2 điểm ảnh (so với ảnh ban đầu)
Trang 9A ⊕⊕ B = {c | c = a + b, a ∈ A, b ∈ B} (EQ 2.7)
Trong đó, tập C gọi là kết quả của phép dãn A sử dụng phần tử cấu trúc
B và gồm các phần tử như được mô tả ở trên, tuy nhiên một vài điểm trong số chúng có thể trùng nhau
Trang 10Nhìn hình 2.2 trên, ta nhận thấy rằng trong các ảnh có hình 1 dấu thập (××) Những phần tử được đánh dấu (×) hoặc đen, hoặc trắng được coi như gốc (Ogirin) của mỗi ảnh Việc xác định vị trí của gốc cấu trúc là rất quan trọng, nó
có thể quyết định hướng co, dãn của ảnh Nếu gốc ở bên trái, thì ảnh có xu hướng co, dãn về bên phải, gốc ở bên phải thì co, dãn về trái và nếu gốc ở giữa, tất nhiên, ảnh sẽ dãn đều Trong thí dụ trên do gốc của cấu trúc B ở bên trái nên
ta thấy ảnh được dãn về bên phải
Tổng quát hơn, ta có thể coi phép dãn (dilation) là hợp của tất cả các phép dịch bởi các phần tử của cấu trúc, kí hiệu:
U
B b b
A B
B B
A
∈
=
Trang 11Hình 2.5:Phép co nhị phân dùng cấu trúc đơn giản
Trang 12Quan hệ giữa phép co và phép dãn có mối quan hệ qua biểu thức sau đây:
Trang 13Close (I) = E(D(I))
CHƯƠNG III: NÂNG CAO CHẤT LƯỢNG ẢNH BẰNG PHƯƠNG
PHÁP TÌM XƯƠNG VÀ LÀM MẢNH
Thuật toán làm mảnh thường bao gồm nhiều lần lặp, mỗi lần lặp tất cả các điểm của đối tượng sẽ được kiểm tra, nếu chúng thoả mãn điều kiện xoá nào đó thì nó sẽ bị xoá đi Quá trình được lặp lại cho đến khi không còn điểm biên nào được xoá
3.1 Xương và làm mảnh
Một xương được xem như sử dụng để mô tả hình dạng của đối tượng theo
số ít các điểm ảnh có liên quan Trong các ảnh đoạn, xương truyền đạt tất cả các
thông tin được thấy trong ảnh nguyên bản ban đầu Do đó, làm mảnh ảnh có thể
được định nghĩa như là hoạt động của việc nhận dạng (identifying) các điểm ảnh của một đối tượng mà các điểm ảnh đó là các điểm cốt yếu cho việc mô tả hình dạng của đối tượng: Đó là các điểm xương tạo thành một tập các điểm xương
3.2 Các phương pháp lặp hình thái học
Trang 14Phần lớn các thuật toán làm mảnh đều dựa trên một vòng lặp lột bỏ dần
đi các lớp điểm ảnh cho đến khi không còn nhiều hơn một lớp được xoá bỏ Người ta đưa ra tập các quy tắc xác định điểm ảnh nào cần loại bỏ Thường thì các quy tắc được thiết kế sao cho dễ nhận biết được khi nào thì thuật toán dừng
Đó là khi không còn sự thay đổi nào sau 2 lần duyệt qua ảnh
Thuật toán đầu tiên được Stentiford đề xuất 1983 là một điển hình cho kiểu này Thuật toán sử dụng mẫu cấu trúc 3 x 3 để đối sánh mẫu này trong hình ảnh nghĩa là nếu giống thì ta có thể xoá (đặt trắng) pixel trung tâm:
• Tìm một vị trí pixel (i, j) nơi mà các pixel trong hình ảnh I giống với
mẫu M1 (Hình 3.1)
• Nếu pixel trung tâm không là điểm cuối và có số kết nối bằng 1 thì đánh dấu pixel này lại để sau này xoá đi
• Lặp lại bước 1 và 2 với tất cả những pixel giống mẫu M1 trong ảnh
• Lặp lại các bước 1-3 với các mẫu còn lại (M2, M3, M4)
• Nếu bất kỳ những pixel nào đã được đánh đấu để xoá thì xoá chúng bằng cách đặt chúng thành màu trắng
• Nếu bất kỳ những pixel nào đã được xoá ở bước 5, lặp lại toàn bộ quá trình từ bước 1 Ngược lại, thuật toán dừng
Hình 3.1 Các mẫu sử dụng để nhận dạng những pixel có thể được xoá trong thuật toán làm mảnh Stentiford
Trang 15Hình 3.2: Một minh hoạ về số liên kết
a) Điểm trung tâm không liên kết với bất cứ vùng nào và có thể bị xoá Số
vị các pixel dọc theo biên dưới và di chuyển từ phải qua trái, từ dưới lên trên Cuối cùng mẫu M4 sẽ tìm những pixel ở bên phải của đối tượng, từ trên xuống dưới, phải qua trái
Thứ tự đặc biệt này và hướng áp dụng cho các mẫu, để bảo đảm rằng các pixel sẽ được xoá cân đối, tránh được sự sai lệch hướng
Có 2 khái niệm mới và cả 2 được nêu trong bước 2
• Điểm cuối (End point): Chỉ kết nối với một pixel đen khác
• Số liên kết : pixel đơn kết nối với 2 bộ phận rộng của một đối tượng
)
*
*( +1 +2
∈
−
S k k
Trang 16Trong đó Nk là giá trị màu của một trong các 8 láng giềng của điểm ảnh được liên kết và S = {1, 3, 5, 7} N1 là giá trị màu của điểm ảnh bên phải của điểm ảnh trung tâm và chúng được số hoá theo thứ tự ngược chiều kim đồng
hồ, xung quanh điểm ảnh trung tâm Giá trị của Nk là 1 nếu điểm ảnh là điểm trắng (điểm ảnh nền) và giá trị của Nk là 0 nếu điểm ảnh là điểm đen (điểm ảnh thuộc đối tượng) Điểm ảnh trung tâm là N0 và Nk = Nk - 8 nếu k > 8 Một cách khác giá trị liên kết có thể được tính toán bằng cách xét các điểm láng giềng theo thứ tự: N1, N2, Ns, N1 Số các thay đổi màu (đen-trắng) được sử dụng đếm số vùng điểm ảnh trung tâm kết nối
Hình 3.3: Bốn phần của mỗi phép lặp trong làm mảnh Stentiford
a) Sau khi áp dụng mẫu M1 b) Sau mẫu M2 c) Sau M3 d) Sau M4
Để hoàn chỉnh việc làm mảnh đối tượng này đòi hỏi 13 vòng lặp (vòng lặp sau cùng không làm điều gì ngoại trừ việc hiển thị điều mà chúng ta đã hoàn tất)
Có một vài vấn đề vẫn tồn tại trong thuật toán làm mảnh này đó là việc hiển thị như là một chế tác trong xương ảnh Hiện tượng đầu tiên trong kết quả
của thuật toán này được gọi là necking, nó xảy ra trong một điểm hẹp chỗ giao
nhau của hai đường thẳng đã bị kéo dài ra lại thành một đoạn thẳng (Hình 3.5a) Phần đuôi (Tailing) có thể được tạo tại nơi lẽ ra là không tồn tại bởi do
việc làm mảnh quá mức, tại nơi hai đường thẳng gặp nhau tạo thành một góc nhọn (Hình 3.5b) Hiện tượng cuối cùng có lẽ là chung nhất, đó là sự tạo ra
Trang 17những đoạn thẳng phụ gắn vào đoạn xương thực, Điều này được gọi là spurious
projection (sự nhô giả), hairs (những sợi tóc), hoặc line fuzz (dòng kẻ xoắn) hình 3.5c
Hình 3.5 Phần đuôi (Tailing) được tạo ra bởi những đoạn thẳng phụ
Stentiford đề xuất một giai đoạn tiền xử lý để cực tiểu hoá các chế tác làm mảnh đó: Xoá bỏ các điểm ảnh có không có quá hai điểm láng giềng đen và có một giá trị liên kết nhỏ hơn 2
Để xử lý với điểm thắt nút, ông đề nghị một thủ tục gọi là thủ tục phân giác góc nhọn (acute angle amphasis), các điểm ảnh gần chỗ nối giữa hai đường được đặt thành màu trắng nếu chúng khép lại tạo thành một góc nhọn Điều này được thực hiện bằng cách sử dụng các mẫu như trong hình 3.6
Hình 3.6: Các mẫu được dùng cho bước xử lý góc nhọn quan trọng
Trang 18Làm trơn (smoothing) được hoàn tất đầu tiên, tiếp theo là tất cả các quá
trình duyệt qua ảnh của các góc nhọn quan trọng Cuối cùng là các bước làm
mảnh ảnh Hình 3.7 trình bày các xương kết quả cuối cùng của các kí tự trong hình 3.5 khi các bước tiền xử lý được gộp vào
Hình 3.7: Những kí tự được làm mảnh cuối cùng, sau cả hai bước tiền xử lý
và làm mảnh
Hầu hết các xương xuất hiện khi sử dụng phương pháp này vẫn bị rạn nứt Cách sử dụng 3 giai đoạn của các góc nhọn quan trọng sẽ không hiệu quả đối với các kí tự rất dày, và các mẫu không phù hợp với tất cả các tình huống
mà có thể gây ra cổ cột và đuôi cột Cũng như vậy, bước làm trơn sẽ không bắt gặp các bất quy tắc mà các bất quy tắc này có thể tạo nên các đưòng xơ
Thuật toán làm mảnh song song Zhang-Suen (Zhang 1984): Thuật toán được ngắt thành hai vòng lặp con để thay thế, ví dụ: thay vì 4 vòng lặp con của thuật toán Stentiford Trong một vòng lặp con, một điểm ảnh I(i, j) được xoá (hay được đánh dấu cho thao tác xoá bỏ) nếu 4 điều kiện sau đây được thoả mãn:
1) Giá trị liên kết là 1
2) Nó có ít nhất 2 điểm láng giềng đen và không nhiều hơn 6
3) Có ít nhất một trong các điểm: I(i, j+1), I(i-1, j) và I(i, j-1) là nền
4) ít nhất một trong các điểm: I(i-1, j), I(i+1, j) và I(i, j-1) là điểm ảnh nền
Tại cuối vòng lặp con này các điểm đã đánh dấu được xoá bỏ