Ultralytics YOLO27: Đăng ký vào danh sách chờ.
Cấp phép YOLO
Hướng dẫn

So khớp mẫu là gì? Hướng dẫn nhanh

Tìm hiểu cách so khớp mẫu tìm một mẫu trong ảnh bằng cách trượt mẫu và chấm điểm độ tương đồng, cách thử nghiệm với OpenCV và các ứng dụng thực tế.

Abirami VinaAbirami Vina12 phút đọc
Ví dụ về so khớp mẫu trong xử lý ảnh

Hình ảnh thường chứa nhiều chi tiết nhỏ mà con người dễ dàng nhận ra. Tuy nhiên, với máy móc, việc này không đơn giản như vậy. Máy móc nhìn nhận ảnh kỹ thuật số dưới dạng lưới giá trị pixel, và ngay cả những thay đổi nhỏ về ánh sáng, góc, tỷ lệ hoặc độ sắc nét cũng có thể gây nhầm lẫn.

Khả năng phân tích ảnh của máy thường bắt nguồn từ hai lĩnh vực khoa học máy tính có liên hệ chặt chẽ: xử lý ảnh và thị giác máy tính. Dù thường hoạt động cùng nhau, hai lĩnh vực này có mục đích cốt lõi khác nhau.

Xử lý ảnh tập trung vào ảnh dưới dạng dữ liệu thô. Lĩnh vực này có thể cải thiện ảnh nhưng không cố gắng hiểu nội dung của ảnh. Đây là điểm tạo nên khác biệt của thị giác máy tính. Thị giác máy tính là một nhánh của trí tuệ nhân tạo (AI), cho phép máy móc hiểu hình ảnh và video.

Xử lý ảnh cơ bản đã tồn tại từ nhiều năm nay, nhưng những đổi mới hiện đại trong thị giác máy tính chỉ mới xuất hiện gần đây. Một cách hay để hiểu lịch sử của lĩnh vực này là nhìn lại cách chúng ta từng giải quyết những vấn đề đó bằng các phương pháp truyền thống cũ hơn.

Lấy đối sánh ảnh làm ví dụ. Đây là một tác vụ thị giác phổ biến, trong đó hệ thống phải xác định xem một vật thể hoặc mẫu cụ thể có xuất hiện trong một ảnh lớn hơn hay không.

Ngày nay, việc này có thể được thực hiện dễ dàng và chính xác bằng AI và deep learning. Tuy nhiên, trước khi mạng nơ-ron hiện đại phát triển mạnh trong thập niên 2010, phương pháp thường dùng là một kỹ thuật đơn giản hơn nhiều có tên là đối sánh mẫu.

Phương pháp khớp mẫu xác định vị trí đầu của ấu trùng cá trong ảnh hiển vi, với mẫu đầu hiển thị ở góc ảnh

Hình 1. Ví dụ về đối sánh mẫu (Nguồn)

Đối sánh mẫu là một kỹ thuật xử lý ảnh trong đó một ảnh mẫu nhỏ được trượt qua ảnh lớn hơn từng pixel một. Quy trình trượt tương tự phép tích chập này cho phép thuật toán tìm vị trí khớp gần nhất với mẫu cụ thể đó.

Trong bài viết này, chúng ta sẽ tìm hiểu template matching là gì và những cải tiến hiện đại giúp phương pháp này đáng tin cậy hơn ra sao trong các tình huống thực tế.

Đối sánh mẫu là gì?#

Đối sánh mẫu cũng có thể được xem là một kỹ thuật thị giác máy tính cổ điển, nghĩa là kỹ thuật này làm việc trực tiếp với các pixel ảnh (đơn vị nhỏ nhất của ảnh kỹ thuật số). Kỹ thuật được dùng để tìm một mẫu nhỏ bên trong ảnh lớn hơn.

Các phương pháp như thế này được xác định bằng hình học, quang học và các quy tắc toán học, thay vì huấn luyện các model lớn trên tập dữ liệu khổng lồ. Nói cách khác, hệ thống đối sánh mẫu so sánh độ sáng, màu sắc và thông tin pixel khác giữa hai đầu vào: ảnh đầu vào (ảnh lớn hơn) và ảnh mẫu nhỏ hơn (mẫu cần tìm).

