1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

PHÁT HIỆN đối TƯỢNG TRONG ẢNH sử DỤNG PHƯƠNG PHÁP MACHINE LEARNING (có code)

51 614 8

Đ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 51
Dung lượng 7,12 MB

Nội dung

PHÁT HIỆN đối TƯỢNG TRONG ẢNH sử DỤNG PHƯƠNG PHÁP MACHINE LEARNING (có code)

Trang 1

ĐỒ ÁN TỐT NGHIỆP

PHÁT HIỆN ĐỐI TƯỢNG TRONG ẢNH

SỬ DỤNG PHƯƠNG PHÁP MACHINE

LEARNING

Trang 2

DANH MỤC CÁC BẢNG BIỂU VI DANH MỤC CÁC TỪ VIẾT TẮT VII

CHƯƠNG 1 GIỚI THIỆU VỀ ĐỀ TÀI 1

1.1 GIỚI THIỆU 1

1.2 YÊU CẦU CỦA ĐỀ TÀI 1

1.3 HƯỚNG GIẢI QUYẾT 2

CHƯƠNG 2 LÝ THUYẾT LIÊN QUAN 3

2.1 MACHINE LEARNING 3

2.1.1 Machine learning 3

2.1.2 Các thuật toán của machine learning 8

2.2 ẢNH SỐ 9

CHƯƠNG 3 PHÁT HIỆN ĐỐI TƯỢNG DÙNG PHƯƠNG PHÁP MACHINE LEARNING 12

3.1 ĐẶC TRƯNG HAAR LIKE VÀ BỘ PHÂN LOẠI ADABOOST 12

3.1.1 Đặc trưng Haar Like 12

3.1.2 Bộ phân loại Adaboost 14

3.2 PHÂN TÍCH THÀNH PHẦN CHÍNH PCA (PRINCIPAL COMPONENT ANALYSIS) 16

3.2.1 Các khái niệm 17

3.2.2 Các bước thực hiện trong Principal Component Analysis 20

3.3 NHẬN DẠNG ĐỐI TƯỢNG 23

3.4 PHÂN TÍCH THÀNH PHẦN ĐỘC LÂP ICA (INDEPENDENT COMPONENT ANALYSIS) .24 CHƯƠNG 4 KẾT QUẢ MÔ PHỎNG 26

4.1 MATLAB 26

4.2 SƠ ĐỒ HOẠT ĐỘNG CHUNG 28

Trang 3

CHƯƠNG 5 KẾT LUẬN 35

5.1 NHẬN XÉT 35

5.2 KẾT LUẬN 35

5.3 HƯỚNG PHÁT TRIỂN 35

TÀI LIỆU THAM KHẢO 36

PHỤ LỤC 37

Trang 4

HÌNH 2-3: MÁY CHƠI CỜ VÂY CỦA ALPHAGO VỚI LEE SEDOL 4

HÌNH 2-4: ỨNG DỤNG GỢI Ý PHIM TRÊN NETFLIX 5

HÌNH 2-5: ỨNG DỤNG TAG KHUÔN MẶT TRÊN FACEBOOK 5

HÌNH 2-6: TRÍ TUỆ NHÂN TẠO AI, MACHINE LEARNING VÀ DEEP LEARNING 6

HÌNH 2-7: ĐIỂM ẢNH (PIXEL) 10

HÌNH 2-8: ẢNH TRẮNG ĐEN VÀ ẢNH XÁM 11

HÌNH 2-9: ẢNH MÀU 11

Y HÌNH 3-1: ĐẶC TRƯNG CƠ BẢN CỦA HAAR LIKE 12

HÌNH 3-2: CÁC ĐẶC TRƯNG MỞ RỘNG 12

HÌNH 3-3: CÁCH TÌM INTEGRAL IMAGE CỦA ẢNH 13

HÌNH 3-4: XÁC ĐỊNH MỨC XÁM TẠI VÙNG S 13

HÌNH 3-5: MÔ HÌNH PHÂN TẦNG KẾT HỢP VỚI BỘ PHẬN LOẠI 14

HÌNH 3-6: KẾT HỢP CÁC BỘ PHÂN LOẠI YẾU THÀNH BỘ PHÂN LOẠI MẠNH 15

