Een MWIR 1D-CNN leest zwart plastic dat NIR-scheiders missen. Zet de poort uit en hetzelfde model levert een afgekeurde baal. De garantie is het product.
RecyclingMachine learningCirculaire economie

Ik bouwde een AI om het zwarte plastic terug te winnen dat recyclers weggooien. De classifier was het makkelijke deel.

Ashutosh SinghalAshutosh Singhal16 juli 202612 min

Carbon black absorbeert over het volledige nabij-infrarood, dus een zwart polypropyleen bakje op een zwarte transportband is een signaalloze leegte voor elke optische NIR-scheider op de markt — de machineklasse van TOMRA Autosort, Machinex en Pellenc die wereldwijd de recyclinglijnen aandrijft. De scheider kan het object helemaal niet zien, waardoor het doorvalt naar het residu en vervolgens op de stort belandt. Afhankelijk van de stroom gaat 3 tot 15 procent van het afval als zwart plastic op precies deze manier verloren, en bij een installatie van 50.000 ton per jaar met 5 procent zwart materiaal is dat grofweg 2.500 ton per jaar aan terugwinbaar materiaal: een kans in de orde van 2,2 tot 2,7 miljoen euro op jaarbasis (WP45-onderzoek, 2026). Ik ging er bij de bouw lange tijd van uit dat het interessante probleem was om dat plastic zichtbaar te maken. Dat was het ook, ongeveer een week lang. Toen diende het werkelijke probleem zich aan, en dat lag helemaal niet aan het model.

De demo die ik heb gebouwd heet Assay en staat op https://veriprajna.com/demos/materials-recovery-ai. Ik moet eerst vertellen wat er echt aan is voordat ik iets anders zeg, want elke demo in dit domein komt in de verleiding om die grens te laten vervagen. De spectra zijn synthetisch, gegenereerd door een op fysica gebaseerde emulator die invalt voor een Specim FX50-sensor, en de pneumatische uitstoter is een gelogde stub. Wat echt is, zijn de classifier, de poorten, de beleidscontrole en de evaluatiecijfers. Ik heb de synthetische kant bewust gebouwd, want het geval dat bepaalt of een baal verkoopt, is het ambigue, vervuilde pvc-in-de-stroom-geval dat een schone labmeting je vrijwel nooit voorschotelt.

De week waarin ik de verkeerde race probeerde te winnen

Ik begon dit project zoals de meesten dat waarschijnlijk zouden doen: door het te behandelen als een race om nauwkeurigheid. Het kader dat iedereen hanteert bij de terugwinning van zwart plastic is een getal: breng de classifier van het NIR-blinde nulpunt helemaal omhoog naar de lab-kop van bijna 99 procent, en je hebt de blinde vlek van recycling opgelost. Dus bouwde ik eerst de detectiefysica. Carbon black dempt het middengolf-infraroodsignaal weliswaar, maar wist het niet uit, en dat verschil is de hele opening. In de MWIR-band, van 2,7 tot 5,3 micrometer, laat elk polymeer nog steeds een diagnostische vingerafdruk achter: het alifatische koolstof-waterstofdoublet voor PP en PE, de aromatische ring voor PS, de nitril-rekbeweging voor ABS, het chlooraangrenzende kenmerk voor PVC. Ik bouwde zelf een klein 1D-convolutioneel netwerk in numpy — drie convolutielagen via pooling naar twee dichte lagen naar een softmax over PP, PE, PS, ABS en PVC, met echte forward- en backpropagation, Adam en een temperatuurkalibratiestap — en het draait als pure numerieke code in een hot path van circa 5 milliseconde. Geen enkel groot taalmodel beslist hier iets. Het is rekenkunde die je kunt lezen.

En het werkte, op een eerlijk niveau. Op een apart gehouden, zwaardere stroom van 1.700 objecten, bewust vuiler dan de trainingsdata, behaalt het een gebalanceerde nauwkeurigheid van 0,894. Dat ligt vlak naast de collegiaal getoetste praktijkbenchmark van 83,4 procent voor MWIR-classificatie op echt afval (Resources, Conservation & Recycling, januari 2026), met daaronder een interpreteerbare piekverhoudingsregel van 0,668 zodat het netwerk niet zijn eigen huiswerk beoordeelt. Dat is een goed cijfer op een moeilijke verdeling. Het is niet de 99 procent uit het lab, en ik besloot al vroeg dat ik het daar nooit voor zou laten doorgaan.

