Nhanh chóng tìm các đường thô trong bộ điểm


12

Trong một loại máy dò cụ thể, dữ liệu của chúng tôi xuất hiện dưới dạng các cặp điểm theo hai chiều và chúng tôi muốn xâu chuỗi các điểm này thành các dòng.

Dữ liệu ồn ào, và được đánh dấu theo một hướng nhưng không theo hướng khác. Chúng tôi không thể đảm bảo một lần truy cập trong mỗi thùng ngay cả khi mỗi phần tử dò hoạt động, do đó có thể bị bỏ qua.

Chuỗi phân tích hiện tại của chúng tôi trông giống như

  1. Điều chỉnh lượt truy cập để hiệu chuẩn các yếu tố dò riêng lẻ
  2. Tìm cụm
  3. Đường thẳng phù hợp với các cụm
  4. Kết nối các cụm thành các cấu trúc giống như dòng dài hơn
  5. ...

Câu hỏi này liên quan đến bước (3).

Chúng tôi đã sử dụng một biến đổi Hough cho bước đó và nó hoạt động tốt, nhưng khi chúng tôi cố gắng mở rộng quy mô từ giường thử nghiệm sang mô phỏng dự án toàn diện, nó trở nên chậm chạp không thể chấp nhận được.

Tôi đang tìm kiếm một cách nhanh hơn.


Đối với những người có thể quan tâm trường hợp sử dụng thực tế ở đây là Buồng chiếu thời gian Argon lỏng


1
Chúng tôi cũng đã thực hiện một phương pháp Hough Transform đệ quy để theo dõi đường dẫn thông qua các Buồng theo tỷ lệ đa dây tại FermiLab. Luận án cao cấp của Erik Kangas có tất cả các chi tiết. Tôi nghĩ rằng đây vẫn là cách tốt nhất để làm điều đó.
Matt Knepley

1
Ý của bạn là "... cặp trên điểm ..." hay "... cặp điểm ..." trong câu đầu tiên?
Bill Barth

Câu trả lời:


2

Có một phiên bản xác suất của biến đổi Hough (PHT) nhanh hơn. Theo mô tả của Bradski & Kaehler trong cuốn sách OpenCV của họ:

Ý tưởng là dù sao thì đỉnh sẽ đủ cao, sau đó nhấn nó chỉ một phần nhỏ thời gian sẽ đủ để tìm thấy nó.

Thư viện OpenCV trình bày một triển khai cho PHT.

Có những lựa chọn thay thế khác. Không khó để tạo một phiên bản phân tán của biến đổi Hough. Chỉ cần chia điểm của bạn thành các phần nhỏ hơn và sử dụng khung MapReduce để tổng hợp tất cả các bộ tích lũy. Ý tưởng khác là thực hiện một phiên bản thô của biến đổi Hough bằng cách sử dụng một không gian tham số với độ phân giải thấp. Chọn các ứng cử viên tốt nhất của bạn và chạy một vòng lặp tốt hơn bằng cách sử dụng một không gian tham số thể hiện độ phân giải cao hơn. Có lẽ đây là ý tưởng đằng sau FHT của Gandalf.


1
PHT đã được đề xuất trong: Matas, J. và Galambos, C. và Kittler, JV, Phát hiện mạnh mẽ các dòng bằng cách sử dụng Biến đổi xác suất tiến bộ. CVIU 78 1, trang 119-137 (2000).
TH.

Khóa học sau đó thủ tục tốt có thể được khái quát thành nhiều bước, đó là những gì Gandalf làm.
dmckee --- mèo con điều hành

BTW - Trong thời gian kể từ khi tôi hỏi câu hỏi này, một đồng nghiệp đã thêm một mô-đun bằng cách sử dụng phiên bản xác suất lũy tiến của biến đổi vào mã của chúng tôi. Điều này đi kèm với một số thay đổi liên quan nên khó có thể mô tả chính xác sự khác biệt mà nó tạo ra, nhưng nó là một phần của gói tăng tốc một vài bước phân tích đáng kể. Vì vậy, tôi sẽ chấp nhận đây là lời khuyên "chiến thắng".
dmckee --- ex-moderator mèo con

5

Đồng nghiệp của tôi đã tìm thấy Biến đổi nhanh Hough trong thư viện Gandalf , có vẻ rất hứa hẹn nhưng có thể có rất nhiều công việc để tích hợp, vì vậy tôi đang tìm kiếm các phương pháp khác.

Việc triển khai Gandalf rất thú vị: họ đánh giá không gian tích lũy theo cách đệ quy như thể đi ngang qua một cây bốn hoặc tám cây. Các khu vực không có nhiều mật độ được ném ra khi họ đi.

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.