Thị giác máy tính (Computer Vision) là gì?

Thị giác máy tính là một lĩnh vực trong Artificial Intelligence và Computer Science (Trí tuệ nhân tạo và Khoa học máy tính) nhằm giúp máy tính có đượ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 được như cách con người nhìn là không đơn giản, không chỉ vì khó tạo ra một chiếc máy như vậy mà ngay cả chúng ta cũng chưa thực sự hiểu cách thức hoạt động của quá trình nhìn.

Không ai cho rằng việc này là dễ dàng, có lẽ ngoại trừ người tiên phong trong lĩnh vực AI Marvin Minsky, vào năm 1966 nổi tiếng vì đã hướng dẫn sinh viên của mình “nối camera tới máy tính và để nó mô tả những gì nó thấy”. Nhưng đó đã là 50 năm trước và bây giờ việc nghiên cứu vẫn còn dở dang.

Quà trình mô phỏng thị giác con người này được chia thành 3 giai đoạn nối tiếp (tương tự cách con người nhìn): mô phỏng mắt (thu nhận - khó), mô phỏng vỏ não thị giác (xử lý - rất khó) và mô phỏng phần còn lại của bộ não (phân tích - khó nhất).

Thu nhận

Mô phỏng mắt là lĩnh vực chúng ta đạt được nhiều thành công nhất. Vài chục năm qua, con người đã tạo ra các cảm biến, vi xử lý hình ảnh giống (và ở mức độ nào đó còn tốt hơn) khả năng nhìn của mắt người.

Những thấu kính lớn hơn, hoàn hảo về mặt quang học cùng các điểm ảnh phụ bán dẫn nhỏ tới mức nano mét giúp các camera ngày nay có độ chính xác và nhạy đáng kinh ngạc. Camera có thể chụp hàng ngàn ảnh mỗi giây và nhận diện từ xa với độ chính xác cao.

Dù độ trung thực cao, những thiết bị này cũng không hơn máy ảnh chụp qua lỗ kim của thế kỉ 19 là bao. Chúng chỉ đơn thuần ghi lại cách phân bố photon theo hướng định sẵn. Cảm biến camera tốt nhất cũng không thể nhận diện được một quả bóng chứ đừng nói là bắt được chúng.

Nói cách khác, phần cứng bị giới hạn khi không có phần mềm - đến giờ vẫn là khó khăn lớn nhất. Tuy vậy, camera ngày nay cũng khá linh hoạt và làm nền tảng tốt để nghiên cứu.

Mô tả

Bộ não được xây dựng từ con số 0 với các hình ảnh dần dần lấp đầy tâm trí, nó làm nhiệm vụ liên quan tới thị giác nhiều hơn bất kì công việc nào khác và việc này đều xuống tới cấp độ tế bào. Hàng tỉ tế bào phối hợp để lấy ra các hình mẫu, bắt được tín hiệu.

Một nhóm nơ-ron sẽ báo cho nhóm khác khi có sự khác biệt dọc theo một đường thẳng (theo một góc nào đó, như chuyển động nhanh hơn hay theo một hướng khác). Mạng thần kinh cấp cao tổng hợp các hình mẫu này tạo thành siêu-hình mẫu: hình tròn, chuyển động lên trên. Các thông tin khác sẽ dần được bổ sung: đường tròn màu trắng, đường thẳng màu đó, kích thước tăng dần… Hình ảnh sẽ dẫn hiện ra khi các thông tin được thêm mới.

Biểu đồ mô tả đường hướng, tìm đường viền và các đặc điểm khác trong vùng hình ảnh của não
Biểu đồ mô tả đường hướng, tìm đường viền và các đặc điểm khác trong vùng hình ảnh của não

Nghiên cứu đầu tiên về thị giác máy tính cho rằng mạng lưới nơ-ron phức tạp tới nỗi không thể hiểu nổi khi tiếp cận theo hướng lý giải từ trên xuống dưới: cuốn sách trông như thế này > vậy sẽ có hình mẫu này > nếu không thì sẽ trông như thế này…

