Các vấn đề trong quá trình xử lý ảnh

Một phần của tài liệu NGHIÊN CỨU GIẢI PHÁP NHẬN DẠNG BIỂN SỐ XE TRÊN CƠ SỞ CÔNG NGHỆ XỬ LÝ ẢNH (Trang 26 - 101)

1.3.1 Mục đích của việc xử lý ảnh số:

Mục đích đặt ra cho việc xử lý ảnh được chia làm hai phần:

Phần thứ nhất: liên quan đến những khả năng cải tiến các ảnh thu lại, để rồi từ đó nhận được nhiều thông tin hơn, để quan sát và đánh giá bằng mắt.

Phần thứ hai: nhằm nhận dạng hoặc đón nhận các ảnh một cách tự động. Người ta gọi phần thứ nhất là sự biến đổi ảnh (image transformation) hay sự tăng cường ảnh (image enhancement) và phần thứ hai là nhận dạng ảnh (pattern recognition) hay đón nhận ảnh (image understanding).

1.3.2 Kỹ thuật nâng cao chất lượng ảnh:

Nâng cao chất lượng ảnh là một bước quan trọng tạo tiền đề cho xử lý ảnh. Mục đích chính là nhằm làm nổi bật một số đặc tính của ảnh như thay đổi độ tương phản, lọc nhiễu, nổi biên, làm trơn biên ảnh, khuếch đại ảnh... Tăng cường ảnh và khôi phục ảnh là hai quá trình khác nhau về mục đích. Tăng cường ảnh bao gồm một loạt các phương pháp nhằm hoàn thiện trạng thái quan sát của một ảnh.

Ta có thể phân loại các kỹ thuật nâng cao chất lượng ảnh làm ba loại: các kỹ thuật tác động lên điểm ảnh (point operations), các kỹ thuật dùng bộ lọc trong miền không gian (spatial operations) và các kỹ thuật dùng bộ lọc trong miền biến đổi (transform operations).

Các kỹ thuật tác động lên điểm ảnh chủ yếu là dùng các ánh xạ nhằm biến đổi giá trị của một điểm ảnh chỉ dựa vào giá trị của chính nó mà không

quan tâm tới các giá trị của các điểm ảnh khác. Có hai cách tiếp cận trong kỹ thuật này là: các phương pháp điều chỉnh mức xám của điểm ảnh (gray scale modification) và các kỹ thuật biến đổi lược đồ xám (histogram).

Nhiệm vụ của tăng cường ảnh không phải là làm tăng cường thông tin vốn có trong ảnh mà làm nổi bật các đặc trưng đã chọn làm sao để có thể phát hiện tốt hơn, tạo thành quá trình tiền xử lí cho phân tích ảnh.

1.3.3 Biến đổi lược đồ mức xám ( Histogram )

Lược đồ xám là đồ thị mô tả mối quan hệ giữa mức xám và số điểm ảnh có chung mức xám

Hình 1.7 Lượt đồ xám

Tổ chức đồ được xử lý trên điểm ảnh thường được xử lý để nâng cao chất lượng ảnh có thể dùng để nhận dạng ảnh.

1.3.3.1 Lọc tuyến tính:

Trong kỹ thuật lọc tuyến tính, ảnh thu được sẽ là tổng trọng số hay là trung bình trọng số các điểm lân cận với nhân cuộn hay mặt nạ.

Người ta sử dụng nhiều kiểu mặt nạ khác nhau. Mỗi kiểu mặt nạ sẽ tương ứng với một bộ lọc nhất định.

1.3.3.2 Lọc phi tuyến:

Khác với lọc tuyến tính, kỹ thuật lọc phi tuyến coi một điểm ảnh kết quả không phải là tổ hợp tuyến tính của các điểm lân cận. Các bộ lọc phi tuyến cũng hay được dùng trong tăng cường ảnh vì chúng có khả năng loại được nhiễu xung. Người ta hay dùng bộ lọc trung vị (median

filtering), giả trung vị (pseudo median filtering) và lọc ngoài (outline filtering).

a. Lọc trung vị (median filtering)

