HIỆU CHỈNH ÁNH SÁNG HÌNH ẢNH

Một phần của tài liệu Nghiên cứu phương pháp nâng cao chất lượng ảnh trong miền không gian (Trang 20 - 40)

Hiệu chỉnh ánh sáng trong ảnh là một kỹ thuật máy tính nhằm xử lý ánh sáng trong ảnh nhằm đạt một mục đích nào đó của người sử dụng. Ánh sáng có thể được làm tăng, giảm hoặc loại bỏ tác động của nó lên bức ảnh.

Hiệu chỉnh ánh sáng trong ảnh là một bước quan trọng trong hệ thống xử lý ảnh. Thực hiện hiệu chỉnh ánh sáng tốt có thể tạo ra những lợi thế rất lớn cho các công việc xử lý ảnh khác sau này.

Ảnh chụp cùng một cảnh có thể thay đổi rất nhiều bởi điều kiện ánh sáng và góc chụp của camera. Chẳng hạn như chụp thẳng, chụp nghiêng, chụp ngược sáng… Với điều kiện ánh sáng khác nhau, một số chi tiết trong ảnh sẽ bị biến đổi màu sắc hoặc thậm chí bị mờ.

- Nguồn sáng làm thay đổi màu sắc: ánh sáng chiếu vào một vật thể làm mắt người nhận thấy một phần vật thể hoặc toàn vật thể có màu sắc khác.

- Ánh sáng quá chói hoặc quá tối: ảnh chụp dưới điều kiện ánh sáng quá sáng hoặc quá tối có thể gây ra ảnh bị mờ, nhiễu, mất chi tiết.

2.2 Các phương pháp hiệu chỉnh cổ điển 2.2.1Hiệu chỉnh ánh sáng dựa trên điểm ảnh

Hiệu chỉnh ánh sáng dựa trên điểm ảnh đượcmô tả trong hình 2.1 cho thấy việc hiệu chỉnh ánh sáng dựa trên điểm ảnh được trải qua 2 bước đồng thời: thay đổi cấp độ sáng và thay đổi độ tương phản của hình ảnh.

Hình 2.1 Hiệu chỉnh ánh sáng dựa trên điểm ảnh

Change-level Brightness

Change-level Contrast

Input Output

Hình 2.2 (a) Ảnh gốc; (b) Ảnh hiệu chỉnh ánh sáng dựa trên điểm ảnh Ảnh gốc được chụp vào buổi chiều trời nhiều mây âm u nên thiếu ánh sáng, hiệu chỉnh ánh sáng dựa trên điểm ảnh đã làm cho ảnh tươi sáng hơn, độ tương phản lớn hơn, hình ảnh sắc nét hơn.

Hình 2.3 (a) Ảnh gốc; (b) Ảnh hiệu chỉnh ánh sáng dựa trên điểm ảnh 2.2.1.1 Change-level Brightness

Một ảnh số được lưu trữ trên máy tính là một ma trận các điểm ảnh (hay pixel). Ta xét một kiểu ảnh thông thường nhất là ảnh RGB, với ảnh này mỗi pixel ảnh quan sát được là sự kết hợp của các thành phần màu R (Red), Green (Green) và B (Blue). Sự kết hợp theo những tỉ lệ R, G, B khác nhau sẽ tạo ra vô số các màu sắc khác nhau. Giả sử ảnh được mã hóa bằng 8 bit với từng kênh màu, khi đó mỗi giá trị của R, G, B sẽ nằm trong khoảng [0, 255]. Như vậy ta có thể biểu diễn tới 255*255*266 ~ 1.6 triệu màu sắc từ ba màu cơ bản trên.

Ma trận điểm ảnh của mỗi ảnh sẽ được biểu diễn như sau:

Cột 0 Cột 1 Cột m

Hàng0 0, 0 0, 0 0, 0 0, 1 0, 1 0, 1 0, m 0, m 0, m Hàng1 1, 0 1, 0 1, 0 1, 1 1, 1 1, 1 1, m 1, m 1, m Hàng2 2, 0 2, 0 2, 0 2, 1 2, 1 2, 1 2, m 2, m 2, m Hàngn n, 0 n, 0 n, 0 n, 1 n, 1 n, 1 n,m n,m n,m

