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
Lờ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ô. Nhóm sinh viên: Nguyễn Xuân Thắng KS2-K34 Đỗ Quốc Thưởng KS2-K34 Đinh Thị Thu Hiền KS2-K34 1. 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ân cậ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) 2. Bộ lọc phi tuyến: Các bộ lọc phi tuyến được dùng trong kỹ thuật tăng cường ảnh. Kỹ thuật này đa dạng và không có mô hình công thức chung. Ứng dụng chủ yếu của lọc phi tuyến là làm trơn ảnh (smoothing) và loại bỏ nhiễu (noise) trên ảnh. Kỹ thuật lọc phi tuyến thường dùng là lọc trung vị. 2.1 Lọc trung vị: Lọc trung vị là kỹ thuật dùng để loại bỏ nhiễu đốm (speckle noise) và nhiễu muối tiêu (salt-pepper noise). Đây là một kỹ thuật rất phổ biến trong xử lý ảnh. Ý 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ị x a dãy phần từ {x n } được xét như sau: - Nếu n lẻ: có (n-1)/2 phần tử lớn hơn x a và (n-1)/2 phần tử nhỏ hơn hay bằng x a . - Nếu n chẵn: x a là trung bình cộng của 2 phần tử x i và x j thuộc {x n } sao cho có (n-2)/2 phần tử nhỏ hơn hay bằng x i và (n-2)/2 phần tử lớn hơn hay bằng x j. 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} x 5 = 17 là phần tử trung vị vì có (n-1)/2 phần tử lớn hơn hoặc bằng x 5 và (n-1)/2 phần tử nhỏ hơn hay bằng x 5 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] Y(m,n): Ảnh đầu ra X(m,n): Ảnh đầu vào L: Số phần tử cửa sổ lọc Xác định phần tử trung vị bằng công thức : L+1/2 (Lưu ý: là sau khi sắp xếp các phần tử trong cửa sổ lọc theo chiều tăng hoặc giảm dần). Cá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. Tính chất lọc trung vị: + Có lợi cho việc loại bỏ các điểm ảnh hay các hàng mà vẫn bảo toàn độ phân giải. + Loại bỏ tốt nhiễu xung và nhiễu muối-tiêu (salt and pepper noise) 2.1.1. Các ví dụ minh họa giải thuật bộ lọc trung vị: Ví dụ 1: Cho ma trận ảnh đầu vào X(m,n): X(m,n) = Và cửa sổ lọc W kích thước 3x3: 1 4 0 1 3 1 2 2 4 2 2 3 1 0 1 0 1 0 1 2 1 0 2 2 2 5 3 1 2 5 1 1 4 2 3 0 Tâ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 1 4 0 1 3 1 2 2 4 2 2 3 1 0 1 0 1 0 1 2 1 0 2 2 2 5 3 1 2 5 1 1 4 2 3 0 Điền các giá trị được quét vào cửa sổ lọc: 1 4 0 2 2 4 1 0 1 B2: Sắp xếp theo thứ tự các thành phần trong cửa sổ lọc theo chiều tăng dần: {0, 0, 1, 1, 1, 2, 2, 4, 4} n=9. Vậy phần tử trung vị sẽ là = (n+1)/2 = 5 Phầ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 1 4 0 1 3 1 2 1 4 2 2 3 1 0 1 0 1 0 1 2 1 0 2 2 2 5 3 1 2 5 1 1 4 2 3 0 Ta lặp lại ba bước trên với phần tử kế tiếp (Lưu ý: Trong trường hợp này cửa sổ lọc không làm thay đổi giá trị tại biên của ảnh). Ta sẽ được ma trận dữ liệu ảnh đầu ra Y(m,n) như sau: Y(m,n) = Vậy nếu cần lọc tất cả các phẩn tử ảnh (bao gồm cả biên của ảnh) thì sao ? Ta chuyển sang ví dụ 2 và chia làm hai trường hợp: 1 4 0 1 3 1 2 1 1 1 1 3 1 1 1 1 2 0 1 1 1 1 1 2 2 2 2 2 2 5 1 1 4 2 3 0 Ví dụ 2 – trường hợp 1: Cho ma trận dữ liệu ảnh đầu vào X(m,n): X(m,n)= Và một cửa sổ lọc W kích thước 3x3: Tâm cửa sổ lọc B1:Đặ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ị: 1 4 0 1 3 1 1 4 0 1 3 1 2 2 4 2 2 3 1 0 1 0 1 0 1 2 1 0 2 2 2 5 3 1 2 5 1 1 4 2 3 0 2 2 4 2 2 3 1 0 1 0 1 0 1 2 1 0 2 2 2 5 3 1 2 5 1 1 4 2 3 0 B2: Trường hợp 1: Ta có thể gán các giá trị của biên ảnh ra bên ngoài: 1 1 4 0 1 3 1 1 1 1 4 0 1 3 1 1 2 2 2 4 2 2 3 3 1 1 0 1 0 1 0 0 1 1 2 1 0 2 2 2 2 2 5 3 1 2 5 5 1 1 1 4 2 3 0 0 1 1 1 4 2 3 0 0 Tiến hành sắp xếp các giá trị thu được ở cửa sổ lọc và tìm giá trị trung vị: {1, 1, 1, 1, 2, 2, 2, 4, 4} => Phần tử trung vị là : x 5 = 2 Thay giá trị của x 5 = 2 vào phần tử đang xét ta có: 1 1 4 0 1 3 1 1 1 2 4 0 1 3 1 1 2 2 2 4 2 2 3 3 1 1 0 1 0 1 0 0 1 1 2 1 0 2 2 2 2 2 5 3 1 2 5 5 1 1 1 4 2 3 0 0 1 1 1 4 2 3 0 0 1 1 4 0 1 3 1 1 1 1 4 0 1 3 1 1 2 2 2 4 2 2 3 3 1 1 0 1 0 1 0 0 1 1 2 1 0 2 2 2 2 2 5 3 1 2 5 5 1 1 1 4 2 3 0 0 1 1 1 4 2 3 0 0 => 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: Y(m,n)= Trường hợp 2: 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 2 2 2 2 2 1 2 2 3 2 2 Ta gán giá trị là: “0” ra bên ngoài biên của ảnh. Ta có 0 0 0 0 0 0 0 0 0 1 4 0 1 3 1 0 0 2 2 4 2 2 3 0 0 1 0 1 0 1 0 0 0 1 2 1 0 2 2 0 0 2 5 3 1 2 5 0 0 1 1 4 2 3 0 0 0 0 0 0 0 0 0 0 Tiến hành sắp xếp các giá trị thu được ở cửa sổ lọc và tìm giá trị trung vị: {0, 0, 0, 0, 0, 1, 2, 2, 4} => Phần tử trung vị là : x 5 = 0 Thay giá trị của x 5 = 0 vào phần tử đang xét ta có: 0 0 0 0 0 0 0 0 0 0 4 0 1 3 1 0 0 2 2 4 2 2 3 0 0 1 0 1 0 1 0 0 0 1 2 1 0 2 2 0 0 2 5 3 1 2 5 0 0 1 1 4 2 3 0 0 0 0 0 0 0 0 0 0 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: [...]... 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: 1 2 2 1 1 3 0 3 X(m,n) = 2 4 1 5 2 1 2 0 Để lọc được toàn bộ các phần tử của ảnh đầu vào ta cho các giá trị nằm ngoài biên ảnh trùng với giá trị của biên... 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 theo thứ 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... lọc 4 4 5 5 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 Xét một ảnh đầu vào bị nhiễu muối và hạt tiêu như sau: Lọc nhiễu bằng bộ lọc trung vị: Ảnh gốc: Ảnh sau khi xử lý: Lọc trung vị xử lý khá tốt với hai loại nhiễu này và cho kết quả tốt hơn rất nhiều so với ảnh gốc ban đầu Lọc nhiễu bằng bộ. .. tăng lên Nhận xét: - 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ễu muối 3.2.2 Ảnh bị nhiễu xung: Cho một ảnh bị nhiễu xung 5% và ta làm tương tự cho chạy qua các bộ lọc trung vị, lọc Min và lọc Max Lọc nhiễu bằng bộ lọc trung... 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: 1 2 2 1 1 1 0 3 2 4 1 5 2 1 2 0 X(m,n)= Và một cửa sổ lọc W kích thước 3x3: B1: Đưa tâm cửa sổ lọc W vào giá trị phần tử cần xét: 1 2 2 1 1 1 0 3 2 4 1 5 2 1 2 0 B2: Lấy giá trị của các phần tử trong cửa sổ lọc ta có dãy: {1, 2, 2, 1, 1, 0, 2, 4, 1} B3: Giá trị mới của... trước khi lọc: Ảnh sau khi lọc: Hình 4 Ảnh trước khi lọc: Ảnh sau khi lọc: Hì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àm cho ảnh tối đi do lấy giá trị nhỏ nhất so với các giá trị tham chiếu trong cửa sổ lọc + Lọc nhiễu muối tốt nhưng không loại bỏ được nhiễu hạt tiêu (pepper noise) -Bộ lọc Max (lọc giãn): + 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 + Lọc nhiễu hạt tiêu tốt nhưng... 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 Công thức: wk = 1 wk = 0 if if k =1 k ≠1 => Y(m.n) = min {a(k)} Tính chất: - Là một kỹ thuật lọc dạng - 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ộ. .. 2 1 2 0 0 2 2 1 2 0 0 X(m,n) = Đố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: 1 1 2 2 11 12 1 1 2 2 1 1 1 1 3 0 3 3 2 2 4 1 5 5 2 2 1 2 0 0 2 2 1 2 0 Lọc giả trung vị: 0 1 1 2 1 1 1 2 2 1... 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: 1 2 2 1 1 1 0 3 2 4 1 5 2 1 2 0 X(m,n)= Và một cửa sổ lọc W kích thước 3x3: B1: Đưa tâm cửa sổ lọc W vào giá trị phần tử cần xét: 1 2 2 1 1 1 0 3 2 4 1 5 2 1 2 0 B2: Lấy giá trị của các phần tử trong cửa sổ lọc ta có dãy: {1, 2, 2, 1, 1, 0, 2, 4, 1} B3: Giá trị mới của . 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. filter) 2. Bộ lọc phi tuyến: Các bộ lọc phi tuyến được dùng trong kỹ thuật tăng cường ảnh. Kỹ thuật này đa dạng và không có mô hình công thức chung. Ứng dụng chủ yếu của lọc phi tuyến là làm. 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