Phát hiện đối tượng (Object Detection) là một trong những công nghệ quan trọng trong lĩnh vực thị giác máy tính, giúp nhận diện và xác định các đối tượng cũng như vị trí của chúng trong hình ảnh hoặc video. Vậy Object Detection là gì? Trong bài viết sau, InterData sẽ giúp bạn tìm hiểu về phát hiện đối tượng, cách thức hoạt động, các loại mô hình phát hiện đối tượng, cũng như các mức độ và kiến trúc của nó. Hãy cùng tìm hiểu chi tiết về những ứng dụng và tiềm năng của công nghệ này trong cuộc sống và công việc hàng ngày.
Object Detection là gì?
Phát hiện đối tượng (Object Detection) là một giải pháp thị giác máy tính giúp nhận diện các đối tượng và vị trí của chúng trong một hình ảnh. Hệ thống phát hiện đối tượng sẽ trả về các tọa độ của các đối tượng trong hình ảnh mà nó đã được huấn luyện để nhận dạng. Hệ thống cũng sẽ trả về mức độ tin cậy, cho thấy độ chính xác mà hệ thống tin tưởng vào dự đoán của mình.

Object Detection được sử dụng để làm gì?
Phát hiện đối tượng có thể được sử dụng cho bất kỳ vấn đề nào mà bạn cần biết liệu một hình ảnh hoặc video có chứa một đối tượng cụ thể hoặc nhiều đối tượng và vị trí của chúng ở đâu. Bạn cũng có thể sử dụng phát hiện đối tượng khi bạn cần kiểm tra xem một vật thể có mặt trong hình ảnh hoặc video hay không.
Vì tính ứng dụng rộng rãi của nó, thị giác máy tính đã được sử dụng trong nhiều ngành công nghiệp. Sau đây là một số ngành công nghiệp đang sử dụng phát hiện đối tượng để giải quyết các vấn đề.
Ví dụ về các trường hợp sử dụng:
Trong nhiều trường hợp sử dụng, phát hiện đối tượng không phải là mục tiêu cuối cùng mà chỉ là một giai đoạn trong một nhiệm vụ thị giác máy tính lớn hơn.
Lái xe tự động
Các xe tự lái sử dụng rộng rãi công nghệ phát hiện đối tượng để nhận diện các vật thể như xe hơi và người đi bộ. Một ví dụ điển hình là hệ thống Autopilot AI của Tesla. Vì tốc độ của xe tự lái cao, những kiến trúc đơn giản như YOLO và SimpleNet rõ ràng là lý tưởng hơn cho việc lái xe tự động.
Chẩn đoán hình ảnh y tế
Phát hiện đối tượng có thể hỗ trợ trong các nhiệm vụ kiểm tra hình ảnh. Ví dụ, một lượng lớn nghiên cứu về phát hiện đối tượng đã điều tra các chỉ số và mô hình để nhận diện các dấu hiệu sinh lý của bệnh trong các hình ảnh y tế như X-quang và MRI.
Trong lĩnh vực này, nhiều nghiên cứu đã tập trung vào việc cải thiện sự mất cân bằng trong bộ dữ liệu do sự hiếm hoi của các hình ảnh y tế về bệnh.
An ninh
Giám sát video có thể sử dụng phát hiện đối tượng thời gian thực để theo dõi các vật thể liên quan đến tội phạm, chẳng hạn như súng hoặc dao trong video từ camera an ninh.
Bằng cách phát hiện những vật thể này, các hệ thống an ninh có thể dự đoán và ngăn chặn tội phạm. Các nhà nghiên cứu đã phát triển các thuật toán phát hiện súng bằng cách sử dụng cả R-CNN và YOLO.
Cách hoạt động của phát hiện đối tượng
Để hiểu cách thức hoạt động của phát hiện đối tượng, bạn cần có nền tảng về thị giác máy tính và xử lý hình ảnh kỹ thuật số nói chung. Phần này cung cấp một cái nhìn tổng quan về các khái niệm cơ bản.
Xử lý hình ảnh
Trong thị giác máy tính, hình ảnh được biểu diễn dưới dạng các hàm liên tục trên mặt phẳng tọa độ 2D, được ký hiệu là f(x,y). Khi số hóa, hình ảnh trải qua hai quá trình chính là lấy mẫu và lượng tử hóa, ngắn gọn là, chúng chuyển đổi chức năng hình ảnh liên tục thành cấu trúc lưới rời rạc của các phần tử pixel. Máy tính có thể chia một hình ảnh thành các vùng rời rạc dựa trên sự tương đồng về hình ảnh và sự gần nhau của các pixel.
Bằng cách gán nhãn cho các hình ảnh thông qua một giao diện chú thích, người dùng định nghĩa một đối tượng cụ thể dưới dạng một vùng với các đặc điểm pixel cụ thể (chẳng hạn như diện tích, giá trị xám, v.v.).
Khi nhận được một hình ảnh đầu vào, mô hình phát hiện đối tượng nhận diện các vùng có đặc điểm tương tự với những gì đã được định nghĩa trong bộ dữ liệu huấn luyện là cùng một đối tượng. Do đó, phát hiện đối tượng là một dạng nhận dạng mẫu.
Các mô hình phát hiện đối tượng không nhận diện đối tượng trực tiếp, mà thay vào đó nhận diện các tập hợp đặc điểm như kích thước, hình dạng, màu sắc, v.v., và phân loại các vùng theo các mẫu hình ảnh được suy ra từ dữ liệu huấn luyện được chú thích thủ công.
Ví dụ, một mô hình phát hiện đối tượng cho xe tự lái không nhận diện người đi bộ, mà nhận diện một tập hợp các đặc điểm tạo thành mẫu tổng quát đặc trưng cho đối tượng người đi bộ (như đã được định nghĩa trong dữ liệu huấn luyện).