Hình 2.4 Ma trận điểm ảnh của ảnh RGB

Như vậy, mỗi ảnh sẽ có n hàng và m cột, trong đó m là chiều dài của ảnh và n là chiều cao của ảnh. Mỗi pixel ở vị trí (i,j) trong ảnh sẽ tương ứng với 3 kênh màu kết hợp trong nó. Để truy xuất tới từng pixel ảnh với những kênh màu riêng rẽ ta biểu diễn mỗi pixel như sau:

p(i,j)[k] (2.1)

Trong đó: i, j là pixel ở hàng thứ i là cột thứ j

k là kênh màu, k = 0, 1, 2 tương ứng với kênh màu B, G, R

Giả sử f là một hàm biểu diễn cho một ảnh bất kỳ, f(x,y)[k] là giá trị của pixel trong ảnh ở vị trí (x,y) với kênh thứ k. Đặt g là đáp ứng ảnh sau khi Change-level Brightness, g(x,y)[k] có dạng:

g(x,y) = f(x,y)[k] + β (2.2)

Như vậy, độ sáng của ảnh g đã thay đổi một lượng β. Dựa vào công thức trên ta có thuật toán Change-level Brightness như sau:

for (i = 0; i < n; i++)

for (j = 0; j < m; j++)

for (k = 0; k < 3; k++)

g(x,y)[k] = f(x,y)[k] + β

(Nguồn: Tài liệu tham khảo [1]) Kết quả hình ảnh khi áp dụng Change-level Brightness

Hình 2.5 (a) Ảnh gốc; (b) Ảnh khi áp dụng Change-level Brightness Ảnh khi áp dụng Change-level Brightness cho kết quả sáng hơn tuy nhiên giảm độ tương phản và kém sắc nét hơn. Để khắc phục được nhược điểm này em đã tiến hành thêm kỹ thuật Change-level Contrast để hình ảnh giữ được ưu điểm sáng ảnh so với ảnh gốc nhưng không bị giảm độ tương phản và sắc nét.

2.2.1.2 Change-level Contrast

Khái niệm độ tương phản: ảnh số là tập hợp các điểm, mỗi điểm có giá trị độ sáng khác nhau. Độ sáng để mắt người dễ cảm nhận ánh sáng không phải là quyết định.Thực tế chỉ ra rằng hai đối tượng có cùng độ sáng nhưng đặt trên hai nền khác nhau cho cảm nhận khác nhau.Như vậy, độ tương phản biểu diễn sự thay đổi độ sáng của đối tượng so với nền.Nói cách khác, độ tương phản là độ nổi của điểm ảnh hay cùng ảnh so với nền.

Ảnh với độ tương phản thấp có thể do điều kiện sáng không đủ hay không đều, hoặc do tính không tuyến tính hay biến động nhỏ của bộ cảm nhận ảnh. Để điều chỉnh lại độ tương phản của ảnh, ta điều chỉnh lại biên độ trên toàn dải hay trên dải có giới hạn bằng cách biến đổi tuyến tính biên độ đầu vào (dùng hàm biến đổi là hàm tuyến tính) hay phi tuyến (hàm mũ hay hàm logarit). Khi dùng hàm tuyến tính các độ dốc α, β, γ phải chọn lớn hơn một trong miền cần dãn. Các tham số a, b (các cận) có thể chọn khi xem xét lược đồ xám của ảnh.

Hình 2.6 Hình dạng của hàm biến đổi độ tương phản Hàm Change-level Contrast có dạng như sau:

α*f(x,y)[k] 0 ≤ f(x,y)[k] <a

g(x,y) = β*f(x,y)[k] + va a ≤ f(x,y)[k] < b (2.3) γ* f(x,y)[k] + vb b ≤ f(x,y)[k] < L

(Nguồn: Tài liệu tham khảo [2]) Các giá trị α, β, γ xác định độ tương phản tương đối, L là số mức xám cực đại.

Nếu thay đổi độ tương phản bằng hàm tuyến tính ta có:

α = β = γ=1 ảnh kết quả trùng với ảnh gốc α, β, γ > 1 tăng độ tương phản

α, β, γ < 1 giảm độ tương phản

