Khảo sát và thử nghiệm về các bộ lọc phi tuyến trong cải thiện và lọc nhiễu, nhận xét đánh giá các ứng dụng thử nghiệm
Trang 1Lời nói đầu
Xử lý ảnh số được phát triển vào những năm 1960 tại phòng thí nghiệm Jet
Propulsion, Viện công nghệ Massachusetts, Phòng thí nghiệm Bell, Đại học
Maryland và một số các cơ sở nghiên cứu khác Xử lý ảnh được áp dụng trong nhiều lĩnh vực khác nhau như : ảnh chụp vệ tinh, y học, quân sự, đàm thoại bằng hình ảnh, nhận dạng ký tự, cải thiện ảnh, …
Nói chung xử lý ảnh có tác động mạnh mẽ và ảnh hưởng lớn đến đời sống con người Và để có một bức ảnh ưng ý thì phải trải qua nhiều công đoạn khác nhau Lọc nhiễu cũng là một trong những công đoạn đó, giúp cho chúng ta có một bức ảnh đạt hiệu quả cao Mục đích của lọc nhiễu là giảm bớt những phần tử làm ảnh hưởng đến chất lượng ảnh Chính vì lý do đó nên nhóm em đã chọn đề tài : “Khảo sát và thử nghiệm về các bộ lọc phi tuyến trong cải thiện và lọc nhiễu, nhận xét đánh giá các ứng dụng thử nghiệm” Nhờ có đề tài này mà nhóm chúng em đã có cái nhìn rõ hơn về phương pháp lọc phi tuyến trong xử lý ảnh Tuy nhiên trong quátrình làm báo cáo nhóm cũng không tránh khỏi thiếu sót nên rất mong nhận được nhận xét của cô Chúng em xin chân thành cảm ơn cô
Trang 21 Khái quát về bộ lọc ảnh số:
Quá trình số hóa ảnh có thể gây nhiễu cho ảnh số và ảnh đầu ra mà ta nhận được sẽkhông đạt được chất lượng ảnh như ta mong muốn Nhiễu có thể hiểu là những phần tử ảnh mà giá trị của nó lớn hơn so với các phần tử xung quanh Xét theo tần
số thì các phần tử nhiễu có tần số cao hơn với các điểm xung quanh Trong xử lý ảnh số lọc nhiễu được xem là bước xử lý quan trọng và là một trong những vấn đề rất được quan tâm
Cơ sở chung để xử lý phần tử (điểm ảnh) bị nhiễu là dùng thông tin của các điểm ảnh lân cận, thay thế giá trị điểm ảnh cần xử lý bằng tổ hợp giá trị các điểm ảnh lâncận Việc thay thế dựa trên giả định là các điểm ảnh lân cận có giá trị gần giống với điểm ảnh cần xét
Về kỹ thuật thì ta sẻ dụng một mặt nạ di chuyển khắp ảnh gốc, ở mỗi vị trí của ảnh tính toán theo các điểm trong mặt nạ và thay vào giá trị cho điểm ở tâm mặt nạ Các mặt nạ khác nhau sẽ có các cách tính khác nhau
Trong bài báo cáo này chúng em xin được trình bày về kỹ thuật lọc phi tuyến Các
bộ lọc phi tuyến được đề cập bao gồm:
- Bộ lọc trung vị (median filter)
- Bộ lọc giả trung vị (pseudomedian filter)
- Bộ lọc Min - lọc co (minimum filter)
- Bộ lọc Max – lọc giãn (maximum filter)
Trang 3Ý tưởng của thuật toán lọc trung vị:
Sử dụng một cửa sổ lọc là ma trận 3x3 quét qua lần lượt từng điểm ảnh của ảnh đầu vào Tại vị trí mỗi điểm ảnh lấy giá trị của các điểm ảnh tương ứng trong vùng 3x3 của ảnh gốc lấp vào ma trận lọc Sau đó sắp xếp giá trị các điểm ảnh này theo thứ tự tăng dần (hoặc giảm dần) Cuối dùng lấy giá trị điểm ảnh nằm chính giữa (trung vị) của dãy giá trị điểm ảnh đã được sắp xếp gán cho điểm ảnh đang xét của ảnh đầu ra
Trong trường hợp một chiều trung vị xa dãy phần từ {xn} được xét như sau:
- Nếu n lẻ: có (n-1)/2 phần tử lớn hơn xa và (n-1)/2 phần tử nhỏ hơn hay bằng
xa
- Nếu n chẵn: xa là trung bình cộng của 2 phần tử xi và xj thuộc {xn} sao cho
có (n-2)/2 phần tử nhỏ hơn hay bằng xi và (n-2)/2 phần tử lớn hơn hay bằng
xj.
Ví dụ :
Cho dãy: {16,15,18,17,78,17,17,20,15} n=9 => n:lẻ
Dãy trên sau khi sắp xếp lại các phần tử là: {15, 15, 16, 17, 17, 17, 18, 20, 78}
x5 = 17 là phần tử trung vị vì có (n-1)/2 phần tử lớn hơn hoặc bằng x5 và (n-1)/2 phần tử nhỏ hơn hay bằng x5
Trong trường hợp hai chiều:
Lọc trung vị được định nghĩa như sau:
Y(m,n) = Median(X(m-k,n-l) với k,l [1, L]
Trang 4Các bước giải thuật:
B1: Quét cửa sổ lọc lần lượt lên các điểm ảnh đầu vào, điền vào các giá trị được quét vào cửa sổ lọc
B2: Sắp xếp theo thứ tự các thành phần trong cửa sổ lọc
B3: Lưu lại thành phần trung vị gán cho ảnh đầu ra
Trang 5Tâm
cửa sổ
lọc
B1: Trượt cửa sổ mặt nạ W lần lượt vào các điểm ảnh cần xét sao cho điểm ảnh cần
xét vào tâm cửa sổ lọc
Ở trường hợp này điểm ảnh đang xét có giá trị là : 2
Trang 6Phần tử thứ 5 có giá trị là: 1
B3: Lưu lại giá trị của phần tử trung vị và gán giá trị đó vào điểm ảnh đang xét ở
bước 1, lúc này điểm ảnh đang xét sẽ có giá trị mới
Trong trường hợp này điểm ảnh đang xét sẽ có giá trị mới là: 1
Trang 7B1:Đặt tâm của cửa sổ lọc vào phần tử cần xét Ở trường hợp này sẽ đặt vào biên
của ảnh và dẫn đến trường hợp cửa sổ lọc không lấy được giá trị nằm ngoài biênảnh do đó sẽ không thu được giá trị để tìm ra phần tử trung vị:
Trang 9=>
Ta lướt cửa sổ lọc lên toàn bộ phần tử ảnh và ta thu được ma trận ảnh dữ liệu đầu
ra Y(m,n) như sau:
Trang 112.1.2 Xử lý ảnh bằng bộ lọc trung vị dựa trên phần mềm Scion Image:
Sau đây là các ví dụ minh họa ảnh bị nhiễu muối tiêu (salt and pepper noise).Nhiễu muối tiêu là các pixel có giá trị màu trắng hoặc đen hiển thị ngẫu nhiên trênảnh Cửa sổ lọc dùng trong phần mềm Scion Image có kích thước là 3x3:
Hình 1
Trang 13Hình 4
Ảnh trước khi lọc:
Ảnh sau khi lọc:
Trang 14Hình 5
Nhận xét chung:
- Bộ lọc trung vị xử lý nhiễu xung (impulse noise) và nhiễu muối tiêu (pepper and salt noise) tốt mà giữ nguyên độ phân giải ảnh
- Số lượng tính toán lớn (có thể bằng số mũ kích thước cửa sổ lọc)
2.2 Bộ lọc giả trung vị (Pseudomedian filtering):
Bộ lọc trung vị (Median Filter) sử dụng một cửa sổ lọc (thường là 3x3) để trượt qua các điểm ảnh và thu về giá trị của điểm ảnh trong cửa sổ lọc Đầu ra sau khi lọc sẽ là giá trị của điểm ảnh nằm chính giữa của dãy giá trị sau khi đã sắp xếp theothứ tự tăng hoặc giảm dần
Bộ lọc giả trung vị (Pseudomedian filtering) cũng sử dụng một cửa sổ lọc 3x3 và hoạt động như lọc trung vị nhưng các giá trị thu được trong cửa sổ lọc không vần phải sắp xếp lại như lọc trung vị Giá trị tại đầu ra là trung bình của giá trị lớn nhấttrong số các giá trị nhỏ nhất và giá trị nhỏ nhất trong số các giá trị lớn nhất thu được từ cửa sổ lọc Bộ lọc giả trung vị được mô tả bằng công thức sau:
Với dãy số có 5 phần tử a,b,c,d,e Công thức lọc giả trung vị được xác định như sau:
Trang 15PseudoMedian(a,b,c,d,e) =
1
2¿ {MAX[ Min(a,b,c ),Min(b,c,d),Min(c,d,e)]¿ } ¿ {} ¿
Với công thức trên thì lọc giả trung vị chỉ cần dùng 3 chuỗi thay vì dùng 10 chuỗi như lọc trung vị Trong lọc trung vị người ta thường dùng cửa sổ lọc hình vuông vì không làm biến dạng ảnh và hiệu quả nhưng trong lọc giả trung vị để thu được kết quả tốt hơn thì người ta dùng cửa sổ lọc dạng chữ thập Cửa sổ lọc dạng chữ thập:
Điểm
cần xét
Các bước giải thuật:
B1: Lấy các phần tử trong cửa sổ ra mảng một chiều
B2: Tìm min của lần lượt các chuỗi con rồi lấy max: gọi là m1
B3: Tìm max của lần lượt các chuỗi con rồi lấy min: gọilà m2
B4: Gán giá trị điểm đang xét là trung bình công của m1 và m2
3.1.1 Ví dụ minh họa các bược giải thuật lọc giả trung vị:
Trường hợp không làm thay đổi giá trị biên của ảnh
Cho ma trận dữ liệu ảnh đầu vào X(m,n):
Trang 16X(m,n) =
Và cửa sổ lọc chữ thập W:
B1: Đặt tâm cửa sổ và điểm ảnh và thu lấy giá trị của điểm ảnh:
Lấy các phần tử của sổ ra cho vào một dãy (mảng 1 chiều):{2, 1, 1, 0, 4}
B2: Tính Min của các chuỗi và lấy Max gọi là m1
m1 = Max[Min(2,1,1) ; Min(1,1,0); Min(1,0,4)}] = 4
B3: Tính Max của các chuỗi và lấy Min gọi là m2
Điểm cần xét
Trang 17m2 = Min[Max (2,1,1) ; Max (1,1,0); Max (1,0,4)}] = 2
B4: Gán giá trị điểm đang xét là trung bình công của m1 và m2
- Cho một cửa sổ lọc W có kích thước là 3x3 trượt qua từng phần tử ảnh Phần
tử ảnh cần xem xét được đưa vào tâm của cửa lọc
Trang 18Tâm cửa sổ lọc
- Thu lại giá trị của các phần tử trong cửa sổ lọc
- Giá trị mới của điểm ảnh đang xét bằng Min của các giá trị lân cận tham
chiếu trong cửa sổ lọc
- Tìm ra điểm tối nhất trên ảnh.
- Tìm giá trị nhỏ nhất trong cửa sổ lọc
- Được sử dụng để giảm nhiễu muối (salt noise).
2.3.1 Ví dụ minh họa giải thuật của bộ lọc Min (lọc co):
Ví dụ 1:
Xét trường hợp không làm thay đổi giá trị biên của ảnh
Cho một ma trận dữ liệu ảnh đầu vào:
Trang 19Giá trị mới = Min {1, 2, 2, 1, 1, 0, 2, 4, 1} = 0
Thay giá trị mới vào ta có ảnh đầu ra như sau:
Trang 20Xét trường hợp làm thay đổi giá trị biên của ảnh.
Cho ma trận dữ liệu ảnh đầu vào X(m,n) như trên:
Trang 21Cho giá trị bên ngoài biên của ảnh là giá trị “0” Ta có ma trận ảnh đầu vào như sau:
Trang 22Giá trị mới = Min {0, 0, 0, 0, 1, 2, 0, 1, 1} = 0
Thay giá trị mới vào ta có ảnh đầu ra như sau:
Y(m,n)=
Trượt cửa sổ lần lượt đi hết các phần tử ta được ma trận dữ liệu ảnh đầu ra như sau:
Y(m,n)=
Xử lý ảnh bằng bộ lọc Min dựa trên phần mềm Scion Image:
Ảnh sau đây là ảnh bị nhiễu muối (salt noise) Nhiễu muối có các phần tử có giá trịlớn hơn rất nhiều so với các phần tử lân cận
Trang 232.4 Bộ lọc Max (Lọc giãn):
Lọc max hoạt động ngược lại với bộ lọc min
Ý tưởng:
- Cho một cửa sổ lọc W có kích thước là 3x3 trượt qua từng phần tử ảnh Phần
tử ảnh cần xem xét được đưa vào tâm của cửa lọc
Tâm cửa sổ lọc
- Thu lại giá trị của các phần tử trong cửa sổ lọc
- Giá trị mới của điểm ảnh đang xét bằng Max của các giá trị lân cận tham
chiếu trong cửa sổ lọc
Trang 24- Tìm giá trị lớn nhất trong cửa sổ lọc
- Được sử dụng giảm nhiễu hạt tiêu (pepper noise).
2.4.1 Ví dụ minh họa giải thuật của bộ lọc Max (lọc giãn):
Xét trường hợp không làm thay đổi giá trị biên của ảnh.Cho một ma trận dữ liệu ảnh đầu vào:
Trang 25Giá trị mới = Max {1, 2, 2, 1, 1, 0, 2, 4, 1} = 4
Thay giá trị mới vào ta có ảnh đầu ra như sau:
Trang 26Y(m,n)=
Xét trường hợp làm thay đổi giá trị biên của ảnh
Cho ma trận dữ liệu ảnh đầu vào X(m,n) như trên:
X(m,n)=
Cho giá trị bên ngoài biên của ảnh là giá trị “0” Ta có
ma trận ảnh đầu vào như sau:
Trang 27Giá trị mới = Max {0, 0, 0, 0, 1, 2, 0, 1, 1} = 2
Thay giá trị mới vào ta có ảnh đầu ra như sau:
Trang 28Y(m,n)=
Xử lý ảnh bằng bộ lọc Max dựa trên phần mềm Scion Image:
Ảnh sau đây là ảnh bị nhiễu hạt tiêu (pepper noise) Nhiễu hạt tiêu có các phần tử
có giá trị lớn hơn nhỏ nhiều so với các phần tử lân cận
Hình 1
Ảnh trước khi xử lý Ảnh sau khi xử lý
Trang 29+ Tìm ra điểm tối nhất (coi là nhiễu hạt tiêu-pepper noise) trên ảnh và giảm nhiễu.
+ Thường làm cho ảnh sáng lên do lấy giá trị lớn nhất so với các giá trị tham chiếu trong cửa sổ lọc
Trang 30+ Lọc nhiễu hạt tiêu tốt nhưng không loại bỏ được nhiễu muối-salt noise.
3 Ứng dụng thử nghiệm các bộ lọc trên ảnh:
3.1 Hoạt động của bộ lọc đối với ma trận dữ liệu ảnh:
Trong phần này ta sẽ thực hiện lấy một ma trận dữ liệu ảnh đầu vào và cho đi qua các bộ lọc trên
Ta có một ma trận dữ liệu ảnh đầu vào sau:
Trang 31Đối với lọc trung vị, lọc min (lọc co) và lọc max (lọc giãn) ta sử dụng cửa sổ lọc dạng vuông có kích thước là 3x3:
Đối với lọc giả trung vị ta sử dụng cửa sổ lọc dạng chữ thập:
Ta trượt cửa sổ lọc lần lượt qua từng phần tử ảnh:
Lọc trung vị, lọc Min, lọc Max: Lọc giả trung vị:
Kết quả ảnh đầu ra Y(m,n) sau khi chạy qua các bộ lọc như sau:
Trang 32Lọc trung vị (Meidan Filter): Lọc giả trung vị(pseudomedian filter):
3.2 Hoạt động của bộ lọc đối với ảnh số:
3.2.1 Ảnh bị nhiễu muối hạt tiêu:
Ta có một ảnh đa mức xám bị nhiễu muối và hạt tiêu (salt and pepper noise)
khoảng 5% Được xử lý lọc nhiễu bằng lọc trung vị, lọc Min, lọc Max có sẵn trong phần mềm xử lý ảnh Scion Image Qua đó để thấy được hiệu quả và sự khác nhau của các bộ lọc trên
Trang 33Xét một ảnh đầu vào bị nhiễu muối và hạt tiêu như sau:
Trang 34Lọc Max chỉ có thể loại bỏ được nhiễu hạt tiêu (pepper noise) là các điểm đen trên
ảnh nhưng không loại bỏ được nhiễu muối (salt noise) mà còn làm nhiễu tăng lên.
Nhận xét:
Trang 35- Bộ lọc trung vị xử lý tốt với hai loại nhiễu muối và nhiễu hạt tiêu
- Bộ lọc Min thì chỉ có thể xử lý được nhiễu muối mà không loại bỏ được nhiễu hạt tiêu
- Bộ lọc Max cũng chỉ xử lý được nhiễu hạt tiêu mà không loại bỏ được nhiễumuối
Trang 37- Bộ lọc Min và Max không xử lý được nhiễu xung và chất lượng ảnh còn kém hơn so với ảnh gốc ban đầu.