Ảnh đầu vào của toàn hệ thống là ảnh màu, tuy nhiên để làm giảm bớt độ phức tạp tính toán ảnh đầu vào của SVM, tập các ảnh huấn luyện SVM đều là các ảnh mức xám. Tập các ảnh để huấn luyện được xử lý (tiền xử lý) để nâng cao chất lượng độ tương phản của ảnh, độ sáng của ảnh, làm giảm hiệu ứng nhiễu, co giãn ảnh.
3.2.2.2. Module trích chọn đặc trưng
Module này sẽ trích chọn các điểm da trong ảnh sau đó sẽ trích ra phần cần thiết cho quá trình nhận dạng.
Bước 1: Module thành phần phát hiện các điểm da trong ảnh với Histogram
Trong cách tiếp cận này, các lược đồ histogram được sử dụng để thể hiện mật độ trong không gian màu. Điều kiện rọi sáng đặc biệt trong các ảnh thường không biết trước và được ghi lại dưới các điều kiện khác nhau. Tuy nhiên, với một số lượng lớn dữ liệu điểm ảnh đào tạo được gán nhãn bao gồm tất cả các loại da người (Châu Á, Châu Âu, Châu Phi), vẫn có thể mô hình phân phối của các màu sắc da và không phải da trong không gian màu.
Cách tiếp cận này dựa trên histogram để phân vùng màu da. Không gian màu được lượng tử hóa thành dãy các ô, mỗi ô tương ứng với một dải màu. Mỗi ô sẽ lưu số lần các màu tương ứng có trong tập các ảnh đào tạo có chứa da. Sau quá trình đào tạo, histogram được chuẩn hóa (normalized)- chuyển các giá trị của histogram thành các phân phối xác suất rời rạc:
Để giảm số lượng không gian lưu trữ, các kỹ thuật lấy mẫu thô không gian màu thường được sử dụng. Hệ thống sử dụng cách lấy mẫu 32x32x32 dựa theo phân tích của Jones, Rehg. Trong đó skin[c] là giá trị của ô trong
histogram tưong ứng với vector màu c. Norm là tổng giá trị của tất cả các ô (Jones, Rehg 1999). Histogram sử dụng được xây dựng từ hơn 1 tỷ điểm ảnh được đánh giá bởi Jones, Rehg.
Các giá trị sau khi chuẩn hóa của các ô tạo nên các xác suất trước
Các giá trị Pskin(c) thực sự là một xác suất có điều kiện P(c|skin) – xác suất quan sát thấy màu c, khi chúng ta thấy một điểm màu da.
) ( ) | ( ) ( ) | ( ) ( ) | ( ) | ( skin P skin c P skin P skin c P skin P skin c P c skin P ) | (skin c
P và P(skin|c)được tính trực tiếp từ các lược đồ màu da và không phải da
Các xác suất trướcP(skin) và P(skin)có thể được ước lượng từ số mẫu là da và không phải là da trong tập mẫu đào tạo.
Có thể tránh phải tính toàn bộ biểu thức trên bằng cách chỉ cần so sánh ) | (skin c P và P(skin|c) ) ( ) | ( ) ( ) | ( ) | ( ) | ( skin P skin c P skin P skin c P c skin P c skin P
So sánh biểu thức trên với ngưỡng sẽ tạo ra luật quyết định: ) | ( ) | ( skin c P skin c P
Nếu tỷ lệ lớn hơn Θ, điểm ảnh sẽ được coi là da, và ngược lại điểm ảnh được coi không phải là da.
Kết quả ra của quá trình phát hiện da là một bản đồ da đa mức xám, mức độ xám chỉ mức độ tin tưởng điểm ảnh đó là da. Bước tiếp theo là phân loại ảnh dựa theo hình dáng của vùng da.
Bước 2: Trích chọn thuộc tính dựa trên cửa sổ trượt
Nguyên tắc tìm kiếm bộ phận “đen” (chẳng hạn vòng 1 “đen”) trong ảnh được thực hiện bằng cách quét một cửa sổ có kích thước cố định bằng trung bình chiều dài * trung bình chiều cao của các mẫu (pattern) trên ảnh đầu vào. Tại mỗi vị trí, cửa sổ đó sẽ đánh giá là bộ phận “đen” hay “không đen” dựa trên kết quả huấn luyện của SVM. Một ảnh đầu vào được biểu diễn và xử lý đa phân giải với tỷ lệ kích thước giữa các ảnh được lựa chọn là 1:2.
Quá trình tìm kiếm vét cạn toàn bộ (full search) trên mặt phẳng ảnh sẽ tốn rất nhiều thời gian và gặp khó khăn đối với yêu cầu giảm thời gian này.
Mục tiêu đặt ra là phải giảm thời gian tìm kiếm. Trong luận văn này, tác giả đề nghị một giải pháp là việc tìm tiếm chỉ thực hiện trên vùng da đã được phân vùng ảnh, sẽ không tìm trên vùng không phải là da. Như vậy khối phân tách màu da với thuật toán đã trình bày ở trên được tích hợp vào chương trình phát hiện bộ phận “đen” cho quá trình phân tích tìm kiếm các bộ phận “đen” trong ảnh đầu vào. Giải pháp này cho thấy tăng tốc độ tìm kiếm đáng kể.
Hình 3.3: Ảnh được trích chọn đặc trưng
3.2.2.3. Module huấn luyện SVM
Các ảnh đầu vào được chuẩn hóa với độ phân giải là trung bình chiều dài × trung bình chiều cao, thường lân cận 1000 pixels.
Để có thể tạo mô hình học tốt, các yêu cầu theo tiêu chí dưới đây được đề nghị:
Đối với các ảnh không có bộ phận “đen” có thể là bất cứ ảnh gì không phải bộ phận nhưng càng mô tả nhiều các ảnh thường gặp. Dùng các ảnh là một phần của bộ phận càng tốt.
Các ảnh có chứa bộ phận “đen” được càng nhiều thay đổi của bộ phận “đen” càng tốt, khi đó khả năng nhận dạng càng cao.
Để giải quyết tốt yêu cầu thứ hai, tác giả đề nghị một giải pháp là tạo ra các ảnh mới từ tập các ảnh học ban đầu bằng cách xoay ảnh những góc thích hợp cũng như đối xứng trái-phải.
Quá trình huấn luyện được diễn ra như sau: Đưa SVM đầu vào vào lớp
Tính toán giá trị đầu vào
Tính toán kết quả đầu ra với giá trị đầu ra mong muốn với giá trị đầu vào. Quá trình này gọi là xác định lỗi.
Thay đổi trọng số của SVM dựa trên các lỗi trước.
Lặp lại quá trình này cho đến khi đạt đến lỗi ít nhất mà có thể chấp nhận được (ví dụ, error < 1.1), tức là SVM được huấn luyện thành công hay đạt đến tối đa quá trình lặp, tức là quá trình huấn luyện SVM không thành công.
3.2.3. Chƣơng trình kiểm soát ảnh “đen” - BreastSVM
3.2.3.1. Một số hình ảnh về chương trình
Hình 3.4: Giao diện ban đầu khi chạy chương trình
Cửa sổ chương trình có 2 chức năng:
Open video: cho phép kiểm soát video. Open Image: cho phép kiểm soát ảnh tĩnh.
* Kiểm soát video:
Ta kiểm soát thử đoạn phim “Testvideo.avi” cho thấy đoạn phim trên có chứa ảnh “đen”, và chương trình đã phân vùng bộ phận đen trên video.
Hình 3.5: Phân vùng bộ phận “đen” trên video
* Kiểm soát ảnh tĩnh chính xác:
- Đầu tiên, ta kiểm soát ảnh “TestImage01”, thì ta thấy ảnh vừa kiểm soát là ảnh “đen”, chương trình đã phân 2 vùng được cho là bộ phân “đen” trên ảnh.
Hình 3.6: Phân 2 vùng bộ phận “đen” trên ảnh
- Tiếp theo, ta kiểm soát ảnh “TestImage02”, thì ta thấy chương trình không phân vùng chỗ nào trên ảnh, do đó ảnh vừa kiểm soát không phải là ảnh “đen”.
* Trường hợp kiểm soát ảnh tĩnh chưa chính xác:
Ta kiểm soát ảnh “TestImage03”, thì ta thấy chương trình không phân vùng chỗ nào trên ảnh, do đó ảnh vừa kiểm soát không phải là ảnh “đen”. Tuy nhiên thực tế ảnh vừa kiểm soát là ảnh “đen”.
Hình 3.8: Phát hiện không chính xác ảnh đen
3.2.3.2. Môi trường thử nghiệm
Máy sử dụng Core i5, 2,67 GHz; RAM 4GB Cài đặt Microsoft .NET 3.5
3.2.3.3. Kết quả thực nghiệm
Để đánh giá khả năng phát hiện điểm ảnh da trong ảnh, sử dụng 2 thông số đánh giá là:
Tỷ lệ các ảnh không phải “đen” được cho là “đen”. Tỷ lệ các ảnh “đen” được xác định là ảnh “đen”.
Sau đây là bảng kết quả thực nghiệm: Ảnh Video Phát hiện đúng Phát hiện sai Phát hiện đúng Phát hiện sai Số lƣợng 84 16 18 2 Tỷ lệ 84% 16% 90% 10%
PHẦN KẾT LUẬN
Phát hiện ảnh “đen” là một bài toán khó và mới. Để đáp ứng các yêu cầu đa dạng của thực tế, một giải pháp trọn vẹn và toàn diện cho vấn đề này đòi hỏi phải có khả năng xử lý tốt đáp ứng thời gian thực và đồng thời phải có khả năng đảm bảo độ phát hiện chính xác và hiệu quả khi có sự thay đổi của môi trường và đối tượng quan sát như: điều kiện ánh sáng, hướng, tư thế, sắc thái, sự che khuất bộ phận, sự xuất hiện có hoặc không của các thành phần phụ đi kèm… Đó là tất cả vấn đề đặt ra và đòi hỏi phải tiếp tục nghiên cứu.
Luận văn này đã nghiên cứu và cài đặt chương trình phát hiện ảnh “đen” bằng việc kết hợp sử dụng đặc trưng bất biến là màu da với kỹ thuật SVM để giảm thời gian tìm kiếm các bộ phận cần nhận dạng trong ảnh, để tăng tốc độ xử lý của hệ thống. Các kết quả thực nghiệm đã cho thấy những ưu điểm chủ yếu của giải pháp đưa ra vẫn đảm bảo tỷ lệ phát hiện chính xác trong phạm vi cho phép nhưng đã giảm đáng kể thời gian thực hiện. Tuy nhiên đây mới chỉ là kết quả bước đầu cũng chưa thể đáp ứng các yêu cầu về thời gian cũng như việc xác định chính xác ảnh đen.
Luận văn đã đạt đƣợc các kết quả sau:
- Trình bày khái quát về xử lý ảnh và bài toán kiểm soát hình ảnh.
- Hệ thống hóa một số vấn đề về ứng dụng kỹ thuật SVM trong nhận dạng hình ảnh.
- Cài đặt thử nghiệm chương trình nhận dạng ảnh đen sử dụng kỹ thuật SVM.
Hƣớng phát triển tiếp theo:
Phát triển thành chương trình phát hiện ảnh “đen” trên máy tính cá nhân.
Tích hợp, phát triển thành ứng dụng phát hiện và lọc, chặn ảnh “đen” đối với các Website. Đồng thời có thể thương mại hóa ứng dụng phục vụ
công tác quản lý nhà nước cho ngành thông tin và truyền thông cũng như các lĩnh vực khác.
Phát hiện ảnh chuyển động (video, ảnh GIF, flash…)
Mở rộng nghiên cứu một số lĩnh vực liên quan: nhận dạng ảnh bạo lực, nhận dạng vân tay, nhận dạng mống mắt,…
TÀI LIỆU THAM KHẢO Tiếng Việt
[1]. Lương Mạnh Bá, Nguyễn Thanh Thủy (2000), Nhập môn xử lý ảnh số, Nxb Khoa học và Kỹ thuật, Hà Nội.
[2]. Thái Sơn (2006), Kỹ thuật Support Vector Machines và ứng dụng, Luận văn Thạc sỹ khoa học ngành toán tin, Trường Đại học Bách Khoa Hà Nội, Hà Nội.
[3]. Đỗ Năng Toàn, Phạm Việt Bình (2008), Giáo trình xử lý ảnh, Nxb Khoa học và Kỹ thuật, Hà Nội.
[4]. Lu Buon Vinh, Hoàng Phương Anh (2004), Nghiên cứu xây dựng hệ thống nhận dạng mặt người dựa trên FSVM và Adaboost, Luận văn cử nhân tin học khoa CNTT, Trường Đại học KHTN Tp.HCM, Hồ Chí Minh.
Tiếng Anh
[5]. Ignas Kukenys (2010), Human Face Detection with Support Vector Machines, University of Otago, Dunedin, New Zealand.
[6]. J. S. Leea,Y. M. Kuob, P. C. Chung, E. L. Chenc (2006), “Naked image detection based on adaptive and extensible skin color model”, pp. 2 - 5.