From 9a22166f9a38069fce8ef771b5c78b0d823a9c37 Mon Sep 17 00:00:00 2001 From: CZ2128-Delta <1163407426@qq.com> Date: Wed, 6 May 2026 19:39:28 -0400 Subject: [PATCH 1/6] Add requirements files, citation file, and reference to Funcapalooza --- CITATION.cff | 133 ++++++++++++++++++++++++++++++++++ README.md | 2 + requirements_detection.txt | 21 ++++++ requirements_segmentation.txt | 123 +++++++++++++++++++++++++++++++ 4 files changed, 279 insertions(+) create mode 100644 CITATION.cff create mode 100644 requirements_detection.txt create mode 100644 requirements_segmentation.txt diff --git a/CITATION.cff b/CITATION.cff new file mode 100644 index 0000000..6a50d42 --- /dev/null +++ b/CITATION.cff @@ -0,0 +1,133 @@ +cff-version: 1.2.0 +message: "If you find this software helpful in your research, please cite both the software and our paper." + +title: "BeetleFlow: An Integrative Deep Learning Pipeline for Beetle Image Processing" +abstract: >- + Pipeline for processing large-scale tray images of pinned beetles: detect specimens, + optionally sort and crop with metadata matching, and produce fine-grained morphological + segmentation (5-class or 9-class). It uses an open-vocabulary detector (Grounding DINO), + a vision-language model (LLaVA-NeXT) for verification, and fine-tuned Mask2Former + for transformer-based part segmentation and downstream morphological analysis. + +type: software +repository-code: "https://github.com/Imageomics/BeetleFlow" +license: MIT + +date-released: 2025-10-31 +version: 1.0.0 + +authors: + - family-names: Liu + given-names: Fangxun + orcid: "https://orcid.org/0009-0008-8508-2776" + - family-names: Rayeed + given-names: "S M" + - family-names: Stevens + given-names: Samuel + - family-names: East + given-names: Alyson + - family-names: Chiang + given-names: "Cheng Hsuan" + - family-names: Lee + given-names: Colin + - family-names: Yi + given-names: Daniel + - family-names: Yang + given-names: Junke + - family-names: Naik + given-names: Tejas + - family-names: Wang + given-names: Ziyi + - family-names: Kilrain + given-names: Connor + - family-names: Buckwalter + given-names: "Elijah H." + - family-names: Hou + given-names: Jiacheng + - family-names: Bueno + given-names: "Saul Ibaven" + - family-names: Wang + given-names: Shuheng + - family-names: Ma + given-names: Xinyue + - family-names: Liu + given-names: Yifan + - family-names: Tao + given-names: Zhiyuan + - family-names: Zhang + given-names: Ziheng + - family-names: Sokol + given-names: Eric + - family-names: Belitz + given-names: Michael + - family-names: Record + given-names: Sydne + - family-names: Stewart + given-names: "Charles V." + - family-names: Chao + given-names: "Wei-Lun" + +keywords: + - deep learning + - computer vision + - image processing + - object detection + - image segmentation + - entomology + - imageomics + +preferred-citation: + type: conference-paper + title: "BeetleFlow: An Integrative Deep Learning Pipeline for Beetle Image Processing" + authors: + - family-names: Liu + given-names: Fangxun + orcid: "https://orcid.org/0009-0008-8508-2776" + - family-names: Rayeed + given-names: "S M" + - family-names: Stevens + given-names: Samuel + - family-names: East + given-names: Alyson + - family-names: Chiang + given-names: "Cheng Hsuan" + - family-names: Lee + given-names: Colin + - family-names: Yi + given-names: Daniel + - family-names: Yang + given-names: Junke + - family-names: Naik + given-names: Tejas + - family-names: Wang + given-names: Ziyi + - family-names: Kilrain + given-names: Connor + - family-names: Buckwalter + given-names: "Elijah H." + - family-names: Hou + given-names: Jiacheng + - family-names: Bueno + given-names: "Saul Ibaven" + - family-names: Wang + given-names: Shuheng + - family-names: Ma + given-names: Xinyue + - family-names: Liu + given-names: Yifan + - family-names: Tao + given-names: Zhiyuan + - family-names: Zhang + given-names: Ziheng + - family-names: Sokol + given-names: Eric + - family-names: Belitz + given-names: Michael + - family-names: Record + given-names: Sydne + - family-names: Stewart + given-names: "Charles V." + - family-names: Chao + given-names: "Wei-Lun" + collection-title: "NeurIPS 2025 Workshop for Imageomics: Discovering Biological Knowledge from Images Using AI" + year: 2025 diff --git a/README.md b/README.md index 688e0fb..3e3a5ca 100644 --- a/README.md +++ b/README.md @@ -46,6 +46,8 @@ Though the code in this repository is shared under an [MIT License](https://gith ## Acknowledgments +This work was in part conceived at [Funcapalooza](https://github.com/Imageomics/FuncaPalooza-2025). + This work uses data from the [Beetles as Sentinel Taxa: Predicting drought conditions from NEON specimen imagery dataset](https://huggingface.co/datasets/imageomics/sentinel-beetles). If you make use of the data, please be sure to cite the original source: BibTeX: diff --git a/requirements_detection.txt b/requirements_detection.txt new file mode 100644 index 0000000..353c1f2 --- /dev/null +++ b/requirements_detection.txt @@ -0,0 +1,21 @@ +python>=3.9 +numpy>=1.26 +pandas>=2.2 +torch>=2.4 +torchvision>=0.19 +accelerate>=0.24 +transformers>=4.40.0 +huggingface-hub>=0.34 +tokenizers>=0.21 +safetensors>=0.5 +Pillow>=10.3 +opencv-python>=4.8 +matplotlib>=3.7 +bitsandbytes>=0.43.0 +scipy>=1.11 +tqdm>=4.66 +PyYAML>=6.0 +requests>=2.32 +packaging>=24.1 +typing_extensions>=4.12 +pycocotools>=2.0.7 diff --git a/requirements_segmentation.txt b/requirements_segmentation.txt new file mode 100644 index 0000000..dc09bee --- /dev/null +++ b/requirements_segmentation.txt @@ -0,0 +1,123 @@ +absl-py==2.3.1 +aiohappyeyeballs==2.6.1 +aiohttp==3.12.15 +aiosignal==1.4.0 +albucore==0.0.24 +albumentations==2.0.8 +annotated-types==0.7.0 +antlr4-python3-runtime==4.9.3 +appdirs==1.4.4 +async-timeout==5.0.1 +attrs==25.3.0 +black==25.1.0 +certifi==2025.8.3 +charset-normalizer==3.4.3 +cityscapesScripts==2.2.4 +click==8.2.1 +cloudpickle==3.1.1 +coloredlogs==15.0.1 +contourpy==1.3.2 +cycler==0.12.1 +Cython==3.1.2 +datasets==4.0.0 +detectron2==0.6 +dill==0.3.8 +evaluate==0.4.5 +filelock==3.13.1 +fonttools==4.59.0 +frozenlist==1.7.0 +fsspec==2024.6.1 +fvcore==0.1.5.post20221221 +grpcio==1.74.0 +h5py==3.14.0 +hf-xet==1.1.7 +huggingface-hub==0.34.4 +humanfriendly==10.0 +hydra-core==1.3.2 +idna==3.10 +imageio==2.37.0 +iopath==0.1.9 +Jinja2==3.1.4 +kiwisolver==1.4.9 +lazy_loader==0.4 +Markdown==3.8.2 +MarkupSafe==2.1.5 +matplotlib==3.10.5 +mpmath==1.3.0 +multidict==6.6.4 +multiprocess==0.70.16 +MultiScaleDeformableAttention==1.0 +mypy_extensions==1.1.0 +networkx==3.3 +numpy==2.1.2 +nvidia-cublas-cu12==12.6.4.1 +nvidia-cuda-cupti-cu12==12.6.80 +nvidia-cuda-nvrtc-cu12==12.6.77 +nvidia-cuda-runtime-cu12==12.6.77 +nvidia-cudnn-cu12==9.10.2.21 +nvidia-cufft-cu12==11.3.0.4 +nvidia-cufile-cu12==1.11.1.6 +nvidia-curand-cu12==10.3.7.77 +nvidia-cusolver-cu12==11.7.1.2 +nvidia-cusparse-cu12==12.5.4.2 +nvidia-cusparselt-cu12==0.7.1 +nvidia-nccl-cu12==2.27.3 +nvidia-nvjitlink-cu12==12.6.85 +nvidia-nvtx-cu12==12.6.77 +omegaconf==2.3.0 +opencv-python==4.12.0.88 +opencv-python-headless==4.12.0.88 +packaging==25.0 +pandas==2.3.1 +panopticapi==0.1 +pathspec==0.12.1 +pillow==11.0.0 +pip==25.1 +platformdirs==4.3.8 +portalocker==3.2.0 +propcache==0.3.2 +protobuf==6.31.1 +pyarrow==21.0.0 +pycocotools==2.0.10 +pydantic==2.11.7 +pydantic_core==2.33.2 +pyparsing==3.2.3 +pyquaternion==0.9.9 +python-dateutil==2.9.0.post0 +pytz==2025.2 +PyYAML==6.0.2 +regex==2025.7.34 +requests==2.32.4 +safetensors==0.6.2 +scikit-image==0.25.2 +scipy==1.15.3 +setuptools==78.1.1 +shapely==2.1.1 +simsimd==6.5.0 +six==1.17.0 +stringzilla==3.12.6 +submitit==1.5.3 +sympy==1.13.3 +tabulate==0.9.0 +tensorboard==2.20.0 +tensorboard-data-server==0.7.2 +termcolor==3.1.0 +tifffile==2025.5.10 +timm==1.0.19 +tokenizers==0.21.4 +tomli==2.2.1 +torch==2.8.0+cu126 +torchvision==0.23.0+cu126 +tqdm==4.67.1 +transformers==4.55.2 +triton==3.4.0 +typing==3.7.4.3 +typing_extensions==4.12.2 +typing-inspection==0.4.1 +tzdata==2025.2 +urllib3==2.5.0 +Werkzeug==3.1.3 +wheel==0.45.1 +xxhash==3.5.0 +yacs==0.1.8 +yarl==1.20.1 From 76aa4b9e25ffc03d84eb7792fdc3d7ef80106d96 Mon Sep 17 00:00:00 2001 From: CZ2128-Delta <1163407426@qq.com> Date: Thu, 2 Jul 2026 14:18:40 -0400 Subject: [PATCH 2/6] Update DOI in Sentinel Beetles citation --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 3e3a5ca..6845eba 100644 --- a/README.md +++ b/README.md @@ -57,10 +57,10 @@ BibTeX: S M Rayeed and Fangxun Liu and David Carlyn and Connor Kilrain and Jiaman Wu and Chandra Earl and Hilmar Lapp and Kayla I. Perry and Charles Stewart and Matthew J. Thompson and Elizabeth G. Campolongo and Wei-Lun Chao and Eric R. Sokol and Sydne Record}, - title = {Beetles as Sentinel Taxa: Predicting drought conditions from {NEON} specimen imagery}, - year = {2025}, + title = {Beetles as Sentinel Taxa: Predicting drought conditions from {NEON} specimen imagery (Revision 5026be7)}, + year = {2026}, url = {https://huggingface.co/datasets/imageomics/sentinel-beetles}, - doi = {}, + doi = {10.57967/hf/8716}, publisher = {Hugging Face} } ``` From 2a4b448508736170f5a393b3bdf499ac28d8d9a8 Mon Sep 17 00:00:00 2001 From: CZ2128-Delta <1163407426@qq.com> Date: Thu, 2 Jul 2026 14:35:18 -0400 Subject: [PATCH 3/6] Add .zenodo.json --- .zenodo.json | 93 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 .zenodo.json diff --git a/.zenodo.json b/.zenodo.json new file mode 100644 index 0000000..f293230 --- /dev/null +++ b/.zenodo.json @@ -0,0 +1,93 @@ +{ + "creators": [ + { + "name": "Liu, Fangxun", + "orcid": "0009-0008-8508-2776" + }, + { + "name": "Rayeed, S M" + }, + { + "name": "Stevens, Samuel" + }, + { + "name": "East, Alyson" + }, + { + "name": "Chiang, Cheng Hsuan" + }, + { + "name": "Lee, Colin" + }, + { + "name": "Yi, Daniel" + }, + { + "name": "Yang, Junke" + }, + { + "name": "Naik, Tejas" + }, + { + "name": "Wang, Ziyi" + }, + { + "name": "Kilrain, Connor" + }, + { + "name": "Buckwalter, Elijah H." + }, + { + "name": "Hou, Jiacheng" + }, + { + "name": "Bueno, Saul Ibaven" + }, + { + "name": "Wang, Shuheng" + }, + { + "name": "Ma, Xinyue" + }, + { + "name": "Liu, Yifan" + }, + { + "name": "Tao, Zhiyuan" + }, + { + "name": "Zhang, Ziheng" + }, + { + "name": "Sokol, Eric" + }, + { + "name": "Belitz, Michael" + }, + { + "name": "Record, Sydne" + }, + { + "name": "Stewart, Charles V." + }, + { + "name": "Chao, Wei-Lun" + } + ], + "description": "Pipeline for processing large-scale tray images of pinned beetles: detect specimens, optionally sort and crop with metadata matching, and produce fine-grained morphological segmentation (5-class or 9-class). It uses an open-vocabulary detector (Grounding DINO), a vision-language model (LLaVA-NeXT) for verification, and fine-tuned Mask2Former for transformer-based part segmentation and downstream morphological analysis.", + "keywords": [ + "deep learning", + "computer vision", + "image processing", + "object detection", + "image segmentation", + "entomology", + "imageomics" + ], + "license": { + "id": "MIT" + }, + "publication_date": "2025-10-31", + "title": "BeetleFlow: An Integrative Deep Learning Pipeline for Beetle Image Processing", + "version": "1.0.0" +} From 88c3b4f1cf79cfd2a0f660bfd24c160ac85eb143 Mon Sep 17 00:00:00 2001 From: CZ2128-Delta <1163407426@qq.com> Date: Thu, 2 Jul 2026 14:42:33 -0400 Subject: [PATCH 4/6] Update release date --- .zenodo.json | 2 +- CITATION.cff | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.zenodo.json b/.zenodo.json index f293230..3b64481 100644 --- a/.zenodo.json +++ b/.zenodo.json @@ -87,7 +87,7 @@ "license": { "id": "MIT" }, - "publication_date": "2025-10-31", + "publication_date": "2026-07-06", "title": "BeetleFlow: An Integrative Deep Learning Pipeline for Beetle Image Processing", "version": "1.0.0" } diff --git a/CITATION.cff b/CITATION.cff index 6a50d42..2c97db5 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -13,7 +13,7 @@ type: software repository-code: "https://github.com/Imageomics/BeetleFlow" license: MIT -date-released: 2025-10-31 +date-released: 2026-07-06 version: 1.0.0 authors: From 19129c2b16300183ef590c8935cea10d88b34c89 Mon Sep 17 00:00:00 2001 From: CZ2128-Delta <1163407426@qq.com> Date: Thu, 2 Jul 2026 16:30:11 -0400 Subject: [PATCH 5/6] Update CFF, Zenodo, and Mask2Former checkpoint downloads CFF: Add identifiers and keywords for the conference-paper part; Zenodo: Add affiliations, Imageomics grant, and references --- .zenodo.json | 82 +++++++++++++++++++++++++++++++++++++--------------- CITATION.cff | 12 ++++++++ README.md | 7 +++-- 3 files changed, 74 insertions(+), 27 deletions(-) diff --git a/.zenodo.json b/.zenodo.json index 3b64481..18ca644 100644 --- a/.zenodo.json +++ b/.zenodo.json @@ -2,76 +2,100 @@ "creators": [ { "name": "Liu, Fangxun", + "affiliation": "The Ohio State University", "orcid": "0009-0008-8508-2776" }, { - "name": "Rayeed, S M" + "name": "Rayeed, S M", + "affiliation": "Rensselaer Polytechnic Institute" }, { - "name": "Stevens, Samuel" + "name": "Stevens, Samuel", + "affiliation": "The Ohio State University" }, { - "name": "East, Alyson" + "name": "East, Alyson", + "affiliation": "The University of Maine" }, { - "name": "Chiang, Cheng Hsuan" + "name": "Chiang, Cheng Hsuan", + "affiliation": "The Ohio State University" }, { - "name": "Lee, Colin" + "name": "Lee, Colin", + "affiliation": "The Ohio State University" }, { - "name": "Yi, Daniel" + "name": "Yi, Daniel", + "affiliation": "The Ohio State University" }, { - "name": "Yang, Junke" + "name": "Yang, Junke", + "affiliation": "The Ohio State University" }, { - "name": "Naik, Tejas" + "name": "Naik, Tejas", + "affiliation": "The Ohio State University" }, { - "name": "Wang, Ziyi" + "name": "Wang, Ziyi", + "affiliation": "The Ohio State University" }, { - "name": "Kilrain, Connor" + "name": "Kilrain, Connor", + "affiliation": "The Ohio State University" }, { - "name": "Buckwalter, Elijah H." + "name": "Buckwalter, Elijah H.", + "affiliation": "The Ohio State University" }, { - "name": "Hou, Jiacheng" + "name": "Hou, Jiacheng", + "affiliation": "The Ohio State University" }, { - "name": "Bueno, Saul Ibaven" + "name": "Bueno, Saul Ibaven", + "affiliation": "The Ohio State University" }, { - "name": "Wang, Shuheng" + "name": "Wang, Shuheng", + "affiliation": "The Ohio State University" }, { - "name": "Ma, Xinyue" + "name": "Ma, Xinyue", + "affiliation": "The Ohio State University" }, { - "name": "Liu, Yifan" + "name": "Liu, Yifan", + "affiliation": "The Ohio State University" }, { - "name": "Tao, Zhiyuan" + "name": "Tao, Zhiyuan", + "affiliation": "The Ohio State University" }, { - "name": "Zhang, Ziheng" + "name": "Zhang, Ziheng", + "affiliation": "The Ohio State University" }, { - "name": "Sokol, Eric" + "name": "Sokol, Eric", + "affiliation": "National Ecological Observatory Network (NEON), Battelle" }, { - "name": "Belitz, Michael" + "name": "Belitz, Michael", + "affiliation": "Michigan State University" }, { - "name": "Record, Sydne" + "name": "Record, Sydne", + "affiliation": "The University of Maine" }, { - "name": "Stewart, Charles V." + "name": "Stewart, Charles V.", + "affiliation": "Rensselaer Polytechnic Institute" }, { - "name": "Chao, Wei-Lun" + "name": "Chao, Wei-Lun", + "affiliation": "The Ohio State University" } ], "description": "Pipeline for processing large-scale tray images of pinned beetles: detect specimens, optionally sort and crop with metadata matching, and produce fine-grained morphological segmentation (5-class or 9-class). It uses an open-vocabulary detector (Grounding DINO), a vision-language model (LLaVA-NeXT) for verification, and fine-tuned Mask2Former for transformer-based part segmentation and downstream morphological analysis.", @@ -89,5 +113,15 @@ }, "publication_date": "2026-07-06", "title": "BeetleFlow: An Integrative Deep Learning Pipeline for Beetle Image Processing", - "version": "1.0.0" + "version": "1.0.0", + "grants": [ + { + "id": "021nxhr62::2118240" + } + ], + "references": [ + "East, A., Belitz, M., Cotton, L., Dominguez, J., Betancourt, I., Rayeed, S. M., Liu, F., Carlyn, D., Kilrain, C., Wu, J., Earl, C., Lapp, H., Perry, K. I., Stewart, C., Thompson, M. J., Campolongo, E. G., Chao, W.-L., Sokol, E. R., & Record, S. (2026). Beetles as Sentinel Taxa: Predicting drought conditions from NEON specimen imagery (Revision 5026be7). Hugging Face. https://doi.org/10.57967/hf/8716", + "National Ecological Observatory Network. (2025). Ground beetles sampled from pitfall traps (DP1.10022.001). https://doi.org/10.48443/CD21-Q875", + "National Ecological Observatory Network. (2025). NEON Field Site Metadata. Retrieved June 25, 2025, from https://www.neonscience.org/field-sites/exports/NEON_Field_Site_Metadata_20250625" + ] } diff --git a/CITATION.cff b/CITATION.cff index 2c97db5..ef68790 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -15,6 +15,10 @@ license: MIT date-released: 2026-07-06 version: 1.0.0 +identifiers: + - description: "The GitHub release URL of tag 1.0.0." + type: url + value: "https://github.com/Imageomics/BeetleFlow/releases/tag/1.0.0" authors: - family-names: Liu @@ -129,5 +133,13 @@ preferred-citation: given-names: "Charles V." - family-names: Chao given-names: "Wei-Lun" + keywords: + - deep learning + - computer vision + - image processing + - object detection + - image segmentation + - entomology + - imageomics collection-title: "NeurIPS 2025 Workshop for Imageomics: Discovering Biological Knowledge from Images Using AI" year: 2025 diff --git a/README.md b/README.md index 6845eba..36c4822 100644 --- a/README.md +++ b/README.md @@ -4,11 +4,12 @@ ## 🗓️ TODO - [ ] Update data source -- [ ] Provide checkpoint downloads +- [x] Provide checkpoint downloads - [ ] Add installation guide -## 📊 Dataset -Beetle part segmentation dataset is available [here](data/) (both 5-class and 9-class). +## 📊 Dataset and Checkpoints +Dataset for beetle part segmentation is available [here](data/) (both 5-class and 9-class). +Mask2Former checkpoints for beetle part segmentation are available [here](https://drive.google.com/drive/folders/15lE8AhQGdYBXlfrnTZh1Xa-FIPoshAAU?usp=sharing) (both 5-class and 9-class). ## 🧑‍💻 Usage From 9e2c3646fbec7b6d7abd783789a0a8b9c46d39b2 Mon Sep 17 00:00:00 2001 From: CZ2128-Delta <1163407426@qq.com> Date: Tue, 7 Jul 2026 16:59:46 -0400 Subject: [PATCH 6/6] Add Zenodo metadata validation workflow & update release date --- .github/workflows/validate-zenodo.yaml | 23 +++++++++++++++++++++++ .zenodo.json | 2 +- CITATION.cff | 2 +- README.md | 5 ++--- 4 files changed, 27 insertions(+), 5 deletions(-) create mode 100644 .github/workflows/validate-zenodo.yaml diff --git a/.github/workflows/validate-zenodo.yaml b/.github/workflows/validate-zenodo.yaml new file mode 100644 index 0000000..cf65844 --- /dev/null +++ b/.github/workflows/validate-zenodo.yaml @@ -0,0 +1,23 @@ +name: Check zenodo metadata + +on: + push: + paths: + - '.zenodo.json' + - '.github/workflows/validate-zenodo.yaml' + +jobs: + check-zenodo-metadata: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v6 + - uses: actions/setup-node@v6 + with: + node-version: '24' + - name: Install dependencies + run: npm install zenodraft@0.14.1 + - name: Check .zenodo.json file + run: | + npx zenodraft metadata validate .zenodo.json diff --git a/.zenodo.json b/.zenodo.json index 18ca644..3885d3e 100644 --- a/.zenodo.json +++ b/.zenodo.json @@ -111,7 +111,7 @@ "license": { "id": "MIT" }, - "publication_date": "2026-07-06", + "publication_date": "2026-07-07", "title": "BeetleFlow: An Integrative Deep Learning Pipeline for Beetle Image Processing", "version": "1.0.0", "grants": [ diff --git a/CITATION.cff b/CITATION.cff index ef68790..6e9e3ea 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -13,7 +13,7 @@ type: software repository-code: "https://github.com/Imageomics/BeetleFlow" license: MIT -date-released: 2026-07-06 +date-released: 2026-07-07 version: 1.0.0 identifiers: - description: "The GitHub release URL of tag 1.0.0." diff --git a/README.md b/README.md index 36c4822..e37ca70 100644 --- a/README.md +++ b/README.md @@ -4,12 +4,11 @@ ## 🗓️ TODO - [ ] Update data source -- [x] Provide checkpoint downloads +- [ ] Provide checkpoint downloads - [ ] Add installation guide -## 📊 Dataset and Checkpoints +## 📊 Dataset Dataset for beetle part segmentation is available [here](data/) (both 5-class and 9-class). -Mask2Former checkpoints for beetle part segmentation are available [here](https://drive.google.com/drive/folders/15lE8AhQGdYBXlfrnTZh1Xa-FIPoshAAU?usp=sharing) (both 5-class and 9-class). ## 🧑‍💻 Usage