BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2
ĐINH THỊ HƯỜNG
NGHIÊN CỨU PHƯƠNG PHÁP
CẢI THIỆN CHẤT LƯỢNG ẢNH NHỊ PHÂN
BẰNG PHÉP TOÁN HÌNH THÁI
LUẬN VĂN THẠC SỸ MÁY TÍNH
HÀ NỘI, 2014 BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2
thông tin, phòng Sau đại học trường Đại học Sự phạm Hà Nội 2, các thầy cô
đã trực tiếp giảng dạy các học phần trong khóa học đã tạo điều kiện thuận lợi
cho em trong cả quá trình học tập và nghiên cứu tại trường.
Xin chân thành cảm ơn gia đình, bạn bè, đồng nghiệp đã quan tâm,
giúp đỡ em trong thời gian nghiên cứu và hoàn thành luận văn.
Trong quá trình nghiên cứu, luận văn không tránh khỏi những thiếu sót.
Rất mong nhận được sự góp ý của quý thầy cô và bạn bè đồng nghiệp quan
tâm đến luận văn này.
Hà Nội, tháng 12 năm 2014
Học viên
Đinh Thị Hường
2
LỜI CAM ĐOAN
Trong quá trình hoàn thành luận văn, tôi đã tìm hiểu, nghiên cứu, tổng
hợp nhiều nguồn tài liệu khác nhau, dưới dự chỉ đạo, giúp đỡ của giáo viên
hướng dẫn, kết quả của đề tài là sản phẩm lao động của cá nhân tôi. Các
nguồn tài liệu sử dụng được trích dẫn rõ ràng, khoa học.
MỤC LỤC 3
DANH MỤC CÁC HÌNH VẼ 5
MỞ ĐẦU 7
CHƯƠNG 1. TỔNG QUAN VỀ PHƯƠNG PHÁP 9
CẢI THIỆN CHẤT LƯỢNG ẢNH 9
1.1. Giới thiệu chung về xử lý ảnh 9
1.2. Giới thiệu ảnh nhị phân 11
1.2.1. Một số khái niệm cơ bản 11
1.2.2. Cải thiện chất lượng ảnh bằng kỹ thuật phát hiện biên và tìm xương 15
1.2.3. Các phép toán Logic liên quan đến ảnh nhị phân 22
1.2.4. Cải thiện chất lượng ảnh bằng phép toán hình thái 25
1.2.5. Kết luận về vấn đề nghiên cứu 26
CHƯƠNG 2. CẢI THIỆN CHẤT LƯỢNG ẢNH NHỊ PHÂN 27
BẰNG PHÉP TOÁN HÌNH THÁI 27
2.1. Các phép toán hình thái cơ bản 28
2.1.1. Phép giãn nhị phân (Dilation [1], [2]) 31
TÀI LIỆU THAM KHẢO 65
5
DANH MỤC CÁC HÌNH VẼ
Trang
Hình 1.1. Quá trình xử lý ảnh 10
Hình 1.2. Các bước cơ bản trong một hệ thống xử lý ảnh 10
Hình 1.3. Mô hình tổng quát của hệ thống nhận dạng ảnh 15
Hình 2.12. Quá trình lọc đối tượng 41
Hình 2.13. Ứng dụng của phép co ảnh dưới dạng số nhị phân 42
Hình 2.14. Quá trình thực hiện phép mở ảnh 43
Hình 2.15. Phép mở ảnh trên phương diện ý nghĩa hình học. 44
Hình 2.16. Quá trình thực hiện phép đóng ảnh 45
Hình 2.17. Minh họa phép đóng ảnh trên phương diện ý nghĩa hình học 45
Hình 2.18. Minh họa phép biến đổi trúng hoặc trượt 47
6
Hình 2.19. Quá trình tìm biên của đối tượng trên ảnh nhị phân 51
Hình 2.20. Trích lọc biên của đối tượng 51
Hình 2.21. Kết quả làm mảnh đối tượng 52
Hình 2.22. Quá trình làm mảnh đối tượng trong hình ảnh 53
Hình 2.23. Kết quả của phép toán giãn nở 54
Hình 2.24. Kết quả của phép toán co ảnh 54
Hình 2.25. Quá trình xác định được rõ sơ đồ mạch điện 55
1. Lí do chọn đề tài
Cùng với ngôn ngữ, các thông tin duới dạng hình ảnh đóng một vai trò
rất quan trọng trong công việc trao đổi thông tin. Chính vì vậy những năm gần
đây đã có sự kết hợp rất chặt chẽ giữa ảnh và đồ hoạ trong lĩnh vực xử lý
thông tin. Trong công nghệ thông tin, xử lý ảnh chứa một vai trò rất quan
trọng, bởi các ứng dụng đa dạng và phong phú của nó trong nhiều lĩnh vực
khoa học. Xử lý ảnh là một bộ phận quan trọng trong việc trao đổi thông tin
giữa người và máy. Nó góp phần làm cho việc quan sát trở nên tốt hơn.
Hình ả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 một số các loại hình công việc, người ta đề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 diễn tả hết được, 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ý 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. 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 xác định ảnh, 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 cải thiện chất lượng ảnh nói chung và
tiền xử lý nói riêng. Trong luận văn này tôi 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 về sách Scan thường chỉ là ảnh 2 màu: đen, trắng) nhằm cải thiện chất
lượng ảnh nhị phân bằng các thao tác Hình thái học.
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 cải thiện chất lượng ảnh cho bước tiền
8
xử lý, trước khi thực hiện những bước kế tiếp cho công việc xử lý ảnh. Chính
vì những lí do trên mà tôi đã lựa chọn đề tài: “Nghiên cứu phương pháp cải
1.1. Giới thiệu chung về xử lý ảnh
Xử lý ảnh là đối tượng nghiên cứu của lĩnh vực thị giác máy, là quá
trình biến đổi từ một ảnh mới với các đặc tính và tuân theo ý muốn của người
sử dụng. Xử lý ảnh có thể gồm các quá trình phân tích, phân lớp các đối
tượng, làm tăng chất lượng, phân đoạn và tách cạnh, gán nhãn cho vùng hay
quá trình biên dịch các thông tin hình ảnh của ảnh.
Cũng như xử lý dữ liệu bằng đồ họa, 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 hình ảnh nhân
tạo, các ảnh này được xem xét như là một cấu trúc dữ liệu và được tạo ra vớ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.
Xử lý ảnh là lĩnh vực nghiên cứu, là quá trình biến đổi từ một ảnh ban
đầu sang một ảnh mới tuân thủ tính chất các đặc trưng của xử lý ảnh bao 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á nội dung của ảnh.
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 dùng nhiều trong
y học (xử lý tế bào, nhiễm sắc thể), nhận dạng chữ in hoặc đánh máy trong
văn bản phục vụ cho việc tự động hóa quá trình đọc tài liệu, tăng nhanh tốc độ
và chất lượng thu nhận thông tin từ máy tính.
10
Quá trình xử lý ảnh [1] được xem như là quá trình thao tác ảnh đầu vào
nhằm cho ra kết quả mong muốn. Kết quả đẩy ra của một quá trình xử lý có
thể là một ảnh "tốt hơn" hoặc một kết luận.
Trích chọn
đặc
điểm
Lưu trữ
Hậu
xử lý
Đối sách rút
ra kết luận
Hệ quyết
định
Lưu trữ
11
đổi tín hiệu tương tự sang tín hiệu rời rạc (lấy mẫu) và số hóa bằng lượng hóa,
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 để cải thiện chất lượng hình ảnh. Do vậy
cần phải tăng cường và khôi phục lại ảnh để làm nổi bật một số đặc tính chính
của ảnh. Giai đoạn tiếp theo là phát hiện các đặc tính như biên, phân vùng
ảnh, trích chọn các đặc trưng, Cuối cùng tùy theo mục đích của quá trình xử
lý ảnh, sẽ là giai đoạn nhận dạng, phân lớp hay các quyết định khác. Các bước
cơ bản trong một hệ thống xử lý ảnh có thể mô tả ở hình 1.2.
1.2. Giới thiệu ảnh nhị phân
Như đã giới thiệu ở trên trong quá trình xử lý ảnh khi ảnh được nhận
vào máy tính phải được mã hóa. Hình ảnh khi lưu trữ dưới dạng tập tin phải
được số hóa tiêu chuẩn đặt ra là ảnh phải lưu trữ thế nào sao cho các ứng
dụng khác nhau, có thể thao tác trên các loại dữ liệu này.
1.2.1. Một số khái niệm cơ bản
Một số khái niệm cơ bản trong xử lý ảnh [1], [4]:
1.2.1.1. Ảnh và điểm ảnh
xám là 0 và 1 thì ta nói đó là một ảnh nhị phân hoặc ảnh đen trắng và các
điểm ảnh của nó gọi là điểm ảnh nhị phân.
1.2.1.5. Ảnh màu và ảnh xám
* Ảnh màu
Ảnh màu là tổ hợp từ ba màu cơ bản : đỏ (Red), lục (Green), lam (Blue)
và thường thu nhận trên các dải băng tần khác nhau. Để biểu diễn cho mỗi
điểm ảnh màu cần 3 byte để mô tả 24 bit màu.
* Ảnh xám
Ảnh xám là trường hợp đặc biệt của ảnh màu. Mỗi điểm ảnh màu có 3
giá trị (Red, Green, Blue), nếu 3 giá trị này bằng nhau thì ta có ảnh xám.
13
1.2.1.6. Khử nhiễu
Có hai loại nhiễu cơ bản trong quá trình thu nhận ảnh:
- Nhiễu hệ thống: là nhiễu có quy luật có thể khử bằng các phép biến
đổi.
- Nhiễu ngẫu nhiên: vết bẩn không rõ nguyên nhân có thể khắc phục
bằng phép lọc.
1.2.1.7. Chỉnh mức xám
Nhằm khắc phục tính không đồng đều của hệ thống gây ra. Thông
thường có 2 hướng tiếp cận:
- Giảm số mức xám: Thực hiện bằng các nhóm các mức xám gần nhau
thành một bó. Trường hợp có 2 mức xám thì chính là chuyển về ảnh đen
trắng. Ứng dụng in ảnh màu ra máy in đen trắng.
- Tăng số mức xám: Thực hiện nội suy ra các mức xám trung gian bằng
kỹ thuật nội suy. Kỹ thuật này nhằm tăng cường độ mịn cho ảnh.
1.2.1.8. Trích chọn đặc điểm
Các đặc điểm của đối tượng được trích chọn tùy theo mục đích nhận
dạng trong quá trình xử lý ảnh. Có thể nêu ra một số đặc điểm của ảnh sau
đây:
bảo toàn thì thường có khả năng là nén cao hơn nhưng khả năng phục hồi thì
kém hơn. Trên cơ sở hai khuynh hướng, có 4 cách tiếp cận cơ bản trong nén
ảnh:
- Nén ảnh thống kê: Kỹ thuật nén này dựa vào việc thống kê tần suất
xuất hiện của giá trị các điểm ảnh, trên cơ sở đó mà có chiến lược mã hóa
thích hợp. Một ví dụ điển hình cho kỹ thuật mã hóa này là *.TIF.
15
- Nén ảnh không gian: Kỹ thuật này dựa vào vị trí không gian của các
điểm ảnh để tiến hành mã hóa. Kỹ thuật lợi dụng sự giống nhau của các điểm
ảnh trong các vùng gần nhau. Ví dụ cho kỹ thuật này là mã nén *.PCX
- Nén ảnh sử dụng phép biến đổi: Đây là kỹ thuật tiếp cận theo hướng
nén không bảo toàn và do vậy, kỹ thuật thường nén hiệu quả hơn, *.JPG chính
là tiếp cận theo kỹ thuật nén này.
- Nén ảnh Fractal: Sử dụng tính chất Fractal của các đối tượng ảnh, thể
hiện sự lặp lại của các chi tiết. Kỹ thuật nén sẽ tính toán để chỉ cần lưu trữ
phần gốc ảnh và quy luật sinh ra ảnh theo nguyên lý Fractal.
1.2.2. Cải thiện chất lượng ảnh bằng kỹ thuật phát hiện biên và tìm xương
Trong xử lý và nhận dạng ảnh, có một số loại ảnh đường nét gồm các
đối tượng là các đường cong có độ dài lớn hơn nhiều so với độ dày của nó, ví
dụ như là ảnh các kí tự, dấu vân tay, sơ đồ mạch điện tử, bản vẽ kỹ thuật, bản
đồ…Để xử lý các loại này người ta thường xây dựng các hệ mô phỏng theo
cách phân tích ảnh của con người gọi là hệ thống thị giác máy. Có nhiều hệ
thống được cài đặt theo phương pháp này như hệ thống nhận dạng chữ viết
bằng thiết bị quang học OCR (Optical Character Recognition), hệ thống nhận
dạng vân tay AFIS (Automated fingerprint Identification System)…
Kỹ thuật chủ yếu dùng để phát hiện biên ở đây là dựa vào sự biến đổi theo
hướng. Nếu lấy đạo hàm bậc nhất của ảnh ta có kỹ thuật Gradient, nếu lấy đạo
hàm bậc hai của ảnh ta có kỹ thuật Laplace.
* Kỹ thuật pháp hiện biên Gradient
Theo định nghĩa, Gradient là một véctơ có các thành phần biểu thị tốc
độ thay đổi giá trị của điểm ảnh, ta có:
dy
yxfdyyxf
fy
y
yxf
dx
yxfydxxf
fx
Ta có:
),1(),(2),1(
),1(),(),(),1(
)),(),1(()(
2
2
yxfyxfyxf
yxfyxfyxfyxf
yxfyxf
xx
f
xx
f
),1(),(2),1(
2
2
2
2
yxfyxfyxf
y
f
yxfyxfyxf
x
f
Vậy:
),(),1(),(4)1,(),1(1
2
yxfyxfyxfyxfyxff
b) Phát hiện biên gián tiếp
Nếu bằng cách nào đó ta phân được ảnh thành các vùng thì ranh giới
giữa các vùng đó gọi là biên. Kỹ thuật dò biên và phân vùng ảnh là hai bài
18
toán đối ngẫu nhau vì dò biên để thực hiện phân lớp đối tượng mà khi đã
xong nghĩa là đã phân vùng được ảnh và ngược lại, khi đã phân vùng ảnh đã
được phân lớp thành các đối tượng, do đó có thể phát hiện được biên.
Có hai kỹ thuật dò biên cơ bản:
- Kỹ thuật thứ nhất: Xét ảnh biên thu được từ ảnh vùng sau một lần
duyệt như một đồ thị, sau đó áp dụng các thuật toán duyệt cạnh đồ thị.
- Kỹ thuật thứ hai: Dựa trên ảnh vùng, kết hợp đồng thời quá trình dò
biên và tách biên. Ở đây ta quan tâm cách tiếp cận thứ hai.
Việc xác định cặp nền - vùng xuất phát được thực hiện bằng cách duyệt
ảnh lần lượt từ trên xuống dưới và từ trái qua phải rồi kiểm tra điều kiện lựa
chọn cặp nền - vùng. Do việc chọn điểm biên chỉ mang tính chất quy ước, nên
ta gọi ánh xạ xác định cặp nền - vùng tiếp theo là toán tử dò biên.
c) Kết luận
Phương pháp phát hiện biên trực tiếp tỏ ra khá hiệu quả và ít chịu ảnh
hưởng của nhiễu, song nếu sự biến thiên độ sáng không đột ngột, phương
pháp tỏ ra kém hiệu quả, phương pháp phát hiện biên gián tiếp tuy khó cài
đặt, song lại áp dụng khá tốt trong trường hợp này.
1.2.2.2. Kỹ thuật tìm xương
Xương được coi như hình dạng cơ bản của một đối tượng, với số ít các
điểm ảnh cơ bản. Ta có thể lấy được các thông tin về hình dạng nguyên bản
của một đối tượng thông qua xương.
Một định nghĩa xúc tích về xương dựa trên tính continum (tương tự như
hiện tượng cháy đồng cỏ) được đưa ra bởi Blum (1976) [3] như sau: Giả thiết
rằng đối tượng là đồng nhất được phủ bởi cỏ khô và sau đó dựng lên một
vòng biên lửa. Xương được định nghĩa như nơi gặp của các vệt lửa và tại đó
chúng được dập tắt.
20 Hình 1.4. Ví dụ về ảnh và xương
Kỹ thuật tìm xương luôn là chủ đề nghiên cứu trong xử lý ảnh những
năm gần đây. Mặc dù có những nỗ lực cho việc phát triển các thuật toán tìm
xương, nhưng các phương pháp đưa ra đều bị mất mát thông tin. Có thể chia
thành hai loại thuật toán tìm xương cơ bản [1].
- Thuật toán tìm xương dựa trên làm mảnh.
- Thuật toán tìm xương không dựa trên làm mảnh.
a) Tìm xương dựa trên làm mảnh
Thuật toán làm mảnh ảnh số nhị phân là một trong các thuật toán quan
Sự tương hợp giữa xương và cấu trúc của ảnh đối tượng.
Bảo toàn các thành phần liên thông.
Bảo toàn các điểm cụt.
Xương chỉ gồm các điểm biên, càng mảnh càng tốt.
Bền vững đối với nhiễu.
Xương cho phép khôi phục ảnh ban đầu của đối tượng.
Xương thu được ở chính giữa đường nét của đối tượng được làm mảnh.
Xương nhận được bất biến với phép quay.
b) Tìm xương không dựa trên làm mảnh
Để tách được xương của đối tượng có thể sử dụng đường biên của đối
tượng. Với điểm p bất kỳ trên đối tượng, ta bao nó bởi một đường biên. Nếu
như có nhiều điểm biên có cùng khoảng cách ngắn nhất tới p thì p nằm trên
22
trục trung vị. Tập tất cả các điểm như vậy lập thành trục trung vị hay xương
của đối tượng. Việc xác định đối tượng được tiến hành thông qua hai bước:
Bước thứ nhất: tính khoảng cách từ mỗi điểm ảnh của đối tượng
đến điểm biên gần nhất. Như vậy cần phải tính toán khoảng cách tới tất cả các
điểm biên của ảnh.
Bước thứ hai: khoảng cách ảnh đã được tính toán và các điểm
ảnh có giá trị lớn nhất được xem là nằm trên xương của đối tượng.
1.2.3. Các phép toán Logic liên quan đến ảnh nhị phân
Phép toán cơ bản nhất được sử dụng trong xử lý ảnh là: phép AND, phép
minh họa cho các phép toán logic, phần có màu xẫm là phần có giá trị là 1,
phần màu trắng là phần có giá trị là 0.
Các phép toán logic khác được xây dựng dựa trên các phép toán đã được
định nghĩa ở trên. Cho một ví dụ: Phép toán XOR (dựa trên phép toán AND
và NOT), giá trị của nó là 1 nếu giá trị của một trong hai điểm ảnh có giá trị là
1 (không phải là cả hai), và giá trị của nó là 0 khi cả hai điểm ảnh đều có giá
trị là 0 hoặc 1. Phép toán này khác phép toán OR, giá trị trả về sẽ là 1 khi một
trong hai điểm ảnh đầu vào là 1, hoặc khi cả hai điểm ảnh đầu vào là 1. Phép
toán NOT – AND chỉ trả về giá trị là 0 khi cả hai điểm ảnh đầu vào là 1. Hình 1.5. Một số phép toán logic giữa các hình ảnh nhị phân
A
NOT