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

Phát hiện và loại bỏ hiện tượng mắt Đỏ trong ảnh chân dung bằng cách xác Định vùng mắt Đỏ và Điều chỉnh lại màu sắc

14 0 0
Tài liệu được quét OCR, nội dung có thể không chính xác
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 14
Dung lượng 2,94 MB

Nội dung

Phát hiện và loại bỏ mắt đỏ trong thị giác máy tính Trong thị piác máy tính, phát hiện và loại bỏ hiện tượng mắt đỏ là một kỹ thuật xử lý ảnh phô biến, giúp nâng cao chất lượng của ảnh c

Trang 1

DAI HOC DA NANG TRUONG DAI HOC BACH KHOA

KHOA CONG NGHE THONG TIN

D

BAI BAO CAO MON HOC THI GIAC MAY TINH

Dé tai:

PHAT HIEN VA LOAI BO HIEN TUQNG MAT ĐỎ TRONG ANH CHAN DUNG BANG CACH XAC DINH VUNG MAT DO

VA DIEU CHINH LAI MAU SAC

HỌC VIÊN THỰC HIỆN: | NGUYEN DUC LONG

Da Nang, 10 — 2024

Trang 2

DV, Gid tH Gu 1

2.1 Phát hiện khuôn mặt vả mắt - :- 226 22222 2222111222111 0e 3

2.2 Xác định và khoanh vùng mắt đó 5 S12 21111111 1121111211 1111212112121 ng ru 3 2.3 Xử lý và loại bỏ mắt đỏ 5 1 S11 11111112111111111 1111111011101 11 1 11 11g tt re 4

KG: ái 0 5

3.1 Téng quan vé Haar Cascade .ccccccccccccsccsesseseessesessecsesseseessesessiesessessesecsessesesesicseteeevess 5 3.2 Phát hién va xtr ly mat dO ccc cccccccsecscsesscsesscsessesevecseceesecseeessesecsesecssecsessesevesevevseseees 7

4 Trién khai thuc NIG “4+1 7

4.2 Quy trình triển Khai ccccsecsescssesecsesscsesecscssvsevevseceesecsesessevecsesecsssvevsesesevevevivsnees §

