Automatische beeld sampler – hoge precieze, direct aanstuurbaar vanuit Python, OpenCV en Grbl G-Code – toegepast voor TensorFlow machine learning

24 februari 2022

Vandaag is het me gelukt om door Python gecontroleerd werkend prototype van een volledig geautomatiseerde positioneerbare microscoop – beeld scanner te realiseren. Ik kan gewenste ‘xy-spot-posities’ over een gebied van 70x70mm opgeven in een standaard Excel-sheet, de beeld sampler maakt vervolgens volledig automatisch gelabelde beeldscans en plaatst deze in een map waar de watch-dog ze doorplaatst naar TensorFlow voor machine learning toepassing. Geautomatiseerd en repeteerbaar scannen – met machine learning worden specifieke patronen en vormen herkend en kan met geautomatiseerd tellen betrouwbare kwantitatieve informatie worden verzameld voor verdere analyse. Toepassingen zijn onbegrensd, maar ik zie vooral toepassingen in agri & food, metaal, chemie en medische industrie.

Enige tijd geleden heb ik de hand weten te leggen op een Prior Scientific HT1010 ProScan II Motorized Stage System. Deze XY tray heeft een hoge lineare precisie van 0.1 μm. Ik heb de gedateerde aanstuur elektronica zelf vervangen door een open source Arduino GRBL controller met twee TD6600 drivers. In Python heb ik programmacode geschreven waarmee de ‘spot-locaties’ uit de Excel sheet worden opgehaald, omgezet naar g-code en de XY tray repeteerbaar en exact op 0.1 μm positioneert. Vervolgens stuurt Python met OpenCV een image capture proces aan en voorziet de image van imprinted x-y coordinaten en een omschrijving van het object en het image#.

De foto’s worden ingelezen met EdgeImpulse in TensorFlow voor het trainen van het TinyML neuraal network. Vervolgens wordt anomaly detection om de images realtime to beoordelen op afwijkingen. Ook het herkennen en tellen van het aantal objecten welke voorkomen in een image behoort tot de mogelijkheden, waarbij onderscheid gemaakt kan worden tussen verschillende soorten. Denk hierbij bijvoorbeeld aan fruitvliegen, bacteriën, vlekken, beschadigingen, pigmenten, fluorescentie, stofdeeltjes en snijranden.

Door het correct trainen en dimensioneren van het TensorFlow model kan ik zo geautomatiseerd een Excel sheet samenstellen waarin met hoge nauwkeurigheid aangegeven wordt op welke xy-coordinaten zich de afwijkingen exact bevinden.