Chương 1: Tổng quan về lĩnh vực xử lý ảnh và học máy. Chương 2: Nghiên cứu tìm hiểu phương pháp PCA và phương pháp SVM. Chương 3: Chương này sẽ đi sâu vào việc cài đặt ứng dụng cụ thể cho bài toán nhận dạng mặt người trong ảnh bằng phương pháp PCA. Kết luận: Tóm tắt các vấn đề được tìm hiểu trong luận văn và các vấn đề liên quan trong luận văn, đưa ra một số hướng nghiên cứu tiếp theo.1 Giới thiệu về trí tuệ nhân tạo và học máy 1.1 Giới thiệu Trí tuệ nhân tạo là lĩnh vực nhằm nghiên cứu và phát triển các hệ thống (phần mềm, phần mềm nhúng) có khả năng giải quyết các bài toán giống như cách thức giải quyết của con người trong một ngữ cảnh nào đó.
Học máy (machine learning) là một lĩnh vực của trí tuệ nhân tạo nghiên cứu phát triển các phần mềm cho dùng cho máy tính hoặc hệ thống máy tính có có thể giải quyết các tình huống cụ thể hoặc nhận dạng ra các mẫu giống như con người (xem hình 1. Máy tính hoặc hệ thống máy tính ở đây hiểu rằng là bất kỳ hệ thống nào mà có thể nạp và sử dụng phần mềm để thực hiện trên nó. Trong lĩnh vực học máy hiện nay có ba phương pháp học cơ bản bao gồm: học có giám sát, học nửa giám sát và học không giám sát. - Ý tưởng cơ bản của học có giám sát có thể hiểu như chúng ta cung cấp một số mẫu (ví dụ dữ liệu, hình ảnh, đồ vật đã gán nhãn) cho hệ thống học và sau đó thiết kế phát triển các hệ thống có thể suy diễn hay nhận biết mẫu mới nằm trong phạm vi nó đã được học.
- Học nửa giám sát khác với học có giám sát là các thuật toán dạng này chỉ sử dụng một lượng nhỏ các mẫu (các dữ liệu đã gán nhãn) để học và suy luận ra các dữ liệu chưa gán nhãn. 9 - Học không giám sát không dùng bất kỳ dữ liệu gán nhãn nào mà chỉ sử dụng các dữ liệu không có nhãn để thực hiện yêu cầu nào đó chẳng hạn như phân cụm các dữ liệu hay phát hiện các dị thường trong dữ liệu hay ngoại suy. (a) – học có giám sát (b) – học nửa giám sát ( c)- học nửa giám sát (d)- học không giám sát Hình 1.1 Các mô hình của học máy 10 1.2 Ứng dụng của lĩnh vực học máy - Xử lí ngôn ngữ tự nhiên (Natural Language Processing): xử lí văn bản, giao tiếp người - máy. - Nhận dạng (Patten recognition): nhận dạng tiếng nói, chữ viết tay, vân tay, thị giác máy, thiên văn học - Máy tìm kiếm như Google, Yahoo, You tube: các hệ thống này sử dụng các công cụ của học máy để phát triển hệ thống - Chẩn đoán trong y tế: trợ giúp phân tích ảnh X - quang, các hệ chuyên gia chẩn đoán tự động - Tin sinh học: phân loại và dự đoán chuỗi gene, dự đoán tính chất của thuốc mới - Phát hiện gian lận tài chính, gian lận thẻ tín dụng, phát hiện dị thường (hình 1.3) - Phân tích thị trường chứng khoán (stock market analysis) - Trò chơi: chơi cờ (Deep blue, IBM, 1998), - Người máy (robot): là tổng hợp của rất nhiều ngành khoa học, trong đó học máy tạo nên hệ thần kinh/bộ não của người máy (xem hình 1.2 Người máy ASIMO của hãng HONDA, một trong những ứng dụng của lĩnh vực trí tuệ nhân tạo 11 Hình 1.3 Phát hiện vùng bị hỏng (dị thường) trên vỏ cam Trong nội dung của luận văn này, chúng tôi chọn bài toán phân lớp (một dạng của phương pháp học có giám sát) để nghiên cứu và tìm hiểu cũng như thử nghiệm các ứng dụng thực tế.
Trong phần tiếp theo, chúng tôi sẽ trình bày các thuật ngữ, các định nghĩa và khái niệm cơ bản, tiếp đó chúng tôi nghiên cứu hai phương pháp phân lớp cơ bản là PCA và SVM trong chương 2, phần thực nghiệm và đánh giá kết quả là nội dung của chương 3 sẽ tổng kết các kết quả đã làm được và hướng phát triển tiếp theo.2 Tổng quan về xử lý ảnh số và ứng dụng 1.1 Giới thiệu Lĩnh vực xử lý ảnh số là việc thực hiện xử lý ảnh dựa trên một thuật toán nào đó trên máy tính [1, 7]. Trong những năm gần đây lĩnh vực xử lý ảnh và ứng dụng phát triển mạnh mẽ trên thế giới, mỗi năm luôn có các hội thảo quy mô lớn về lĩnh vực này. Một hệ thống xử lý ảnh tổng quát có thể minh họa trên hình 1. - Problem domain: Vấn đề cần giải quyết: chẳng hạn bài toán nhận dạng mặt người, bài toán phân cụm ảnh, bài toán phát hiện đối tượng trong ảnh,… 12 - Specialized image processing hardware: là bộ chuyển đổi ảnh số, đôi khi là những công cụ chuyên dụng cho phép xử lý nhanh và song song các phép toán.
Network Image display Computer Mass storage Specialized image Image processing Hard copy processing software hardware Image sensors Problem domain Hình 1. Tổng quan về hệ thống xử lý ảnh trên máy tính [4] 13 - Computer: Là thành phần không thể thiếu trong hệ thống xử lý ảnh, computer ở đây có thể bao gồm nhiều loại từ thông thường đến các hệ thống siêu máy tính. - Software: là các phần mềm chuyên cho từng mục đích cụ thể - Massstorage: Vùng lưu trữ, với dữ liệu là các ảnh yêu cầu một không gian lưu trữ lớn. - Image display: có thể là màn hình máy tính, LCD, TV,… - Hardcopy: máy in lase, camera, máy in kim,… - Networking: hệ thống mạng dùng cho mục đích truyền thông Các ứng dụng của xử lý ảnh hiện nay rất rộng, bao gồm: y học, khoa học trái đất, vũ trụ, nhận dạng, phân nhóm, giám sát… 1.2 Những khái niệm cơ bản trong xử lý ảnh 1.1 Điểm ảnh (pixel) Gốc của ảnh là ảnh liên tục về không gian và độ sáng.
Để xử lý bằng máy tính (hệ thống máy tính), ảnh cần phải được số hoá. Số hoá ảnh được hiểu là sự biến đổi gần đúng một ảnh liên tục thành một tập điểm phù hợp với ảnh thật về vị trí (không gian) và độ sáng (mức xám). Khoảng cách giữa các điểm ảnh được thiết lập sao cho mắt người không phân biệt được ranh giới giữa chúng. Mỗi một điểm như vậy gọi là điểm ảnh hay pixel.
Đối với ảnh hai chiều, mỗi pixel tương ứng với cặp tọa độ (x, y).2 Độ phân giải của ảnh Độ phân giải (resolution) của ảnh là số lượng điểm ảnh trên một ảnh (vùng ảnh) cụ thể. Theo định nghĩa, khoảng cách giữa các điểm ảnh phải được chọn sao cho mắt người vẫn thấy được sự liên tục của ảnh. Việc lựa chọn khoảng 14 cách thích hợp tạo nên một mật độ phân bổ, đó chính là độ phân giải và được phân bố theo trục x và y trong không gian hai chiều. Thực tế độ phân giải càng lớn thì ảnh càng thật ngược lại độ phân giải thấp ảnh sẽ mờ đi hoặc thậm chí không rõ.3 Mức xám của ảnh Là kết quả của sự biến đổi tương ứng một giá trị độ sáng của một điểm ảnh với một giá trị nguyên dương.
Thông thường nó xác định trong khoảng [0. Tùy thuộc vào giá trị xám mà mỗi điểm ảnh được biểu diễn trên 1, 4, 8, 24 hay 32 bit trong máy tính.4 Ảnh số Ảnh sô bao gồm tập hợp hữu hạn các điểm ảnh, thường được biểu diễn bằng một mảng hai chiều I(m,n) với m là số hàng, n là số cột. Số lượng điểm ảnh trên mỗi hàng hoặc các hàng xác định độ phân giải của ảnh. Ảnh số được chia làm 3 loại: - Ảnh nhị phân - Ảnh xám - Ảnh màu 1.5 Các mối quan hệ cơ bản giữa các điểm ảnh Lân cận của một điểm ảnh: một điểm ảnh p tại tọa độ (x, y) có các lân cận theo chiều ngang và chiều dọc là: (x+1, y), (x-1, y), (x,y+1), (x, y-1).
Tập hợp các điểm ảnh trên được gọi là lân cận 4 của p, ký hiệu N4(p). Mỗi điểm ảnh có khoảng cách đơn vị đến (x, y), và nếu (x, y) nằm trên biên của ảnh thì lân cận của nó có thể nằm ngoài ảnh. 15 Các lân cận chéo của p có tọa độ: (x+1, y+1), (x+1, y-1), (x-1, y+1), (x-1, y-1). Tập lân cận chéo được ký hiệu ND(p).
Tập lân cận chéo cùng với lân cận 4 tạo thành lân cận 8 của p, ký hiệu N8(p) (xem hình 1.5 Lân cận của 1 điểm ảnh Các mối liên kết được sử dụng để xác định giới hạn (Boundaries) của đối tượng vật thể hoặc xác định vùng trong một ảnh. Một liên kết được đặc trưng bởi tính liền kề giữa các điểm và mức xám của chúng. Giả sử V là tập các giá trị mức xám. Một ảnh có các giá trị cường độ sáng từ thang mức xám từ 32 đến 64 được mô tả như sau: V={32, 33, … 63, 64} Có 3 loại liên kết: - Liên kết 4: Hai điểm ảnh p và q với các giá trị cường độ sáng V được nói là liên kết 4 nếu q nằm trong tập N4(p).
- Liên kết 8: Hai điểm ảnh p và q với các giá trị cường độ sáng V được gọi là liên kết 8 nếu q nằm trong tập N8(p).6 Biểu diễn ảnh 16 Ảnh sau khi số hoá sẽ được lưu vào bộ nhớ, hoặc chuyển sang các khâu tiếp theo để phân tích. Nếu lưu trữ ảnh trực tiếp từ các ảnh thô, đòi hỏi dung lượng bộ nhớ cực lớn và không hiệu quả theo quan điểm ứng dụng và công nghệ. Thông thường, các ảnh thô đó được đặc tả (biểu diễn) lại (hay đơn giản là mã hoá) theo các đặc điểm của ảnh được gọi là các đặc trưng ảnh (Image Features) như: biên ảnh (Boundary), vùng ảnh (Region). Một số phương pháp biểu diễn thường dùng: - Biểu diễn bằng mã chạy (Run-Length Code) - Biểu diễn bằng mã xích (Chaine -Code) - Biểu diễn bằng mã tứ phân (Quad-Tree Code) Biểu diễn bằng mã chạy Phương pháp này thường biểu diễn cho vùng ảnh và áp dụng cho ảnh nhị phân.
Một vùng ảnh R có thể mã hoá đơn giản nhờ một ma trận nhị phân: U(m,n) = 1 nếu (m,n) thuộc R U(m,n) = 0 nếu (m,n) không thuộc R Trong đó: U(m, n) là hàm mô tả mức xám ảnh tại tọa độ (m, n). Với cách biểu diễn trên, một vùng ảnh được mô tả bằng một tập các chuỗi số 0 hoặc 1. Giả sử chúng ta mô tả ảnh nhị phân của một vùng ảnh được thể hiện theo toạ độ (x, y) theo các chiều và đặc tả chỉ đối với giá trị “1”. Khi đó dạng mô tả có thể là: (x, y)r; trong đó (x, y) là toạ độ, r là số lượng các bit có giá trị “1” liên tục theo chiều ngang hoặc dọc.