Dựa vào công thức trên ta có thuật toán Change-level Contrast như sau:

for (i = 0; i < n; i++)

for (j = 0; j < m; j++)

for (k = 0; k < 3; k++) g(x,y)[k] = α*f(x,y)[k]

(Nguồn: Tài liệu tham khảo [1])

a b

Lout

Lin 0

vb

va

Hình 2.7 (a) Ảnh gốc; (b) Ảnh áp dụng Change-level Contrast 2.2.2 Hiệu chỉnh ánh sáng dựa trên histogram

2.2.2.1 Histogram

Histogram của một ảnh là một biểu đồ nói lên mối quan hệ giữa các giá trị của pixel ảnh và tần suất xuất hiện của chúng.Nhìn vào biểu đồ histogram ta có thể đoán được một ảnh sáng tối như thế nào.

Nếu một ảnh có histogram lệch về phía phải biểu đồ, ta nói ảnh đó thừa sáng.Nếu lệch về phía trái thì ảnh đó thiếu sáng.Hình 2.8 mô tả histogram của một ảnh màu, ứng với mỗi kênh màu có một biểu đồ histogram riêng.

Hình 2.8 Histogram của ảnh màu RGB với 3 kênh màu 2.2.2.2 Cân bằng histogram

Cân bằng histogram (histogram equalization) là phương pháp làm cho biểu đồ histogram của ảnh được phân bố một cách đồng đều. Đây là một biến đổi khá quan trọng giúp nâng cao chất lượng ảnh.

Histogram là một hàm rời rạc đại diện cho tần số xuất hiện của tất cả các mức xám trong hình ảnh.

h(rk) = nk / N (2.4) trong đó, rk là cường độ mức xám

nk là số pixel có mức xám tương ứng với mỗi giá trị rk

N tổng số pixel

(Nguồn: Tài liệu tham khảo [2]) Để cân bằng histogram của một ảnh màu, trước hết ta chuyển ảnh màu ở dạng RGB sang HSV, sau đó cân bằng thành phần kênh màu V (Value tức độ sáng) và biến đổi ngược lại.

Hình 2.9 Các bước của thuật toán cân bằng histogram trên hệ màu HSV Input

Change RGB to HSV

Split HSV → 3 channels

Equalize channel-S’ Histogram

Merge 3 HSV’channels

Input

Hình 2.10 (a) Ảnh gốc; (b) Histogram equalization

Hình 2.11 Histogram của ảnh gốc trong hình 2.10

Hình 2.12 Histogram của ảnh Histogram equalization trong hình 2.10 Ảnh gốc được chụp trong điều kiện trời nhiều mây và hướng chụp ngược sáng nên hình ảnh mờ và thiếu sáng. Sử dụng cân bằng histogram mang lại cho ta hình ảnh như chụp khi có điều kiện ánh sáng tốt nhất, chất lượng ảnh tươi sáng và sắc nét.

Quan sát biểu đồ histogram trong ảnh gốc ta thấy ảnh thuộc loại ảnh tối, histogram lệch về phía bên trái. Sau khi cân bằng histogram thì biểu đồ histogram của ảnh kết quả được phân bố đồng đều.

Một vài ví dụ về kết quả của histogram equalization.

Hình 2.13 (a) Ảnh gốc; (b) Histogram equalization

Hình 2.14 (a) Ảnh gốc; (b) Histogram equalization 2.2.3 Hiệu chỉnh ánh sáng sử dụng bộ lọc laplace

Toán tử Laplace là toán tử tuyến tính và được định nghĩa như sau:

∇ = + (2.5)

Để áp dụng toán tử Laplace trong xử lý ảnh số, ta phải viết lại công thức này ở miền rời rạc. Ta viết lại định nghĩa đạo hàm bậc hai từng phần theo hai hướng x và y như sau:

= ( + 1, ) + ( − 1, ) − 2 ( , ) (2.6)

= ( , + 1) + ( , − 1) − 2 ( , ) (2.7)

Áp dụng vào công thức (2.5), ta có:

∇ = [ ( + 1, ) + ( − 1, ) + ( , + 1) + ( , − 1)]

− 4 ( , ) (2.8)

