Ước tính vị trí 3D bằng camera 2D


9

Tôi có một máy ảnh (iPhone), tôi có một đối tượng điều khiển 3D trong hình ảnh mà tôi biết rất rõ các thuộc tính của nó. (Đối tượng kiểm soát của tôi). Ngoài ra còn có một đối tượng thứ cấp trong chuyển động. Mục tiêu cuối cùng là thiết lập quỹ đạo 3D của vật thể chuyển động trong một khoảng thời gian nhất định. (Theo dõi)

Tôi muốn hỏi, tôi có thể tìm hiểu?

  • Khoảng cách của điện thoại đến đối tượng điều khiển (để thảo luận, giả sử máy ảnh ở độ cao nhất định và khoảng cách nhất định không ai trong số chúng biết nhưng máy ảnh vuông góc với bề mặt đã biết)

  • Đối tượng thứ cấp nơi tôi có thể định vị đối tượng trong mỗi khung tiếp theo. Mục tiêu của tôi là ước tính quỹ đạo 3D của nó như tôi đã chỉ ra ở trên.

Câu hỏi bổ sung, chúng ta có thể đặt hệ thống sao cho khoảng cách điện thoại đến đối tượng điều khiển có thể được đặt (mặc dù không được ưu tiên), điều này có giúp tôi với điểm thứ hai không?


Bạn có quen thuộc với các tài liệu trong lĩnh vực này? Nếu không tôi có thể giới thiệu một số bài báo, nhưng được cảnh báo: toán học có liên quan.
Emre

@emre sẽ thật tuyệt nếu bạn có thể cung cấp một số gợi ý. Toán học không có vấn đề gì, chúng tôi yêu toán học.
Ktuncer


@emre Tôi đã xem nhanh bài đánh giá .. Đây là nhiều hơn để theo dõi, tôi có thể theo dõi đối tượng dễ dàng, đó không phải là vấn đề. Tôi có thể xác định điểm mà đối tượng là pixel. Vấn đề là nơi đối tượng ở trong không gian 3D. Điều này có thể không? Về cơ bản, tôi có một đối tượng khác trong không gian 3D mà tôi biết các thuộc tính mà tôi có thể sử dụng làm khung tham chiếu nhưng đó là nó.
Ktuncer

Tôi xin lỗi, giấy sai. Có lẽ bạn có thể điều chỉnh Theo dõi quỹ đạo 3D dựa trên tầm nhìn cho môi trường không xác định [PDF]? Họ sử dụng một camera âm thanh nổi; đó là một khả năng cho bạn?
Emre

Câu trả lời:


15

Nếu đối tượng của bạn có 6 điểm đã biết (tọa độ 3D đã biết, Z ), bạn có thể tính toán vị trí của máy ảnh liên quan đến hệ tọa độ đối tượng.X,YZ

Đầu tiên một số điều cơ bản.

Tọa độ đồng nhất là trình bày vector của Euclide phối hợp trong đó chúng tôi đã gắn cái gọi là yếu tố quy mô ω như vậy mà các tọa độ đồng nhất là X = ω [ X Y Z 1 ] T . Trong tính toán của riêng bạn cố gắng giữ ω = 1 càng nhiều càng tốt (có nghĩa là bạn "bình thường hóa" các tọa độ đồng nhất bằng cách chia nó với yếu tố cuối cùng của nó: XX(X,Y,Z)ωX=ω[XYZ1]Tω=1 ). Chúng tôi cũng có thể sử dụng trình bày đồng nhất cho 2D chỉ như vậyx=ω[ X Y 1 ](hãy nhớ rằng nhữngω,X,YZlà khác nhau cho mỗi điểm, có thể là 2D hoặc 3D điểm). Trình bày phối hợp đồng nhất làm cho toán dễ dàng hơn.XXωx=ω[XY1]ω,X,YZ

Ma trận máy ảnh là ma trận chiếu từ thế giới 3D đến cảm biến hình ảnh:3×4

x=PX

Trong đó là điểm trên cảm biến hình ảnh (có đơn vị pixel) và X là điểm 3D được chiếu (giả sử rằng nó có milimet là đơn vị của nó).xX

Chúng ta nhớ rằng tích chéo giữa hai vectơ 3 có thể được định nghĩa là phép nhân vectơ ma trận sao cho:

v×u=(v)xu=[0v3v2v30v1v2v10]u

v×v=0

Px

(x)xx=(x)xPX=0

Aha! Kết quả phải là vectơ không. Nếu bây giờ chúng ta mở phương trình, chúng ta sẽ nhận được:

[0wyw0xyx0][P1,1P1,2P1,3P1,4P2,1P2,2P2,3P2,4P3,1P3,2P3,3P3,4]X=[P3,4WyP2,1XwP2,2YwP2,4Ww+P3,1XyP2,3Zw+P3,2Yy+P3,3ZyP1,4Ww+P1,1XwP3,4Wx+P1,2YwP3,1Xx+P1,3ZwP3,2YxP3,3ZxP2,4Wx+P2,1XxP1,4WyP1,1Xy+P2,2YxP1,2Yy+P2,3ZxP1,3Zy]=0

P

[0000XwYwZwWwXyYyZyWyXwYwZwWw0000XxYxZxWxXyYyZyWyXxYxZxWx0000][P1P2P3]=0

PnnP

Tạm dừng nhỏ để chúng tôi có thể thu thập khó khăn của chúng tôi. Lưu ý rằng phương trình ma trận trước phải được hình thành cho mỗi tương ứng 3D-> 2D đã biết (phải có ít nhất 6 trong số chúng).

2×12A

A[P1P2P3]=0

[P1P2P3]=0

May mắn thay, chúng ta có thể sử dụng phân rã giá trị số ít (SVD) để buộc

[P1P2P3]=1

AP[P1P2P3]TP

P

P=K[RRC]

CPP

(Hartley, Zisserman - Hình học nhiều chế độ trong thị giác máy tính)

X

x1=P1Xx2=P2X

(x1)xP1X=0(x2)xP2X=0

Và như thế.


Có đúng không khi nói rằng cách bạn tính toán vị trí 3D của máy ảnh tương đương với OpenCV giải quyếtPnp? docs.opencv.org/2.4/modules/calib3d/doc/... (tìm kiếm solvePnP trong trang Tôi không thể dán URL bằng #.)
gregoiregentil
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.