Làm thế nào tôi nên bình thường hóa dữ liệu cảm biến gia tốc của mình?


9

Tôi đang làm việc với một tập hợp lớn dữ liệu gia tốc được thu thập với nhiều cảm biến được đeo bởi nhiều đối tượng. Thật không may, dường như không ai ở đây biết các thông số kỹ thuật của thiết bị và tôi không nghĩ rằng chúng đã từng được kiểm tra lại. Tôi không có nhiều thông tin về các thiết bị. Tôi đang làm việc trên luận án thạc sĩ của mình, gia tốc kế được mượn từ một trường đại học khác và hoàn toàn là tình huống có một chút không rõ ràng. Vì vậy, tiền xử lý trên thiết bị? Không có manh mối.

Những gì tôi biết là chúng là gia tốc kế ba trục với tốc độ lấy mẫu 20Hz; kỹ thuật số và có lẽ là MEMS. Tôi quan tâm đến hành vi và cử chỉ phi ngôn ngữ, mà theo các nguồn của tôi chủ yếu sẽ tạo ra hoạt động trong phạm vi 0,3-3,5Hz.

Bình thường hóa dữ liệu có vẻ khá cần thiết, nhưng tôi không chắc nên sử dụng cái gì. Một phần rất lớn của dữ liệu gần với các giá trị còn lại (giá trị thô ~ 1000, từ trọng lực), nhưng có một số cực trị như lên tới 8000 trong một số bản ghi, hoặc thậm chí 29000 trong các bản ghi khác. Xem hình ảnh dưới đây . Tôi nghĩ rằng điều này làm cho nó là một ý tưởng tồi để chia cho max hoặc stdev để bình thường hóa.

Cách tiếp cận thông thường trong trường hợp như thế này là gì? Chia theo trung vị? Một giá trị phần trăm? Thứ gì khác?

Là một vấn đề phụ, tôi cũng không chắc mình có nên cắt các giá trị cực đoan không ..

Cảm ơn vì lời khuyên!

Chỉnh sửa : Dưới đây là sơ đồ khoảng 16 phút dữ liệu (20000 mẫu), để cung cấp cho bạn ý tưởng về cách dữ liệu được phân phối điển hình.

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


1
Bạn có thể cung cấp thêm một chút thông tin về thiết lập đo lường của bạn? Các câu hỏi xuất hiện trong đầu: ( 1 ) Đây là các gia tốc kế đơn trục hay đa trục? ( 2 ) Chúng có được lọc cao hay không và nếu có thì như thế nào? (Nghe có vẻ như không phải, dựa trên mô tả của bạn.) ( 3 ) Chính xác bạn đang đo gì và dải tần số của tín hiệu quan tâm là gì? ( 4 ) Cơ chế cảm biến (nghĩa là MEMS, áp điện, điện dung, v.v.) hoặc, thậm chí, số phần (!) Của gia tốc kế bạn đang sử dụng là gì? ...
Đức hồng y

... (Tiếp) ( 5 ) Đây có phải là kỹ thuật số hoàn toàn hay bạn có ADC của riêng mình (16-bit, có thể, theo mô tả bạn đưa ra)?
hồng y

@cardinal: Tôi đã chỉnh sửa trong câu trả lời cho câu hỏi của bạn, cảm ơn vì đã hỏi. Không chắc chắn ADC là gì. Tôi đã tham gia vào thí nghiệm, nhưng không trích xuất dữ liệu từ bộ nhớ thiết bị, có một khoảng cách giữa việc thu thập dữ liệu và nơi tôi nhận được một loạt các bản ghi nhị phân.
Junuxx

Xin chào, Junuxx. Xin lỗi vì từ viết tắt không giải thích được (ADC = "bộ chuyển đổi tương tự sang số"); Tôi mặc nhiên cho rằng bạn nhận ra nó dựa trên câu hỏi của bạn.
hồng y

1
Bạn đang cố gắng tìm hiểu gì từ những dữ liệu này? Có lẽ bạn đang cố gắng phát hiện một số loại sự kiện, ước tính tần suất của sự kiện, ước tính gia tốc trung bình, tìm mối tương quan giữa các gia tốc kế khác nhau, ...? Vấn đề là nếu bạn muốn lời khuyên tốt, phù hợp, đừng hỏi về các quy trình kỹ thuật với dữ liệu (có thể không liên quan hoặc thậm chí vô dụng, tùy thuộc vào ứng dụng): trước tiên hãy cho chúng tôi biết bạn đang cố gắng giải quyết vấn đề gì .
whuber

Câu trả lời:


14

Các tín hiệu thô mà bạn hiển thị ở trên dường như không được lọc và không được hiệu chỉnh. Lọchiệu chuẩn phù hợp , với một số từ chối giả tạo sẽ có hiệu lực bình thường hóa dữ liệu. Cách tiếp cận tiêu chuẩn với dữ liệu gia tốc là như sau:

  1. Bộ lọc - ví dụ: thứ 4, bộ lọc thông thấp hoặc băng thông IIR pha 0
  2. Từ chối giả tạo - ngưỡng dựa
  3. Hiệu chuẩn - Phương pháp Ferraris et al ( Quy trình hiệu chuẩn trong trường của con quay hồi chuyển và gia tốc tốc độ ba trục, F Ferraris, U Grimaldi, M Parvis - Bộ cảm biến và Thiết bị truyền động, 1995 ) hoạt động tốt cho việc này.

