2012-08-11 35 views
12

Trong khi hiệu chuẩn máy ảnh, lời khuyên thông thường là sử dụng nhiều hình ảnh (> 10) với các biến thể, chiều sâu, v.v. Tuy nhiên, tôi nhận thấy rằng thường sử dụng ít ảnh hơn, lỗi tái phát càng nhỏ. Ví dụ với 27 hình ảnh, cv :: calibrateCamera trả về 0,23 và chỉ với 3 tôi nhận được 0,11 Điều này có thể là do trong quá trình hiệu chuẩn, chúng tôi đang giải quyết một vấn đề nhỏ nhất cho một hệ thống được xác định trước.Lỗi lặp lại nhỏ hơn có nghĩa là hiệu chuẩn tốt hơn không?

CÂU HỎI:

  1. Chúng ta có thực sự sử dụng sai số chiếu lại như một biện pháp tuyệt đối như thế nào tốt một hiệu chuẩn là? Ví dụ, nếu tôi hiệu chỉnh với 3 hình ảnh và nhận được 0,11, và sau đó hiệu chỉnh với 27 hình ảnh khác và nhận được 0,23 chúng ta có thể thực sự nói rằng "hiệu chuẩn đầu tiên là tốt hơn"?

  2. OpenCV sử dụng cùng một hình ảnh cho cả hiệu chuẩn và để tính toán lỗi. Đó không phải là một số hình thức overfitting? Nó sẽ không được chính xác hơn nếu tôi thực sự sử dụng 2 bộ khác nhau-một để tính toán các thông số hiệu chuẩn và một để tính toán lỗi-? Trong trường hợp đó, tôi sẽ sử dụng cùng một (test) được thiết lập để tính toán lỗi cho tất cả các kết quả hiệu chuẩn của tôi từ các bộ (đào tạo) khác nhau. Nó sẽ không công bằng hơn?

Trả lời

11

Xin lỗi nếu quá muộn - chỉ vừa mới xem.

Lỗi là sự từ chối của sự phù hợp. Vì vậy, tìm các điểm trên một hình ảnh, tính toán mô hình thế giới thực, tính toán lại các điểm đó trên hình ảnh được đưa ra ở đâu - báo cáo sự khác biệt. Theo cách này, bạn có thể có một mô hình chỉ đúng với một vài hình ảnh mà sau đó báo cáo một lỗi rất tốt trong khi đưa ra rất nhiều hình ảnh sẽ tạo ra mô hình chính xác hơn nhiều - nhưng sẽ lớn hơn lỗi, chỉ vì bạn đang cố gắng kéo dài nó để phù hợp với một không gian lớn hơn nhiều.

Có một điểm mà việc thêm hình ảnh khác không cải thiện sự phù hợp và có thể thêm tiếng ồn vì các điểm không bao giờ được phát hiện một cách hoàn hảo. Điều quan trọng là cung cấp bộ tham số lớn hơn, nhiều góc độ và vị trí hơn là dữ liệu tương đương

Sử dụng cùng một bộ hình ảnh để dự đoán lỗi không thực sự là vấn đề vì sự phù hợp thực sự có ý nghĩa về mặt các tham số thấu kính vật lý thực tế - nó không giống như đào tạo/thử nghiệm mạng thần kinh trên cùng một dữ liệu.

chỉnh sửa: quy trình hiệu chuẩn tốt hơn opencv (mặc dù dựa trên cùng một khái niệm) được bao gồm trong 3D-DIC (miễn phí nhưng không OSS, đăng ký cho trang web để nhận liên kết tải xuống) cụ thể xem calibration manual.

+1

Cảm ơn bạn đã trả lời, không quá muộn, đó là một câu hỏi chung. Nếu tôi hiểu chính xác từ đoạn đầu tiên của bạn, bạn đang nói rằng đôi khi một mô hình máy ảnh xảy ra được mô tả tốt hơn với một tập hợp các hình ảnh (có thể ít hơn), phải không? Ngoài ra, một trong những kết luận của tôi là bạn có thể sử dụng lỗi reprojection để xác định xem calib là tốt (err = [0,1]) hay xấu (err> 1), nhưng trong khoảng [0,1] bạn không thể thực sự hãy chắc chắn rằng lựa chọn nhỏ nhất sẽ là tốt nhất. Bạn có nói rằng điều này là chính xác, hoặc tôi đã nhận nó hoàn toàn sai? – Sassa

+0

Bởi vì nếu tôi không nhầm, khi tôi nhận được một lỗi 0.11 (rất thấp) chỉ với 3 hình ảnh, và undistorted hình ảnh bằng cách sử dụng các thông số này, kết quả undistorted không phải là rất tốt so với một với 0,23 lỗi từ 27 hình ảnh. – Sassa

+0

Mô hình máy ảnh dựa trên ít hình ảnh hơn sẽ tốt - nhưng chỉ dành cho tập hợp các vị trí và góc nhỏ đó. Vì vậy, nó là một địa phương rất tốt phù hợp nhưng phù hợp toàn cầu xấu.Khi bạn thêm hình ảnh khác (tối đa một điểm), bạn sẽ gần gũi hơn với sự phù hợp toàn cục nhưng nội bộ phù hợp có thể tồi tệ hơn –

Các vấn đề liên quan