Ảnh A và Ảnh B làm ví dụ về mẫu

Hình 2. Ảnh A và Ảnh B là các ví dụ về mẫu. (Nguồn)

Mục tiêu chính của đối sánh mẫu là xác định vị trí mẫu xuất hiện trong khung cảnh lớn hơn và đo mức độ khớp của mẫu với các vùng ảnh khác nhau. Thuật toán đối sánh mẫu thực hiện việc này bằng cách trượt mẫu qua ảnh lớn hơn và tính điểm tương đồng tại mỗi vị trí.

Các vùng có điểm số cao hơn được xem là khớp nhất, tức là chúng gần giống với mẫu. Vì phương pháp này dựa trên so sánh từng pixel, nó hoạt động hiệu quả nhất trong môi trường được kiểm soát, nơi diện mạo của vật thể không thay đổi.

Ví dụ, đối sánh mẫu có thể được dùng trong các tác vụ xác minh nhãn thuộc quy trình kiểm soát chất lượng. Phương pháp này dễ dàng đối chiếu ảnh mẫu nhãn với ảnh sản phẩm hoàn thiện để kiểm tra xem nhãn có hiện diện hay không.

Cách đối sánh mẫu hoạt động#

Dưới đây là tổng quan từng bước về cách đối sánh mẫu hoạt động:

  • Bước 1 - Chuẩn bị ảnh: Quy trình bắt đầu bằng việc tải ảnh đầu vào và ảnh mẫu, sau đó chuyển cả hai thành ảnh xám. Vì đối sánh mẫu dựa trên việc so sánh giá trị pixel, loại bỏ thông tin màu giúp giảm nhiễu và tăng tốc xử lý ảnh.
  • Bước 2 - Trượt mẫu qua ảnh: Tiếp theo, thuật toán đối sánh mẫu trượt mẫu qua ảnh lớn hơn từng pixel một (bắt đầu từ góc trên bên trái). Mỗi bước di chuyển là một vòng lặp, trong đó thuật toán trích xuất từ ảnh nguồn một vùng ảnh có kích thước khớp với mẫu.
  • Bước 3 - Đo mức độ khớp: Mỗi vùng ảnh được so sánh với mẫu bằng một phương pháp đối sánh toán học để tạo ra chỉ số tương quan hoặc giá trị tương quan tại mọi vị trí có thể. Các phương pháp phổ biến gồm sai khác bình phương (đo khoảng cách số giữa cường độ pixel để tính tổng mức sai khác), tương quan chéo chuẩn hóa (nhân các giá trị pixel để xác định mức độ khớp của các mẫu sáng tối) và hệ số tương quan (trừ độ sáng trung bình để đảm bảo phép khớp vẫn chính xác ngay cả khi ánh sáng thay đổi đôi chút).
  • Bước 4 - Xác định kết quả khớp nhất: Sau khi đánh giá tất cả các vị trí, thuật toán chọn kết quả khớp nhất bằng cách tìm giá trị lớn nhất hoặc nhỏ nhất, tùy theo phương pháp được dùng. Kết quả thường được áp dụng ngưỡng để chỉ chấp nhận những kết quả khớp có điểm tin cậy đủ cao, loại bỏ các phát hiện yếu hoặc sai.
  • Bước 5 - Đánh dấu kết quả: Cuối cùng, vị trí được phát hiện sẽ được ánh xạ trở lại ảnh gốc. Thông thường, một bounding box được vẽ quanh vùng khớp để hiển thị rõ vị trí xuất hiện của mẫu.

Thực hành đối sánh mẫu#

Dù template matching dựa trên xử lý ảnh thường không được dùng trong các triển khai giải pháp thị giác máy tính thực tế có bối cảnh biến động do những hạn chế của phương pháp, nếu muốn thử nghiệm, bạn có thể dùng các thư viện Python như OpenCV để thực hiện dễ dàng và tham khảo các hướng dẫn đơn giản. OpenCV có hàm matchTemplate tích hợp sẵn để xử lý các phép so sánh toán học phức tạp.