Một trong những khó khăn chính trong các phương pháp làm trơn nhiễu là nó làm mờ các đường biên và các chi tiết sắc nét của ảnh (vì chúng tương ứng với thành phần tần số cao của ảnh, khi cho ảnh qua bộ lọc thông thấp thì không chỉ có nhiễu bị loại trừ mà thành phần tần số cao của ảnh cũng bị suy hao). Lọc trung vị có ưu điểm là lọc nhiễu nhưng không làm mờ ảnh. Trong kỹ thuật này, mức xám của điểm ảnh trung tâm được thay thế bằng trung vị của một chuỗi các mức xám của các điểm ảnh lân cận thay vì là giá trị trung bình.

Trung vị m của một chuỗi các giá trị là một giá trị sao cho một nửa các giá trị trong chuỗi nhỏ hơn m và một nửa lớn hơn m.

b. Lọc giả trung vị ( pseudo-median filter )

Để giảm khối lượng tính toán so với bộ lọc trung vị, chuỗi lấy ra không cần sắp xếp từ lớn tới nhỏ. Bộ lọc này sử dụng mặt nạ chữ thập và cho kết quả tốt hơn mặt nạ vuông.

Thuật toán :

- Lấy các phần tử trong cửa sổ ra mảng một chiều.

- Tìm min của lần lượt từng chuỗi con rồi lấy max của các min này và gọi là m1.

- Tìm max của lần lượt từng chuỗi con rồi lấy min của các max này và gọi là m2.

- Gán giá trị của điểm ảnh trung tâm bằng trung bình cộng của m1 và m2

1.3.4 Kỹ thuật tăng độ sắc nét của ảnh1.3.4.1 Khái niệm biên 1.3.4.1 Khái niệm biên (adsbygoogle = window.adsbygoogle || []).push({});

Biên là một vấn đề chủ yếu trong phân tích ảnh vì các kỹ thuật ảnh chủ yếu dựa vào biên. Một điểm ảnh có thể coi là biên nếu ở đó có sự

thay đổi đột ngột về mức xám. Tập hợp các điểm tạo thành biên hay đường bao của ảnh.

Thí dụ: trong một ảnh nhị phân, một điểm có thể gọi là biên nếu đó là điểm đen và có ít nhất một điểm trắng lân cận.

Sự biến thiên giữa các điểm ảnh thường là nhỏ, trong khi đó biến thiên độ sáng của điểm biên lại khá lớn.

1.3.4.2 Làm nổi biên :

Một lớp bộ lọc khác có thể làm rõ nét hoặc tăng cường các đường biên bên trong ảnh. Đó là bộ lọc thông cao (high pass filtering) có những đặc tính ngược với bộ lọc thông thấp, nó không làm thay đổi thành phần tần số cao của tín hiệu nhưng nó làm suy giảm thành phần tần số thấp và hạn chế vùng nền có mức xám hằng.

Hơn thế nữa, bộ lọc thông cao có các tính chất làm cho dữ liệu của các điểm ảnh trong vùng của đường biên vật thể được hiệu chỉnh và yếu tố đường biên được gia tăng. Sự nhận biết đường biên là yêu cầu cần thiết cho những phương pháp phân tích ảnh tiếp theo.

1.3.4.3 Kỹ thuật tách biên

Tách biên là một trong những bước quan trọng của quá trình xử lý ảnh. Theo định nghĩa, biên là phần chia tách nằm giữa 2 phần ảnh có sự khác biệt về mức xám (gray-scale). Biên cũng được định nghĩa là các điểm ảnh mà tại đó có sự thay đổi đột ngột về độ sáng (brightness).

Dò biên (edge detector) là tập hợp các phương pháp xử lý dùng để xác định các biến đổi về các góc cạnh (sharp) trong ảnh nhằm đưa ra biên dạng của vật thể.

Có nhiều phương pháp tách biên nhưng ở đây ta sẽ xem xét chủ yếu đến 3 phương pháp là:

a. Phương pháp gradient gồm có: Phương pháp gradient

Phương pháp gradient là phương pháp dò biên cục bộ dựa vào cực đại của đạo hàm. Theo định nghĩa thì gradient là một vector có các thành phần biểu thị tốc độ thay đổi giá trị của điểm ảnh theo hai hướng x và y. Các thành phần của gradient được tính bởi:

( , )

= ≈ ( , ) ( , ) (1.8) ( , )

= ≈ ( , ) ( , ) (1.9)