HÌNH 3-7: MÔ HÌNH XÁC ĐỊNH VỊ TRÍ ĐỐI TƯỢNG 15

HÌNH 3-8: XÁC ĐỊNH VỊ TRÍ CỦA ĐỐI TƯỢNG (KHUÔN MẶT) 16

HÌNH 3-9: CHUYỂN ĐỔI MA TRẬN NXN THÀNH N2X1 20

HÌNH 3-10: SỰ THAY ĐỔI KHÔNG GIANC CỦA DỮ LIỆU 25

HÌNH 4-1: MATLAB 26

HÌNH 4-2: GIAO DIỆN MATLAB KHI CHẠY ỨNG DỤNG 27

HÌNH 4-3: GIAO DIỆN THIẾT KẾ TRÊN GUI 27

Trang 5

HÌNH 4-7: NHẬN DẠNG ĐỐI TƯỢNG 30

HÌNH 4-8: XÁC ĐỊNH VỊ TRÍ ĐỐI TƯỢNG 31

HÌNH 4-9:TÁCH TỪNG ĐỐI TƯỢNG RA KHỎI ẢNH BAN ĐẦU 31

HÌNH 4-10: CHỌN ĐỐI TƯỢNG VÀ NHẬN DẠNG 32

HÌNH 4-11: NHẬN DẠNG ĐƯỢC ĐỐI TƯỢNG 32

HÌNH 4-12: PHÁT HIỆN ĐỐI TƯỢNG LỖI 33

HÌNH 4-13: PHÁT HIỆN ĐỐI TƯỢNG KHÔNG MONG MUỐN 33

HÌNH 4-14: KHÔNG XÁC ĐỊNH ĐƯỢC ĐỐI TƯỢNG KHI NGHIÊNG SANG TRÁI 34

HÌNH 4-15: KHÔNG XÁC ĐỊNH KHI NGHIÊNG SANG PHẢI 34

Trang 7

ICA Independent Component Analysis

Trang 8

CHƯƠNG 1 GIỚI THIỆU VỀ ĐỀ TÀI

1.1 Giới thiệu

Với sự tiến bộ của khoa học – kĩ thuật - công nghệ, những thuật toán về khoa họcmáy tính đã cho phép con người có thể dùng máy móc thay thế cho những việctưởng chừng như phức tạp thành đơn giản, những việc không những đòi hỏi tốc độ

xử lý nhanh mà còn mang lại sự hiệu quả cao

Phát hiện và nhận dạng đối tượng là một trong những ứng dụng tuyệt vời với nhữnggiá trị mà nó mang lại Để tra thông tin về một đối tượng, có thể mất hàng giờ đểtìm ra được đó là khi trong phạm vi tìm kiếm nhỏ, vậy khi tìm người nào đó ở mộtphạm vi quốc gia thì sao, điều đó là bất khả thi Nhưng với một thuật toán để pháthiện và nhận dạng đối tượng (khuôn mặt của người), chỉ mất vài phút có thể lâu khi

cơ sở dữ liệu lớn nhưng tính hiệu quả vẫn tốt hơn

Ứng dụng về phát hiện và nhận dạng qua khuôn mặt đã xuất hiện trên các sản phẩmcông nghệ như điện thoại thông minh (smartphone) hay laptop để mở khóa mànhình, cũng có thể dùng điểm danh tại các trường học, công ty

1.1 Yêu cầu của đề tài

Machine learning – phương pháp đang là xu hướng nguyên cứu được nhiều chuyêngia và nhà nguyên cứu tìm hiểu trong nhiều năm qua, hàng loạt các ứng dụng sửdụng machine learning được áp dụng vào các lĩnh vực trong đời sống xã hội baogồm như trong dịch vụ tài chính, chăm sóc sức khỏe, marketing và sales, vận tải…

Do đó, vấn đề tìm hiểu về machine learning, tìm hiểu những thuật toán củamachine learning được đề ra trong đề tài này Áp dụng những thuật toán màmachine learning mang lại để đơn giản hóa các vấn đề phức tạp và mang lại hiệuquả cao Phương pháp PCA được cho là có cách giải quyết không những đơn giản

