Chương 1. Nghiên cứu tổng quan: Nội dung chương này nhằm mục đích tìm 5 hiểu các phương pháp nhận diện khuôn mặt hiện có, ưu nhược điểm của từng phương pháp. Phương pháp được lựa chọn và hướng tiếp cận của đề tài. - Cơ sở lý thuyết và phân tích thuật toán: Nội dung chương bao gồm: Tìm hiểu về OpenCV, thuật toán Face Regconition.
Phát biểu bài toán và Xây dựng hệ thống. Nội dung chương gồm các bước để xây dựng một chương trình điểm danh tự động bằng hình ảnh. - Cuối cùng là Kết luận và đưa ra hướng phát triển của đề tài trong tương lai. 6 CHƯƠNG 2: NGHIÊN CỨU TỔNG QUAN 2.1 Tìm hiểu về thị giác máy tính (AI computer vision) 2.1 Thị giác máy tính là gì? Thị giác máy tính là một lĩnh vực trí tuệ nhân tạo (AI) sử dụng máy học và mạng lưới thần kinh để dạy máy tính và hệ thống lấy thông tin có ý nghĩa từ hình ảnh, video kỹ thuật số và các đầu vào trực quan khác-đồng thời đưa ra đề xuất hoặc thực hiện hành động khi chúng thấy khiếm khuyết hoặc sự cố.
Hình ảnh mô phỏng về thị giác máy tính Nếu AI cho phép máy tính suy nghĩ thì thị giác máy tính cho phép chúng nhìn, quan sát và hiểu. Thị giác máy tính hoạt động giống như thị giác của con người, ngoại trừ việc con người có khởi đầu thuận lợi hơn. Thị giác của con người có lợi thế là có bối cảnh trong suốt cuộc đời để rèn luyện cách phân biệt các vật thể, khoảng cách của chúng, liệu chúng có đang chuyển động hay có điều gì đó không ổn với hình ảnh. Thị giác máy tính huấn luyện máy móc thực hiện các chức năng này, nhưng nó phải thực hiện việc đó trong thời gian ngắn hơn nhiều nhờ máy ảnh, dữ liệu và thuật 7 toán thay vì võng mạc, dây thần kinh thị giác và vỏ não thị giác.
Bởi vì một hệ thống được đào tạo để kiểm tra sản phẩm hoặc theo dõi tài sản sản xuất có thể phân tích hàng nghìn sản phẩm hoặc quy trình trong một phút, nhận thấy những khiếm khuyết hoặc vấn đề không thể nhận ra, nên nó có thể nhanh chóng vượt qua khả năng của con người. Thị giác máy tính được sử dụng trong các ngành công nghiệp từ năng lượng và tiện ích đến sản xuất và ô tô—và thị trường đang tiếp tục phát triển. Dự kiến đạt 48,6 tỷ USD vào năm 2022 2.2 Thị giác máy tính hoạt động như thế nào? Hình 2. Mô phỏng hoạt động của thị giác máy tính Thị giác máy tính cần rất nhiều dữ liệu.
Nó chạy đi phân tích dữ liệu nhiều lần cho đến khi phân biệt được sự khác biệt và cuối cùng nhận ra được hình ảnh. Ví dụ, để huấn luyện máy tính nhận dạng lốp ô tô, nó cần được cung cấp một lượng lớn hình ảnh lốp và các mục liên quan đến lốp để tìm hiểu sự khác biệt và nhận biết lốp, đặc biệt là lốp không có khuyết tật. Hai công nghệ thiết yếu được sử dụng để thực hiện điều này: một loại máy học được gọi là học sâu và mạng nơ-ron tích chập (CNN). 8 Học máy sử dụng các mô hình thuật toán cho phép máy tính tự dạy về bối cảnh của dữ liệu trực quan.
Nếu đủ dữ liệu được cung cấp qua mô hình, máy tính sẽ “nhìn” vào dữ liệu và tự dạy mình cách phân biệt hình ảnh này với hình ảnh khác. Các thuật toán cho phép máy tự học thay vì ai đó lập trình để nhận dạng hình ảnh. CNN giúp mô hình học máy hoặc học sâu “nhìn” bằng cách chia hình ảnh thành các pixel được gắn thẻ hoặc nhãn. Nó sử dụng các nhãn để thực hiện các phép tích chập (một phép toán trên hai hàm để tạo ra hàm thứ ba) và đưa ra dự đoán về những gì nó “nhìn thấy”.
Mạng lưới thần kinh chạy các phép tích chập và kiểm tra tính chính xác của các dự đoán của nó trong một loạt các lần lặp cho đến khi các dự đoán bắt đầu trở thành hiện thực. Sau đó nó nhận biết hoặc nhìn thấy hình ảnh theo cách tương tự như con người. Giống như con người tạo ra một hình ảnh từ xa, CNN trước tiên phân biệt các cạnh cứng và hình dạng đơn giản, sau đó điền thông tin khi chạy lặp lại các dự đoán của mình. CNN được sử dụng để hiểu các hình ảnh đơn lẻ.
Mạng thần kinh tái phát (RNN) được sử dụng theo cách tương tự cho các ứng dụng video để giúp máy tính hiểu các hình ảnh trong một loạt khung hình có liên quan với nhau như thế nào.3 Lịch sử của thị giác máy tính Các nhà khoa học và kỹ sư đã cố gắng phát triển các cách để máy móc có thể nhìn và hiểu dữ liệu hình ảnh trong khoảng 60 năm qua. Thí nghiệm bắt đầu vào năm 1959 khi các nhà sinh lý học thần kinh cho một con mèo xem một loạt hình ảnh, cố gắng tìm ra mối tương quan giữa phản ứng trong não của nó. Họ phát hiện ra rằng nó phản ứng đầu tiên với các cạnh hoặc đường nét cứng và về mặt khoa học, điều này có nghĩa là quá trình xử lý hình ảnh bắt đầu với các hình dạng đơn giản như các cạnh thẳng. Hệ thống máy tính quét ảnh thời kỳ trước Cùng lúc đó, công nghệ quét hình ảnh máy tính đầu tiên được phát triển, cho phép máy tính số hóa và thu được hình ảnh.
Một cột mốc quan trọng khác đã đạt được vào năm 1963 khi máy tính có thể chuyển đổi hình ảnh hai chiều thành dạng ba chiều. Vào những năm 1960, AI nổi lên như một lĩnh vực nghiên cứu học thuật và nó cũng đánh dấu sự khởi đầu của nhiệm vụ AI nhằm giải quyết vấn đề thị giác của con người. Năm 1974 chứng kiến sự ra đời của công nghệ nhận dạng ký tự quang học (OCR), có thể nhận dạng văn bản được in ở bất kỳ phông chữ hoặc kiểu chữ nào. Tương tự, nhận dạng ký tự thông minh (ICR) có thể giải mã văn bản viết tay sử dụng mạng lưới thần kinh.
Kể từ đó, OCR và ICR đã tìm được đường vào xử lý tài liệu và hóa đơn, nhận dạng biển số xe, thanh toán di động, chuyển đổi máy và các ứng dụng phổ biến khác. Năm 1982, nhà thần kinh học David Marr đã chứng minh rằng tầm nhìn hoạt động theo thứ bậc và giới thiệu các thuật toán cho máy móc để phát hiện các cạnh, góc, đường cong và các hình dạng cơ bản tương tự. Đồng thời, nhà khoa học máy tính Kunihiko Fukushima đã phát triển một mạng lưới tế bào có thể nhận dạng các mẫu. Mạng này được gọi là Neocognitron, bao gồm các lớp tích chập trong mạng lưới thần kinh.
Đến năm 2000, trọng tâm nghiên cứu là nhận dạng đối tượng; và đến năm 2001, 10 những ứng dụng nhận diện khuôn mặt theo thời gian thực đầu tiên xuất hiện. Tiêu chuẩn hóa cách gắn thẻ và chú thích các tập dữ liệu trực quan đã xuất hiện từ những năm 2000. Năm 2010, bộ dữ liệu ImageNet đã có sẵn. Nó chứa hàng triệu hình ảnh được gắn thẻ trên hàng nghìn lớp đối tượng và cung cấp nền tảng cho CNN cũng như các mô hình học sâu được sử dụng ngày nay.
Năm 2012, một nhóm từ Đại học Toronto đã đưa CNN tham gia một cuộc thi nhận dạng hình ảnh. Mô hình có tên AlexNet đã giảm đáng kể tỷ lệ lỗi khi nhận dạng hình ảnh. Sau bước đột phá này, tỷ lệ lỗi đã giảm xuống chỉ còn vài phần trăm.4 Ứng dụng thị giác máy tính Có rất nhiều nghiên cứu đang được thực hiện trong lĩnh vực thị giác máy tính nhưng không dừng lại ở đó. Các ứng dụng trong thế giới thực chứng minh tầm quan trọng của thị giác máy tính đối với những nỗ lực trong kinh doanh, giải trí, giao thông vận tải, chăm sóc sức khỏe và cuộc sống hàng ngày.
Ứng dụng của thị giác máy tính Động lực chính cho sự phát triển của các ứng dụng này là dòng thông tin hình ảnh tràn ngập từ điện thoại thông minh, hệ thống an ninh, camera giao thông và các thiết bị đo trực quan khác. Dữ liệu này có thể đóng một vai trò quan trọng trong hoạt động của nhiều ngành, nhưng ngày nay không được sử dụng. Thông tin tạo ra nền tảng thử nghiệm để huấn luyện các ứng dụng thị giác máy tính và là bệ phóng để chúng trở thành 11 một phần trong hàng loạt hoạt động của con người: - IBM đã sử dụng thị giác máy tính để tạo ra Những khoảnh khắc của tôi cho giải golf Masters 2018. IBM Watson® đã xem hàng trăm giờ các thước phim Masters và có thể xác định khung cảnh (và âm thanh) của những cảnh quay quan trọng.
Nó tuyển chọn những khoảnh khắc quan trọng này và cung cấp chúng cho người hâm mộ dưới dạng cuộn phim nổi bật được cá nhân hóa. - Google Dịch cho phép người dùng hướng camera của điện thoại thông minh vào một biển hiệu bằng ngôn ngữ khác và gần như ngay lập tức nhận được bản dịch của biển hiệu đó sang ngôn ngữ ưa thích của họ. - Sự phát triển của phương tiện tự lái dựa vào thị giác máy tính để hiểu được đầu vào hình ảnh từ camera của ô tô và các cảm biến khác. Điều cần thiết là phải xác định các ô tô khác, biển báo giao thông, vạch kẻ đường, người đi bộ, xe đạp và tất cả thông tin trực quan khác gặp trên đường.
- IBM đang áp dụng công nghệ thị giác máy tính với các đối tác như Verizon để đưa AI thông minh lên đỉnh cao và giúp các nhà sản xuất ô tô xác định các khiếm khuyết về chất lượng trước khi xe rời khỏi nhà máy.5 Ví dụ về thị giác máy tính Nhiều tổ chức không có đủ nguồn lực để tài trợ cho các phòng thí nghiệm thị giác máy tính và tạo ra các mô hình học sâu và mạng lưới thần kinh. Họ cũng có thể thiếu khả năng tính toán cần thiết để xử lý các bộ dữ liệu trực quan khổng lồ. Các công ty như IBM đang trợ giúp bằng cách cung cấp các dịch vụ phát triển phần mềm thị giác máy tính. Các dịch vụ này cung cấp các mô hình học tập được xây dựng sẵn từ đám mây— và cũng giúp giảm bớt nhu cầu về tài nguyên máy tính.
Người dùng kết nối với các dịch vụ thông qua giao diện lập trình ứng dụng (API) và sử dụng chúng để phát triển các ứng dụng thị giác máy tính. Ví dụ về quá trình xử ly của một hệ thống thị giác máy tính Hình 6.