Thị giác máy tính đã trở nên phổ biến trong xã hội của chúng ta, với các ứng dụng tìm kiếm, hiểu hình ảnh, ứng dụng, lập bản đồ, y học, máy bay không người lái và xe hơi tự lái. Cốt lõi của nhiều ứng dụng này là các nhiệm vụ nhận dạng trực quan như phân loại hình ảnh, bản địa hóa và phát hiện. Những phát triển gần đây trong phương pháp tiếp cận mạng nơ-ron (hay còn gọi là “học sâu”) đã nâng cao đáng kể hiệu suất của các hệ thống nhận dạng hình ảnh hiện đại này.
Thị giác máy tính là lĩnh vực khoa học máy tính tập trung vào việc tái tạo các phần phức tạp của hệ thống thị giác con người và cho phép máy tính xác định và xử lý các đối tượng trong hình ảnh và video giống như cách con người làm. Cho đến gần đây, thị giác máy tính chỉ hoạt động trong khả năng hạn chế.
Nhờ những tiến bộ trong trí tuệ nhân tạo và những đổi mới trong học sâu và mạng nơ-ron, lĩnh vực này đã có những bước tiến nhảy vọt trong những năm gần đây và có thể vượt qua con người trong một số nhiệm vụ liên quan đến phát hiện và ghi nhãn các đối tượng.
Trước khi học sâu ra đời, các tác vụ mà thị giác máy tính có thể thực hiện rất hạn chế và đòi hỏi nhiều nỗ lực và mã hóa thủ công của các nhà phát triển và người vận hành. Ví dụ: nếu bạn muốn thực hiện nhận dạng khuôn mặt, bạn sẽ phải thực hiện các bước sau:
-
Tạo cơ sở dữ liệu: Bạn phải chụp các hình ảnh riêng lẻ của tất cả các đối tượng mà bạn muốn theo dõi ở một định dạng cụ thể.
-
Chú thích hình ảnh: Sau đó, đối với mỗi hình ảnh riêng lẻ, bạn sẽ phải nhập một số điểm dữ liệu chính, chẳng hạn như khoảng cách giữa hai mắt, chiều rộng của sống mũi, khoảng cách giữa môi trên và mũi và hàng chục phép đo khác xác định các đặc điểm riêng biệt của mỗi người.
-
Chụp ảnh mới: Tiếp theo, bạn sẽ phải chụp ảnh mới, cho dù từ ảnh chụp hay nội dung video. Và sau đó bạn phải thực hiện lại quá trình đo lường, đánh dấu các điểm chính trên hình ảnh. Bạn cũng phải tính đến góc ảnh được chụp.
Sau tất cả công việc thủ công này, ứng dụng cuối cùng sẽ có thể so sánh các phép đo trong hình ảnh mới với các phép đo được lưu trữ trong cơ sở dữ liệu của nó và cho bạn biết liệu nó có tương ứng với bất kỳ cấu hình nào mà nó đang theo dõi hay không. Trên thực tế, có rất ít sự tham gia của tự động hóa và hầu hết công việc được thực hiện thủ công. Và biên độ lỗi vẫn còn lớn.
Học máy cung cấp một cách tiếp cận khác để giải quyết các vấn đề về thị giác máy tính. Với học máy, các nhà phát triển không còn cần phải viết mã thủ công từng quy tắc vào các ứng dụng thị giác của họ nữa. Thay vào đó, họ lập trình “các tính năng”, các ứng dụng nhỏ hơn có thể phát hiện các mẫu cụ thể trong hình ảnh. giống như cách mà con người làm. Cho đến gần đây, thị giác máy tính chỉ hoạt động trong khả năng hạn chế.
Nhờ những tiến bộ trong trí tuệ nhân tạo và những đổi mới trong học sâu và mạng nơ-ron, lĩnh vực này đã có những bước tiến nhảy vọt trong những năm gần đây và có thể vượt qua con người trong một số nhiệm vụ liên quan đến phát hiện và ghi nhãn các đối tượng. Sau đó, họ sử dụng một thuật toán học thống kê như hồi quy tuyến tính, hồi quy logistic, cây quyết định hoặc máy vectơ hỗ trợ (SVM) để phát hiện các mẫu và phân loại hình ảnh và phát hiện các đối tượng trong đó.
Học máy đã giúp giải quyết nhiều vấn đề vốn là thách thức trong lịch sử đối với các công cụ và cách tiếp cận phát triển phần mềm cổ điển. Ví dụ, nhiều năm trước, các kỹ sư máy học đã có thể tạo ra một phần mềm có thể dự đoán thời gian sống sót của bệnh ung thư vú tốt hơn các chuyên gia về con người. Tuy nhiên, việc xây dựng các tính năng của phần mềm đòi hỏi nỗ lực của hàng chục kỹ sư và chuyên gia về ung thư vú và mất rất nhiều thời gian để phát triển.
Học sâu cung cấp một cách tiếp cận khác về cơ bản để thực hiện học máy. Học sâu dựa trên mạng nơ-ron, một chức năng có mục đích chung có thể giải quyết bất kỳ vấn đề nào có thể biểu diễn thông qua các ví dụ. Khi bạn cung cấp một mạng nơ-ron có nhiều ví dụ được gắn nhãn về một loại dữ liệu cụ thể, nó sẽ có thể trích xuất các mẫu chung giữa các ví dụ đó và biến đổi nó thành một phương trình toán học giúp phân loại các phần thông tin trong tương lai.
Ví dụ: việc tạo ứng dụng nhận dạng khuôn mặt với học sâu chỉ yêu cầu bạn phát triển hoặc chọn một thuật toán được cấu trúc sẵn và đào tạo nó với các ví dụ về khuôn mặt của những người mà nó phải phát hiện. Đưa ra đủ ví dụ (rất nhiều ví dụ), mạng nơ-ron sẽ có thể phát hiện khuôn mặt mà không cần hướng dẫn thêm về các tính năng hoặc phép đo.
Học sâu là một phương pháp rất hiệu quả để thực hiện thị giác máy tính. Trong hầu hết các trường hợp, việc tạo ra một thuật toán học sâu tốt là để thu thập một lượng lớn dữ liệu đào tạo được gắn nhãn và điều chỉnh các tham số như loại và số lớp của mạng nơ-ron và kỷ nguyên đào tạo. So với các loại học máy trước đây, học sâu vừa dễ dàng hơn vừa nhanh hơn để phát triển và triển khai.
Hầu hết các ứng dụng thị giác máy tính hiện nay như phát hiện ung thư, ô tô tự lái và nhận dạng khuôn mặt đều sử dụng học sâu. Học sâu và mạng nơ-ron sâu đã chuyển từ lĩnh vực khái niệm sang các ứng dụng thực tế nhờ tính khả dụng và những tiến bộ trong tài nguyên phần cứng và điện toán đám mây.