AI och computer vision för att bli mer redo för GDPR

En tänkbar korsbefruktning mellan AI-projektet jag deltar i och regionens GDPR-projekt har dykt upp, nämligen att leta upp bilder som kan innehålla personuppgifter. Exempelvis människor, ansikten, bilar med mera.

Detta finns det förstås leverantörer som erbjuder som tjänst, men har man egen utvecklarkompetens kanske det är en onödig utgift. Utöver det jag tar upp i denna bloggpost kan man använda AI och machine learning för att hitta personuppgifter i ostrukturerad text. Exempelvis leta namn, personnummer och annat genom mönstermatchning, listor med alla namn man känner till och liknande.

Vad är en personuppgift?

Vissa saker är uppenbara personuppgifter, exempelvis namn, adress eller personnummer. Men vad som anses vara en personuppgift inkluderar mycket mer än alla tycks ha klart för sig. I och med GDPR, och dessförinnan PuL, är det något som är viktigt att känna till.

All information som direkt eller indirekt har med en levande fysisk person att göra är en personuppgift.

Eller så som Datainspektionen definierar en personuppgift på sin webbplats:

”All slags information som direkt eller indirekt kan hänföras till en fysisk person som är i livet räknas enligt personuppgiftslagen som personuppgifter. Även bilder (foton) och ljudupptagningar på individer som behandlas i dator kan vara personuppgifter även om inga namn nämns. Krypterade uppgifter och olika slags elektroniska identiteter, som exempelvis IP-nummer, räknas som personuppgifter om de kan kopplas till fysiska personer.”

Sen är gränsen för vad en personuppgift ibland svårbedömd innan det dragits i domstol. Hur mycket av ett fingeravtryck behövs för att det ska bli tal om en personuppgift?

Sammanställning av uppgifter från flera källor kan bli personuppgifter

Vill du bredda din förståelse av problemet kring att det är få uppgifter som är på riktigt anonyma kan jag rekommendera den utmärkta föreläsning i videoklippet nedan. Chalmers arrangerade i våras en heldag om digitalisering, säkerhet, integritet och machine intelligence. Där inledde Claudia Diaz med föreläsningen “The Challenge of being Anonymous in the Internet”.

Det visar sig nämligen att anonymiserade datakällor som släpps ofta i viss utsträckning avslöjar vem som ligger bakom vissa uppgifter. Exempelvis att till synes anonyma data från videotjänsten Netflix kan identifiera många användare om man slår upp samma information mot filmtjänsten IMDB. Samma problematik har man när man tror sig ha anonymiserat information om personer efter vilket postnummer de bor på. Det funkar säkert jättebra i många större städer. Men om man vet att man måste vara i en viss ålder för att ens komma på tal för att vara med i datakällan, samt att man är den enda på ett postnummer som lever upp till det kriteriet – ja, då är man identifierad åtminstone bland de med lokalkännedom.

Samma tänk kan du ha om man laddar ner en massa bilder och kör ansiktsigenkänning. Då kan det som verkar vara ganska anonymt plötsligt bli mer identifierande.

Exempel på indirekt personuppgift

Min bil har krockats några gånger. Ett flertal personer i min omgivning kan troligtvis identifiera min bil bara genom hur slarvigt lackeringsjobbet är utfört. Man har nämligen inte lyckats “bryta färgen” särskilt bra vilket gör att huven och framskärmen har en helt annan nyans än dörrarna. Några av dessa personer kan identifiera färgen och årsmodellen av min bil rakt ur minnet och med sina unika erfarenheter. Med andra ord, de behöver inte se registreringsskylten för att få hjälp att identifiera fordonet.

Är det en personuppgift om min bil förekommer på bild på en geografisk plats? Ja, det berättar åtminstone var min bil varit vid minst ett tillfälle. Samma personer vet nämligen ifall min fru har körkort och kan nog göra en sannolikhetsberäkning ifall jag lånat ut fordonet.

Om nu tidpunkt kan göra det värre är det nog ovanligt att de som publicerar bilder tar bort metadata från bilden, vilket oftast innehåller en tidpunkt för när bilden togs och emellanåt GPS-koordinater. Ibland syns det på bilden när det är taget, exempelvis vid demonstrationer, högtider eller andra sammankomster.

Så om bilder på nätet visar att den bilen stå parkerad utanför könsmottagningen på Sahlgrenska? Eller utanför någon vänstervriden organisation på Fjärde långgatan? Samma personer vet att det beror på min arbetsplats samt var jag bor, men andra människor kan dra helt andra slutsatser.

