FPGA: Fast Patch-Free Global Learning Framework for Fully End-to-End Hyperspectral Image Classification

Overview

PWC

PWC

PWC

License: GPL v3

FPGA & FreeNet

Fast Patch-Free Global Learning Framework for Fully End-to-End Hyperspectral Image Classification
by Zhuo Zheng, Yanfei Zhong, Ailong Ma and Liangpei Zhang


This is an official implementation of FPGA framework and FreeNet in our TGRS 2020 paper "FPGA: Fast Patch-Free Global Learning Framework for Fully End-to-End Hyperspectral Image Classification".

We hope the FPGA framework can become a stronger and cleaner baseline for hyperspectral image classification research in the future.

News

  1. 2020/05/28, We release the code of FreeNet and FPGA framework.

Features

  1. Patch-free training and inference
  2. Fully end-to-end (w/o preprocess technologies, such as dimension reduction)

Citation

If you use FPGA framework or FreeNet in your research, please cite the following paper:

@article{zheng2020fpga,
  title={FPGA: Fast Patch-Free Global Learning Framework for Fully End-to-End Hyperspectral Image Classification},
  author={Zheng, Zhuo and Zhong, Yanfei and Ma, Ailong and Zhang, Liangpei},
  journal={IEEE Transactions on Geoscience and Remote Sensing},
  year={2020},
  publisher={IEEE},
  note={doi: {10.1109/TGRS.2020.2967821}}
}

Getting Started

1. Install SimpleCV

pip install --upgrade git+https://github.com/Z-Zheng/SimpleCV.git

2. Prepare datasets

It is recommended to symlink the dataset root to $FreeNet.

The project should be organized as:

FreeNet
├── configs     // configure files
├── data        // dataset and dataloader class
├── module      // network arch.
├── scripts 
├── pavia       // data 1
│   ├── PaviaU.mat
│   ├── PaviaU_gt.mat
├── salinas     // data 2
│   ├── Salinas_corrected.mat
│   ├── Salinas_gt.mat
├── GRSS2013    // data 3
│   ├── 2013_IEEE_GRSS_DF_Contest_CASI.tif
│   ├── train_roi.tif
│   ├── val_roi.tif

3. run experiments

1. PaviaU

bash scripts/freenet_1_0_pavia.sh

2. Salinas

bash scripts/freenet_1_0_salinas.sh

3. GRSS2013

bash scripts/freenet_1_0_grss.sh

License

This source code is released under GPLv3 license.

For commercial use, please contact Prof. Zhong ([email protected]).

Projects using FPGA/FreeNet

Welcome to pull request if you use this repo as your codebase.

You might also like...
End-to-End Object Detection with Fully Convolutional Network
End-to-End Object Detection with Fully Convolutional Network

This project provides an implementation for "End-to-End Object Detection with Fully Convolutional Network" on PyTorch.

KE-Dialogue: Injecting knowledge graph into a fully end-to-end dialogue system.
KE-Dialogue: Injecting knowledge graph into a fully end-to-end dialogue system.

Learning Knowledge Bases with Parameters for Task-Oriented Dialogue Systems This is the implementation of the paper: Learning Knowledge Bases with Par

Graph Regularized Residual Subspace Clustering Network for hyperspectral image clustering
Graph Regularized Residual Subspace Clustering Network for hyperspectral image clustering

Graph Regularized Residual Subspace Clustering Network for hyperspectral image clustering

Global Filter Networks for Image Classification
Global Filter Networks for Image Classification

Global Filter Networks for Image Classification Created by Yongming Rao, Wenliang Zhao, Zheng Zhu, Jiwen Lu, Jie Zhou This repository contains PyTorch

FuseDream: Training-Free Text-to-Image Generationwith Improved CLIP+GAN Space OptimizationFuseDream: Training-Free Text-to-Image Generationwith Improved CLIP+GAN Space Optimization
FuseDream: Training-Free Text-to-Image Generationwith Improved CLIP+GAN Space OptimizationFuseDream: Training-Free Text-to-Image Generationwith Improved CLIP+GAN Space Optimization

FuseDream This repo contains code for our paper (paper link): FuseDream: Training-Free Text-to-Image Generation with Improved CLIP+GAN Space Optimizat

⚡ Fast • 🪶 Lightweight • 0️⃣ Dependency • 🔌 Pluggable • 😈 TLS interception • 🔒 DNS-over-HTTPS • 🔥 Poor Man's VPN • ⏪ Reverse & ⏩ Forward • 👮🏿  WarpDrive: Extremely Fast End-to-End Deep Multi-Agent Reinforcement Learning on a GPU
WarpDrive: Extremely Fast End-to-End Deep Multi-Agent Reinforcement Learning on a GPU