` 11

MUC LUC

Trang 3

1 Giới thiệu

1.1 Tổng quan về thị giác máy tính

Thị piác máy tinh (Computer Vision - CV) là một lĩnh vực thuộc trí tuệ nhân tạo (A]) tập trung vào việc giúp máy tính "nhìn" và hiểu thể giới thông qua dữ liệu hình ảnh Được hình thành từ những năm 1960, thị giác máy tính đã phát triển vượt bậc nhờ sự tiến

bộ của công nghệ, đặc biệt là sự gia tăng sức mạnh tính toán và sự phát triển của các thuat toan hoc sau (Deep Learning)

Thị giác máy tính có mục tiêu chính là tái tạo khả năng nhìn và hiểu hình ảnh như con người Điều này bao gồm nhiều nhiệm vụ khác nhau, như phân loại ảnh, phát hiện đối tượng, nhận diện khuôn mặt, phát hiện hành vị, và phân đoạn ngữ nghĩa Các hệ thông thị giác máy tính hiện đại có khả năng nhận diện và phân loại các đối tượng trong hình ảnh và video với độ chính xác cao, hỗ trợ nhiều lĩnh vực từ an ninh, y tế, sản xuất

đến ô tô tự lái

Thị giác máy tính sử dụng các kỹ thuật và mô hình khác nhau để xử lý và phân tích dữ

liệu hình ảnh Các phương pháp truyền thống bao gồm việc sử dụng các kỹ thuật xử lý ảnh cơ bản như phát hiện biên cạnh, lọc Gauss, phân đoạn ảnh, và phân loại ảnh bằng cách dựa trên các đặc trưng thủ công Các thuật toán này chủ yếu hoạt động tốt với những hình ảnh có điều kiện đơn giản, nhưng thường thiếu chính xác với dữ liệu phức tạp hơn

Sự xuất hiện của học sâu đã tạo ra một bước nhảy vọt cho thị piác máy tính Các mạng nơ-ron tích chập (CNN) được thiết kế để tự động học các đặc trưng từ dữ liệu hình ảnh mà không cần tiền xử lý phức tạp, cho phép xử lý tốt các bài toán như phân loại và phát hiện đối tượng CNN và các biến thể của nó như R-CNN, Fast R-CNN, Faster R- CNN, va YOLO đã trở thành xương sống của nhiều ứng dụng thị giác máy tính hiện đại, đặc biệt là trong các tác vụ yêu cầu thời oian thực

Thị giác máy tính có rất nhiều ứng dụng trong đời sống và công nghiệp:

danh tính

dấu hiệu bệnh lý qua ảnh chụp X-quang, MRI, v.v

® Ô tô tự lái: Các hệ thống này sử dụng thị giác máy tính đề phát hiện và phân tích

môi trường xung quanh, nhận diện làn đường, biến báo, người đi bộ và các

1

Trang 4

phuong tién khac

chuyền sản xuât và bảo trì dự báo

1.2 Tổng quan về hiện tượng mắt đỏ trong ảnh chân dung

Hiện tượng mắt đỏ là một vấn đề phổ biến trong nhiếp ảnh, đặc biệt khi chụp ảnh

chân dung với ánh sáng yếu và đèn flash Mắt đỏ xuất hiện do ánh sáng đèn flash phản

chiếu từ võng mạc của mắt, làm nỗi bật các mạch máu ở day mắt và khiến mắt trong ảnh

có màu đỏ rực Đây là hiện tượng thường thấy trong các bức ảnh chụp trong môi trường tối, khi đồng tử mở rộng để thu nhận nhiều ánh sáng hơn, tạo điều kiện cho ánh sáng từ

đèn flash lọt vào mắt và phản chiều ra ngoài

Mắt đỏ xảy ra khi ánh sáng từ đèn flash vào mắt và chiếu sáng võng mạc ở phía sau mắt Các yếu tố chính góp phần vào hiện tượng mắt đỏ bao gồm:

©_ Đồng tử mở rộng: Khi chụp ảnh trong điều kiện ánh sáng yếu, đồng tử của

mắt sẽ mở rộng để thu nhiều ánh sáng hơn, cho phép ánh sáng từ đèn flash đi vao mat dé dang

e _ Góc độ của đèn flash: Đèn flash gắn trên máy ảnh thường nam gan trục của ống kính, làm tăng khả năng ánh sáng phản xạ lại trực tiếp vào ống kính, tạo

ra hiện tượng, mắt đỏ

lại có màu đó khi đi qua các mô

Trong quá trình chụp ảnh, có nhiều phương pháp để giảm thiểu hiệp tượng mắt đỏ như sử dụng đèn flash rời hoặc ánh sáng phụ trợ từ bên ngoài để giảm phụ thuộc vào đèn flash Hiện nay một số máy ảnh kĩ thuật số cũng đã tích hợp chế độ chỗng mắt đỏ khi

chụp ảnh Song quá trình chụp ảnh không đảm bảo chống mắt đỏ hoản toàn, vì vậy bắt

buộc phải chỉnh sửa ảnh hậu kỳ để điều chỉnh màu sắc

1.3 Phát hiện và loại bỏ mắt đỏ trong thị giác máy tính

Trong thị piác máy tính, phát hiện và loại bỏ hiện tượng mắt đỏ là một kỹ thuật xử

lý ảnh phô biến, giúp nâng cao chất lượng của ảnh chân dung Hiện tượng mắt đỏ xảy ra khi ánh sáng đèn flash từ máy ảnh phản chiếu từ võng mạc mắt và trở lại ống kính, đặc biệt rõ ràng trong điều kiện ánh sáng yêu Đề xử lý hiện tượng này, các hệ thống thị giác

Trang 5

máy tính thường sử dụng các bước chính: phát hiện mắt đó và điều chỉnh màu sắc vùng

mắt

Phát hiện mắt đỏ bao gồm việc xác định vị trí khuôn mặt và mắt trong ảnh, thường thông qua các thuật toán học sâu như YOLO hoặc các bộ phân loại Haar Cascade, để xác định khu vực chứa mắt Sau đó, các kỹ thuật phân tích kênh màu được áp dụng để xác định vùng màu đó bất thường trong đồng tử — dấu hiệu của mắt đó Khi phát hiện vùng

đỏ, các thuật toán xử lý ảnh sẽ điều chỉnh lại màu sắc của vùng này Các phương pháp phổ biến bao gồm giảm cường độ của kênh màu đỏ hoặc sử dụng kỹ thuật inpainting dé tai tạo lại vùng mắt tự nhiên hơn Học sâu gần đây cũng được áp dụng đề tự động hóa và nâng cao độ chính xác, với các mô hình GAN có thể học cách tái tạo mắt một cách tự nhiên sau khi loại bỏ màu đỏ

2 Cơ sở lý thuyết

2.1 Phát hiện khuôn mặt và mắt

Trước khi khoanh vùng mắt đỏ, cần xác định khu vực khuôn mặt và vị trí của mắt trong ảnh Điều này có thé thực hiện bằng các phương pháp phát hiện khuôn mặt và mắt

phô biến như:

Haar Cascade Classifiers: Sir dung cac dac trung Haar va mét hé thong phan loai dya trên các mẫu ảnh đề phát hiện khuôn mặt và mắt Haar Cascade là phương pháp kinh điển

và có khả năng hoạt động tốt trong thời gian thực

Mạng học sâu CNN và YOLO: CNN và các biến thể như YOLO có thể nhận diện khuôn mặt và mắt một cách chính xác, ngay cả khi có sự thay đôi về góc độ và ánh sáng YOLO đặc biệt hiệu quả trong việc chia nhỏ ảnh thành các lưới và phát hiện vị trí mắt một cách nhanh chóng Những mô hình này sau đó được kết hợp với các đặc trưng màu

đỏ để khoanh vùng mắt đỏ một cách hiệu quả

2.2 Xác định và khoanh vùng mat dé

Mắt đỏ có thể được phát hiện dựa trên sự chênh lệch giữa các kênh màu trong vùng mắt Hiện tượng mắt đỏ thể hiện qua kênh màu đỏ (R) vượt trội so với các kênh màu xanh lá (G) và xanh đương (B) Do đó, một trong những phương pháp phô biến là

xác định các pixel mà giá trị kênh đó cao hơn đáng kế so với hai kênh còn lại Tiêu chí dé

xác định các giá trị này thường bao gồm:

Trang 6

e - Giá trị của kênh đỏ (R) cao hơn một ngưỡng cụ thể

trị ngưỡng nhất định

pixel đó có thể được coi là mắt đỏ Phương pháp này tuy đơn giản nhưng mang lại hiệu quả tốt trong môi trường điều kiện ánh sáng chuẩn

Sau khi phát hiện vị trí khuôn mặt và mắt, việc xác định hình dạng của mắt đỏ là một bước quan trọng để tránh phát hiện nhằm Mắt đỏ thường xuất hiện dưới dạng hình tròn hoặc elip, vì vậy việc sử dụng các bộ lọc hình dạng để xác định các vùng tròn màu

đỏ giúp tăng độ chính xác Một số phương pháp thường dùng:

® - Bộ lọc Gaussian: Giúp làm mờ hình ảnh và loại bỏ các chi tiết nhỏ không phải

là mắt đỏ Sau khi áp dụng bộ lọc, các điểm ảnh đỏ có thể đễ dàng nỗi bật hơn trong vung mat

vùng mắt và giới hạn khoanh vùng mắt đỏ trong các khu vực có hình tròn do,

giúp tăng độ chính xác khi khoanh vùng

2.3 Xử lý và loại bỏ mắt đó

Sau khi phát hiện được vùng mắt đỏ, bước tiếp theo là xử lý màu sắc để loại bỏ hiện tượng mắt đỏ, nhằm khôi phục lại màu sắc tự nhiên của mắt Các phương pháp xử lý thường được áp dụng bao gồm:

Điều chỉnh màu sắc: Sau khi xác định vùng mắt đỏ, màu đó của các vùng này có thể được giảm xuống bằng cách thay đôi giá trị kênh đỏ (R) Mục tiêu là điều chỉnh giá trị của kênh đỏ sao cho nó trở lại gần với màu mắt tự nhiên, s1úp loại bỏ hiện tượng màu đỏ không mong muốn mà vẫn giữ lại các chỉ tiết và độ tương phản của mắt Các phương

pháp điều chỉnh có thê bao gồm giảm kênh R cho phù hợp với các kênh G và B, sao cho

mắt có màu tự nhiên

Phương pháp sửa đổi sắc độ và bão hòa (Hue and Saturation Adjustment): Một phương pháp khác là điều chỉnh sắc độ (hue) và độ bão hòa (saturation) của vùng mắt đỏ

để chuyền màu đỏ sang màu tự nhiên hơn Việc này có thê thực hiện qua các thuật toán chuyền đổi không gian màu, chẳng hạn như chuyên đôi từ không gian màu RGB sang không gian màu HSV (Hue, Saturation, Value), giup điều chỉnh sắc độ mà không làm ảnh

4

Trang 7

hưởng đến độ sáng hoặc độ tương phản của hình ảnh

Phương pháp học sâu: Các mạng nơ-ron sâu (Deep Neural Networks) như U-Net

hoặc Generative Adversarial Networks (GAN) có thể được huấn luyện để tự động phát hiện và khôi phục mắt đỏ Các mô hình này có thể học các đặc trưng của mắt đó trong ảnh và tự động thay đổi màu sắc của vùng mắt đỏ sao cho giống như mắt tự nhiên mà

không cần đến bước điều chỉnh thủ công

3 Giải pháp nghiên cứu

3.1 Tổng quan về Haar Cascade

Haar Cascade là một thuật toán phô biến trong lĩnh vực thị giác máy tính, đặc biệt là trong việc phát hiện đối tượng (object đetection) Thuật toán này được phát triển boi Paul Viola va Michael Jones vào năm 2001 và đã trở thành một trong những phương pháp cơ bản nhất để nhận diện khuôn mặt và các đặc điểm khác trong ảnh Đây là phương pháp dựa trên học máy, trong đó một hàm cascade được huấn luyện từ nhiều hình ảnh dương

tính (hình ảnh có chứa đối tượng cần phát hiện) và hình ảnh âm tính (hình ảnh không

chứa đối tượng cần phát hiện) Sau khi huấn luyện, mô hình sẽ được sử dụng đề phát hiện các đối tượng trong các ảnh khác

Trong bai bao cua tac 914 Paul Viola và Michael Jones đã trình bày một phương pháp mới và nhanh hơn để xử lý hình ảnh và phát hiện khuôn mặt bằng cách sử dụng các đặc điểm hình chữ nhật như hình dưới đây Các đặc điểm hình chữ nhật tương tự như nhau được sử dụng để phát hiện các đặc điểm khác nhau của khuôn mặt như mắt và các nốt

như trone hình minh họa

(c) Four-rectangle features

Các tính năng hình chữ nhật được chạy lần lượt trên hình ảnh và tong số pixel nam

5

Trang 8

trong phần màu trắng được trừ cho tổng số pixel nằm trong phần màu đen

Trang 9

Trong do ,

a) Là các bộ lọc bắt các cạnh trong anh

b) Bắt các đường thắng trong ảnh

c) Về đặc trưng 4 hình vuông

Trong hình mình họa bên dưới, đặc điểm hình chữ nhật đầu tiên đang tính toán cho

sự khác biệt về cường độ giữa vùng mắt và vùng má trên khuôn mặt Và đặc điểm hình chữ nhật thứ hai là đo sự chênh lệch về cường độ giữa hai vùng mắt và sống mũi Bộ lọc Haar chi có thê nhìn cụ thề vào một vùng trong cửa số đề nhận diện

Vi vay, su dung cac dac điểm hình chữ nhật này trên một hình ảnh, chúng ta có thé

tạo ra hàng nghìn điểm đặc trưng cho hình ảnh Tuy nhiên, việc tính toán tổng số pixel trong các vùng trắng và đen trong toàn bộ ảnh có thể là một hoạt động tốn kém, đặc biệt

là đối với các ảnh lớn

Các tác giả cũng đề xuất một phương pháp được gọi là ảnh tích phân có thê đạt được tính toán tương tự bằng cách thực hiện các phép toán chỉ trên bốn điểm ảnh Có thể sử dụng hàng nghìn hình ảnh được gắn nhãn để chuyên đôi chúng thành bản đồ tính năng tầng HAAR và đảo tạo nó bằng cách sử dụng mô hình học mây để tạo bộ phân loại nhận

diện khuôn mặt

Đề hiểu rõ hơn về cách thức hoạt động của hệ thong nhận diện khuôn mặt, ta xem hình ảnh bên dưới:

=

_ÝÌ Et == =

All subwindows

Rejected subwindows

subwindow Frame image

Trang 10

Bước I; Hình ảnh (đã được gửi đến bộ phân loại) được chia thành các phần nhỏ (hoặc các cửa số con như trong hình minh họa)

Bước 2: Chúng ta đặt N không có bộ đò theo cách xếp tầng trong đó mỗi bộ phát hiện sự kết hợp của các loại đặc trưng khác nhau từ các hình ảnh (ví dụ: đường thang, cạnh, hình tròn, hình vuông) được truyền qua Giả sử khi việc trích xuất đối tượng địa ly được thực hiện, mỗi phần phụ được gán một giá trỊ tin cậy

Bước 3: Hình ảnh (hoặc hình ảnh phụ) có độ tin cậy cao nhất được phát hiện dưới dạng khuôn mặt và được gửi đến bộ tích lũy trong khi phần còn lại bị từ chối Do đó, Cascade tìm nạp khung hình / hình ảnh tiếp theo nếu còn lại và bắt đầu lại quá trình

3.2 Phát hiện và xử lý mắt đỏ

Dựa vào (3.1) ta đã xác tìm kiếm và phát hiện được khuôn mặt, mắt của người trong

ảnh

Để phát hiện các vùng mắt đỏ, thuật toán bắt đầu bằng cách tách kênh mảu đỏ (r) khỏi các kênh màu xanh và lục (be) Điều kiện phát hiện mắt đỏ được xác định bằng cách

so sánh g1á trị của kênh màu đỏ với các kênh màu khác, cụ thé la:

mask=(r>150)& (r>bg)

Trong đó, r là giá trị kênh màu đỏ, và bg là giá trị của kênh màu xanh hoặc lục Các

vung co mau do sé duoc danh dấu là vùng mắt đỏ Mặt nạ (mask) sẽ có giá trị 255 cho các điểm ảnh thuộc vùng đỏ và 0 cho các điểm ảnh không phải vùng đỏ Sau khi phát hiện, mặt nạ được chuyên thành định dạng np.uint§ và nhân với 255 để các vùng mắt đỏ

có giá trị 255 trone mặt nạ

Sau khi xác định được vùng mắt đỏ, thuật toán sẽ tính toán gia tri trung bình của các kênh màu xanh và lục để thay thế màu đỏ trong mắt Điều này giúp trả lại màu sắc tự nhiên cho mắt Sau khi có giá trị trung bình của các kênh màu xanh và lục, thuật toán thay thế các điểm ảnh trong vùng mắt đỏ bằng giá trị trung bình này

4 Triển khai thực nghiệm

4.1 Môi trường và công cụ

Công cụ sử dụng: Đề thực hiện bài toán phát hiện và khử mắt đỏ trong ảnh, tôi đã sử dụng một số công cụ và thư viện phô biến trong lập trình xử lý ảnh và thị giác máy tính Các công cụ và thư viện chính bao gồm:

Python: Ngôn ngữ lập trình chính sử dụng trong dự án này Python cung cấp cú

8

Ngày đăng: 23/12/2024, 17:52

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

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w