mirror of
https://github.com/jomjol/AI-on-the-edge-device-docs.git
synced 2025-12-06 19:46:56 +03:00
955 lines
33 KiB
HTML
955 lines
33 KiB
HTML
|
|
<!DOCTYPE html>
|
|
|
|
<html class="no-js" lang="en">
|
|
<head>
|
|
<meta charset="utf-8"/>
|
|
<meta content="width=device-width,initial-scale=1" name="viewport"/>
|
|
<link href="https://jomjol.github.io/AI-on-the-edge-device-docs/Choosing-the-Model/" rel="canonical"/>
|
|
<link href="../Configuration/" rel="prev"/>
|
|
<link href="../ota/" rel="next"/>
|
|
<link href="../img/favicon.ico" rel="icon"/>
|
|
<meta content="mkdocs-1.6.1, mkdocs-material-9.6.18" name="generator"/>
|
|
<title>Model Selection - AI on the Edge Device</title>
|
|
<link href="../assets/stylesheets/main.7e37652d.min.css" rel="stylesheet"/>
|
|
<link href="../assets/stylesheets/palette.06af60db.min.css" rel="stylesheet"/>
|
|
<link crossorigin="" href="https://fonts.gstatic.com" rel="preconnect"/>
|
|
<link href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback" rel="stylesheet"/>
|
|
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
|
|
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
|
|
</head>
|
|
<body data-md-color-accent="indigo" data-md-color-primary="blue" data-md-color-scheme="default" dir="ltr">
|
|
<input autocomplete="off" class="md-toggle" data-md-toggle="drawer" id="__drawer" type="checkbox"/>
|
|
<input autocomplete="off" class="md-toggle" data-md-toggle="search" id="__search" type="checkbox"/>
|
|
<label class="md-overlay" for="__drawer"></label>
|
|
<div data-md-component="skip">
|
|
<a class="md-skip" href="#model-selection">1.
|
|
Skip to content
|
|
</a>
|
|
</div>
|
|
<div data-md-component="announce">
|
|
</div>
|
|
<header class="md-header md-header--shadow" data-md-component="header">
|
|
<nav aria-label="Header" class="md-header__inner md-grid">
|
|
<a aria-label="AI on the Edge Device" class="md-header__button md-logo" data-md-component="logo" href=".." title="AI on the Edge Device">
|
|
<img alt="logo" src="../img/logo.svg"/>
|
|
</a>
|
|
<label class="md-header__button md-icon" for="__drawer">
|
|
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"></path></svg>
|
|
</label>
|
|
<div class="md-header__title" data-md-component="header-title">
|
|
<div class="md-header__ellipsis">
|
|
<div class="md-header__topic">
|
|
<span class="md-ellipsis">
|
|
AI on the Edge Device
|
|
</span>
|
|
</div>
|
|
<div class="md-header__topic" data-md-component="header-topic">
|
|
<span class="md-ellipsis">
|
|
|
|
Model Selection
|
|
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<label class="md-header__button md-icon" for="__search">
|
|
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"></path></svg>
|
|
</label>
|
|
<div class="md-search" data-md-component="search" role="dialog">
|
|
<label class="md-search__overlay" for="__search"></label>
|
|
<div class="md-search__inner" role="search">
|
|
<form class="md-search__form" name="search">
|
|
<input aria-label="Search" autocapitalize="off" autocomplete="off" autocorrect="off" class="md-search__input" data-md-component="search-query" name="query" placeholder="Search" required="" spellcheck="false" type="text"/>
|
|
<label class="md-search__icon md-icon" for="__search">
|
|
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"></path></svg>
|
|
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"></path></svg>
|
|
</label>
|
|
<nav aria-label="Search" class="md-search__options">
|
|
<button aria-label="Clear" class="md-search__icon md-icon" tabindex="-1" title="Clear" type="reset">
|
|
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"></path></svg>
|
|
</button>
|
|
</nav>
|
|
</form>
|
|
<div class="md-search__output">
|
|
<div class="md-search__scrollwrap" data-md-scrollfix="" tabindex="0">
|
|
<div class="md-search-result" data-md-component="search-result">
|
|
<div class="md-search-result__meta">
|
|
Initializing search
|
|
</div>
|
|
<ol class="md-search-result__list" role="presentation"></ol>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="md-header__source">
|
|
<a class="md-source" data-md-component="source" href="https://github.com/jomjol/AI-on-the-edge-device-docs" title="Go to repository">
|
|
<div class="md-source__icon md-icon">
|
|
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M439.6 236.1 244 40.5c-5.4-5.5-12.8-8.5-20.4-8.5s-15 3-20.4 8.4L162.5 81l51.5 51.5c27.1-9.1 52.7 16.8 43.4 43.7l49.7 49.7c34.2-11.8 61.2 31 35.5 56.7-26.5 26.5-70.2-2.9-56-37.3L240.3 199v121.9c25.3 12.5 22.3 41.8 9.1 55-6.4 6.4-15.2 10.1-24.3 10.1s-17.8-3.6-24.3-10.1c-17.6-17.6-11.1-46.9 11.2-56v-123c-20.8-8.5-24.6-30.7-18.6-45L142.6 101 8.5 235.1C3 240.6 0 247.9 0 255.5s3 15 8.5 20.4l195.6 195.7c5.4 5.4 12.7 8.4 20.4 8.4s15-3 20.4-8.4l194.7-194.7c5.4-5.4 8.4-12.8 8.4-20.4s-3-15-8.4-20.4" fill="currentColor"></path></svg>
|
|
</div>
|
|
<div class="md-source__repository">
|
|
GitHub
|
|
</div>
|
|
</a>
|
|
</div>
|
|
</nav>
|
|
</header>
|
|
<div class="md-container" data-md-component="container">
|
|
<main class="md-main" data-md-component="main">
|
|
<div class="md-main__inner md-grid">
|
|
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation">
|
|
<div class="md-sidebar__scrollwrap">
|
|
<div class="md-sidebar__inner">
|
|
<nav aria-label="Navigation" class="md-nav md-nav--primary" data-md-level="0">
|
|
<label class="md-nav__title" for="__drawer">
|
|
<a aria-label="AI on the Edge Device" class="md-nav__button md-logo" data-md-component="logo" href=".." title="AI on the Edge Device">
|
|
<img alt="logo" src="../img/logo.svg"/>
|
|
</a>
|
|
AI on the Edge Device
|
|
</label>
|
|
<div class="md-nav__source">
|
|
<a class="md-source" data-md-component="source" href="https://github.com/jomjol/AI-on-the-edge-device-docs" title="Go to repository">
|
|
<div class="md-source__icon md-icon">
|
|
<svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M439.6 236.1 244 40.5c-5.4-5.5-12.8-8.5-20.4-8.5s-15 3-20.4 8.4L162.5 81l51.5 51.5c27.1-9.1 52.7 16.8 43.4 43.7l49.7 49.7c34.2-11.8 61.2 31 35.5 56.7-26.5 26.5-70.2-2.9-56-37.3L240.3 199v121.9c25.3 12.5 22.3 41.8 9.1 55-6.4 6.4-15.2 10.1-24.3 10.1s-17.8-3.6-24.3-10.1c-17.6-17.6-11.1-46.9 11.2-56v-123c-20.8-8.5-24.6-30.7-18.6-45L142.6 101 8.5 235.1C3 240.6 0 247.9 0 255.5s3 15 8.5 20.4l195.6 195.7c5.4 5.4 12.7 8.4 20.4 8.4s15-3 20.4-8.4l194.7-194.7c5.4-5.4 8.4-12.8 8.4-20.4s-3-15-8.4-20.4" fill="currentColor"></path></svg>
|
|
</div>
|
|
<div class="md-source__repository">
|
|
GitHub
|
|
</div>
|
|
</a>
|
|
</div>
|
|
<ul class="md-nav__list" data-md-scrollfix="">
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
<input class="md-nav__toggle md-toggle" id="__nav_1" type="checkbox"/>
|
|
<label class="md-nav__link" for="__nav_1" id="__nav_1_label" tabindex="0">
|
|
<span class="md-ellipsis">
|
|
Getting Started
|
|
|
|
</span>
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
<nav aria-expanded="false" aria-labelledby="__nav_1_label" class="md-nav" data-md-level="1">
|
|
<label class="md-nav__title" for="__nav_1">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Getting Started
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix="">
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="..">
|
|
<span class="md-ellipsis">
|
|
Welcome
|
|
|
|
</span>
|
|
</a>
|
|
</li>
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="../Installation/">
|
|
<span class="md-ellipsis">
|
|
Installation
|
|
|
|
</span>
|
|
</a>
|
|
</li>
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="../initial-setup/">
|
|
<span class="md-ellipsis">
|
|
Initial Setup
|
|
|
|
</span>
|
|
</a>
|
|
</li>
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="../Hardware-Compatibility/">
|
|
<span class="md-ellipsis">
|
|
Hardware Compatibility
|
|
|
|
</span>
|
|
</a>
|
|
</li>
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="../Best-Practice/">
|
|
<span class="md-ellipsis">
|
|
Best Practice
|
|
|
|
</span>
|
|
</a>
|
|
</li>
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="../FAQs/">
|
|
<span class="md-ellipsis">
|
|
Frequently Asked Questions
|
|
|
|
</span>
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
|
|
<input checked="" class="md-nav__toggle md-toggle" id="__nav_2" type="checkbox"/>
|
|
<label class="md-nav__link" for="__nav_2" id="__nav_2_label" tabindex="0">
|
|
<span class="md-ellipsis">
|
|
Configuration
|
|
|
|
</span>
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
<nav aria-expanded="true" aria-labelledby="__nav_2_label" class="md-nav" data-md-level="1">
|
|
<label class="md-nav__title" for="__nav_2">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Configuration
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix="">
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="../Reference-Image/">
|
|
<span class="md-ellipsis">
|
|
Reference Image
|
|
|
|
</span>
|
|
</a>
|
|
</li>
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="../Alignment/">
|
|
<span class="md-ellipsis">
|
|
Alignment References
|
|
|
|
</span>
|
|
</a>
|
|
</li>
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="../ROI-Configuration/">
|
|
<span class="md-ellipsis">
|
|
ROIs (Regions of Interest)
|
|
|
|
</span>
|
|
</a>
|
|
</li>
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="../Configuration/">
|
|
<span class="md-ellipsis">
|
|
Graphical Configuration
|
|
|
|
</span>
|
|
</a>
|
|
</li>
|
|
<li class="md-nav__item md-nav__item--active">
|
|
<input class="md-nav__toggle md-toggle" id="__toc" type="checkbox"/>
|
|
<label class="md-nav__link md-nav__link--active" for="__toc">
|
|
<span class="md-ellipsis">
|
|
Model Selection
|
|
|
|
</span>
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
<a class="md-nav__link md-nav__link--active" href="./">
|
|
<span class="md-ellipsis">
|
|
Model Selection
|
|
|
|
</span>
|
|
</a>
|
|
<nav aria-label="Table of contents" class="md-nav md-nav--secondary">
|
|
<label class="md-nav__title" for="__toc">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Table of contents
|
|
</label>
|
|
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix="">
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="#digit-models">1.1
|
|
<span class="md-ellipsis">
|
|
Digit Models
|
|
</span>
|
|
</a>
|
|
<nav aria-label="Digit Models" class="md-nav">
|
|
<ul class="md-nav__list">
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="#dig-class11">1.1.1
|
|
<span class="md-ellipsis">
|
|
dig-class11
|
|
</span>
|
|
</a>
|
|
</li>
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="#dig-class100-and-dig-cont">1.1.2
|
|
<span class="md-ellipsis">
|
|
dig-class100 and dig-cont
|
|
</span>
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="#analog-pointer-models">1.2
|
|
<span class="md-ellipsis">
|
|
Analog pointer models
|
|
</span>
|
|
</a>
|
|
</li>
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="#different-types-of-models-normal-vs-quantized">1.3
|
|
<span class="md-ellipsis">
|
|
Different types of models (normal vs. quantized)
|
|
</span>
|
|
</a>
|
|
</li>
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="#model-naming-convention">1.4
|
|
<span class="md-ellipsis">
|
|
Model Naming Convention
|
|
</span>
|
|
</a>
|
|
<nav aria-label="Model Naming Convention" class="md-nav">
|
|
<ul class="md-nav__list">
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="#version-number">1.4.1
|
|
<span class="md-ellipsis">
|
|
Version Number
|
|
</span>
|
|
</a>
|
|
</li>
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="#size-indicator">1.4.2
|
|
<span class="md-ellipsis">
|
|
Size Indicator
|
|
</span>
|
|
</a>
|
|
</li>
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="#quantization-indicator">1.4.3
|
|
<span class="md-ellipsis">
|
|
Quantization Indicator
|
|
</span>
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="../ota/">
|
|
<span class="md-ellipsis">
|
|
Over-The-Air (OTA) Update
|
|
|
|
</span>
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
<input class="md-nav__toggle md-toggle" id="__nav_3" type="checkbox"/>
|
|
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
|
|
<span class="md-ellipsis">
|
|
Advanced
|
|
|
|
</span>
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
<nav aria-expanded="false" aria-labelledby="__nav_3_label" class="md-nav" data-md-level="1">
|
|
<label class="md-nav__title" for="__nav_3">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Advanced
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix="">
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="../Parameters/">
|
|
<span class="md-ellipsis">
|
|
Parameters
|
|
|
|
</span>
|
|
</a>
|
|
</li>
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="../Integration-Home-Assistant/">
|
|
<span class="md-ellipsis">
|
|
Integration into Home Assistant
|
|
|
|
</span>
|
|
</a>
|
|
</li>
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="../External-LED/">
|
|
<span class="md-ellipsis">
|
|
External LED
|
|
|
|
</span>
|
|
</a>
|
|
</li>
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="../data-logging/">
|
|
<span class="md-ellipsis">
|
|
Data Logging
|
|
|
|
</span>
|
|
</a>
|
|
</li>
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="../Password-Protection/">
|
|
<span class="md-ellipsis">
|
|
Password Protection
|
|
|
|
</span>
|
|
</a>
|
|
</li>
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="../unstable-installation/">
|
|
<span class="md-ellipsis">
|
|
Living on the Edge
|
|
|
|
</span>
|
|
</a>
|
|
</li>
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="../Watermeter-specific-analog---digit-transition/">
|
|
<span class="md-ellipsis">
|
|
Analog/Digit Transition on Water Meters
|
|
|
|
</span>
|
|
</a>
|
|
</li>
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="../collect-new-images/">
|
|
<span class="md-ellipsis">
|
|
Collect images to improve the models
|
|
|
|
</span>
|
|
</a>
|
|
</li>
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="../Learn-models-with-your-own-images/">
|
|
<span class="md-ellipsis">
|
|
Learn a model with your own images
|
|
|
|
</span>
|
|
</a>
|
|
</li>
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="../Correction%20Algorithm/">
|
|
<span class="md-ellipsis">
|
|
Correction Algorithm
|
|
|
|
</span>
|
|
</a>
|
|
</li>
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="../Neural-Network-Types/">
|
|
<span class="md-ellipsis">
|
|
Neural Network Types
|
|
|
|
</span>
|
|
</a>
|
|
</li>
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="../Additional-Information/">
|
|
<span class="md-ellipsis">
|
|
Additional Information
|
|
|
|
</span>
|
|
</a>
|
|
</li>
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="../New-Releases-Notification/">
|
|
<span class="md-ellipsis">
|
|
Notification about new Releases
|
|
|
|
</span>
|
|
</a>
|
|
</li>
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="../prometheus-openmetrics/">
|
|
<span class="md-ellipsis">
|
|
Prometheus/OpenMetrics
|
|
|
|
</span>
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
<input class="md-nav__toggle md-toggle" id="__nav_4" type="checkbox"/>
|
|
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
|
|
<span class="md-ellipsis">
|
|
Troubleshooting
|
|
|
|
</span>
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
<nav aria-expanded="false" aria-labelledby="__nav_4_label" class="md-nav" data-md-level="1">
|
|
<label class="md-nav__title" for="__nav_4">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Troubleshooting
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix="">
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="../Error-Codes/">
|
|
<span class="md-ellipsis">
|
|
Reduced webinterface (error codes)
|
|
|
|
</span>
|
|
</a>
|
|
</li>
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="../StatusLED-BlinkCodes/">
|
|
<span class="md-ellipsis">
|
|
Board status LED (blink codes)
|
|
|
|
</span>
|
|
</a>
|
|
</li>
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="../WLAN-disconnect-reason/">
|
|
<span class="md-ellipsis">
|
|
WLAN disconnect reasons
|
|
|
|
</span>
|
|
</a>
|
|
</li>
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="../Error-Debugging/">
|
|
<span class="md-ellipsis">
|
|
Often observed issues
|
|
|
|
</span>
|
|
</a>
|
|
</li>
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="../Frequent-Reboots/">
|
|
<span class="md-ellipsis">
|
|
Basic hardware/config issues
|
|
|
|
</span>
|
|
</a>
|
|
</li>
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="../Demo-Mode/">
|
|
<span class="md-ellipsis">
|
|
Demo mode
|
|
|
|
</span>
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
<input class="md-nav__toggle md-toggle" id="__nav_5" type="checkbox"/>
|
|
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
|
|
<span class="md-ellipsis">
|
|
Quick Links
|
|
|
|
</span>
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
<nav aria-expanded="false" aria-labelledby="__nav_5_label" class="md-nav" data-md-level="1">
|
|
<label class="md-nav__title" for="__nav_5">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Quick Links
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix="">
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="https://github.com/jomjol/AI-on-the-edge-device/releases">
|
|
<span class="md-ellipsis">
|
|
Releases
|
|
|
|
</span>
|
|
</a>
|
|
</li>
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="https://jomjol.github.io/AI-on-the-edge-device/index.html">
|
|
<span class="md-ellipsis">
|
|
Web Installer/Console
|
|
|
|
</span>
|
|
</a>
|
|
</li>
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="https://github.com/jomjol/AI-on-the-edge-device/issues">
|
|
<span class="md-ellipsis">
|
|
Create an Issue
|
|
|
|
</span>
|
|
</a>
|
|
</li>
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="https://github.com/jomjol/AI-on-the-edge-device/discussions">
|
|
<span class="md-ellipsis">
|
|
Join a Discussion
|
|
|
|
</span>
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
<input class="md-nav__toggle md-toggle" id="__nav_6" type="checkbox"/>
|
|
<label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="0">
|
|
<span class="md-ellipsis">
|
|
API's
|
|
|
|
</span>
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
<nav aria-expanded="false" aria-labelledby="__nav_6_label" class="md-nav" data-md-level="1">
|
|
<label class="md-nav__title" for="__nav_6">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
API's
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix="">
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="../REST-API/">
|
|
<span class="md-ellipsis">
|
|
REST API
|
|
|
|
</span>
|
|
</a>
|
|
</li>
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="../MQTT-API/">
|
|
<span class="md-ellipsis">
|
|
MQTT API
|
|
|
|
</span>
|
|
</a>
|
|
</li>
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="../Influx-DB/">
|
|
<span class="md-ellipsis">
|
|
Influx DB
|
|
|
|
</span>
|
|
</a>
|
|
</li>
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="../Webhook/">
|
|
<span class="md-ellipsis">
|
|
Webhook
|
|
|
|
</span>
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
<input class="md-nav__toggle md-toggle" id="__nav_7" type="checkbox"/>
|
|
<label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="0">
|
|
<span class="md-ellipsis">
|
|
Development
|
|
|
|
</span>
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
<nav aria-expanded="false" aria-labelledby="__nav_7_label" class="md-nav" data-md-level="1">
|
|
<label class="md-nav__title" for="__nav_7">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Development
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix="">
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="../Build-Instructions/">
|
|
<span class="md-ellipsis">
|
|
Build the Project
|
|
|
|
</span>
|
|
</a>
|
|
</li>
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="../Upload-files-by-script/">
|
|
<span class="md-ellipsis">
|
|
Scripted File Upload
|
|
|
|
</span>
|
|
</a>
|
|
</li>
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="../Testing/">
|
|
<span class="md-ellipsis">
|
|
Testing Option for VSCode
|
|
|
|
</span>
|
|
</a>
|
|
</li>
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="../Release-creation/">
|
|
<span class="md-ellipsis">
|
|
Release Procedure
|
|
|
|
</span>
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
<input class="md-nav__toggle md-toggle" id="__nav_8" type="checkbox"/>
|
|
<label class="md-nav__link" for="__nav_8" id="__nav_8_label" tabindex="0">
|
|
<span class="md-ellipsis">
|
|
Old Pages (no longer maintained)
|
|
|
|
</span>
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
<nav aria-expanded="false" aria-labelledby="__nav_8_label" class="md-nav" data-md-level="1">
|
|
<label class="md-nav__title" for="__nav_8">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Old Pages (no longer maintained)
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix="">
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="../outdated--Integrated-Functions/">
|
|
<span class="md-ellipsis">
|
|
Integrated Functions
|
|
|
|
</span>
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="..">
|
|
<span class="md-ellipsis">
|
|
Assorted Pages
|
|
|
|
</span>
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</nav>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc">
|
|
<div class="md-sidebar__scrollwrap">
|
|
<div class="md-sidebar__inner">
|
|
<nav aria-label="Table of contents" class="md-nav md-nav--secondary">
|
|
<label class="md-nav__title" for="__toc">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Table of contents
|
|
</label>
|
|
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix="">
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="#digit-models">1.1
|
|
<span class="md-ellipsis">
|
|
Digit Models
|
|
</span>
|
|
</a>
|
|
<nav aria-label="Digit Models" class="md-nav">
|
|
<ul class="md-nav__list">
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="#dig-class11">1.1.1
|
|
<span class="md-ellipsis">
|
|
dig-class11
|
|
</span>
|
|
</a>
|
|
</li>
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="#dig-class100-and-dig-cont">1.1.2
|
|
<span class="md-ellipsis">
|
|
dig-class100 and dig-cont
|
|
</span>
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="#analog-pointer-models">1.2
|
|
<span class="md-ellipsis">
|
|
Analog pointer models
|
|
</span>
|
|
</a>
|
|
</li>
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="#different-types-of-models-normal-vs-quantized">1.3
|
|
<span class="md-ellipsis">
|
|
Different types of models (normal vs. quantized)
|
|
</span>
|
|
</a>
|
|
</li>
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="#model-naming-convention">1.4
|
|
<span class="md-ellipsis">
|
|
Model Naming Convention
|
|
</span>
|
|
</a>
|
|
<nav aria-label="Model Naming Convention" class="md-nav">
|
|
<ul class="md-nav__list">
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="#version-number">1.4.1
|
|
<span class="md-ellipsis">
|
|
Version Number
|
|
</span>
|
|
</a>
|
|
</li>
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="#size-indicator">1.4.2
|
|
<span class="md-ellipsis">
|
|
Size Indicator
|
|
</span>
|
|
</a>
|
|
</li>
|
|
<li class="md-nav__item">
|
|
<a class="md-nav__link" href="#quantization-indicator">1.4.3
|
|
<span class="md-ellipsis">
|
|
Quantization Indicator
|
|
</span>
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</nav>
|
|
</li>
|
|
</ul>
|
|
</nav>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="md-content" data-md-component="content">
|
|
<article class="md-content__inner md-typeset">
|
|
<h1 id="model-selection"><span class="enumerate-headings-plugin enumerate-heading-plugin">1.</span> Model Selection</h1>
|
|
<div class="admonition notes">
|
|
<p class="admonition-title">Notes</p>
|
|
<p>See <a href="../Neural-Network-Types/">Neural Network Types</a> for additional details.</p>
|
|
</div>
|
|
<p>In the <a href="../Configuration/">Graphical Configuration Page</a>, you can choose different models depending on your needs.</p>
|
|
<p>This page tries to help you on which model to select.
|
|
For more technical/deeper explanations have a look on <a href="../Neural-Network-Types/">Neural-Network-Types</a>.</p>
|
|
<h2 id="digit-models"><span class="enumerate-headings-plugin enumerate-heading-plugin">1.1</span> Digit Models</h2>
|
|
<p>For digits on water meters, gas-meters or power meters you can select between two main types of models:</p>
|
|
<ul>
|
|
<li><code>dig-class11</code></li>
|
|
<li><code>dig-class100</code> and <code>dig-cont</code></li>
|
|
</ul>
|
|
<p><code>class</code> stands for <strong>classification</strong> and <code>cont</code> stands for <strong>continuous</strong>. The <code>11</code> means that there are 11 states (<code>0..9</code> and <code>N</code>). The <code>100</code> indicates that the model resolves into <code>x.1</code> steps by having 100 states (0.0, 0.1, 0.2, ... 9.7, 9.8, 9.9).</p>
|
|
<p><strong>continuous</strong> means, that there is no discrete model, that has discreate states, but there is a different mechanism, that provides a not discrete value in the interval between [0, 1[.</p>
|
|
<h3 id="dig-class11"><span class="enumerate-headings-plugin enumerate-heading-plugin">1.1.1</span> <code>dig-class11</code></h3>
|
|
<p>This model can recognize <strong>full digits</strong>. It was the first model version. All intermediate states shown a <code>N</code> for not-a-number (aka. <code>NaN</code>). But in post process it uses older values to fill up the <code>N</code> values if possible.</p>
|
|
<p><img alt="" src="../img/dig-class11.png" style="width:300px"/></p>
|
|
<p>It's possibly a good fallback, if <code>dig-cont</code> or <code>dig-class100</code> results are not good.</p>
|
|
<p>Main features:</p>
|
|
<ul>
|
|
<li>well suited for LCD digits</li>
|
|
<li>the ExtendedResolution option is not supported. (Only in conjunction with <code>ana-class100</code> or <code>ana-cont</code>)</li>
|
|
</ul>
|
|
<h3 id="dig-class100-and-dig-cont"><span class="enumerate-headings-plugin enumerate-heading-plugin">1.1.2</span> <code>dig-class100</code> and <code>dig-cont</code></h3>
|
|
<p>These models are used to get a <strong>continuous reading</strong> with intermediate states. To see what the models are doing, you can go to the Recognition page of your device.</p>
|
|
<p><img alt="" src="../img/dig-class100.png" style="width:300px"/></p>
|
|
<p>Main features:</p>
|
|
<ul>
|
|
<li>suitable for all digit displays.</li>
|
|
<li>Advantage over <code>dig-class11</code> that results continue to be calculated in the transition between digits.</li>
|
|
<li>With the ExtendedResolution option, higher accuracy is possible by adding another digit.</li>
|
|
</ul>
|
|
<p>The difference between <code>dig-class100</code> and <code>dig-cont</code> is in the internal processing.
|
|
The <code>dig-class100</code> is a standard classification model. Each tenth step is an output.
|
|
<code>dig-cont</code> uses two outputs and arctangent to get the result.</p>
|
|
<div class="admonition note">
|
|
<p class="admonition-title">Note</p>
|
|
<p>Try both models on your device and take the one that gives you the best results.</p>
|
|
</div>
|
|
<p>Look <a href="https://jomjol.github.io/neural-network-digital-counter-readout">here</a> for a list of digit images used for the training.</p>
|
|
<h2 id="analog-pointer-models"><span class="enumerate-headings-plugin enumerate-heading-plugin">1.2</span> Analog pointer models</h2>
|
|
<p>For pointers on water meters use the analog models:</p>
|
|
<p><img alt="" src="../img/ana-class100.png" style="width:250px"/></p>
|
|
<p>You can choose between two models:</p>
|
|
<ul>
|
|
<li><code>ana-class100</code> </li>
|
|
<li><code>ana-cont</code></li>
|
|
</ul>
|
|
<p>Both do mainly the same.
|
|
<code>class</code> stands for <strong>classification</strong> and <code>cont</code> stands for <strong>continuous</strong>.</p>
|
|
<p>Main features:</p>
|
|
<ul>
|
|
<li>for all analogue pointers, especially for water meters.</li>
|
|
<li>With the ExtendedResolution option, higher accuracy is possible by adding another digit.</li>
|
|
</ul>
|
|
<p>Again, the difference between <code>ana-class100</code> and <code>ana-cont</code> is in the internal processing.</p>
|
|
<div class="admonition note">
|
|
<p class="admonition-title">Note</p>
|
|
<p>Take the one that gives you the best results. Both models learn from the same data.</p>
|
|
</div>
|
|
<p>Look <a href="https://jomjol.github.io/neural-network-analog-needle-readout/">here</a> for a list of pointer images used for the training</p>
|
|
<h2 id="different-types-of-models-normal-vs-quantized"><span class="enumerate-headings-plugin enumerate-heading-plugin">1.3</span> Different types of models (normal vs. quantized)</h2>
|
|
<p>The normally trained network is calculating with internal floating point numbers. The saving of floating point numbers naturally takes more space than an integer type. Often the increased accuracy is not needed. Therefore there is the option, to "quantize" a neural network. In this case the internal values are rescaled to integer values, which is called "quantization". The stored tflite files are usually much smaller and runs faster on the edgeAI-device.
|
|
Usually the models are distrusted therefore in both versions. They can be distinguished by a <code>q</code> at the end of the logfile.</p>
|
|
<p>Example:</p>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th style="text-align: left;">Type</th>
|
|
<th>Name</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td style="text-align: left;">Normal</td>
|
|
<td><code>dig-cont_0610_s3.tflite</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td style="text-align: left;">Quantized</td>
|
|
<td><code>dig-cont_0610_s3-q.tflite</code></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<h2 id="model-naming-convention"><span class="enumerate-headings-plugin enumerate-heading-plugin">1.4</span> Model Naming Convention</h2>
|
|
<p>Model filenames follow a specific structure composed of several parts:</p>
|
|
<ol>
|
|
<li><strong>Model Type</strong>: Indicates the kind of model, such as <code>ana/dig</code>, <code>cont</code>, <code>class11</code>, or <code>class100</code>.</li>
|
|
<li><strong>Version Number</strong>: Denotes the version of the model.</li>
|
|
<li><strong>Size Indicator</strong>: Represents the size or complexity of the model.</li>
|
|
<li><strong>Quantization Indicator</strong> (optional): Specifies whether the model was quantized after training.</li>
|
|
<li><strong>File Type</strong>: Always <code>.tflite</code>.</li>
|
|
</ol>
|
|
<h3 id="version-number"><span class="enumerate-headings-plugin enumerate-heading-plugin">1.4.1</span> Version Number</h3>
|
|
<p>The version number consists of four digits:</p>
|
|
<ul>
|
|
<li>The <strong>first two digits</strong> represent the <em>main version</em>.</li>
|
|
<li>The <strong>last two digits</strong> represent the <em>sub-version</em>.</li>
|
|
</ul>
|
|
<p>Example:
|
|
<code>0610</code> → Main version: <code>06</code>, Sub-version: <code>10</code>
|
|
In general, higher numbers correspond to newer models.</p>
|
|
<h3 id="size-indicator"><span class="enumerate-headings-plugin enumerate-heading-plugin">1.4.2</span> Size Indicator</h3>
|
|
<ul>
|
|
<li>The size indicator typically starts with <code>s</code> followed by a number, e.g., <code>s3</code>.</li>
|
|
<li>This naming is not strictly standardized yet.</li>
|
|
<li>Training usually begins with a larger model (<code>s0</code>), and successive versions (<code>s1</code>, <code>s2</code>, ...) reduce the number of parameters to create smaller, faster networks.</li>
|
|
<li>Reducing model size can improve efficiency, but may eventually lead to a drop in recognition accuracy.</li>
|
|
<li>In newer model generations, only the best-performing sizes are retained and further trained.</li>
|
|
</ul>
|
|
<h3 id="quantization-indicator"><span class="enumerate-headings-plugin enumerate-heading-plugin">1.4.3</span> Quantization Indicator</h3>
|
|
<ul>
|
|
<li>If the model name ends with <code>-q</code>, it indicates that <strong>quantization</strong> was applied after training.</li>
|
|
<li>Quantization significantly reduces the model size, typically without a noticeable impact on recognition performance.</li>
|
|
</ul>
|
|
</article>
|
|
</div>
|
|
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
|
|
</div>
|
|
</main>
|
|
<footer class="md-footer">
|
|
<div class="md-footer-meta md-typeset">
|
|
<div class="md-footer-meta__inner md-grid">
|
|
<div class="md-copyright">
|
|
|
|
|
|
Made with
|
|
<a href="https://squidfunk.github.io/mkdocs-material/" rel="noopener" target="_blank">
|
|
Material for MkDocs
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</footer>
|
|
</div>
|
|
<div class="md-dialog" data-md-component="dialog">
|
|
<div class="md-dialog__inner md-typeset"></div>
|
|
</div>
|
|
<script id="__config" type="application/json">{"base": "..", "features": [], "search": "../assets/javascripts/workers/search.973d3a69.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
|
|
<script src="../assets/javascripts/bundle.92b07e13.min.js"></script>
|
|
</body>
|
|
</html> |