Làm thế nào để tôi có được hiệu chuẩn máy ảnh chính xác nhất?


16

Trước hết, tôi hy vọng đây là bảng Stack Exchange chính xác. Tôi xin lỗi nếu không.

Tôi đang làm việc trên một cái gì đó đòi hỏi tôi phải hiệu chỉnh máy ảnh. Tôi đã thực hiện thành công mã để làm điều này trong OpenCV (C ++). Tôi đang sử dụng các chức năng bàn cờ sẵn có và một bàn cờ tôi đã in ra.

Có rất nhiều hướng dẫn trên internet để đưa ra nhiều hơn một cái nhìn về bàn cờ và trích xuất các góc từ mỗi khung.

Có một bộ chế độ xem tối ưu để cung cấp cho chức năng để có được hiệu chỉnh máy ảnh chính xác nhất không? Điều gì ảnh hưởng đến độ chính xác của hiệu chuẩn?

Chẳng hạn, nếu tôi cho nó 5 hình ảnh có cùng chế độ xem mà không di chuyển bất cứ thứ gì, nó sẽ cho một số kết quả thẳng khi tôi thử và hủy bỏ nguồn cấp dữ liệu webcam.

FYI cho bất kỳ ai ghé thăm: Gần đây tôi phát hiện ra rằng bạn có thể có hiệu chuẩn máy ảnh tốt hơn bằng cách sử dụng lưới các vòng tròn không đối xứng và chức năng OpenCV tương ứng.

Câu trả lời:


8

Bạn phải chụp ảnh để hiệu chuẩn từ các góc nhìn và góc khác nhau, với sự khác biệt lớn nhất giữa các góc càng tốt (cả ba góc Euler nên khác nhau), nhưng do đó đường kính mẫu vẫn phù hợp với trường nhìn của máy ảnh. Càng nhiều lượt xem bạn đang sử dụng hiệu chuẩn sẽ tốt hơn. Điều đó là cần thiết bởi vì trong quá trình hiệu chuẩn, bạn phát hiện các tham số độ dài tiêu cự và độ méo, do đó, để có được chúng bằng phương pháp vuông góc tối thiểu là cần thiết. Nếu bạn không di chuyển máy ảnh, bạn sẽ không nhận được thông tin mới và hiệu chuẩn là vô ích. Xin lưu ý rằng bạn thường chỉ cần độ dài tiêu cự, thông số méo thường không đáng kể ngay cả đối với máy ảnh tiêu dùng, máy ảnh web và máy ảnh điện thoại di động. Nếu bạn đã biết độ dài tiêu cự từ thông số máy ảnh, bạn thậm chí có thể không cần hiệu chuẩn.

Hệ số méo xuất hiện nhiều hơn ở các máy ảnh "đặc biệt" như góc rộng hoặc 360 °.

Đây là mục Wikipedia về hiệu chuẩn . Và đây là biến dạng phi tuyến tính , không đáng kể đối với hầu hết các máy ảnh.


Theo góc của Eulers, tôi giả sử bạn có nghĩa là xoay camera quanh bàn cờ (với bàn cờ là trục) trong x, y và di chuyển camera về phía trước và ra khỏi bàn cờ trong z? Tôi đọc về một người chỉ đơn giản là in ra các bàn cờ đã biến đổi và giữ máy ảnh ở cùng một chỗ. Ví dụ: i.imgur.com/rYzV4.pngi.imgur.com/McG9z.png . Là sử dụng những thứ như thế này là một quyết định kém vì nó có thể không đại diện cho cách mọi thứ sẽ xa cách trong thực tế?
Cheetah

Có về camera di chuyển. Có một lần nữa về giữ tại chỗ.
mirror2image

@ mirror2image Ý bạn là, trong các hoạt động thực tế, tốt hơn là thay đổi các góc độ khác nhau. Nhưng điều đó có nghĩa là các quan điểm khác nhau sẽ có hệ thống điều phối thế giới khác nhau. Tôi có cần sử dụng hệ thống phối hợp thế giới chung để giữ các điểm đối tượng trong cùng hệ thống phối hợp không?
Richard

3

@Ben - số lượt xem tùy thuộc vào camera và độ chính xác cuối cùng được yêu cầu.

Với chất lượng rất cao, ống kính méo thấp (máy ảnh DSLR 35mm cao cấp) sử dụng nhiều hình ảnh bàn cờ để ánh xạ các biến dạng có thể không ổn định - vì các biến dạng là phân số của một pixel.
Bạn vẫn cần một vài bức ảnh với bảng (hoặc máy ảnh) được xoay do trung tâm hình ảnh thường chỉ trong một vài pixel của danh nghĩa x / 2, y / 2 danh nghĩa và sẽ thay đổi theo tiêu cự. Và tất nhiên zoom thay đổi mọi thứ.

Khi bạn có trung tâm chip-ống kính và độ dài tiêu cự (tính bằng X và Y), bạn chỉ cần một bàn cờ duy nhất trong cú đánh để cung cấp cho bạn vị trí máy ảnh