mà còn mang hiệu quả Tìm hiểu về thuật toán PCA để giải quyết các vấn đề đặt ra.Một bức ảnh bao gồm các đối tượng, xác định ví trí của đối tượng, tách đối tượngkhỏi ảnh ban đầu và xác định các đặc trưng riêng Ảnh được sử dụng là ảnh màu

Trang 9

RGB, ảnh đầu vào (input) là ảnh có chất lượng khá tốt, ảnh đầu ra (output) sau khixác nhận các đặc trưng được giữ nguyên kích thước

MATLAB – một phần mềm được sử dụng phổ biến hiện nay, là công cụ dùng đểthực hiện các mô phỏng, đánh giá và thực nghiệm, vì thế lựa chọn MATLAB đểthực hiện giải thuật phát hiện và nhận dạng đối tượng trên Xây dựng giải thuật đểnhận dạng các đối tượng trong ảnh và trong đó các đối tượng đã được xây dựng trên

cơ sở dữ liệu Sử dụng các toolbox hổ trợ trong MATLAB như: image processingtoolbox, computer vision toolbox…

Thiết kế một giao diện người dùng với các phím chức năng được mô phỏng trênGUI của MATLAB

1.2 Hướng giải quyết

Ảnh đầu vào được thực hiện các phép biến đổi để phát hiện đối tượng, xác định vịtrí của từng đối tượng, tách đối tượng thành những phần riêng Trích xuất nhữngthành phần đặc trưng của đối tượng bằng thuật toán Sau đó, xây dựng cơ sở dữ liệucho tập ảnh để nhận dạng đối tượng

Ảnh đầu ra thể hiện những thành phần từ những thành phần đặc trưng của ảnh vào,

và hiển thị một số thông tin về đối tượng

MATLAB được sử dụng làm công cụ hỗ trợ và GUI dùng để hiện thực quá trình môphỏng

Trang 10

CHƯƠNG 2 LÝ THUYẾT LIÊN QUAN

1.3 Machine learning

1.1.1 Machine learning

Trong thời gian gần đây, AI - Artificial Intelligence (trí tuệ nhân tạo), và cụ thể hơn

là machine learning (học máy hoặc máy học) đang nổi lên như một bằng chứng củacuộc cách mạng công nghiệp lần thứ tư (1 - động cơ hơi nước, 2 - năng lượng điện,

3 - công nghệ thông tin) Trí tuệ thân tạo đang len lỏi vào mọi lĩnh vực trong đờisống: xe tự hành của Google và Tesla, hệ thống tự tag đối tượng trong ảnh củaFacebook, trợ lý ảo Siri của Apple, hệ thống gợi ý sản phẩm của Amazon, hệ thốnggợi ý phim của Netflix, máy chơi cờ vây AlphaGo của Google DeepMind… là mộtvài trong vô vàn những ứng dụng của AI/Machine learning

Hình 2-1: Ứng dụng Siri trên Iphone của Apple

Machine Learning là một tập con của AI - Artificial Intelligence (trí tuệ nhân tạo),nơi mà các thuật toán máy tính được sử dụng để tự học từ dữ liệu và thông tin.Trong machine learning, các máy tính không cần phải được lập trình một cách rõràng nhưng có thể tự thay đổi và cải thiện các thuật toán của chúng Machine

Trang 11

learning là một phương pháp phân tích dữ liệu mà sẽ tự động hóa việc xây dựng môhình phân tích Sử dụng các thuật toán lặp để học từ dữ liệu, machine learning chophép máy tính tìm thấy những thông tin giá trị ẩn sâu mà không được lập trình mộtcách rõ ràng nơi để tìm.

Hình 2-2: Xe tự hành của Google

Hình 2-3: Máy chơi cờ vây của AlphaGo với Lee Sedol

Những năm gần đây, khi mà khả năng tính toán của các máy tính được nâng lên mộttầm cao mới và lượng dữ liệu khổng lồ được thu thập bởi các hãng công nghệ lớn,

Trang 12

machine learning đã tiến thêm một bước dài và một lĩnh vực mới được ra đời gọi làdeep learning Deep learning đã giúp máy tính thực thi những việc tưởng chừng nhưkhông thể vào 10 năm trước: phân loại các vật thể khác nhau trong các bức ảnh, tựtạo chú thích cho ảnh, bắt chước giọng nói và chữ viết của con người, giao tiếp vớicon người, hay thậm chí cả sáng tác văn hay âm nhạc.

