Xác định định hướng máy bay trực thăng đồ chơi từ hình ảnh


7

Tôi đang làm việc để phát triển một hệ thống điều khiển tự động cho các máy bay trực thăng điều khiển từ xa IR đồ chơi (ví dụ như Syma s107 chẳng hạn) bằng cách sử dụng webcam và Arduino với một số đèn LED IR. Tôi đang sử dụng C ++ với OpenCV trên máy tính xách tay chạy ở tốc độ khoảng 2Ghz và tôi cần giữ cho hệ thống càng gần với thời gian thực càng tốt.

Tôi không chắc chắn về cách xác định hiệu quả chuyển động quay của máy bay trực thăng trong hình ảnh 2D (chính xác hơn là ngáp của nó đối với mặt phẳng hình ảnh camera). Thông tin này rất quan trọng để có thể ổn định máy bay trực thăng trong màn hình vì nếu không nó sẽ bay ra khỏi tầm nhìn.

Tôi đã xem xét, và ít nhất một phần đã cố gắng xác định vị trí của cơ thể và đuôi và sử dụng một số thủ thuật hình học và phối cảnh để có được ước tính về hình dạng nhưng việc tìm chính xác đuôi và cơ thể có độ ồn đủ thấp tỏ ra khó khăn. Tôi cũng đã cân nhắc sử dụng các dấu màu của một số loại trên một số điểm nhất định của máy bay trực thăng nhưng tôi không chắc làm thế nào để có được ước tính chính xác hơn so với xấp xỉ trái và xấp xỉ phải.


2
Bạn có thể đăng một số hình ảnh mẫu (tốt nhất là không lớn) và làm nổi bật các vấn đề với chúng?

@mtrw Tôi không biết. Đây là nhiều hơn một vấn đề nhận dạng hình ảnh. Tuy nhiên, đó không phải là một chút nhận dạng hình ảnh mà tôi biết bất cứ điều gì.
dmckee --- ex-moderator mèo con

ĐỒNG Ý. Tôi lấy lại Thẻ hoạt động mạnh nhất của họ là [xử lý hình ảnh]. Điều này có thể rất phù hợp với dsp.se.
dmckee --- ex-moderator mèo con

Câu trả lời:


4

Đối với ngáp, nó có đủ ba điểm dữ liệu riêng biệt được gắn vào máy bay trực thăng trong một mặt phẳng song song với vòng quay của rôto: ví dụ như các đèn led màu khác nhau. Bạn có thể đặt chúng trên ba cánh tay hướng tâm mỏng cố định vào thiết bị hạ cánh. Có thể các vật liệu phản chiếu màu cũng sẽ hoạt động, nhưng bạn phải bù đắp cho sự thay đổi ánh sáng môi trường.

Sau đó, có được góc ngáp là đơn giản. Giả sử các đèn có màu đỏ, xanh lá cây và xanh lam cách nhau 120 độ và ccw khi nhìn từ trên xuống.

nhập mô tả hình ảnh ở đây

Sau đó, trong hình ảnh, bạn sẽ thấy các đèn này theo các thứ tự tọa độ x khác nhau. Khi máy bay trực thăng quay ccw từ vị trí hiển thị trong sơ đồ:

G R B   // green and blue in front; red in back
R G B   // green in front; red and blue in back
R B G   // red and gree in front; blue in back
B R G   // etc...
B G R
G B R

(Tất nhiên tại biên giới của các khu vực này, hai đèn sẽ hợp nhất thành một điểm duy nhất. Chúng có thể được xử lý như các trường hợp đặc biệt.)

Vì vậy, với 3 đèn bạn đã chia tất cả các ngáp có thể nhìn thấy thành các phân đoạn 6 x 60 độ.

Bạn có thể tiếp tục giảm độ phân giải xuống 30 độ bằng cách chỉ so sánh độ rộng "khoảng cách" bên trái và bên phải. Nếu chỉ trực tiếp ra khỏi máy ảnh là góc phương vị 0 độ và đèn đỏ chiếu vào mũi (như trong hình), thì algoritm là:

Xr = -sin(theta)
Xg = -sin(theta + 60)
Xb = -sin(theta + 120)
if (Xg < Xr && Xr <= Xb) {
  // Green and blue are in front of red
  dxLeft = Xr - Xg
  dxRight = Xb - Xr
  yaw = (dxLeft < dxRight) ? 15+-15 : -15+-15;
}
else if (Xr < Xg && Xg < Xb) {
  // Green is in front of red and blue
  dxLeft = Xg - Xr
  dxRight = Xb - Xg
  yaw = (dxLeft < dxRight) ? 30+-15 : 60+-15;
}
else ... four more cases

Độ X+-15trung bình trên Xcộng hoặc trừ 15: phân khúc 30 độ. Để có được độ lệch chính xác, bạn có thể tạo một bảng được xử lý trước để chuyển đổi tỷ lệ

R = dxLeft < dxRight ? xLeft / xRight : xRight / xLeft

vào một góc phương vị chính xác trong khoảng từ -15 đến 15. Đây là lượng giác khá đơn giản để thực hiện, và điều tuyệt vời là nó hoạt động độc lập với khoảng cách của máy bay trực thăng, miễn là nó không bao giờ bị đảo lộn!

Một lợi ích khác: khoảng cách hình ảnh giữa hai đèn bên ngoài cho bạn khoảng cách nghịch đảo với máy ảnh.


Bạn cũng có thể cần tính đến vị trí của máy bay trực thăng so với máy ảnh (ít nhất là theo hướng X), vì điều này có thể sẽ ảnh hưởng đến khoảng cách giữa các đèn LED xuất hiện. Nhưng tôi nghĩ rằng một số công việc trig thông minh sẽ cho phép bạn bù đắp cho nó.

Bạn cần phải biết chắc chắn các đặc tính tiêu cự của máy ảnh quang học và mặt phẳng hình ảnh, nhưng miễn là máy bay trực thăng không quá gần, hiệu ứng ngoài trục sẽ nhỏ.

1

Ý tưởng đánh dấu có thể làm việc.

 ___ ___                ___  ___ 
  m | m                  m /  m
    |                     /   
    +                    +   
    |                   /   
    |                  /   
 --- ---           --- --- 


   \ /                   \ /        
    c                     c   

Hãy tưởng tượng đặt các điểm đánh dấu ở phía xa của máy bay trực thăng và khiến chúng bị chặn ở phía gần. Khi máy bay trực thăng quay, điểm đánh dấu ở phía tiếp cận sẽ được tiếp xúc với máy ảnh.


1

Có thể tính toàn bộ vị trí và hướng của máy photocopy với: 4 điểm đã biết trên mặt phẳng + máy ảnh được hiệu chỉnh hoặc với 6 điểm đã biết (cấu hình 3D nhất định sẽ không hoạt động, ví dụ: các điểm không được nằm trên cùng một mặt phẳng). Xem câu hỏi này cho thuật toán 6 điểm , đối với thuật toán 4 điểm, tôi đã tìm thấy luận án thạc sĩ của Liljequist - Máy bay, Homographies và thực tế Augmented rất hữu ích, nhưng tôi không thể tìm thấy nó trên mạng. Bài báo ngắn gọn hơn tập trung vào hiệu chuẩn được viết bởi Zhang - Một kỹ thuật mới linh hoạt cho hiệu chỉnh máy ảnh.

Cuốn sách hay về chủ đề: Hartley, Zisserman - Hình học nhiều góc nhìn trong thị giác máy tính.

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.