Với dx là khoảng cách giữa các điểm theo hướng x (khoảng cách tính bằng số điểm) và tương tự với dy. Trên thực tế, người ta hay dùng với dx = dy = 1.

Với một ảnh liên tục f(x,y), các đạo hàm riêng của nó cho phép xác định vị trí cực đại cục bộ theo hướng của biên. Thực vậy, gradient của một ảnh liên tục được biểu diễn bởi một hàm f(x,y) dọc theo r với góc , được định nghĩa bởi:

= + = cos + sin (1.10)

Và đạt cực đại khi fx sin +fy cos = 0. Do vậy ta có thể xác định hướng cực đại của nó :

= ( / ) và ( ) max = + ta gọi là hướng của biên.

Trong phương pháp gradient, người ta chia nhỏ thành hai kỹ thuật (do dùng hai toán tử khác nhau): kỹ thuật gradient và kỹ thuật la bàn.

Kỹ thuật gradient :

Kỹ thuật gradient sử dụng một cặp mặt nạ H1 và H2 trực giao (theo hai hướng vuông góc). Nếu định nghĩa g1, g2 là gradient tương ứng theo hướng x, y, thì biên độ của gradient, ký hiệu là g, tại điểm (m,n) được tính theo công thức:

= g (m, n) = ( , ) + ( , ) (1.11)

(m, n) = (m, n) / (m, n) (1.12)

Các toán tử đạo hàm được áp dụng khá nhiều. Ở đây ta chỉ nêu lên một số toán tử tiêu biểu: Robert, Sobel, Prewitt…

Trước tiên chúng ta xét toán tử Robert, toán tử này do Robert đề xuất năm 1965.Nó áp dụng trực tiếp công thức đạo hàm tại điểm (x, y). Với mỗi điểm ảnh I[x, y] của ảnh I, đạo hàm theo x, theo y được ký hiệu tương ứng gx, gy được tính:

= I[x + 1, y] – I[x,y] = I[x, y + 1] – I[x,y]

Điều này tương ứng với việc nhân chập ảnh với hai mặt nạ Hx, Hy, các mặt nạ này gọi là mặt nạ Robert: (adsbygoogle = window.adsbygoogle || []).push({});

= 0 1

−1 0 =

−1 0

0 −1

Trong trường hợp tổng quát, giá trị gradient biên độ g và gradient hướng được tính theo công thức (1.11) và (1.12).

Trong kỹ thuật Sobel và Prewitt người ta sử dụng hai mặt nạ: Mặt nạ Sobel: = −1 0 1 −1 0 1 −1 0 1 ( Hướng x) = −1 −1 −1 0 0 0 1 1 1 ( Hướng y) Mặt nạ Prewitt:

= −1 0 1 −2 0 2 −1 0 1 ( Hướng x) = −1 −2 −1 0 0 0 1 2 1 ( Hướng y)

Gradient được xấp xỉ bởi công thức : =  I và =  I Thực tế cho thấy rằng, các toán tử Sobel và Prewitt tốt hơn toán tử Robert, bởi chúng ít nhạy cảm với nhiễu. Ta cũng thấy rằng việc lấy đạo hàm một tín hiệu có xu hướng làm tăng nhiễu trong tín hiệu đó. Độ nhạy cảm này có thể làm giảm xuống nhờ thao tác lấy trung bình cục bộ trong miền phủ mặt nạ, Lưu lý rằng toán tử Sobel và Prewitt dễ dàng chuyển đổi cho nhau bằng cách thay đổi hệ số.

Kỹ thuật la bàn ( Compass Operator)

Kỹ thuật la bàn chọn gradient theo một số hướng định trước. Nếu ký hiệu là gradient la bàn theo hướng = k (k = 0,1,...,7), thì ta có gradient theo tám hướng ngược chiều kim đồng hồ, mỗi hướng cách nhau 45

Có nhiều toán tử la bàn khác nhau, tuy nhiên ở đây chúng ta chỉ nêu toán tử Kirsh. Toán tử này sử dụng mặt nạ 3x3:

=

5 5 5

−3 0 −3

−3 −3 −3

Đây là mặt nạ có hướng gốc 0 . Trên cơ sở định nghĩa them 7 mặt nạ cho các hướng còn lại ( 45, 90, 135, 180, 225, 270, 315 ).

