Có gì mới?
Diễn đàn ứng dụng xử lý ảnh công nghiệp trong sản xuất

Đây là một tin nhắn khách mời. Đăng ký một tài khoản miễn phí ngay hôm nay để trở thành một thành viên! Sau khi đăng nhập, bạn sẽ có thể tham gia trang web này bằng cách thêm các chủ đề và bài đăng của riêng bạn, cũng như kết nối với các thành viên khác thông qua hộp thư đến riêng của bạn!

Thuật toán NCC (Normalized Cross-Correlation)

newtech

Thành viên
Tham gia
24/11/2023
Bài viết
2
Điểm
3
Thuật toán NCC (Normalized Cross-Correlation) là một phương pháp trong xử lý ảnh được sử dụng để tìm sự tương đồng giữa hai hình ảnh. NCC đo lường độ tương đồng giữa hai phần của hình ảnh bằng cách so sánh giá trị tại mỗi điểm ảnh và tính toán tổng của tích chúng. Sau đó, kết quả được chuẩn hóa để có giá trị trong khoảng [-1, 1], giảm ảnh hưởng của độ lớn của hình ảnh.

Mô hình toán học của Normalized Cross-Correlation (NCC) mô tả cách tính sự tương đồng giữa hai hình ảnh. Giả sử có hai ma trận 2D và A và B có kích thước M×Nm×n tương ứng. Dưới đây là mô hình toán học của NCC:

1. Trung bình cục bộ:
Tính giá trị trung bình của từng ma trận A và B theo công thức:
[imath] \bar{A} = \frac{1}{MN} \sum_{i=1}^{M} \sum_{j=1}^{N} A(i,j) [/imath]
[imath] \bar{B} = \frac{1}{mn} \sum_{i=1}^{m} \sum_{j=1}^{n} B(i,j)[/imath]

2. Chuẩn hóa ma trận:
  • Chuẩn hóa từng ma trận AB bằng cách trừ giá trị trung bình từ từng phần tử:
[imath]\tilde{A}(i,j) = A(i,j) - \bar{A}[/imath]
[imath]\tilde{B}(i,j) = B(i,j) - \bar{B}[/imath]
3. Tương quan chéo:
Tính toán cross-correlation giữa [imath]\tilde{A}[/imath] và [imath]B[/imath] bằng cách sử dụng công thức:
[imath]C(i,j) = \sum_{u=1}^{m} \sum_{v=1}^{n} \tilde{A}(i+u-1,j+v-1) \cdot \tilde{B}(u,v)[/imath]
4. Chuẩn hóa tương quan chéo (cross-correlation):
Chuẩn hóa giá trị tương quan chéo để có giá trị nằm trong khoảng [-1, 1]:
[imath]\text{NCC}(i,j) = \frac{C(i,j)}{\sqrt{\sum_{u=1}^{m} \sum_{v=1}^{n} \tilde{A}(i+u-1,j+v-1)^2 \cdot \sum_{u=1}^{m} \sum_{v=1}^{n} \tilde{B}(u,v)^2}}[/imath]
Trong đó:
  • [imath] [/imath]
  • [imath] \bar{A}[/imath] và [imath]\bar{B} [/imath] là giá trị trung bình của ma trận A và B tương ứng
  • là giá trị trung bình của ma trận �A và �B tương ứng.
  • [imath]\tilde{A} [/imath] và [imath] \tilde{B}[/imath] là ma trận đã được chuẩn hóa.
  • C là ma trận tương quan chéo.
  • NCCNCC là giá trị chuẩn hóa tương quan chéo.
Giá trị chuẩn hóa tương quan chéo (NCC) sẽ cho biết mức độ tương đồng giữa hai vùng trong hình ảnh. Giá trị càng gần 1 thường biểu thị sự tương đồng cao.

Dưới đây là một ví dụ về nhận dạng đối tượng sử dụng NCC với thư viện OpenCV:

 
Sửa lần cuối bởi điều hành viên:

Nguyễn Công Đoàn

Thành viên
Tham gia
10/04/2024
Bài viết
1
Điểm
0
Thuật toán NCC (Normalized Cross-Correlation) là một phương pháp trong xử lý ảnh được sử dụng để tìm sự tương đồng giữa hai hình ảnh. NCC đo lường độ tương đồng giữa hai phần của hình ảnh bằng cách so sánh giá trị tại mỗi điểm ảnh và tính toán tổng của tích chúng. Sau đó, kết quả được chuẩn hóa để có giá trị trong khoảng [-1, 1], giảm ảnh hưởng của độ lớn của hình ảnh.

Mô hình toán học của Normalized Cross-Correlation (NCC) mô tả cách tính sự tương đồng giữa hai hình ảnh. Giả sử có hai ma trận 2D và A và B có kích thước M×Nm×n tương ứng. Dưới đây là mô hình toán học của NCC:

1. Trung bình cục bộ:
Tính giá trị trung bình của từng ma trận A và B theo công thức:
[imath] \bar{A} = \frac{1}{MN} \sum_{i=1}^{M} \sum_{j=1}^{N} A(i,j) [/imath]
[imath] \bar{B} = \frac{1}{mn} \sum_{i=1}^{m} \sum_{j=1}^{n} B(i,j)[/imath]

2. Chuẩn hóa ma trận:
  • Chuẩn hóa từng ma trận AB bằng cách trừ giá trị trung bình từ từng phần tử:
[imath]\tilde{A}(i,j) = A(i,j) - \bar{A}[/imath]
[imath]\tilde{B}(i,j) = B(i,j) - \bar{B}[/imath]
3. Tương quan chéo:
Tính toán cross-correlation giữa [imath]\tilde{A}[/imath] và [imath]B[/imath] bằng cách sử dụng công thức:
[imath]C(i,j) = \sum_{u=1}^{m} \sum_{v=1}^{n} \tilde{A}(i+u-1,j+v-1) \cdot \tilde{B}(u,v)[/imath]
4. Chuẩn hóa tương quan chéo (cross-correlation):
Chuẩn hóa giá trị tương quan chéo để có giá trị nằm trong khoảng [-1, 1]:
[imath]\text{NCC}(i,j) = \frac{C(i,j)}{\sqrt{\sum_{u=1}^{m} \sum_{v=1}^{n} \tilde{A}(i+u-1,j+v-1)^2 \cdot \sum_{u=1}^{m} \sum_{v=1}^{n} \tilde{B}(u,v)^2}}[/imath]
Trong đó:
  • [imath] [/imath]
  • [imath] \bar{A}[/imath] và [imath]\bar{B} [/imath] là giá trị trung bình của ma trận A và B tương ứng
  • là giá trị trung bình của ma trận �A và �B tương ứng.
  • [imath]\tilde{A} [/imath] và [imath] \tilde{B}[/imath] là ma trận đã được chuẩn hóa.
  • C là ma trận tương quan chéo.
  • NCCNCC là giá trị chuẩn hóa tương quan chéo.
Giá trị chuẩn hóa tương quan chéo (NCC) sẽ cho biết mức độ tương đồng giữa hai vùng trong hình ảnh. Giá trị càng gần 1 thường biểu thị sự tương đồng cao.

Dưới đây là một ví dụ về nhận dạng đối tượng sử dụng NCC với thư viện OpenCV:

*** Văn bản ẩn: không thể được trích dẫn. ***
 
Bình luận

tramnq

Thành viên
Tham gia
17/09/2024
Bài viết
1
Điểm
1
Thuật toán NCC (Normalized Cross-Correlation) là một phương pháp trong xử lý ảnh được sử dụng để tìm sự tương đồng giữa hai hình ảnh. NCC đo lường độ tương đồng giữa hai phần của hình ảnh bằng cách so sánh giá trị tại mỗi điểm ảnh và tính toán tổng của tích chúng. Sau đó, kết quả được chuẩn hóa để có giá trị trong khoảng [-1, 1], giảm ảnh hưởng của độ lớn của hình ảnh.

Mô hình toán học của Normalized Cross-Correlation (NCC) mô tả cách tính sự tương đồng giữa hai hình ảnh. Giả sử có hai ma trận 2D và A và B có kích thước M×Nm×n tương ứng. Dưới đây là mô hình toán học của NCC:

1. Trung bình cục bộ:
Tính giá trị trung bình của từng ma trận A và B theo công thức:
[imath] \bar{A} = \frac{1}{MN} \sum_{i=1}^{M} \sum_{j=1}^{N} A(i,j) [/imath]
[imath] \bar{B} = \frac{1}{mn} \sum_{i=1}^{m} \sum_{j=1}^{n} B(i,j)[/imath]

2. Chuẩn hóa ma trận:
  • Chuẩn hóa từng ma trận AB bằng cách trừ giá trị trung bình từ từng phần tử:
[imath]\tilde{A}(i,j) = A(i,j) - \bar{A}[/imath]
[imath]\tilde{B}(i,j) = B(i,j) - \bar{B}[/imath]
3. Tương quan chéo:
Tính toán cross-correlation giữa [imath]\tilde{A}[/imath] và [imath]B[/imath] bằng cách sử dụng công thức:
[imath]C(i,j) = \sum_{u=1}^{m} \sum_{v=1}^{n} \tilde{A}(i+u-1,j+v-1) \cdot \tilde{B}(u,v)[/imath]
4. Chuẩn hóa tương quan chéo (cross-correlation):
Chuẩn hóa giá trị tương quan chéo để có giá trị nằm trong khoảng [-1, 1]:
[imath]\text{NCC}(i,j) = \frac{C(i,j)}{\sqrt{\sum_{u=1}^{m} \sum_{v=1}^{n} \tilde{A}(i+u-1,j+v-1)^2 \cdot \sum_{u=1}^{m} \sum_{v=1}^{n} \tilde{B}(u,v)^2}}[/imath]
Trong đó:
  • [imath] [/imath]
  • [imath] \bar{A}[/imath] và [imath]\bar{B} [/imath] là giá trị trung bình của ma trận A và B tương ứng
  • là giá trị trung bình của ma trận �A và �B tương ứng.
  • [imath]\tilde{A} [/imath] và [imath] \tilde{B}[/imath] là ma trận đã được chuẩn hóa.
  • C là ma trận tương quan chéo.
  • NCCNCC là giá trị chuẩn hóa tương quan chéo.
Giá trị chuẩn hóa tương quan chéo (NCC) sẽ cho biết mức độ tương đồng giữa hai vùng trong hình ảnh. Giá trị càng gần 1 thường biểu thị sự tương đồng cao.

Dưới đây là một ví dụ về nhận dạng đối tượng sử dụng NCC với thư viện OpenCV:

*** Văn bản ẩn: không thể được trích dẫn. ***
thanks
 
Bình luận
Top