Làm cách nào tôi có thể xây dựng lại cấu trúc 3D từ một tập hợp hình ảnh?


24

Tôi có một bộ các đường viền (tập hợp các phân đoạn dòng) được nhóm theo cách sau:

Si={I0,Iπ4,I2π4,,I7π4}

Ở đâu

  • Si biểu thị chuỗi ảnh của một đối tượng cụ thể.
  • Ij biểu thị một hình ảnh, với quan điểm ( có nghĩa là chế độ xem trước). j = 0jthj=0

Dưới đây là ví dụ về (xem phía sau): Iπ

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

Làm cách nào tôi có thể xây dựng lại cấu trúc 3d của đối tượng với cho ?Si

Ai đó có thể chỉ cho tôi một số giấy tờ hoặc thậm chí cho tôi một số từ khóa? Tôi biết rằng có rất nhiều bài viết hoạt động với các đám mây điểm và vân vân, nhưng những bài viết đó không hoạt động khi tôi đang hoạt động với các dòng.

Câu trả lời:


20

Thật ra nó là một chủ đề khá khó. Tái tạo 3d đa góc nhìn cổ điển liên quan đến khớp điểm ở vị trí đầu tiên, tức là tìm cùng một điểm trên mỗi hình ảnh. Đưa ra các thông số camera (chế độ xem) cho từng hình ảnh, điểm 3d gốc có thể được xây dựng lại. (Sử dụng tia laser hoặc máy chiếu, cảnh có thể được thắp sáng để việc ghép có thể được thực hiện tương đối dễ dàng.)

Kinh thánh của lĩnh vực này là Hình học nhiều góc nhìn trong thị giác máy tính của Hartley và Zisserman

Trong cuốn sách có một phần về tenor trifocal, đó là một ràng buộc đa tuyến giữa 3 khung nhìn. Nó không chỉ chứa các ràng buộc tương ứng điểm mà còn. Nó có thể được sử dụng để xây dựng lại rất tốt.

Vì vậy, các đường viền của bạn phải được khớp ở vị trí đầu tiên và có thể được xây dựng lại khi biết các thông số máy ảnh (hiệu chỉnh máy ảnh cũng được đề cập trong sách). Sau đó, bạn sẽ có đường viền trong 3d nhưng không có gì hơn. Đối với bề mặt thực, bạn phải làm phù hợp với điểm dày đặc. Mặc dù tenor tôi đã đề cập trông tốt, nó được sử dụng cho các đường thẳng và tôi chắc chắn rằng một chiếc xe hiện đại có các đường cong trên tất cả.

Tôi không biết làm thế nào bạn có những đường viền đó nhưng nhìn thấy hình ảnh bạn đã đăng Tôi khá hoài nghi về sự mạnh mẽ của thuật toán đó, vì vậy việc xây dựng lại sẽ kém.

Một phương pháp khác mà tôi nghĩ đến là thân tàu trực quan hoặc chạm khắc không gian . Các toán học đường viền cũng nên được thực hiện. Chạy phương thức trên mỗi đường viền bạn có thể có mô hình.


Tôi nhận được các đường viền đó bằng cách áp dụng Canny, và sau đó bằng một số thuật toán đơn giản hóa dòng, lấy raster nhị phân và sau đó trả về tập hợp các cạnh. Trên thực tế, có thể liên quan đến hình ảnh đơn giản, không có bộ lọc, nhưng lý do tôi đã thực hiện nhiệm vụ theo cách này là tôi sẽ cần phải liên tục tính toán các đường viền dưới các góc khác nhau (có thể có delta khá thấp: < ) của quan điểm. Tôi nghĩ rằng, nếu tôi có thể khôi phục các cạnh trong 3d, tất cả những gì tôi cần làm chỉ là thực hiện phép chiếu. Có lẽ, đó là một sai lầm (nếu vậy, xin vui lòng, cho tôi biết). π/4
om-nom-nom

