1. Trang chủ
  2. » Luận Văn - Báo Cáo

Bài tập b2 xử lý ảnh số

15 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 15
Dung lượng 1,56 MB

Nội dung

Lý Thuy t ầ ếI.Nhi ễu Ả nh v à Ph ân Lo N ại hiễ u Nhiễu ảnh là hiện tượng phổ biến trong xử lý ảnh, gây ảnh hưởng đến chất lượng ảnh và làm giảm hiệu quả của các thuật toán xử lý ảnh..

Trang 1

TRƯỜNG ĐẠI HỌC Ỏ ĐỊA CHẤT M

KHOA CÔNG NGHỆ THÔNG TIN

BÀI TẬP B2

Xử Lý Ảnh Số Thực hiện:

Trần Thành Đạt - 2121010086

Hướng dẫn: T hS TRẦN MAI HƯƠNG

HÀ NỘI – 2 024

Trang 2

M c l c ụ ụ

Phần 1 Lý Thuyết 3

I.Nhiễu Ảnh và Phân Loại Nhiễu 3

1 Khái niệm: 3

3 Phân loại: 3

II Biên Ảnh và Phân Vùng Ảnh (Edge Detection) 7

1.Biên ảnh 7

2 Phân vùng ảnh (Image Segmentation) 9

Phần 2 Thực hành 11

I.Thực hành khử nhiễu Gaussian 11

II.Thực hành phát hiện biên và phân vùng ảnh 13

Trang 3

Ph n 1 Lý Thuy t ầ ế

I.Nhi ễu Ả nh v à Ph ân Lo N ại hiễ u

Nhiễu ảnh là hiện tượng phổ biến trong xử lý ảnh, gây ảnh hưởng đến chất lượng ảnh và làm giảm hiệu quả của các thuật toán xử lý ảnh

1 Khái niệm:

Nhiễu ảnh là những biến đổi ngẫu nhiên không mong muốn xuất hiện trong ảnh, làm sai lệch giá trị cường độ sáng, màu sắc hoặc kết cấu của pixel

2.1 Nguồn gốc:

Nhiễu ảnh có thể xuất phát từ nhiều nguồn khác nhau, bao gồm:

• Cảm biến: Nhiễu nhiệt trong cảm biến, lỗi cảm biến, hiệu ứng lượng tử hóa

• Truyền dẫn: Lỗi truyền dẫn, nhiễu điện từ

• Môi trường: Ánh sáng yếu, sương mù, khói bụi

• Quá trình xử lý: Lượng tử hóa, nén ảnh

2.2 Mô hình nhiễu

Ảnh nhiễu được mô hình bởi:

Với f(x,y) là điểm ảnh gốc, n(x,y) là thành phần nhiễu và g(x,y) là pixel

bị nhiễu

▪ Nếu xác định được mô hình đó thì có thể khôi phục được ảnh gốc

3 Phân lo ại:

Nhiễu ảnh có thể được phân loại dựa trên nhiều tiêu chí, bao gồm:

3.1 Dựa trên nguồn gốc:

Trang 4

• Nhiễu cảm biến: Xuất phát từ bản thân cảm biến, ví dụ: nhiễu nhiệt, nhiễu bắn (shot noise), nhiễu đọc (read noise)

• Nhiễu truyền dẫn: Xuất hiện trong quá trình truyền dẫn tín hiệu, ví dụ: nhiễu điện từ, nhiễu do suy hao tín hiệu

• Nhiễu môi trường: Bị ảnh hưởng bởi môi trường xung quanh, ví dụ: nhiễu do ánh sáng yếu, sương mù, khói bụi

3.2 Dựa trên đặc tính thống kê:

Phân loại nhiễu: Gaussian, Rayleigh, Erlang, Exponential, Uniform, Impulse Dưới đây là phân loại các loại nhiễu bạn đề cập:

- Nhiễu Gaussian (Gaussian Noise):

• Đặc điểm: Phân bố theo hàm mật độ xác suất Gaussian (chuông) Giá trị nhiễu phân bố đối xứng xung quanh giá trị trung bình

• Nguyên nhân: Do các yếu tố tự nhiên như nhiễu nhiệt, nhiễu điện tử trong mạch, nhiễu khí quyển

• Ứng dụng: Mô hình hóa nhiễu trong nhiều ứng dụng như xử lý tín hiệu, truyền thông, hình ảnh

- Nhiễu Rayleigh (Rayleigh Noise):

• Đặc điểm: Phân bố theo hàm mật độ xác suất Rayleigh Giá trị nhiễu luôn dương và tập trung xung quanh một giá trị đỉnh

• Nguyên nhân: Thường gặp trong các hệ thống thông tin không dây khi tín hiệu truyền qua nhiều đường khác nhau

