{"id":162,"date":"2025-05-11T09:00:00","date_gmt":"2025-05-11T09:00:00","guid":{"rendered":"https:\/\/www.tb-software.ch\/ai\/conveyorvision-applikation-industrielle-bildverarbeitung-fuer-foerderbaender\/"},"modified":"2025-05-11T09:00:00","modified_gmt":"2025-05-11T09:00:00","slug":"conveyorvision-applikation-industrielle-bildverarbeitung-fuer-foerderbaender","status":"publish","type":"post","link":"https:\/\/www.tb-software.ch\/ai\/conveyorvision-applikation-industrielle-bildverarbeitung-fuer-foerderbaender\/","title":{"rendered":"ConveyorVision Applikation \u2013 Industrielle Bildverarbeitung f\u00fcr F\u00f6rderb\u00e4nder"},"content":{"rendered":"<p>Erfahren Sie, wie wir mit moderner Kamerasteuerung, optimierter OCR und intelligenter Logik eine schlanke, aber extrem leistungsf\u00e4hige L\u00f6sung geschaffen haben \u2013 von den ersten H\u00fcrden bis zur finalen Echtzeit-Auswertung.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.tb-software.ch\/ai\/wp-content\/uploads\/2026\/05\/ConveyorVision_Screenshot-1181-1024x552-1.jpg\" alt=\"\" loading=\"lazy\"><\/p>\n<h2>Kurzform<\/h2>\n<p>ConveyorVision vereint robuste Kamerasteuerung, performante OCR, smarte F\u00f6rderband-Logik, modulare Plugin-Architektur und aussagekr\u00e4ftige Statistiken in einer .NET-Architektur. Dank Simulator, Live-Histogramm und transparentem Feedback k\u00f6nnen neue Features schnell entwickelt, getestet und beim Kunden sofort eingesetzt werden.<\/p>\n<p>Die Entwicklung war nach 1 Monat abgeschlossen.<\/p>\n<h2>Einleitung<\/h2>\n<p>ConveyorVision ist eine .NET-basierte WPF-Applikation, die speziell daf\u00fcr entwickelt wurde, Datumsaufdrucke auf Verpackungsschachteln in Echtzeit auf F\u00f6rderb\u00e4ndern zu erkennen und auszuwerten. Hinter der Oberfl\u00e4che verbirgt sich ein modularer Aufbau aus:<\/p>\n<ul>\n<li><strong>Kameraservice<\/strong> (DirectShow-basiert)<\/li>\n<li><strong>OCR-Service<\/strong> (Deep-Learning)<\/li>\n<li><strong>Segmentierungs- und Logik-Engine<\/strong><\/li>\n<li><strong>Statistik- und Visualisierungsmodul<\/strong><\/li>\n<li><strong>PLC-Anbindung<\/strong> (Siemens LOGO! per Modbus)<\/li>\n<li><strong>Simulator<\/strong> und <strong>Unit-Tests<\/strong><\/li>\n<\/ul>\n<h2>Kern-Features<\/h2>\n<ol>\n<li><strong>Dynamische Kamerasteuerung<\/strong><\/li>\n<\/ol>\n<p>Aufl\u00f6sung, FPS, Bildformat (RGB24 \/ MJPG), Flip &#038; Rotation in 90\u00b0-Schritten<\/p>\n<ol>\n<li>Manuelle Belichtungszeit, Gain, Helligkeit, Kontrast, Weissabgleich<\/li>\n<li>ROI (Region of Interest) f\u00fcr Cropping &#038; Histogramm-Overlay<\/li>\n<li>Bis zu 30 FPS im beschnittenen Ausschnitt<\/li>\n<li><strong>Hochperformante OCR-Pipeline<\/strong><\/li>\n<\/ol>\n<p>Tesseract-Konfiguration mit Bruteforce-Optimierung<\/p>\n<ol>\n<li>Deep-Learning-Fallbackmodelle f\u00fcr schwierige Cases<\/li>\n<li>Whitelist-Filter, DPI-Anpassung, Graustufen-Conversion, 24 bpp-Modus<\/li>\n<li>ROI-Crop f\u00fcr fokussierte Erkennung<\/li>\n<li><strong>Intelligente F\u00f6rderband-Logik<\/strong><\/li>\n<\/ol>\n<p>Erkennung, ob eine Schachtel bereits im Sichtfeld ist (keine Lichtschranke n\u00f6tig)<\/p>\n<ol>\n<li>Automatisches Ausl\u00f6sen von Aktoren per Siemens LOGO! \u00fcber Modbus<\/li>\n<li>Handling von Mehrfachschachteln, Stausituationen und \u201eLeerlauf\u201c<\/li>\n<li><strong>Echtzeit-Statistik &#038; Visualisierung<\/strong><\/li>\n<\/ol>\n<p>Gestapelte Zeitintervalle (10 Sekunden bis Minuten) f\u00fcr valide vs. invalide Schachteln<\/p>\n<ol>\n<li>Live-Diagramme ohne Achsenbeschriftung, nur dezente Rasterlinien<\/li>\n<li>Kennzahlen: Gesamt, Min\/Max, Durchschnitt, Start-\/End-Zeit<\/li>\n<li><strong>Simulations-Modus &#038; UI-Feedback<\/strong><\/li>\n<\/ol>\n<p>Integrierter Dispatcher-Timer zum Testen von Modulen<\/p>\n<ol>\n<li>Histogramm-Overlay und transparente Masken f\u00fcr intuitive ROI-Justage<\/li>\n<li>\u201eAmpel\u201c-Feedback (gr\u00fcn\/rot) mit kontrast\u00e4quivalentem Vordergrundtext<\/li>\n<li><strong>Modulare Architektur &#038; Qualit\u00e4tssicherung<\/strong><\/li>\n<\/ol>\n<p>Plugin-Verfahren erlaubt einfache Erweiterung um neue Module<\/p>\n<ol>\n<li>Saubere Trennung von Services, ViewModels und Utilities<\/li>\n<li>Umfangreiche Unit-Tests f\u00fcr Kamera, OCR, Segmenter und Statistik<\/li>\n<li>Funktionsgarantie dank automatisierter Testl\u00e4ufe<\/li>\n<li><strong>Daten-Logging &#038; Cloud-Anbindung<\/strong><\/li>\n<\/ol>\n<p>Lokale CSV\/TXT-Protokolle f\u00fcr Frames, Performance und Segmente<\/p>\n<ol>\n<li>Optionaler Upload auf Server oder Cloud (REST\/FTP)<\/li>\n<li>Persistente Settings via JSON und Reflection<\/li>\n<\/ol>\n<h2>Entwickler-Einblicke: Herausforderungen &#038; L\u00f6sungen<\/h2>\n<ul>\n<li><strong>Falsche SPS-Server-IP<\/strong>**Stundenlanges Debugging:\u2713 Kabel?\u2713 LOGO!-Firmware?\u2713 .NET-Modbus-Client?Am Ende half nur end-to-end-Tracing im BackgroundWorker.<\/li>\n<\/ul>\n<p>Relaiskarte vs. LOGO!****Urspr\u00fcnglich planten wir, Ventile direkt per Relais anzusteuern. Dank stabiler Bildlogik konnten wir dies umgehen und die SPS-LOGO! per Modbus zuverl\u00e4ssig nutzen.<\/p>\n<p>Wegfall der Lichtschranke****Intelligente Bild-Erkennung erkennt \u201eSchachtel da\/Schachtel weg\u201c rein softwarebasiert \u2013 die externe Lichtschranke wurde obsolet.<\/p>\n<p>Statistik-Darstellung****OOTB kein fertiges Diagramm f\u00fcr gestapelte Buckets verf\u00fcgbar. Wir haben mit OxyPlot eigene RectangleBar-Series und fest definierte Zeitraster (10 s \/ 1 min) implementiert.<\/p>\n<h2>Performance-Optimierung<\/h2>\n<p>Kamera-Tuning**<\/p>\n<p>K\u00fcrzere Belichtungszeiten, MJPG-Encoding<\/p>\n<ul>\n<li>Dynamische Framerate-Limits \u2192 F\u00f6rderband schneller<\/li>\n<\/ul>\n<p><strong>OCR-Modelle<\/strong><\/p>\n<ul>\n<li>Bruteforce-Tuning (Englisch\/Deutsch, PSM-Varianten, DPI, Whitelist etc.)<\/li>\n<li>Deep-Learning-Fallback f\u00fcr komplexe Texte<\/li>\n<\/ul>\n<p><strong>ROI &#038; Filterketten<\/strong><\/p>\n<ul>\n<li>Nur relevante Bildteile verarbeiten<\/li>\n<li>Kontrast- und Scharfzeichnungsfilter steigern Erkennungsrate<\/li>\n<\/ul>\n<p><strong>Ergebnis:<\/strong>**Statt 0,2 Bilder\/s auf altem Laptop heute 5\u201310 FPS (bis 30 FPS im ROI) auf moderner Hardware.<\/p>\n<h2>Qualit\u00e4tssicherung &#038; Bruteforce-Tuning<\/h2>\n<p>Brute-Force-Skripte<strong> \u00fcber Tage:<\/strong>Testen aller OCR-Kombinationen auf Videomaterial<\/p>\n<p>Automatisierte Auswertung<strong>:<\/strong>CSV- und Performance-Metrics pro Konfiguration<\/p>\n<p>Unit-Tests<strong> f\u00fcr alle kritischen Klassen:<\/strong>Kamera-Initialisierung, Formatwechsel, Puffer-Callbacks, Segmenter-Logik<\/p>\n<h2>Test-Video aus der Entwicklungszeit (Alphaversion)<\/h2>\n<p>Jetzt mehr erfahren und testen:** <a href=\"https:\/\/tb-software.ch\/page\/conveyorvision-applikation-industrielle-bildverarbeitung-f\u00fcr-foerderbaender\/\">https:\/\/tb-software.ch\/page\/conveyorvision-applikation-industrielle-bildverarbeitung-f\u00fcr-foerderbaender\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Erfahren Sie, wie wir mit moderner Kamerasteuerung, optimierter OCR und intelligenter Logik eine schlanke, aber extrem leistungsf\u00e4hige L\u00f6sung geschaffen haben \u2013 von den ersten H\u00fcrden bis zur finalen Echtzeit-Auswertung. Kurzform ConveyorVision vereint robuste Kamerasteuerung, performante OCR, smarte F\u00f6rderband-Logik, modulare Plugin-Architektur und aussagekr\u00e4ftige Statistiken in einer .NET-Architektur. Dank Simulator, Live-Histogramm und transparentem Feedback k\u00f6nnen neue Features\u2026<\/p>\n","protected":false},"author":1,"featured_media":160,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[37],"tags":[],"class_list":["post-162","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-applikationsentwicklung"],"_links":{"self":[{"href":"https:\/\/www.tb-software.ch\/ai\/index.php?rest_route=\/wp\/v2\/posts\/162","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tb-software.ch\/ai\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tb-software.ch\/ai\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tb-software.ch\/ai\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tb-software.ch\/ai\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=162"}],"version-history":[{"count":0,"href":"https:\/\/www.tb-software.ch\/ai\/index.php?rest_route=\/wp\/v2\/posts\/162\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.tb-software.ch\/ai\/index.php?rest_route=\/wp\/v2\/media\/160"}],"wp:attachment":[{"href":"https:\/\/www.tb-software.ch\/ai\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=162"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tb-software.ch\/ai\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=162"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tb-software.ch\/ai\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=162"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}