Hình 2-4: Ứng dụng gợi ý phim trên Netflix

Hình 2-5: Ứng dụng tag khuôn mặt trên Facebook

Trang 13

Hình 2-6: Trí tuệ nhân tạo AI, machine learning và deep learning

Sơ lược theo thời gian về lịch sự hình thành của machine learning và các sự kiệnquan trọng:

Năm 1950 - nhà bác học Alan Turing đã tạo ra "Turing Test (phép thử Turing)" đểxác định xem liệu một máy tính có trí thông minh thực sự hay không Để vượt quabài kiểm tra đó, một máy tính phải có khả năng đánh lừa một con người tin rằng nócũng là con người

Năm 1952 - Arthur Samuel đã viết ra chương trình học máy (computer learning)đầu tiên Chương trình này là trò chơi cờ đam, và hãng máy tính IBM đã cải tiến tròchơi này để nó có thể tự học những nước đi lập nên chiến lược để giành chiếnthắng

Năm 1957 - Frank Rosenblatt đã thiết kế mạng nơron (neural network) đầu tiên chomáy tính (gọi là perceptron), mô phỏng quá trình suy nghĩ của bộ não con người.Năm 1967 - thuật toán điểm lân cận gần nhất (nearest neighbor) đã được viết, chophép các máy tính bắt đầu sử dụng những mẫu nhận dạng (pattern recognition) rất

cơ bản Nó được sử dụng để vẽ ra lộ trình cho một người bán hàng có thể bắt đầu đi

từ một thành phố ngẫu nhiên nhưng đảm bảo anh ta sẽ đi qua tất cả các thành phốkhác theo một quãng đường ngắn nhất

Trang 14

Năm 1979 - sinh viên tại trường đại học Stanford đã phát minh ra giỏ hàng

"Stanford Cart" có thể điều hướng để tránh các chướng ngại vật trong một cănphòng

Năm 1981 - Gerald Dejong giới thiệu về khái niệm Học qua giải thích “ExplanationBased Learning (EBL)”, trong đó một máy tính phân tích dữ liệu huấn luyện và tạo

ra một quy tắc chung để nó có thể làm theo bằng cách loại bỏ đi những dữ liệukhông quan trọng

Năm 1985 - Terry Sejnowski đã phát minh ra NetTalk, học cách phát âm các từgiống như cách một đứa trẻ tập nói

Những năm 1990 trở đi - machine learning đã dịch chuyển từ cách tiếp cận hướngkiến thức (knowledge driven) sang cách tiếp cận hướng dữ liệu (data driven) Cácnhà khoa học bắt đầu tạo ra các chương trình cho máy tính để phân tích một lượnglớn dữ liệu và rút ra các kết luận - hay là học từ các kết quả đó

Năm 1997 – máy tính Deep Blue của hãng IBM đã đánh bại nhà vô địch cờ vua thếgiới

Năm 2006 - Geoffrey Hinton đã đưa ra một thuật ngữ "deep learning" để giải thíchcác thuật toán mới cho phép máy tính "nhìn thấy" và phân biệt các đối tượng và vănbản trong các hình ảnh và video

Năm 2010 – máy Microsoft Kinect có thể theo dõi 20 hành vi của con người ở mộttốc độ 30 lần mỗi giây, cho phép con người tương tác với máy tính thông qua cáchành động và cử chỉ

Năm 2011 - máy tính Watson của hãng IBM đã đánh bại các đối thủ là con ngườitại Jeopardy

Năm 2011 - Google Brain đã được phát triển, và mạng deep nơron (deep neuralnetwork) của nó có thể học để phát hiện và phân loại nhiều đối tượng theo cách màmột con mèo thực hiện

Năm 2012 - X Lab của Google phát triển một thuật toán machine learning có khảnăng tự động duyệt qua các video trên YouTube để xác định xem video nào có chứanhững con mèo

Trang 15

Năm 2014 - Facebook phát triển DeepFace, một phần mềm thuật toán có thể nhậndạng hoặc xác minh các cá nhân dựa vào hình ảnh ở mức độ giống như con người.Năm 2015 - Amazon ra mắt nền tảng machine learning riêng của mình.