• Ứng dụng: Mô hình hóa nhiễu fading trong truyền thông không dây

- Nhiễu Erlang (Erlang Noise):

• Đặc điểm: Là tổng hợp của k biến ngẫu nhiên mũ độc lập và phân bố giống nhau

• Nguyên nhân: Gặp trong các hệ thống xếp hàng, mạng lưới viễn thông

• Ứng dụng: Mô hình hóa thời gian chờ đợi, thời gian phục vụ trong lý thuyết xếp hàng

- Nhiễu mũ (Exponential Noise):

• Đặc điểm: Phân bố theo hàm mật độ xác suất mũ Giá trị nhiễu luôn dương và giảm dần theo cấp số nhân

• Nguyên nhân: Liên quan đến thời gian giữa các sự kiện ngẫu nhiên

Trang 5

• Ứng dụng: Mô hình hóa thời gian giữa các lần hỏng hóc của thiết bị, thời gian phục vụ khách hàng

-Nhiễu đều (Uniform Noise):

• Đặc điểm: Phân bố đều trong một khoảng giá trị xác định Mọi giá trị nhiễu trong khoảng đó có xác suất xuất hiện như nhau

• Nguyên nhân: Do các quá trình lượng tử hóa, làm tròn số

• Ứng dụng: Mô hình hóa nhiễu lượng tử hóa, tạo số ngẫu nhiên

-Nhiễu xung (Impulse Noise):

• Đặc điểm: Xuất hiện đột ngột với biên độ lớn, thời gian tồn tại ngắn

• Nguyên nhân: Do nhiễu từ các thiết bị điện, nhiễu điện từ, lỗi truyền dữ liệu

• Ứng dụng: Cần được lọc bỏ trong xử lý tín hiệu, truyền thông

3.3 Dựa trên ảnh hưởng lên ảnh:

• Nhiễu phụ gia (Additive noise): Thêm vào giá trị pixel gốc, ví dụ: nhiễu Gauss, nhiễu muối tiêu

• Nhiễu xung (Impulse noise): Thay thế giá trị pixel gốc bằng giá trị ngẫu nhiên, ví dụ: nhiễu muối tiêu

Một số ví dụ về mô hình nhiễu:

Trang 6

Exponential Uniform Salt & Pepper

4 Ảnh hưởng:

Nhiễu ảnh có thể gây ra nhiều ảnh hưởng tiêu cực, bao gồm:

• Giảm chất lượng ảnh: Làm mờ, giảm độ tương phản, làm sai lệch màu sắc

• Gây khó khăn cho việc phân tích ảnh: Cản trở việc trích xuất thông tin, phân loại, nhận dạng đối tượng

• Làm giảm hiệu quả của các thuật toán xử lý ảnh: Giảm độ chính xác của thuật toán, tăng thời gian xử lý

5 Các phương pháp xử lý:

Có nhiều phương pháp để xử lý nhiễu ảnh, bao gồm:

• Lọc tuyến tính: Lọc trung bình, lọc Gauss

• Lọc phi tuyến: Lọc trung vị, lọc thích nghi

• Biến đổi Fourier: Lọc tần số thấp, lọc tần số cao

• Các phương pháp học máy: Mạng nơ ron, học sâu

6 Ứng dụng:

• Xử lý nhiễu ảnh là một phần quan trọng trong nhiều ứng dụng, bao gồm:

Trang 7

• Xử lý ảnh y tế: Loại bỏ nhiễu trong ảnh chụp X-quang, MRI, CT

• Xử lý ảnh vệ tinh: Loại bỏ nhiễu trong ảnh chụp từ vệ tinh

• Nhiếp ảnh kỹ thuật số: Cải thiện chất lượng ảnh chụp trong điều kiện ánh sáng yếu

• Thị giác máy tính: Nâng cao độ chính xác của các thuật toán nhận dạng đối tượng

1 ên Bi ảnh

1 Khái niệm:

o Biên ảnh là quá trình phát hiện các điểm có sự thay đổi đột ngột về cường độ trong ảnh, tương ứng với các đường biên, cạnh của các đối tượng

lớn (sự thay đổi cường độ lớn) theo một hướng nào đó

2 Các phương pháp phổ biến:

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

o Các toán tử phổ biến: Roberts, Prewitt, Sobel

o Ví dụ thuật toán Sobel:

▪ Áp dụng hai bộ lọc 3x3 theo hai hướng x và y để tính đạo hàm riêng

đạo hàm riêng

b Phương pháp đạo hàm bậc hai:

o Sử dụng đạo hàm bậc hai (Laplacian) để phát hiện biên

trọng

c Phương pháp Canny:

dụng ngưỡng kép

Trang 8

✓ Loại bớt nhiễu trong ảnh