Toán tử laplace là toán tử đạo hàm nên nó làm nổi bật các vùng không liên tục của cấp xám, đồng thời làm yếu đi các vùng phẳng. Điều này dẫn đến ảnh kết quả sau khi áp dụng toán tử laplace sẽ không giữ lại được các chi tiết ban đầu của ảnh. Do đó, để khôi phục các chi tiết của ảnh gốc, ta cộng ảnh kết quả với ảnh gốc để cho ra ảnh rõ nét vẫn giữ nguyên những chi tiết ban đầu nhưng các cạnh được làm nổi bật lên. Nếu toán tử laplace có hệ số tâm là âm thì ta sẽ lấy ảnh gốc trừ đi ảnh kết quả sau khi áp dụng toán tử laplace thay vì cộng. Vì vậy công thức sau biểu thị một cách tổng quát cách áp dụng toán tử laplace trong hiệu chỉnh ánh sáng và tăng cường ảnh:

( , ) = ( , ) − ∇ ( , )

( , ) + ∇ ( , ) (2.9)

(Nguồn: Tài liệu tham khảo [4])

Hình 2.15 (a) Ảnh gốc; (b) Sử dụng bộ lọc laplace

Hình 2.15 (a) là ảnh chụp vào lúc chiều tối nên hình ảnh thiếu sáng và bị mờ. Hình 2.15 (b) là kết quả của phép lọc ảnh này bởi mặt nạ laplace sau:

0 -1 0

-1 5 -1

0 -1 0

Khi áp dụng bộ lọc laplace, các chi tiết nổi bật của ảnh là các cạnh và các vùng không liên tục về cấp xám, chính vì thế sẽ không giữ lại được các chi tiết ban đầu của ảnh. Để khôi phục các chi tiết của ảnh gốc, ta cộng ảnh kết quả khi cho qua bộ lọc laplace với ảnh gốc. Các chi tiết trong ảnh kết quả rõ ràng, sáng sủa và rõ nét hơn ảnh gốc. Các chi tiết trên ảnh kết quả được nhìn thấy rõ hơn, độ tương phản cao hơn.

Một số ví dụ về ảnh xử lý qua bộ lọc laplace

Hình 2.16 (a) Ảnh gốc; (b) Sử dụng bộ lọc laplace

Hình 2.17 (a) Ánh gốc; (b) Sử dụng bộ lọc laplace 2.3 Phương pháp hiệu chỉnh ánh sáng tự động

2.3.1 Mô hình

Hình 2.18 Mô hình của phương pháp hiệu chỉnh ánh sáng tự động (Nguồn: Tài liệu tham khảo [5])

Mô hình trên bao gồm hai bước cơ bản:

- Đánh giá vùng sáng tối ưu - Hiệu chỉnh đường cong S 2.3.2 Đánh giá vùng sáng tối ưu

2.3.2.1 Hệ thống Zone của Ansell Adams

Bản chất của nhiếp ảnh là sự phơi sáng, máy ảnh là một hộp tối, khi ta chụp ảnh, một cánh cửa sẽ mở ra và ánh sáng từ bên ngoài tràn vào sẽ tác động vào film hay sensor để cho ra một bức ảnh.

Đo sáng là việc xác định độ mở ống kính, tốc độ chụp và độ nhạy sáng để có được một bức ảnh đúng sáng.

Một vật chúng ta nhìn thấy được bằng mắt thường phải đáp ứng một trong hai điều kiện: thứ nhất vật đó tự phát sáng và thứ hai, vật đó phản chiếu ánh sáng từ những nguồn sáng khác. Những nguồn sáng tự nhiên và nhân tạo không có nhiều, vì vậy khi chụp ảnh, ánh sáng film/sensor nhận được do phản chiếu ánh sáng từ những nguồn sáng khác là chủ yếu. Những vật có màu sắc hoặc bề mặt khác nhau thì phản chiếu ánh sáng khác nhau. Một vật nhìn sáng hay tối phụ thuộc vào hai yếu tố: cường độ nguồn sáng và độ phản chiếu của ánh sáng bề mặt. Từ tính chất này, ông Ansel Adam (1902-1984) đã đưa ra một biểu đồ vùng hệ thống như sau:

Hình 2.19 Hệ thống Zone của Ansell adam và giá trị mức xám (Nguồn:http://www.cineserge.com/2006/07/demystifying-ansel-adams-

zone-system.html)

Từ Zone 1 đến Zone 9 màu sắc chuyển từ đen sang trắng và theo đó độ phản chiếu ánh sáng cũng tăng dần. Độ phản chiếu Zone n gấp đôi Zone (n-1) và bằng một nửa Zone (n+1).

Zone 5 (màu xám, gray) nằm giữa Zone 1 và 9, nó phản chiếu 18% và hấp thụ 82% cường độ ánh sáng chiếu đến nó và đây cũng là Zone phản chiếu ánh sáng phổ biến nhất. Người ta chọn Zone 5 là Zone tiêu chuẩn để thiết lập hệ thống đo sáng của máy ảnh. Nói một cách dễ hiểu, khi đo sáng, máy ảnh xem tất cả những ánh sáng nó nhận được đều phản chiếu từ Zone 5. Vì vậy, máy ảnh sẽ không biết cường độ nguồn sáng của vật chiếu đến là bao nhiêu, nó mặc định tất

cả ánh sáng từ vật đều được phản chiếu từ một vùng có độ phản chiếu là 18%.

Khi chụp ảnh ở chế độ tự động, thường thấy trường hợp chụp nền trời trong, xanh thì hình sẽ tối đi, ngược lại, khi chụp hình trong bóng râm, hình sẽ sáng hơn.

Ảnh đầu vào được phân đoạn ảnh dựa trên đồ thị để trích xuất các vùng thông tin ở mức cao để ưu tiên điều chỉnh.

2.3.2.2 Phân đoạn dựa trên đồ thị

Phân đoạn ảnh dựa vào đồ thị là một phương pháp tiếp cận dựa trên thuộc tính non-local của ảnh đầu vào.Phương pháp này phát hiện ra biên giữa hai vùng của ảnh bằng cách so sánh sự khác nhau giữa nội vùng với sự khác nhau với các vùng khác.

Phương pháp phân đoạn dựa vào đồ thị sẽ tìm dấu hiệu đường biên giữa hai vùng bằng cách so sánh hai đại lượng: một là dựa vào cường độ khác nhau dọc theo đường biên và hai là dựa vào cường độ khác nhau giữa các điểm ảnh với mỗi vùng.

Cho G = (V,E) là một đồ thị vô hướng với các đỉnh vi Є V, là tập hợp các phần tử cần được phân đoạn và các cạnh (vi , vj ) Є E, tương ứng với các cặp đỉnh lân cận nhau. Mỗi cạnh (vi , vj ) Є E có một trọng số tương ứng, trọng số là không âm đo sự khác nhau giữa hai phần tử lân cận vi và vj , ký hiệu w(vi , vj). Ở đây trọng số của các cạnh đo sự khác nhau giữa hai điểm nối bởi cạnh đó (có nhiều mức độ khác nhau: màu sắc, vị trí, sự vận động hoặc các thuộc tính khác).

Như vậy phân đoạn một bức ảnh là việc phân chia V thành các thành phần, mà mỗi thành phần (hoặc miền) C Є V tương đương với một thành phần liên thông trong đồ thị G’ = <V,E’>, E’⊆ E.

2.3.2.3Đánh giá vùng tối ưu

Việc đánh giá vùng tối ưu được xây dựng bằng cách xem xét hai khía cạnh: tối đa hóa các chi tiết hình ảnh và giữ được sự tương phản tương đối ban đầu giữa các vùng lân cận.

Xét các đường cong gamma khác nhau trên hình ảnh đầu vào bằng cách thay đổi các giá trị gamma, với γ = 2.2 và γ-1 = 0.455 ta có ba đáp ứng hình ảnh I, Iγ, Iγ-1.

Áp dụng kỹ thuật Canny vào I, Iγ, Iγ-1 thu được ba tập hợp biên: Ω1,Ωγ,Ωγ- 1. Các chi tiết có thể thấy được trong vùng tối (giá trị vùng < V) và vùng sáng (giá trị vùng > V) bởi:

Ωs = Ωγ-1 - Ωγ-1∩ Ωγ Ωh = Ωγ - Ωγ-1∩ Ωγ

