daigai

Well-Known Member
Link tải luận văn miễn phí cho ae Kết Nối
BÁO CÁO BÀI TẬP LỚN MÔN HỌC MÁY ĐỀ TÀI NHẬN DIỆN KHUÔN MẶT VỚI KNN
CHƯƠNG 1. BÀI TOÁN NHẬN DIỆN KHUÔN MẶT...............................................9
1.1. Tổng quan về nhận dạng..........................................................................................9
1.1.1 Tính chất và sự cần thiết của bài toán nhận dang...........................................9
1.1.2 Bản chất của quá trình nhận dạng.................................................................10
1.2. Bài toán nhận diện khuôn mặt................................................................................11
1.2.1 Khái niệm......................................................................................................11
1.2.2 Nguyên tắc hoạt động cơ bản........................................................................12
CHƯƠNG 2. NHẬN DIỆN KHUÔN MẶT VỚI KNN...............................................14
2.1. Thuật toán KNN.....................................................................................................14
2.1.1 Giới thiệu về thuật toán KNN.......................................................................14
2.1.2 Quy trình của thuật toán KNN......................................................................15
2.1.3 Ưu điểm và nhược điểm của thuật toán KNN..............................................16
2.1.4 Ví dụ về thuật toán KNN..............................................................................16
2.2. Xử lý hình ảnh để nhận dạng.................................................................................19
2.2.1 Khái niệm về xử lý ảnh.................................................................................19
2.1.2 Phương pháp xử lý ảnh.................................................................................20
CHƯƠNG 3. THỰC NGHIỆM NHẬN DIỆN KHUÔN MẶT VỚI KNN................23
3.1. Thiết kế chương trình.............................................................................................23
3.2. Xác định vùng chứa khuôn mặt sử dụng Haarcascade OpenCV...........................23
3.3. Xử lý hình ảnh và trích chọn đặc trưng bằng OpenCV..........................................25
3.4. Xây dựng model KNN để phân loại khuôn mặt.....................................................27
3.5. Kết quả thực nghiệm chạy chương trình................................................................28
KẾT LUẬN.....................................................................................................................33
Ket-noi.com kho tai lieu mien phi Ket-noi.com kho tai lieu mien phiDANH MỤC HÌNH
Hình 1. Sơ đồ tổng quan một hệ nhận dạng..................................................................10
Hình 2. Nhận diện khuôn mặt.......................................................................................10
Hình 3. Khoảng cách Euclid.........................................................................................14
Hình 4. Dữ liệu ví dụ ban đầu.......................................................................................16
Hình 5. Dữ liệu sau khi được chuẩn hóa.......................................................................17
Hình 6. Kết quả tính toán..............................................................................................17
Hình 7. Dữ liệu sau khi sắp xếp....................................................................................18
Hình 8. Mô hình xử lý ảnh tổng quan...........................................................................19
Hình 9. Kỹ thuật lọc trung vị........................................................................................20
Hình 10. Kỹ thuật lọc trung bình..................................................................................20
Hình 11. Khởi tạo mô hình Haarcascade OpenCV để nhận diện khuôn mặt................23
Hình 12. Xác định vị trí của khuôn mặt........................................................................23
Hình 13. Xác định vị trí và làm xám khuôn mặt...........................................................24
Hình 14. Kết quả sau khi làm xám khuôn mặt..............................................................24
Hình 15. Thay đổi kích thước về dạng 100*100...........................................................25
Hình 16. Kết quả sau khi thay đổi kích thước...............................................................25
Hình 17. Chương trình lưu trữ điểm ảnh......................................................................25
Hình 18. Hình ảnh trích chọn đặc trưng và làm xám....................................................26
Hình 19. Nội dung model KNN....................................................................................26
Hình 20. Hàm tính khoảng cách Euclid........................................................................27
Hình 21. Huấn luyện phát hiện khuôn mặt bằng camera..............................................27
Hình 22. Lưu trữ dữ liệu khuôn mặt.............................................................................28
Hình 23. Kết quả huấn luyện bằng camera...................................................................28
Hình 24. Huấn luyện bằng hình ảnh.............................................................................29
Hình 25. Kết quả huấn luyện bằng hình ảnh.................................................................29
Hình 26. Đọc dữ liệu huấn luyện và khởi tạo mô hình KNN với K = 5.......................30
Hình 27. Lựa chọn phương pháp kiểm thử...................................................................30
Hình 28. Chương trình nhận diện khuôn mặt và gán nhãn...........................................31
Hình 29. Kết quả nhận diện khuôn mặt........................................................................31LỜI CẢM ƠN
Lời đầu tiên cho phép chúng em gửi lời Thank sâu sắc tới các thầy cô trong
khoa Công nghệ thông tin - Trường Đại học Công Nghiệp Hà Nội, những người đã
hết mình truyền đạt và chỉ dẫn cho chúng em những kiến thức, những bài học quý
báu và bổ ích. Đặc biệt chúng em xin được bày tỏ sự tri ân và xin chân thành cảm ơn
giảng viên ThS Lê Thị Thủy người trực tiếp hướng dẫn, chỉ bảo chúng em trong suốt
quá trình học tập, nghiên cứu và hoàn thành được bài tập lớn này. Sau nữa, chúng em
xin gửi tình cảm sâu sắc tới gia đình và bạn bè vì đã luôn bên cạnh khuyến khích,
động viên, giúp đỡ cả về vật chất linh tinh thần cho chúng em trong suốt qui trình
học tập để chúng em hoàn thành tốt việc học tập của bản thân.
LỜI MỞ ĐẦU
Những năm gần đây, AI – Artificial Intelligence (Trí tuệ nhân tạo) nổi lên như
một bằng chứng của cuộ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ệ nhân tạo đang len lỏi vào mọi
lĩnh vực trong đời sống mà có thể chúng ta không nhận ra. Xe tự hành của Google và
Tesla, hệ thống tự gắn thẻ khuôn mặt trong ảnh của Facebook, trợ lý ảo Siri của
Apple, hệ thống gợi ý sản phầm của Amazon, hệ thống gợi ý phim của Netfix, máy
chơi cờ vây AlphaGo của Google DeepMind,… chỉ là một vài trong vô vàn những
ứng dụng của AI.
Học máy (Machine Learning) là một lĩnh vực của trí tuệ nhân tạo, được sinh ra
từ khả năng nhận diện mẫu và từ lý thuyết các máy tính có thể học mà không cần
phải lập trình để xử lý các nhiệm vụ cụ thể nào đó.
Bài toán xử lý ảnh đang được nghiên cứu và phát triển với tốc độ nhanh chóng
bởi các cảm biến hình ảnh như camera, webcam ngày càng hiện đại. Nhờ hệ thống xử
lý hình ảnh mà con người đã giảm bớt khối công việc cũng như tăng sự chính xác
trong việc đưa ra các quyết định liên quan đến xử lý ảnh trên nhiều lĩnh vực: quân sự
và quốc phòng, các hệ thống kỹ nghệ hóa sinh, giải phẫu, các hệ thống thông minh,
robotics, các hệ thống an ninh. Hiện tại, có các hình thức nhận dạng khác như: nhận
dạng giọng nói, chữ viết, dấu vân tay, võng mạc, thì bài toán nhận dạng khuôn mặt
người đang được nhóm chúng em quan tâm chú ý. Trên cơ thể người có rất nhiều đặc
điểm để nhận dạng, và khuôn mặt là nơi thể hiện rõ ràng nhất để ta có thể phân biệt
được mỗi người một cách nhanh chóng.
Nhận diện khuôn mặt là một vấn đề quan trọng trong lĩnh vực xử lý hình ảnh.
Nhiệm vụ bài toán đặt ra là phát hiện khuôn mặt và nhận diện khuôn mặt đó là ai.
Đây là một bài toán rất thường gặp trong thực tế và đã có rất nhiều mô hình được đưa
ra để giải quyết như: mô hình Naïve Bayes, K-NN (K-Nearest Neighbor), Cây quyết
định (Decision Tree), Mạng Neuron nhân tạo (Artificial Neural Network) và SVM(Support Vector Machine). Mỗi mô hình đều cho kết quả khá tốt cho bài toán này,
mô hình nhận diện khuôn mặt bằng K-NN là dễ cài đặt nhất mặc dù độ chính xác vẫn
phải dựa vào phần lớn dữ liệu huấn luyện đầu vào. Chính vì vậy để nâng cao kiến
thức nhận dạng và hiểu rõ hơn về quy trình phát triển mô hình K-NN, chúng em lựa
chọn đề tài: “Nhận diện khuôn mặt với KNN” làm đề tài kết thúc môn học của mình.
Trong bài tập kết thúc học phần lần này, chúng em sẽ áp dụng mô hình học
máy cơ bản của Machine Learning để áp dụng vào hệ thống nhận diện khuôn mặt.
Trong phạm vi báo cáo đồ án, chúng em sẽ trình bày 3 chương như sau:
Chương 1: Bài toán nhận diện khuôn mặt.
Trình bày nội dung khái quát về bài toán nhận dạng nói chung và phương pháp
nhận diện khuôn mặt nói riêng.
Chương 2: Nhận diện khuôn mặt với KNN.
Trình bày các kỹ thuật nhận diện khuôn mặt bằng thuật toán KNN và các kỹ
thuật xử lý hình ảnh.
Chương 3: Thực nghiệm nhận diện khuôn mặt.
- Xác định vùng của khuôn mặt
- Trích chọn đặc trưng của khuôn mặt
- Lưu trữ đặc trưng của khuôn mặt vào tập tin huấn luyện
- Thực nghiệm nhận diện khuôn mặt bằng thuật toán KNN
Ket-noi.com kho tai lieu mien phi Ket-noi.com kho tai lieu mien phiCHƯƠNG 1. BÀI TOÁN NHẬN DIỆN KHUÔN MẶT
1.1. Tổng quan về nhận dạng
1.1.1 Tính chất và sự cần thiết của bài toán nhận dang.
Nhận dạng là quá trình phân loại các đối tượng được biểu diễn theo một mô
hình nào đó và gán cho chúng vào một lớp (gán đối tượng một tên gọi) dựa theo
những quy luật và các mẫu chuẩn. Quá trình nhận dạng dựa vào những mẫu học biết
trước gọi là nhận dạng có giám sát (supervised learning); trong trường hợp ngược lại
gọi là học không có giám sát (non supervised learning). Nhận dạng là một bài toán
quan trọng trong ngành thị giác máy tính.
Cùng với sự phát triển không ngừng của kinh tế xã hội và các ngành kỹ thuật
hiện nay. Đòi hỏi sự quản lý và xử lý thông tin chính xác mà nó vượt quá sức của con
người. Vì vậy chúng ta cần có máy móc hoạt động làm giảm tải hay thay thế công
việc nặng nhọc, đòi hỏi sự chính xác cao và nhàm chán cho con người. Việc giúp
máy móc nhận dang (thu thập, phân loại thông tin) như còn người sẽ giúp máy móc
hoạt động hiệu quả giống như con người với độ chính xác cao hơn rất nhiều.
Một số ứng dụng của bài toán nhận dạng:
- Nhận dạng dấu vân tay: ở Việt Nam đã được sử dụng trong việc chấm
công, điểm danh và làm khóa an toàn cho các loại cửa sắt, máy tính xách tay…
Nó tạo sự tiện dụng và rất an toàn. Thay vì phải nhập mã pin trên máy ATM
thì bạn chỉ việc đặt ngón tay trỏ của mình lên và giao dịch sẽ bắt đầu.
- Nhận dạng giọng nói: ứng dụng này được tích hợp trên nhiều sản phẩm,
bạn sẽ điều khiển các thiết bị qua giọng nói của mình thay vì phải thao tác trực
tiếp bằng tay, như trong mô hình nhà thông minh, trên điện thoại…. Ví dụ: ứng
dụng Jibbigo trên điện thoại đi động, Ứng dụng này có thể dịch được tiếng nói
của người sử dụng với 8 ngôn ngữ khác nhau như tiếng Anh, Pháp, Đức, Nhật,
Hàn Quốc, Philipin, Tây Ban Nha, Trung Quốc.- Nhận dạng khuôn mặt: thường được mô tả là một quá trình bao gồm bốn
bước, đó là: phát hiện khuôn mặt, căn chỉnh khuôn mặt, trích xuất các đặc
điểm và cuối cùng là nhận dạng khuôn mặt.
- Hệ thống nhận dạng biển số xe: là hệ thống có khả năng phân tích hình ảnh
và xác định biển số trên xe, thông qua video, thiết bị ghi hình và hình ảnh.
1.1.2 Bản chất của quá trình nhận dạng.
Quá trình nhận dạng gồm 3 giai đoạn chính:
 Lựa chọn mô hình biểu diễn đối tượng.
 Lựa chọn luật ra quyết định (phương pháp nhận dạng) và suy diễn quá trình học.
 Học nhận dạng.