Kiến trúc mô hình
Mặc dù các mô hình khác nhau sử dụng các kiến trúc khác nhau, các mô hình học sâu cho phát hiện đối tượng tuân theo một cấu trúc chung. Chúng bao gồm một phần nền tảng, cổ và đầu.
Nền tảng trích xuất các đặc điểm từ hình ảnh đầu vào. Thường thì nền tảng này được lấy từ một phần của mô hình phân loại đã được huấn luyện trước.
Quá trình trích xuất đặc điểm tạo ra nhiều bản đồ đặc điểm với độ phân giải khác nhau, sau đó phần nền tảng truyền chúng đến cổ. Phần cổ này kết hợp các bản đồ đặc điểm của mỗi hình ảnh. Kiến trúc này sau đó truyền các bản đồ đặc điểm theo lớp đến đầu, nơi mô hình dự đoán các hộp bao quanh và điểm số phân loại cho mỗi tập hợp đặc điểm.
Các bộ phát hiện hai giai đoạn tách biệt việc định vị đối tượng và phân loại trong đầu, trong khi các bộ phát hiện một giai đoạn kết hợp các nhiệm vụ này. Mô hình phát hiện hai giai đoạn thường mang lại độ chính xác định vị cao hơn, trong khi các bộ phát hiện một giai đoạn thực hiện nhanh hơn.
Đánh giá mô hình
Một chỉ số đánh giá phổ biến được sử dụng trong các mô hình phát hiện đối tượng là Intersection over Union (IoU). Một hộp bao quanh là hình vuông đầu ra xác định một đối tượng đã được phát hiện theo dự đoán của mô hình. IoU tính tỷ lệ diện tích giao nhau của hai hộp bao quanh (tức là diện tích các phần giao nhau của hai hộp) so với diện tích hợp nhất của chúng (tức là tổng diện tích của cả hai hộp).
Chúng ta có thể hình dung công thức này như sau:
Các mô hình sử dụng IoU để đo độ chính xác của dự đoán bằng cách tính toán IoU giữa một hộp dự đoán và hộp thực tế. Các kiến trúc mô hình cũng sử dụng IoU để tạo ra các dự đoán hộp bao quanh cuối cùng.
Vì các mô hình thường ban đầu tạo ra hàng trăm dự đoán hộp bao quanh cho một đối tượng được phát hiện, nên các mô hình sử dụng IoU để cân nhắc và hợp nhất các dự đoán hộp bao quanh thành một hộp duy nhất cho mỗi đối tượng được phát hiện.
Các chỉ số khác có thể được sử dụng để đánh giá các mô hình phát hiện đối tượng trong những tình huống khác nhau. Generalized Intersection over Union (GIoU) là một phiên bản sửa đổi của IoU, giúp khắc phục những điểm yếu trong việc định vị đối tượng mà IoU cơ bản vẫn có thể trả về giá trị không. Nghiên cứu phát hiện đối tượng cũng sử dụng các chỉ số tìm kiếm thông tin phổ biến, như độ chính xác trung bình và độ thu hồi.
Các loại Object Detection phổ biến
Sau khi đã hiểu sơ lược Object Detection là gì, hãy cùng khám phá xem phát hiện đối tượng có bao nhiêu loại và có bao nhiêu mức độ nhé!
Bạn có thể tạo ra một thuật toán phát hiện đối tượng chính xác bằng hai phương pháp phổ biến nhất: học máy (machine learning) và học sâu (deep learning). Trong phần này của bài viết, chúng tôi sẽ đi chi tiết về các phương pháp này, vì vậy hãy tiếp tục theo dõi.
Phát hiện đối tượng dựa trên học máy (ML)
Để làm cho phát hiện đối tượng chính xác hơn, các kỹ sư khoa học dữ liệu thường chọn các mô hình học máy (ML). Ý tưởng chính của phương pháp ML là huấn luyện một mô hình trên các hình ảnh đã được gán nhãn với các ví dụ của các đối tượng cần phát hiện.
Sau khi huấn luyện xong, bạn có thể sử dụng mô hình để xử lý các hình ảnh mới và phát hiện các đối tượng trong chúng.
Một trong các kỹ thuật ML là tính năng kênh tổng hợp (ACF), cho phép nhận dạng đối tượng mục tiêu (lấy từ bộ dữ liệu huấn luyện). Một kỹ thuật ML phổ biến khác là mô hình các bộ phận biến dạng (DPM), nhận dạng đối tượng bằng cách xác định các bộ phận của đối tượng và phân tích sự liên kết của chúng.
Học sâu
Các phương pháp huấn luyện học sâu cho phát hiện đối tượng giúp tăng độ chính xác cho kết quả của thuật toán. Bạn có thể tạo ra một thuật toán tùy chỉnh và huấn luyện nó thủ công hoặc chọn sử dụng một mạng nơ-ron đã có sẵn.
Để phát hiện đối tượng bằng học sâu, bạn sẽ cần huấn luyện các mạng nơ-ron tích chập (CNNs). Chúng cung cấp kết quả nhanh chóng và chính xác hơn.
Tuy nhiên, bạn cần lưu ý rằng bạn sẽ cần một đơn vị xử lý đồ họa (GPU) mạnh mẽ cũng như một bộ dữ liệu huấn luyện lớn hơn nhiều so với yêu cầu thông thường của mô hình toán học.
Các mức độ Object Detection
Giống như theo dõi đối tượng, phát hiện đối tượng có thể được áp dụng trong nhiều lĩnh vực khác nhau, yêu cầu các mức độ khác nhau, tùy thuộc vào độ phức tạp của nhiệm vụ. Dưới đây là ba mức độ phát hiện đối tượng mà bạn có thể cần cho giải pháp của mình.
Phát hiện hộp bao quanh (Bounding Box Detection)
Mức độ này xoay quanh việc phát hiện các đối tượng và vị trí của chúng bằng cách bao quanh chúng bằng các hộp bao quanh (hình chữ nhật). Phát hiện hộp bao quanh cho biết vị trí của đối tượng mà không có thông tin chi tiết về hình dạng hay cấu trúc của đối tượng đó.

