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
Chainer Implementation of Semantic Segmentation using Adversarial Networks

Semantic Segmentation using Adversarial Networks Requirements Chainer (1.23.0) Differences Use of FCN-VGG16 instead of Dilated8 as Segmentor. Caution

Taiki Oyama 99 Jun 28, 2022
How to Predict Stock Prices Easily Demo

How-to-Predict-Stock-Prices-Easily-Demo How to Predict Stock Prices Easily - Intro to Deep Learning #7 by Siraj Raval on Youtube ##Overview This is th

Siraj Raval 752 Nov 16, 2022
General Assembly Capstone: NBA Game Predictor

Project 6: Predicting NBA Games Problem Statement Can I predict the results of NBA games from the back-half of a season from the opening half of the s

Adam Muhammad Klesc 1 Jan 14, 2022
Code used for the results in the paper "ClassMix: Segmentation-Based Data Augmentation for Semi-Supervised Learning"

Code used for the results in the paper "ClassMix: Segmentation-Based Data Augmentation for Semi-Supervised Learning" Getting started Prerequisites CUD

70 Dec 02, 2022
Tensorflow 2 implementation of the paper: Learning and Evaluating Representations for Deep One-class Classification published at ICLR 2021

Deep Representation One-class Classification (DROC). This is not an officially supported Google product. Tensorflow 2 implementation of the paper: Lea

Google Research 137 Dec 23, 2022
Structure Information is the Key: Self-Attention RoI Feature Extractor in 3D Object Detection

Structure Information is the Key: Self-Attention RoI Feature Extractor in 3D Object Detection abstract:Unlike 2D object detection where all RoI featur

DK. Zhang 2 Oct 07, 2022
PyTorch implementation of PP-LCNet: A Lightweight CPU Convolutional Neural Network

PyTorch implementation of PP-LCNet Reproduction of PP-LCNet architecture as described in PP-LCNet: A Lightweight CPU Convolutional Neural Network by C

Quan Nguyen (Fly) 47 Nov 02, 2022
The challenge for Quantum Coalition Hackathon 2021

Qchack 2021 Google Challenge This is a challenge for the brave 2021 qchack.io participants. Instructions Hello, intrepid qchacker, welcome to the G|o

quantumlib 18 May 04, 2022
Extremely easy multi instancing software for minecraft speedrunning.

Easy Multi Extremely easy multi/single instancing software for minecraft speedrunning. A couple of goals of this project: Setup multi in minutes No fi

Duncan 8 Jul 16, 2022
Python implementation of 3D facial mesh exaggeration using the techniques described in the paper: Computational Caricaturization of Surfaces.

Python implementation of 3D facial mesh exaggeration using the techniques described in the paper: Computational Caricaturization of Surfaces.

Wonjong Jang 8 Nov 01, 2022
Source code and Dataset creation for the paper "Neural Symbolic Regression That Scales"

NeuralSymbolicRegressionThatScales Pytorch implementation and pretrained models for the paper "Neural Symbolic Regression That Scales", presented at I

35 Nov 25, 2022
Transfer Reinforcement Learning for Differing Action Spaces via Q-Network Representations

Transfer-Learning-in-Reinforcement-Learning Transfer Reinforcement Learning for Differing Action Spaces via Q-Network Representations Final Report Tra

Trung Hieu Tran 4 Oct 17, 2022
Fully Connected DenseNet for Image Segmentation

Fully Connected DenseNets for Semantic Segmentation Fully Connected DenseNet for Image Segmentation implementation of the paper The One Hundred Layers

Somshubra Majumdar 84 Oct 31, 2022
Pixel-Perfect Structure-from-Motion with Featuremetric Refinement (ICCV 2021, Oral)

Pixel-Perfect Structure-from-Motion (ICCV 2021 Oral) We introduce a framework that improves the accuracy of Structure-from-Motion by refining keypoint

Computer Vision and Geometry Lab 831 Dec 29, 2022
Repository providing a wide range of self-supervised pretrained models for computer vision tasks.

Hierarchical Pretraining: Research Repository This is a research repository for reproducing the results from the project "Self-supervised pretraining

Colorado Reed 53 Nov 09, 2022
Learning What and Where to Draw

###Learning What and Where to Draw Scott Reed, Zeynep Akata, Santosh Mohan, Samuel Tenka, Bernt Schiele, Honglak Lee This is the code for our NIPS 201

Scott Ellison Reed 337 Nov 18, 2022
Official implementation of cosformer-attention in cosFormer: Rethinking Softmax in Attention

cosFormer Official implementation of cosformer-attention in cosFormer: Rethinking Softmax in Attention Update log 2022/2/28 Add core code License This

120 Dec 15, 2022
A pre-trained language model for social media text in Spanish

RoBERTuito A pre-trained language model for social media text in Spanish READ THE FULL PAPER Github Repository RoBERTuito is a pre-trained language mo

25 Dec 29, 2022
Calculates JMA (Japan Meteorological Agency) seismic intensity (shindo) scale from acceleration data recorded in NumPy array

shindo.py Calculates JMA (Japan Meteorological Agency) seismic intensity (shindo) scale from acceleration data stored in NumPy array Introduction Japa

RR_Inyo 3 Sep 23, 2022