Dit is wat me tegenhield. Ik bekeek die 0,894 en vroeg me af wat een sorteerinstallatie eraan zou hebben, en het antwoord was: niets. Een installatie voor materiaalherstel koopt nooit een nauwkeurigheidspercentage. Het enige waar men voor betaalt, is een baal die aan de specificaties voldoet.

De schakelaar die het hele project omgooide

Het kantelpunt in de bouw was een schakelaar die ik bijna als bijgedachte toevoegde. De APR Model Bale Spec voor Grade A gerecycled polypropyleen is concreet en onverbiddelijk: minstens 97 procent PP en maximaal 0,5 procent PVC. Een baal die de specificatie mist, betekent een afgekeurde lading, kosten voor omleiding naar de stort en een recycler verderop in de keten die je minder vertrouwt. Dus zette ik één enkele bediening op het dashboard — een betrouwbaarheidspoort die je aan of uit kunt zetten — en liet het identieke model op dezelfde stroom in beide standen draaien om te zien wat de poort op zichzelf waard was.

Met de poort ingeschakeld worden objecten met een lage betrouwbaarheid — de meerlaagse laminaten en vervuilde fragmenten waarvan de spectra met geen enkel polymeer overeenkomen — bij een softmax-drempelwaarde van 0,86 apart gehouden voor handmatige kwaliteitscontrole in plaats van op de gok in de baal te worden gestopt, en elk pvc-verdacht object boven een bewust lage drempelwaarde wordt direct hard afgekeurd. Op demo-seed 11 meet die beveiligde baal 99,2 procent PP zonder dat er enig PVC doorlekt, en het certificaat meldt PASS, APR Grade A.

Het rPP-baalcertificaat op demo-seed 11 met de betrouwbaarheidspoort ingeschakeld: 99,2 procent PP, PVC-gehalte 0 procent, PASS APR Grade A rPP, 38 objecten doorgestuurd naar handmatige kwaliteitscontrole
De gecontroleerde baal op demo-seed 11. Gemeten 99,2 procent PP, PVC-gehalte 0,00 procent, beide APR-clausules kleuren groen, en het paneel toont 38 objecten vastgehouden voor handmatige kwaliteitscontrole en de live berekende teruggewonnen tonnage en opbrengst op hetzelfde certificaat.

Vervolgens zette ik diezelfde schakelaar uit, zodat de classifier voor elk object simpelweg zijn beste gok neemt — naïeve argmax, niets achtergehouden. Zelfde stroom. Zelfde gewichten. De baal geeft nu 94,2 procent PP aan met 1,94 procent PVC, en het certificaat slaat om naar afgekeurd: boven de pvc-limiet van 0,5 procent die de kwaliteitsklasse definieert.

Hetzelfde demo-dashboard met de betrouwbaarheidspoort uitgeschakeld: de rPP-bak vult zich tot 155 objecten, pvc-afkeuring en handmatige kwaliteitscontrole veranderen, en op het paneel staat BALE WOULD BE REJECTED
Hetzelfde model, dezelfde stroom, poort uit (naïeve argmax). De rPP-bak slikt nu objecten in die de gecontroleerde run tegenhield, PVC en foutieve aflezingen lekken de Grade A-baal in, en op het certificaat staat BALE WOULD BE REJECTED.

Ik was bezig geweest een classifier te bouwen. Waar ik naar keek, was het bewijs dat de classifier nooit hetgeen was dat een baal verkoopbaar maakte. Dat deden de onthouding, de harde pvc-afkeuring en de deterministische beleidscontrole. Het model veranderde niet tussen die twee screenshots. De garantie-infrastructuur eromheen veranderde wel, en dat was het verschil tussen een certificeerbare Grade A-baal en een lading vervuild maalgoed.

Waarom ik van PVC een asymmetrische beslissing maakte

Ik behandelde PVC bewust anders dan al het andere, en de reden daarvoor verdient openheid. Een vals-negatief voor PVC in een PP-baal is geen kleine fout; het is een chloorverontreiniging die een volledige smeltfase verderop in de keten kan aantasten. De poort weegt PVC daarom niet symmetrisch af tegen de andere klassen. Elk object dat het netwerk zelfs maar licht als pvc-verdacht aanmerkt, wordt meteen hard afgekeurd als chloorrisico. Dat betekent dat ik accepteer dat er wat zuiver PP wordt weggegooid om te garanderen dat er geen PVC meeglipt. Dat zijn kosten, en ik wilde dat de demo die kosten liet zien in plaats van ze te verbergen. Over een evaluatie van 60 balen met afgestelde poort stuurt het systeem ongeveer 12,6 procent van de objecten naar handmatige kwaliteitscontrole en vangt het zo'n 99,8 procent van het PVC af — met slechts één enkel pvc-lek over alle 60 balen — terwijl ongeveer 71,2 procent van de PP-stroom wordt teruggewonnen. Het stuurt meer materiaal naar een mens dan een naïef systeem zou doen, wint minder terug dan een perfect systeem, en spreekt dat ronduit uit. Een terugwinningssysteem dat zijn eigen zuiverheid overschat, heeft al gefaald in de enige taak waarvoor het bestaat.