Phân đoạn ngữ nghĩa (Semantic Segmentation)
Phân đoạn ngữ nghĩa gán một nhãn ngữ nghĩa cho mỗi pixel trong hình ảnh. Ở mức độ này, thuật toán phát hiện đối tượng phân loại mỗi pixel vào các lớp đối tượng khác nhau, đảm bảo việc định vị đối tượng chính xác hơn và cung cấp thông tin về hình dạng và cấu trúc của đối tượng mục tiêu.
Phân đoạn thể hiện (Instance Segmentation)
Phân đoạn thể hiện phân biệt các thể hiện riêng biệt của cùng một lớp đối tượng. Nó gán nhãn ngữ nghĩa cho các pixel và một ID duy nhất cho mỗi thể hiện của đối tượng. Phân đoạn thể hiện hoạt động với các đối tượng tương tự nhau và gán các thể hiện của mỗi đối tượng từ các lớp khác nhau.
Bạn có thể chọn mức độ phát hiện đối tượng tùy thuộc vào độ phức tạp của yêu cầu đối với thuật toán, trong đó phân đoạn thể hiện là phù hợp nhất cho các dự án phức tạp với nhiều đối tượng, còn hộp bao quanh hữu ích cho các nhiệm vụ đơn giản hơn.
Mô hình và kiến trúc của Object Detection
Hai kiến trúc phát hiện đối tượng đã gây được sự chú ý trong cộng đồng thị giác máy tính trong những năm gần đây là Mạng Nơ-ron Tích chập (CNNs) và You Only Look Once (YOLO). Cả CNNs và YOLO đều giúp tạo ra ngành công nghiệp thị giác máy tính hiện đại. Các mô hình Transformers cũng đang ngày càng đóng vai trò quan trọng trong thị giác máy tính và phát hiện đối tượng.
CNNs sử dụng phép toán chập, một kỹ thuật xử lý hình ảnh, để học các đặc điểm của hình ảnh. Quá trình này bao gồm việc áp dụng cửa sổ trượt qua mỗi pixel trong hình ảnh để học các đặc điểm. Thông tin từ các phép toán chập được xử lý bởi mạng nơ-ron. Có rất nhiều cách triển khai CNNs, bao gồm R-CNN, Mask R-CNN và Fast R-CNN.
Dòng mô hình YOLO cũng đã có ảnh hưởng lớn trong thế giới thị giác máy tính. Được giới thiệu vào năm 2014 bởi Joseph Redmon, YOLO đã trở thành một lĩnh vực nghiên cứu và phát triển tích cực và nhận được sự áp dụng rộng rãi trong cộng đồng, cũng như các triển khai bởi nhiều nhà phát triển và nhà nghiên cứu. YOLOv5 và YOLOv8, được phát triển và duy trì bởi nhóm Ultralytics, là động lực cho các mô hình phát hiện đối tượng trên toàn thế giới.
Vào năm 2023 và 2024, các mô hình phát hiện đối tượng “zero-shot” đã trở nên nổi bật hơn. Đây là các mô hình có thể nhận các câu lệnh văn bản tùy ý và nhận diện các đối tượng liên quan đến câu lệnh đó. Grounding DINO là một trong những ví dụ tốt nhất. Với Grounding DINO, bạn có thể cung cấp một câu lệnh văn bản và nhận diện các đối tượng tương ứng.
Các mô hình zero-shot không yêu cầu tinh chỉnh để sử dụng, mặc dù có thể được tinh chỉnh để có hiệu suất tốt hơn trong các lĩnh vực cụ thể.
Các trường hợp ứng dụng Object Detection
Phát hiện đối tượng có rất nhiều ứng dụng thực tế và sử dụng rộng rãi. Nó là một phần không thể thiếu trong các dự án và phần mềm thị giác máy tính (CV), học máy (ML), và trí tuệ nhân tạo (AI) trên toàn thế giới, phục vụ cho hàng chục ngành nghề khác nhau, bao gồm y tế, robot, ô tô (xe tự lái), bán lẻ, thương mại điện tử, nghệ thuật, sinh thái học, nông nghiệp, động vật học, du lịch, hình ảnh vệ tinh, và giám sát.