Năm 2015 - Microsoft tạo ra Distributed Machine Learning Toolkit, trong đó chophép phân phối hiệu quả các vấn đề machine learning trên nhiều máy tính

Năm 2015 - hơn 3.000 nhà nghiên cứu AI và Robotics, được sự ủng hộ bởi nhữngnhà khoa học nổi tiếng như Stephen Hawking, Elon Musk và Steve Wozniak (vànhiều người khác), đã ký vào một bức thư ngỏ để cảnh báo về sự nguy hiểm của vũkhí tự động trong việc lựa chọn và tham gia vào các mục tiêu mà không có sự canthiệp của con người

Năm 2016 - thuật toán trí tuệ nhân tạo của Google đã đánh bại nhà vô địch trò chơi

cờ vây, được cho là trò chơi phức tạp nhất thế giới Thuật toán AlphaGo được pháttriển bởi Google DeepMind đã giành chiến thắng 5/5 trước nhà vô địch cờ vây

1.1.2 Các thuật toán của machine learning

Có hai cách phổ biến phân nhóm các thuật toán machine learning Một là dựa trênphương thức học (learning style), hai là dựa trên chức năng (function) của mỗi thuậttoán

Theo phương thức học, các thuật toán machine learning được chia làm 4 nhóm:supervised learning (học có giám sát), unsupervised learning (học không có giámsát), semi-supervised lerning (học bán giám sát) và reinforcement learning (họccủng cố)

• Supervised learning (học có giám sát)

Supervised learning là thuật toán dự đoán đầu ra (outcome) của một dữ liệu mới(new input) dựa trên các cặp (input, outcome) đã biết từ trước Cặp dữ liệu này cònđược gọi là (data, label) (dữ liệu, nhãn) Một cách toán học, supervised learning là

khi có tập hợp biến đầu vào X = {x 1, x2,…xn} và tập hợp nhãn tương ứng Y = {y1, y2,

….yn}, trong đó xi, yi là các vector Cặp dữ liệu biết trước (xi ,yi) ϵ X, Y được gọi là

tập tranning data (dữ liệu huấn luyện) Từ tập dữ liệu huấn luyện này, tạo ra mộthàm số ánh xạ mỗi phần tử tập X sang một phần tử tương ứng của tập Y:

Trang 16

y i ≈ f(x i), ∀ i=1, 2, N

Mục đích là xấp xỉ hàm số f để khi một dữ liệu x mới thì có thể tính được nhãntương ứng của nó y = f(x)

• Unsupervised learning (học không có giám sát)

Trong thuật toán unsepervised learning, không biết được đầu ra (outcome) hay nhãn

mà chỉ có dữ liệu đầu vào Thuật toán unsupervised learning sẽ dựa vào cấu trúc của

dữ liệu để thực hiện một công việc nào đó, ví dụ như phân nhóm (clustering) hoặcgiảm số chiều của dữ liệu (dimension reduction) để thuận tiện trong việc lưu trữ vàtính toán

Một cách toán học, unsupervised learning là chỉ biết dữ liệu vào X mà không biếtnhãn Y tương ứng

• Semi – supervised learning (học bán giám sát)

Các bài toán khi có một lượng lớn dữ liệu X nhưng chỉ một phần trong chúng đượcgán nhãn được gọi là học bán giám sát (semi-supervised learning) Những bài toánthuộc nhóm này nằm giữa hai nhóm được nêu ở trên

• Reinforcement learning (học củng cố)

Reinforcement learning là các bài toán giúp cho một hệ thống tự động xác địnhhành vi dựa trên hoàn cảnh để đạt được lợi ích cao nhất (maximizing theperformance)

Phân nhóm dựa theo chức năng (function), các thuật toán machine learning thườngđược chia thành các loại đa dạng khác nhau: hồi quy (regression algorithms), phânloại (classification algorithms), phân nhóm (clustering algorithms), giảm số chiều(dimensionality reduction algorithms)…

1.4 Ảnh số

Ảnh số (digital image) là tập hợp tất cả các điểm ảnh (pixel) với mức xám phù hợpđược dùng để mô tả ảnh sao cho gần với hình ảnh thật

• Điểm ảnh

Trang 17