Với một số đối tượng thì cách này cũng hiệu quả nhưng khi mô tả từng đối tượng, từ nhiều góc nhìn, nhiều biến thể về màu sắc, chuyển động và nhiều thứ khác thì hãy hình dung sẽ khó thế nào. Ngay cả mức nhận thức của một em bé cũng sẽ cần lượng dữ liệu lớn vô cùng.

Cách tiếp cận từ dưới lên bắt chước cách não bộ hoạt động có vẻ hứa hẹn hơn. Máy tính có thể áp dụng chuỗi chuyển hóa lên hình ảnh và tìm ra các đường viền, đối tượng mà nó ám chỉ, góc nhìn, chuyển động… Quá trình này cần nhiều con số tính toán và thống kê nhưng cũng chỉ bằng số hình ảnh mà nó từng được dạy - cũng như trên não người.

Nhận thức hình ảnh của máy tính
Nhận thức hình ảnh của máy tính

Hình ảnh trên (từ E-lab của đại học Purdue) cho thấy một máy tính hiển thị (theo tính toán của nó) các đối tượng được tô sáng có vẻ ngoài và tính chất như các ví dụ khác về đối tượng đó, theo một mức độ chắc chắn nào đó về thống kê.

Những người ủng hộ cách tiếp cận này có thể nói “Tôi đã bảo mà” cho tới những năm gần đây, việc tạo ra và vận hành các mạng nơ-ron nhân tạo rất khó khăn do lượng tính toán quá lớn. Tiến bộ trong việc tính toán song song đã giảm bớt khó khăn này. Những năm qua chứng kiến sự bùng nổ của các nghiên cứu và sử dụng hệ thống này trong việc bắt chước não người. Quá trình nhận diện hình mẫu vẫn đang tăng tốc và chúng ta vẫn liên tục đạt được tiến bộ.

Thấu hiểu

Tất nhiên bạn vẫn có thể xây dựng một hệ thống nhận diện được một quả táo, từ bất cứ góc nào, trong bất kì tình huống nào, dù đứng im hay chuyển động, dù bị cắn hay còn nguyên, nhưng vẫn không thể nhận diện được một quả cam.

Nó cũng không thể nói cho bạn quả táo là gì, có ăn được không, lớn nhỏ ra sao hay dùng để làm gì. Nghĩa là ngay cả phần cứng và phần mềm tốt cũng không làm được gì nếu không có hệ điều hành.

Đó chính là phần còn lại của bộ não: bộ nhớ ngắn/dài hạn, dữ liệu từ các giác quan, sự chú ý, nhận thức, bài học khi tương tác với thế giới… được viết lên mạng lưới nơ-ron kết nối phức tạp hơn bất cứ thứ gì chúng ta từng thấy, theo cách mà chúng ta không thể hiểu.

Đó là nơi mà khoa học máy tính và trí tuệ nhân tạo gặp mặt. Giữa các nhà khoa học máy tính, kỹ sư, tâm lý học, khoa học thần kinh, triết gia vẫn chưa thể có được định nghĩa về cách trí não hoạt động, chứ chưa nói tới việc mô phỏng.

Dù mới trong thời kì sơ khai, thị giác máy tính vẫn vô cùng hữu ích. Nó có mặt trong camera nhận diện khuôn mặt (Face ID) và nụ cười của bạn. Nó giúp xe tự lái nhận diện biển báo, người đi đường. Nó nằm trong các robot trong nhà máy, nhận diện sản phẩm, truyền cho con người.

Con đường đi còn dài mới tới ngày chúng nhìn được như con người nhưng trên con đường đó, những việc chúng làm cũng là rất đáng kinh ngạc rồi.

Xem thêm:

Thứ Sáu, 20/07/2018 14:51
4,73 👨 9.517
0 Bình luận
Sắp xếp theo
    ❖ Kiến thức cơ bản