Privacy by design

GDPR handlar om att sluta ha personuppgifter som en oreglerad handelsvara. Genom att publicera personuppgifter på webben i form av text, bilder eller annat, hjälper vi webbpublicister till att fylla igen luckorna i det pussel somliga organisationer vill lägga när det gäller enskilda personer. Det här är minst sagt en huvudvärk och svår balansgång för oss som jobbar med innehålls som hamnar på webben.

Ett sätt att börja se hur mycket sånt här material vi har är att dra nytta av de på förhand upptränade modellerna som erbjuds inom machine learning. Har du tusentals fotografier och vill grovsortera dem efter vad de innehåller är detta ett tänkbart angreppssätt för att komma igång.

Automatisk kategorisering av bilder

Exempel på bilder som kanske innehåller personupgifter

Det ska sägas att det här inte är ett vattentätt sätt att veta vilka bilder som innehåller människor, fordon eller så. Det är ett sätt att börja sortera uppenbara grejer i olika högar.

Scenariet är att likt en sökmotor inspektera sina externa webbplatser och intranät och samla upp adresser till bilder. Sedan postas de bilderna för klassifikation hos en tjänst för computer vision. I detta exemplet har jag kört Microsofts tjänst Azure, Amazons AWS-tjänster gav rätt konstiga resultat för bilden apotek.jpg så jag övergav dem kanske lite väl snabbt. Men, detta är bara en proffs-of-concept, kanske funkar någon annan tjänst bättre än Azure.

1. Samla in bilder

Ovanstående tre bilder hittade jag på regionens webbplatser. Runt bilden park.jpg står det inte vems fordonen är, däremot framgår den geografiska platsen i ett format även maskiner förstår. Platsen för de två andra bilderna finns också i maskinläsbar form och de råkar handla om ett apotek. På en av bilderna finns både kunder och en anställd, som visserligen inte jag kan identifiera, men som du på tidigare resonemang kan tänka dig inte är bra nog.

2. Posta till tjänst för computer vision

Bilden park.jpg beskrivs som:

”A bus parked in a parking lot”

Och klassificeras/taggas som:

”outdoor, road, car, parked, bus, street, parking, truck, lot, side, red, front, small, city, sidewalk, stop, sitting, riding, driving, standing, motorcycle, group, traffic, people, double, board, hydrant, man, white”

Bilden apotek.jpg beskrivs som:

”A display in a store”

Och klassificeras/taggas som:

”indoor, scene, table, food, filled, box, store, items, sitting, cluttered, counter, office, shop, many, full, room, computer, standing, man, desk, luggage, truck, kitchen, people, large, library, display, woman, suitcase, sign, produce, group”

Bilden apotek-2.jpg beskrivs som:

“A group of people standing in front of a store”

Och klassificeras/taggas som:

”ceiling, indoor, building, table, standing, large, restaurant, sitting, room, food, station, store, people, front, open, bar, area, floor, platform, kitchen, counter, clock, library, display, group, train, man”

Denna utvärdering av tre bilder tog 6,4 sekunder på en långsam 4G på landsbygden. Så just utvärderingen, att få koll på tiotusen bilder skulle ta ungefär åtta timmar datortid.

Det du letar efter i taggarna är sånt som identifierar en människa, kvinna, man, bil, fordon, etc.

Svårigheterna med detta?

Jag tror att det svåraste för många är att komma över en komplett lista över bilder. Det kan krävas många olika tekniker, bland annat:

  1. Indexering av interna och externa webbplatser på samma sätt som många sökmotorer gör. Så kallad crawling.
  2. Strukturerade flöden, som RSS-prenumerationer, API-tjänster hos Facebook och Twitter.
  3. Integration mot egna system för bildhantering.

När du väl har listan är det inte svårt att utveckla en kontroll som frågar någon tjänst för computer vision vad bilderna föreställer. AI-projektet jag jobbar med har lagt ut ett exempel på en sådan kod som jobbar mot ett RSS-flöde och postar till Microsoft Azure. Du kan säkert utgå från den eller dra inspiration, poängen är att det är inte mycket kod det handlar om.

Skriv gärna en kommentar om hur ni gjort eller tänkt kring detta där du jobbar.

Mer om AI för att jobba med bilder

Kommentera

E-postadressen publiceras inte. Obligatoriska fält är märkta *