BE1026846A1 - Werkwijze voor het automatiseren van een controlesignaal gedurende het trainen van een neuraal netwerk met een barcode scan - Google Patents

Werkwijze voor het automatiseren van een controlesignaal gedurende het trainen van een neuraal netwerk met een barcode scan Download PDF

Info

Publication number
BE1026846A1
BE1026846A1 BE20195906A BE201905906A BE1026846A1 BE 1026846 A1 BE1026846 A1 BE 1026846A1 BE 20195906 A BE20195906 A BE 20195906A BE 201905906 A BE201905906 A BE 201905906A BE 1026846 A1 BE1026846 A1 BE 1026846A1
Authority
BE
Belgium
Prior art keywords
data
image
neural network
scan data
image scan
Prior art date
Application number
BE20195906A
Other languages
English (en)
Other versions
BE1026846B1 (nl
Inventor
Sajan Wilfred
Robert James Pang
Christopher J Fjellstad
Przemyslaw Kowalewski
Original Assignee
Zebra Tech Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zebra Tech Corp filed Critical Zebra Tech Corp
Publication of BE1026846A1 publication Critical patent/BE1026846A1/nl
Application granted granted Critical
Publication of BE1026846B1 publication Critical patent/BE1026846B1/nl

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K17/00Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations
    • G06K17/0022Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations arrangements or provisious for transferring data to distant stations, e.g. from a sensing device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/254Fusion techniques of classification results, e.g. of results related to same input data
    • G06F18/256Fusion techniques of classification results, e.g. of results related to same input data of results relating to different input data, e.g. multimodal recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/80Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
    • G06V10/809Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of classification results, e.g. where the classifiers operate on the same input data
    • G06V10/811Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of classification results, e.g. where the classifiers operate on the same input data the classifiers operating on different input data, e.g. multi-modal recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/98Detection or correction of errors, e.g. by rescanning the pattern or by human intervention; Evaluation of the quality of the acquired patterns
    • G06V10/993Evaluation of the quality of the acquired pattern
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/10544Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
    • G06K7/10821Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices
    • G06K7/10861Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices sensing of data fields affixed to objects or articles, e.g. coded labels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/146Methods for optical code recognition the method including quality enhancement steps
    • G06K7/1482Methods for optical code recognition the method including quality enhancement steps using fuzzy logic or natural solvers, such as neural networks, genetic algorithms and simulated annealing

Abstract

Technieken worden verschaft voor het trainen van een neuraal netwerk, de technieken omvattende het ontvangen van beeldscandata van een object, zoals een product of pakket gepresenteerd aan een scanstation, waarbij de beeldscandata een beeld omvatten die ten minste één indicia omvat die overeenkomt met het object en fysieke kenmerken van het object. Een neuraal netwerk onderzoekt de fysieke kenmerken en bepaalt een weging die een correlatiesterkte tussen het fysieke kenmerk en een identificatiedata van het object aangeeft. Daardoor wordt een neuraal netwerk getraind om objecten te identificeren op basis van hun gescande fysieke kenmerken in plaats van of samen met gescande indiciadata.

Description

WERKWIJZE VOOR HET AUTOMATISEREN VAN EEN CONTROLESIGNAAL GEDURENDE HET TRAINEN VAN EEN NEURAAL NETWERK MET EEN BARCODE SCAN
ACHTERGROND VAN DE UITVINDING
Dankzij toenemende rekenkracht worden convolutie neurale netwerken (CNN's) gebruikt voor objectherkenning in vastgelegde beelden. Om een CNN effectief te laten zijn, moeten de invoerbeelden van een voldoende hoge kwahteit zijn, is er behoefte aan correctheid in training, en moeten de lagen en complexiteit van het neurale netwerk zorgvuldig worden gekozen.
Doorgaans ondergaan CNN's begeleide training, waarbij informatie over de invoerbeelden naar het CNN wordt gespecificeerd door een bron, meestal door een mens. Het is te zeggen dat er, bij begeleide training, meestal iemand aan het CNN moet aangeven, wat er zich feitelijk in de invoerbeelden bevindt. Omdat een typische training een groot aantal invoerbeelden vereist - hoe groter het aantal trainingsbeelden, bijvoorbeeld, hoe effectiever de CNN-training, in het algemeen - is begeleide training een tijdrovend proces. Dit is met name het geval in omgevingen waar beelden niet gestandaardiseerd zijn, bijvoorbeeld waar beelden die over hetzelfde algemene object of scène lijken te gaan enorm verschillende, nietgerelateerde objecten kunnen omvatten. Een ander probleem met begeleide trainingsvereisten voor CNN is het ontbreken van voldoende aantallen trainingsinvoerbeelden van een object, of een onbalans in het aantal trainingsbeelden, waardoor bepaalde objecten vaker worden weergegeven in een beeldvormende trainingset dan andere objecten, en dus mogelijk de training van het CNN vervormt.
CNN-training is met name lastig in winkelomgevingen, waar geen bekende beelden (of beeldendatabases) zijn voor veel van de artikelen waaraan een stockbeheereenheid (Stock Keeping Unit - SKU) is toegewezen.
BE2019/5906
Een van de opvallende manieren waardoor het gebrek aan voldoende CNN-trainingstechnieken voor winkelproducten duidelijk wordt, is met betrekking tot spoofen. Spoofen is een proces waarbij een klant of verkoopmedewerker probeert een item af te handelen op een barcodescanningstation, niet door de barcode van het werkelijke item te scannen, maar door de barcode van het werkelijke item te maskeren met een barcode van een goedkoper artikel. Het goedkopere artikel wordt langs het verkooppunt gewrongen en de klant betaalt de overeenkomstige prijs van het goedkopere artikel, de werkelijke kosten van het artikel vermijdend.
Dienovereenkomstig is er behoefte aan technieken voor het automatiseren van neurale netwerktraining om barcodescanning nauwkeurig te gebruiken.
SAMENVATTING VAN DE UITVINDING
Volgens een aspect van de uitvinding is een computer geïmplementeerde werkwijze voorzien voor het trainen van een neuraal netwerk, de werkwijze omvattende het ontvangen, aan één of meer processoren, van beeldscandata, waarin de beeldscandata van een object zijn en fysieke kenmerken van het object omvatten en waarbij de beeldscandata ten minste één indicia overeenkomstig met het object en gedecodeerde indiciadata voor het bepalen van een identificatiedata van het object omvatten, het verkrijgen, aan de één of meer processoren, van de identificatiedata van het object, het correleren, aan de één of meer processoren, van ten minste een deel van de beeldscandata met de identificatiedata van het object resulterend in een gecorreleerde dataset, het overbrengen, aan de één of meer processoren, van de gecorreleerde dataset naar een neuraal netwerkkader, en, aan het neurale netwerkkader, het onderzoeken van ten minste een aantal van de fysieke kenmerken van het object in de gecorreleerde dataset, het bepalen van een gewicht voor elk van de ten minste een aantal van de fysieke kenmerken van het object, waarbij elk gewicht een relatieve indicatie is van een correlatiesterkte tussen de
BE2019/5906 fysieke kenmerken en de identificatiedata van het object, en het genereren of het updaten van het neurale netwerk met de bepaalde gewichten.
De computer geïmplementeerde werkwijze kan voorts het afleiden omvatten, aan het neurale netwerk, van een set karakteristieken van fysieke kenmerken voor het object op basis van de bepaalde gewichten.
De ten minste ene indicia kan een barcode, een universele productcode, een snelleescode, radiofrequentie-identificatiecode of combinaties daarvan zijn.
De beeldscandata kan een set beeldframes omvatten die zijn vastgelegd van het object en van de ten minste ene indicia.
De set beeldframes die zijn vastgelegd van het object en van ten minste ene indicia kunnen ontvangen zijn van ten minste twee of meer beeldvormers en kunnen vastgelegd zijn onder verschillende hoeken.
De computer geïmplementeerde werkwijze kan voorts het bepalen omvatten, aan de één of meer processoren, van een productcode geassocieerd met een product als de identificatiedata voor het object.
De computer geïmplementeerde kan voorts, aan het neurale netwerkkader, het bepalen omvatten of het object herkend door de fysieke kenmerken van beelddataset niet overeenkomt met de identificatiedata die bepaald zijn uit de ten minste ene indicia.
Het neurale netwerk kan een convolutioneel neuraal netwerk zijn.
De computer geïmplementeerde werkwijze kan voorts omvatten, aan het neurale netwerkkader, het ontvangen van volgende beeldscandata omvattende een beelddataset met een veelvoud aan beeldframes die elk objectbeelddata omvatten, het vergelijken van de volgende beeldscandata met getrainde beeldscandata en het identificeren van objectbeelddatavariaties in de volgende beeldscan, en het updaten van het neurale netwerk met de objectbeelddatavariaties.
De computer geïmplementeerde werkwijze kan voorts omvatten, aan het neurale netwerkkader, het ontvangen van volgende beeldscandata
BE2019/5906 omvattende een beelddataset met een veelvoud aan beeldframes die elk objectbeelddata en achtergrondbeelddata omvatten, het vergelijken van de volgende beeldscandata met getrainde beeldscandata, het identificeren van de objectbeelddata en de achtergrondbeelddata, het verwijderen van de achtergrondbeelddata en het genereren van een objectbeelddataset met verwijderde achtergrond, en het trainen van het neurale netwerk met de objectbeelddataset met verwijderde achtergrond.
De computer geïmplementeerde werkwijze kan voorts het trainen omvatten van het neurale netwerkkader om achtergrondbeelddata te herkennen in beeldscandata.
De achtergrondbeelddata kan handbeelddata omvatten.
Volgens een ander aspect van de uitvinding is een systeem voorzien voor het trainen van een neuraal netwerk, het systeem omvattende een server communicatief gekoppeld, via een communicatienetwerk, aan één of meer objectscanners, waarbij de server één of meer processoren en één of meer geheugens omvat, de server geconfigureerd voor het ontvangen van beeldscandata van de één of meer objectscanners, via het communicatienetwerk, waarin de beeldscandata van een object zijn en fysieke kenmerken van het object omvatten en waarbij de beeldscandata ten minste één indicia overeenkomstig met het object en gedecodeerde indiciadata voor het bepalen van een identificatiedata van het object omvatten, het verkrijgen van de identificatiedata voor het object bepaald uit de gedecodeerde indiciadata, het correleren van ten minste een deel van de beeldscandata met de identificatiedata voor het object resulterend in een gecorreleerde dataset, en het ontvangen van de gecorreleerde dataset naar een neuraal netwerkkader in de server, en aan het neurale netwerkkader, het onderzoeken van ten minste een aantal van de fysieke kenmerken van het object in de gecorreleerde dataset, het bepalen van een gewicht voor elk van de ten minste een aantal van de fysieke kenmerken van het object, waarbij elk gewicht een relatieve indicatie is van een correlatiesterkte
BE2019/5906 tussen de fysieke kenmerken en de identificatiedata van het object, en het genereren of updaten van het neurale netwerk met de bepaalde gewichten.
De server kan geconfigureerd zijn om af te leiden, aan het neurale netwerk, een set karakteristieken van fysieke kenmerken voor het object op basis van de bepaalde gewichten.
De ten minste ene indicia kan een barcode, een universele productcode, een snelleescode, radiofrequentie-identificatiecode of combinaties daarvan zijn.
De beeldscandata kunnen een set van beeldframes omvatten die zijn vastgelegd van het object en van de ten minste ene indicia.
De set beeldframes die zijn vastgelegd van het object en van ten minste één indicia kunnen zijn vastgelegd onder verschillende hoeken.
De server kan geconfigureerd zijn om te bepalen, een productcode geassocieerd met een product als de identificatiedata voor het object.
De server kan geconfigureerd zijn om, aan het neurale netwerkkader, te detecteren of het object herkend door de fysieke kenmerken van de beelddataset niet overeenkomt met de identificatiedata bepaald uit de ten minste ene indicia.
De server kan geconfigureerd zijn om de ten minste ene indiciadata in de beeldscandata te identificeren en de locatie van de ten minste ene indiciadata in de beeldscandata te identificeren.
KORTE BESCHRIJVING VAN DE VERSCHILLENDE AANZICHTEN VAN DE TEKENINGEN
De bijbehorende figuren, waar dezelfde verwijzingscijfers verwijzen naar identieke of functioneel vergelijkbare elementen doorheen de afzonderlijke aanzichten, samen met de gedetailleerde beschrijving hieronder, zijn opgenomen in en maken deel uit van de specificatie, en dienen om uitvoeringsvormen van concepten die de geclaimde uitvinding omvatten voorts te illustreren en verklaren verschillende principes en voordelen van die uitvoeringsvormen.
BE2019/5906
Fig. 1 is een blokdiagramschema van een systeem met een trainingsmodus voor het trainen van een neuraal netwerk en een spoofdetectiemodus voor het detecteren van een poging tot autorisatietransactie, in overeenstemming met enkele uitvoeringsvormen.
Fig. 2 is een schema van een voorbeeldtraining van een neuraal netwerk voor spoof-detectie, in overeenstemming met een voorbeeld.
Fig. 3 is een schema van een andere voorbeeldtraining van een neuraal netwerk met detectie en verwijdering van achtergrondbeelddata, in overeenstemming met een voorbeeld.
Fig. 4 is een schema van een voorbeeldtraining van een neuraal netwerk op basis van bepaalde variaties op eerder getrainde beelddata, in overeenstemming met een voorbeeld.
Fig. 5 is een schema van een voorbeeldtraining van een neuraal netwerk, in overeenstemming met een voorbeeld.
Fig. 6 is een flowchart van een werkwijze voor het trainen van een neuraal netwerk dat uitgevoerd kan worden door het systeem van Fig. 1, in overeenstemming met enkele uitvoeringsvormen.
Fig. 7 is een flowchart van een andere werkwijze voor het trainen van een neuraal netwerk dat uitgevoerd kan worden door het systeem van Fig. 1, in overeenstemming met enkele uitvoeringsvormen.
Fig. 8 is een flowchart van een werkwijze voor het detecteren van een poging tot spoofen op het verkooppunt van Fig. 1 en het genereren van een alarm, in overeenstemming met enkele uitvoeringsvormen.
Fig. 9 is een flowchart van een werkwijze voor het detecteren van een poging tot spoofen op het verkooppunt van Fig. 1 en het overschrijven en het autoriseren van een secundaire transactie, in overeenstemming met enkele uitvoeringsvormen.
De vakman zal waarderen dat elementen in de figuren worden geïllustreerd voor eenvoud en duidelijkheid en niet noodzakelijkerwijs op schaal zijn getekend. De afmetingen van sommige elementen in de figuren
BE2019/5906 kunnen bijvoorbeeld overdreven zijn ten opzichte van andere elementen om het begrijpen van uitvoeringsvormen van de onderhavige uitvinding te verbeteren.
De inrichting- en de werkwijzecomponenten zijn, indien van toepassing weergegeven door conventionele symbolen in de tekeningen, die alleen die specifieke details tonen die relevant zijn voor het begrijpen van de uitvoeringsvormen van de onderhavige uitvinding om de openbaring niet te overschaduwen met details die voor de vakman duidelijk zullen zijn dat ze het voordeel van de gegeven beschrijving hebben.
GEDETAILLEERDE BESCHRIJVING VAN DE UITVINDING
De onderhavige uitvinding verschaft technieken om naadloos beelden van een product te maken en die beelden te scannen op een barcode, evenals die beelden te scannen op fysieke kenmerken van een object in het beeld. De barcodedata, eenmaal gescand en geanalyseerd, kunnen worden vergeleken met de fysieke kenmerken die voor een object zijn verkregen, en de data kunnen worden vergeleken om te bepalen of de twee soorten data overeenkomen met hetzelfde object.
In verschillende uitvoeringsvormen is de onderhavige uitvinding een werkwijze voor het trainen van een neuraal netwerk. De werkwijze, die een computer geïmplementeerde werkwijze is die op één of meer processoren is geïmplementeerd, kan het ontvangen, aan één of meer processoren, van beeldscandata omvatten. Die beeldscandata kunnen van een object zijn, zoals een product of pakket gepresenteerd aan een verkooppunt, distributielocatie, verzendlocatie, enz. De beeldscandata kunnen worden verzameld door een beeldvormende inrichting zoals, bijvoorbeeld, een barcodescanner met beeldvormende lezer, of een beeldvormende lezer met een RFID-taglezer (radiofrequentie-identificatie). De beeldscandata kunnen een beeld omvatten dat ten minste één indicia omvat overeenkomstig met het object, evenals met fysieke kenmerken van het object. De indicia kunnen bijvoorbeeld een barcode, een universele productcode, een snelleescode of
BE2019/5906 combinaties daarvan zijn. In verscheidene voorbeelden omvat de werkwijze voorts het ontvangen, aan de één of meer processoren, van gedecodeerde indiciadata voor het bepalen van identificatiedata voor het object.
De werkwijze kan voorts het correleren omvatten, aan de één of meer processoren, van ten minste een deel van de beeldscandata met die identificatiedata om een gecorreleerde dataset te genereren. In verscheidene voorbeelden omvat de werkwijze het overbrengen, aan de één of meer processoren, van de gecorreleerde dataset naar een kader voor machinaal leren, zoals een neuraal netwerk, dat een aantal bewerkingen op de gecorreleerde dataset kan uitvoeren. In sommige voorbeelden onderzoekt het neurale netwerk ten minste een aantal van de fysieke kenmerken van het object in de gecorreleerde dataset en bepaalt het een gewicht voor elk van die fysieke kenmerken. Deze gewichten zijn een relatieve indicatie van een correlatiesterkte tussen het fysieke kenmerk en de identificatiedata van het object. De werkwijze omvat voorts het genereren of het updaten van het neurale netwerk met de bepaalde gewichten voor het beoordelen van toekomstige beelddata tegen de gewogen kenmerken.
Op deze manier zijn verscheidene voorbeelden werkwijzen voorzien voor het trainen van een neuraal netwerk om een object te kunnen identificeren en authentiseren op basis van fysieke kenmerken van het object met een hoge mate van zekerheid. De identificatie van een object op basis van deze fysieke kenmerken kan vervolgens worden vergeleken met een tweede identificatie die wordt uitgevoerd op basis van een gescand indicia. Deze twee identificaties kunnen met elkaar worden vergeleken om een multi-factor authenticatie van het gescande object te verschaffen voor het identificeren van onjuiste scans, zoals spoof-pogingen aan een verkooppunt.
In sommige voorbeelden omvat de werkwijze voorts het updaten door het neurale netwerk van een set kenmerken voor het object met de gewichten voor ten minste een aantal van de fysieke kenmerken; en het
BE2019/5906 afleiden van een set karakteristieken van fysieke kenmerken voor het object op basis van de set kenmerken.
In andere voorbeelden omvat de onderhavige uitvinding een systeem voor het trainen van een neuraal netwerk. Het systeem kan een server omvatten communicatief gekoppeld, via een communicatienetwerk, aan één of meer objectscanners, zoals één of meer barcodescanners met beeldvormende lezers of een beeldvormende lezer met RFID-taglezer (radiofrequentie-identificatie). De server kan geconfigureerd zijn voor het ontvangen van beeldscandata van de objectscanner, via het communicatienetwerk, waarbij de beeldscandata van een object zijn en waarbij de beeldscandata ten minste één indicia omvatten overeenkomstig met het object en waarbij de beeldscandata voorts fysieke kenmerken van het object omvatten. De server kan voorts geconfigureerd zijn voor het ontvangen van gedecodeerde indiciadata en het bepalen van identificatiedata voor het object te bepalen. De server kan ten minste een deel van de beeldscandata correleren met de identificatiedata voor het object resulterend in een gecorreleerde dataset; en de server kan de gecorreleerde dataset ontvangen naar een neuraal netwerkkader in de server. Het neurale netwerkkader kan ten minste een aantal van de fysieke kenmerken voor het object in de gecorreleerde dataset onderzoeken en een gewicht bepalen voor elk van de ten minste een aantal van de fysieke kenmerken van het object, waarbij elk gewicht een relatieve indicatie is van een correlatie sterkte tussen het fysieke kenmerk en de identificatiedata van het object. Het neurale netwerkkader kan vervolgens een getraind netwerkmodel genereren of updaten met de bepaalde gewichten.
In sommige voorbeelden omvat de onderhavige uitvinding een computer geïmplementeerde werkwijze voor het detecteren van spoofen. De werkwijze omvat het ontvangen, aan één of meer processoren, van beeldscandata, waarbij de beeldscandata van een object zijn en fysieke kenmerken van het object omvatten en waarbij de beeldscandata ten minste
BE2019/5906 één indicia omvatten overeenkomstig met het object en gedecodeerde indiciadata voor het bepalen van een eerste identificatiedata voor het object. De werkwijze omvat voorts het bijsnijden, aan één of meer processoren, van de beeldscandata om de ten minste ene indicia uit de beeldscandata te verwijderen om een beeldscandata met verwijderde indicia te genereren; en het verschaffen, aan de één of meer processoren, van de beeldscandata met verwijderde indicia aan een neuraal netwerk voor het onderzoeken van de fysieke kenmerken van het object in de beeldscandata met verwijderde indicia en het bepalen van een tweede identificatiedata op basis van de fysieke kenmerken. De werkwijze omvat voorts het bepalen, aan het neurale netwerk, van een overeenkomstvoorspelling van de beeldscandata met verwijderde achtergrond op basis van een vergelijking van de eerste identificatiedata met de tweede identificatiedata; en in reactie op de bepaling van de overeenkomstvoorspelling die een overeenkomst aangeeft, het genereren van een authenticatiesignaal, en in reactie op de bepaling van de overeenkomstvoorspelling die geen overeenkomst aangeeft, het genereren van een alarmsignaal.
In andere voorbeelden omvat de onderhavige uitvinding een systeem voor het detecteren van spoofen. Het systeem omvat een server die communicatief is gekoppeld, via een communicatienetwerk, aan één of meer objectscanners, waarbij de server één of meer processoren en één of meer geheugens omvat. De server kan geconfigureerd zijn voor: aan één of meer processoren en van één van de objectscanners, het ontvangen van beeldscandata te ontvangen, waarbij de beeldscandata van een object zijn en fysieke kenmerken van het object omvatten en waarbij de beeldscandata ten minste één indicia omvatten corresponderend met het object en gedecodeerde indiciadata voor het bepalen van een eerste identificatiedata voor het object; en bij de één of meer processoren de beeldscandata bij te snijden om de ten minste ene indicia uit de beeldscandata te verwijderen om een beeldscandata met verwijderde indicia te genereren. De server kan
BE2019/5906 voorts geconfigureerd zijn voor, aan de één of meer processoren, het verschaffen van de beeldscandata met verwijderde indicia aan een neuraal netwerk voor het onderzoeken van de fysieke kenmerken van het object in de beeldscandata met verwijderde indicia en het bepalen van een tweede identificatiedata op basis van de fysieke kenmerken; aan het neurale netwerk, het bepalen van een overeenkomstvoorspelling van de beeldscandata met verwijderde indicia op basis van een vergelijking van de eerste identificatiedata met de tweede identificatiedata. De server kan voorts zijn geconfigureerd voor, in reactie op de bepaling van de overeenkomstvoorspelling die een overeenkomst aangeeft, het generen van een authenticatiesignaal, en in reactie op de bepaling van de overeenkomstvoorspelling die geen overeenkomst aangeeft, het generen van een alarmsignaal.
In sommige voorbeelden omvat de onderhavige uitvinding een andere computer geïmplementeerde werkwijze voor het detecteren van spoofen. Die werkwijze omvat het ontvangen, aan één of meer processoren, van beeldscandata, waarbij de beeldscandata van een object zijn en fysieke kenmerken van het object omvatten en waarbij de beeldscandata ten minste één indicia omvatten die overeenkomt met het object en gedecodeerde indiciadata voor het bepalen van een eerste identificatiedata voor het object; en het bijsnijden, aan de één of meer processoren, van de beeldscandata om de ten minste ene indicia uit de beeldscandata te verwijderen om een beeldscandata met verwijderde indicia te genereren. De werkwijze omvat voorts het verschaffen, aan de één of meer processoren, van de beeldscandata met verwijderde indicia aan een neuraal netwerk voor het onderzoeken van de fysieke kenmerken van het object in de beeldscandata met verwijderde indicia en het bepalen van een tweede identificatiedata op basis van de fysieke kenmerken; en het bepalen, aan het neurale netwerk, van een overeenkomstvoorspelling van de beeldscandata met verwijderde indicia op basis van een vergelijking van de eerste identificatiedata met de
BE2019/5906 tweede identificatiedata. Deze werkwijze omvat voorts, in reactie op de bepaling van de overeenkomstvoorspelling die een overeenkomst aangeeft, het genereren van een eerste authenticatiesignaal, en in reactie op de bepaling van de overeenkomstvoorspelling die geen overeenkomst aangeeft, het genereren van een tweede authenticatiesignaal dat anders is dan het eerste authenticatiesignaal. De werkwijze kan bijvoorbeeld het bepalen van een prioriteitsverschil tussen de eerste identificatiedata en de tweede identificatiedata omvatten; en het genereren omvatten van het tweede authenticatiesignaal als een signaal dat een transactie authentiseert die overeenkomt met welke van de eerste identificatiedata en de tweede identificatiedata de hoogste prioriteit heeft. De werkwijze kan voorts het identificeren omvatten van een prioriteitsheuristiek; het bepalen omvatten van een prioriteitsverschil tussen de eerste identificatiedata en de tweede identificatiedata op basis van de prioriteitsheuristiek; en het genereren omvatten van het tweede authenticatiesignaal als een signaal dat een transactie authentiseert die overeenkomt met welke van de eerste identificatiedata en de tweede identificatiedata de hogere prioriteit heeft op basis van de prioriteitsheuristiek.
In sommige voorbeelden omvat de onderhavige uitvinding een systeem voor het detecteren van spoofen, waarbij dat systeem een server omvat die communicatief is gekoppeld, via een communicatienetwerk, aan één of meer objectscanners, waarbij de server één of meer processoren en één of meer geheugens omvat. De server is geconfigureerd voor, aan één of meer processoren, het ontvangen van beeldscandata, waarbij de beeldscandata van een object zijn en fysieke kenmerken van het object omvatten en waarbij de beeldscandata ten minste één indicia overeenkomstig met het object en gedecodeerde indiciadata voor het bepalen van een eerste identificatiedata voor het object omvatten; aan de één of meer processoren, het bijsnijden van beeldscandata om de ten minste ene indicia uit de beeldscandata te verwijderen om een beeldscandata met
BE2019/5906 verwijderde indicia te genereren; en, aan de één of meer processoren, het verschaffen van de beeldscandata met verwijderde indicia naar een neuraal netwerk voor het onderzoeken van de fysieke kenmerken van het object in de beeldscandata met verwijderde indicia en het bepalen van een tweede identificatiedata op basis van de fysieke kenmerken. De server is voorts geconfigureerd voor, aan het neurale netwerk, het bepalen van een overeenkomstvoorspelling van de beeldscandata met verwijderde indicia op basis van een vergelijking van de eerste identificatiedata met de tweede identificatiedata; en in reactie op de bepaling van de overeenkomstvoorspelling die een overeenkomst aangeeft, het generen van een eerste authenticatiesignaal, en in reactie op de bepaling van de overeenkomstvoorspelling die geen overeenkomst aangeeft, het genereren van een tweede authenticatiesignaal dat verschilt van het eerste authenticatiesignaal, in een op dezelfde manier als de hierboven en hieronder beschreven werkwijze.
Fig. 1 illustreert een voorbeeldomgeving waarin uitvoeringsvormen van de onderhavige uitvinding geïmplementeerd kunnen zijn. In het onderhavige voorbeeld is de omgeving verschaft in de vorm van een faciliteit met een scanlocatie 100 waar verschillende goederen kunnen worden gescand voor het trainen van een neuraal netwerk tijdens een trainingsmodus en / of voor het scannen van objecten voor aankoop door een klant tijdens een scanauthenticatiemodus. In een voorbeeld is de scanauthenticatiemodus een spoof-detectiemodus.
In het geïllustreerde voorbeeld omvat een verkooppuntlocatie 100 een scanstation 102 met een scanplatform 103, bijvoorbeeld een verticaal en / of horizontaal oppervlak, en een objectscanner 104 die een camera 106 en één of meer sensoren 112 omvat. De scanner 104 kan een draagbare scanner, een handsfree scanner of een veelvlakkige scanner zijn, zoals bijvoorbeeld een bioptische scanner. De camera 106 legt beeldscandata vast van een object 108 met een indicia 110, waarbij in sommige voorbeelden de
BE2019/5906 camera 106 een ID-, 2D- of 3D-beeldscanner is die in staat is het object 108 te scannen. In sommige voorbeelden kan de scanner 104 een barcodebeeldscanner zijn die een ID-barcode, een QR-code, een 3D-barcode of andere typen van de indicia 110 kan scannen, alsook beelden van het object 108 zelf kan vastleggen. In het geïllustreerde voorbeeld omvat de scanner 104 sensoren 112, die een RFID-transponder kunnen omvatten voor het vastleggen van indiciadata in de vorm van een elektromagnetisch signaal dat wordt opgevangen van de indicia 110 wanneer de indicia 110 een RFID-tag is, in plaats van een visuele indicia, zoals als een barcode.
De scanner 104 omvat ook een beeldprocessor 116 en een indiciadecoder 118. De beeldprocessor 116 kan geconfigureerd zijn voor het analyseren van vastgelegde beelden van het object 108 en het uitvoeren van voorlopige beeldverwerking, bijvoorbeeld voordat beeldscandata naar een server 120 worden verzonden. In voorbeelduitvoeringsvormen identificeert de beeldprocessor 116 de indicia 110 die zijn vastgelegd in een beeld, bijvoorbeeld door het uitvoeren van randdetectie en / of patroonherkenning, en de indiciadecoder 118 decodeert de indicia en genereert identificatiedata voor de indicia 110. De scanner 104 voegt die identificatiedata toe in de verzonden scandata.
In sommige uitvoeringsvormen kan de beeldprocessor 116 geconfigureerd zijn voor het identificeren van fysieke kenmerken van het object 108, zoals de perifere vorm van het object, de geschatte grootte van het object, een grootte van het verpakkingsgedeelte van het object, een grootte van het product in de verpakking (bijvoorbeeld in het geval van een verpakt vleeswaar of product), een relatief grootteverschil tussen een productgrootte en een verpakkingsgrootte, een kleur van het object, de verpakking en / of goed, verkooppuntgang en winkel-ID van waar het artikel is gescand, vorm van het product, gewicht van het product, variëteit van het product, met name voor fruit, en versheid van het product.
BE2019/5906
De scanner 104 omvat één of meer processoren (“μ”) en één of meer geheugens (“MEM”), waarin instructies worden opgeslagen voor uitvoering door de één of meer processoren voor het uitvoeren van verschillende hierin beschreven bewerkingen. De scanner 104 omvat voorts een zendontvanger (XVR) voor het communiceren van beeldscandata, etc. via een draadloos en / of bekabeld netwerk 114 naar een anti-spoof-server 120. De zendontvanger kan een Wi-Fi-zendontvanger omvatten voor communicatie met een beeldverwerking- en anti-spoof-server 120, in overeenstemming met een voorbeeld. In sommige voorbeelden kan de scanner 104 een draagbare inrichting zijn en een Bluetooth-zendontvanger of een andere communicatiezendontvanger omvatten. Het scanstation 102 omvat voorts een display voor het weergeven van gescande productinformatie aan een verkoopmedewerker, klant of andere gebruiker. Het scanstation 102 kan voorts een invoer apparaat omvatten voor het ontvangen van verdere instructies van de gebruiker.
In voorbeelduitvoeringsvormen heeft de beeldverwerking- en antispoof-server 120 ten minste twee bedrijfsmodi: een trainingsmodus voor het trainen van een neuraal netwerk van de server en een scanauthenticatiemodus, bijvoorbeeld een spoof-detectiemodus voor het detecteren van het onjuist scannen van een object of indicia aan het verkooppunt 100.
De server 120 omvat één of meer processoren (“μ”) en één of meer geheugens (“MEM”), waarin instructies worden opgeslagen voor uitvoering door de één of meer processoren voor het uitvoeren van verschillende hierin beschreven bewerkingen. De server 120 omvat een zendontvanger (XVR) voor het communiceren van data van en naar het scanstation 102 via het netwerk 114, met behulp van een communicatieprotocol, zoals WiFi.
De server 120 omvat een indicia-manager 122, die de identificatiedata van de ontvangen beeldscandata kan vastleggen en die vastgelegde data kan communiceren naar een inventarisbeheercontroller
BE2019/5906
124 voor het identificeren van productdata die geassocieerd zijn met de gedecodeerde indicia 110. In voorbeelden waarbij de beeldscandata geen gedecodeerde identificatiedata omvatten, kan de indicia-manager 122 de indicia-decodeerbewerkingen uitvoeren, die hierboven als uitgevoerd door de scanner 104 omschreven zijn. In andere voorbeelden kunnen één of meer van de processen geassocieerd met indicia-decodering verdeeld zijn over de scanner 104 en de server 120.
De inventarisbeheercontroller 124 neemt de ontvangen identificatiedata en identificeert karakteristieke data (ook productdata genoemd) die overeenkomen met de indicia 110 en dusdanig overeenkomen met het object 108. Dergelijke karakteristieke data kunnen objectnaam, SKU-nummer, objecttype, objectkosten, fysieke kenmerken van het object en andere informatie omvatten.
Een beeldvormende-kenmerkenbeheerder 126 ontvangt de beeldscandata van de scanner 104 en voert beeldverwerking uit om één of meer fysieke kenmerken van het object 108 te identificeren, zoals de perifere vorm van het object, de geschatte grootte van het object, een grootte van het verpakkingsgedeelte van het object, een grootte van het product in de verpakking (bijvoorbeeld in het geval van een verpakt vleeswaar of product), een relatief grootteverschil tussen een grootte van het product en een grootte van de verpakking, een kleur van het object, verpakking, en vorm van het product. In andere voorbeelden kunnen de fysieke kenmerken geheel of gedeeltelijk worden bepaald door de beeldprocessor 116 en in de beeldscandata zijn overgebracht van de scanner 104 naar de server 120.
In de voorbeelduitvoeringsvorm slaat de beeldvormendekenmerkbeheerder 126 vastgelegde fysieke kenmerken van objecten op in een beeldvormende-kenmerkendataset 128. In sommige voorbeelden bewaart de dataset 128 eerder geïdentificeerde fysieke kenmerken, gewichtsfactoren voor fysieke kenmerken en correlatiedata voor fysieke
BE2019/5906 kenmerken, door een correlatie-analysator 136 zoals hierin in meer detail wordt besproken.
De indicia-manager 122 en de beeldvormendekenmerkenbeheerder 126 zijn gekoppeld aan een neuraal netwerkkader 130 met een trainingsmodus en een spoof-detectiemodus. Zoals hierin besproken in verscheidene voorbeelden, analyseert het neurale netwerkkader 130, in een trainingsmodus, fysieke kenmerken van objecten en bepaalt het gewichten voor die fysieke kenmerken, waarbij deze gewichten een relatieve indicatie geven van hoe sterk een correlatie tussen de fysieke kenmerken en de identificatiedata van het object is. Fysieke kenmerken met hogere gewichten correleren eerder met een bepaald object (en geven daarom de waarschijnlijke aanwezigheid van dat object in toekomstige beeldscandata aan), dan fysieke kenmerken met lagere gewichten. Het neurale netwerkkader 130 kan bijvoorbeeld geconfigureerd zijn als een convolutie neuraal netwerk dat een meerlagige classificator gebruikt om elk van de geïdentificeerde fysieke kenmerken te beoordelen en voor elk respectievelijk gewichten te bepalen. Gewichtswaarden voor de fysieke kenmerken kunnen opgeslagen zijn als gewogen beelddata 132. Uit de bepaalde gewogen waarden genereert het neurale netwerkkader 130 een getraind neuraal netwerk 134 voor het classificeren van volgende beeldscandata en het identificeren van het object of de objecten daarin door het analyseren van de fysieke kenmerken vastgelegd in die volgende beelden.
Zoals hierin beschreven, zetten de huidige technieken een getraind voorspellingsmodel in om ontvangen beelden van een object (met of zonder indicia) te beoordelen en die beelden te classificeren om een product dat geassocieerd is met het object en productidentificatiedata te bepalen, die vervolgens worden gebruikt om fraudepogingen, zoals spoofen, te voorkomen. In enkele verscheidene voorbeelden hierin, wordt dat voorspellingsmodel getraind met behulp van een neuraal netwerk, en als zodanig wordt dat voorspellingsmodel hierin aangeduid als een neuraal
BE2019/5906 netwerk of getraind neuraal netwerk. Het hierin beschreven neurale netwerk kan op verschillende manieren geconfigureerd zijn. In sommige voorbeelden kan het neurale netwerk een diep neuraal netwerk en / of een convolutioneel neuraal netwerk (CNN) zijn. In sommige voorbeelden kan het neurale netwerk een gedistribueerd en schaalbaar neuraal netwerk zijn. Het neurale netwerk kan op verschillende manieren aangepast zijn, waaronder het voorzien in een specifieke toplaag zoals, maar niet beperkt tot, een logistische-regressietoplaag. Een convolutioneel neuraal netwerk kan worden beschouwd als een neuraal netwerk dat sets knooppunten met gebonden parameters omvat. Een diep convolutioneel neuraal netwerk kan worden beschouwd als een gestapelde structuur met een veelvoud aan lagen. In voorbeelden hierin wordt het neurale netwerk beschreven als hebbende een veelvoud aan lagen, d.w.z. een veelvoud aan gestapelde lagen, maar elke geschikte configuratie van neuraal netwerk kan worden gebruikt.
CNN’s zijn, bijvoorbeeld, een voorspellend model van het machinaal leren type dat met name wordt gebruikt voor beeldherkenning en classificatie. In de voorbeelduitvoeringsvormen hierin kunnen CNN's bijvoorbeeld werken met 2D- of 3D-beelden, waarbij dergelijke beelden bijvoorbeeld zijn weergegeven als een matrix van pixelwaarden in de beeldscandata. Zoals beschreven, kan het neurale netwerk (bijvoorbeeld de CNN's) worden gebruikt om één of meer classificaties voor een bepaald beeld te bepalen door het beeld door de reeks computationele bewerkingslagen te leiden. Door deze verschillende lagen te trainen en te gebruiken, kan het CNN-model de waarschijnlijkheid bepalen dat een beeld of fysieke beeldkenmerken tot een bepaalde klasse behoren. Getrainde CNN-modellen kunnen worden voortgezet voor restauratie en gebruik, en verfijnd door verdere training. Getrainde modellen kunnen zich bevinden op elk in het bedrijf aanwezige, tijdelijke of niet tijdelijke, computeropslagmedia zoals RAM, flash-opslag, harde schijf of soortgelijke opslag gehost op cloudservers.
BE2019/5906
Fig. 2 illustreert een schema 200 van een trainingsmodus in een voorbeeldimplementatie. Een veelvoud aan scanstations 202A-202C leggen beelden van objecten vast, voeren voorlopige beeldverwerking uit op die beelden, identificeren en decoderen indicia die zijn vastgelegd in de beelden van die objecten, en pakken die informatie en beeldscandata samen die gezamenlijk een trainingsset van beeldscandata 204 vertegenwoordigen. Elk van de scanstations 202A-202C kan een scanner voorstellen in dezelfde faciliteit, zoals een winkel of magazijn, terwijl in andere voorbeelden de scanstations 202A-202C zich elk in een andere faciliteit op een andere locatie kunnen bevinden.
In een voorbeeld van een trainingsmodus, legt elk van de scanstations 202A-202C beelden van hetzelfde object vast. Het scanstation legt bijvoorbeeld, ongeacht waar het scanstation zich bevindt, beelden vast van hetzelfde te koop zijnde pakket, en worden alle vastgelegde beelden van dat pakket verzameld in de trainingsset van beeldscandata 204. Beeldscandata worden, bijvoorbeeld, gecommuniceerd met een server, zoals de server 120 en de server identificeert ontvangen beeldscandata als corresponderend met hetzelfde object door het bepalen van de gedecodeerde indicia in de ontvangen beeldscandata. In sommige voorbeelden identificeert de server een volledige overeenkomst tussen gedecodeerde indicia. In andere voorbeelden kan de server nog steeds beelden identificeren als zijnde van hetzelfde object uit gedeeltelijke identificatie van de gedecodeerde indicia, omdat niet alle beeldscandata van elk scanstation de volledige indicia in het beeld kunnen vastleggen. In andere voorbeelden kan de server echter alle beeldscandata verzamelen en in plaats van beelden gezamenlijk te groeperen om de trainingsset 204 te vormen, kan de server een neuraal netwerk 206 toestaan technieken van machinaal leren te gebruiken om beeldscandata te identificeren die overeenkomen met hetzelfde object. In sommige voorbeelden is de server zelf geconfigureerd om de indicia-data in
BE2019/5906 beeldscandata te identificeren en om de locatie van die indicia-data te identificeren.
In de trainingsmodus leggen de scanstations 202A-204C, hoewel ze beelden van hetzelfde object vastleggen, die beelden vanuit verschillende hoeken en verschillende oriëntaties vast. Een dergelijke diversiteit in de vastgelegde beeldscandata is inderdaad waardevol bij het ontwikkelen van een robuuster getraind neuraal netwerk 208. Daarom kan de trainingsset 204 honderden, duizenden tot tienduizenden of meer veel variërende beelden van een object omvatten. Voorts kan de trainingsset in de loop van de tijd groeien, zelfs nadat het getrainde neurale netwerk 208 is gegenereerd tijdens een initiële uitvoering van de trainingsmodus, omdat hetzelfde object wordt vastgelegd tijdens bijvoorbeeld verkooptransacties, kunnen de vastgelegde beelden worden verzonden aan de server voor toevoeging aan de trainingsset 204 en voor eventueel gebruik door het neurale netwerkkader 206 voor het updaten van het getrainde neurale netwerk 208.
In het schema 200 identificeert een beeldkenmerkenbeheerder 210 aan de server fysieke kenmerken, bijvoorbeeld de elders genoemde, voor elk van de beeldscandata in de trainingsset 204 en genereert een gelabelde beelddataset 212 voor het neurale netwerkkader 206. Sommige beeldscandata kunnen bijvoorbeeld een algehele vorm van de buitenomtrek van het object omvatten. Sommige beeldscandata kunnen slechts een deel van de buitenomtrek omvatten, maar kunnen een beeld van het verpakkingsetiket omvatten met de naam van het product of de naam van de fabrikant. Sommige beeldscandata kunnen beelden van verpakkingen omvatten, zoals een piepschuimverpakking, en beelden van producten in die verpakking. Sommige beeldscandata kunnen data over verschillende gekleurde delen van het object omvatten. Sommige beeldscandata kunnen een geprojecteerd 3D-volume van het object of een 2D-oppervlak van het object, of een 2D-oppervlak van een vlak van het object omvatten.
BE2019/5906
De beelden van elke beeldscandata kunnen dan worden gelabeld met een identificatie van de fysieke kenmerken geïdentificeerd door de beheerder 210. In sommige voorbeelden genereert de server de dataset 212 door de geïdentificeerde fysieke kenmerken te correleren met identificatiedata verkregen uit de gedecodeerde indiciadata. Dat wil zeggen dat de dataset 212 beelddata omvat die zijn gelabeld met zowel de identificatiedata die het product binnen het object identificeren, als met de specifieke fysieke kenmerken die door de scanner worden vastgelegd (3Dvolume, 2D-oppervlak, enz.).
In de geïllustreerde trainingsmodus onderzoekt het neurale netwerkkader 206 de gelabelde beelddataset 212, in het bijzonder de geïdentificeerde fysieke kenmerken, en bepaalt een gewicht voor elk van die fysieke kenmerken van het object. Deze gewichten vertegenwoordigen een relatieve indicatie van een correlatiesterkte tussen het fysieke kenmerk en de identificatiedata van het object. In een voorbeelduitvoeringsvorm dat een meerlagig classificatie-algoritme gebruikt, kan het neurale netwerkkader 206 bijvoorbeeld bepalen dat een geprojecteerd 3D-volume niet in hoge mate correleert met het voorspellen of een vastgelegd beeld van een doosvormig object is. Maar het neurale netwerkkader 206 kan bepalen dat een fysiek kenmerk van een wit voorwerp met een dunne rug en rood contrasterend voorwerp erboven één of een reeks fysieke kenmerken vertegenwoordigt die sterk correleren met het identificeren van het object, hierin, als een verpakt vleesproduct. Het neurale netwerk bepaalt deze gewichten voor elk geïdentificeerd fysiek kenmerk of voor combinaties van fysieke kenmerken, als gevolg van het gebruik van het meerlagige classificatie-algoritme. Het neurale netwerkkader genereert vervolgens initieel het getrainde neurale netwerk 208 en updatet een reeds bestaand getraind neuraal netwerk. In het geïllustreerde voorbeeld kan het neurale netwerk 208 getraind zijn om één tot duizenden objecten te identificeren aan de hand van fysieke kenmerken die aanwezig zijn in vastlegbeelden van een object.
BE2019/5906
Fig. 3 illustreert een ander schema 300 met soortgelijke kenmerken als die van Fig. 2, maar toont een ander voorbeeld van de implementatie van de trainingsmodus. In het schema 300 omvatten de trainingsbeeldscandata 204 niet enkel beelden van het object, maar ook waar de beelden de achtergrond vastleggen van het gebied rond het object waar het scannen plaatsvond. De vastgelegde achtergrond kan bijvoorbeeld delen van een verkooppuntregio van een winkel omvatten.
In de voorbeelduitvoeringsvorm identificeert de beeldkenmerkenbeheerder 210 de fysieke kenmerken in de beeldscandata en verzendt de gecorreleerde beelddataset 212 naar het neurale netwerkkader 206, dat die beelddataset analyseert en twee soorten informatie in die beelddataset identificeert: objectbeelddata 302 en achtergrondbeelddata 304. Het neurale netwerkkader 206 kan bijvoorbeeld ontvangen beelddataset 212’ vergelijken met eerder ontvangen beeldscandata om abnormale kenmerken in de ontvangen dataset te identificeren waar die afwijkende kenmerken overeenkomen met achtergrondbeelddata vastgelegd door het scanstation. Achtergrondbeelddata kunnen bijvoorbeeld met name aanwezig zijn in beeldscandata die zijn vastgelegd op het verkooppunt tijdens een transactie. Achtergrondbeelddata kunnen alle beelddata zijn die niet zijn geïdentificeerd als objectbeelddata. Voorbeelden hiervan zijn delen van de omgeving rond een object, apparatuur dat wordt gebruikt op een verkooppuntstation, de hand van scanpersoneel en andere beelddata in de buurt en in de verte. De hierin beschreven neurale netwerkkaders kunnen worden getraind om dergelijke achtergrondbeelddata te identificeren; en, in een voorbeeld, is die training voortdurend tijdens de werking van het systeem waardoor het kader zich kan aanpassen aan veranderingen in de omgeving waarin het object wordt gescand. Na identificatie van de achtergronddata 204 en de objectbeelddata 302, verwijdert het neurale netwerkkader 206 het eerste, en gebruikt alleen de objectbeelddata 302 bij
BE2019/5906 het updaten van het neurale netwerk 208'. Daarom kan, op deze manier, het neurale netwerkkader 206 worden getraind om achtergrondbeelddata te identificeren die niet bruikbaar zijn bij het identificeren van welk object door een scanner wordt vastgelegd en die informatie te verwijderen. Het kader 206 kan inderdaad, door middel van begeleide of onbegeleide technieken, classificatoren ontwikkelen voor het identificeren van achtergrondbeelddata naarmate meer beeldscandata worden verzameld over tijd.
In sommige voorbeelden, terwijl het schema 300 achtergrondbeelddata identificeert in beelden van een bepaald object of een reeks objecten, ontwikkelt het neurale netwerkkader 206 classificatoren voor het identificeren van die achtergrondbeelddata in alle ontvangen beeldscandata, ongeacht welk object is vastgelegd in die beeldscandata.
Fig. 4 illustreert een ander schema 400 met soortgelijke kenmerken als die van FIG. 2, maar toont een ander voorbeeld van de implementatie van de trainingsmodus. In het schema 300 omvatten de trainingsbeeldscandata 204 beelden van verschillende versies van hetzelfde object. Het gescande object kan bijvoorbeeld een drankfles of een pakket drankflessen zijn. In sommige versies heeft de drinkfles een normale versie van het productetiket op de buitenkant van de fles. Maar in andere versies kan dat productetiket licht of aanzienlijk gewijzigd zijn ten opzichte van die normale versie. Het etiket kan bijvoorbeeld speciale markeringen of wijzigingen omvatten voor vakantieversies van de drinkfles. In sommige versies is de fles zelf veranderd ten opzichte van de normale flesvorm. In sommige omstandigheden verandert de vorm van de fles enigszins in de loop van de tijd. In elk geval legt de beeldkenmerkenbeheerder 210 de beeldscandata vast.
In voorbeelduitvoeringsvormen is het neurale netwerkkader 206 getraind om de beelddataset 212 te ontvangen en alleen gevarieerde objectbeelddata 402 te identificeren, bijvoorbeeld fysieke kenmerken die
BE2019/5906 afwijken van verwachte fysieke kenmerken die al zijn gecorreleerd met de objectidentificatiedata die overeenkomen met de beeldscandata. De server bepaalt bijvoorbeeld identificatiedata voor een gescand object uit de gedecodeerde indicia. De server bepaalt, op basis van eerdere gewichten, welke fysieke kenmerken zijn gecorreleerd met die identificatiedata. Het neurale netwerkkader 206 van de server identificeert vervolgens, uit de nieuw ontvangen beeldscandata, waar afwijkingen in die fysieke kenmerken optreden. Het neurale netwerkkader 206 kan bijvoorbeeld verwachten dat een buitenste 2D-profiel van een drankfles een bepaald profiel heeft. Het neurale netwerkkader 206 kan meerlagige classificaties gebruiken om een aantal andere fysieke kenmerken te beoordelen die bevestigen dat ontvangen beeldscandata van de drankfles zijn, maar het neurale netwerkkader 206 kan voorts bepalen dat het 2D-profiel van de drankfles enigszins afwijkt, zoals van jaar tot jaar kan optreden na productveranderingen of door seizoensgebonden veranderingen. In dergelijke voorbeelden kan het neurale netwerkkader 206 enkel de gevarieerde objectbeelddata 402 identificeren en die data gebruiken om het getrainde neurale netwerk 208' bij te werken.
Fig. 5 illustreert een schema 500 dat illustreert dat beeldscandata 502 2D-beelden van scanstations 504A en 504B en 3D-beeldscandata van een bioptische scanner 506 of een ander 3D-beeldvormende inrichting kunnen omvatten. In een voorbeeld legt de bioptische scanner 506 een veelvoud aan 2D-beelden vast van het object en worden dergelijke 2Dbeelden gecombineerd in een beeldencombinerende verwerkingsinrichting 508 om een 3D-beeldscandata te vormen. In het geïllustreerde voorbeeld communiceren elk van het scanstation 504A en 504B en de beeldencombinerende verwerkingsinrichting 508 hun respectieve beeldscandata via netwerk 512 naar een beeldverwerkings- en anti-spoofserver 510. Zoals bij de andere hierin beschreven voorbeelden, omvat de beeldverwerkings- en anti-spoof-server neuraal netwerkkader.
BE2019/5906
Fig. 6 illustreert een flowchart van een proces 600 dat kan worden uitgevoerd tijdens een trainingsmodus van de beeldverwerkings- en antispoof-systeemserver 120. Beeldscandata van een object worden ontvangen aan een blok 602, bijvoorbeeld aan de server 120 van de scanner 104. In de trainingsmodus omvatten de beeldscandata typisch gedecodeerde indiciadata die overeenkomen met het object. Aan een blok 604 worden de gedecodeerde indiciadata gebruikt om een overeenkomstig product geassocieerd met die indiciadata te identificeren, bijvoorbeeld door de inventarisbeheercontroller 124 te bevragen, resulterend in productidentificatiedata.
Aan een blok 606 identificeert de beeldvormendekenmerkenbeheerder 126 fysieke kenmerken in de ontvangen beeldscandata. In andere voorbeelden kan de scanner of het scanstation fysieke kenmerken bepalen en deze naar de server 120 verzenden. De kenmerken kunnen worden geïdentificeerd over het gehele beeld van de beeldscandata of slechts over een deel daarvan. In sommige voorbeelden identificeert het blok 606 fysieke kenmerken die overeenkomen met een vooraf bepaalde set fysieke kenmerken. In sommige voorbeelden identificeert het blok 606 alle identificeerbare fysieke kenmerken. In sommige voorbeelden is het blok 606 geconfigureerd om kenmerken op een opeenvolgende manier te identificeren en stopt het identificeren van fysieke kenmerken nadat een vooraf bepaald aantal fysieke kenmerken zijn geïdentificeerd. In sommige voorbeelden kan het blok 606 geconfigureerd zijn om kenmerken te identificeren in een volgorde die overeenkomt met vooraf bepaalde gewichten voor de fysieke kenmerken. In elk geval kan de beeldvormendekenmerkenbeheerder 126 in blok 606 randdetectie, patroonherkenning, op vorm gebaseerde beeldsegmentatie, op kleur gebaseerde beeldsegmentatie of andere beeldverwerkingsbewerkingen uitvoeren om fysieke kenmerken over de gehele of delen van de beeldscandata te identificeren. In sommige voorbeelden voert het blok 606
BE2019/5906 voorts beeldverwerking op deze delen uit om fysieke kenmerken van het object te bepalen, bijvoorbeeld om beeldruis te verminderen.
In het voorbeeld van een product als het scanobject, zoals vlees dat zich in een vriesgedeelte van een winkel bevindt, kan het blok 606 een deel van de beeldscandata identificeren als het deel van de beeldscandata dat het vlees omvat en het deel uitsluiten van de beeldscandata dat overeenkomt met een piepschuimverpakking van het vlees. In andere voorbeelden kan het blok 606 het omgekeerde, d.w.z. het deel van de verpakking en niet het product, identificeren voor verdere analyse.
In sommige voorbeelden is het deel van de beeldscandata een deel dat alle of ten minste een deel van de indicia omvat. In sommige voorbeelden omvat het deel van de beeldscandata delen die de indicia uitsluiten, zodat authenticatie die optreedt bij spoof-detectie werkt op niet overlappende data. In sommige voorbeelden zijn de beeldscandata een 3Dbeeldscandata gevormd uit een aantal punten met driedimensionale data en is het deel van de beeldscandata ofwel een 2D-deel van die 3D-beelddata of een 3D-deel daarvan.
Met de beeldscandata geanalyseerd en de fysieke kenmerken geïdentificeerd, worden aan een blok 608 de fysieke kenmerken bepaald uit de beelddata gecorreleerd met productidentificatiedata verkregen uit het blok 604, en die gecorreleerde data worden verzonden naar een implementatieblok 610 van een neuraal netwerkkader.
Het neurale netwerkkader in blok 612 ontwikkelt een neuraal netwerk (of updatet het), in overeenstemming met de hierin beschreven voorbeeldprocessen. Dat wil zeggen dat in sommige voorbeelden het neurale netwerk geconfigureerd is om de fysieke kenmerken in het deel van de beeldscandata te onderzoeken, en over een grote trainingsset met beelden een gewichtsfactor te bepalen voor één of meer van die fysieke kenmerken, waarbij de gewichtsfactor een relatieve waarde is die de waarschijnlijkheid aangeeft dat het fysieke kenmerk nauwkeurig het product van andere
BE2019/5906 producten kan identificeren. Voor producten kan bijvoorbeeld worden bepaald dat een fysiek kenmerk, zoals de totale grootte van een verpakking of de kleur van de verpakking, een hogere gewichtsfactor heeft in vergelijking met een fysiek kenmerk zoals de lengte van het object of de locatie van de indicia op het object. In sommige voorbeelden kan de gewichtsfactor worden bepaald voor een verzameling gekoppelde fysieke kenmerken, wat kan resulteren in een hogere nauwkeurigheid van de obj ectidentificatie.
In sommige voorbeelden omvat het training neurale netwerk van blok 612 een karakteristieke set fysieke kenmerken van het object, waarbij deze karakteristieke set de set kenmerken presenteert waarvan het neurale netwerk heeft bepaald dat deze minimaal voldoende voorspellend zijn voor het object. In sommige voorbeelden kan deze karakteristieke set een set zijn die objectvoorspellingen verschaft met een nauwkeurigheid van groter dan 60%, groter dan 70%, groter dan 80%, groter dan 90%, groter dan 95% of groter dan 99%.
Fig. 7 illustreert een andere voorbeeldimplementatie van de trainingsmodus als proces 700. Beeldscandata worden ontvangen, productidentificatiedata worden bepaald uit gedecodeerde indicia-data en fysieke kenmerken worden geïdentificeerd uit de beelden, respectievelijk in blokken 702, 704 en 706, en soortgelijk aan die beschreven voor proces 600. Aan een blok 708 vergelijkt een neuraal netwerkkader de geïdentificeerde fysieke kenmerken met eerder geïdentificeerde beeldkenmerken in een getrainde dataset door, bijvoorbeeld, het toepassen van een meerlagig classificatieproces. Uit de vergelijking classificeert het blok 708 beeldkenmerken in een van de drie klassen: achtergrondbeelddata 710, objectbeelddata 712 en variaties op objectbeelddata 714. De geclassificeerde beelddatatypes worden verzonden naar een blok 716, waar het neurale netwerkkader een neuraal netwerk ontwikkelt (of of updatet), in overeenstemming met de hierin beschreven voorbeeldprocessen.
BE2019/5906
In een ander voorbeeld werken het scanstation 102 en de server 120 in een spoof-detectiemodus. Met een neuraal netwerk getraind in overeenstemming met de hierin beschreven technieken, kan de spoofdetectiemodus op basis van beeldscandata detecteren wanneer gescande beelddata niet overeenkomen met gescande productidentificatiedata. In de spoof-detectiemodus kan, in een voorbeeldimplementatie, de server 120 een transactie autoriseren op het verkooppunt 100, een alarm sturen naar het scanstation 102 voor een niet-geautoriseerde transactie op het verkooppunt 100, of de transactie overschrijven en een secundaire transactie voltooien in reactie op een ongeautoriseerde transactie aan het verkooppunt 100.
Fig. 8 illustreert een voorbeeld spoof-detectieproces 800. Een beeldverwerkings- en anti-spoof-server ontvangt beeldscandata inclusief gedecodeerde indiciadata bij blok 802. Aan een blok 804 verwerkt de server de ontvangen beeldscandata en identificeert het indiciabeeld in de beeldscandata en verwijdert dat indiciabeeld uit de scan data. Het resultaat is dat het blok 804 beelden produceert waarvan de indicia zijn verwijderd. Hierdoor kan de anti-spoof-server beelddata onafhankelijk van de indicia analyseren. In een typische poging tot spoofen probeert een klant of verkoopvertegenwoordiger de indicia, bijvoorbeeld barcode, van een product te vervangen door een indicia van een goedkoper artikel, dat vervolgens aan de klant in rekening wordt gebracht om de transactie te voltooien. In het proces 800 worden echter aan blok 804 beelddata gegenereerd waar de indicia, zoals een onjuiste indicia, zijn verwijderd.
Het blok 804 identificeert dan beeldkenmerken in de beelden, om beeldkenmerken met verwijderde indicia te genereren. Dat wil zeggen dat dit beeldkenmerken kunnen zijn die worden bepaald uit alleen dat deel van de beeldscandata dat beelddata over de objectscanner omvat en niet op de indicia in het oorspronkelijk gescande beeld.
In een voorbeeld worden de beeldkenmerken met verwijderde indicia verzonden naar een blok 806 dat overeenkomstige productinformatie
BE2019/5906 uit de beeldkenmerken met verwijderde indicia bepaalt, bijvoorbeeld met behulp van het getrainde neurale netwerk en de gewogen beeldkenmerken.
In het geïllustreerde voorbeeld worden afzonderlijke gedecodeerde indiciadata bepaald uit de in het beeld gescande indicia verzonden naar een blok 808, dat afzonderlijk productinformatiedata identificeert op basis van de indicia. Dusdanig worden productidentificatiedata bepaald uit twee verschillende data, uit beelddata met verwijderde indicia en uit gedecodeerde indiciadata. In een poging tot spoofen resulteren de twee verschillende data in twee verschillende geïdentificeerde producten. In het geïllustreerde voorbeeld van proces 800 bepaalt een blok 810 of de twee productidentificatiedata overeenkomen, en, indien dit geval is, wordt de transactie geverifieerd en wordt een authenticatiesignaal gecommuniceerd van de server naar het scanstation via blok 812. Als er geen overeenkomst is, dan wordt een alarmsignaal gegenereerd door de server en verzonden naar het scanstation via blok 814.
In sommige voorbeelden genereert het blok 810 een overeenkomstvoorspelling in de vorm van een overeenkomstvoorspellingsscore die een waarschijnlijkheid aangeeft dat de productinformatie geïdentificeerd uit de beeldkenmerken met verwijderde indicia overeenkomt met de productinformatie geïdentificeerd uit de gedecodeerde indiciadata. In sommige voorbeelden is de overeenkomstvoorspelling een procentuele waarde.
Fig. 9 illustreert een ander voorbeeld van een spoof-detectieproces 900. Blokken 902, 904, 906 en 908 werken op dezelfde manier als overeenkomstige blokken in het proces 800. Bij een blok 910 vergelijkt een beeldverwerkings- en anti-spoof-server de twee resulterende productidentificatiedata en bepaalt of er een overeenkomst is. Als er een overeenkomst is, wordt de transactie geauthentiseerd en wordt een authenticatiesignaal verzonden van de server naar het scanstation via een blok 912. Het blok 910 kan bijvoorbeeld een overeenkomstvoorspelling
BE2019/5906 genereren in de vorm van een overeenkomstvoorspellingsscore dat een waarschijnlijkheid aangeeft dat de productinformatie geïdentificeerd uit de beeldkenmerken met verwijderde indicia overeenkomt met de productinformatie geïdentificeerd uit de gedecodeerde indiciadata. In sommige voorbeelden is de overeenkomstvoorspelling een procentuele waarde.
Het proces 900 verschilt echter van het proces 800 in dat, als er geen overeenkomst is, het proces 900 over de transactie beslist in plaats van een alarm te verzenden. In het geïllustreerde voorbeeld bepaalt de antispoof-server aan een blok 914 voor elk van de twee geïdentificeerde productinformatiedata welke productinformatie van de twee een hogere prioriteit heeft. De prioriteit van een product kan worden bepaald door toegang tot een inventarisbeheercontroller te verkrijgen en specifieke productdata over het product te verkrijgen. De prioriteit van een product kan gebaseerd zijn op de prijs van een product, waarbij het duurdere product een hogere prioriteit heeft dan het goedkopere product. De prioriteit van een product kan gebaseerd zijn op andere productdata, zoals de hoeveelheid korting op de prijs wanneer het product in uitverkoop is. De prioriteit kan gebaseerd zijn op andere productdata, zoals de hoeveelheid resterende voorraad van het product, of het product opnieuw in de rekken kan worden gelegd, traceerbaarheid van het product, of het product bederfelijk is, of er een grote vraag naar het product is, een categorieclassificatie van het product, zoals of het product een essentieel huishoudartikel of een essentieel levensonderhoudsartikel of huishoudproduct is versus een niet-essentieel huishoudelijk decoratieproduct, winkeliersmarge op het product, traceerbaarheid van het product (bijvoorbeeld 1. een slimme TV waarvoor geo-activering vereist is, wordt minder waarschijnlijk gestolen in vergelijking met één die geen activering vereist, 2. een kledingstuk met RFID-tag wordt minder
BE2019/5906 waarschijnlijk gestolen in vergelijking met een kledingstuk zonder RFIDtag omdat het artikel mogelijk nog gevolgd kan worden na verkoop).
Elk van deze prioriteiten kan worden bepaald door een prioriteitsheuristiek toe te passen (bijvoorbeeld: duurder product wint prioriteit, product waarvan er minder in stock zijn wint prioriteit, bederfelijk product wint prioriteit). Dergelijke prioriteitsheuristieken kunnen bijvoorbeeld worden opgeslagen en uitgevoerd op de server 120. In het proces 900, aan een blok 916, bepaalt de server of er een prioriteitsheuristiek bestaat, en als dat niet het geval is, dan wordt een gewone alarmmodus ingegaan en wordt een alarmsignaal van de server naar het scanstation verzonden via blok 918. Sommige winkelmanagers kunnen bijvoorbeeld via een communicatienetwerk een instructie naar de anti-spoof-server sturen om de prioriteitsheuristiek uit te schakelen, zodat transacties niet worden overschreven.
In het geïllustreerde voorbeeld, wanneer er een prioriteitsheuristiek bestaat, past de anti-spoof-server aan een blok 920 die prioriteitsheuristiek toe, bepaalt hij welk product in rekening wordt gebracht op het verkooppunt en authentiseert de server vervolgens de transactie op basis van die heuristiek, communiceert transactiedata, inclusief een identificatie van het product en de productprijs, naar het scanstation voor het voltooien van de transactie. In sommige voorbeelden stuurt de anti-spoof-server een transactie-voltooiingssignaal naar het scanstation voor het automatisch voltooien van de transactie zonder verdere invoer van de klant, verkoopmedewerker, etc. op het verkooppunt.
In de voorgaande beschrijving, zijn er specifieke uitvoeringsvormen beschreven. Echter zal de vakman erkennen dat verschillende aanpassingen en veranderingen gemaakt kunnen worden zonder afstand te nemen van de beschermingsomvang van de uitvinding zoals uitgezet in de conclusies hieronder. Daarom moeten de beschrijving en de figuren begrepen worden ter illustratie in plaats van beperkend, en al dergelijke aanpassingen zijn
BE2019/5906 bedoeld om in de beschermingsomvang van de uitvinding van de huidige beschrijving inbegrepen te zijn. Bovendien moeten de beschreven uitvoeringsvormen / voorbeelden / implementaties niet worden geïnterpreteerd als wederzijds exclusief, en moeten in plaats daarvan worden begrepen als potentieel combineerbaar indien dergehjke combinaties op enigerlei wijze toelaatbaar zijn. Met andere woorden, elk kenmerk dat is geopenbaard in één van de bovengenoemde uitvoeringsvormen / voorbeelden / implementaties kan zijn opgenomen in één van de andere bovengenoemde uitvoeringsvormen / voorbeelden / implementaties.
De voordelen, oplossingen voor problemen, en elk element(en) dat ertoe kan leiden dat enig voordeel of oplossing optreedt of duidelijker wordt, mogen niet worden op gevat als kritische, verplichte of essentiële kenmerken of elementen van één of alle conclusies. De uitvinding wordt uitsluitend gedefinieerd door de bij gevoegde conclusies, inclusief eventuele wijzigingen die zijn aangebracht tijdens de loop van deze aanvraag en alle equivalenten van die conclusies zoals gepubhceerd. Voor de duidelijkheid en een beknopte beschrijving worden kenmerken hierin beschreven als onderdeel van dezelfde of afzonderlijke uitvoeringsvormen, maar het zal duidehjk zijn dat de reikwijdte van de uitvinding uitvoeringsvormen kan omvatten met combinaties van alle of sommige van de beschreven kenmerken. Het zal duidelijk zijn dat de getoonde uitvoeringsvormen dezelfde of vergelijkbare componenten hebben, afgezien van waar ze worden beschreven als zijnde verschillend.
Bovendien kunnen in dit document relationele termen zoals eerste en tweede, boven- en onder en dergelijke alleen worden gebruikt om een entiteit of actie van een andere entiteit of actie te onderscheiden zonder noodzakelijkerwijs een feitelijke relatie of volgorde tussen dergelijke entiteiten of acties te vereisen of te imphceren. De termen “omvatten”, “omvattende”, “heeft”, “hebbende”, “bevat”, “bevattende” of enige variatie daarop zijn bedoeld om een niet-exclusieve insluiting te dekken, zodat een
BE2019/5906 proces, werkwijze, artikel, of samenstel dat een lijst elementen omvat, heeft, bevat niet alleen die elementen bevat maar ook andere elementen kan bevatten die niet exphciet genoemd zijn of inherent zijn aan een dergelijk proces, werkwijze, artikel, of samenstel. Een element voorgegaan door “omvat., een”, “heeft.. een”, “bevat.. een” sluit niet, zonder meer beperkingen, het bestaan uit van aanvullende identieke elementen in het proces, de werkwijze, het artikel of de rangschikking uit die het element omvat, heeft of bevat. De term “een” wordt gedefinieerd als één of meer tenzij het er exphciet anders staat beschreven. De termen “in hoofdzaak”, “essentieel”, “nabij”, “ongeveer” of enige andere versie daarvan worden gedefinieerd als dicht bij wat door de vakman wordt begrepen, en in een niet beperkende uitvoeringsvorm wordt de term gedefinieerd als zijnde binnen 10%, in een andere uitvoeringsvorm binnen 5%, in een andere uitvoeringsvorm binnen 1% en in een andere uitvoeringsvorm binnen 0.5%. De term “gekoppeld” wordt hierin gedefinieerd als verbonden, maar niet noodzakelijk direct en niet noodzakelijk mechanisch. Een apparaat of structuur die “geconfigureerd” is op een bepaalde manier is geconfigureerd op ten minste die manier, maar kan ook op manieren geconfigureerd zijn die niet beschreven zijn.
Het zal worden gewaardeerd dat sommige uitvoeringsvormen vervat kunnen zijn in één of meer generieke of gespecialiseerde processoren (of verwerkingsinrichtingen) zoals microprocessoren, digitale signaalprocessoren, aangepaste processoren en veldprogrammeerbare poortarrays (FPGA's) en unieke opgeslagen programma instructies (inclusief zowel software als firmware) die de één of meer processoren aansturen om, in combinatie met bepaalde niet-processorschakelingen, sommige, de meeste of alle functies van de hierin beschreven werkwijze en/of opstelling te implementeren. Als alternatief kunnen sommige of alle functies worden geïmplementeerd door een toestandsmachine die geen opgeslagen programma instructies bevat, of in één of meer applicatie specifieke
BE2019/5906 geïntegreerde schakelingen (ASIC's), waarin elke functie of sommige combinaties van bepaalde functies zijn geïmplementeerd als aangepaste logica. Natuurlijk zou een combinatie van de twee benaderingen kunnen worden gebruikt.
Bovendien kan een uitvoeringsvorm worden geïmplementeerd als een door een computer leesbaar opslagmedium met computer leesbare code daarop op geslagen voor het programmeren van een computer (bijvoorbeeld omvattende een processor) om een werkwijze uit te voeren zoals hierin beschreven en waarvoor rechten worden aangevraagd. Voorbeelden van dergelijke computer leesbare opslagmedia omvatten, maar zijn niet beperkt tot, een harde schijf, een CD-ROM, een optische opslaginrichting, een magnetische opslaginrichting, een ROM (alleen-leesgeheugen), een PROM (programmeerbaar alleen-leesgeheugen), een EPROM (uitwisbaar programmeerbaar alleen-leesgeheugen), een EEPROM (elektrisch uitwisbaar programmeerbaar alleen-leesgeheugen) en een flash-geheugen. Voorts wordt verwacht dat de vakman, niettegenstaande mogelijk aanzienlijke inspanningen en veel ontwerp keuzes gemotiveerd door bijvoorbeeld beschikbare tijd, huidige technologie en economische overwegingen, wanneer geleid door de concepten en principes die hierin zijn beschreven, gemakkehjk in staat zal zijn om dergelijke software-instructies en -programma's en IC's met minimale experimenten te genereren.
De samenvatting van de openbaarmaking wordt verschaft om de lezer snel een indruk te geven van de aard van de technische beschrijving. Het wordt ingediend met het begrip dat het niet zal worden gebruikt om de beschermingsomvang of betekenis van de conclusies te interpreteren of te beperken. Bovendien kan in de voorgaande “gedetailleerde beschrijving” worden gezien dat verschillende kenmerken samen in verschillende uitvoeringsvormen worden gegroepeerd om de beschrijving te stroomlijnen. Deze wijze van beschrijving kan niet worden geïnterpreteerd als het weerspiegelen van een voornemen dat de uitvoeringsvormen waarvoor
BE2019/5906 rechten worden aangevraagd meer kenmerken vereisen dan die uitdrukkelijk in elke conclusie worden vermeld. Eerder, zoals de volgende conclusies weerspiegelen, ligt er inventieve materie in minder dan alle kenmerken van een enkele beschreven uitvoeringsvorm. Aldus worden de volgende conclusies in de “gedetailleerde beschrijving” op genomen, waarbij elke conclusie op zichzelf staat als materie waarvoor afzonderlijk rechten zijn aangevraagd. Het enkele feit dat bepaalde maatregelen worden gedefinieerd in onderling verschillende conclusies, wijst er niet op dat een combinatie van deze maatregelen niet in een voordeel kan worden gebruikt.
Een veelvoud van varianten zal duidelijk zijn voor de vakman. Alle varianten worden begrepen binnen de beschermingsomvang van de uitvinding te vallen die wordt gedefinieerd in de volgende conclusies.

Claims (20)

  1. Conclusies
    1. Een computer geïmplementeerde werkwijze voor het trainen van een neuraal netwerk, de werkwijze omvattende:
    het ontvangen, aan één of meer processoren, van beeldscandata, waarin de beeldscandata van een object zijn en fysieke kenmerken van het object omvatten en waarbij de beeldscandata ten minste één indicia overeenkomstig met het object en gedecodeerde indiciadata voor het bepalen van een identificatiedata van het object omvatten;
    het verkrijgen, aan de één of meer processoren, van de identificatiedata van het object;
    het correleren, aan de één of meer processoren, van ten minste een deel van de beeldscandata met de identificatiedata van het object resulterend in een gecorreleerde dataset;
    het overbrengen, aan de één of meer processoren, van de gecorreleerde dataset naar een neuraal netwerkkader; en aan het neurale netwerkkader, het onderzoeken van ten minste een aantal van de fysieke kenmerken van het object in de gecorreleerde dataset;
    het bepalen van een gewicht voor elk van de ten minste een aantal van de fysieke kenmerken van het object, waarbij elk gewicht een relatieve indicatie is van een correlatiesterkte tussen de fysieke kenmerken en de identificatiedata van het object, en het genereren of het updaten van het neurale netwerk met de bepaalde gewichten.
  2. 2. De computer geïmplementeerde werkwijze volgens conclusie 1, voorts omvattende:
    het afleiden, aan het neurale netwerk, van een set karakteristieken van fysieke kenmerken voor het object op basis van de bepaalde gewichten.
    BE2019/5906
  3. 3. De computer geïmplementeerde werkwijze volgens conclusie 1 of 2, waarbij de ten minste ene indicia een barcode, een universele productcode, een snelleescode, radiofrequentie-identificatiecode of combinaties daarvan is.
  4. 4. De computer geïmplementeerde werkwijze volgens conclusie 1, 2 of 3, waarbij de beeldscandata een set beeldframes omvatten die zijn vastgelegd van het object en van de ten minste ene indicia.
  5. 5. De computer geïmplementeerde werkwijze volgens conclusie 4, waarbij de set beeldframes die zijn vastgelegd van het object en van ten minste ene indicia ontvangen zijn van ten minste twee of meer beeldvormers en vastgelegd zijn onder verschillende hoeken.
  6. 6. De computer geïmplementeerde werkwijze volgens een der voorgaande conclusies, voorts omvattende:
    het bepalen, aan de één of meer processoren, van een productcode geassocieerd met een product als de identificatiedata voor het object.
  7. 7. De computer geïmplementeerde werkwijze volgens een der voorgaande conclusies, voorts omvattende, aan het neurale netwerkkader, het bepalen of het object herkend door de fysieke kenmerken van beelddataset niet overeenkomt met de identificatiedata die zijn bepaald uit de ten minste ene indicia.
  8. 8. De computer geïmplementeerde werkwijze volgens een der voorgaande conclusies, waarbij het neurale netwerk een convolutioneel neuraal netwerk is.
  9. 9. De computer geïmplementeerde werkwijze volgens een der voorgaande conclusies, voorts omvattende:
    aan het neurale netwerkkader, het ontvangen van volgende beeldscandata omvattende een beelddataset met een veelvoud aan beeldframes die elk objectbeelddata omvatten;
    BE2019/5906 het vergelijken van de volgende beeldscandata met getrainde beeldscandata en het identificeren van objectbeelddatavariaties in de volgende beeldscan; en het updaten van het neurale netwerk met de objectbeelddatavariaties.
  10. 10. De computer geïmplementeerde werkwijze volgens een van conclusies, voorts omvattende:
    aan het neurale netwerkkader, het ontvangen van volgende beeldscandata omvattende een beelddataset met een veelvoud aan beeldframes die elk objectbeelddata en achtergrondbeelddata omvatten;
    het vergelijken van de volgende beeldscandata met getrainde beeldscandata, het identificeren van de objectbeelddata en de achtergrondbeelddata, het verwijderen van de achtergrondbeelddata en het genereren van een objectbeelddataset met verwijderde achtergrond; en het trainen van het neurale netwerk met de objectbeelddataset met verwijderde achtergrond.
  11. 11. De computer geïmplementeerde werkwijze volgens conclusie 10, voorts omvattende:
    het trainen van het neurale netwerkkader om achtergrondbeelddata te herkennen in beeldscandata.
  12. 12. De computer geïmplementeerde werkwijze volgens conclusie 10 of 11, waarbij de achtergrondbeelddata handbeelddata omvatten.
  13. 13. Een systeem voor het trainen van een neuraal netwerk, het systeem omvattende:
    een server communicatief gekoppeld, via een communicatienetwerk, aan één of meer objectscanners, waarbij de server één of meer processoren en één of meer geheugens omvat, de server geconfigureerd voor:
    BE2019/5906 het ontvangen van beeldscandata van de één of meer objectscanners, via het communicatienetwerk, waarbij de beeldscandata van een object zijn en fysieke kenmerken van het object omvatten en waarbij de beeldscandata ten minste één indicia overeenkomstig met het object en gedecodeerde indiciadata voor het bepalen van een identificatiedata van het object omvatten;
    het verkrijgen van de identificatiedata voor het object bepaald uit de gedecodeerde indiciadata;
    het correleren van ten minste een deel van de beeldscandata met de identificatiedata voor het object resulterend in een gecorreleerde dataset; en het ontvangen van de gecorreleerde dataset naar een neuraal netwerkkader in de server en aan het neurale netwerkkader, het onderzoeken van ten minste een aantal van de fysieke kenmerken van het object in de gecorreleerde dataset;
    het bepalen van een gewicht voor elk van de ten minste een aantal van de fysieke kenmerken van het object, waarbij elk gewicht een relatieve indicatie is van een correlatiesterkte tussen de fysieke kenmerken en de identificatiedata van het object, en het genereren of updaten van het neurale netwerk met de bepaalde gewichten.
  14. 14. Het systeem volgens conclusie 13, waarbij de server geconfigureerd is om:
    af te leiden, aan het neurale netwerk, een set karakteristieken van fysieke kenmerken voor het object op basis van de bepaalde gewichten.
  15. 15. Het systeem volgens conclusie 13 of 14, waarbij de ten minste ene indicia een barcode, een universele productcode, een snelleescode, radiofrequentie-identificatiecode of combinaties daarvan is.
    BE2019/5906
  16. 16. Het systeem volgens conclusie 13, 14 of 15,waarbij de beeldscandata een set van beeldframes omvatten die zijn vastgelegd van het object en van de ten minste ene indicia.
  17. 17. Het systeem volgens conclusie 16, waarbij de set van beeldframes die zijn vastgelegd van het object en van ten minste ene indicia zijn vastgelegd onder verschillende hoeken.
  18. 18. Het systeem volgens een van de conclusies 13-17, waarbij de server geconfigureerd is om:
    te bepalen, een productcode geassocieerd met een product als de identificatiedata voor het object.
  19. 19. Het systeem volgens een van de conclusies 13-18, waarbij de server geconfigureerd is om, aan het neurale netwerkkader, te detecteren of het object herkend door de fysieke kenmerken van de beelddataset niet overeenkomt met de identificatiedata bepaald uit de ten minste ene indicia.
  20. 20. Het systeem volgens een van de conclusies 13-19, waarbij de server geconfigureerd is om: de ten minste ene indiciadata in de beeldscandata te identificeren en de locatie van de ten minste ene indiciadata in de beeldscandata te identificeren.
BE20195906A 2018-12-13 2019-12-13 Werkwijze voor het automatiseren van een controlesignaal gedurende het trainen van een neuraal netwerk met een barcode scan BE1026846B1 (nl)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US16/218,969 US20200193281A1 (en) 2018-12-13 2018-12-13 Method for automating supervisory signal during training of a neural network using barcode scan

Publications (2)

Publication Number Publication Date
BE1026846A1 true BE1026846A1 (nl) 2020-07-02
BE1026846B1 BE1026846B1 (nl) 2021-03-12

Family

ID=69844307

Family Applications (1)

Application Number Title Priority Date Filing Date
BE20195906A BE1026846B1 (nl) 2018-12-13 2019-12-13 Werkwijze voor het automatiseren van een controlesignaal gedurende het trainen van een neuraal netwerk met een barcode scan

Country Status (2)

Country Link
US (1) US20200193281A1 (nl)
BE (1) BE1026846B1 (nl)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020121678A1 (ja) * 2018-12-14 2020-06-18 富士フイルム株式会社 ミニバッチ学習装置とその作動プログラム、作動方法、および画像処理装置
US11062104B2 (en) * 2019-07-08 2021-07-13 Zebra Technologies Corporation Object recognition system with invisible or nearly invisible lighting
US20210097517A1 (en) * 2019-09-26 2021-04-01 Zebra Technologies Corporation Object of interest selection for neural network systems at point of sale
GB2614688A (en) * 2020-09-30 2023-07-12 Snap Inc Location-guided scanning of visual codes
US11928823B2 (en) * 2021-06-23 2024-03-12 Zebra Technologies Corporation Transient sensor monitoring definitions for edge computing devices
US11783146B2 (en) * 2022-01-13 2023-10-10 Hand Held Products, Inc. Methods, apparatuses and computer program products for providing artificial-intelligence-based indicia data editing
WO2023195002A1 (en) * 2022-04-05 2023-10-12 Asofta Recycling Corporation Ltd. Container recognition and identification system and method

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8494909B2 (en) * 2009-02-09 2013-07-23 Datalogic ADC, Inc. Automatic learning in a merchandise checkout system with visual recognition
US9767565B2 (en) * 2015-08-26 2017-09-19 Digitalglobe, Inc. Synthesizing training data for broad area geospatial object detection
CN109414119B (zh) * 2016-05-09 2021-11-16 格拉班谷公司 用于在环境内计算机视觉驱动应用的系统和方法

Also Published As

Publication number Publication date
BE1026846B1 (nl) 2021-03-12
US20200193281A1 (en) 2020-06-18

Similar Documents

Publication Publication Date Title
BE1026846B1 (nl) Werkwijze voor het automatiseren van een controlesignaal gedurende het trainen van een neuraal netwerk met een barcode scan
US11216868B2 (en) Computer vision system and method for automatic checkout
US10769399B2 (en) Method for improper product barcode detection
US11538262B2 (en) Multiple field of view (FOV) vision system
US10055626B2 (en) Data reading system and method with user feedback for improved exception handling and item modeling
US20190188732A1 (en) System and method for ensuring credibility of items in a supply chain management
US20200192608A1 (en) Method for improving the accuracy of a convolution neural network training image data set for loss prevention applications
US10824902B2 (en) Mislabeled product detection
US20210374373A1 (en) Barcode readers with 3d camera(s)
US20170083884A1 (en) System and method for automatic identification of products
US20200202091A1 (en) System and method to enhance image input for object recognition system
US20210097517A1 (en) Object of interest selection for neural network systems at point of sale
Moorthy et al. Applying image processing for detecting on-shelf availability and product positioning in retail stores
EP3629276A1 (en) Context-aided machine vision item differentiation
AU2019397995B2 (en) Method for improving the accuracy of a convolution neural network training image dataset for loss prevention applications
EP3916656A1 (en) Method and apparatus for tracking, damage detection and classi-fication of a shipping object using 3d scanning
US20190378389A1 (en) System and Method of Detecting a Potential Cashier Fraud
US20230169452A1 (en) System Configuration for Learning and Recognizing Packaging Associated with a Product
US20240135435A1 (en) Computer vision system and method for automatic checkout
CN116563989A (zh) 一种基于rfid采集及机器视觉结合的双校验控制方法及系统

Legal Events

Date Code Title Description
FG Patent granted

Effective date: 20210312