Nghiên cứu các phương pháp phát hiện biên trong xử lý ảnh

MỤC LỤC

Tiền xử lý

Đối với nhiễu ngẫu nhiên, trường hợp đơn giản là các vết bẩn tương ứng với các điểm sáng hay tối, có thể khử bằng phương pháp nội suy, lọc trung vị và trung bình. * Chỉnh mức xám: Đây là kỹ thuật nhằm chỉnh sửa tính không đồng đều của thiết bị thu nhận hoặc độ tương phản giữa các vùng ảnh.

Phân đoạn ảnh

Kết quả của bước phân đoạn ảnh thường được cho dưới dạng dữ liệu điểm ảnh thô, trong đó hàm chứa biên của một vùng ảnh hoặc tập hợp tất cả các điểm ảnh thuộc về chính vùng ảnh đó. Trong cả hai trường hợp, sự chuyển đổi dữ liệu thô này thành một dạng thích hợp hơn cho việc xử lý trong máy tính là hết sức cần thiết, nghĩa là nên biểu diễn một vùng ảnh dưới dạng biên hay dưới dạng một vùng hoàn chỉnh gồm tất cả những điểm ảnh thuộc về nó.

Nhận dạng và nội suy ảnh

• Biểu diễn bằng mã chạy: Phương pháp này thường biểu diễn cho vùng ảnh và áp dụng cho ảnh nhị phân. • Biểu diễn bằng mã xích: Phương pháp này thường dùng để biểu diễn đường biên ảnh.

Cơ sở tri thức

• Biểu diễn bằng mã tứ phân: Phương pháp này được dùng để mã hoá cho vùng ảnh.

Một số vấn đề cơ bản trong xử lý ảnh 1 Điểm ảnh (Picture Element)

Độ phân giải của ảnh

Khoảng cách giữa các điểm ảnh phải được chọn sao cho mắt người vẫn thấy được sự liên tục của ảnh. Việc lựa chọn khoảng cách thích hợp tạo nên một mật độ phân bố, đó chính là độ phân giải và được phân bố theo trục x và y trong không gian hai chiều.

Mức xám của ảnh

Độ phân giải (Resolution) của ảnh là mật độ điểm ảnh được ấn định trên một ảnh số được hiển thị.

Quan hệ giữa các điểm ảnh

Giá trị khoảng cách giữa các điểm ảnh r: giá trị bán kính r giữa điểm ảnh từ tâm điểm ảnh đến tâm điểm ảnh q khác.

Toán tử không gian với xử lý ảnh

Làm trơn nhiễu bằng lọc tuyến tính

Sau quỏ trỡnh lọc tuyến tớnh, ta chuyển về ảnh cũ bằng phép biến đổi hàm e mũ.

Làm trơn nhiễu bằng lọc phi tuyến

Trong trường hợp đó, thay thế giá trị của điểm ảnh bằng giá trị trung bình 8 lân cận vừa tính được. Tuy nhiên, cửa sổ có thể mở rộng đến 5x5 hay 7x7 để đảm bảo tính tương quan giữa các điểm ảnh.

Lọc thông thấp, thông cao và lọc dải thông

* Tính chất của lọc trung vị:. - Lọc trung vị là loại lọc phi tuyến. Điều này dễ nhận thấy từ:. - 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. - Hiệu quả giảm khi số điểm trong cửa sổ lớn hay bằng một nửa số điểm trong cửa sổ. Lọc trung vị cho trường hợp 2 chiều coi như lọc trung vị tách được theo từng chiều. b) Lọc ngoài (Outlier Filter). Nguyên nhân chính là ngăn cản sự tăng quá giới hạn của các giá trị mức xám (các giá trị điểm ảnh vẫn giữ được giá trị của nó một cách gần đúng không thay đổi quá nhiều với giá trị thực).

Phân loại các kỹ thuật phát hiện biên 1. Phương pháp phát hiện biên trực tiếp

Phương pháp phát hiện biên gián tiếp

