Nội dung bài viết
Computer Vision là gì?
Thị giác máy tính (tiếng Anh: Computer Vision) là một lĩnh vực trí tuệ nhân tạo (AI) cho phép máy tính và hệ thống lấy thông tin có ý nghĩa từ hình ảnh kỹ thuật số, video và các đầu vào trực quan khác – và thực hiện hành động hoặc đưa ra đề xuất dựa trên thông tin đó. 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 nhằm giúp máy tính có khả năng nhìn và hiểu giống như con người. Tạo ra một chiếc máy nhìn vậy không đơn giản. Người tiên phong trong lĩnh vực AI là Marvin Minsky, vào năm 1966 đã hướng dẫn sinh viên của mình “kết nối camera với máy tính để mô tả những gì nó nhìn thấy được”.
Thị giác máy tính đã và đang được sử dụng rộng rãi trong các ngành công nghiệp từ năng lượng, tiện ích cho đến sản xuất ô tô, linh kiện điện tử và thị trường đang tiếp tục phát triển. Dự kiến sẽ đạt 48,6 tỷ USD vào năm 2022.
Thị giác máy tính hoạt động như thế nào?
Thị giác máy tính cần nhiều dữ liệu. Cần chạy so sánh, phân tích dữ liệu cho đến khi phân biệt được sự khác biệt và cuối cùng là nhận ra hình ảnh. Ví dụ, để triển khai một 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 xe ( dạng không có khuyết tật) và các mục liên quan đến lốp xe để tìm hiểu sự khác biệt và nhận ra một chiếc lốp xe.
Hai công nghệ thiết yếu được sử dụng để thực hiện điều này: một loại học máy được gọi là học sâu và mạng nơ-ron tích hợp (Convolutional Neural Network – CNN).
Học máy (Machine learning) sử dụng các mô hình thuật toán cho phép máy tính tự dạy về ngữ cảnh của dữ liệu trực quan. Nếu đủ dữ liệu được cung cấp thông qua mô hình, máy tính sẽ “nhìn” vào dữ liệu và tự dạy cho 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 nó để 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 thấy” bằng cách chia nhỏ 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 tích chập (một phép toán trên hai hàm để tạo ra một hàm thứ ba) và đưa ra dự đoán về những gì nó đang “nhìn thấy”. Mạng nơ-ron chạy tích lũy và kiểm tra độ 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 lại cho đến khi các dự đoán bắt đầu trở thành sự thật. 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ư một con người tạo ra một hình ảnh ở khoảng cách xa, CNN đầu 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 nơ-ron tuần hoàn (Recurrent Neural Network – 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ách các hình ảnh trong một chuỗi khung có liên quan với nhau.
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 trực quan trong khoảng 60 năm. 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ương quan với phản ứng trong não của nó. Họ phát hiện ra rằng nó phản ứng trước với các cạnh hoặc đường 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.
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 nhận 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 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 giải quyết vấn đề về 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 (Optical Character Recognition – OCR), có thể nhận dạng văn bản được in bằng 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 (Intelligent Character Recognition – ICR) có thể giải mã văn bản viết tay bằng mạng nơ-ron, OCR và ICR đã tìm ra cách xử lý tài liệu và hóa đơn, nhận dạng biển số xe, thanh toán di động, dịch máy và các ứng dụng phổ biến khác.
Vào năm 1982, nhà thần kinh học David Marr đã xác định rằng thị giác hoạt động theo thứ bậc và đưa ra 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 các tế bào có thể nhận dạng các mẫu. Mạng, được gọi là Neocognitron, bao gồm các lớp phức hợp trong một mạng nơron.
Đến năm 2000, trọng tâm của nghiên cứu là nhận dạng vật thể, và đến năm 2001, các ứng dụng nhận dạng khuôn mặt thời gian thực đầu tiên đã xuất hiện. Tiêu chuẩn hóa về cách các tập dữ liệu trực quan được gắn thẻ và chú thích đã xuất hiện trong những năm 2000. Vào năm 2010, tập dữ liệu ImageNet đã có sẵn. Nó chứa hàng triệu hình ảnh được gắn thẻ trên một nghìn lớp đối tượng và cung cấp nền tảng cho CNN và các mô hình học sâu được sử dụng ngày nay. Năm 2012, một nhóm nghiên cứu từ Đại học Toronto đã đưa CNN vào một cuộc thi nhận dạng hình ảnh. Mô hình, được gọi là 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.
Ứ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 nó không chỉ là nghiên cứu. Các ứng dụng trong thế giới thực chứng minh tầm quan trọng của máy tính đối trong kinh doanh, giải trí, giao thông, chăm sóc sức khỏe và cuộc sống hàng ngày.
Động lực chính cho sự phát triển của các ứng dụng này là tràn ngập thông tin trực quan từ điện thoại thông minh, hệ thống an ninh, camera giao thông và các thiết bị hỗ trợ 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 các ngành, nhưng ngày nay chưa được khai thác sử dụng. Thông tin này tạo ra một loạt thử nghiệm để đào tạo các ứng dụng thị giác máy tính và là bệ phóng để chúng trở thành một phần của một loạt các hoạt động của con người.
- IBM đã sử dụng tầm nhìn máy tính để tạo “My Moments” cho giải đấu golf Masters 2018. IBM Watson đã xem lại hàng trăm giờ các cảnh quay của trong giải Masters và xác định các thời điểm, âm thanh của các cảnh quay quan trọng. Nó đã sắp xếp những khoảnh khắc quan trọng này và gửi chúng đến người hâm mộ dưới dạng cuộn phim nổi bật được cá nhân hóa.
- Google Translate cho phép người dùng hướng camera của điện thoại thông minh vào một ký 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 ký hiệu đó bằng ngôn ngữ ưa thích của họ.
- Sự phát triển của các phương tiện tự lái dựa vào thị giác máy tính. Chúng lấy dữ liệu (hình ảnh) trực quan từ camera của ô tô và các cảm biến khác để xử lý, điều khiển xe. Điều cần thiết là phải xác định các xe ô tô khác, biển báo giao thông, vạch kẻ làn đường, người đi bộ, xe đạp… và tất cả các thông tin hình ảnh khác gặp trên đường.
- Face ID cũng là một ứng dụng nhỏ của thị giác máy tính được thiết kế và phát triển bởi Apple Inc…
Một số ví dụ về các nhiệm vụ thị giác máy tính đã và đang dần quen thuộc trong đời sống.
- Phân loại hình ảnh
Xem một hình ảnh và có thể phân loại hình ảnh đó (một con chó, một quả táo, khuôn mặt của một người). Chính xác hơn, nó có thể dự đoán chính xác rằng một hình ảnh nhất định thuộc về một lớp nhất định. Ví dụ: một công ty truyền thông xã hội có thể muốn sử dụng nó để tự động xác định và tách biệt các hình ảnh phản cảm do người dùng tải lên.
- Phát hiện đối tượng
Có thể sử dụng phân loại hình ảnh để xác định một loại hình ảnh nhất định, sau đó phát hiện và lập bảng biểu cho sự xuất hiện của chúng trong một hình ảnh hoặc video. Ví dụ bao gồm phát hiện hư hỏng trên dây chuyền lắp ráp hoặc xác định máy móc cần bảo trì.
- Theo dõi đối tượng
Theo dõi một đối tượng sau khi nó được phát hiện. Tác vụ này thường được thực hiện với hình ảnh được chụp theo trình tự hoặc nguồn cấp dữ liệu video thời gian thực. Ví dụ, xe tự hành không chỉ cần phân loại và phát hiện các đối tượng như người đi bộ, xe ô tô khác và cơ sở hạ tầng đường bộ mà còn cần theo dõi chuyển động của chúng để tránh va chạm và tuân thủ luật giao thông.
- Truy xuất hình ảnh dựa trên nội dung
Sử dụng thị giác máy tính để duyệt, tìm kiếm và truy xuất hình ảnh từ các kho dữ liệu lớn, dựa trên nội dung của hình ảnh chứ không phải các thẻ siêu dữ liệu được liên kết với chúng. Tác vụ này có thể kết hợp chú thích hình ảnh tự động thay thế việc gắn thẻ hình ảnh thủ công. Các tác vụ này có thể được sử dụng cho các hệ thống quản lý tài sản kỹ thuật số và có thể tăng độ chính xác của việc tìm kiếm và truy xuất.
Bình luận