Ngoài ra, thư viện hỗ trợ các hàm khác giúp thực hiện những tác vụ đơn giản như tải ảnh bằng hàm imread và chuyển đổi màu bằng hàm cvtColor để biến ảnh thành ảnh xám. Chuyển đổi màu là bước quan trọng vì việc giảm ảnh xuống một kênh cường độ giúp phép so sánh toán học trong matchTemplate nhanh hơn nhiều và ít nhạy với nhiễu màu hơn.

Sau khi tạo bản đồ tương đồng, OpenCV cũng có hàm minMaxLoc để hoàn tất việc phát hiện. Hàm này có thể quét toàn bộ bản đồ nhằm xác định giá trị cực tiểu và cực đại toàn cục cùng tọa độ chính xác của chúng. Tùy vào phương pháp đối sánh được sử dụng, minMaxLoc cho phép xác định ngay vị trí khớp nhất bằng cách tìm tương quan cao nhất hoặc giá trị lỗi thấp nhất trong dữ liệu.

Ngoài OpenCV, các thư viện như NumPy rất cần thiết để xử lý mảng ảnh và áp dụng ngưỡng cho kết quả, trong khi Matplotlib thường được dùng để trực quan hóa bản đồ tương đồng và kết quả phát hiện cuối cùng. Kết hợp lại, các công cụ này tạo nên một môi trường đầy đủ để xây dựng và gỡ lỗi giải pháp đối sánh mẫu.

Các ứng dụng thực tế của đối sánh mẫu#

Giờ đây khi đã hiểu rõ hơn cách đối sánh mẫu hoạt động, hãy cùng tìm hiểu kỹ hơn các ứng dụng của phương pháp này trong những tình huống thực tế.

Nhận diện phong cách kiến trúc truyền thống#

Trong lĩnh vực di sản văn hóa và nghiên cứu kiến trúc, các nhà nghiên cứu cần phân tích ảnh chụp những tòa nhà, đền đài và tượng đài lịch sử để hiểu các mẫu thiết kế khác nhau như thế nào giữa các vùng. Trước khi model thị giác máy tính tiên tiến được áp dụng rộng rãi, họ sử dụng các kỹ thuật đối sánh ảnh để nghiên cứu những công trình này.

Đối sánh mẫu cho phép các nhà nghiên cứu tập trung vào những dấu hiệu kiến trúc cụ thể như đường viền mái, cách bố trí cửa sổ hoặc họa tiết trên tường. Bằng cách trượt mẫu hoặc ảnh tham chiếu qua ảnh lớn hơn, họ có thể xác định các hình dạng lặp lại và giảm thời gian phân tích ảnh thủ công, vốn có thể kéo dài hàng giờ.

Một ví dụ thú vị đến từ nghiên cứu về nhà truyền thống Indonesia. Các nhà nghiên cứu tạo những mẫu nhỏ biểu thị các đặc điểm tiêu biểu rồi so sánh chúng với ảnh chụp toàn cảnh. Phương pháp này được dùng để làm nổi bật các vùng ảnh khớp gần với mẫu và phân loại phong cách kiến trúc theo từng vùng.

Dùng đối sánh mẫu để phân loại nhà truyền thống ở Indonesia

Hình 3. Dùng đối sánh mẫu để phân loại nhà truyền thống ở Indonesia (Nguồn)

Phát hiện đối tượng trong hệ thống thị giác công nghiệp#

Môi trường công nghiệp có thể hưởng lợi từ các hệ thống thị giác có khả năng nhanh chóng phát hiện linh kiện, xác minh cụm lắp ráp hoặc tìm lỗi. Trước khi deep learning được phổ biến rộng rãi trong ngành sản xuất, nhiều nhóm đã thử nghiệm các phương pháp đối sánh ảnh để tự động hóa những tác vụ này.

Nói đơn giản, có thể dùng một mẫu tham chiếu của linh kiện để quét ảnh trên dây chuyền sản xuất và làm nổi bật các vùng khớp với mẫu. Phương pháp này hiệu quả khi các bộ phận xuất hiện ở vị trí nhất quán và ánh sáng ổn định.

Phát hiện khối u phổi bằng template matching#

Ngay cả khi công nghệ tiên tiến đang tạo ra tác động trong lĩnh vực chăm sóc sức khỏe, việc chẩn đoán vấn đề sức khỏe từ ảnh y khoa như ảnh chụp CT vẫn là một thách thức. Trước đây, bác sĩ chẩn đoán hình ảnh phải xem xét thủ công từng lát cắt, một quy trình đòi hỏi độ chính xác cực cao và tốn nhiều thời gian.