Khi mô hình biểu diễn đối tượng đã được xác định, có thể là định lượng (mô
hình tham số) hay định tính (mô hình cấu trúc), quá trình nhận dạng chuyển sang giai
đoạn học. Học là giai đoạn quan trọng. Thao tác học nhằm cải thiện, điều chỉnh việc
phân hoạch tập đối tượng thành lớp. Việc nhận dạng chính là tìm ra quy luật và các
thuật toán để có thể gán đối tượng vào một lớp hay nói một cách khác gán cho đối
tượng một tên.
Học có giám sát (supervised learning) là kỹ thuật phân loại nhờ kiến thức biết
trước gọi là học có thầy. Đặc điểm cơ bản của kỹ thuật này là người ta có một thư
viện các mẫu chuẩn. Mẫu cần nhận dạng sẽ được đem so sánh với mẫu chuẩn để xem
nó thuộc loại nào. Ví dụ như trong một ảnh viễn thám, người ta muốn phân biệt một
cách đồng lúa, một cánh rừng hay một vùng đất hoang mà đã có miêu tả về đối tượng
đó. Vấn đề chủ yếu là thiết kế một hệ thống để có thể đối sánh đối tượng trong ảnh
với mẫu chuẩn và quyết định gán cho chúng vào một lớp. Việc đối sánh nhờ vào các
thủ tục ra quyết định dựa trên một công cụ gọi là hàm phân lớp hay hàm ra quyết
định.
KẾT LUẬN
Thuật toán KNN (K-Nearest Neighbors) là một trong những thuật toán học có
giám sát đơn giản nhất được sử dụng nhiều trong khai phá dữ liệu và học máy. Ý
tưởng của thuật toán này là nó không học một điều gì từ tập dữ liệu học (nên KNN
được xếp vào loại lazy learning), mọi tính toán được thực hiện khi nó cần dự đoán
nhãn của dữ liệu mới. Lớp (nhãn) của một đối tượng dữ liệu mới có thể đoán từ
các lớp (nhãn) của k hàng xóm gần nó nhất.
Vì những đặc điểm trên nên khi phát triển chương trình “Nhận diện khuôn mặt
bằng KNN” cũng có những ưu điểm và nhược điểm nhất định. Thuật toán KNN có
ưu điểm là dễ dàng cài đặt và sử dụng, không dựa trên bất kỳ giả định nào, vì thế nó
có thể được sử dụng trong các bài toán phi tuyến tính, hoạt động tốt trong trường hợp
phân loại với nhiều lớp, sử dụng được trong cả phân loại và hồi quy. Tuy nhiên cũng
có nhược điểm là chương trình trở nên rất chậm khi số lượng điểm dữ liệu (số lượng
khuôn mặt) tăng lên vì mô hình cần lưu trữ tất cả các điểm dữ liệu, tốn bộ nhớ và
nhạy cảm với các dữ liệu bất thường (nhiễu).
Sau khi hoàn thành đề tài chúng em đã thu được một số kinh nghiệm như làm
quen và sử dụng ngôn ngữ lập trình Python. Nắm bắt kiến thức cơ bản về các kỹ
thuật nhận dạng và những yếu tố cần thiết để xây dựng một hệ thống hiệu quả chuẩn
xác. Biết đến các kỹ thuật nhận diện vật thể và các model phổ biến hiện nay như
nhận diện khuôn mặt, thiết bị, vật dụng,… Ứng dụng thư viện OpenCV vào bài toán
xác định và nhận diện khuôn mặt
Link Download bản DOC
Do Drive thay đổi chính sách, nên một số link cũ yêu cầu duyệt download. các bạn chỉ cần làm theo hướng dẫn.
Password giải nén nếu cần: ket-noi.com | Bấm trực tiếp vào Link để tải:

 
Các chủ đề có liên quan khác
Tạo bởi Tiêu đề Blog Lượt trả lời Ngày
P Quản lý nhà nước về cấp giấy chứng nhận quyền sử dụng đất tại huyện Diễn Châu tỉnh Nghệ An Luận văn Kinh tế 0
M Áp dụng mô hình trình diễn để khắc phục rào cản trong việc tiếp nhận chuyển giao công nghệ y tế ở mi Kinh tế quốc tế 0
K Nhận diện "Tự diễn biến", "Tự chuyển hóa" ở Việt Nam hiện nay Văn hóa, Xã hội 0
M Viết đoạn văn diễn dịch (quy nạp) từ 7- 10 câu, trình bày cảm nhận của em về truyện ngắn "Chiếc lá c Văn học 2
N Cảm Nhận Về Diễn Biến Tâm Trạng Của Phi-lip Qua Tác Phẩm:"BỐ CỦA XI-MÔNG" Văn học 0
D Thân mời tất cả các thành viên diễn đàn tham gia Ngày Hội Công Nghệ Nvidia nhận Iphone 6. Hỏi đáp Tin học 0
D Đoạn văn diễn dịch (quy nạp) từ 7- 10 câu, trình bày cảm nhận của em về truyện ngắn "Chiếc lá cuối c Văn học 0
L Phân tích và chứng minh nhận định trong diễn văn tại lễ kỉ niệm 105 năm ngày sinh chủ tịch Hồ Chí Mi Tài liệu chưa phân loại 0
T Phân tích và chứng minh nhận định, liên hệ với thực tiễn cách mạng Việt Nam hiện nay trong diễn văn Tài liệu chưa phân loại 0
L Nhận biểu diễn múa bellydance chất lượng cao Hỏi đáp, chia sẻ kiến thức kinh tế 0

Các chủ đề có liên quan khác

Top