Một số trường hợp sử dụng phổ biến trong thực tế bao gồm:
- Quét và xác minh khuôn mặt so với hộ chiếu tại sân bay.
- Phát hiện đường xá, người đi bộ và đèn giao thông trong các xe tự lái.
- Giám sát động vật trong các trang trại nông nghiệp và sở thú.
- Đảm bảo rằng những người trong danh sách “Không được phép bay” không qua được cổng an ninh tại sân bay.
- Giám sát khách hàng trong các cửa hàng bán lẻ.
- Phát hiện sản phẩm có thương hiệu được nhắc đến trên mạng xã hội; một hệ thống AI được gọi là “Lắng nghe hình ảnh”.
- Phát hiện đối tượng cũng được sử dụng trong các phòng trưng bày nghệ thuật, nơi khách tham quan có thể sử dụng ứng dụng để quét một bức tranh và tìm hiểu mọi thông tin về nó, từ lịch sử đến giá trị mới nhất.
Phát hiện đối tượng không chỉ là một công nghệ tiên tiến trong thị giác máy tính mà còn đóng vai trò quan trọng trong việc giải quyết các vấn đề trong nhiều lĩnh vực khác nhau.
Bằng cách hiểu rõ về các mô hình, cách thức hoạt động, và các loại phát hiện đối tượng của Object Detection là gì, chúng ta có thể áp dụng công nghệ này hiệu quả hơn nữa trong các dự án và sản phẩm của mình.
Nếu bạn đang tìm kiếm giải pháp lưu trữ mạnh mẽ cho các ứng dụng thị giác máy tính như phát hiện đối tượng, việc thuê VPS chất lượng giá rẻ tại InterData sẽ là lựa chọn lý tưởng. Với phần cứng thế hệ mới, bao gồm CPU AMD EPYC/Intel Xeon Platinum và SSD NVMe U.2, bạn sẽ có được hiệu suất ổn định, tốc độ cao và khả năng mở rộng linh hoạt, đáp ứng nhu cầu tính toán nặng và xử lý dữ liệu lớn.
Ngoài ra, nếu bạn cần một môi trường lưu trữ đám mây mạnh mẽ và dễ dàng mở rộng, hãy cân nhắc thuê Cloud Server giá rẻ tốc độ cao tại InterData. Với băng thông cao và dung lượng tối ưu, bạn sẽ dễ dàng triển khai các dự án phức tạp như AI và học máy, với cấu hình mạnh mẽ, ổn định và giá cả hợp lý, giúp tối ưu hóa chi phí cho các giải pháp đám mây của mình.
INTERDATA
- Website: Interdata.vn
- Hotline: 1900-636822
- Email: [email protected]
- VPĐD: 240 Nguyễn Đình Chính, P.11. Q. Phú Nhuận, TP. Hồ Chí Minh
- VPGD: Số 211 Đường số 5, KĐT Lakeview City, P. An Phú, TP. Thủ Đức, TP. Hồ Chí Minh