Anomaly Detection Based on Hierarchical Clustering of Mobile Robot Data

Overview

Anomaly-Detection-Based-on-Hierarchical-Clustering-of-Mobile-Robot-Data

1. Introduction

This report is present an approach to detect anomaly of mobile robot's current and vibration data. The main idea is examine all data, separate them into two cluster as normal and anomaly and then using these clustering results figure out the merged anomaly score for each data sample. For this purpose, both of current and vibration data are cluster by using Hierarchical clustering algorithm. Before the clustering there are several preprocessing step that are windowing, feature extraction, dynamic time warping and min-max normalization.

You can access our paper here.

2. Interested Data

There are two different types of data that are coming from mobile robots sensors as current and vibration data. Both of them are produce at same frequency but they have different characteristic. Although the current data is numeric data, the vibration data is time series data. So, current data has a single value per each data packet but vibration data has much more value per each data packet.

Current Data Sample Vibration Data Sample

3. Proposed Method

There are two different method are proposed to detect anomaly on data. They have common step as windowing. And also they have some other different steps like feature extraction, normalization and dynamic time warping. These all are about preprocessing steps. After the preprocessing steps data is clustering into two subset by using hierarchical clustering as normal and anomaly. The anomaly scores of each data sample are produces as a result of clustering. And then, the results of two method are collect and anomaly scores are merge for each same data sample. While merging anomaly score, the mean of them are take. Given two method is perform separately using both current and vibration data. Proposed method is shown as below.

Rest of here, method 1 is represent a method which is use feature extraction and method 2 is also represent a method which is use DTW. Remember that both of these methods have also common steps.

3.1 Preprocessing Steps

A. Windowing
In this process, the data are parsed into subsets named as window with same size. For the extract of features of data, the data must be a time series data. In this way, the data are converted time series data. In this project, window size is 3. This step is implement for both two methods. Sample windowing process output is shown as below:

B. Feature Extraction
The features are extracted separately for each window. There are nine different feature as given below:

C. Dynamic Time Warping
In method 2, DTW is used for calculate similarity instead of Euclidean distance. After the windowing process, the data was converted time series data. So now, it is possible to use DTW on data.

Feature Extraction Dynamic Time Warping

D. Min-Max Normalization
Min-max normalization is one of the most common ways to normalize data. For every feature, the minimum value of that feature gets transformed into a 0, the maximum value gets transformed into a 1, and every other value gets transformed into a decimal between 0 and 1. Min-max normalization is executed on features that extracted from window. This step is implement only for method 1.

3.2 Hierarchical Clustering

This clustering technique is divided into two types as agglomerative and divisive. In this method, agglomerative approach is used. At this step, preprocessing steps is already done for method 1 and method 2 and the windows are ready to clustering. These windows are put into hierarchical algorithm to find clusters. As a result, the clusters which windows are belong to are found. They are used for calculate the anomaly score for whole data. This step is implemented for both two methods. And, the dendrogram which is represent the clustering result is produce.

3.3 Find Anomaly Score