Người ta loại nhiễu trong ảnh, làm mờ ảnh đi bằng cách nhân chập ảnh với một

bộ lọc Gauss, chẳng hạn bộ lọc Gauss 5x5 với hệ số δ = 1.4:

✓ Tính toán giá trị Gradien trong ảnh

Vì đường biên trong ảnh là nơi phân cách giữa các đối tượng khác nhau, nên tại

đó gradien của nó sẽ có biến đổi mạnh mẽ nhất Để tính toán gradien trong ảnh,

ta có thể sử dụng bộ lọc Sobel, hoặc trực tiếp nhân chập ma trận ảnh với các mặt

nạ theo hướng x và y, chẳng hạn:

Sau đó tính độ lớn gradien trong ảnh:

Trong đó, Gx và Gy chính là đạo hàm theo hướng x, y của ảnh ta đang xét Góc

θ sẽ được làm tròn theo các hướng thẳng đứng, nằm ngang và theo hướng chéo nghĩa là nó sẽ được làm tròn để nhận các giá trị trong 0, 45, 90 và 135 độ

✓ Loại bỏ các giá trị không phải cực đại

Bước này sẽ tìm ra những điểm ảnh có khả năng là biên ảnh nhất bằng cách loại

đi những giá trị không phải là cực đại trong bước tìm gradien ảnh ở trên Ta thấy rằng, với giá trị của góc θ ở trên thì biên của đối tượng có thể tuân theo bốn hướng, và ta có bốn khả năng sau:

độ lớn gradien tại A lớn hơn gradien của các điểm tại A3, A7

Trang 9

• Nếu θ = 45, khi đó điểm A được xem là một điểm trên biên độ nếu độ lớn gradien tại A lớn hơn độ lớn gradien của các điểm tại A4, A8

độ lớn gradien tại A lớn hơn độ lớn gradien của các điểm tại A1, A5

độ lớn gradien tại A lớn hơn độ lớn gradien của các điểm tại A2, A6

✓ Chọn ra biên của đối tượng trong ảnh

Sau bước trên, ta thu được tập hợp các điểm tương ứng trên đường biên khá mỏng Vì những điểm có giá trị gradien lớn bao giờ cũng có xác suất biên thật

sự hơn những điểm có gradien bé, do đó để xác định chính xác hơn nữa biên của các đối tượng, ta sử dụng các ngưỡng Theo đó, bộ lọc Canny sẽ sử dụng một ngưỡng trên (upper threshold) và một ngưỡng dưới (lower threshold), nếu gradien tại một điểm trong ảnh có giá trị lớn hơn ngưỡng trên thì ta xác nhận điểm đó là một điểm biên trong ảnh, nếu giá trị này bé hơn ngưỡng dưới thì ta xác nhận điểm đó không phải là điểm biên Trong trường hợp giá trị gradien nằm giữa ngưỡng trên và ngưỡng dưới thì nó chỉ được tính là điểm trên biên khi các điểm liên kế bên cạnh của nó có giá trị gradien lớn hơn ngưỡng trên

3 Ứng dụng:

o Xử lý ảnh y sinh, ảnh vệ tinh, robot tự hành,

o Nhận dạng ký tự, chữ viết tay

o Phát hiện đối tượng, phân đoạn ảnh

o

2 Phân vùng nh (Image Segmentation) ả

1 Các phương pháp chính:

Trang 10

a Phân vùng dựa trên ngưỡng (Thresholding):

o Chia ảnh thành đối tượng và nền dựa trên giá trị ngưỡng cường độ

b Phân vùng dựa trên phân cụm (Clustering):

cường độ,

▪ Lặp lại cho đến khi hội tụ

c Chia vùng dựa trên chia tách (Split-and-Merge):

o Chia tách ảnh thành các vùng nhỏ dựa trên tính đồng nhất

o Dựa trên các tiêu chí về cường độ, cạnh biên, hoặc đặc trưng khác

o Các thuật toán thường sử dụng: Chia tách thằng dọc, Quad-tree,

d Phân vùng dựa trên mô hình (Model-based):

2 Đánh giá kết quả:

nhãn bởi người (ground truth)

Coefficient,

3 Ứng dụng:

o Y tế: Phân đoạn mô, khối u, bộ phận cơ thể từ ảnh y tế

o Giao thông: Phân đoạn xe, người đi bộ, biển báo, trong ảnh giao thông

o Giám sát an ninh: Phát hiện đối tượng, người, phương tiện,

Trang 11

Phần 2 Thự c hành

Thư viện sử dụng: OpenCV

1 `add_gaussian_noise(img, mu, sigma)`

Công thức toán học sử dụng cho bài thực hành là mô hình nhiễu phân phối Gaussian (phân phối chuẩn):

