Introduktion av en anpassad mjukvarulösning för ansiktsigenkänning

Innowise har utvecklat en avancerad lösning för ansiktsigenkänning för att förbättra säkerheten och effektivisera identifieringsprocesserna.

Kund

Industri
Region
AU
Kund sedan
2022

Vår kund är ett australiensiskt mjukvaruutvecklings- och IT-konsultföretag som specialiserar sig på att leverera skräddarsydda IT-lösningar för detaljhandeln. Med en stark meritlista har de framgångsrikt konceptualiserat, designat och lanserat digitala lösningar inom olika detaljhandelskategorier, inklusive allmänna varor, kläder och livsmedel.

Företaget är verksamt på global nivå - allt från multinationella detaljhandelsföretag till oberoende butiksägare - och erbjuder en rad mycket skalbara produkter och tjänster.

Utmaning

Förbättrad noggrannhet för ansiktsigenkänning inom detaljhandeln

Till en början verkade uppgiften enkel: att utveckla en lösning för ansiktsigenkänning som på ett tillförlitligt sätt kunde identifiera individer i realtid i detaljhandelsmiljöer. Men alla som är bekanta med videoflöden i verkligheten vet att de sällan är perfekta.

Den största utmaningen var den ojämna videokvaliteten. Butiksmiljöer är oförutsägbara - kamerorna filmar ofta i dålig belysning, från obekväma vinklar och under ständig rörelse. Det ledde till att ansiktena såg suddiga, skuggade eller förvrängda ut, vilket gjorde det svårt för systemet att upptäcka och justera viktiga ansiktsdrag som ögon, näsa och mun.

I vissa fall dolde ojämn belysning ansiktsdetaljer, medan kombinationen av oskärpa och skuggor i andra fall gjorde traditionella igenkänningsmetoder ineffektiva. Det här var inga tillfälliga problem - det var vardagliga förhållanden som vårt team var tvunget att ta itu med.

För att övervinna detta behövde vi mer än avancerade algoritmer. Våra ingenjörer var tvungna att utforma ett system som kunde bearbeta ofullständiga, röriga indata - extrahera meningsfulla data från inkonsekvent video av låg kvalitet för att leverera tydliga och användbara resultat. Enkelt uttryckt var den anpassade mjukvarulösningen för ansiktsigenkänning tvungen att arbeta med verkliga utmaningar, inte kämpa mot dem.

Lösning

Öka säkerheten och effektiviteten i detaljhandeln med ett system för ansiktsigenkänning

Vårt team har fokuserat på tre viktiga mål när det gäller utveckling av programvara för ansiktsigenkänning: noggrannhet, realtidsbearbetning och anpassningsförmåga till låg kvalitet.

Tillförlitlig ansiktsdetektering och -igenkänning

I lösningens kärna har vi integrerat avancerade algoritmer för djupinlärning för att säkerställa exakt ansiktsigenkänning, även under krävande förhållanden som dålig belysning, ovanliga vinklar och lågupplösta inmatningar.

Ansiktsdetektering och justering

Vi använde RetinaFace för dess snabbhet och noggrannhet vid ansiktsigenkänning, särskilt i lågupplösta bilder och utmanande ljusförhållanden. Vi valde MediaPipes detektering av landmärken i ansiktet för att identifiera och justera kritiska funktioner som ögon, näsa och mun. Systemet kunde därför hantera olika inmatningar med större stabilitet och noggrannhet. Detta möjliggjorde en konsekvent förbehandling av ansikten, även vid felaktig justering eller ovanliga vinklar.

Exakta modeller för ansiktsigenkänning

För ansiktsigenkänning använde vi ArcFace-tekniken, som är känd för sina goda resultat när det gäller att generera diskriminerande ansiktsinbäddningar. För att optimera noggrannheten för detaljhandelsmiljöer finjusterade teamet backbone-modellen med hjälp av domänspecifika data med riktade förstärkningar, inklusive simulerad oskärpa och vinkelförvrängning. Som ett resultat uppnådde systemet 85-90% noggrannhet för ansiktsigenkänning under utmanande förhållanden och bibehöll över 95% noggrannhet med högkvalitativa indata.

Förbättringar av bildprecision och systemprestanda

Övervakningsfilmer har ofta brister, så som en del av våra anpassade utvecklingstjänster för ansiktsigenkänning utvecklade vi en robust pipeline för förbehandling av bilder för att rensa upp ingångarna före igenkänning.

Ett av de viktigaste genombrotten vi gjorde var ögonlokalisering. Integrationen av MediaPipe-pipelines förbättrade systemets förmåga att upptäcka ögonpupillens centrum. Detta förbättrade avsevärt ansiktsjusteringen och stabiliseringen, vilket gjorde det möjligt för oss att filtrera bort de bilder som antingen var dåligt fångade eller feljusterade. På så sätt gick endast rena och högkvalitativa bilder till igenkänning, vilket förbättrade systemets övergripande noggrannhet.

Effektiv bildbehandling i batch

