Có bất kỳ kỹ thuật máy học để xác định điểm trên lô / hình ảnh?


8

Tôi có dữ liệu cho vị trí bên của mỗi chiếc xe theo thời gian và số làn đường như được hiển thị trong 3 ô này trong hình ảnh và dữ liệu mẫu bên dưới.

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

> a
   Frame.ID   xcoord Lane
1       452 27.39400    3
2       453 27.38331    3
3       454 27.42999    3
4       455 27.46512    3
5       456 27.49066    3

Vị trí bên thay đổi theo thời gian vì người lái xe không có quyền kiểm soát hoàn hảo đối với vị trí của xe. Thao tác thay đổi làn đường bắt đầu khi vị trí bên thay đổi mạnh mẽ và kết thúc khi biến thể trở lại 'bình thường'. Điều này không thể được xác định từ dữ liệu trực tiếp. Tôi phải xem xét thủ công từng ô của xe để xác định điểm bắt đầu và điểm kết thúc của việc điều chỉnh làn đường để ước tính thời gian thay đổi làn đường. Nhưng tôi có hàng ngàn phương tiện trong bộ dữ liệu. Bạn có thể vui lòng hướng dẫn tôi đến bất kỳ thuật toán phân tích hình ảnh / máy học có liên quan nào có thể được đào tạo để xác định những điểm này không? Tôi làm việc ở R. Cảm ơn trước.


Bạn đã cố gắng xác định một cách toán học những gì bạn làm khi bạn tự phân loại các thao tác thay đổi làn đường? Bạn có đang tìm kiếm một sự thay đổi từ một khoảng thời gian ổn định gần với độ dốc bằng không của chức năng vị trí làn đường, sau đó là sự gia tăng lớn về độ dốc của độ dốc, dẫn đến một khoảng thời gian khác gần với độ dốc bằng 0 hoặc kết thúc dữ liệu?
image_doctor

Bạn có một số hình ảnh gốc để chúng tôi thử nghiệm không?
image_doctor

Trục và tỷ lệ là những huyền thoại không đặc biệt nhất quán trên các hình ảnh ví dụ, có cách nào để chuẩn hóa các ô, hoặc bạn không có quyền kiểm soát việc tạo hình ảnh?
image_doctor

1
Vâng, tôi hiểu rằng bạn muốn xác định điểm kết thúc của làn đường thay đổi, nhưng nếu bạn đã có làn đường của phương tiện mỗi lần, thì không khó để phát hiện những thay đổi đó. Tôi sẽ bắt đầu bằng cách xác định khi nào chúng ta nên xem xét rằng chiếc xe sẽ không thay đổi làn đường nữa (ví dụ sau một số giây nhất định lái xe trên cùng một làn đường). Bạn có thể sử dụng cửa sổ để phát hiện các phân đoạn trong đó phương tiện giữ cùng làn đường và các điểm ở đầu và cuối của các đoạn đó mô tả "bắt đầu thay đổi làn đường" và "kết thúc thay đổi làn đường".
Robert Smith

1
Tuyệt quá. Tôi nghĩ bạn không có nguồn gốc và làn đường đích nhưng nếu bạn luôn có chúng, giải pháp của bạn sẽ hoạt động và sử dụng thêm dữ liệu bạn đã có để xây dựng định nghĩa về thay đổi làn đường.
Robert Smith

Câu trả lời:


2

Một dẫn xuất đầu tiên, trên bề mặt, sẽ làm điều đó. Tuy nhiên, dữ liệu bạn hiển thị có rất nhiều nhiễu trong đó, vì vậy chúng tôi cần một cách để đánh giá đạo hàm đầu tiên theo cách hơi ồn ào, hoặc ít nhất là trong một miền tần số loại bỏ jitter và duy trì sự thay đổi đạo hàm chính.

Phân tích Wavelet có thể đạt được điều này cho bạn, đặc biệt nếu bạn sử dụng đạo hàm đầu tiên của Gaussian làm sóng con của mẹ. R có một số gói wavelet phong nha (xem r-project.org để bắt đầu). Nếu bạn thực hiện biến đổi wavelet ở quy mô ngắn, điều này sẽ xác định vị trí của các bit của jitter trong tay lái. Nếu bạn làm điều đó ở quy mô lớn hơn (tức là tần số thấp hơn), bạn có thể chỉ tìm thấy sự thay đổi làn đường chứ không phải những người hốt hoảng nhỏ.

Nếu bạn huấn luyện biến đổi với một tập dữ liệu hợp lý, bạn sẽ có thể xác định tỷ lệ hoặc phạm vi tỷ lệ tương ứng với thay đổi làn đường. Nhưng lưu ý rằng nếu bạn không tìm ra điều đó, thì đây là một cái gì đó giống như O (n ^ 2), vì vậy hãy cố gắng thu hẹp phạm vi tỷ lệ xuống một chút để tiết kiệm thời gian tính toán.


1

Có vẻ như bạn chỉ cần tìm kiếm một vài giây cao hơn sau đó là đạo hàm tiếng ồn. Chỉ cần tính giá trị tuyệt đối của chênh lệch hữu hạn từ mỗi dấu thời gian đến giá trị cuối cùng (hoặc một trong số trước) và chờ đợi một loạt các giá trị cao. Đó là khi một sự thay đổi làn đường xảy ra.


Đây thực sự là những gì tôi đã làm ở nơi đầu tiên. Vấn đề là ngưỡng chênh lệch và giá trị "cao" rất chủ quan vì hành trình của mỗi chiếc xe là khác nhau.
umair durrani

1

Hãy thử gói changepoint . Tôi đã sử dụng nó trong một trường hợp tương tự.

Phân tích Changepoint là tên thống kê cho các phương pháp phát hiện các thay đổi giữa hai "chế độ". Một chiếc ô tô ở trong làn đường là một đường có độ dốc 0 tại điểm giữa của làn đường. Bạn có thể dễ dàng lắp một mô hình thống kê cho xe ô tô đang chạy trên làn đường. Làn đường thay đổi ô tô đang lái xe dọc theo một đường có độ dốc không bằng 0. Mô hình đã thay đổi. Phân tích Changepoint và gói changepoint, chính xác là những gì bạn cần để xác định điểm khi một mô hình thay đổi từ y=a' (straight and level) toy = a + bx` (đi lên hoặc xuống).


Đây thực chất là một câu trả lời chỉ liên kết và có xu hướng không được khuyến khích trên SE. Có lẽ bạn có thể giải thích nó là gì và tại sao nó hữu ích.
Sean Owen

@AlbertoD Ngôn ngữ cổ xưa của họa tiết bạn chia sẻ không hữu ích cho người mới biết về khái niệm phân tích thay đổi.
umair durrani

@AlbertoD Bạn có thể vui lòng cung cấp bất kỳ ví dụ nào về cách bạn đã sử dụng gói cp trong trường hợp của mình không?
umair durrani
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.