All Projects → afsalashyana → Fakeimagedetection

afsalashyana / Fakeimagedetection

Licence: gpl-3.0
Fake Image Detection Using Machine Learning

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Fakeimagedetection

Binding.scala
Reactive data-binding for Scala
Stars: ✭ 1,539 (+874.05%)
Mutual labels:  javafx
School Management System Javafx
A sample JavaFX management system GUI
Stars: ✭ 126 (-20.25%)
Mutual labels:  javafx
Customstage
A JavaFX UI framework to create fully customized undecorated windows
Stars: ✭ 148 (-6.33%)
Mutual labels:  javafx
Youtube Comment Suite
Download YouTube comments from numerous videos, playlists, and channels for archiving, general search, and showing activity.
Stars: ✭ 120 (-24.05%)
Mutual labels:  javafx
Spring Javafx Examples
Example apps for springboot-javafx-support. See
Stars: ✭ 124 (-21.52%)
Mutual labels:  javafx
Terasologylauncher
Terasology Launcher is the official launcher for the open source game Terasology.
Stars: ✭ 132 (-16.46%)
Mutual labels:  javafx
Jgnash
jGnash Personal Finance
Stars: ✭ 112 (-29.11%)
Mutual labels:  javafx
Tools Ocr
树洞 OCR 文字识别(一款跨平台的 OCR 小工具)
Stars: ✭ 2,303 (+1357.59%)
Mutual labels:  javafx
Heapstats
JVMTI agent and JavaFX analyzer to gather JVM runtime information for after-the-fact analysis.
Stars: ✭ 126 (-20.25%)
Mutual labels:  javafx
Fxdesktopsearch
A JavaFX based desktop search application.
Stars: ✭ 147 (-6.96%)
Mutual labels:  javafx
Flowless
Efficient VirtualFlow for JavaFX
Stars: ✭ 120 (-24.05%)
Mutual labels:  javafx
Jcsg
Java implementation of BSP based CSG (Constructive Solid Geometry)
Stars: ✭ 121 (-23.42%)
Mutual labels:  javafx
Wechat
仿QQ即时通讯系统客户端
Stars: ✭ 144 (-8.86%)
Mutual labels:  javafx
Binjr
A Time Series Data Browser
Stars: ✭ 119 (-24.68%)
Mutual labels:  javafx
Fxgl
Stars: ✭ 2,378 (+1405.06%)
Mutual labels:  javafx
Open Lowcode
Solution for rapid development of specific enterprise software
Stars: ✭ 116 (-26.58%)
Mutual labels:  javafx
Pchwrm client
PC Hardware Resource Monitor For Raspberry Pi
Stars: ✭ 130 (-17.72%)
Mutual labels:  javafx
Fxgraphics2d
A JavaFX library that allows Java2D code (Graphics2D) to be used to draw to a Canvas node.
Stars: ✭ 157 (-0.63%)
Mutual labels:  javafx
Jfx Browser
JFx Browser is a multi tab browser. In its first version HTML to PDF, Downloading , History, Bookmarks and Account creation facility available. We are not still working on this project.
Stars: ✭ 157 (-0.63%)
Mutual labels:  javafx
Everywhere
🔧 A tool can really search everywhere for you.
Stars: ✭ 147 (-6.96%)
Mutual labels:  javafx

Fake Image Detection Using Machine Learning

The objective of this project is to identify fake images(Fake images are the images that are digitally altered images). The problem with existing fake image detection system is that they can be used detect only specific tampering methods like splicing, coloring etc. We approached the problem using machine learning and neural network to detect almost all kinds of tampering on images.

Using latest image editing softwares, it is possible to make alterations on image which are too difficult for human eye to detect. Even with a complex neural network, it is not possible to determine whether an image is fake or not without identifying a common factor across almost all fake images. So, instead of giving direct raw pixels to the neural network, we gave error level analysed image.

This project provides two level analysis for the image. At first level, it checks the image metadata. Image metadata is not that much reliable since it can be altered using simple programs. But most of the images we come across will have non-altered metadata which helps to identify the alterations. For example, if an image is edited with Adobe Photoshop, the metadata will contain even the version of the Adobe Photoshop used.

In the second level, the image is converted into error level analysed format and will be resized to 100px x 100px image. Then these 10,000 pixels with RGB values (30,000 inputs) is given in to the input layer of Multilayer perceptron network. Output layer contain two neurons. One for fake image and one for real image. Depending upon the value of these neuron outputs along with metadata analyser output, we determine whether the image is fake or not and how much chance is there for the given image to be tampered.

Feature Engineering

  1. Dr. Neal Krawetz proposed a method called Error Level Analysis(ELA) that exploits the lossy compression of JPEG images. When an image is altered, the compression ratio of the specific portion changes with respect to other parts. A well trained neural network can detect the anomaly by and determine whether the image is fake or not.
  2. The second parameter considered is metadata of the image. A parallel module is added to the program which checks the metadata to determine the signature of various image editing programs. Since it is costly to execute a neural network, the metadata inspection will considerably increase the performance by detecting tampering at an early stage.

Neural network structure

Layer Neurons
Input Layer 30,000
Hidden Layer 1 5000 - Sigmoid
Hidden Layer 2 1000 - Sigmoid
Hidden Layer 3 100 - Sigmoid
Output Layer 2

Watch on YouTube

Watch a video

Tools Used

Neuroph Studio

Neuroph studio is an open source Java neural network framework that helps to easily build and use neural networks. It also provides a direct interface for loading images

Metadata-extractor

Metadata-extractor is an open source java library used to extract metadata from images.

JavaFX

JavaFX is used to implement modern user interface for the application.

Flow Chart : Detection

Flow Chart : Training

Project Status

  • [x] Implement Metadata Procesing Module
  • [x] Design a User Interface
  • [x] Implement Image Feature Extractor
  • [x] Design Neural Network using Neuroph Studio
  • [x] Implement Neural Network interface with JavaFX
  • [x] Connect Neural Network
  • [x] Integrate Neural Network to Master
  • [x] Train Network
  • [x] Test Network
  • [x] Read feedback from user and learn instantly
  • [x] Add network training interface
  • [x] Add module to apply error level analysis on a set of images
  • [x] Improve look and feel
  • [x] Train with more data
  • [x] Add batch testing module
  • [x] Detach User Inteface from core
  • [x] Implement Command Line Interface
  • [ ] Reach success rate of 90%

Journal link : https://www.academia.edu/37977449/Fake_Image_Detection_Using_Machine_Learning

Screenshots

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].