WarpDrive is a flexible, lightweight, and easy-to-use open-source reinforcement learning (RL) framework that implements end-to-end multi-agent RL on a single GPU (Graphics Processing Unit).

Simple-Image-Classification - Simple Image Classification Code (PyTorch)
Simple-Image-Classification - Simple Image Classification Code (PyTorch)

Simple-Image-Classification Simple Image Classification Code (PyTorch) Yechan Kim This repository contains: Python3 / Pytorch code for multi-class ima

Image Classification - A research on image classification and auto insurance claim prediction, a systematic experiments on modeling techniques and approaches

A research on image classification and auto insurance claim prediction, a systematic experiments on modeling techniques and approaches

Comments
  • Some issues about the code.

    Some issues about the code.

    I try to run your code on the Pavia data set.

    Traceback (most recent call last): File "d:/FreeNet-master/train.py", line 63, in opts=args.opts) File "D:\software\anaconda\lib\site-packages\simplecv\dp_train.py", line 44, in run traindata_loader = make_dataloader(cfg['data']['train']) File "D:\software\anaconda\lib\site-packages\simplecv\data\data_loader.py", line 9, in make_dataloader raise ValueError('{} is not support now.'.format(dataloader_type)) ValueError: NewPaviaLoader is not support now.

    Looking forward to hearing from you!

    opened by zhe-meng 2
  • Test.py module

    Test.py module

    Hello!

    I really appreciate your paper and sharing the code for it. I wonder is there an option to make a test on the trainned network on another image? I saw test dict in config file, but I'm not sure it is implemented for now. Is there any plans for it or will you please suggest how can it be done better?

    Thanks!

    opened by valeriylo 0
  • 运行 train.py时报错

    运行 train.py时报错

    Traceback (most recent call last): File "D:/论文代码书/代码/高光谱影像分类/全卷积FCN/FreeNet-master/train.py", line 60, in train.run(config_path=args.config_path, File "D:\Anaconda\envs\Pytorch\lib\site-packages\simplecv-0.3.4-py3.8.egg\simplecv\dp_train.py", line 29, in run cfg = config.import_config(config_path) File "D:\Anaconda\envs\Pytorch\lib\site-packages\simplecv-0.3.4-py3.8.egg\simplecv\util\config.py", line 5, in import_config m = importlib.import_module(name='{}.{}'.format(prefix, config_name)) File "D:\Anaconda\envs\Pytorch\lib\importlib_init_.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "", line 1014, in _gcd_import File "", line 991, in _find_and_load File "", line 973, in _find_and_load_unlocked ModuleNotFoundError: No module named 'configs.None'

    opened by Zhengpu-L 1
  • 在安装simpleCV时出现报错

    在安装simpleCV时出现报错

    您好,我在终端安装simpleCV时出现了以下报错: ERROR: Could not find a version that satisfies the requirement tensorboardX==1.7 (from simplecv) (from versions: none) ERROR: No matching distribution found for tensorboardX==1.7 请问您知道如何解决吗,simpleCV是基于tensorflow框架的吗,但freenet好像是基于pytorch,很抱歉打扰您

    opened by wangk98 3
Releases(v1.2)
Owner
Zhuo Zheng
CV IN RS. Ph.D. Student.
Zhuo Zheng
Repo for "TableParser: Automatic Table Parsing with Weak Supervision from Spreadsheets" at [email protected]

TableParser Repo for "TableParser: Automatic Table Parsing with Weak Supervision from Spreadsheets" at DS3 Lab 11 Dec 13, 2022

code for `Look Closer to Segment Better: Boundary Patch Refinement for Instance Segmentation`

Look Closer to Segment Better: Boundary Patch Refinement for Instance Segmentation (CVPR 2021) Introduction PBR is a conceptually simple yet effective

H.Chen 143 Jan 05, 2023
The coda and data for "Measuring Fine-Grained Domain Relevance of Terms: A Hierarchical Core-Fringe Approach" (ACL '21)

We propose a hierarchical core-fringe learning framework to measure fine-grained domain relevance of terms – the degree that a term is relevant to a broad (e.g., computer science) or narrow (e.g., de

Jie Huang 14 Oct 21, 2022
The source code of the ICCV2021 paper "PIRenderer: Controllable Portrait Image Generation via Semantic Neural Rendering"

Website | ArXiv | Get Start | Video PIRenderer The source code of the ICCV2021 paper "PIRenderer: Controllable Portrait Image Generation via Semantic

Ren Yurui 261 Jan 09, 2023
Use of Attention Gates in a Convolutional Neural Network / Medical Image Classification and Segmentation

Attention Gated Networks (Image Classification & Segmentation) Pytorch implementation of attention gates used in U-Net and VGG-16 models. The framewor

Ozan Oktay 1.6k Dec 30, 2022
3rd Place Solution for ICCV 2021 Workshop SSLAD Track 3A - Continual Learning Classification Challenge

Online Continual Learning via Multiple Deep Metric Learning and Uncertainty-guided Episodic Memory Replay 3rd Place Solution for ICCV 2021 Workshop SS

Rifki Kurniawan 6 Nov 10, 2022
Volsdf - Volume Rendering of Neural Implicit Surfaces

Volume Rendering of Neural Implicit Surfaces Project Page | Paper | Data This re

Lior Yariv 221 Jan 07, 2023
A modification of Daniel Russell's notebook merged with Katherine Crowson's hq-skip-net changes

Edits made to this repo by Katherine Crowson I have added several features to this repository for use in creating higher quality generative art (featu

Paul Fishwick 10 May 07, 2022
LOFO (Leave One Feature Out) Importance calculates the importances of a set of features based on a metric of choice,

LOFO (Leave One Feature Out) Importance calculates the importances of a set of features based on a metric of choice, for a model of choice, by iteratively removing each feature from the set, and eval

Ahmet Erdem 691 Dec 23, 2022
Official PyTorch implementation of "Physics-aware Difference Graph Networks for Sparsely-Observed Dynamics".

Physics-aware Difference Graph Networks for Sparsely-Observed Dynamics This repository is the official PyTorch implementation of "Physics-aware Differ

USC-Melady 46 Nov 20, 2022
GAN-generated image detection based on CNNs

GAN-image-detection This repository contains a GAN-generated image detector developed to distinguish real images from synthetic ones. The detector is

Image and Sound Processing Lab 17 Dec 15, 2022
Office source code of paper UniFuse: Unidirectional Fusion for 360$^\circ$ Panorama Depth Estimation

UniFuse (RAL+ICRA2021) Office source code of paper UniFuse: Unidirectional Fusion for 360$^\circ$ Panorama Depth Estimation, arXiv, Demo Preparation I

Alibaba 47 Dec 26, 2022
TEA: A Sequential Recommendation Framework via Temporally Evolving Aggregations

TEA: A Sequential Recommendation Framework via Temporally Evolving Aggregations Requirements python 3.6 torch 1.9 numpy 1.19 Quick Start The experimen

DMIRLAB 4 Oct 16, 2022
A library for uncertainty quantification based on PyTorch

Torchuq [logo here] TorchUQ is an extensive library for uncertainty quantification (UQ) based on pytorch. TorchUQ currently supports 10 representation

TorchUQ 96 Dec 12, 2022
maximal update parametrization (µP)

Maximal Update Parametrization (μP) and Hyperparameter Transfer (μTransfer) Paper link | Blog link In Tensor Programs V: Tuning Large Neural Networks

Microsoft 694 Jan 03, 2023
What can linearized neural networks actually say about generalization?

What can linearized neural networks actually say about generalization? This is the source code to reproduce the experiments of the NeurIPS 2021 paper

gortizji 11 Dec 09, 2022
Understanding and Overcoming the Challenges of Efficient Transformer Quantization

Transformer Quantization This repository contains the implementation and experiments for the paper presented in Yelysei Bondarenko1, Markus Nagel1, Ti

83 Dec 30, 2022
VSR-Transformer - This paper proposes a new Transformer for video super-resolution (called VSR-Transformer).

VSR-Transformer By Jiezhang Cao, Yawei Li, Kai Zhang, Luc Van Gool This paper proposes a new Transformer for video super-resolution (called VSR-Transf

Jiezhang Cao 225 Nov 13, 2022
Connecting Java/ImgLib2 + Python/NumPy

imglyb imglyb aims at connecting two worlds that have been seperated for too long: Python with numpy Java with ImgLib2 imglyb uses jpype to access num

ImgLib2 29 Dec 21, 2022
SysWhispers Shellcode Loader

Shhhloader Shhhloader is a SysWhispers Shellcode Loader that is currently a Work in Progress. It takes raw shellcode as input and compiles a C++ stub

icyguider 630 Jan 03, 2023