1
Tôi không thấy cách bạn có được điểm 3d ngoài đường viền bằng cách chiếu. Có các kỹ thuật mô hình 3d xử lý các bề mặt NURBS trải dài giữa các spline, nhưng bạn phải cung cấp các spline đặc trưng cho điều đó. (Có lẽ một nghệ sĩ 3d có thể định nghĩa đặc tính từ trong ngữ cảnh này, nhưng không phải tôi.) Một lần nữa, tôi nghĩ rằng hình dạng từ đường viền (giống như thân tàu trực quan) có thể xây dựng một mô hình thô cho bạn. Sau đó, bạn có thể tinh chỉnh nó dựa trên hình ảnh. Nhưng không có cách tiêu chuẩn cho điều đó.
Bálint Fodor

2

Mặc dù được đề cập bởi cuốn sách Fodor Hartley và Zisserman chắc chắn đáng để đọc, nó hiểu nhiều hơn cho các thuật toán thực tế. Nó khá lỗi thời và những phương pháp đó không hiệu quả. Về vấn đề của bạn - việc xây dựng vấn đề tự nó rất không phổ biến. Như đã đề cập bởi Fodor bắt đầu với các điểm đặc trưng phù hợp thay vì các đường viền thì dễ dàng hơn rất nhiều. Trong trường hợp điểm, tổng quan hoàn toàn tốt nhất về các phương pháp hiện đại có sẵn là bài báo của Triggs "Điều chỉnh gói - Tổng hợp hiện đại" Nhưng trước khi sử dụng điều chỉnh bó, bạn sẽ khớp điểm tương ứng trên ảnh bằng cách sử dụng một cái gì đó như Sift hoặc khớp mẫu. Google tái tạo 3Dcho ví dụ về một số phương pháp hoàn chỉnh. Bạn cũng có thể sử dụng các gói nguồn mở cho nó, có sẵn một số.

Nếu bạn khăng khăng sử dụng các đường viền, vấn đề sẽ khó khăn hơn rất nhiều, mặc dù vẫn (hầu như) không thể điều khiển được. Trước tiên, bạn sẽ xác định và khớp các đường viền tương ứng trong tất cả các hình ảnh, sau đó viết hàm chi phí - tổng các lỗi từ chối cho từng nhóm đường viền phù hợp là chức năng từ vị trí camera & hướng của mỗi hình ảnh. Sau đó tìm tập hợp vị trí camera giúp giảm thiểu chức năng chi phí này. Mỗi bước của quá trình này là vô cùng khó khăn, và không có tổng quan tốt như Triggs. Bạn có thể google một số giấy tờ có liên quan dưới dạng kết hợp các thuật ngữ "đường viền" "khớp với" "điều chỉnh gói" "lỗi từ chối" "tái tạo 3D".


Mặc dù việc xử lý các tính năng giống như Sift chắc chắn dễ dàng hơn, có một vấn đề là Sift trong miền của tôi thường bắt bóng / phản xạ trên bề mặt xe hơi bóng loáng, vì vậy, sử dụng SIFT tôi nhận được rất nhiều tính năng tiếng ồn không phụ thuộc vào thực tế hình dạng xe do đó tôi giảm độ chính xác.
om-nom-nom

Bạn có thể thử phương pháp dựa trên mô hình nếu bạn biết bạn đang tìm kiếm trên xe. Parametrize mô hình xe chung và cố gắng phù hợp với hình ảnh bằng cách sử dụng tất cả các pixel hình ảnh. Viết hàm chi phí như chức năng của các thông số camera và tham số mô hình xe hơi và giảm thiểu nó. Nó có thể hoạt động (hoặc có thể không) - bạn có vẻ có vấn đề khá khó khăn.
mirror2image

Thật không may, tôi không hiểu những gì bạn đã đề xuất để làm. Xin vui lòng, cung cấp một số ví dụ (nó có thể là bài viết bên ngoài, công việc liên quan hoặc một cái gì đó như thế này).
om-nom-nom

Ý tôi là mô hình hình dạng hoạt động en.wikipedia.org/wiki/Active_shape_model hoặc đôi khi không giống nhau
mirror2image

2

Kiểm tra Tái tạo mô hình từ hình ảnh hơi khác so với những gì bạn đang làm nhưng tôi nói về cách chuyển từ hình ảnh sang mô hình 3d. Ngoài ra, hãy kiểm tra MeshLab , nó có một số thuật toán xây dựng lại mà bạn có thể đưa dữ liệu của mình vào.

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.