Vi behövde hantera enorma mängder videodata, så vi skapade en batchmodul för bildbehandling med hjälp av PyTorch och MediaPipe.

Vi utvecklade också en modul för att extrahera och bearbeta bilder från videoflöden i bulk, vilket sparar tid och minskar det manuella arbetet. Det optimerade systemet hanterar stora datamängder på ett smidigt sätt, även i hektiska detaljhandelsmiljöer.

Integration med ett CCTV-system

Integrationen av anpassad programvara för ansiktsigenkänning med ett CCTV-system (closed-circuit television) innebär att avancerad teknik för ansiktsigenkänning kombineras med den befintliga övervakningsinfrastrukturen. Denna integration omkonfigurerar övervakningskapaciteten och möjliggör exakt identifiering i realtid av personer i butiker eller lagerlokaler. Ett sådant system skärper säkerhetsåtgärderna mot obehörigt tillträde och optimerar hanteringen av de anställda genom närvarospårning och övervakning av arbetsbeteende. Med en sådan helhetssyn blir miljön i alla detaljhandelsbutiker mycket säkrare och effektivare för driften.

Nu får den anpassade lösningen för ansiktsigenkänning tillgång till livevideoflöden från CCTV-kameror och använder PyTorch- och MediaPipe-baserade algoritmer för att upptäcka och analysera unika ansiktsdrag, t.ex. ögonens, näsans och munnens form.

Med hjälp av modeller för återidentifiering av personer (Re-ID) kan systemet spåra personer från en kamera till en annan, även vid ocklusion eller när de rör sig från en zon till en annan. I kombination med bearbetning på ramnivå som drivs av PyTorchs inferensfunktioner stöder systemet också igenkänning i realtid med en latens på under 200 ms, även över flera liveströmmar.

Teknik

AWS (Kinesis videostreaming, EC2, EKS, ECR, S3, Glue)
GitHub Actions, Kubernetes, Nginx
PyTorch, MediaPipe

VCS

Git, GitHub

Process

Vi började med intensiva workshops för att förstå projektmålen och de aktuella utmaningarna - som att hantera dålig videokvalitet, möjliggöra realtidsbearbetning och säkerställa att systemet kunde skalas. Vårt team genomförde en detaljerad granskning av kundens CCTV-installation och bedömde kameratyper, bildfrekvenser och videokvalitet för att säkerställa att den anpassade programvaran för ansiktsigenkänning skulle fungera tillförlitligt under verkliga förhållanden.

Planering av systemdesign och arkitektur

Därefter utformade vårt team en skalbar, distribuerad arkitektur som kan bearbeta flera liveströmmar samtidigt. Varje del av systemet - ansiktsdetektering, förbehandling och igenkänning - byggdes som en oberoende komponent för att säkerställa ett smidigt dataflöde och feltolerans. Vi kartlade också integrationspunkter för att ansluta lösningen till kundens befintliga CCTV-nätverk.

Utveckling och implementering

Vi följde en Agile-utvecklingsstrategi, levererade resultat stegvis och samlade in regelbunden feedback för att förfina systemet. Så här hanterade vi varje kritiskt område:

  • Ansiktsdetektering och -justering: Våra ingenjörer byggde och optimerade detektionspipelinen för att stabilisera inkommande video och hantera utmaningar som inkonsekvent belysning, ovanliga vinklar och rörelser.
  • Förbehandling av bilder: Vårt team förbättrade videobilderna med filtrering och stabilisering för att säkerställa att endast rena, användbara bilder gick vidare för identifiering.
  • Modeller för igenkänning: Med hjälp av verkliga videoprover har vi finjusterat pipelinen för igenkänning så att den korrekt identifierar ansikten, även i extrema vinklar eller vid partiella hinder.
  • Optimering av batchbearbetning: För att hantera stora videovolymer på ett effektivt sätt optimerade vi arbetsflödena för batchbearbetning av arkiverat material samtidigt som vi minskade belastningen på realtidsverksamheten.

Vid varje sprint genomförde vi rigorösa tester och prestandaövervakning för att åtgärda flaskhalsar och stödja konsekventa framsteg.

Testning och validering

Våra QA-specialister testar systemet i skarpt läge för att validera dess prestanda under verkliga förhållanden:

  • Funktionell testning: Varje modul testades individuellt och som en del av den kompletta pipelinen.
  • Stresstestning: Vårt team utvärderade systemets förmåga att bearbeta flera kameraströmmar under tung belastning.
  • Validering i den verkliga världen: Med hjälp av faktiska videoflöden från butiker verifierade vi att systemet gav konsekventa resultat även med dålig belysning, rörelseoskärpa eller låg upplösning.
  • Testning av kantfall: Vårt team testade utmanande scenarier som partiella ansikten och extrema vinklar för att garantera robusthet och tillförlitlighet.

Under hela testningen spårade vi prestandamätvärden - noggrannhet, hastighet och antal avvisade bildrutor - och finjusterade systemet för att få optimala resultat.

Utplacering och integrering