Điểm ảnh (pictrure element, pixel) là một phần tử của ảnh số có toạ độ (x, y) với độxám hoặc màu nhất định

• Độ phân giải

Độ phân giải (resolution) tức là mật độ điểm ảnh của ảnh đó Độ phân giải của ảnhcàng cao thì bức ảnh mà ta nhìn thấy càng rõ nét

• Mức xám

Mức xám của điểm ảnh là cường độ sáng của nó được gán bằng giá trị số tại điểm

đó, 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ớimột giá trị nguyên dương Thông thường, nó xác định trong [0, 255] tuỳ thuộc vàogiá trị mà mỗi điểm ảnh được biểu diễn Các thang giá trị mức xám thông thường:

Ảnh màu là ảnh mà mỗi điểm ảnh được biểu diễn bằng 3 giá trị (R, G, B) trong đó

R, G, B là một giá trị xám và được biểu biểu diễn bằng một byte Khi đó, một ảnh

có 24 bits

Trang 18

Hình 2-8: Ảnh trắng đen và ảnh xám

Hình 2-9: Ảnh màu

Trang 19

CHƯƠNG 3 PHÁT HIỆN ĐỐI TƯỢNG DÙNG PHƯƠNG PHÁP

MACHINE LEARNING

1.5 Đặc trưng Haar Like và bộ phân loại Adaboost

1.1.3 Đặc trưng Haar Like

Đặc trưng Haar Like do Jones và Viola công bố, gồm 4 đặc trưng cơ bản Mỗi đặctrưng Haar Like là sự kết hợp của hai hay ba hình chữ nhật trắng hoặc đen:

Hình 3-1: Đặc trưng cơ bản của Haar Like

Bốn đặc trưng Haar Like cơ bản được mở rộng và chia thành các đặc trưng: đặctrưng cạnh, đặc trưng đường và đặc trưng xung quanh tâm

Trang 20

Giá trị này dùng để so sánh với giá trị của các vùng pixel thô, các đặc trưng HaarLike có thể tăng hoặc giảm sự thay đổi bên trong hay bên ngoài lớp khuôn mặt,nhằm giúp việc phân loại đơn giản hơn.

Tuy nhiên, việc tính tổng các pixel trên ảnh đòi hỏi khả năng tính toán khá lớn Do

đó, Jones và Viola đưa ra khái niệm về integral image, là mảng hai chiều với kíchthước bằng với kích thước của ảnh cần tính các đặc trưng Haar Like Mỗi phần tửmảng này được tính bằng tổng của pixel ở phía trên (dòng 1) và bên trái (cột 1) của

nó, bắt đầu từ pixel phía trên, bên trái đến vị trí phía dưới, phải của ảnh

Hình 3-3: Cách tìm integral image của ảnh

Trang 21

Bộ phân loại Adaboost là bộ phân loại mạnh phi tuyến dựa trên hướng tiếp cậnboosting được Freund và Schapire đưa ra năm 1995.

Adaboost hoạt động trên nguyên tắc kết hợp tuyến tính các weak classifiers (phânloại yếu) để hình thành strong classifiers (phân loại mạnh) Adaboost sử dụng việcđánh trọng số (weight), với mỗi weak classifiers được xây dựng sẽ được cập nhật lạitrọng số để chuẩn bị xây dựng weak classifiers kế tiếp, bằng việc tăng trọng số khinhận dạng sai và giảm trọng số khi nhận dạng đúng Sau đó, các weak classifiersđược kết hợp để hình thành strong classifiers

Mô hình phân tầng (cascade) là sự kết hợp giữa bộ phân loại Adaboost với các đặctrưng Haar Like

Hình 3-5: Mô hình phân tầng kết hợp với bộ phận loại

Trong đó, hk là các phân loại yếu, và được biểu diễn:

Trang 22

• pk : hệ số xác định chiều của phương trình

Adaboost kết hợp các bộ phân loại yếu thành bộ phân loại mạnh:

H(x) = sign[ α 1 h1(x) + α 2 h2(x) +…+ α n hn(x)] (3.3)

Hình 3-6: Kết hợp các bộ phân loại yếu thành bộ phân loại mạnh

Hình 3-7: Mô hình xác định vị trí đối tượng

Trang 23

