Khi bạn muốn tìm giải pháp cho vấn đề, bước đầu tiên là diễn tả vấn đề này trong thuật ngữ toán học và sau đó bạn có thể sử dụng các công cụ toán học hiện có để tìm giải pháp cho phương trình của bạn. Tuy nhiên, các vấn đề thú vị thường có thể được thể hiện bằng nhiều cách toán học khác nhau, mỗi cách có thể dẫn đến một giải pháp hơi khác. Sau đó, nó phải làm việc để phân tích các phương pháp khác nhau để hiểu được phương pháp nào cung cấp giải pháp ổn định/chính xác/hiệu quả nhất/etc.
Trong trường hợp xảy ra sự cố PnP, chúng tôi muốn tìm tư thế camera cho các liên kết giữa các điểm 3D và mặt phẳng hình ảnh chiếu của chúng.
Cách đầu tiên để diễn tả vấn đề này bằng toán học là đúc nó như là một vấn đề hình vuông nhỏ nhất tuyến tính. Cách tiếp cận này được gọi là phương pháp tiếp cận DLT, và nó là thú vị bởi vì các ô vuông nhỏ nhất tuyến tính có một giải pháp dạng khép kín có thể được tìm thấy mạnh mẽ bằng cách sử dụng Phân tích giá trị số ít. Tuy nhiên, cách tiếp cận này giả định rằng máy ảnh đặt ra P có 12 bậc tự do khi thực sự nó chỉ có 6 (3 cho xoay 3D cộng với 3 cho bản dịch 3D). Để có được tư thế camera 6DOF từ kết quả của phương pháp này, cần tính xấp xỉ (không được bao hàm bởi hàm chi phí tuyến tính của DLT), dẫn đến một giải pháp không chính xác.
Cách thứ hai để diễn tả bài toán PnP bằng toán học là sử dụng sai số hình học làm chức năng chi phí và để tìm ra tư thế máy ảnh làm giảm thiểu lỗi hình học. Vì lỗi hình học là phi tuyến tính, cách tiếp cận này ước tính giải pháp sử dụng các giải pháp lặp lại, chẳng hạn như thuật toán Levenberg Marquardt. Các thuật toán như vậy có thể tính đến 6 bậc tự do của tư thế máy ảnh, dẫn đến các giải pháp chính xác. Tuy nhiên, vì chúng là các phương pháp lặp đi lặp lại, chúng cần được cung cấp một ước tính ban đầu của giải pháp, mà trong thực tế thường thu được bằng cách sử dụng phương pháp DLT.
Bây giờ để trả lời tiêu đề câu hỏi của bạn: chắc chắn, thuật toán DLT cung cấp cho máy ảnh tối ưu bên ngoài, nhưng nó chỉ tối ưu theo ý nghĩa của hàm chi phí tuyến tính được giải quyết bằng thuật toán DLT. Qua nhiều năm, các nhà khoa học đã tìm thấy các hàm chi phí phức tạp hơn dẫn đến các giải pháp chính xác hơn, nhưng cũng khó giải quyết hơn.
Tôi nghĩ rằng việc thêm một bước tinh chỉnh phi tuyến tính vào ước lượng ngoài là điều phổ biến, được thực hiện lặp đi lặp lại. Xem tại đây: http://www.epixea.com/research/multi-view-coding-thesisse9.html – Dan
@Do thx cho liên kết của bạn, tôi biết nó phổ biến, giống như những gì 'giải quyết CvLevMarq' đã làm trong opencv. Ý tôi là, DLT có vẻ là một dạng giảm thiểu ** dạng đóng kín ** của hàm chi phí, tại sao nó vẫn thấp hơn (tối thiểu địa phương)? – zhangxaochen