Nền tảng AI

Làm Thế Nào Để Phân Loại Hình Ảnh Hoạt Động?

mm
Thêm Unite.AI vào các nguồn ưu tiên của bạn trên Google

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

Việc nhận dạng và phân loại hình ảnh là điều cho phép 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 để giải thích và phát hiện hình ảnh, sau đó chúng tôi sẽ xem xét một số phương pháp phân loại hình ảnh phổ biến nhất.

Phân Loại Cấp Pixel So Với Phân Loại Dựa Trên Đối Tượng

Các kỹ thuật phân loại hình ảnh có thể chủ yếu đượ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.

Pixel là đơn vị cơ bản của hình ảnh, và phân tích pixel là phương pháp chính mà phân loại hình ảnh được thực hiện. Tuy nhiên, các thuật toán phân loại có thể sử dụng chỉ thông tin phổ của từng pixel để phân loại hình ảnh hoặc kiểm tra thông tin không gian (các pixel gầ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ổ (độ sáng của pixel), trong khi các phương pháp phân loại dựa trên đối tượng xem xét cả thông tin phổ của 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 cho phân loại dựa trên pixel. Những kỹ thuật này 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 tối thiểu Mahalanobis. Những phương pháp này yêu cầu rằng trung bình và phương sai của các lớp được biết, và chúng đều hoạt động bằng cách kiểm tra “khoảng cách” giữa trung bình của lớp và pixel mục tiêu.

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 gần đó. 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 tục và không phải là liệu có một đối tượng mục tiêu trong vùng pixel đó hay không.

Trước 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 mới nhất và đáng tin cậy nhất chủ yếu sử dụng các lược đồ phân loại cấp độ đối tượng, và đối với những phương pháp này, dữ liệu hình ảnh phải được chuẩn bị theo các cách cụ thể. Các đối tượng / khu vực cần được chọn và xử lý trước.

Trước khi một hình ảnh và các đối tượng / khu vực trong hình ảnh đó có thể được phân loại, dữ liệu cấu thành hình ảnh phải được giải thích bởi máy tính. Hình ảnh cần được xử lý trước và chuẩn bị để đưa vào thuật toán phân loại, và điều 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 của việc chuẩn bị dữ liệu và chuẩn bị hình ảnh để đào tạo phân loại器 học máy.

Phát hiện đối tượng được thực hiện bằng các phương pháp và kỹ thuật khác nhau. Đầu tiên, liệu có một đối tượng quan tâm duy nhất hay nhiều đối tượng quan tâm ảnh hưởng đến cách xử lý trước hình ảnh được xử lý. Nếu chỉ có một đối tượng quan tâm, hình ảnh sẽ trải qua quá trình định vị hình ảnh. Các pixel tạo nên hình ảnh có giá trị số được giải thích bởi máy tính và được sử dụng để hiển thị màu sắc và sắc thái chính xác. 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 hình ảnh, một kỹ thuật 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 hình ả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 xử lý trước khác là phân đoạn hình ảnh. Phân đoạn hình ảnh hoạt động bằng cách chia toàn bộ hình ảnh thành các đoạn dựa trên các tính năng tương tự. Các khu vực khác nhau của hình ảnh sẽ có giá trị pixel tương tự so với các khu vực khác của hình ảnh, vì vậy những 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 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 đối tượng, tương tự như các hộp giới hạn, nhưng chúng cung cấp các nhãn pixel chính xác hơn.

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

Thuật Toán Học Máy

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

K-Nearest Neighbors

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

Các thuật toán phân loại dựa trên KNN rất đơn giản và chúng xử lý nhiều lớp khá dễ dàng. Tuy nhiên, KNN tính toán sự tương tự dựa trên tất cả các tính năng đều 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 mà chỉ một tập hợp con của các tính năng là quan trọng cho việc phân loại hình ảnh.

Machine Vector Hỗ Trợ

Machine Vector Hỗ Trợ 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 chia cách 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 nào của mặt phẳng chia cách mà các điểm nằm. Máy Vector Hỗ Trợ có khả năng thực hiện phân loại không tuyến tính thông qua một kỹ thuật gọi là trick nhân. Trong khi các phân loại器 Máy Vector Hỗ Trợ thường rất chính xác, một hạn chế đáng kể của các phân loại器 Máy Vector Hỗ Trợ là chúng thườ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.

Perceptron Đa Lớp (Mạng Nơ-Ron)

Perceptron đa lớp, cũng được gọi là mô hình mạng nơ-ron, là các thuật toán học máy được lấy cảm hứng từ não bộ con người. Perceptron đa lớp được tạo thành từ nhiều lớp được kết nối với nhau, giống như các nơ-ron trong não bộ con người được liên kết với nhau. Mạng nơ-ron đưa ra các giả định về mối quan hệ giữa các tính năng đầu vào và các lớp của dữ liệu và những giả định này được điều chỉnh trong quá trình đào tạo. Các mô hình mạng nơ-ron đơn giản như perceptron đa lớp có khả năng học các mối quan hệ không tuyến tính, và do đó, chúng có thể chính xác hơn so với các mô hình khác. Tuy nhiên, 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 không lồi.

Thuật Toán Học Sâu (CNNs)

Ả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 Nơ-Ron Tích Chập (CNNs). CNNs là các phiên bản tùy chỉnh của mạng nơ-ron kết hợp mạng nơ-ron đa lớp với các lớp chuyên dụng có khả năng trích xuất các tính năng quan trọng nhất và liên quan đến việc phân loại đối tượng. CNNs có thể tự động khám phá, tạo và học các tính năng của hình ảnh. Điều này giảm đáng kể nhu cầu phải gắn nhãn và phân đoạn hình ảnh thủ công để chuẩn bị chúng cho các thuật toán học máy. Chúng cũng có lợi thế hơn các mạng nơ-ron MLP vì chúng có thể xử lý các hàm mất không lồi.

CNNs nhận được tên của chúng từ thực tế là chúng tạo ra “tích chập”. CNNs hoạt động bằng cách lấy một bộ lọc và trượt nó trên hình ảnh. Bạn có thể nghĩ về điều này như xem các phần của phong cảnh thông qua một cửa sổ di chuyển, tập trung vào chỉ các tính năng có thể nhìn thấy thông qua cửa sổ tại bất kỳ thời điểm nào. Bộ lọc chứa các giá trị số được nhân với giá trị của các pixel chính. Kết quả là một khung hình mới, hoặc ma trận, chứa đầy các số đại diện cho hình ảnh ban đầu. Quá trình này được lặp lại cho một số bộ lọc được chọn, và sau đó các khung hình được kết hợp thành một hình ảnh mới nhỏ hơn và ít phức tạp hơn hình ảnh ban đầu. Một kỹ thuật gọi là pooling được sử dụng để chọn chỉ 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 trích xuất chỉ các phần quan trọng nhất của hình ảnh sẽ giúp mạng nơ-ron nhận ra các đối tượng trong hình ảnh.

CNNs gồm hai phần khác nhau. Các lớp tích chập là những gì trích xuất các tính năng của hình ảnh và chuyển đổi chúng thành định dạng mà các lớp mạng nơ-ron có thể giải thích và học từ. Các lớp tích chập sớm chịu trách nhiệm trích xuất các yếu tố 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 tích chập giữa bắt đầu bắt các hình dạng phức tạp hơn, như các đường cong và góc đơn giản. Các lớp tích chập sâu hơn, sau này trích xuất các tính năng cấp cao của hình ảnh, những tính năng này được đưa vào phần mạng nơ-ron của CNN, và chúng là những gì mà phân loại器 học. The middle convolutional layers begin to capture more complex shapes, like simple curves and corners. The later, deeper convolutional layers extract the high-level features of the image, which are what is passed into the neural network portion of the CNN, and are what the classifier learns. simple lines and boundaries. The middle convolutional layers begin to capture more complex shapes, like simple curves and corners. The later, deeper convolutional layers extract the high-level features of the image, which are what is passed into the neural network portion of the CNN, and are what the classifier learns.

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