Tôi có mô hình .
Thay vì quan sát trực tiếp mô hình, tôi đang quan sát các dẫn xuất của mô hình + một số nhiễu (e):
Từ các phép đo p (x, y và q (x, y) tôi muốn ước tính s (x). Nói rằng tôi biết rằng s (0,0) = 0.
Theo định lý độ dốc:
bất kể dọc theo con đường nào chúng ta tích hợp.
Như một thử nghiệm nhỏ (trong Matlab) tôi đã thêm nhiễu phân tán bình thường, N (0,1), vào p = 2x và q = 2y. Sau đó, tôi tích hợp đầu tiên dọc theo x và theo sau là y: SXY. Tiếp theo tôi tích hợp đầu tiên dọc theo y và theo sau là x: SYX.
Kết quả cho thấy định lý độ dốc không giữ trong trường hợp này (vì nhiễu):
Các lỗi bình phương gốc có liên quan đến mô hình là:
ErmsXY =
0.1125
ErmsYX =
0.0920
Làm cách nào tôi có thể tìm thấy ước tính tốt hơn (ít lỗi RMS hơn và mượt mà hơn) của s từ p và q?
BIÊN TẬP:
Từ những gì tôi đọc được; sử dụng tích phân đường cong được gọi là tích hợp cục bộ. Ngoài ra còn có các phương thức tích hợp toàn cầu trong đó một phương pháp thay vì cố gắng chọn S (x, y) để giảm thiểu:
Các phương pháp tích hợp toàn cầu được cho là mang lại kết quả tốt hơn khi độ dốc bị nhiễu, nhưng làm thế nào để tôi thực hiện điều này trong thực tế?
EDIT 2:
Một cách tiếp cận mà tôi đã sử dụng là:
Kết quả là hệ phương trình tuyến tính sau:
Tiếp theo tìm một giải pháp Lỗi tối thiểu cho các phương trình này. Một giải pháp LSE cho các phương trình này được cho là tương đương với việc giảm thiểu tích phân từ phía trên. Làm thế nào điều này có thể được hiển thị?
Kết quả rất tốt:
Lỗi RMS là khoảng 1/5 so với SXY và SYX và giải pháp cũng mượt mà hơn.
Tuy nhiên, có một số nhược điểm của phương pháp này:
rất khó thực hiện; phải sử dụng các khác biệt trung tâm và ma trận 2D "làm phẳng" thành vectơ, v.v.
Các ma trận đạo hàm rất lớn và thưa thớt nên chúng có thể tiêu tốn rất nhiều RAM.
Một cách tiếp cận khác có vẻ như có khả năng mã hóa đơn giản hơn, ít tiêu tốn RAM hơn và nhanh hơn là sử dụng FFT. Trong không gian Fourier, các cực này trở thành một phương trình đại số. Thuật toán này được gọi là thuật toán Frankot-Chellappa, nhưng thật không may, tôi không có nó để làm việc trên dữ liệu mẫu của mình.