När den anpassade programvaran för ansiktsanalys var klar driftsatte vårt team den i kundens produktionsmiljö produktionsmiljö med minimal störning. Systemet konfigurerades för att bearbeta livevideoströmmar och integreras enkelt med den befintliga CCTV-infrastrukturen. För att säkerställa en smidig utrullning tillhandahöll vi också utbildningstillfällen och detaljerad dokumentation för kundens team.

Underhåll och support efter driftsättning

Som en del av vår roll som ett företag som utvecklar programvara för ansiktsigenkänning tillhandahåller vi kontinuerliga uppdateringar och support för att förbättra systemets effektivitet och skalbarhet.

Team

1

Affärsan-alytiker

1

Projekt- ledare

1

ML-ingenjör

1

QA

1

Back-End-utvecklare

1

Front-end-utvecklare

Resultat

Förbättrad säkerhet och förenklad ansiktsidentifiering

Vårt team levererade ett system för ansiktsigenkänning som framgångsrikt hanterade viktiga utmaningar i verkligheten, inklusive låg upplösning, dålig belysning och rörelseoskärpa. Genom noggrann design och optimering förbättrade vi den operativa effektiviteten med 70% och minskade tiden för verifiering av anställda från 20 sekunder till under 5 sekunder per person.

Våra ingenjörer såg till att systemet kunde hantera krävande arbetsbelastningar genom att implementera effektiva bearbetningspipelines. Som ett resultat av detta bearbetar systemet nu tusentals ansikten per sekund i flera videoströmmar. Genom att använda GPU-optimerad AWS-infrastruktur och finjustera prestandan kunde vi se till att allt gick smidigt och konsekvent, även under de mest hektiska försäljningstimmarna.

Våra insatser har också stärkt säkerhetsresultaten. De mekanismer för realtidsvarningar som vårt team har utvecklat gör att systemet kan generera omedelbara meddelanden om obehöriga personer. Som ett resultat minskade svarstiderna för säkerhet med 40%, vilket gjorde det möjligt för team på plats att agera snabbare och förbättra den övergripande situationsmedvetenheten.

Tillförlitlighet var ett viktigt fokus under hela projektet. Vårt teams optimeringar säkerställde en drifttid på 99,9% och gav oavbruten drift för kritiska processer som åtkomstkontroll och liveövervakning. Den sömlösa integrationen med kundens befintliga system bidrog ytterligare till en minskning av säkerhetsrelaterade incidenter med 20-25%, vilket hjälper detaljhandlare att skapa säkrare och bättre hanterade miljöer.

Sammantaget visade sig lösningen vara snabb, exakt och skalbar. Den optimerade inte bara säkerheten utan förenklade också närvarohanteringen och förbättrade de dagliga operativa arbetsflödena, vilket gav påtagliga resultat för detaljhandelsmiljöer.

Projektets löptid
  • Maj 2022 - oktober 2022
99.8%
Verifieringar under 200 ms per bildruta på GPU-optimerade AWS-instanser
85-90%
noggrannhet vid ansiktsigenkänning i svag belysning eller rörelseoskärpa

50%

färre manuella ingrepp med tillförlitlig automatiserad identifiering

Kontakta oss

Boka ett samtal eller fyll i formuläret nedan så återkommer vi till dig när vi har behandlat din förfrågan.

    Vänligen inkludera projektinformation, varaktighet, teknologistack, IT-proffs som behövs och annan relevant information
    Spela in ett röstmeddelande om ditt projekt för att hjälpa oss att förstå det bättre
     
    Bifoga ytterligare dokument vid behov
    Ladda upp filen

    Du kan bifoga upp till 1 fil på totalt 2 MB. Giltiga filer: pdf, jpg, jpeg, png

    Observera att när du klickar på Skicka-knappen kommer Innowise att behandla dina personuppgifter i enlighet med vår Integritetspolicy i syfte att förse dig med lämplig information. Genom att ange ett telefonnummer och skicka in detta formulär samtycker du till att bli kontaktad via SMS. Priser för meddelanden och data kan tillkomma. Du kan svara STOP för att avstå från ytterligare meddelanden. Svara Help för mer information.

    Vad händer härnäst?

    1

    Efter att ha mottagit och behandlat din begäran kommer vi att återkomma till dig inom kort för att specificera dina projektbehov och underteckna en NDA för att säkerställa konfidentialitet av information.

    2

    Efter att ha undersökt kraven utarbetar våra analytiker och utvecklare en projektförslag med arbetets omfattning, lagets storlek, tid och kostnad uppskattningar.

    3

    Vi ordnar ett möte med dig för att diskutera erbjudandet och komma överens.

    4

    Vi skriver på ett kontrakt och börjar arbeta med ditt projekt så snabbt som möjligt.

    Спасибо!

    Cообщение отправлено.
    Мы обработаем ваш запрос и свяжемся с вами в кратчайшие сроки.

    Tack!

    Ditt meddelande har skickats.
    Vi behandlar din begäran och kontaktar dig så snart som möjligt.

    Tack!

    Ditt meddelande har skickats. 

    Vi behandlar din begäran och återkommer till dig så snart som möjligt.

    pil