f(x) = (1 / (σ√(2π))) * e^( -((x - μ)^2) / (2σ^2))

Trong đó:

x: Giá trị của điểm ảnh

μ (mu): Giá trị trung bình của phân phối nhiễu (độ lệch)

σ (sigma): Độ lệch chuẩn của phân phối nhiễu (độ phân tán)

e: Hằng số Euler (xấp xỉ 2.71828)

Hàm `np.random.normal(mu, sigma, img.shape)` tạo ra một ma trận nhiễu với cùng kích thước như ảnh đầu vào, trong đó mỗi phần tử được lấy mẫu ngẫu nhiên từ phân phối Gaussian với giá trị trung bình `mu` và độ lệch chuẩn `sigma`

Trang 12

2 `denoise(img)`

Hàm này sử dụng thuật toán "Fast Non-Local Means Denoising" (FNLM) của OpenCV để khử nhiễu ảnh Thuật toán này khá phức tạp và không có một công thức toán học đơn giản để diễn tả Tuy nhiên, ý tưởng chính là:

• Tính toán trọng số: Đối với mỗi pixel, thuật toán tính toán trọng số cho các pixel lân cận dựa trên sự tương đồng về màu sắc và cấu trúc

• Trung bình có trọng số: Giá trị pixel mới được tính toán bằng cách lấy trung bình có trọng số của các pixel lân cận, sử dụng trọng số đã tính toán ở bước trước

Các tham số `10, 10, 7, 21` trong hàm `cv2.fastNlMeansDenoisingColored` kiểm soát các khía cạnh khác nhau của thuật toán FNLM, chẳng hạn như kích thước vùng lân cận được sử dụng để tính toán trọng số, cường độ khử nhiễu, v.v 3.Kết quả

Figure 2 Ảnh đ ã kh ử nhiễu

Hình 1 - Ảnh nhiễu: Trong hình này, có rất nhiều điểm màu sắc nhỏ, tạo

nên một hình ảnh có nhiều nhiễu và không rõ ràng

Hình 2 - Ảnh đã khử nhiễu: Sau khi áp dụng phương pháp khử nhiễu

Gaussian, hình ảnh trở nên mượt mà hơn rất nhiều, với ít sự thay đổi về màu sắc và kết cấu hơn

Figure 1Ảnh nhiễu

Trang 13

Nhìn chung, phương pháp khử nhiễu Gaussian đã giảm thiểu đáng kể nhiễu trong hình ảnh, tạo ra một hình ảnh mượt mà và dễ nhìn hơn Tuy nhiên, cần lưu

ý rằng việc khử nhiễu có thể làm mất đi một số chi tiết nhỏ trong hình ảnh gốc

1.Biên ảnh Canny

Kết quả

Nhận xét: Bức ảnh bạn gửi cho thấy sự so sánh giữa hình ảnh gốc và hình ảnh sau khi áp dụng thuật toán phát hiện biên Canny Trong hình ảnh gốc, chúng ta có thể thấy một nhân vật với mái tóc đen nhọn, mặc trang phục màu cam và xanh, đưa một cánh tay về phía trước Phông nền là bầu trời xanh đơn giản với vài đám mây Hình ảnh “Canny Edges” thể hiện cùng một nhân vật nhưng chỉ có các đường viền hiển thị trên nền đen, cho thấy kết quả của thuật toán phát hiện biên được áp dụng lên hình ảnh gốc Sự so sánh này thú vị vì nó làm nổi bật cách mà các thuật toán phát hiện biên như Canny có thể xác định và trích xuất đường viền của các đối tượng trong hình ảnh để phân tích hoặc xử lý thêm trong các nhiệm vụ thị giác máy tính

Trang 14

2.Phân vùng ảnh- dùng thuật toán K-means

Kết quả

Trang 15

Nhận xét: Bức ảnh bạn gửi cho thấy sự so sánh giữa hình ảnh gốc và hình ảnh đã được phân vùng sau khi áp dụng thuật toán k means Trong hình ảnh gốc, chúng

-ta có thể thấy một màn hình truyền hình đang phát sóng tin tức với hình ảnh người dẫn chương trình và dòng chữ chạy ở phía dưới Hình ảnh đã phân vùng cho thấy cùng một cảnh nhưng với chi tiết màu sắc giảm bớt và sự phân nhóm màu sắc rõ ràng, làm đơn giản hóa hình ảnh thành các khu vực riêng biệt Sự phân vùng này thú vị vì nó cho thấy khả năng của thuật toán k-means trong việc chia hình ảnh thành các phân đoạn dựa trên sự tương đồng về màu sắc, có ích trong nhiều ứng dụng như nhận dạng đối tượng hoặc nén hình ảnh

Ngày đăng: 11/12/2024, 10:24

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w