Ωsvà Ωhđược mô tả trong hình 2.20 (bc)

Hình 2.20 Chi tiết hình ảnh, (bd)đường màu trắng được xây dựng bằng cách sử dụng kỹ thuật Canny (Nguồn: Tài liệu tham khảo [5])

Để so sánh sự khác nhau tuyệt đối giữa Ωs và Ωh ta sử dụng hai giá trị νs và νh biểu diễn khả năng hiển thị tương đối của chi tiết:

νs = |Ωs|/|Ωall|, νh = |Ωh|/|Ωall|

trong đó, | . | là số cạnh biên trong tập hợp biên và Ωall = Ω1ᴗΩγᴗΩγ-1mô tả

trong hình 2.20(d).

Để xác định độ tương phản tương đối giữa các vùng ta sử dụng cường độ khoảng cách histogram. Khoảng cách này được định nghĩa là giá trị nhỏ nhất giữa hai histogram có cường độ lớn nhất, là dij trong hình 2.21

Hình 2.21 Độ tương phản tương đối dij là khoảng histogram giữa hai vùng lân cận (Ri và Rj) (Nguồn: Tài liệu tham khảo [5])

Ước tính vùng tối ưu bằng cách gán nhãn đồ thị, với mỗi vùng zone là một node và giữa hai node lân cận được nối bởi một đường. Tập hợp các nhãn của node Z = {zi*}. Hàm E(Z) của đồ thị được định nghĩa theo Markov Random Field (MRF) như sau:

Z* = arg min E(Z) = arg min( Σi Ei + λ Σi,jEij)

trong đó Ei là giới hạn dữ liệu của từng vùng I, và Eij là giới hạn giữa hai vùng I và j

Ei= - log(P(i)) Eij = - log(P(i,j))

Pi của vùng i được tính theo νi, kích thước vùng Ci và giá trị vùng quan trọng θi

trong đó zi là zone ban đầu, ẑi là zone mới và ρ(t) = 1/ (1 + exp(-t)). Các vùng tối/sáng được tăng/giảm mức zone. Đối với mid-zone (zone V) sẽ không có hiệu lực.

P(i,j) là sự thay đổi độ tương phản giữa hai vùng lân cận, được tính từ độ tương phản tuyệt đối ban đầu dij đến độ tương phản tuyệt đối mới

trong đó là hàm gaussian với phương sai 0.15 và Cj là những vùng nhỏ cộng tác ít.

Để có được sự tối ưu, sử dụng phương pháp brute-force searching để duyệt tất cả các vùng.Để tự động ước lượng giá trị λ, đầu tiên tính tổng các giới hạn dữ liệu và tổng giới hạn kết hợp qua các giá trị zone.Sau đó thiết lập λ tỷ lệ với hai tổng trên.

2.3.3Hiệu chỉnh đường cong S 2.3.3.1 Hiệu chỉnh đường cong S

Sau khi thu được vùng tối ưu, tiến hành biểu diễn trên đồ thị giá trị Zone cho từng vùng. Các biểu đồ này thường gây ra méo tiếp xúc trong phạm vi nhỏ do nó chứa các thông tin ước tính tối ưu. Để giải quyết vấn đề này, ta sử dụng một đường cong phi tuyến trên toàn bộ bản đồ độ sáng của mỗi điểm ảnh.

Hầu hết các nhiếp ảnh đều sử dụng đường cong phi tuyến S để điều chỉnh sự phơi sáng trong vùng tối/ giữa/ sáng. Hình 2.22 mô tả một đường cong S điển hình. Đường cong S bao gồm hai tham số: đại lượng tối ϕsvà đại lượng sáng ϕh, được biểu diễn như sau:

(2.2.3.1) Trong đó x và f(x) là giá trị điểm ảnh đầu vào và đầu ra, f∆(x) là hàm:

Với các giá trị mặc định thì f∆(x) sẽ thay đổi trong khoảng [0,0.5]. Hiệu ứng với cặp đại lượng(ϕsvà ϕh) được biểu diễn trong hình 2.22 (a)

Một phần của tài liệu Nghiên cứu phương pháp nâng cao chất lượng ảnh trong miền không gian (Trang 20 - 40)

Tải bản đầy đủ (PDF)

(58 trang)