De betrouwbaarheidspoort ingeschakeld, waarbij te zien is dat 38 objecten zich ophopen in de bak voor handmatige kwaliteitscontrole in plaats van in de rPP-bak te worden geforceerd
De onthoudingslaag in actie. Objecten waarover het netwerk niet zeker is — laminaten en vervuilde fragmenten — verzamelen zich in de bak voor handmatige kwaliteitscontrole (hier 38) in plaats van op de gok aan de rPP-bak te worden toegevoegd. Tegengehouden, niet gebluft.

De valkuil van dit hele idee is dat onthouding op zwakte lijkt. Wanneer ik ingenieurs de stapel voor handmatige kwaliteitscontrole laat zien, is de reflex te vragen waarom ik de drempelwaarde niet gewoon verschuif om meer terug te winnen. Maar waar het aan een sorteerlijn om gaat, is niet hoe goed de gemiddelde gok is. Het gaat erom of er een chloorbom in een Grade A-baal terechtkomt, en je wilt niet dat een stochastisch model die beslissing neemt. Je wilt een regel die het model niet kan omzeilen.

Het getal dat ik op het scorebord wilde zetten

Ik heb één beslissing genomen over het scorebordgetal die me moeite kostte om vast te houden. 0,894 is het getal dat klopt op een vuile, apart gehouden stroom. Bijna 99 procent is het getal dat verkoopt — afkomstig van een schone Specim-labmeting — en ik had dat kunnen aanhalen en mensen hun eigen aannames laten doen. In plaats daarvan heb ik het benchmarkpaneel in de demo ingebouwd, waarbij onze 0,894 vlak naast de interpreteerbare baseline van 0,668 en het collegiaal getoetste praktijkcijfer van 83,4 procent staat. Zo kan iedereen precies zien waar we staan en dat we niet het theoretische lab-maximum claimen.

Het modelbenchmarkpaneel van de demo: MWIR 1D-CNN 0,894, piekverhoudingsregel 0,668, praktijkbenchmark 0,834, en gecontroleerde baal voldoet in 85 procent aan APR vergeleken met 23 procent ongecontroleerd over 40 willekeurige balen
Het benchmarkpaneel op een apart gehouden zware stroom. Onze 1D-CNN op 0,894 staat naast de regel-baseline van 0,668 en het collegiaal getoetste praktijkgetal van 0,834 (RCR, jan. 2026), niet het labcijfer van ~99 procent. Daaronder het duurzame bewijs: over 40 willekeurige balen voldoet de gecontroleerde baal in circa 85 procent van de gevallen aan APR Grade A, tegenover ongeveer 22,5 procent voor naïeve argmax (door het paneel afgerond op 23).

Het paneel toont het getal dat er werkelijk toe doet, en dat is niet de nauwkeurigheid. Over 40 willekeurige balen uit een zware stroom voldoet de gecontroleerde baal in ongeveer 85 procent van de gevallen aan APR Grade A, terwijl de ongecontroleerde baal daar slechts in circa 22,5 procent van de gevallen aan voldoet. Lees die twee bewijspunten zorgvuldig, want het zijn verschillende metingen en ik houd ze bewust uit elkaar: de vergelijking tussen 99,2 en 94,2 betreft één specifieke baal op demo-seed 11, en de 85 tegenover 22,5 is het geaggregeerde resultaat over 40 willekeurige balen. De individuele baal is de aanschouwelijke versie, het geaggregeerde getal is de eerlijke versie, en het verhaal klopt alleen omdat beide in dezelfde richting wijzen. Een model met 0,894 leidt tot een baal die meestal slaagt, of tot een baal die meestal faalt — volledig afhankelijk van de vraag of de poort actief is.

Wat ik niet langer probeerde te upsellen

