Chuyển đến nội dung chính

Máy tính nhận diện hình ảnh như thế nào?

Tác giả

  • A

    AIWin

Ngày đăng

Chuyên mục liên ngành

Biên tập và tác giả: Aaron Lin (林耿呈), CEO, AIWin Technology Co., Ltd.

Năm 2017, Apple ra mắt mẫu "iPhone X" kỷ niệm 10 năm điện thoại iPhone; iPhone X chính là sản phẩm dùng Face ID thay cho Touch ID, có thể nói là cột mốc mới trong ứng dụng thực tế của nhận dạng khuôn mặt (Face Recognition). Nói về nhận dạng khuôn mặt thì đây không còn là công nghệ gì mới, nhưng qua sự định nghĩa lại của Apple, nó có được khả năng ứng dụng mới — đó cũng chính là sở trường của Apple. Nhận dạng khuôn mặt là một trong những ứng dụng của nhận dạng hình ảnh, chủ yếu là dùng camera (Camera) và ống kính (Lens) để tạo ảnh vào thiết bị (Device), rồi thông qua thuật toán (Algorithm) xử lý ảnh (Image Processing) chuyển thông tin hình ảnh thành thông tin hữu ích. Nghe có vẻ chẳng có gì, nhưng quá trình vận hành thực tế lại rất phức tạp; tác giả sẽ lần lượt giải thích dưới đây.

Hình ảnh trong máy tính

Nhận dạng hình ảnh, nói đơn giản, là thu ảnh bằng camera rồi thông qua chương trình máy tính tính toán, cuối cùng từ hình ảnh tiến hành xử lý, phân tích, đo lường và diễn giải ra những thông tin hữu ích về thực thể đó. Trong thế giới máy tính, mọi thứ đều là dữ liệu 0 và 1, và một bức ảnh hoàn toàn là tổ hợp dày đặc của 0 và 1; máy tính hoàn toàn không hiểu ý nghĩa bên trong, không giống con người chúng ta — nhờ việc học và nhận thức từ nhỏ, chúng ta có thể nhanh chóng từ mắt kết nối ngay tới não và liên tưởng ra thứ đang nhìn thấy là gì, nhưng máy tính thì hoàn toàn không làm được. Vì vậy, các nhà khoa học đã phát triển một số thuật toán xử lý ảnh để những tổ hợp 0 và 1 lưu trong máy tính có được ý nghĩa. Với hình ảnh trong thế giới máy tính, đơn vị nhỏ nhất tạo nên kích thước hình ảnh được gọi là điểm ảnh (Pixel); mỗi điểm ảnh được tạo thành từ ba màu cơ bản R (đỏ), G (lục), B (lam), mỗi màu cơ bản phần lớn dùng 8 bit, do đó là giá trị mức xám phân bố từ 0 đến 255; thông qua biểu hiện mức xám khác nhau của các màu cơ bản mà thể hiện màu sắc đa dạng. Mỗi hình ảnh đều được tạo thành từ các điểm ảnh theo dạng 2D, ví dụ các độ phân giải thường gặp như 640X460, 800X600, v.v. — đây đều là cách biểu thị kích thước hình ảnh.

Máy tính hiểu hình ảnh như thế nào: từ điểm ảnh đến nhận diện (Hình 1)

Một bức ảnh được tạo thành từ nhiều điểm ảnh

Thuật toán nhận dạng hình ảnh

Trong các thuật toán nhận dạng hình ảnh, thường gặp có: tiền xử lý (Image Pre-⁠processing), phân đoạn ảnh (Image Segmentation), biểu diễn và mô tả (Image Representation and Description) và nhận dạng đối tượng (Object Recognition). Tiền xử lý là tăng cường chất lượng hình ảnh, thường gặp có làm rõ ảnh, tăng cường biên (Edge Enhancement), tăng cường độ sáng và độ bão hòa, v.v.; sau các bước tiền xử lý này, vật thể mà ta muốn bắt trong ảnh có thể được làm nổi bật rõ ràng. Tiếp theo là phân đoạn ảnh: do tiền xử lý đã làm nổi bật vật thể mong muốn trên thang mức xám, ta có thể dùng phương pháp nhị phân hóa (Thresholding) để tách vật thể ra; vật thể được tách ra sẽ đi vào bước biểu diễn và mô tả đặc trưng, cuối cùng phân loại (Classification) các đặc trưng này để đạt được hiệu quả nhận dạng. Lấy nhận dạng khuôn mặt làm ví dụ: tiền xử lý là điều chỉnh những ảnh khuôn mặt quá sáng hoặc quá tối, sau đó dùng dải mức xám của màu da để nhị phân hóa, tách phần khuôn mặt ra; tiếp theo bắt lấy đặc trưng của mắt và miệng, mô tả khoảng cách tương ứng, lấy những khoảng cách này làm đặc trưng nhận dạng cá nhân; cuối cùng đối chiếu và phân loại với cơ sở dữ liệu là có thể nhận dạng được danh tính của người đó.

Máy tính hiểu hình ảnh như thế nào: từ điểm ảnh đến nhận diện (Hình 2)

Nhận diện đối tượng khả nghi

Ứng dụng của nhận dạng hình ảnh

Ngoài nhận dạng khuôn mặt, nhận dạng hình ảnh còn được dùng trong rất nhiều lĩnh vực, như cải thiện chất lượng ảnh vệ tinh, ảnh y khoa, phục dựng ảnh cũ; trong ứng dụng mỹ thuật có thiết kế áp phích, làm phim hoạt hình, kỹ xảo điện ảnh; trong đo lường kích thước có chiều dài, chiều rộng, đường kính, diện tích, thể tích, hình dạng, khoảng cách giữa các linh kiện; trong các ứng dụng đếm có đếm tiền, đếm tế bào soma, đếm vi sinh vật, đếm cá giống; trong lĩnh vực nhận dạng tự động có kiểm tra phân cấp sản phẩm, kiểm tra lỗi sản phẩm, giám định vi sinh vật, đối chiếu vân tay, theo dõi vật thể chuyển động; trong ứng dụng định vị có tính toán tọa độ 2D hoặc 3D của mục tiêu, tái dựng hình ảnh, thực tế ảo, v.v. — vô cùng đa dạng. Và trong vài năm gần đây, với những đột phá về công nghệ trí tuệ nhân tạo (Artificial Intelligence) và học sâu (Deep Learning), các ứng dụng trên cũng có bước đột phá về độ chính xác, đồng thời sinh ra nhiều kiểu ứng dụng mới; tương lai có dịp chúng ta sẽ bàn kỹ hơn về trí tuệ nhân tạo và học sâu.

Máy tính hiểu hình ảnh như thế nào: từ điểm ảnh đến nhận diện (Hình 3)

Kiểm tra sản phẩm dệt may

Máy tính hiểu hình ảnh như thế nào: từ điểm ảnh đến nhận diện (Hình 4)

Kiểm tra lỗi dây giày

Máy tính hiểu hình ảnh như thế nào: từ điểm ảnh đến nhận diện (Hình 5)

Nhận dạng hình ảnh xe phía trước