Instructions to use Mattysmittttt/camonet with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use Mattysmittttt/camonet with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-classification", model="Mattysmittttt/camonet") pipe("https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/hub/parrots.png")# Load model directly from transformers import AutoImageProcessor, AutoModelForImageClassification processor = AutoImageProcessor.from_pretrained("Mattysmittttt/camonet") model = AutoModelForImageClassification.from_pretrained("Mattysmittttt/camonet") - Notebooks
- Google Colab
- Kaggle
| """ | |
| CamoNet pattern taxonomy. | |
| Each pattern has: | |
| - id: short slug used as the class label (stable, snake_case) | |
| - name: human-readable display name | |
| - origin: country / military of origin | |
| - era: rough date range of issue | |
| - family: visual family (woodland / desert / arid / digital / brushstroke / blob / multi-terrain) | |
| - notes: short blurb for the model card | |
| Keep this list curated, not exhaustive. ~40 patterns is the sweet spot: | |
| big enough to be impressive, small enough to actually train with limited data. | |
| """ | |
| from dataclasses import dataclass | |
| from typing import Literal | |
| Family = Literal[ | |
| "woodland", "desert", "arid", "digital", "brushstroke", | |
| "blob", "multi-terrain", "winter", "urban", "naval" | |
| ] | |
| class Pattern: | |
| id: str | |
| name: str | |
| origin: str | |
| era: str | |
| family: Family | |
| notes: str | |
| PATTERNS: list[Pattern] = [ | |
| # --- United States --- | |
| Pattern("us_erdl", "ERDL", "United States", "1948-1980s", "woodland", | |
| "Early US 4-color woodland pattern, used in Vietnam."), | |
| Pattern("us_m81_woodland", "M81 Woodland", "United States", "1981-2006", "woodland", | |
| "Iconic 4-color US woodland; the BDU pattern."), | |
| Pattern("us_dcu_chocolate_chip", "Chocolate Chip (DBDU)", "United States", "1981-1991", "desert", | |
| "6-color desert with pebble-like spots; Gulf War era."), | |
| Pattern("us_dcu_3color", "3-Color Desert (DCU)", "United States", "1990-2000s", "desert", | |
| "Coffee-stain pattern that replaced Chocolate Chip."), | |
| Pattern("us_marpat_woodland", "MARPAT Woodland", "USMC", "2002-present", "digital", | |
| "USMC digital woodland; first widely-issued pixelated camo."), | |
| Pattern("us_marpat_desert", "MARPAT Desert", "USMC", "2002-present", "digital", | |
| "USMC digital desert variant of MARPAT."), | |
| Pattern("us_ucp", "UCP (ACU)", "US Army", "2004-2019", "digital", | |
| "Universal Camo Pattern; grey-green digital, controversially ineffective."), | |
| Pattern("us_multicam", "MultiCam", "United States (Crye)", "2010-present", "multi-terrain", | |
| "Crye Precision blended multi-environment pattern; OEF-CP, OCP."), | |
| Pattern("us_ocp_scorpion", "OCP Scorpion W2", "US Army", "2015-present", "multi-terrain", | |
| "Army's MultiCam-derivative replacement for UCP."), | |
| Pattern("us_aor1", "AOR1", "US Navy/NSW", "2010-present", "desert", | |
| "NSW desert digital, MARPAT-derived."), | |
| Pattern("us_aor2", "AOR2", "US Navy/NSW", "2010-present", "digital", | |
| "NSW woodland digital, MARPAT-derived."), | |
| Pattern("us_tigerstripe", "Tiger Stripe", "South Vietnam / US SF", "1962-1975", "brushstroke", | |
| "Asymmetric horizontal-stripe pattern; many regional variants."), | |
| # --- United Kingdom --- | |
| Pattern("uk_dpm_woodland", "DPM Woodland", "United Kingdom", "1968-2011", "brushstroke", | |
| "British Disruptive Pattern Material; brush-stroke 4-color."), | |
| Pattern("uk_dpm_desert", "DPM Desert", "United Kingdom", "1990-2011", "desert", | |
| "2-color desert DPM."), | |
| Pattern("uk_mtp", "MTP (Multi-Terrain Pattern)", "United Kingdom", "2010-present", "multi-terrain", | |
| "British MultiCam-derivative with DPM brush-stroke shapes."), | |
| # --- Germany --- | |
| Pattern("de_flecktarn", "Flecktarn", "Germany (Bundeswehr)", "1990-present", "blob", | |
| "5-color blob pattern; one of the most effective in temperate forest."), | |
| Pattern("de_tropentarn", "Tropentarn", "Germany (Bundeswehr)", "1990s-present", "desert", | |
| "3-color arid Flecktarn variant."), | |
| Pattern("de_splittertarn", "Splittertarn", "Germany (Wehrmacht)", "1931-1945", "blob", | |
| "WW2-era angular splinter pattern."), | |
| # --- USSR / Russia --- | |
| Pattern("ru_klmk", "KLMK", "USSR", "1968-1990s", "brushstroke", | |
| "Soviet 'silver leaf' sun-ray 2-color oversuit pattern."), | |
| Pattern("ru_ttsko", "TTsKO (Butan)", "USSR", "1984-2000s", "blob", | |
| "Three-color Soviet computer-generated pattern."), | |
| Pattern("ru_vsr_93", "VSR-93 (Flora)", "Russia", "1993-2000s", "brushstroke", | |
| "Vertical brush-stroke 'Flora' pattern."), | |
| Pattern("ru_emr_digital_flora", "EMR (Digital Flora)", "Russia", "2008-present", "digital", | |
| "Russian Armed Forces digital pattern; pixelated greens."), | |
| Pattern("ru_surpat", "SURPAT", "Russia (Survival Corps)", "2010s-present", "digital", | |
| "Commercial Russian multi-terrain digital."), | |
| Pattern("ru_partizan", "Partizan / Spectre", "Russia (SSO)", "2000s-present", "multi-terrain", | |
| "SSO Tactical 'leaf' pattern; layered foliage shapes."), | |
| # --- Other NATO / Western --- | |
| Pattern("ca_cadpat_tw", "CADPAT TW", "Canada", "1997-present", "digital", | |
| "Canadian Disruptive Pattern; first issued digital camo (predates MARPAT)."), | |
| Pattern("ca_cadpat_ar", "CADPAT AR", "Canada", "2000s-present", "desert", | |
| "Arid CADPAT variant."), | |
| Pattern("fr_cce", "CCE F1", "France", "1991-2010s", "woodland", | |
| "Centre Europe; French M81-style woodland."), | |
| Pattern("fr_daguet", "Daguet", "France", "1991-2010s", "desert", | |
| "French desert pattern, Gulf War era."), | |
| Pattern("it_vegetata", "Vegetata", "Italy", "2004-present", "woodland", | |
| "Italian 4-color fractal-style woodland."), | |
| Pattern("au_auscam", "AUSCAM (DPCU)", "Australia", "1982-2014", "blob", | |
| "Australian 'hearts and bunnies' 5-color blob pattern."), | |
| Pattern("au_amcu", "AMCU", "Australia", "2014-present", "multi-terrain", | |
| "Australian MultiCam-derivative replacement for DPCU."), | |
| Pattern("se_m90", "M90", "Sweden", "1990-present", "blob", | |
| "Swedish angular 4-color splinter; very distinctive."), | |
| Pattern("ch_taz_90", "TAZ 90", "Switzerland", "1990-present", "blob", | |
| "Swiss 5-color leaf/blob pattern."), | |
| Pattern("no_m75", "M75", "Norway", "1975-2000s", "blob", | |
| "Norwegian 3-color blob pattern."), | |
| # --- Asia --- | |
| Pattern("cn_type07_universal", "Type 07 Universal", "China (PLA)", "2007-present", "digital", | |
| "Chinese Type 07 woodland-leaning digital."), | |
| Pattern("cn_type07_desert", "Type 07 Desert", "China (PLA)", "2007-present", "digital", | |
| "Type 07 arid variant."), | |
| Pattern("kr_granite", "ROK Granite", "South Korea", "2014-present", "digital", | |
| "Korean digital pattern with granite-like color blocks."), | |
| Pattern("jp_jgsdf", "JGSDF Type II", "Japan", "1991-present", "blob", | |
| "Japan Ground SDF pinkish-brown tinted blob pattern."), | |
| # --- Commercial / specialty --- | |
| Pattern("commercial_kryptek_mandrake", "Kryptek Mandrake", "United States (commercial)", "2012-present", "multi-terrain", | |
| "Commercial layered reptilian-scale pattern."), | |
| Pattern("commercial_atacs_au", "A-TACS AU", "United States (commercial)", "2009-present", "arid", | |
| "Commercial arid-urban 'pixelated organic' pattern."), | |
| ] | |
| PATTERN_BY_ID: dict[str, Pattern] = {p.id: p for p in PATTERNS} | |
| LABELS: list[str] = [p.id for p in PATTERNS] | |
| LABEL2ID: dict[str, int] = {label: i for i, label in enumerate(LABELS)} | |
| ID2LABEL: dict[int, str] = {i: label for i, label in enumerate(LABELS)} | |
| NUM_LABELS: int = len(LABELS) | |
| if __name__ == "__main__": | |
| print(f"CamoNet taxonomy: {NUM_LABELS} patterns across {len(set(p.family for p in PATTERNS))} families") | |
| for fam in sorted(set(p.family for p in PATTERNS)): | |
| members = [p for p in PATTERNS if p.family == fam] | |
| print(f" {fam:15s} ({len(members):2d}): {', '.join(m.id for m in members)}") | |