{"id":17894077,"url":"https://github.com/blainerothrock/hyperspectral-imaging-ml","last_synced_at":"2025-08-11T00:18:12.202Z","repository":{"id":82083869,"uuid":"258305466","full_name":"blainerothrock/hyperspectral-imaging-ml","owner":"blainerothrock","description":null,"archived":false,"fork":false,"pushed_at":"2020-06-08T14:35:19.000Z","size":18848,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-03T04:28:54.703Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/blainerothrock.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-04-23T19:11:03.000Z","updated_at":"2020-06-08T14:35:22.000Z","dependencies_parsed_at":null,"dependency_job_id":"8e09ca53-fcfc-46c2-b17e-1d1905b27549","html_url":"https://github.com/blainerothrock/hyperspectral-imaging-ml","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/blainerothrock/hyperspectral-imaging-ml","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blainerothrock%2Fhyperspectral-imaging-ml","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blainerothrock%2Fhyperspectral-imaging-ml/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blainerothrock%2Fhyperspectral-imaging-ml/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blainerothrock%2Fhyperspectral-imaging-ml/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/blainerothrock","download_url":"https://codeload.github.com/blainerothrock/hyperspectral-imaging-ml/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blainerothrock%2Fhyperspectral-imaging-ml/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269810321,"owners_count":24478746,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-10T02:00:08.965Z","response_time":71,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-28T14:59:55.248Z","updated_at":"2025-08-11T00:18:12.160Z","avatar_url":"https://github.com/blainerothrock.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# hyperspectral-imaging-ml\n![Test](https://github.com/blainerothrock/hyperspectral-imaging-ml/workflows/Test/badge.svg)\n[![codecov](https://codecov.io/gh/blainerothrock/hyperspectral-imaging-ml/branch/master/graph/badge.svg)](https://codecov.io/gh/blainerothrock/hyperspectral-imaging-ml)\n\n## Reproducing HybridSN\n* Create a conda environment with your OS using `env-mac.yml` or `env-ubuntu.yml`:\n```shell script\nconda env create -f env-ubuntu.yml\nconda activate hyperspec\n```\n* **Optional** update the `gin.config` with desired hyper-parameters. Current configuration matches the paper.\n* Run the training script\n```shell script\npython train.py\n```\n* View training results in Tensorboard\n```shell script\ntensorboard --logdir runs\n```\n**Note**: data will be downloaded to `~/.hyperspec/`\n\n### reporting\n* [Reproducibility Report](reproducibility_report.md)\n* [Tips and Tricks](tips_and_tricks.md)\n\n## Papers:\n* [Deep Learning for Classification\nof Hyperspectral Data: A Comparative Review](https://arxiv.org/pdf/1904.10674.pdf)\n    - An overview of the field relating to deep learning\n    - [code base](https://github.com/nshaud/DeepHyperX)\n* [HybridSN: Exploring 3D-2D CNN Feature Hierarchy for Hyperspectral Image Classification](https://arxiv.org/pdf/1902.06701v3.pdf)\n  - Current state-of-the-art on the Indian Pines, Pavia University and Salinas Scene datasets\n  - [code base](https://github.com/gokriznastic/HybridSN)\n* [Hyperspectral Image Classification with Deep Metric Learning and Conditional Random Field](https://arxiv.org/pdf/1903.06258v2.pdf)\n  - State of the art without additional data on the Indian Pines data set\n  -  None :(\n\n## Datasets\n* [Overview](http://www.ehu.eus/ccwintco/index.php?title=Hyperspectral_Remote_Sensing_Scenes)\n* [Indian Pine](https://purr.purdue.edu/publications/1947/1)\n* [Data Fusion Contest 2018](https://mediatum.ub.tum.de/1474000?id=1474000)\n\n## Why\nHyper-spectral imaging is a upcoming field that [has potential](https://www.cloudagronomics.com/technology) in the agriculture industry with many benefits including crop yield and carbon monitoring.\n\n## Paper Review\n* Rigor vs. Empirical - Balanced?\n* Readability - Excellent\n* Algorithm Difficulty - Low\n* Pseudo Code - None / Step-Code?\n* Hyperparameters Specified - Yes\n* Compute Needed - GPU\n* Number of Equations - 2\n* Number of Tables - 5\n\n## Paper Notes\n* Proposes a hybrid 3d and 2d model for general hyperspectral image(HSI) classification\n* 3-D CNN: Employs principal component analysis on input data to reduce spatio-spectral images by its spectral bands(depth) in order to remove spatial redundancy\n  - 3D convolution → 3D kernel convolves on 3D-data(spatio-spectral image)\n  - Uses 3d patches to determine image classification\n  - 3D patches: overlapping spatio-spectral convolutions where the centered pixel is used for classification\n  - Computationally expensive\n  - Papers recommend 3 layered model to extract spectral features\n    - One paper dubs this the Deep Metric Learning followed by a Conditional Random Field layer to make predictions\n* 2-D CNN: Input data is convolved with 2d kernels(normal)\n* Hybrid of both 3D and 2D Kernels are used for learning\n  - Use of 3D convolutions to capture spatial data and 2D convolutions to decrease computational expense and learn non-spectral information (features of images for classification)\n* Utilizes both spatio-spectral imaging in the form of 3-d convulsions and non spatio-spectral imaging in the form 2d convolutions\n* This model also shows great performance with little data\n\n\nConclusion: We believe the paper is highly reproducible and very well documented. The only potential issue we foresee is within the preprocessing phase.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblainerothrock%2Fhyperspectral-imaging-ml","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fblainerothrock%2Fhyperspectral-imaging-ml","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblainerothrock%2Fhyperspectral-imaging-ml/lists"}