Ik bouwde het rekengedeelte zo op dat het inging tegen mijn eigen factuur, en dat verraste me meer dan het had gemoeten. De wiskunde achter de latentie is eenvoudig: de verplaatsing van de luchtstoot is gelijk aan de bandsnelheid vermenigvuldigd met de latentie van detectie tot afvuren, en de architectuur voldoet alleen wanneer die luchtstoot niet meer dan ongeveer vier spuitmondafstanden beslaat — smal genoeg om de zuiverheid te handhaven. Bij de 3,0 meter per seconde van de installatie produceert een geoptimaliseerde edge-GPU (een Jetson AGX Orin die TensorRT draait op 14 milliseconden) een luchtstoot van 42 millimeter die circa 3,4 spuitmondafstanden beslaat, ruim binnen het venster. De engine raadt dus de GPU aan en stelt klip-en-klaar dat een FPGA bij deze bandsnelheid niet te rechtvaardigen is, wat zo'n 32.000 euro en 20 weken aan engineering bespaart. Voer de bandsnelheid op tot boven circa 3,6 meter per seconde en de GPU-luchtstoot overschrijdt de grens van vier spuitmonden; pas dan schakelt het advies om naar een FPGA. Het systeem raadt de goedkopere hardware aan zodra de fysica dat toelaat, ook al levert de FPGA een hogere factuur op. Ik wilde geen demo die elke koper richting de duurste optie duwt, dus maakte ik de goedkopere aanbeveling het standaardgedrag en zette ik de redenering op het scherm.

Het onderdeel dat een beter model overleeft

Ik heb geen sorteermachine gebouwd, en ik wil daar zorgvuldig in zijn, want men zou dit gemakkelijk kunnen opvatten als de claim dat we TOMRA, Steinert of Machinex gaan vervangen. Dat is een verkeerde interpretatie. Assay bevindt zich stroomafwaarts van je primaire NIR-sortering als een leveranciersonafhankelijk zijbandstation: het analyseert het zwart-rijke residu dat die sortering al heeft afgekeurd, en laat de machine daarvóór met rust. En de toegevoegde waarde is geen getal dat veroudert naarmate modellen verbeteren. Bij elke baal hoort een ondertekend certificaat, gehasht met sha256, waarop de gemeten samenstelling staat, elke APR-clausule gecontroleerd met geslaagd of gezakt, de hash van het model, het aantal onthoudingen en afkeuringen en de teruggewonnen tonnage. Dat bewijsdocument is wat een installatie officieel kan archiveren.

Het is nu belangrijker dan vijf jaar geleden, om een heel specifieke regelgevende reden. Nu de PPWR van de EU (Verordening 2025/40), SB 54 in Californië en het RecyClass-kader van kracht worden, telt verpakking met carbon black alleen als recyclebaar waar daadwerkelijk MWIR-geschikte sortering in de faciliteit aanwezig is (WP45-onderzoek, 2026). Dat is geen conformiteitsclaim over deze demo; het certificaat is archiveerbaar bewijs van zuiverheid, geen conformiteitsstempel. Het biedt context voor waarom het speelveld verschuift. In die wereld wint de installatie die een auditor voor elke geleverde baal een certificeerbaar bewijs kan overhandigen, niet degene met de hoogste benchmark op een presentatieslide. Vertrouwen aan een sorteerlijn moet deterministisch zijn, en het deterministische deel is precies het deel dat zich niet binnen de classifier bevindt.

En als je liever ziet hoe een goed model een afgekeurde baal levert dan dat je mijn beschrijving leest: hier draait het hele systeem van begin tot eind.

Als je wilt zien hoe een goed model een afgekeurde baal levert, en vervolgens met één schakelaar wilt zien hoe het een goedgekeurde baal levert: de demo staat op https://veriprajna.com/demos/materials-recovery-ai, en draait dezelfde stroom in beide standen zodat de poort het enige is dat verandert. Ik begon dit project met het idee dat het moeilijke probleem was om het zwarte plastic te zien. Dat zien kostte een week spectroscopie en een klein netwerk. Bewijzen dat wat ik terugwon daadwerkelijk zuiver was, en bereid zijn om te onthouden, af te keuren en luidruchtig te falen wanneer dat niet zo was, kostte al het overige daarna.

Gerelateerd onderzoek

Ook gepubliceerd op

Bouw uw AI met vertrouwen.

Werk samen met een team met diepgaande ervaring in het bouwen van de volgende generatie enterprise-AI. Laat ons u helpen bij het ontwerpen, bouwen en implementeren van een AI-strategie waarop u kunt vertrouwen.

Veriprajna Deep Tech-adviesbureau is gespecialiseerd in het bouwen van veiligheidskritische AI-systemen voor de gezondheidszorg, de financiële sector en gereguleerde domeinen. Onze architecturen worden gevalideerd aan de hand van gevestigde protocollen met uitgebreide compliancedocumentatie.