sơ khai Phân loại hình ảnh hoạt động như thế nào? - Đoàn kết.AI
Kết nối với chúng tôi
Lớp học AI:

AI 101

Phân loại hình ảnh hoạt động như thế nào?

mm
cập nhật on

Làm cách nào điện thoại của bạn có thể xác định đối tượng là gì chỉ bằng cách chụp ảnh đối tượng đó? Làm cách nào để các trang web truyền thông xã hội tự động gắn thẻ mọi người trong ảnh? Điều này được thực hiện thông qua nhận dạng và phân loại hình ảnh do AI cung cấp.

Việc nhận dạng và phân loại hình ảnh là điều tạo ra nhiều thành tựu ấn tượng nhất của trí tuệ nhân tạo. Tuy nhiên, làm thế nào để máy tính học cách phát hiện và phân loại hình ảnh? Trong bài viết này, chúng tôi sẽ đề cập đến các phương pháp chung mà máy tính sử dụng để diễn giải và phát hiện hình ảnh, sau đó xem xét một số phương pháp phổ biến nhất để phân loại các hình ảnh đó.

Phân loại theo cấp độ pixel so với phân loại dựa trên đối tượng

Kỹ thuật phân loại hình ảnh chủ yếu có thể được chia thành hai loại khác nhau: phân loại dựa trên pixel và phân loại dựa trên đối tượng.

Điểm ảnh là đơn vị cơ bản của hình ảnh và việc phân tích điểm ảnh là cách chính để thực hiện phân loại hình ảnh. Tuy nhiên, các thuật toán phân loại có thể chỉ sử dụng thông tin phổ trong các pixel riêng lẻ để phân loại hình ảnh hoặc kiểm tra thông tin không gian (các pixel lân cận) cùng với thông tin phổ. Các phương pháp phân loại dựa trên pixel chỉ sử dụng thông tin phổ (cường độ của pixel), trong khi các phương pháp phân loại dựa trên đối tượng tính đến cả thông tin phổ pixel và thông tin không gian.

Có các kỹ thuật phân loại khác nhau được sử dụng để phân loại dựa trên pixel. Chúng bao gồm khoảng cách tối thiểu đến trung bình, khả năng tối đa và khoảng cách Mahalanobis tối thiểu. Các phương pháp này yêu cầu phải biết phương tiện và phương sai của các lớp và tất cả chúng đều hoạt động bằng cách kiểm tra “khoảng cách” giữa phương tiện của lớp và pixel mục tiêu.

Các phương pháp phân loại dựa trên pixel bị giới hạn bởi thực tế là chúng không thể sử dụng thông tin từ các pixel lân cận khác. Ngược lại, các phương pháp phân loại dựa trên đối tượng có thể bao gồm các pixel khác và do đó chúng cũng sử dụng thông tin không gian để phân loại các mục. Lưu ý rằng "đối tượng" chỉ đề cập đến các vùng pixel liền kề chứ không phải liệu có đối tượng mục tiêu trong vùng pixel đó hay không.

Tiền xử lý dữ liệu hình ảnh để phát hiện đối tượng

Các hệ thống phân loại hình ảnh đáng tin cậy và gần đây nhất chủ yếu sử dụng các sơ đồ phân loại cấp độ đối tượng và đối với các cách tiếp cận này, dữ liệu hình ảnh phải được chuẩn bị theo những cách cụ thể. Các đối tượng/vùng cần được chọn và xử lý trước.

Trước khi một hình ảnh và các đối tượng/vùng trong hình ảnh đó có thể được phân loại, dữ liệu bao gồm hình ảnh đó phải được máy tính giải thích. Hình ảnh cần được xử lý trước và sẵn sàng để đưa vào thuật toán phân loại và việc này được thực hiện thông qua phát hiện đối tượng. Đây là một phần quan trọng trong việc chuẩn bị dữ liệu và hình ảnh để huấn luyện bộ phân loại học máy.