Trước khi deep learning được ứng dụng trong chăm sóc sức khỏe, các nhà nghiên cứu đã tìm cách dùng đối sánh mẫu để tinh giản quy trình làm việc và hỗ trợ xác định những bất thường. Một ví dụ điển hình về kỹ thuật này liên quan đến việc phát hiện khối u hoặc nốt phổi.

Trong phương pháp này, các nhà nghiên cứu tạo mẫu tham chiếu thể hiện hình dạng và cường độ điển hình của khối u. Sau đó, hệ thống trượt các mẫu này qua ảnh chụp của bệnh nhân và đo độ tương đồng tại từng tọa độ.

Phát hiện khối u phổi bằng template matching

Hình 4. Phát hiện khối u phổi bằng template matching (Nguồn)

Ưu và nhược điểm của đối sánh mẫu#

Sau đây là một số lợi ích chính của việc sử dụng phương pháp đối sánh mẫu:

  • Trực quan và dễ hiểu: Đối sánh mẫu dễ hiểu và dễ triển khai, là điểm khởi đầu lý tưởng cho người mới tìm hiểu AI và thị giác máy tính.
  • Đáng tin cậy trong điều kiện được kiểm soát: Phương pháp này hoạt động hiệu quả với ảnh thang độ xám trong điều kiện chiếu sáng ổn định, cho kết quả chính xác khi các mẫu và nền không thay đổi.
  • Dễ tích hợp: Với các thư viện Python như OpenCV, bạn có thể nhanh chóng áp dụng đối sánh mẫu vào các dự án thực tế mà không cần thiết lập phức tạp hay tiêu tốn nhiều tài nguyên tính toán.

Dù đối sánh mẫu mang lại nhiều lợi ích, phương pháp này cũng có những hạn chế. Sau đây là một số thách thức cần lưu ý:

  • Nhạy với tỷ lệ và góc xoay: Sự thay đổi về kích thước hoặc hướng của mẫu có thể làm giảm độ chính xác.
  • Phụ thuộc vào ánh sáng và độ tương phản: Thay đổi về ánh sáng hoặc độ tương phản giữa mẫu và ảnh có thể dẫn đến kết quả đối sánh sai hoặc khiến mẫu khó phát hiện hơn.
  • Khả năng thích ứng hạn chế: Không giống các phương pháp dựa trên AI, đối sánh mẫu không thể học từ dữ liệu hoặc cải thiện theo thời gian. Phương pháp này hoạt động tốt nhất trong môi trường được kiểm soát hoặc có tính lặp lại.

Điểm chính cần ghi nhớ#

Thị giác máy tính là một lĩnh vực rộng lớn bao gồm nhiều kỹ thuật. Tìm hiểu các kỹ thuật xử lý ảnh truyền thống như template matching là điểm khởi đầu hữu ích để nắm được cách phân tích ảnh hoạt động. Các model AI thị giác hiện đại được xây dựng dựa trên những khái niệm cốt lõi tương tự và giải quyết các vấn đề tương tự.

Bạn muốn tìm hiểu thêm về AI? Hãy tham gia cộng đồng và xem kho GitHub của chúng tôi. Tìm hiểu cách AI trong bán lẻ và AI thị giác trong sản xuất đang thúc đẩy sự thay đổi. Khám phá các tùy chọn cấp phép để bắt đầu xây dựng với AI thị giác ngay hôm nay!

Được viết bởi

Abirami Vina
Abirami Vina

Nhà sáng tạo nội dung · Ultralytics

Khởi đầu sự nghiệp với vai trò kỹ sư thị giác máy tính, Abirami Vina đã xây dựng nền tảng vững chắc về AI thị giác và machine learning. Cô là Nhà sáng tạo nội dung tại Ultralytics, đồng thời là Nhà sáng lập kiêm Biên tập viên chính tại Scribe of AI, nơi cô xây dựng nội dung kỹ thuật chất lượng cao cho các công ty tập trung vào AI. Với niềm đam mê giúp AI trở nên dễ hiểu và hấp dẫn, công việc của cô kết nối công nghệ tiên tiến với tác động thực tế.

