---
updatedAt: 2026-09-17T11:17:33.000Z
agentTools:
  projectIndex: https://docs.sixfab.com/llms.txt
---

# Sixfab Model Zoo

A ready-to-run library of pre-compiled .dxnn vision models, object detection, face detection, pose estimation, and segmentation that deploy without training or compiling across all Sixfab edge AI hardware

<HTMLBlock>{`


<style>
/* ════════════════════════════════════════════════════════════════════════
   FONTS, Gilroy + JetBrains Mono (DESIGN.md canonical pairing)
   ════════════════════════════════════════════════════════════════════════ */
@font-face{font-family:'Gilroy';src:url('https://sixfab.com/wp-content/fonts/Gilroy-Regular.woff2')   format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Gilroy';src:url('https://sixfab.com/wp-content/fonts/Gilroy-Medium.woff2')    format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Gilroy';src:url('https://sixfab.com/wp-content/fonts/Gilroy-SemiBold.woff2')  format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:'Gilroy';src:url('https://sixfab.com/wp-content/fonts/Gilroy-Bold.woff2')      format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'Gilroy';src:url('https://sixfab.com/wp-content/fonts/Gilroy-ExtraBold.woff2') format('woff2');font-weight:800;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url('https://cdn.jsdelivr.net/gh/JetBrains/JetBrainsMono@2.304/fonts/webfonts/JetBrainsMono-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url('https://cdn.jsdelivr.net/gh/JetBrains/JetBrainsMono@2.304/fonts/webfonts/JetBrainsMono-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}

/* ════════════════════════════════════════════════════════════════════════
   DESIGN TOKENS, DESIGN.md 6-tier system, scoped to .sf-doc
   ════════════════════════════════════════════════════════════════════════ */
.sf-doc {
  /* Tier 1, Core Brand */
  --primary:       #034860;
  --secondary:     #00E0B8;
  --tertiary:      #1B2D45;
  --neutral:       #E8F5F0;

  /* Tier 2, Neutral & Interface */
  --white:         #FFFFFF;
  --light:         #F6F8F9;
  --line:          #DDE6EC;
  --slate-light:   #94A8B5;
  --slate:         #52667A;
  --deep-ink:      #10202E;

  /* Tier 3, AI / Product Accent */
  --ai-iris:       #6B47F0;
  --ai-iris-hover: #5638E0;
  --ai-mist:       #F0EDFF;

  /* Tier 5, Semantic */
  --success:       #00B894;
  --warning:       #F59E0B;
  --danger:        #DC2626;
  --info:          #429CBF;
  --success-text:  #047857;
  --warning-text:  #92400E;
  --danger-text:   #B91C1C;
  --info-text:     #0E4A66;
  --success-bg:    #E0F5EE;
  --warning-bg:    #FDF1DC;
  --danger-bg:     #FBE5E5;
  --info-bg:       #DCEFF7;

  /* On-color */
  --on-primary:    #FFFFFF;
  --on-secondary:  #1B2D45;
  --on-neutral:    #10202E;

  /* Gradients (Tier 3, Neural Field for AI) */
  --grad-neural:   linear-gradient(135deg, #1B2D45 0%, #6B47F0 50%, #00E0B8 100%);

  /* Spacing, DESIGN.md 4px base */
  --xs: 4px; --sm: 8px; --md: 16px; --lg: 24px; --xl: 32px; --2xl: 48px; --3xl: 64px;

  /* Radii */
  --r-sm: 4px; --r-md: 6px; --r-lg: 8px; --r-xl: 12px; --r-2xl: 16px; --r-full: 9999px;

  /* Shadows */
  --shadow-sm: 0 1px 2px rgba(10,23,33,0.04);
  --shadow-md: 0 4px 12px rgba(10,23,33,0.06);
  --shadow-lg: 0 12px 32px rgba(10,23,33,0.10);

  /* Fonts */
  --font-sans: 'Gilroy','Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --font-mono: 'JetBrains Mono','SF Mono',Menlo,Consolas,monospace;

  font-family: var(--font-sans);
  font-size: 1rem;
  line-height: 1.6;
  color: var(--deep-ink);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.sf-doc *, .sf-doc *::before, .sf-doc *::after { box-sizing: border-box; }
.sf-doc * { margin: 0; padding: 0; }

/* ════════════════════════════════════════════════════════════════════════
   BASE TYPOGRAPHY
   ════════════════════════════════════════════════════════════════════════ */
.sf-doc h1 { font-size: 3rem;    font-weight: 800; letter-spacing: -0.03em;  line-height: 1.08; color: var(--deep-ink); margin: 0 0 var(--md); }
.sf-doc h2 { font-size: 2.25rem; font-weight: 700; letter-spacing: -0.025em; line-height: 1.15; color: var(--primary);  margin: var(--3xl) 0 var(--md); }
.sf-doc h2:first-of-type { margin-top: 0; }
.sf-doc h3 { font-size: 1.5rem;  font-weight: 700; letter-spacing: -0.02em;  line-height: 1.2;  color: var(--deep-ink); margin: var(--xl) 0 var(--sm); }
.sf-doc h4 { font-size: 1.125rem;font-weight: 600; letter-spacing: -0.015em; line-height: 1.3;  color: var(--deep-ink); margin: var(--lg) 0 var(--sm); }
.sf-doc p  { font-size: 1rem;    line-height: 1.6; color: var(--deep-ink); margin: 0 0 var(--md); }
.sf-lead   { font-size: 1.0625rem; line-height: 1.6; color: var(--deep-ink); margin: 0 0 var(--lg); }
.sf-doc ul, .sf-doc ol { padding-left: var(--lg); margin: var(--sm) 0 var(--md); }
.sf-doc li { font-size: 1rem; line-height: 1.6; color: var(--deep-ink); margin-bottom: 6px; }
.sf-doc ul li::marker { color: var(--primary); }
.sf-doc a  { color: var(--primary); text-decoration: none; font-weight: 500; }
.sf-doc a:hover { color: var(--deep-ink); text-decoration: underline; }
.sf-doc strong { color: var(--deep-ink); font-weight: 700; }
.sf-doc code {
  font-family: var(--font-mono);
  font-size: 0.875rem; font-weight: 500;
  background: var(--light); color: var(--primary);
  padding: 1px 6px; border-radius: var(--r-sm);
  border: 0; white-space: nowrap;
}

/* Icon helper */
.sf-icon { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; vertical-align: middle; fill: currentColor; overflow: visible; }
.sf-icon svg { width: 100%; height: 100%; }

/* ════════════════════════════════════════════════════════════════════════
   HERO (compact, single-column, default Tier 1 surface)
   ════════════════════════════════════════════════════════════════════════ */
.sf-hero {
  padding: var(--xl);
  margin: 0 0 24px;
  background: var(--light);
  border: 1px solid var(--line);
  border-radius: var(--r-2xl);
}
.sf-hero__copy { min-width: 0; }
.sf-doc .sf-hero p.sf-hero__title,
.sf-doc .sf-hero .sf-hero__title {
  font-family: var(--font-sans);
  font-size: 2.5rem; font-weight: 800; line-height: 1.08; letter-spacing: -0.03em;
  color: var(--deep-ink); margin: 0 0 14px;
}
.sf-doc .sf-hero p.sf-hero__lead,
.sf-doc .sf-hero .sf-hero__lead {
  font-size: 1.0625rem; line-height: 1.6;
  color: var(--deep-ink); margin: 0 0 18px;
}
.sf-hero__chips { display: flex; flex-wrap: wrap; gap: 6px; }

/* ════════════════════════════════════════════════════════════════════════
   PILL / BADGE
   ════════════════════════════════════════════════════════════════════════ */
.sf-pill {
  display: inline-flex; align-items: center; gap: var(--xs);
  font-family: var(--font-sans);
  font-size: 0.75rem; font-weight: 600;
  padding: 4px 10px; border-radius: var(--r-sm);
  background: var(--light); color: var(--deep-ink);
  border: 1px solid var(--line);
  white-space: nowrap; line-height: 1.4;
}
.sf-pill--ai {
  background: var(--ai-iris); color: #FFFFFF; border-color: var(--ai-iris);
  font-size: 0.875rem;       /* 14px, required for WCAG large-text exception */
  font-weight: 700;
}
.sf-pill--mint {
  background: var(--secondary); color: var(--on-secondary); border-color: var(--secondary);
  font-weight: 700;
}
.sf-pill--mono {
  font-family: var(--font-mono);
  font-size: 0.75rem; font-weight: 500; letter-spacing: 0.02em;
}
.sf-pill-row { display: flex; flex-wrap: wrap; gap: var(--sm); margin: var(--md) 0 var(--lg); }

/* ════════════════════════════════════════════════════════════════════════
   META BAR
   ════════════════════════════════════════════════════════════════════════ */
.sf-meta {
  display: flex; align-items: center; flex-wrap: wrap;
  gap: var(--sm);
  font-family: var(--font-mono);
  font-size: 0.75rem; color: var(--slate);
  margin: 0 0 var(--lg);
}
.sf-meta__badge {
  font-family: var(--font-sans);
  font-weight: 700; font-size: 0.75rem;
  padding: 3px 8px; border-radius: var(--r-sm);
  background: var(--light); color: var(--primary);
  border: 1px solid var(--line);
}
.sf-meta__badge--mint {
  background: var(--neutral); color: var(--primary); border-color: var(--neutral);
}
.sf-meta__sep { color: var(--line); }

/* ════════════════════════════════════════════════════════════════════════
   AEO ANSWER BLOCK (sf-aeo--ai for Tier 3 AI Iris)
   ════════════════════════════════════════════════════════════════════════ */
.sf-aeo {
  position: relative;
  background: var(--light);
  border: 1px solid var(--line);
  border-left: 4px solid var(--primary);
  border-radius: var(--r-md);
  padding: var(--lg) var(--xl);
  margin: 0 0 var(--xl);
}
.sf-aeo--ai {
  background: var(--ai-mist);
  border-color: rgba(107,71,240,0.20);
  border-left-color: var(--ai-iris);
}
.sf-aeo__label {
  display: block;
  font-family: var(--font-sans);
  font-size: 1.375rem; font-weight: 700;
  line-height: 1.25; letter-spacing: -0.015em;
  text-transform: none;
  color: var(--primary);
  margin: 0 0 var(--sm);
}
.sf-aeo--ai .sf-aeo__label { color: var(--ai-iris); }
.sf-aeo__text {
  font-size: 1rem; line-height: 1.6; color: var(--deep-ink);
  margin: 0;
}
.sf-aeo__text strong { color: var(--primary); font-weight: 600; }
.sf-aeo--ai .sf-aeo__text strong { color: var(--ai-iris); }

/* ════════════════════════════════════════════════════════════════════════
   IN THIS GUIDE, sf-toc
   ════════════════════════════════════════════════════════════════════════ */
.sf-toc {
  display: flex; align-items: center; flex-wrap: wrap;
  gap: 6px;
  padding: var(--md) var(--lg);
  background: var(--light);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  margin: 0 0 var(--xl);
}
.sf-toc__label {
  font-family: var(--font-mono);
  font-size: 0.6875rem; font-weight: 500;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--slate);
  margin-right: var(--sm);
}
.sf-toc__item {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 12px;
  background: var(--white); border: 1px solid var(--line);
  border-radius: var(--r-sm);
  font-size: 0.8125rem; font-weight: 600;
  color: var(--deep-ink);
  text-decoration: none !important;
  transition: border-color .15s; white-space: nowrap;
}
.sf-doc .sf-toc .sf-toc__item:hover,
.sf-doc .sf-toc .sf-toc__item:focus {
  background: var(--primary);
  color: var(--white) !important;
  border-color: var(--primary);
  text-decoration: none !important;
}
.sf-doc .sf-toc .sf-toc__item:hover .sf-toc__num,
.sf-doc .sf-toc .sf-toc__item:focus .sf-toc__num {
  color: var(--secondary);
}
.sf-toc__num {
  font-family: var(--font-mono);
  font-size: 0.6875rem; font-weight: 500; color: var(--slate);
}

/* ════════════════════════════════════════════════════════════════════════
   CALLOUT (Tier 5 semantic + Tier 3 AI)
   ════════════════════════════════════════════════════════════════════════ */
.sf-callout {
  display: flex; flex-direction: column; gap: var(--sm);
  border-radius: var(--r-md);
  padding: var(--md) var(--lg);
  margin: var(--lg) 0;
  border-left: 4px solid;
}
.sf-callout__header {
  display: flex; align-items: center; gap: var(--sm);
  font-size: 0.9375rem; font-weight: 700; line-height: 1.3;
}
.sf-callout__header .sf-icon { width: 18px; height: 18px; }
.sf-callout__content { font-size: 0.9375rem; line-height: 1.6; color: var(--deep-ink); }
.sf-callout__content p { margin: 0 0 var(--sm); font-size: 0.9375rem; color: inherit; }
.sf-callout__content p:last-child { margin-bottom: 0; }
.sf-callout__content a { color: inherit; text-decoration: underline; }
.sf-callout__content code { background: rgba(0,0,0,0.06); border: 0; color: inherit; }
.sf-callout--info    { background: var(--info-bg);    border-left-color: var(--info); }
.sf-callout--info    .sf-callout__header { color: var(--info-text); }
.sf-callout--success { background: var(--success-bg); border-left-color: var(--success); }
.sf-callout--success .sf-callout__header { color: var(--success-text); }
.sf-callout--warning { background: var(--warning-bg); border-left-color: var(--warning); }
.sf-callout--warning .sf-callout__header { color: var(--warning-text); }
.sf-callout--ai      { background: var(--ai-mist);    border-left-color: var(--ai-iris); }
.sf-callout--ai      .sf-callout__header { color: var(--ai-iris); }

/* ════════════════════════════════════════════════════════════════════════
   TERMINAL BLOCK
   ════════════════════════════════════════════════════════════════════════ */
.sf-terminal {
  --t-bg: #0d1117; --t-hd: #161b22; --t-bdc: #30363d; --t-tx: #e6edf3;
  --t-dm: #8B949E; --t-gn: #56d364; --t-bl: #79c0ff; --t-yl: #e3b341;
  --t-pp: #d2a8ff; --t-rd: #ff7b72;
  background: var(--t-bg) !important;
  border: 1px solid var(--t-bdc) !important;
  border-radius: var(--r-lg) !important;
  overflow: hidden;
  margin: var(--md) 0;
  box-shadow: var(--shadow-md);
}
.sf-term-header {
  display: flex !important; align-items: center !important; gap: var(--sm) !important;
  padding: 12px var(--md) !important;
  background: var(--t-hd) !important;
  border-bottom: 1px solid var(--t-bdc) !important;
}
.sf-term-dots { display: flex; gap: 6px; flex-shrink: 0; }
.sf-term-dot {
  width: 11px; height: 11px;
  border-radius: var(--r-full);
  display: inline-block; flex-shrink: 0;
}
.sf-term-title {
  margin-left: 6px;
  font-family: var(--font-mono) !important;
  font-size: 0.6875rem !important;
  color: var(--t-dm) !important;
  font-weight: 500; letter-spacing: 0.05em; text-transform: uppercase;
}
.sf-term-badge {
  margin-left: auto;
  font-family: var(--font-sans);
  font-size: 0.6875rem; font-weight: 700;
  padding: 3px var(--sm);
  border-radius: var(--r-sm);
  background: rgba(86,211,100,0.15);
  color: var(--t-gn) !important;
  border: 1px solid rgba(86,211,100,0.30);
  letter-spacing: 0.05em; text-transform: uppercase;
}
.sf-term-body { padding: var(--md) var(--lg) !important; overflow-x: auto; background: var(--t-bg) !important; }
.sf-terminal pre, .sf-term-body pre {
  margin: 0 !important; padding: 0 !important; border: 0 !important;
  background: transparent !important; color: var(--t-tx) !important;
  font-family: var(--font-mono) !important;
  font-size: 0.8125rem !important; line-height: 1.75 !important;
  white-space: pre-wrap !important; word-break: break-word !important;
  border-radius: 0 !important; box-shadow: none !important;
}
.sf-terminal .t-dim { color: var(--t-dm) !important; }
.sf-terminal .t-gn  { color: var(--t-gn) !important; font-weight: 600; }
.sf-terminal .t-bl  { color: var(--t-bl) !important; }
.sf-terminal .t-yl  { color: var(--t-yl) !important; }
.sf-terminal .t-pp  { color: var(--t-pp) !important; }
.sf-terminal .t-rd  { color: var(--t-rd) !important; }

/* ════════════════════════════════════════════════════════════════════════
   MODEL CARDS
   ════════════════════════════════════════════════════════════════════════ */
.sf-model-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: var(--md); margin: var(--md) 0 var(--lg);
}
.sf-model {
  display: flex; flex-direction: column; gap: var(--sm);
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--r-xl);
  padding: var(--lg);
  position: relative;
  transition: border-color .15s, transform .15s, box-shadow .15s;
}
.sf-model:hover { border-color: var(--ai-iris); transform: translateY(-2px); box-shadow: var(--shadow-md); }
.sf-model--featured {
  background: var(--ai-mist);
  border: 1px solid rgba(107,71,240,0.18);
}
.sf-model--featured::before {
  content: ''; position: absolute;
  top: 0; left: 0; right: 0; height: 3px;
  background: var(--ai-iris);
  border-radius: var(--r-xl) var(--r-xl) 0 0;
}
.sf-model__head {
  display: flex; align-items: center; gap: var(--sm);
  margin-bottom: var(--xs);
}
.sf-model__icon {
  width: 32px; height: 32px;
  border-radius: var(--r-md);
  background: var(--neutral); color: var(--primary);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.sf-model__icon .sf-icon { width: 18px; height: 18px; }
.sf-model--featured .sf-model__icon { background: rgba(107,71,240,0.12); color: var(--ai-iris); }
.sf-model__name {
  font-family: var(--font-sans);
  font-size: 1.0625rem; font-weight: 700;
  color: var(--deep-ink);
  letter-spacing: -0.015em;
  line-height: 1.25;
}
.sf-model__task {
  font-size: 0.9375rem; color: var(--deep-ink);
  line-height: 1.6; flex: 1;
}
.sf-model__task strong { color: var(--primary); font-weight: 700; }
.sf-model__task em { color: var(--slate); font-style: italic; }
.sf-model__foot {
  display: flex; align-items: center; justify-content: space-between;
  gap: var(--sm); margin-top: var(--xs);
  flex-wrap: wrap;
}
.sf-model__type {
  font-family: var(--font-mono);
  font-size: 0.6875rem; font-weight: 600;
  letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--slate);
}
.sf-model__fps {
  font-family: var(--font-mono);
  font-size: 0.75rem; font-weight: 700;
  padding: 3px 9px; border-radius: var(--r-full);
  background: var(--success-bg); color: var(--success-text);
  border: 1px solid rgba(0,184,148,0.30);
  white-space: nowrap;
}
.sf-model__fps--pending {
  background: var(--light); color: var(--slate);
  border-color: var(--line);
  font-weight: 500;
}

/* ════════════════════════════════════════════════════════════════════════
   TABLE
   ════════════════════════════════════════════════════════════════════════ */
.sf-table-wrap {
  display: block; width: 100%; overflow-x: auto;
  border: 1px solid var(--line); border-radius: var(--r-lg);
  background: var(--white);
  margin: var(--md) 0 var(--xl);
}
.sf-table {
  width: 100%; border-collapse: separate; border-spacing: 0;
  font-size: 0.9375rem; margin: 0 !important;
}
.sf-table th {
  padding: 12px var(--md);
  font-family: var(--font-mono);
  font-size: 0.6875rem; font-weight: 500;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--slate); background: var(--light);
  text-align: left; border-bottom: 1px solid var(--line);
  white-space: nowrap;
  vertical-align: bottom;
}
.sf-table th small {
  display: block;
  font-family: var(--font-sans);
  font-size: 0.625rem; font-weight: 600;
  letter-spacing: 0.04em; text-transform: none;
  color: var(--slate);
  margin-top: 2px;
  white-space: normal;
  max-width: 200px;
}
.sf-table td {
  padding: 14px var(--md); border-bottom: 1px solid var(--line);
  font-size: 0.9375rem; line-height: 1.55;
  color: var(--deep-ink); vertical-align: top;
}
.sf-table tr:last-child td { border-bottom: 0; }
.sf-table td strong { color: var(--deep-ink); font-weight: 700; }
.sf-table td code { font-size: 0.8125rem; }
.sf-table .fps-confirmed {
  display: inline-flex; align-items: center; gap: 5px;
  font-family: var(--font-mono);
  font-size: 0.8125rem; font-weight: 700;
  padding: 3px 9px; border-radius: var(--r-full);
  background: var(--success-bg); color: var(--success-text);
  border: 1px solid rgba(0,184,148,0.30);
  white-space: nowrap;
}
.sf-table .fps-pending {
  display: inline-flex; align-items: center; gap: 5px;
  font-family: var(--font-mono);
  font-size: 0.75rem; font-weight: 600;
  padding: 3px 9px; border-radius: var(--r-full);
  background: var(--warning-bg); color: var(--warning-text);
  border: 1px solid rgba(245,158,11,0.30);
  white-space: nowrap;
}

/* ════════════════════════════════════════════════════════════════════════
   METHODOLOGY DISCLOSURE
   ════════════════════════════════════════════════════════════════════════ */
.sf-method {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  margin: var(--md) 0 var(--lg);
  overflow: hidden;
}
.sf-method__head {
  display: flex; align-items: center; gap: var(--md);
  padding: var(--md) var(--lg);
  background: var(--ai-mist);
  border-bottom: 2px solid var(--ai-iris);
}
.sf-doc .sf-method__head h3.sf-method__title {
  margin: 0;
  font-family: var(--font-sans);
  font-size: 1.0625rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--ai-iris);
  line-height: 1.3;
}
.sf-method__head .sf-icon {
  width: 22px; height: 22px;
  color: var(--ai-iris);
  flex-shrink: 0;
}
.sf-method__head .sf-icon svg { width: 22px; height: 22px; }
.sf-method__grid {
  display: block;
  margin: 0; padding: 0;
  font-size: 0.875rem;
}
.sf-method__row {
  display: grid;
  grid-template-columns: minmax(220px, 280px) 1fr;
  gap: var(--lg);
  align-items: center;
  padding: 10px var(--lg);
  border-bottom: 1px solid var(--line);
}
.sf-method__row:nth-child(even) { background: var(--light); }
.sf-method__row:last-child { border-bottom: 0; }
.sf-method__row:hover { background: rgba(3, 72, 96, 0.04); }
.sf-method__label {
  font-family: var(--font-sans);
  font-weight: 700;
  color: var(--deep-ink);
  font-size: 0.875rem;
  line-height: 1.4;
}
.sf-method__label code {
  font-family: var(--font-mono);
  font-size: 0.8125rem;
  font-weight: 600;
  background: transparent;
  border: 0;
  padding: 0;
  color: var(--primary);
}
.sf-method__value {
  font-family: var(--font-sans);
  color: var(--deep-ink);
  font-size: 0.875rem;
  line-height: 1.5;
  display: flex; align-items: center; gap: var(--sm);
  flex-wrap: wrap;
}
.sf-method__value code {
  font-size: 0.8125rem;
  background: var(--white);
  border: 1px solid var(--line);
  color: var(--primary);
}
.sf-method__row:nth-child(even) .sf-method__value code {
  background: var(--white);
}
.sf-status {
  display: inline-flex; align-items: center; gap: 4px;
  font-family: var(--font-sans);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 2px 8px;
  border-radius: var(--r-full);
  white-space: nowrap;
  flex-shrink: 0;
}
.sf-status--ok {
  background: var(--success-bg);
  color: var(--success-text);
  border: 1px solid rgba(0, 184, 148, 0.30);
}
.sf-status--pending {
  background: var(--warning-bg);
  color: var(--warning-text);
  border: 1px solid rgba(245, 158, 11, 0.30);
}
.sf-status--need {
  background: var(--ai-mist);
  color: var(--ai-iris);
  border: 1px solid rgba(107, 71, 240, 0.25);
}
.sf-status::before {
  content: '';
  width: 6px; height: 6px;
  border-radius: var(--r-full);
  background: currentColor;
  flex-shrink: 0;
}

/* ════════════════════════════════════════════════════════════════════════
   CTA CARD (exit links)
   ════════════════════════════════════════════════════════════════════════ */
.sf-cta-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--md);
  margin: var(--lg) 0 var(--xl);
}
.sf-cta-card {
  display: flex; flex-direction: column; gap: var(--xs);
  padding: var(--lg) var(--xl);
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--r-xl);
  text-decoration: none !important;
  transition: border-color .15s, transform .15s, box-shadow .15s;
  position: relative;
}
.sf-cta-card:hover {
  border-color: var(--ai-iris); transform: translateY(-2px);
  box-shadow: var(--shadow-md); text-decoration: none !important;
}
.sf-cta-card__eyebrow {
  font-family: var(--font-mono);
  font-size: 0.6875rem; font-weight: 500;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--slate);
}
.sf-cta-card__title {
  font-size: 1.125rem; font-weight: 700;
  color: var(--deep-ink); line-height: 1.3;
  letter-spacing: -0.015em;
}
.sf-cta-card__desc {
  font-size: 0.875rem; color: var(--slate);
  line-height: 1.55;
}
.sf-cta-card__arrow {
  font-family: var(--font-mono);
  font-size: 0.75rem; font-weight: 700;
  color: var(--primary);
  margin-top: var(--xs);
  display: inline-flex; align-items: center; gap: 4px;
}
.sf-cta-card:hover .sf-cta-card__arrow { color: var(--ai-iris); }

/* ════════════════════════════════════════════════════════════════════════
   RESPONSIVE
   ════════════════════════════════════════════════════════════════════════ */
@media (max-width: 820px) {
  .sf-hero { padding: var(--lg); }
  .sf-doc .sf-hero p.sf-hero__title { font-size: 2rem; }
  .sf-doc .sf-hero p.sf-hero__lead   { font-size: 1rem; }
  .sf-cta-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .sf-doc h2 { font-size: 1.75rem; margin-top: var(--2xl); }
  .sf-doc h3 { font-size: 1.25rem; }
  .sf-doc .sf-hero p.sf-hero__title { font-size: 1.75rem; }
  .sf-model-grid { grid-template-columns: 1fr; }
  .sf-terminal pre, .sf-term-body pre { font-size: 0.75rem !important; }
  .sf-aeo { padding: var(--md) var(--lg); }
  .sf-doc .sf-aeo .sf-aeo__label { font-size: 1.125rem; }
  .sf-method__head { padding: 10px var(--md); }
  .sf-method__row {
    grid-template-columns: 1fr;
    gap: 4px;
    padding: 10px var(--md);
  }
  .sf-method__value { font-size: 0.875rem; }
}

/* ════════════════════════════════════════════════════════════════════════
   DARK MODE
   ════════════════════════════════════════════════════════════════════════ */
[data-color-mode="dark"] .sf-doc {
  --white:       #1B2D45;
  --light:       #14222F;
  --line:        #2A3A4D;
  --deep-ink:    #E8F5F0;
  --slate:       #94A8B5;
  --primary:     var(--secondary);
  --ai-mist:     #181731;
  --success-bg:  #052E1B;
  --warning-bg:  #2A1F05;
  --danger-bg:   #2A0E0E;
  --info-bg:     #0A2E3F;
  --success-text:#34D399;
  --warning-text:#FBBF24;
  --danger-text: #F87171;
  --info-text:   #5CD3EE;
}
[data-color-mode="dark"] .sf-doc code { background: rgba(255,255,255,0.06); color: var(--secondary); }
[data-color-mode="dark"] .sf-doc .sf-meta__badge { background: rgba(107,71,240,0.18); color: #B9A6FF; border-color: rgba(107,71,240,0.30); }
[data-color-mode="dark"] .sf-doc .sf-aeo--ai { background: rgba(107,71,240,0.12); }
[data-color-mode="dark"] .sf-doc .sf-callout--ai { background: rgba(107,71,240,0.12); }
[data-color-mode="dark"] .sf-doc .sf-model { background: rgba(255,255,255,0.04); border-color: rgba(255,255,255,0.10); }
[data-color-mode="dark"] .sf-doc .sf-model--featured { background: rgba(107,71,240,0.12); }
[data-color-mode="dark"] .sf-doc .sf-method { background: rgba(255,255,255,0.04); border-color: rgba(255,255,255,0.10); }
[data-color-mode="dark"] .sf-doc .sf-method__head { background: rgba(255,255,255,0.06); border-bottom-color: rgba(255,255,255,0.10); }
[data-color-mode="dark"] .sf-doc .sf-method__row { border-bottom-color: rgba(255,255,255,0.08); }
[data-color-mode="dark"] .sf-doc .sf-method__row:nth-child(even) { background: rgba(255,255,255,0.03); }
[data-color-mode="dark"] .sf-doc .sf-method__row:hover { background: rgba(0,224,184,0.06); }
[data-color-mode="dark"] .sf-doc .sf-method__value code { background: rgba(255,255,255,0.06); border-color: rgba(255,255,255,0.10); color: var(--secondary); }
[data-color-mode="dark"] .sf-doc .sf-toc { background: rgba(255,255,255,0.04); }
[data-color-mode="dark"] .sf-doc .sf-toc__item { background: rgba(255,255,255,0.06); border-color: rgba(255,255,255,0.10); color: var(--neutral); }
[data-color-mode="dark"] .sf-doc .sf-table-wrap { background: rgba(255,255,255,0.04); border-color: rgba(255,255,255,0.10); }
[data-color-mode="dark"] .sf-doc .sf-table th { background: rgba(255,255,255,0.06); }
[data-color-mode="dark"] .sf-doc .sf-cta-card { background: rgba(255,255,255,0.04); border-color: rgba(255,255,255,0.10); }
[data-color-mode="dark"] .sf-doc .sf-aeo--ai .sf-aeo__label { color: #B59CFF; }
[data-color-mode="dark"] .sf-doc .sf-aeo--ai .sf-aeo__text strong { color: #B59CFF; }
[data-color-mode="dark"] .sf-doc .sf-callout--ai .sf-callout__header { color: #B59CFF; }
[data-color-mode="dark"] .sf-doc .sf-method__head h3.sf-method__title { color: #B59CFF; }
[data-color-mode="dark"] .sf-doc .sf-method__head .sf-icon { color: #B59CFF; }
[data-color-mode="dark"] .sf-doc .sf-model__icon { background: rgba(0,224,184,0.14); color: var(--secondary); }
[data-color-mode="dark"] .sf-doc .sf-model--featured .sf-model__icon { background: rgba(107,71,240,0.18); color: #B59CFF; }
[data-color-mode="dark"] .sf-doc .sf-status--need { background: rgba(107,71,240,0.18); color: #B59CFF; border-color: rgba(107,71,240,0.35); }

@media (prefers-color-scheme: dark) {
  html:not([data-color-mode="light"]) .sf-doc {
    --white: #1B2D45; --light: #14222F; --line: #2A3A4D;
    --deep-ink: #E8F5F0; --slate: #94A8B5;
    --primary: var(--secondary);
    --ai-mist: #181731;
    --success-bg: #052E1B; --warning-bg: #2A1F05;
    --danger-bg: #2A0E0E; --info-bg: #0A2E3F;
    --success-text: #34D399; --warning-text: #FBBF24;
    --danger-text: #F87171; --info-text: #5CD3EE;
  }
  html:not([data-color-mode="light"]) .sf-doc code { background: rgba(255,255,255,0.06); color: var(--secondary); }
  html:not([data-color-mode="light"]) .sf-doc .sf-meta__badge { background: rgba(107,71,240,0.18); color: #B9A6FF; border-color: rgba(107,71,240,0.30); }
  html:not([data-color-mode="light"]) .sf-doc .sf-aeo--ai { background: rgba(107,71,240,0.12); }
  html:not([data-color-mode="light"]) .sf-doc .sf-callout--ai { background: rgba(107,71,240,0.12); }
  html:not([data-color-mode="light"]) .sf-doc .sf-model { background: rgba(255,255,255,0.04); border-color: rgba(255,255,255,0.10); }
  html:not([data-color-mode="light"]) .sf-doc .sf-model--featured { background: rgba(107,71,240,0.12); }
  html:not([data-color-mode="light"]) .sf-doc .sf-method { background: rgba(255,255,255,0.04); border-color: rgba(255,255,255,0.10); }
  html:not([data-color-mode="light"]) .sf-doc .sf-method__head { background: rgba(255,255,255,0.06); border-bottom-color: rgba(255,255,255,0.10); }
  html:not([data-color-mode="light"]) .sf-doc .sf-method__row { border-bottom-color: rgba(255,255,255,0.08); }
  html:not([data-color-mode="light"]) .sf-doc .sf-method__row:nth-child(even) { background: rgba(255,255,255,0.03); }
  html:not([data-color-mode="light"]) .sf-doc .sf-method__row:hover { background: rgba(0,224,184,0.06); }
  html:not([data-color-mode="light"]) .sf-doc .sf-method__value code { background: rgba(255,255,255,0.06); border-color: rgba(255,255,255,0.10); color: var(--secondary); }
  html:not([data-color-mode="light"]) .sf-doc .sf-toc { background: rgba(255,255,255,0.04); }
  html:not([data-color-mode="light"]) .sf-doc .sf-toc__item { background: rgba(255,255,255,0.06); border-color: rgba(255,255,255,0.10); color: var(--neutral); }
  html:not([data-color-mode="light"]) .sf-doc .sf-table-wrap { background: rgba(255,255,255,0.04); border-color: rgba(255,255,255,0.10); }
  html:not([data-color-mode="light"]) .sf-doc .sf-table th { background: rgba(255,255,255,0.06); }
  html:not([data-color-mode="light"]) .sf-doc .sf-cta-card { background: rgba(255,255,255,0.04); border-color: rgba(255,255,255,0.10); }
  html:not([data-color-mode="light"]) .sf-doc .sf-aeo--ai .sf-aeo__label { color: #B59CFF; }
  html:not([data-color-mode="light"]) .sf-doc .sf-aeo--ai .sf-aeo__text strong { color: #B59CFF; }
  html:not([data-color-mode="light"]) .sf-doc .sf-callout--ai .sf-callout__header { color: #B59CFF; }
  html:not([data-color-mode="light"]) .sf-doc .sf-method__head h3.sf-method__title { color: #B59CFF; }
  html:not([data-color-mode="light"]) .sf-doc .sf-method__head .sf-icon { color: #B59CFF; }
  html:not([data-color-mode="light"]) .sf-doc .sf-model__icon { background: rgba(0,224,184,0.14); color: var(--secondary); }
  html:not([data-color-mode="light"]) .sf-doc .sf-model--featured .sf-model__icon { background: rgba(107,71,240,0.18); color: #B59CFF; }
  html:not([data-color-mode="light"]) .sf-doc .sf-status--need { background: rgba(107,71,240,0.18); color: #B59CFF; border-color: rgba(107,71,240,0.35); }
}

/* ════════════════════════════════════════════════════════════════════════
   ReadMe COMPATIBILITY, neutralise .markdown-body table { display:block }
   ════════════════════════════════════════════════════════════════════════ */
.markdown-body table { margin-bottom: 0 !important; }
.sf-doc .sf-table-wrap { display: block !important; width: 100% !important; overflow-x: auto !important; }
.sf-doc table.sf-table { display: table !important; width: 100% !important; table-layout: auto !important; }
</style>

<div class="sf-doc">

  
  <header class="sf-hero">
    <div class="sf-hero__copy">
      <p class="sf-hero__title">Sixfab Model Zoo</p>
      <p class="sf-hero__lead">
        Pre-compiled <code>.dxnn</code> vision models for Sixfab edge AI hardware, ready to run on the
        DEEPX NPU. Download, deploy, and benchmark in minutes, with no compiler workflow and no
        training pipeline.
      </p>
      <div class="sf-hero__chips">
        <span class="sf-pill">DEEPX DX-M1 family</span>
        <span class="sf-pill">.dxnn pre-compiled</span>
        <span class="sf-pill">INT8 precision</span>
        <span class="sf-pill">Vision tasks</span>
        <span class="sf-pill">Fastest time-to-demo</span>
      </div>
    </div>
  </header>

  
  <div class="sf-meta">
    <span class="sf-meta__badge">AI Model Deployment</span>
    <span class="sf-meta__sep">·</span>
    <span>Sixfab Model Zoo</span>
    <span class="sf-meta__sep">·</span>
    <span>Updated 2026-05-16</span>
  </div>

  
  <div class="sf-aeo sf-aeo--ai">
    <span class="sf-aeo__label">What is the Sixfab Model Zoo?</span>
    <p class="sf-aeo__text">
      <strong>The Sixfab Model Zoo is a ready-to-run library of AI vision models for Sixfab edge AI hardware.</strong>
      Every file in the zoo (extension <code>.dxnn</code>) is already converted, optimised, and packaged
      to run on the DEEPX NPU, so you do not need to train or compile anything. Pick a task
      (detect objects, find faces, estimate human pose, or segment images), download the matching
      file, and run it with the <code>dxrt-runtime</code> you installed at first boot. No DXNN SDK,
      no Ubuntu compile host, no training pipeline. The same <code>.dxnn</code> files run on the
      Sixfab AI HAT+ for Raspberry Pi 5, the Sixfab Edge AI Expansion Board, and ALPON X5 AI
      without modification.
    </p>
  </div>

  
  <nav class="sf-toc" aria-label="On this page">
    <span class="sf-toc__label">In this guide</span>
    <a href="#quick-demo"      class="sf-toc__item">01 Quick demo</a>
    <a href="#models"          class="sf-toc__item">02 Model catalog</a>
    <a href="#performance"     class="sf-toc__item">03 Per-product performance</a>
    <a href="#deploy"          class="sf-toc__item">04 Deploy pattern</a>
    <a href="#files"           class="sf-toc__item">05 Where the files live</a>
  </nav>


  
  <h2 id="quick-demo">Quick demo</h2>
  <p class="sf-lead">
    The <code>sixfab-dx</code> package installed during Quickstart ships with a single
    <strong>Hello World</strong> demo so you can confirm the NPU is alive in one line. There is
    nothing to download, no model path to type, and no camera required. The same command runs
    unchanged on every product in the AI Model Deployment surface.
  </p>

  <div class="sf-terminal">
    <div class="sf-term-header">
      <div class="sf-term-dots">
        <span class="sf-term-dot" style="background:#ff5f57"></span>
        <span class="sf-term-dot" style="background:#febc2e"></span>
        <span class="sf-term-dot" style="background:#28c840"></span>
      </div>
      <div class="sf-term-title">bash · target device</div>
      <span class="sf-term-badge">Run on target</span>
    </div>
    <div class="sf-term-body">
<pre><span class="t-dim"># Run the bundled Hello World demo (no flags, no model path)</span>
<span class="t-gn">run_hello_world</span></pre>
    </div>
  </div>

  <div class="sf-callout sf-callout--info">
    <div class="sf-callout__header">
      <span class="sf-icon" aria-hidden="true">
        <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M12 2c5.523 0 10 4.477 10 10a10 10 0 0 1 -19.995 .324l-.005 -.324l.004 -.28c.148 -5.393 4.566 -9.72 9.996 -9.72zm0 9h-1l-.117 .007a1 1 0 0 0 0 1.986l.117 .007v3l.007 .117a1 1 0 0 0 .876 .876l.117 .007h1l.117 -.007a1 1 0 0 0 .876 -.876l.007 -.117l-.007 -.117a1 1 0 0 0 -.764 -.857l-.112 -.02l-.117 -.006v-3l-.007 -.117a1 1 0 0 0 -.876 -.876l-.117 -.007zm.01 -3l-.127 .007a1 1 0 0 0 0 1.986l.117 .007l.127 -.007a1 1 0 0 0 0 -1.986l-.117 -.007z"/></svg>
      </span>
      <span>Where the demo lives, per product</span>
    </div>
    <div class="sf-callout__content">
      <p>
        On AI HAT+ and Edge AI Expansion Board, <code>run_hello_world</code> is on the path the
        moment the <code>sixfab-dx</code> APT package is installed during
        <a href="/docs/ai-hat-plus-raspberry-pi-5-quickstart" target="_blank" rel="noopener">AI HAT+ Quickstart</a>
        or
        <a href="/docs/edge-ai-expansion-board-raspberry-pi-5-quickstart" target="_blank" rel="noopener">Edge AI Expansion Board Quickstart</a>.
        On ALPON X5 AI, the tools and demo ship pre-installed in the factory image, so the same
        one-liner works out of the box.
      </p>
      <p>
        <code>run_hello_world</code> is a sanity check, not a model catalog. To run the full set
        of vision demos, with rendered output, configurable input sources, and 50+ examples,
        clone the
        <a href="https://github.com/sixfab/sixfab-dx-examples" target="_blank" rel="noopener">sixfab-dx-examples</a>
        repository covered in <a href="#deploy">Deploy pattern</a> below.
      </p>
    </div>
  </div>


  
  <h2 id="models">Model catalog</h2>
  <p class="sf-lead">
    The zoo covers the vision tasks shipped in the
    <a href="https://github.com/sixfab/sixfab-dx-examples" target="_blank" rel="noopener">sixfab-dx-examples</a>
    repository: <strong>object detection</strong> (find and label things in an image),
    <strong>face detection</strong> (find faces specifically), <strong>pose estimation</strong>
    (find the joints of a person's body), <strong>instance segmentation</strong> (find each
    object and outline its exact shape), and <strong>semantic segmentation</strong>
    (classify every pixel in a scene). Detection models also come in
    <strong>PPU-accelerated</strong> and <strong>async</strong> variants. Every model is a
    single <code>.dxnn</code> file you can drop in and run.
  </p>

  <div class="sf-pill-row">
    <span class="sf-pill sf-pill--ai">Vision today</span>
    <span class="sf-pill">INT8 quantised</span>
    <span class="sf-pill">YOLOv5 / v8 / v9 / SCRFD / DeepLabV3</span>
    <span class="sf-pill">Detection · Face · Pose · Segmentation</span>
    <span class="sf-pill">PPU + Async variants</span>
  </div>

  <div class="sf-callout sf-callout--info">
    <div class="sf-callout__header">
      <span class="sf-icon" aria-hidden="true">
        <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M12 2a1 1 0 0 1 .894 .553l4 8a1 1 0 0 1 -.894 1.447h-2.5l1.447 8.684a1 1 0 0 1 -1.794 .737l-8 -10a1 1 0 0 1 .776 -1.621h2.847l-.759 -7.591a1 1 0 0 1 .983 -1.109z"/></svg>
      </span>
      <span>What does "PPU" mean on some of the models below?</span>
    </div>
    <div class="sf-callout__content">
      <p>
        After an object-detection model finds objects, there is a clean-up step called
        <em>non-maximum suppression</em> that removes duplicate boxes around the same object.
        Normally this clean-up runs on the host CPU. A <strong>PPU</strong> (Post-Processing Unit)
        version of a model does that clean-up directly on the NPU instead, keeping the host CPU
        free and producing a higher frame rate.
      </p>
      <p>
        <strong>PPU is on by default for every model in this zoo.</strong> The post-processing step
        is baked into the <code>.dxnn</code> file itself, so there is no flag to set and nothing to
        enable. If a card below is marked <em>Detection · PPU</em>, the file already contains it;
        the label is informational, not a separate variant.
      </p>
    </div>
  </div>

  <div class="sf-model-grid">

    
    <article class="sf-model sf-model--featured">
      <div class="sf-model__head">
        <div class="sf-model__icon"><span class="sf-icon" aria-hidden="true">
          <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"/><circle cx="12" cy="12" r="5"/><circle cx="12" cy="12" r="1"/></svg>
        </span></div>
        <div class="sf-model__name">YoloV8N.dxnn</div>
      </div>
      <div class="sf-model__task">
        Spots everyday objects in images (people, cars, dogs, traffic signs, and so on) and draws a
        coloured box around each one. The smallest, fastest YOLOv8 model. <strong>Best place to
        start</strong>; this is the one the Quick demo above uses.
      </div>
      <div class="sf-model__foot">
        <span class="sf-model__type">Detection · PPU</span>
        <span class="sf-model__fps">~35 FPS · 25 TOPS</span>
      </div>
    </article>

    
    <article class="sf-model">
      <div class="sf-model__head">
        <div class="sf-model__icon"><span class="sf-icon" aria-hidden="true">
          <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"/><circle cx="12" cy="12" r="5"/><circle cx="12" cy="12" r="1"/></svg>
        </span></div>
        <div class="sf-model__name">YoloV8S.dxnn</div>
      </div>
      <div class="sf-model__task">
        Same task as YOLOv8n (boxes around objects), but the "small" model is a step up in
        accuracy. Slower, fewer frames per second, but spots smaller and harder objects more
        reliably.
      </div>
      <div class="sf-model__foot">
        <span class="sf-model__type">Detection</span>
        <span class="sf-model__fps sf-model__fps--pending">FPS pending</span>
      </div>
    </article>

    
    <article class="sf-model">
      <div class="sf-model__head">
        <div class="sf-model__icon"><span class="sf-icon" aria-hidden="true">
          <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"/><circle cx="12" cy="12" r="5"/><circle cx="12" cy="12" r="1"/></svg>
        </span></div>
        <div class="sf-model__name">YoloV8M.dxnn</div>
      </div>
      <div class="sf-model__task">
        The largest YOLOv8 model in the zoo (the "medium" size). Highest accuracy at the cost of
        frame rate. Good when you have time to process and want the best detections.
      </div>
      <div class="sf-model__foot">
        <span class="sf-model__type">Detection</span>
        <span class="sf-model__fps sf-model__fps--pending">FPS pending</span>
      </div>
    </article>

    
    <article class="sf-model">
      <div class="sf-model__head">
        <div class="sf-model__icon"><span class="sf-icon" aria-hidden="true">
          <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"/><circle cx="12" cy="12" r="5"/><circle cx="12" cy="12" r="1"/></svg>
        </span></div>
        <div class="sf-model__name">YoloV9S.dxnn</div>
      </div>
      <div class="sf-model__task">
        Same idea as YOLOv8 (boxes around objects) using the newer YOLOv9 architecture. The
        "small" variant. Generally more accurate than YOLOv8s at a similar speed.
      </div>
      <div class="sf-model__foot">
        <span class="sf-model__type">Detection</span>
        <span class="sf-model__fps sf-model__fps--pending">FPS pending</span>
      </div>
    </article>

    
    <article class="sf-model">
      <div class="sf-model__head">
        <div class="sf-model__icon"><span class="sf-icon" aria-hidden="true">
          <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"/><circle cx="12" cy="12" r="5"/><circle cx="12" cy="12" r="1"/></svg>
        </span></div>
        <div class="sf-model__name">YoloV9C.dxnn</div>
      </div>
      <div class="sf-model__task">
        The "compact" YOLOv9 build. Sits between YOLOv9s and the medium model: a bit more accurate
        than the small one, a bit faster than the medium one.
      </div>
      <div class="sf-model__foot">
        <span class="sf-model__type">Detection</span>
        <span class="sf-model__fps sf-model__fps--pending">FPS pending</span>
      </div>
    </article>

    
    <article class="sf-model">
      <div class="sf-model__head">
        <div class="sf-model__icon"><span class="sf-icon" aria-hidden="true">
          <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"/><path d="M9 10h.01"/><path d="M15 10h.01"/><path d="M9.5 15a3.5 3.5 0 0 0 5 0"/></svg>
        </span></div>
        <div class="sf-model__name">SCRFD500M.dxnn</div>
      </div>
      <div class="sf-model__task">
        Finds <strong>faces</strong> specifically (not general objects). Lightweight and built to
        handle scenes with many faces at once, like a crowd or a classroom. Good for visitor
        counters and access control.
      </div>
      <div class="sf-model__foot">
        <span class="sf-model__type">Face</span>
        <span class="sf-model__fps sf-model__fps--pending">FPS pending</span>
      </div>
    </article>

    
    <article class="sf-model">
      <div class="sf-model__head">
        <div class="sf-model__icon"><span class="sf-icon" aria-hidden="true">
          <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="4" r="2"/><path d="M10 9l-1 -3"/><path d="M14 9l1 -3"/><path d="M5 11l4 -1"/><path d="M19 11l-4 -1"/><path d="M9 9l1 5l-1 6"/><path d="M15 9l-1 5l1 6"/></svg>
        </span></div>
        <div class="sf-model__name">YoloV5Pose.dxnn</div>
      </div>
      <div class="sf-model__task">
        Detects people and pinpoints <strong>17 body joints</strong> on each one (head, shoulders,
        elbows, wrists, knees, ankles, and so on). Useful for fitness apps, sport analytics, and
        any project that cares <em>how</em> a person is moving, not just where they are.
      </div>
      <div class="sf-model__foot">
        <span class="sf-model__type">Pose</span>
        <span class="sf-model__fps sf-model__fps--pending">FPS pending</span>
      </div>
    </article>

    
    <article class="sf-model">
      <div class="sf-model__head">
        <div class="sf-model__icon"><span class="sf-icon" aria-hidden="true">
          <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M4 8a4 4 0 0 1 4 -4h8a4 4 0 0 1 4 4v8a4 4 0 0 1 -4 4h-8a4 4 0 0 1 -4 -4z"/><path d="M9 12l2 2l4 -4"/></svg>
        </span></div>
        <div class="sf-model__name">YoloV26S-Seg.dxnn</div>
      </div>
      <div class="sf-model__task">
        Instance segmentation with a YOLOv26 small backbone. Finds each object <em>and</em>
        produces a pixel-accurate mask of its shape, instead of just a bounding box. Useful when
        precise outlines matter, for example counting irregular items on a conveyor or measuring
        crop coverage.
      </div>
      <div class="sf-model__foot">
        <span class="sf-model__type">Segmentation</span>
        <span class="sf-model__fps sf-model__fps--pending">FPS pending</span>
      </div>
    </article>

  </div>

  <div class="sf-callout sf-callout--ai">
    <div class="sf-callout__header">
      <span class="sf-icon" aria-hidden="true">
        <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"><path d="M4 4h6v6h-6z"/><path d="M14 4h6v6h-6z"/><path d="M4 14h6v6h-6z"/><path d="M14 14h6v6h-6z"/></svg>
      </span>
      <span>More demos ship with <code>sixfab-dx-examples</code></span>
    </div>
    <div class="sf-callout__content">
      <p>
        The cards above are the <code>.dxnn</code> files with measured or pending per-product
        performance. The
        <a href="https://github.com/sixfab/sixfab-dx-examples" target="_blank" rel="noopener">sixfab-dx-examples</a>
        repository ships a wider demo collection on top of the same files: a Python launcher
        with 28 demos and a C++ launcher with 26. Categories beyond the base catalog above
        include:
      </p>
      <ul>
        <li><strong>PPU-accelerated variants</strong> (<code>scrfd_ppu</code>,
          <code>yolov5_ppu</code>, <code>yolov5pose_ppu</code>, <code>yolov7_ppu</code>). Image
          preprocessing offloads to dedicated hardware on the NPU module, freeing CPU resources
          and lifting throughput.</li>
        <li><strong>Async inference</strong> (<code>yolov8_async</code>). The host pipeline
          keeps capturing while the NPU is busy, using the non-blocking <code>RunAsync</code> /
          <code>Wait</code> pattern.</li>
        <li><strong>Semantic segmentation</strong> with DeepLabV3+. Classify every pixel in the
          frame, not just object instances.</li>
        <li><strong>Classification backbones</strong> for whole-image labelling: EfficientNet,
          MobileNet, and YOLOv26-cls.</li>
        <li><strong>Wider detection coverage</strong> across YOLOv5, v7, v8, v9, v10, v11, v12,
          v26, and YOLOX, all driven from the same launcher.</li>
        <li><strong>Pose estimation</strong> across architectures (YOLOv5-Pose, YOLOv26-Pose)
          and a 21-point hand landmark demo (<code>hand_landmark</code>).</li>
        <li><strong>Face detection paired with emotion classification</strong> (C++
          <code>emotion_demo</code>) on top of the SCRFD face card.</li>
        <li><strong>Re-identification</strong> with OSNet (C++
          <code>osnet_reid_demo</code>). Match the same person across cameras and over time.</li>
        <li><strong>Analytics pipelines</strong> built on detection: people tracking, smart
          traffic counting, queue analysis, zone intrusion, and 4-channel concurrent grid
          inference (<code>multi_channel_4</code>).</li>
      </ul>
      <p>
        Every demo accepts the same input sources: Raspberry Pi camera, USB webcam, video file,
        single image, or RTSP stream. The
        <a href="https://github.com/sixfab/sixfab-dx-examples/tree/master/python_examples" target="_blank" rel="noopener">python-examples.md</a>
        and
        <a href="https://github.com/sixfab/sixfab-dx-examples/tree/master/cpp_examples" target="_blank" rel="noopener">cpp-examples.md</a>
        guides in the repo list every demo, its CLI flags, and the YAML / JSON configuration
        for each.
      </p>
    </div>
  </div>


  
  <h2 id="performance">Per-product performance</h2>
  <p class="sf-lead">
    Each row below is one model, run on the three NPU variants in the AI Model Deployment
    surface. The confirmed figure is YOLOv8n with PPU on the 25 TOPS DEEPX DX-M1M, which lands
    at roughly <strong>35 FPS at 640×640 input</strong> on the Sixfab AI HAT+ for Raspberry Pi 5.
    All other cells are pending characterisation and marked as such; nothing is estimated or
    extrapolated.
  </p>

  <div class="sf-table-wrap">
    <table class="sf-table">
      <thead>
        <tr>
          <th>Model</th>
          <th>Task</th>
          <th>Input</th>
          <th>DEEPX DX-M1M, 25 TOPS<small>AI HAT+ on Raspberry Pi 5</small></th>
          <th>DEEPX DX-M1ML, 13 TOPS<small>AI HAT+ on Raspberry Pi 5</small></th>
          <th>DEEPX DX-M1, 25 TOPS<small>Edge AI Expansion Board / ALPON X5 AI</small></th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td><strong>YoloV8N.dxnn</strong></td>
          <td>Detection · PPU</td>
          <td><code>640×640</code></td>
          <td><span class="fps-confirmed">~35 FPS</span></td>
          <td><span class="fps-pending">FPS pending</span></td>
          <td><span class="fps-pending">FPS pending</span></td>
        </tr>
        <tr>
          <td><strong>YoloV8S.dxnn</strong></td>
          <td>Detection</td>
          <td><code>640×640</code></td>
          <td><span class="fps-pending">FPS pending</span></td>
          <td><span class="fps-pending">FPS pending</span></td>
          <td><span class="fps-pending">FPS pending</span></td>
        </tr>
        <tr>
          <td><strong>YoloV8M.dxnn</strong></td>
          <td>Detection</td>
          <td><code>640×640</code></td>
          <td><span class="fps-pending">FPS pending</span></td>
          <td><span class="fps-pending">FPS pending</span></td>
          <td><span class="fps-pending">FPS pending</span></td>
        </tr>
        <tr>
          <td><strong>YoloV9S.dxnn</strong></td>
          <td>Detection</td>
          <td><code>640×640</code></td>
          <td><span class="fps-pending">FPS pending</span></td>
          <td><span class="fps-pending">FPS pending</span></td>
          <td><span class="fps-pending">FPS pending</span></td>
        </tr>
        <tr>
          <td><strong>YoloV9C.dxnn</strong></td>
          <td>Detection</td>
          <td><code>640×640</code></td>
          <td><span class="fps-pending">FPS pending</span></td>
          <td><span class="fps-pending">FPS pending</span></td>
          <td><span class="fps-pending">FPS pending</span></td>
        </tr>
        <tr>
          <td><strong>SCRFD500M.dxnn</strong></td>
          <td>Face detection</td>
          <td><code>640×640</code></td>
          <td><span class="fps-pending">FPS pending</span></td>
          <td><span class="fps-pending">FPS pending</span></td>
          <td><span class="fps-pending">FPS pending</span></td>
        </tr>
        <tr>
          <td><strong>YoloV5Pose.dxnn</strong></td>
          <td>Pose estimation</td>
          <td><code>640×640</code></td>
          <td><span class="fps-pending">FPS pending</span></td>
          <td><span class="fps-pending">FPS pending</span></td>
          <td><span class="fps-pending">FPS pending</span></td>
        </tr>
        <tr>
          <td><strong>YoloV26S-Seg.dxnn</strong></td>
          <td>Segmentation</td>
          <td><code>640×640</code></td>
          <td><span class="fps-pending">FPS pending</span></td>
          <td><span class="fps-pending">FPS pending</span></td>
          <td><span class="fps-pending">FPS pending</span></td>
        </tr>
      </tbody>
    </table>
  </div>

  <p>
    The same <code>.dxnn</code> file runs on all three products without a rebuild. The
    differences in FPS across columns come from two factors only: the DEEPX silicon variant
    (25 TOPS at INT8 for DX-M1M and DX-M1 versus 13 TOPS at INT8 for DX-M1ML) and the host CPU
    (Raspberry Pi 5 for AI HAT+ and Edge AI Expansion Board, Raspberry Pi Compute Module 5 for
    ALPON X5 AI).
  </p>


  
  <h2 id="deploy">Deploy pattern</h2>
  <p class="sf-lead">
    The
    <a href="https://github.com/sixfab/sixfab-dx-examples" target="_blank" rel="noopener">sixfab-dx-examples</a>
    repository is the canonical source for runnable demos. It ships a Python collection and a
    C++ collection, each with an interactive launcher, and covers every model in this catalog
    plus the PPU-accelerated, async, and analytics demos shown in the
    <a href="#models">Model catalog</a> above. Output is rendered to a window (camera, RTSP, or
    video file) or to disk, so you actually see the model working.
  </p>

  <div class="sf-callout sf-callout--info">
    <div class="sf-callout__header">
      <span class="sf-icon" aria-hidden="true">
        <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M12 2c5.523 0 10 4.477 10 10a10 10 0 0 1 -19.995 .324l-.005 -.324l.004 -.28c.148 -5.393 4.566 -9.72 9.996 -9.72zm0 9h-1l-.117 .007a1 1 0 0 0 0 1.986l.117 .007v3l.007 .117a1 1 0 0 0 .876 .876l.117 .007h1l.117 -.007a1 1 0 0 0 .876 -.876l.007 -.117l-.007 -.117a1 1 0 0 0 -.764 -.857l-.112 -.02l-.117 -.006v-3l-.007 -.117a1 1 0 0 0 -.876 -.876l-.117 -.007zm.01 -3l-.127 .007a1 1 0 0 0 0 1.986l.117 .007l.127 -.007a1 1 0 0 0 0 -1.986l-.117 -.007z"/></svg>
      </span>
      <span>What <code>auto-install.sh</code> does</span>
    </div>
    <div class="sf-callout__content">
      <p>
        The setup script validates the DEEPX runtime, downloads every model, sample video, and
        sample image from the GitHub release, installs Python dependencies into the shared
        Sixfab virtual environment at <code>/opt/sixfab-dx/venv</code>, and builds every C++
        demo binary. After it finishes, both launchers are ready and the full model catalog is
        on disk.
      </p>
    </div>
  </div>

  <div class="sf-terminal">
    <div class="sf-term-header">
      <div class="sf-term-dots">
        <span class="sf-term-dot" style="background:#ff5f57"></span>
        <span class="sf-term-dot" style="background:#febc2e"></span>
        <span class="sf-term-dot" style="background:#28c840"></span>
      </div>
      <div class="sf-term-title">bash · target device</div>
      <span class="sf-term-badge">Run on target</span>
    </div>
    <div class="sf-term-body">
<pre><span class="t-dim"># 1. Clone the examples repo and run the one-shot setup</span>
<span class="t-gn">git</span> clone https://github.com/sixfab/sixfab-dx-examples.git
<span class="t-gn">cd</span> sixfab-dx-examples
./auto-install.sh

<span class="t-dim"># 2. Activate the shared Sixfab virtual environment (every new shell)</span>
<span class="t-gn">source</span> /opt/sixfab-dx/venv/bin/activate

<span class="t-dim"># 3a. Launch the Python TUI (interactive menu, 28 demos)</span>
<span class="t-gn">bash</span> python_examples/start.sh

<span class="t-dim"># 3b. Or launch the C++ TUI (interactive menu, 26 demos)</span>
<span class="t-gn">bash</span> cpp_examples/start.sh

<span class="t-dim"># 3c. Or run a C++ binary directly with an explicit input source</span>
./cpp_examples/build/object_detection/yolov8_demo --source libcamera</pre>
    </div>
  </div>

  <p>
    Every demo accepts the same set of input sources: Raspberry Pi camera (<code>rpicam</code>),
    USB webcam (<code>webcam</code>), video file (<code>video</code>), single image
    (<code>image</code>), or RTSP stream (<code>rtsp</code>). The repository
    <a href="https://github.com/sixfab/sixfab-dx-examples" target="_blank" rel="noopener">README</a>
    documents how to switch sources per demo.
  </p>

  <div class="sf-callout sf-callout--info">
    <div class="sf-callout__header">
      <span class="sf-icon" aria-hidden="true">
        <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M12 2c5.523 0 10 4.477 10 10a10 10 0 0 1 -19.995 .324l-.005 -.324l.004 -.28c.148 -5.393 4.566 -9.72 9.996 -9.72zm0 9h-1l-.117 .007a1 1 0 0 0 0 1.986l.117 .007v3l.007 .117a1 1 0 0 0 .876 .876l.117 .007h1l.117 -.007a1 1 0 0 0 .876 -.876l.007 -.117l-.007 -.117a1 1 0 0 0 -.764 -.857l-.112 -.02l-.117 -.006v-3l-.007 -.117a1 1 0 0 0 -.876 -.876l-.117 -.007zm.01 -3l-.127 .007a1 1 0 0 0 0 1.986l.117 .007l.127 -.007a1 1 0 0 0 0 -1.986l-.117 -.007z"/></svg>
      </span>
      <span>Same command on all three products</span>
    </div>
    <div class="sf-callout__content">
      <p>
        Both <code>run_hello_world</code> and the entire <code>sixfab-dx-examples</code>
        collection behave identically across the Sixfab AI HAT+, the Sixfab Edge AI Expansion
        Board, and ALPON X5 AI. The working directory and the device IDs reported by
        <code>dxrt-cli -s</code> can differ, but command signatures and <code>.dxnn</code> file
        formats do not. A snippet that runs on AI HAT+ runs unchanged on the Edge AI Expansion
        Board and on ALPON X5 AI.
      </p>
    </div>
  </div>


  
  <h2 id="files">Where the .dxnn files live today</h2>
  <p class="sf-lead">
    Model files live in two places, and which one matters depends on what you are doing. The
    bundled <code>run_hello_world</code> demo is fully self-contained inside the
    <code>sixfab-dx</code> APT package; the full catalog of vision models, sample videos, and
    sample images is downloaded by <code>auto-install.sh</code> when you clone the
    <code>sixfab-dx-examples</code> repository.
  </p>

  <div class="sf-callout sf-callout--ai">
    <div class="sf-callout__header">
      <span class="sf-icon" aria-hidden="true">
        <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M12 2c5.523 0 10 4.477 10 10a10 10 0 0 1 -19.995 .324l-.005 -.324l.004 -.28c.148 -5.393 4.566 -9.72 9.996 -9.72zm0 9h-1l-.117 .007a1 1 0 0 0 0 1.986l.117 .007v3l.007 .117a1 1 0 0 0 .876 .876l.117 .007h1l.117 -.007a1 1 0 0 0 .876 -.876l.007 -.117l-.007 -.117a1 1 0 0 0 -.764 -.857l-.112 -.02l-.117 -.006v-3l-.007 -.117a1 1 0 0 0 -.876 -.876l-.117 -.007zm.01 -3l-.127 .007a1 1 0 0 0 0 1.986l.117 .007l.127 -.007a1 1 0 0 0 0 -1.986l-.117 -.007z"/></svg>
      </span>
      <span><code>run_hello_world</code> is a single command, no separate download</span>
    </div>
    <div class="sf-callout__content">
      <p>
        Previous releases shipped a <code>demo.zip</code> archive that had to be fetched and
        unpacked separately. That step has been retired. The <code>sixfab-dx</code> APT package
        now installs a self-contained Hello World demo and exposes it as the
        <code>run_hello_world</code> command on the path. There is nothing to download, no path
        to type, and no archive to manage.
      </p>
    </div>
  </div>

  <div class="sf-terminal">
    <div class="sf-term-header">
      <div class="sf-term-dots">
        <span class="sf-term-dot" style="background:#ff5f57"></span>
        <span class="sf-term-dot" style="background:#febc2e"></span>
        <span class="sf-term-dot" style="background:#28c840"></span>
      </div>
      <div class="sf-term-title">bash · target device</div>
      <span class="sf-term-badge">Run on target</span>
    </div>
    <div class="sf-term-body">
<pre><span class="t-dim"># Bundled with the sixfab-dx APT package, no download step</span>
<span class="t-gn">run_hello_world</span>

<span class="t-dim"># Full model catalog and demos, downloaded by auto-install.sh</span>
<span class="t-gn">git</span> clone https://github.com/sixfab/sixfab-dx-examples.git
<span class="t-gn">cd</span> sixfab-dx-examples
./auto-install.sh</pre>
    </div>
  </div>

  <p>
    For the full catalog, <code>auto-install.sh</code> fetches the model archive from the
    sixfab-dx-examples GitHub release and unpacks it into the repository's resource directory,
    where every demo expects to find it. Pre-built <code>dx_engine</code> and <code>numpy</code>
    wheels for both Python 3.11 and Python 3.13 live in <code>/opt/sixfab-dx/wheels/</code> for
    users who prefer an isolated virtual environment over the shared one at
    <code>/opt/sixfab-dx/venv</code>; see the
    <a href="https://github.com/sixfab/sixfab-dx-examples" target="_blank" rel="noopener">repository README</a>
    for the manual install path.
  </p>



  
  <div class="sf-cta-grid">

    <a href="https://docs.sixfab.com/docs/ai-model-deployment-workflow" target="_blank" rel="noopener" class="sf-cta-card">
      <span class="sf-cta-card__eyebrow">Custom Models</span>
      <span class="sf-cta-card__title">Need a model not in this catalog?</span>
      <span class="sf-cta-card__desc">
        Compile your own ONNX model to <code>.dxnn</code> with the DXNN SDK and deploy it to any
        product in the AI Model Deployment surface. Two-machine workflow: compile on an Ubuntu
        host, run on the target device.
      </span>
      <span class="sf-cta-card__arrow">Deployment Workflow →</span>
    </a>

    <a href="/docs/ai-model-deployment-supported-models" target="_blank" rel="noopener" class="sf-cta-card">
      <span class="sf-cta-card__eyebrow">Supported Models Catalog</span>
      <span class="sf-cta-card__title">Want to know which architectures are supported?</span>
      <span class="sf-cta-card__desc">
        Reference list of model architectures and DEEPX operators that compile cleanly to
        <code>.dxnn</code>. Check this before training a model you plan to deploy on the NPU.
      </span>
      <span class="sf-cta-card__arrow">Supported Models →</span>
    </a>

  </div>

</div>



`}</HTMLBlock>

<br />