Đó là khuyến khích để thực hiện từ chối nhân tạo trên dữ liệu cảm biến quán tính. Tôi sẽ lo ngại rằng bạn không biết nguồn gốc của dữ liệu và vì vậy bạn không thể đảm bảo rằng các cảm biến được gắn chính xácnhất quán (về định hướng và vị trí vật lý) cho tất cả các đối tượng. Nếu các cảm biến không được gắn chính xác, bạn có thể nhận được rất nhiều tín hiệu trong các tín hiệu, vì cảm biến có thể di chuyển so với phân đoạn cơ thể. Tương tự, nếu các cảm biến được định hướng khác nhau (theo cách chúng được đặt) trên các đối tượng khác nhau, dữ liệu sẽ khó so sánh giữa các đối tượng.

Với kích thước của các ngoại lệ mà bạn báo cáo, chúng dường như là đồ tạo tác. Các tạo phẩm như vậy hầu như sẽ làm lệch mọi tính toán hiệu chuẩn (mặc dù hiệu quả của chúng sẽ được giảm bớt bằng cách lọc phù hợp) và do đó hiệu chuẩn phải được thực hiện sau khi loại bỏ giả.

Một ngưỡng đơn giản có thể hoạt động tốt cho một thói quen từ chối giả tạo ban đầu, tức là loại bỏ (hoặc thay thế bằng NaN) tất cả các mẫu trên một ngưỡng thực nghiệm nhất định. Các kỹ thuật phức tạp hơn sẽ tính toán thích ứng ngưỡng này bằng cách sử dụng cửa sổ trung bình hoặc di chuyển.

Tùy thuộc vào vị trí của cảm biến, bạn cũng có thể muốn điều chỉnh mức độ ảnh hưởng của trọng lực đến các tín hiệu gia tốc, mặc dù hiểu biết chi tiết về trục cảm biến và định vị là rất quan trọng ở đây. Phương pháp Moe-Nillson ( R. Moe-Nilssen, Một phương pháp mới để đánh giá điều khiển động cơ trong dáng đi trong điều kiện môi trường thực tế. Phần 1: Công cụ, Cơ chế sinh học lâm sàng, Tập 13, Số 4, 5, tháng 6 năm 1998, Trang 320-327 ) được sử dụng phổ biến nhất và hoạt động tốt đối với các cảm biến quán tính gắn phía dưới.

Một nơi tốt để bắt đầu kiểm tra dữ liệu để nhận dạng cử chỉ sẽ là chia dữ liệu đã được hiệu chỉnh, được hiệu chỉnh thành epoch (ví dụ 10 giây) và tính toán một số tính năng trên mỗi epoch và liên kết chúng với các nhãn bạn có cho dữ liệu, tôi có thể ' T cung cấp lời khuyên cụ thể hơn mà không biết thêm về tập dữ liệu và các nhãn liên quan.

Hi vọng điêu nay co ich.


Đó là một câu trả lời tuyệt vời @BGreene, cảm ơn bạn rất nhiều! Tài liệu tham khảo cũng rất hữu ích. Tôi ước tôi đã hỏi câu hỏi này một vài tháng trước. Các cảm biến được đeo trên một sợi dây quanh cổ (không phải ý tưởng của tôi), vì vậy chắc chắn có rất nhiều chuyển động liên quan đến cơ thể. Tôi nghĩ rằng một số đề xuất của bạn phù hợp hơn cho nghiên cứu tiếp theo, nhưng ít nhất chúng sẽ hữu ích cho phần Công việc Tương lai của tôi. Và may mắn thay, phần công nhận không phải là vấn đề, tôi có một nền tảng khá vững chắc trong học máy, nhưng cảm ơn vì những gợi ý về điều đó.
Junuxx

Không vấn đề gì. Trong trường hợp đó, tôi sẽ nghĩ rằng bạn sẽ bị giới hạn trong việc kiểm tra các chuyển động thô như một sợi dây có nghĩa là bạn không thể nói một cách đáng tin cậy cách cơ thể di chuyển, chỉ có cảm biến. Bạn có thể suy ra rằng các giá trị đầu ra của cảm biến lớn tương đương với các chuyển động thô lớn nhưng bạn sẽ mất rất nhiều độ sắc nét của một cảm biến được gắn đúng.
BGreene

(+1 ngày hôm qua) Một vài điều có thể được tính đến trong (1.) ở trên. Do giới hạn dưới của dải tần quan tâm là khá nhỏ, nên một cách khác để xem xét chỉ đơn giản là áp dụng bộ lọc thông thấp và trừ đi giá trị trung bình. Thứ hai, thay vì bộ lọc IIR, người ta có thể xem xét bộ lọc đáp ứng xung hữu hạn pha tuyến tính trong trường hợp này. Tôi nói điều này bởi vì tôi nghi ngờ rằng để dự đoán cử chỉ bằng cách sử dụng tín hiệu gia tốc đa trục, người ta sẽ muốn giữ cho chuyển động được đồng bộ hóa độc lập với tần số. (tt)
hồng y

(...) Đáp ứng pha phi tuyến của bộ lọc IIR sẽ dịch chuyển các thành phần khác nhau theo số lượng khác nhau và hiệu ứng này có xu hướng tồi tệ hơn gần tần số cắt. Vì mọi thứ đều là kỹ thuật số, nên có ý nghĩa với bộ lọc FIR pha pha. Thông thường người ta cũng kiểm soát tốt hơn các phản ứng thoáng qua là tốt. :-)
hồng y

@cardinal đó là tất cả sự thật - đã chỉnh sửa phản hồi của tôi ở trên. chỉ cần kiểm tra mã của tôi - thuật toán gia tốc gần đây nhất của tôi sử dụng bộ lọc Butterworth IIR không pha. Mặc dù tôi muốn tránh trừ trung bình cho các phân đoạn dữ liệu ngắn
BGreene
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.