= −3 5 5 −3 0 5 −3 −3 −3 = −3 −3 5 −3 0 5 −3 −3 5 = −3 −3 −3 −3 0 5 −3 5 5 = −3 −3 −3 −3 0 −3 5 5 5 = −3 −3 −3 5 0 −3 5 5 −3 = 5 −3 −3 5 0 −3 5 −3 −3 = 5 5 −3 5 0 −3 −3 −3 −3

Ký hiệu ( i=1,2,...,8) là gradient thu được theo tám hướng bởi mặt nạ, biên độ gradient tại (x,y) sẽ được tính theo công thức :

(x,y) = Max ( | (x,y) |, i= 1,2,...,8)

Ngoài toán tử Kirsh, người ta còn sử dụng một số toán tử khác mà mặt nạ ở hướng 0 được định nghĩa tương ứng bởi:

= 1 1 1 1 −2 1 −1 −1 −1 = 1 1 1 1 −2 1 −1 −1 −1 = 1 2 1 0 0 0 −1 −2 −1

Trong trường hợp tổng quát, giả sử có n hướng cách đều nhau tương ứng với các mặt nạ , i= 1, 2,...,n đối với ảnh I, khi đó:

(x,y) = Max ( | I[x,y] | , i=1,2,...,n)

b. Phương pháp Laplace

Các phương pháp đánh giá gradientt ở trên làm việc khá tốt khi độ sáng thay đổi rõ nét. Nhưng khi mức xám thay đổi chậm, miền chuyển tiếp trải rộng, phương pháp cho hiệu quả hơn lại là phương pháp sử dụng đạo hàm bậc hai còn gọi là phương pháp laplace. Toán tử Laplace được định nghĩa như sau :

∇ f =

+

(1.13)

Để thấy rõ sự khác biệt giữa kỹ thuật la bàn (Dùng đạo hàm bậc nhất ) và kỹ thuật Laplace ta có thể xem hình sau :

Trong Không gian rời rạc, đạo hàm bậc hai được tính như sau : = 2 f (x,y) – f ( x – 1) – f ( x + 1, y ) (1.14) = 2 f (x,y) – f ( x, y – 1) – f ( x , y + 1) (1.15) (adsbygoogle = window.adsbygoogle || []).push({});

Vậy ∇ f = - f ( x – 1, y) – f ( x, y – 1) + 4 ( x, y) – f (x, y + 1 ) – f

(x + 1, y ) (1.16)

Toán tử Laplace dùng nhiều kiểu mặt nạ khác nhau để xấp xỉ rời rạc đạo hàm bậc 2. Đây là ba kiểu mặt nạ thường dùng:

= 0 −1 0 −1 4 −1 0 −1 0 = −1 −1 −1 −1 8 −1 −1 −1 −1 = 1 −2 1 −2 5 −2 1 −2 1

Trong kỹ thuật Laplace, điểm biên được xác định bởi điểm cắt không và vì đây là điểm không duy nhất nên kỹ thuật này sẽ cho biên mảnh, tức là đường biên có độ rộng 1 pixel.

Nếu lấy đạo hàm bậc nhất ( Phương pháp gradient ) thì không đủ nhạy nếu mức xám của ảnh thay đổi chậm.

Nếu lấy đạo hàm bậc hai (phương pháp Laplace) thì lại quá nhạy nhiễu (như ví dụ trên).

Sau đây ta sẽ xét phương pháp tách biên khác có tên là Canny. Phương pháp này cũng dựa trên nguyên tắc lấy đạo hàm, tuy nhiên quá trình dò biên có cân nhắc đến hướng của gradient và các điểm lân cận cho nên kết quả sẽ tốt hơn hai phương pháp trên.

c. Phương pháp Canny :

Phương pháp này do phòng thí nghiệm MIT khởi xướng và có thể chia làm 4 bước sau:

Bước 1: Làm trơn ảnh bằng phương pháp Gauss.

Bước 2: Ảnh ở bước 1 được đem đạo hàm lần lượt theo phương x và y. Bằng cách tính toán giá trị đạo hàm tại từng điểm theo phương x và y ta tính được độ lớn và góc của gradient tương ứng.

M (x, y) = ( , ) + ( , ) (1.17)

Bước 3: Sau khi tính toán được giá trị của gradient, đường biên sẽ là những điểm có giá trị gradient max cục bộ. Quá trình dò biên được tiến hành bằng cách giảm dần góc gradient

