15 Mar 2013
In the real-world, product variations in flat printed materials through to patterned textiles are to be expected. Many products are simply not manufactured, reproduced or printed with the necessary fidelity to be tested against a 'golden template' of a single known good part for quality assurance purposes. Rather than using a single golden template, CVB Flex Inspect uses the latest in machine learning research to build a complex appearance model of good examples on-the-fly during training.
This appearance model captures the permitted variations in the training set whilst in 'Learn' mode. Then, when in 'Verify' mode, CVB Flex Inspect is able to compare the test images with this flexible internal model of allowable appearances, to give a quality metric and/or difference image. This means that the vision developer does not have to spend a long time writing specific inspection code to cope with all the variations that are allowable in a template.
The tool learns what is expected whilst training and also offers the ability to visualise the acceptable distortion of the product using "imagination" mode. By visualising a range of possible images, the operator has confidence in what the system has learnt and what it will accept. If it sees something that it has not seen before, the tool will let the operator know and the operator can choose to allow the variation (add it to the model) or reject the part.
CVB Flex Inspect also includes a deformable template alignment tool to allow easy alignment of the test image to the template model. This simplifies use by dealing with gross changes in the position and scale of the objects without the need to manually select alignment markers. For applications where this automatic alignment is insufficient, CVB Flex Inspect can accept pre-aligned images, providing design flexibility for the developer.
CVB Flex Inspect is available as a CVB Premium tool and requires either CVB Image Manager or CVB Foundation for use. A Teledyne DALSA Sherlock plug-in is also available for the tool to allow its use without programming capability.