Bình luận

Đặt câu hỏi, chia sẻ kết quả hoặc giúp đỡ người khác.

Khám phá các giải pháp

Thị giác máy tính trong thể thao

Thị giác máy tính trong thể thao

Khám phá cách Ultralytics YOLO thúc đẩy thị giác máy tính trong thể thao với khả năng theo dõi cầu thủ và bóng, phân tích hiệu suất, cung cấp thông tin chuyên sâu cho huấn luyện và hỗ trợ phục hồi cho vận động viên.
Tìm hiểu thêm
Thị giác máy tính cho ảnh hàng không

Thị giác máy tính cho ảnh hàng không

Chuyển hình ảnh từ drone và ảnh hàng không thành thông tin chuyên sâu theo thời gian thực cho nông nghiệp, nuôi trồng thủy sản, bảo tồn và phân tích không gian địa lý với Ultralytics YOLO.
Tìm hiểu thêm
Thị giác máy tính trong hàng không vũ trụ

Thị giác máy tính trong hàng không vũ trụ

Ứng dụng computer vision trong ngành hàng không vũ trụ với Ultralytics YOLO cho kiểm tra máy bay, phát hiện dị vật trên đường băng (FOD), vận hành mặt đất tại sân bay và phát hiện lỗi vật liệu composite.
Tìm hiểu thêm
Computer vision trong lĩnh vực an ninh

Computer vision trong lĩnh vực an ninh

Bảo vệ mọi địa điểm bằng model Ultralytics YOLO. Vision AI hỗ trợ giám sát vành đai, phát hiện mối đe dọa, nhận dạng biển số và an toàn nơi làm việc.
Tìm hiểu thêm
Computer vision trong robotics

Computer vision trong robotics

Tăng cường năng lực cho máy móc thông minh bằng model Ultralytics YOLO. Vision AI trong lĩnh vực robotics hỗ trợ điều hướng tự động, nhận thức, theo dõi đối tượng và điều khiển theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong logistics

Thị giác máy tính trong logistics

Tinh giản hoạt động logistics với các model Ultralytics YOLO. Vision AI hỗ trợ kiểm tra kiện hàng, phân loại, theo dõi phương tiện và giám sát an toàn kho hàng theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong bán lẻ

Thị giác máy tính trong bán lẻ

Định hình lại hoạt động bán lẻ với các model Ultralytics YOLO. Vision AI hỗ trợ theo dõi hàng tồn kho, giám sát kệ hàng, quản lý hàng chờ và phân tích khách hàng thông minh hơn.
Tìm hiểu thêm
Thị giác máy tính trong chăm sóc sức khỏe

Thị giác máy tính trong chăm sóc sức khỏe

Xây dựng các giải pháp chăm sóc sức khỏe với model Ultralytics YOLO. Vision AI trong chăm sóc sức khỏe hỗ trợ xử lý hình ảnh y tế nhanh hơn, chẩn đoán thông minh hơn và theo dõi bệnh nhân.
Tìm hiểu thêm
Thị giác máy tính trong sản xuất

Thị giác máy tính trong sản xuất

Tối ưu hóa sản xuất bằng các model Ultralytics YOLO. Vision AI thúc đẩy kiểm soát chất lượng, phát hiện lỗi, tuân thủ PPE và tự động hóa dây chuyền lắp ráp.
Tìm hiểu thêm
Thị giác máy tính trong ngành ô tô

Thị giác máy tính trong ngành ô tô

Ứng dụng thị giác máy tính trong ngành ô tô với các model Ultralytics YOLO. Vision AI nâng cao an toàn giao thông, hỗ trợ người lái và tự động hóa phương tiện để tạo nên những tuyến đường thông minh hơn.
Tìm hiểu thêm
Thị giác máy tính trong nông nghiệp

Thị giác máy tính trong nông nghiệp

Ứng dụng AI thị giác vào nông nghiệp thông minh với các model Ultralytics YOLO. Hỗ trợ giám sát cây trồng, theo dõi vật nuôi và canh tác chính xác để nâng cao năng suất một cách thông minh hơn.
Tìm hiểu thêm

Hãy cùng nhau kiến tạo tương lai của AI!

Bắt đầu hành trình hướng đến tương lai của machine learning