Bước 4: Phân ngưỡng đường biên, phương pháp Canny không dùng ngưỡng thông thường mà sử dụng một phương pháp gọi là “hysteresis thresholding”.

Phuơng pháp này sử dụng 2 ngưỡng là ngưỡng trên và ngưỡng dưới. Nếu giá trị tại một pixel lớn hơn ngưỡng trên hoặc bé hơn ngưỡng dưới thì pixel sẽ được chấp nhận là thuộc lớp vật cản hoặc lớp nền ngay lập tức. Những điểm nằm giữa hai giá trị này sẽ được xem xét tùy thuộc vào số điểm mà nó kết nối.

Kết quả cho thấy phương pháp Canny rất hiệu quả đối với ảnh trong điều kiện thông thường về độ sáng và độ tương phản (bóng của biên dạng nếu không quá đậm cũng được loại bỏ rất tốt). Tuy nhiên về bản chất phương pháp này cũng dựa trên nguyên tắc đạo hàm nên biên dạng nhận được không phải lúc nào cũng ổn định (ổn định ở đây mang ý nghĩa là không cho ta đường biên trơn và liên tục).

Phương pháp này tuy có một vài hạn chế (như đường biên không liền nét) nhưng là một phương pháp hiệu quả đối với những ảnh có nhiễu, vì vậy vẫn được chọn làm phương pháp dò biên của chương trình minh họa. Tuy vậy nếu ta dùng phương pháp này làm phương pháp duy nhất để xác định biên dạng thì có thể ta sẽ làm mất một số thông tin. Vì thế song song với phương pháp này, ta sử dụng thêm kỹ thuật phân ngưỡng ở nhiều ngưỡng khác nhau và lấy hợp các biên dạng thu được từ các phương pháp này.

d)Biến đổi Radon:

Biến đổi Radon dùng để biến đổi ảnh trong không gian 2 chiều với các đường thẳng thành miền Radon, trong đó mỗi đường thẳng trên ảnh sẽ cho một điểm trong miền Radon.

Công thức toán học của biến đổi Radon:

R ( , ) = ∫ ∞∞ A ( cos - s sin , sin - s cos ) ds (1.18) Phương trình trên biểu diễn việc lấy tích phân dọc theo đường thẳng s trên ảnh, trong đó ρ khoảng cách của đường thẳng so với gốc tọa độ O, θ là góc lệch so với phương ngang.

Hình 1.10 Mô tả biến đổi Radon

Ứng dụng trong xử lý ảnh số

Biến đổi Radon tính toán hình chiếu của ma trận ảnh dọc theo một số hướng xác định. Hình chiếu của một hàm 2 biến f(x,y) là tập hợp các tích phân đường. Hàm Radon tính toán các tích phân đường dọc theo các tia (beam) song song theo các phương khác nhau (bằng cách xoay hệ trục tọa độ xung quanh gốc O theo các giá trị khác nhau), chiều rộng các tia là 1 pixel. Hình dưới đây biểu diễn một hình chiếu đơn giản theo một giá trị của góc.

Hình 1.11 Biểu diễn hình chiếu theo một góc trong biến đổi Radon Công thức tổng quát phía trên có thể viết lại như sau:

(x’) = ∫∞∞ ( x’ cos ’ – y’ sin , x’ sin + y’ cos ) dy’ (1.19) Với

=

cos sin

− sin cos (adsbygoogle = window.adsbygoogle || []).push({});

Hình sau biểu diễn phép biến đổi Radon dưới dạng hình học.

Hình 1.12 Biểu diễn phép biến đổi Radon dưới dạng hình học

Các bước cụ thể thực hiện phát hiện các đường thẳng trên ảnh bằng biến đổi Radon.

Bước 1: Biến đổi ảnh về ảnh biên nhị phân

Hình 1.13 Biến đổi ảnh sang ảnh nhị phân

Bước 2 : Thực hiện biến đổi Radon trên ảnh biên với theta = 0:179

Giá trị R của biến đổi Radon được biểu diễn như hình 1.12:

Một phần của tài liệu NGHIÊN CỨU GIẢI PHÁP NHẬN DẠNG BIỂN SỐ XE TRÊN CƠ SỞ CÔNG NGHỆ XỬ LÝ ẢNH (Trang 26 - 101)