Tôi tiếp tục nhận được hiệu chuẩn thực sự xấu và tôi thực sự không thể hiểu tại sao. Tôi có một bàn cờ in trên tường và tôi đang di chuyển máy ảnh đến các vị trí khác nhau để nó có các góc nhìn khác nhau trên bàn cờ nhưng bất cứ khi nào tôi sử dụng chức năng undistort trong opencv và nó lại xuất hiện rất kỳ lạ và bị bóp méo so với ban đầu. Máy ảnh của tôi là Microsoft LifeCam Studio 1080p.
Cheetah

@Ben Vô hiệu hóa bất kỳ lấy nét tự động. Trên webcam ống kính nhỏ, độ dài tiêu cự và trung tâm ống kính thay đổi theo tiêu cự. Bạn có đủ xoay để nó phù hợp với trung tâm không? Bạn có hình vuông đi ra các góc? Cuối cùng kiểm tra xem tất cả các mục tiêu có tất cả các hình vuông được phát hiện.
Martin Beckett

Lấy nét tự động đã bị vô hiệu hóa. Xác định đủ chưa? Tôi đang cố gắng hết sức có thể để lấy điểm. Không chắc chắn ý của bạn là "hình vuông đi ra các góc", nếu bạn muốn nói chức năng vẽ các góc được trích xuất trên hình ảnh - thì có. Tôi cũng đã kiểm tra để thấy rằng tất cả các góc đã được phát hiện. Tôi nghĩ vấn đề của tôi CÓ THỂ nằm ở chỗ tôi đặt độ dài tiêu cự ban đầu trong ma trận nội tại mà tôi chuyển đến chức năng hiệu chuẩn. Tôi đã thử 1: 1, 16: 9 (điều tôi tin là tỷ lệ khung hình của webcam là) và cũng đã thử KHÔNG CÓ (mà bạn có thể làm)
Cheetah

@Martin Có thể thực hiện hiệu chuẩn bằng cách giữ máy ảnh ở vị trí văn phòng phẩm và thay đổi hướng bàn cờ mà không thay đổi khoảng cách giữa máy ảnh và bàn cờ ??

@Santosh - vâng, điều đó rõ ràng tương đương chính xác. Bạn cần chắc chắn rằng bạn đã bao phủ rất nhiều góc độ khác nhau
Martin Beckett

3

Tôi quyết định đăng câu trả lời này tại đây vì một thời gian trước, đây là kết quả hàng đầu trong Google và các đề xuất của nó đã giúp tôi. Vì vậy, tôi quyết định chia sẻ kinh nghiệm của tôi quá.

Đã dành vô số giờ cố gắng để có được hiệu chuẩn âm thanh nổi tốt nhất trên Kinect, tôi đã chia sẻ các mẹo và phát hiện của mình trong một bài đăng trên blog ở đây .

Mặc dù nó hướng đến hiệu chuẩn âm thanh nổi và cụ thể hơn là Kinect, tôi tin rằng các mẹo sẽ giúp bất cứ ai đang cố gắng hiệu chỉnh máy ảnh.

Ngoài ra, trong trường hợp tôi nên chết vào một ngày nào đó hoặc quên gia hạn lưu trữ, đây là một trích dẫn được sửa đổi từ bài đăng:

  1. Hãy chắc chắn rằng bạn có mẫu hiệu chuẩn lớn nhất có thể. Làm theo những gì tôi nói ở trên. Lấy một mẫu đẹp in chuyên nghiệp. Đảm bảo mỗi hình vuông có kích thước tối thiểu 8cm x 8cm. Ngoài ra, đảm bảo một mặt của mẫu hiệu chuẩn có số ô vuông lẻ và mặt kia có số ô vuông chẵn (ví dụ: 9 × 6 hoặc 7 × 8). Điều quan trọng là phát hiện đúng tư thế của mục tiêu. Ngoài ra, một số hộp công cụ sẽ không thể phát hiện mẫu trong yêu cầu này không được đáp ứng. Như đã đề cập trước đó, các mẫu tôi sử dụng phù hợp để in trên các tờ lớn được tải lên ở đây (cho hình vuông 9cm) và ở đây (cho hình vuông 10cm).
  2. Hãy chắc chắn rằng mẫu in của bạn có đủ viền trắng xung quanh nó, nếu không nó có thể không dễ dàng được phát hiện bởi hầu hết các hộp công cụ.
  3. Hãy chắc chắn rằng Kinect không di chuyển. Tôi đã sử dụng giá treo để gắn Kinect của mình vào giá ba chân.
  4. Cố gắng lấy càng nhiều hình ảnh của mục tiêu hiệu chuẩn càng tốt. Hiệu chuẩn tốt nhất của tôi thu được bằng cách sử dụng 300 hình ảnh, ở khoảng cách thấp từ 0,5 mét đến 10 mét so với máy ảnh. Hãy chắc chắn rằng bạn xoay mô hình xung quanh các trục X, Y và Z. Ngoài ra, hãy thử đặt chế độ xem lát gạch với các hình ảnh được chụp ở cùng một khoảng cách: ví dụ: chụp một hình ảnh, di chuyển mục tiêu sang ô tiếp theo trong trường nhìn, chụp một hình khác và lặp lại cho đến khi bạn xếp chồng tất cả hiện tại góc nhìn. Mục tiêu là bao quát toàn bộ trường nhìn ở mỗi khoảng cách càng nhiều càng tốt.
  5. Sử dụng ứng dụng hiệu chuẩn âm thanh nổi của MATLAB nếu có thể. Nó cho phép bạn thoát khỏi các ngoại lệ sau mỗi giai đoạn hiệu chuẩn.

