1) The document proposes using a generative adversarial network (GAN) trained on normal images to extract features, and then using a one-class support vector machine (SVM) to determine if a query image's features are within the distribution of normal features.
2) The method involves using an autoencoder to extract features from image patches, training a GAN on the features to learn the distribution of normal patches, and classifying query patches as normal or anomalous using the one-class SVM.
3) The method is evaluated on its ability to detect and localize artificially added unfamiliar objects of different sizes in simulated satellite images.
Genislab builds better products and faster go-to-market with Lean project man...
Anomaly Detection in Satellite Images Using GAN and One-Class SVM
1. Anomaly Detection and Localization
Using GAN and One-Class Classifier
Satellite Image Forgery Detection and Localization
Using GAN and One-Class Classifier
https://arxiv.org/abs/1802.04881
2. AnoGAN의 문제점
• Anomaly detection : 정상치에서 벗어난 관측치들을 detect
One-class classification 혹은 one-class description
• Query image에 대한 latent space(z)로의 mapping 작업을 수행하
여 정상여부인지 확인
수백번의 iteration이 필요. 시간이 많이 걸리는 작업
여기서는
• Generative adversarial network을 이용하여 정상 image에 대한
feature를 mapping한 후 one-class support vector machine (SVM)
으로 분포를 결정. Query image에 대하여 결정된 분포내에 존재
하는지 여부 확인
3. Problem formulation
• 학습된 image외에 unseen or unfamiliar object가 발견될 경우, 그
림과 같이 binary mask로 영역을 표시
Trained Image Trained Image mask
Query Image w/
unfamiliar object
Query Image mask w/
unfamiliar object
4. Method
𝐴 𝑒
X
h 𝐴 𝑑
𝑋
X
min
𝐺
max
𝐷
𝑉(𝐷, 𝐺) = 𝐸 𝑋~𝑝 𝑑𝑎𝑡𝑎
log 𝐷 𝑋 + log(1 − 𝐷 𝐺 𝑋 )
𝑋 = 𝐺 𝑋 = 𝐴 𝑑 ℎ = 𝐴 𝑑 𝐴 𝑒(𝑋)
• Auto-encoder를 이용하여 image로부터 feature(h) 구하고 이를 다시
복원. 복원된 image와 원 image를 이용하여 GAN을 훈련 Auto-
encoder 보다 약간의 성능향상
• 정상 image에 대한 latent space의 distribution을 찾아 냄.
5. Features from normal patches(i.e., red dots) cluster together, whereas
features from abnormal patches (i.e., blue dots) are more distant.
Method
Normal image의 cluster
Abnormal image의 features
- Training된 Auto-encoder에 Query image를 입력하여 latent vector를 계산
- 계산 된 latent vector가 정상 image의 cluster내에 포함되는지 여부 판단
여기서는 RADIAL BASES FUNCTIONS(Gauss Kernel) 을 사용한
One class SVM을 사용
6. we solve the problem of classifying nonlinearly separable pattern in a hybrid
manner involving two stages:
• First: Transform a given set of nonlinearly separable patterns into a new
set for which, under certain conditions, the likelihood of the transformed
patterns becoming linearly separable is high.
• Second: the solution of the classification problem is completed by using
least-square estimation.
Non-linear SVM Classifier
using the RBF(Radial-basis function) kernel
7. We find w and b by solving the following objective function using Quadratic
Programming.
To define an optimal hyperplane we need to maximize the width of the
margin(w).
Linear SVM(Support Vector Machines)
Support vector
8. • The simplest way to separate two groups of data is with a straight line (1
dimension), flat plane (2 dimensions) or an N-dimensional hyperplane.
• However, there are situations where a nonlinear region can separate the
groups more efficiently.
• The kernel function transform the data into a higher dimensional feature
space to make it possible to perform the linear separation.
Non-Linear SVM(Support Vector Machines)
kernel trick
9. To Map from input space to feature space to simplify classification task
Non-linear SVM Classifier using the RBF(Radial-basis function) kernel is
adopted
Non-Linear SVM(Support Vector Machines)
Feature space에서의 inner product(a measure of similarity)
10. Key Idea of Kernel Methods
K(𝑥𝑖, 𝑥𝑗)
K(𝑥𝑖, 𝑥𝑗) = Φ(𝑥𝑖)· Φ(𝑥𝑗)
11. The question now is:
How to train the RBF network?
In other words, how to find:
The number and the parameters of hidden units (the basis functions)
using unlabeled data (unsupervised learning).
K-Mean Clustering Algorithm
The weights between the hidden layer and the output layer.
Recursive Least-Squares Estimation Algorithm
The Radial Basis Function Networks
12. The Radial Basis Function Networks
How to train the RBF Network?
Through the K-means, RLS
Algorithm
Assume K.
Compute μ 𝑗 by using K-
mean algorithm.
Use the RLS algorithm to
find the weight vector
𝑦 = 𝐹 𝑥 = 𝑖=1
𝐾
𝑤𝑖Φ( 𝑥 − 𝑥𝑖 )
Feature
vector
𝑊 = [𝑤1, 𝑤2, … . . , 𝑤 𝐾] 𝑇
13. Simulation
• The color image under analysis is split into patches (either
overlapping or not) of size 64x64 pixels.
• A adversarially trained auto-encoder encodes the patches into a low
dimensional representation called feature vector h(a 2,048
dimensional vector).
• A one-class SVM fed with h is used to detect forged patches as
anomalies with respect to features distribution learned from normal
patches.
• Once all patches are classified, a label mask for the entire image is
obtained by grouping together all the patch labels.
14. • Small - Object size is smaller than the patch size (approximately 32
pixel per side).
• Medium - Object size is comparable to patch size (approximately 64
pixel per side).
• Large - Object size is larger than patch size (approximately128 pixel
per side).
Simulation
검출대상물의 크기에 따라 성능평가
15. Simulation
Query Image I w/
unfamiliar object
Query Image II w/
unfamiliar object
GT mask I GT mask II