The anomaly score is calculated separately from result of hierarchical clustering of both method 1 and method 2. The hierarchical clustering algorithm is produce clusters for each window. With use these clusters, the anomaly score is calculated for each cluster as given below (C: interested cluster, #All window: number of all window, #C window: number of window that belong to cluster C): C_anomaly=(#All Window - #C Window)/(#All Window)
< After the calculation of anomaly score for each method, the merged anomaly score is generate from mean of them. The formula is as follows for generate merged score: C_(merged anomaly score)=(C_(anomaly of method1)+ C_(anomaly of method2))/2
The anomaly score which is higher mean it is highly possible to be anomaly.

4. Experiments

An anomaly score is located right-top of figure. Different clusters are shown with different color.

Current Data Results

Feature Extracted Clustering Anomaly Score DTW Clustering Anoamly Score
Merged Anomaly Score

Vibration Data Results

Feature Extracted Clustering Anomaly Score DTW Clustering Anoamly Score
Merged Anomaly Score

Owner
Zekeriyya Demirci
Research Assistant at Eskişehir Osmangazi University , Contributor of VALU3S
Zekeriyya Demirci
Implementation of the 😇 Attention layer from the paper, Scaling Local Self-Attention For Parameter Efficient Visual Backbones

HaloNet - Pytorch Implementation of the Attention layer from the paper, Scaling Local Self-Attention For Parameter Efficient Visual Backbones. This re

Phil Wang 189 Nov 22, 2022
SeqTR: A Simple yet Universal Network for Visual Grounding

SeqTR This is the official implementation of SeqTR: A Simple yet Universal Network for Visual Grounding, which simplifies and unifies the modelling fo

seanZhuh 76 Dec 24, 2022
GraPE is a Rust/Python library for high-performance Graph Processing and Embedding.

GraPE GraPE (Graph Processing and Embedding) is a fast graph processing and embedding library, designed to scale with big graphs and to run on both of

AnacletoLab 194 Dec 29, 2022
Bayesian Meta-Learning Through Variational Gaussian Processes

vmgp This is the repository of Vivek Myers and Nikhil Sardana for our CS 330 final project, Bayesian Meta-Learning Through Variational Gaussian Proces

Vivek Myers 2 Nov 17, 2022
DrQ-v2: Improved Data-Augmented Reinforcement Learning

DrQ-v2: Improved Data-Augmented RL Agent Method DrQ-v2 is a model-free off-policy algorithm for image-based continuous control. DrQ-v2 builds on DrQ,

Facebook Research 234 Jan 01, 2023
NuPIC Studio is an all­-in-­one tool that allows users create a HTM neural network from scratch

NuPIC Studio is an all­-in-­one tool that allows users create a HTM neural network from scratch, train it, collect statistics, and share it among the members of the community. It is not just a visual

HTM Community 93 Sep 30, 2022
A PyTorch Implementation of Single Shot MultiBox Detector

SSD: Single Shot MultiBox Object Detector, in PyTorch A PyTorch implementation of Single Shot MultiBox Detector from the 2016 paper by Wei Liu, Dragom

Max deGroot 4.8k Jan 07, 2023
Efficient Householder transformation in PyTorch

Efficient Householder Transformation in PyTorch This repository implements the Householder transformation algorithm for calculating orthogonal matrice

Anton Obukhov 49 Nov 20, 2022
For IBM Quantum Challenge 2021 (May 20 - 26)

IBM Quantum Challenge 2021 Introduction Commemorating the 40-year anniversary of the Physics of Computation conference, and 5-year anniversary of IBM

Qiskit Community 140 Jan 01, 2023
Mscp jamf - Build compliance in jamf

mscp_jamf Build compliance in Jamf. This will build the following xml pieces to

Bob Gendler 3 Jul 25, 2022
This repository holds code and data for our PETS'22 article 'From "Onion Not Found" to Guard Discovery'.

From "Onion Not Found" to Guard Discovery (PETS'22) This repository holds the code and data for our PETS'22 paper titled 'From "Onion Not Found" to Gu

Lennart Oldenburg 3 May 04, 2022
Neural implicit reconstruction experiments for the Vector Neuron paper

Neural Implicit Reconstruction with Vector Neurons This repository contains code for the neural implicit reconstruction experiments in the paper Vecto

Congyue Deng 35 Jan 02, 2023
Python Environment for Bayesian Learning

Pebl is a python library and command line application for learning the structure of a Bayesian network given prior knowledge and observations. Pebl in

Abhik Shah 103 Jul 14, 2022
Install alphafold on the local machine, get out of docker.

AlphaFold This package provides an implementation of the inference pipeline of AlphaFold v2.0. This is a completely new model that was entered in CASP

Kui Xu 73 Dec 13, 2022
Detecting Blurred Ground-based Sky/Cloud Images

Detecting Blurred Ground-based Sky/Cloud Images With the spirit of reproducible research, this repository contains all the codes required to produce t

1 Oct 20, 2021
Codebase for the self-supervised goal reaching benchmark introduced in the LEXA paper

LEXA Benchmark Codebase for the self-supervised goal reaching benchmark introduced in the LEXA paper (Discovering and Achieving Goals via World Models

Oleg Rybkin 36 Dec 22, 2022
Graph-Refined Convolutional Network for Multimedia Recommendation with Implicit Feedback

Graph-Refined Convolutional Network for Multimedia Recommendation with Implicit Feedback This is our Pytorch implementation for the paper: Yinwei Wei,

17 Jun 10, 2022
Official implementation of "Learning Forward Dynamics Model and Informed Trajectory Sampler for Safe Quadruped Navigation" (RSS 2022)

Intro Official implementation of "Learning Forward Dynamics Model and Informed Trajectory Sampler for Safe Quadruped Navigation" Robotics:Science and

Yunho Kim 21 Dec 07, 2022
[ICCV 2021 Oral] Just Ask: Learning to Answer Questions from Millions of Narrated Videos

Just Ask: Learning to Answer Questions from Millions of Narrated Videos Webpage • Demo • Paper This repository provides the code for our paper, includ

Antoine Yang 87 Jan 05, 2023
Multimodal Temporal Context Network (MTCN)

Multimodal Temporal Context Network (MTCN) This repository implements the model proposed in the paper: Evangelos Kazakos, Jaesung Huh, Arsha Nagrani,

Evangelos Kazakos 13 Nov 24, 2022