Song nếu sự biến thiên độ sáng của ảnh là không cao thì khó có thể phát hiện được biên, trong trường hợp này việc tìm biên theo phương pháp trực tiếp tỏ ra không đạt được hiệu quả tốt. Phương pháp tìm biên gián tiếp dựa trên các vùng, đòi hỏi áp dụng lý thuyết về xử lý kết cấu đối tượng phức tạp, vì thế khó cài đặt, song đạt hiệu quả cao khi sự biến thiên về cường độ sáng là nhỏ.

Quy trình phát hiện biên

Và ngược lại, khi đã phân vùng được ảnh nghĩa là đã phân lập được thành các đối tượng, từ đó có thể phát hiện được biên cần tìm. Tuy nhiên, phương pháp tìm biên trực tiếp thường sử dụng có hiệu quả vì ít chịu ảnh hưởng của nhiễu.

Kỹ thuật phát hiện biên Gradient

    Độ lớn Gradient tại điểm (i,j) được tính theo công thức:. Để giảm thời gian tính toán và độ phức tạp ta có xấp xỉ:. Ta có kết quả tìm biên theo kỹ thuật này như sau:. a) Ảnh gốc b) Ảnh biên Hình 2.1: Biên ảnh với Pixel difference. Đây cũng là một bộ lọc cơ bản dựa theo kỹ thuật Gradient, song bộ lọc này có khác một chút so với bộ lọc Pixel diference, nó so sánh sự khác nhau giữa các điểm ảnh và ở đây là hai điểm ảnh ở hai bên của điểm ảnh đang xét.

    Hình  2.4: Biên ảnh với toán tử Prewitt
    Hình 2.4: Biên ảnh với toán tử Prewitt

    Các toán tử la bàn

      Toán tử la bàn do Gradient dựa trên sự đánh giá tất cả các hướng có thể của một đường biên ảnh trong một ảnh rời rạc. Bởi vậy thay vì chỉ áp dụng hai mặt nạ như các toán tử trong kỹ thuật Gradient ở trên, tám mặt nạ đã được dùng, mỗi cái cung cấp một cạnh đường biên dọc theo một trong tám hướng có thể của vòng.

      Kỹ thuật phát hiện biên Laplace

      Tuy nhiên kết quả thực nghiệm cho thấy, do thực hiện phương pháp đạo hàm bậc hai cho nên kết quả rất nhạy cảm với nhiễu, để khắc phục nhược điểm này người ta mở rộng toán tử Laplace. Như vậy để thực hiện bước 1: Ta tiến hành nhân xoắn ảnh cần xử lý với bộ lọc Gauss giống như cách thức nhân xoắn của các toán tử ta đã thực hiện ở trên.

      Hình 2.14: Bộ lọc Laplace of Gauss
      Hình 2.14: Bộ lọc Laplace of Gauss

      Phương pháp Canny

      Cơ sở lý thuyết thuật toán

      Sự xấp xỉ với bộ lọc tối ưu của thuật toán phát hiện biên Canny chính là G’ và do vậy, bằng phép nhân xoắn ảnh vào với G’ ta thu được ảnh E đã được tách biên ngay cả trong trường hợp ảnh có nhiều nhiễu. Việc vi phân cũng có thể được thực hiện bằng phép nhân xoắn ở mảng một chiều tạo nên hai ảnh: ảnh một là việc nhân xoắn thành phần của x với mảng một chiều, ảnh hai là việc nhân xoắn thành phần của y.

      Hoạt động của thuật toán a)Thuật toán

      Nếu điểm ảnh này là lớn nhất thì giữ lại điểm biên này (đánh dấu điểm biên này), ngược lại nếu nó nhỏ hơn một trong hai điểm biên lân cận thì điểm biên này bị loại đi (cho giá trị điểm biên này bằng 0). Ngược lại: Loại bỏ điểm biên này (đặt giá trị bằng 0). Sau đây là kết quả sau khi thực hiện phương pháp phát hiện biên Canny:. a) Ảnh gốc b) Ảnh biên Hình 3.3: Biên ảnh theo phương pháp Canny.

      Hình 3.2: Hình mô tả các điểm biên lân cận
      Hình 3.2: Hình mô tả các điểm biên lân cận

      Phương pháp Shen - Castan

      Xây dựng bộ lọc tối ưu

      Công thức này có thể được áp dụng vào ảnh theo cách tương tự đã làm với đạo hàm của bộ lọc Gauss, như là lọc theo hướng x và theo hướng y. Biên được nhận dạng bằng việc tìm các giao điểm không trong đạo hàm bậc hai (của toán tử Laplace), những điểm ảnh tai vị trí này được đánh dấu.

      Hoạt động của thuật toán a) Thuật toán

      Ảnh kết quả B=S-I được nhị phân hoá bằng cách đặt các điểm có giá trị dương trong ảnh B là 1 và các điểm khác là 0, các điểm nằm trên đường biên giữa các vùng có thể được coi là những điểm cạnh. Nếu lấy dấu đạo hàm bậc hai thay đổi từ (+) sang (-) thì giao điểm không đó là giao điểm không âm, giả thiết rằng những giao điểm không dương sẽ có Gradient dương, những giao điểm không âm sẽ có Gradient âm.

      Hình 3.4: Biên ảnh theo phương pháp Shen-Castan
      Hình 3.4: Biên ảnh theo phương pháp Shen-Castan

      Phát hiện biên dựa vào Wavelet

      Ví dụ, KL nghĩa là ta sử dụng qua bộ lọc cao theo hàng và qua bộ lọc thấp theo cột, cứ thế có thể lặp lại với LL, ta làm với sáu tiêu chuẩn, kiểm tra phương pháp, đặc điểm với tiêu chuẩn tiếp theo là một đến bốn kích thước của tiêu chuẩn liền trước. Trong thực nghiệm, tiêu chuẩn đầu tiên chứa nhiều thông tin chi tiết nhưng chỉ một số ít được sử dụng, tiêu chuẩn thứ 2 và thứ 3 dường như chỉ phù hợp riêng với ứng dụng, từ khi chúng chứa các thông tin chi tiết thì nó chưa đề cập tới hầu hết các thay đổi nhỏ.

      Hình 3.6: Biên ảnh của một hộp đơn
      Hình 3.6: Biên ảnh của một hộp đơn

      Phương pháp phát hiện biên dựa vào kỹ thuật Gradient

      MỘT SỐ NHẬN XÉT VÀ ĐÁNH GIÁ CÁC PHƯƠNG PHÁP PHÁT HIỆN BIÊN. Để có được những đánh giá một cách khách quan, có những minh chứng cụ thể bằng hình ảnh, từ các phương pháp phát hiện biên đã trình bày ta tiến hành cài đặt chương trình thử nghiệm các phương pháp phát hiện biên. Trên cơ sở đó đưa ra các nhận xét đánh giá về phương pháp đã trình bày trong luận văn. Bằng cách tìm hiểu những lỗi mà thuật toán phát hiện biên có thể mắc phải ta có thể rút ra phương pháp phát hiện biên phù hợp nhất. Thông thường những lỗi mà một thuật toán phát hiện biên có thể phạm phải là:. Lỗi âm: Một thuật toán phát hiện biên có thể không thông báo một cạnh trong khi nó tồn tại. Lỗi dương: Một thuật toán phát hiện biên có thể thông báo về một cạnh trong khi nó không tồn tại. Điều này có thể do nhiễu hoặc do việc thiết kế thuật toán sơ sài hoặc do quá trình phân ngưỡng. Vì thế vị trí của một điểm biên có thể bị nhầm. Sau đây sẽ là đánh giá về một số phương pháp phát hiện biên dựa theo các kết quả thực nghiệm:. c) Kết quả phát hiện biên với Pixel Difference. d) Kết quả phát hiện biên với Separated Pixel Difference. e) Kết quả phát hiện biên với Robert. f) Kết quả phát hiện biên với Sobel. g) Kết quả phát hiện biên với Prewitt. h) Kết quả phát hiện biên với Frie -Chen. i) Kết quả phát hiện biên với Boxcar. j) Kết quả phát hiện biên với Truncated-Pyramid. - Phương pháp Robert: Cũng giống như phương pháp phát hiện biên Pixel Difference, phương pháp này cũng sử dụng ma trận nhân xoắn nhỏ, song cho kết quả tốt hơn phương pháp trên là do phương pháp này nhân xoắn ảnh với hai ma trận theo hai hướng +450 và -450 (hai đường chéo của ma trận 2*2).

      Hình 4.1: Hình mô phỏng kết quả tìm biên theo kỹ thuật Gradient
      Hình 4.1: Hình mô phỏng kết quả tìm biên theo kỹ thuật Gradient

      Phương pháp đạo hàm bậc nhất và phương pháp đạo hàm bậc hai

      Nhưng đối với ảnh ít nhiễu (không nhiễu) thì hai phương pháp phát hiện biên này lại cho kết quả không được tốt lắm. Hai phương pháp Boxcar và Truncated Pyramid sử dụng mặt nạ nhân cuộn là 7*7. Đây là ma trận tương đối lớn, một điểm ảnh phải xét đến 48 điểm lân cận nó. Chính vì thế mà đối với ảnh không nhiễu thì số lượng các biên trong ảnh sẽ tăng lên, biên nhìn thấy thường lớn hơn bình thường và ta thường thấy ảnh nhoè đi. Còn đối với ảnh có nhiễu thì chính nhờ xét đến 48 điểm ảnh lân cận điểm ảnh đang xét mà các điểm nhiễu bị làm mờ đi, do đó mà ảnh thu được từ phương pháp này cho kết quả rất tốt, các điểm nhiễu bị loại bớt. - Tuy nhiên, mỗi phương pháp có những ưu và nhược điểm riêng. Mặc dù phương pháp Robert, Pixel Difference. cho kết quả không tốt nhưng lợi thế của nó lại là có tốc độ xử lý nhanh. Còn hai phương pháp Boxcar và Truncated Pyramid thì cho kết quả tốt với ảnh nhiễu nhưng lại có tốc độ xử lý chậm hơn. Chính vì vậy tuỳ điều kiện chất lượng ảnh đầu vào, tuỳ yêu cầu về chất lượng hay tốc độ xử lý mà ta có sự lựa chọn các phương pháp phát hiện biên phù hợp. c) Kết quả phát hiện biên với Pixel Difference. d) Kết quả phát hiện biên với Sobel. e) Kết quả phát hiện biên với Four - Neighbor Laplace. f)Kết quả phát hiện biên với Eight - Neighbor Laplace Hình 4.2: Biên ảnh theo đạo hàm bậc nhất và bậc hai. Để nhận xét sự khác nhau của hai phương pháp, đối với đạo hàm bậc nhất ta chọn kết quả của phương pháp Pixel Difference (là phương pháp cho kết quả kém nhất trong các phương pháp đạo hàm bậc nhất) và Sobel (là phương pháp cho kết quả rất tốt trong phương pháp đạo hàm bậc nhất), còn đối với phương pháp đạo hàm bậc hai thì ta sử dụng hai kết quả của Four - Neighbor Laplace và Eight-neighbor Laplace.

      Các phương pháp phát hiện biên (phương pháp Gadient, phương pháp Laplace, phương pháp Canny)

      Đối với ảnh có nhiều có mức xám nhỏ, sự biến thiên các mức xám là thấp ta nên sử dụng phương pháp Laplace, song nếu ảnh đó có quá nhiều biên thì ta nên sử dụng phương pháp Canny để loại bỏ bớt các cạnh không cần quan tâm đi. Vì vậy đối với ảnh có nhiều nhiễu thì ta nên sử dụng phương pháp Canny để loại bỏ nhiễu và các điểm biên phụ không cần quan tâm, chỉ giữ lại các điểm biên chính theo mục đích sử dụng khác nhau.