Hình 3-8: Xác định vị trí của đối tượng (khuôn mặt)

1.6 Phân tích thành phần chính PCA (Principal Component Analysis)

Phân tích thành phần chính PCA được giới thiệu lần đầu tiên bởi Karl Pearson vàonăm 1901, và được phát triển bởi H.Hotelling (1933), sau đó là T.W.Anderson(1958) và A.M.Kshirsagar (1972) Hiện nay, phương pháp phân tích thành phầnchính PCA được sử dụng như công cụ để phân tích dữ liệu nghiên cứu và thực hiệncác mô hình dự đoán Phương pháp PCA còn bao gồm cả việc tính toán phân tíchcác giá trị đặc trưng của một ma trận tuơng quan dữ liệu hay phân tính các giá trịđơn của ma trận dữ liệu thường sau khi tính trung bình dữ liệu của mỗi thuộc tính.PCA là phương pháp đơn giản nhất phân tích đa biến dựa trên các vector đặc trưng.Thông thường hoạt động của nó có thể được hiểu nhằm khám phá ra cấu trúc bêntrong của dữ liệu Nếu một tập dữ liệu đa biến được xem xét như tập các tọa độtrong một không gian dữ liệu nhiều chiều (mỗi trục biểu diễn một biến) thì phươngpháp PCA cung cấp cho chúng ta một bức ảnh ít chiều, một cái bóng của vật thể khiquan sát từ chính những đặc trưng cơ bản nhất của vật thể đó

Mục đích chính của phương pháp PCA là “giảm số chiều” của một tập vector saocho vẫn đảm bảo được tối đa thông tin quan trọng nhất so với tập dữ liệu ban đầu

Trang 24

Phương pháp PCA sẽ giữ lại K thuộc tính “mới” từ M các thuộc tính ban đầu(K<M).

Một số đặc tính của PCA như sau:

• Giúp giảm số chiều dữ liệu, giúp visualization khi dữ liệu có quá nhiều chiềuthông tin

• Do dữ liệu ban đầu có số chiều lớn (nhiều biến) thì PCA giúp xoay trục tọa

độ xây dụng một trục tọa độ mới đảm bảo độ biến thiên của dữ liệu và giữ lạiđược nhiều thông tin nhất mà không ảnh hưởng tới chất lượng của các môhình dự báo

• Do PCA giúp tạo một hệ trục tọa độ mới nên về mặt ý nghĩa toán học, PCAgiúp xây dựng những biến mới là tổ hợp tuyến tính của những biến ban đầu

• Trong không gian mới, có thể giúp khám phá thêm những thông tin quý giámới khi mà tại chiều thông tin cũ những thông tin quý giá này bị che mất

dữ liệu

Trang 25

1.1.1.2 Hiệp phương sai (convariance)

Hiệp phương sai là thước đo mức độ biến thiên cùng nhau của hai biến ngẫu nhiên(phân biệt với phương sai – đo mức độ biến thiên của một biến) Nếu hai biến có xuhướng thay đổi cùng nhau (nghĩa là, khi một biến có giá trị cao hơn giá trị kỳ vọngthì biến kia cũng có xu hướng cao hơn giá trị kỳ vọng), thì hiệp phương sai giữa haibiến có giá trị dương Mặt khác, nếu một biến nằm trên giá trị kì vọng còn biến kia

có xu hướng nằm dưới giá trị kì vọng, thì hiệp phương sai của hai biến này có giá trị

âm Hiệp phương sai giữa hai biến được tính dựa vào công thức tính phương sai củamột biến

• Hiệp phương sai của biến đang xét với chính nó:

var (X,X) =

n=1

N

(X nX).(X nX ) N

Ma trận hiệp phương sai (convariance matrix) của n biến ngẫu nhiên là một ma trậnvuông hạng (n x n), trong đó các phần tử nằm trên đường chéo chính (từ trái sangphải, từ trên xuống dưới) lần lượt là hiệp phương sai tương ứng của các biến này(var(X)= cov (X,X)), trong khi các phần tử còn lại (không nằm trên đường chéo) làhiệp phương sai của một cặp biến ngẫu nhiên khác nhau trong tập hợp, các giá trị

Ngày đăng: 08/03/2019, 22:25

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w