2

Dưới đây là danh sách 'các thực tiễn tốt nhất' để hiệu chỉnh máy ảnh mà tôi đã đăng ban đầu tại đây: https://calib.io/bloss/ledgeledge-base/calibr-best-practices

  • Chọn mục tiêu hiệu chuẩn kích thước phù hợp. Đủ lớn để hạn chế các thông số. Tốt nhất là nó nên bao gồm khoảng. một nửa tổng diện tích khi nhìn thấy song song phía trước trong hình ảnh camera.
  • Thực hiện hiệu chuẩn ở khoảng cách làm việc gần đúng (WD) của ứng dụng cuối cùng của bạn. Máy ảnh nên được lấy nét ở khoảng cách này và tiêu cự không thay đổi sau khi hiệu chỉnh.
  • Mục tiêu nên có số lượng tính năng cao. Sử dụng các mẫu tốt là tốt hơn. Tuy nhiên, tại một số điểm phát hiện mạnh mẽ bị. Khuyến nghị của chúng tôi là sử dụng số lượng mẫu tốt cho các máy ảnh trên 3MPx và nếu ánh sáng được kiểm soát và tốt.
  • Thu thập hình ảnh từ các khu vực khác nhau và nghiêng. Di chuyển mục tiêu để bao phủ toàn bộ khu vực hình ảnh và nhắm đến vùng phủ đều. Độ méo của ống kính chỉ có thể được xác định chính xác từ các hình ảnh song song phía trước, nhưng ước tính độ dài tiêu cự phụ thuộc vào việc quan sát báo trước. Bao gồm cả hình ảnh song song và hình ảnh được chụp bằng bảng nghiêng lên tới +/- 45 độ theo cả hai chiều dọc. Nghiêng nhiều hơn thường không phải là một ý tưởng tốt vì tính chính xác nội địa hóa bị ảnh hưởng.
  • Sử dụng ánh sáng tốt. Điều này thường bị bỏ qua, nhưng cực kỳ quan trọng. Mục tiêu hiệu chuẩn tốt nhất nên được chiếu sáng bằng phương pháp chiếu sáng nhiếp ảnh có kiểm soát. Các nguồn điểm mạnh làm phát sáng không đồng đều, có thể khiến phát hiện không thành công và không sử dụng phạm vi động của máy ảnh rất tốt. Bóng có thể làm tương tự.
  • Có đủ quan sát. Thông thường, hiệu chuẩn phải được thực hiện trên ít nhất 6 quan sát (hình ảnh) của mục tiêu hiệu chuẩn. Nếu một máy ảnh bậc cao hoặc mô hình biến dạng được sử dụng, quan sát nhiều hơn có lợi.
  • Cân nhắc sử dụng các mục tiêu được mã hóa duy nhất như bảng CharuCo. Điều này cho phép bạn thu thập các quan sát từ các cạnh của cảm biến và ống kính máy ảnh, và do đó hạn chế các thông số méo rất tốt. Ngoài ra, chúng cho phép bạn thu thập dữ liệu ngay cả khi các điểm tính năng đơn lẻ không đáp ứng các yêu cầu khác.
  • Hiệu chuẩn chỉ chính xác như mục tiêu hiệu chuẩn được sử dụng. Chỉ sử dụng các mục tiêu được in bằng laser để xác nhận và kiểm tra.
  • Gắn đúng mục tiêu hiệu chuẩn và máy ảnh. Để giảm thiểu biến dạng và cúi đầu trong các mục tiêu lớn hơn, hãy gắn chúng theo chiều dọc hoặc đặt trên một giá đỡ cứng nhắc. Thay vào đó hãy xem xét việc di chuyển máy ảnh trong những trường hợp này. Sử dụng chân máy chất lượng và tránh chạm vào máy ảnh trong quá trình mua lại.
  • Loại bỏ những quan sát xấu. Kiểm tra cẩn thận lỗi từ chối. Cả hai lượt xem và mỗi tính năng. Nếu bất kỳ thứ nào trong số này xuất hiện dưới dạng ngoại lệ, hãy loại trừ chúng và hiệu chỉnh lại.

Một công cụ trực tuyến để tạo tệp PDF cho các mục tiêu hiệu chuẩn được tìm thấy tại đây: https://calib.io/pages/camera-calibr-potype-generator


Xin chào, chào mừng bạn đến với DSP SE. Câu trả lời tự quảng cáo thường không được chào đón ở đây. Hãy xem xét làm cho nó trả lời chất lượng cao hơn.
jojek
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.