Phát hiện đối tượng được thực hiện với một loạt các phương pháp và kỹ thuật. Để bắt đầu, việc có nhiều đối tượng quan tâm hay chỉ một đối tượng quan tâm ảnh hưởng đến cách xử lý tiền xử lý hình ảnh. Nếu chỉ có một đối tượng quan tâm, hình ảnh sẽ được bản địa hóa hình ảnh. Các pixel bao gồm hình ảnh có các giá trị số được máy tính diễn giải và được sử dụng để hiển thị màu sắc và sắc thái phù hợp. Một đối tượng được gọi là hộp giới hạn được vẽ xung quanh đối tượng quan tâm, giúp máy tính biết phần nào của hình ảnh là quan trọng và giá trị pixel nào xác định đối tượng. Nếu có nhiều đối tượng quan tâm trong ảnh, một kỹ thuật được gọi là phát hiện đối tượng được sử dụng để áp dụng các hộp giới hạn này cho tất cả các đối tượng trong ảnh.

Ảnh: Adrian Rosebrock qua Wikimedia Commons, CC BY SA 4.0 (https://commons.wikimedia.org/wiki/File:Intersection_over_Union_-_object_detection_bounding_boxes.jpg)

Một phương pháp tiền xử lý khác là phân đoạn ảnh. Chức năng phân đoạn hình ảnh bằng cách chia toàn bộ hình ảnh thành các phân đoạn dựa trên các tính năng tương tự. Các vùng khác nhau của hình ảnh sẽ có các giá trị pixel tương tự so với các vùng khác của hình ảnh, vì vậy các pixel này được nhóm lại với nhau thành các mặt nạ hình ảnh tương ứng với hình dạng và ranh giới của các đối tượng có liên quan trong hình ảnh. Phân đoạn hình ảnh giúp máy tính cô lập các tính năng của hình ảnh sẽ giúp nó phân loại một đối tượng, giống như các hộp giới hạn, nhưng chúng cung cấp các nhãn ở cấp độ pixel, chính xác hơn nhiều.

Sau khi quá trình phát hiện đối tượng hoặc phân đoạn hình ảnh hoàn tất, nhãn sẽ được áp dụng cho các vùng được đề cập. Các nhãn này được đưa vào, cùng với các giá trị của các pixel bao gồm đối tượng, vào các thuật toán học máy sẽ tìm hiểu các mẫu được liên kết với các nhãn khác nhau.

Thuật toán học máy

Khi dữ liệu đã được chuẩn bị và gắn nhãn, dữ liệu sẽ được đưa vào thuật toán học máy, thuật toán này sẽ huấn luyện dữ liệu. Chúng tôi sẽ đề cập đến một số loại máy học phổ biến nhất thuật toán phân loại ảnh phía dưới.

K-Những người hàng xóm gần nhất

K-Nearest Neighbors là một thuật toán phân loại kiểm tra các ví dụ huấn luyện gần nhất và xem xét các nhãn của chúng để xác định nhãn có thể xảy ra nhất cho một ví dụ kiểm tra nhất định. Khi nói đến phân loại hình ảnh bằng KNN, các vectơ đặc trưng và nhãn của hình ảnh đào tạo được lưu trữ và chỉ vectơ đặc trưng được chuyển vào thuật toán trong quá trình thử nghiệm. Sau đó, các vectơ đặc trưng đào tạo và kiểm tra được so sánh với nhau để tìm sự tương đồng.

Các thuật toán phân loại dựa trên KNN cực kỳ đơn giản và chúng xử lý nhiều lớp khá dễ dàng. Tuy nhiên, KNN tính toán mức độ tương tự dựa trên tất cả các tính năng như nhau. Điều này có nghĩa là nó có thể dễ bị phân loại sai khi được cung cấp các hình ảnh trong đó chỉ một tập hợp con các đặc điểm quan trọng đối với việc phân loại hình ảnh.

Hỗ trợ Máy Vector

Support Vector Machines là một phương pháp phân loại đặt các điểm trong không gian và sau đó vẽ các đường phân chia giữa các điểm, đặt các đối tượng vào các lớp khác nhau tùy thuộc vào phía của mặt phẳng phân chia mà các điểm rơi vào. Máy Vector hỗ trợ có khả năng thực hiện phân loại phi tuyến thông qua việc sử dụng một kỹ thuật được gọi là thủ thuật hạt nhân. Mặc dù các bộ phân loại SVM thường rất chính xác, nhưng một nhược điểm đáng kể đối với các bộ phân loại SVM là chúng có xu hướng bị giới hạn bởi cả kích thước và tốc độ, với tốc độ bị ảnh hưởng khi kích thước tăng lên.

Perceptron nhiều lớp (Mạng lưới thần kinh)

Perceptron nhiều lớp, còn được gọi là mô hình mạng thần kinh, là các thuật toán học máy lấy cảm hứng từ bộ não con người. Perceptron đa lớp bao gồm nhiều lớp khác nhau được liên kết với nhau, giống như các tế bào thần kinh trong não người được liên kết với nhau. Mạng lưới thần kinh đưa ra các giả định về cách các tính năng đầu vào có liên quan đến các lớp của dữ liệu và các giả định này được điều chỉnh trong quá trình đào tạo. Các mô hình mạng thần kinh đơn giản như perceptron nhiều lớp có khả năng học các mối quan hệ phi tuyến tính và kết quả là chúng có thể chính xác hơn nhiều so với các mô hình khác. Tuy nhiên, các mô hình MLP gặp phải một số vấn đề đáng chú ý như sự hiện diện của các hàm mất mát không lồi.

Thuật toán học sâu (CNN)

Ảnh: APhex34 qua Wikimedia Commons, CC BY SA 4.0 (https://commons.wikimedia.org/wiki/File:Typical_cnn.png)

Thuật toán phân loại hình ảnh được sử dụng phổ biến nhất trong thời gian gần đây là Mạng thần kinh chuyển đổi (CNN). CNN là phiên bản tùy chỉnh của mạng nơ-ron kết hợp mạng nơ-ron nhiều lớp với các lớp chuyên biệt có khả năng trích xuất các tính năng quan trọng nhất và phù hợp nhất với việc phân loại đối tượng. CNN có thể tự động khám phá, tạo và tìm hiểu các đặc điểm của hình ảnh. Điều này giúp giảm đáng kể nhu cầu gắn nhãn và phân đoạn hình ảnh theo cách thủ công để chuẩn bị cho các thuật toán học máy. Chúng cũng có lợi thế hơn mạng MLP vì chúng có thể xử lý các hàm mất mát không lồi.

Convolutional Neural Networks lấy tên của chúng từ thực tế là chúng tạo ra các “tích chập”. CNN hoạt động bằng cách lấy một bộ lọc và trượt nó trên một hình ảnh. Bạn có thể coi đây là việc xem các phần của phong cảnh thông qua một cửa sổ có thể di chuyển, chỉ tập trung vào các tính năng có thể xem được qua cửa sổ bất kỳ lúc nào. Bộ lọc chứa các giá trị số được nhân với giá trị của chính các pixel. Kết quả là một khung hoặc ma trận mới có đầy đủ các số đại diện cho hình ảnh gốc. Quá trình này được lặp lại đối với một số bộ lọc đã chọn, sau đó các khung hình được nối với nhau thành một hình ảnh mới nhỏ hơn và ít phức tạp hơn một chút so với hình ảnh ban đầu. Một kỹ thuật gọi là tổng hợp được sử dụng để chỉ chọn các giá trị quan trọng nhất trong hình ảnh và mục tiêu là để các lớp tích chập cuối cùng chỉ trích xuất những phần nổi bật nhất của hình ảnh sẽ giúp mạng thần kinh nhận dạng các đối tượng trong hình ảnh.

Mạng lưới thần kinh chuyển đổi được bao gồm hai phần khác nhau. Các lớp tích chập là thứ trích xuất các đặc điểm của hình ảnh và chuyển đổi chúng thành định dạng mà các lớp mạng thần kinh có thể diễn giải và học hỏi từ đó. Các lớp tích chập ban đầu chịu trách nhiệm trích xuất các thành phần cơ bản nhất của hình ảnh, như các đường và ranh giới đơn giản. Các lớp chập ở giữa bắt đầu chụp các hình dạng phức tạp hơn, chẳng hạn như các đường cong và góc đơn giản. Các lớp tích chập sau, sâu hơn trích xuất các tính năng cấp cao của hình ảnh, đó là những gì được truyền vào phần mạng thần kinh của CNN và là những gì bộ phân loại học được.

Blogger và lập trình viên có chuyên môn về Machine Learning Học kĩ càng chủ đề. Daniel hy vọng sẽ giúp những người khác sử dụng sức mạnh của AI vì lợi ích xã hội.