Kategoriarkiv: Computer Vision

Fornyet samarbejde med Alexandra Instituttet og SportPicture

I en løbende process for at forbedre deres service, har SportPicture indgået et samarbejde med Hinnerup Net A/S og Alexandra Instituttet.

Målet er at opnå en teknisk løsning der med uovertruffen hastighed og sikkerhed automatiserer processerne omkring identifikation af deltagere i billeder fra sportsarrangementer – med henblik på eksempelvis at kunne levere billederne til deltagernes Facebook og Twitter profiler i tæt på Real Time.

Alexandra Insituttet stiller med viden og erfaring baseret på den nyeste forskning inden for billedanalyse, og har blandt andet tidligere arbejdet sammen med Hinnerup Net A/S for LEGO omkring andre billedanalyse-opgaver. Hinnerup Net har ekspertisen i at koble håndteringen af de meget store datamængder sammen med både analyseresultaterne og de sociale medier, og ikke mindst SportPictures eksisterende systemer – hvor Hinnerup Net senest har stået for implementation af deres internationale website.

Det forventes, at der for at imødegå udfordringerne i projektet vil blive benyttet avancerede teknikker inden for billedanalyse, herunder udnyttelse af “massively parallel computing” i forbindelse med CUDA, kombineret med Optical Character Recognition (OCR), i en specifik tilpasning til anvendelsesområdet, der stiller med nogle helt særlige kompleksiteter.

Ressourcemæssigt mander vi i samme ombæring op: Peter Elmkvist Snabe træder til, og vil i hele den planlagte projektperiode dedikere sin fulde opmærksomhed og indsats til at koordinere de mange interessenter og tilsikre at alt bindes sammen og implementeres med den effektivitet og kvalitet der kendetegner vores sædvanlige leverancer.

Strukturel processering af billeder

Når billeder skal processeres programmatisk anvendes en matematisk metode der kaldes morfologiske transformationer (morphological transformations), mønster genkendelse (pattern recognition) og/eller egenskabs ekstraktion (feature extraction).

Her i juletiden har mange været påvirket af huller i asfalten langs eksempeltvist Vejle fjordbroen. Hvis vi begiver os ud i et tankeeksperiment er det med relativt simple billedbehandlingsalgoritmer “nemt” at detektere en betydelig andel af opbyggende huller og dermed kunne man forebyggende iværksætte udbedrende vejarbejde før et problem opstår.

Et eksempel kunne være anvendelse af thresholding, erosion og dilation på en stribe billeder taget af asfaltoverfladen på udvalgte vejstrækninger. For resten af denne artikel antages det, at sådanne billeder er tilgængelige.

Herunder vises en række billeder af asfaltoverflader hvor der er opstået minimale huller og sprækker, samt hvor alvorlige slaghuller forekommer og er delvist udbedrede. Ligeledes vises en normal asfalt overflade. Under hvert billede vises en morfologisk behandlet udgave, der har været underlagt den samme algoritme for samtlige billeder. Givet disse resultatbilleder er det relativt simpelt at afgøre hvorvidt et behandlet resultatbillede udgør en kandidat til manuel inspektion eller ej.

Klik på billedet for at se en stor udgave.

“Proof-of-concept” algoritmen benyttet på resultatbillederne herover er skrevet i .NET C#, og ser overordnet således ud:

Bitmap input = new Bitmap(filename);
Bitmap output =
  Dilate(
    Dilate(
      Threshold(
        Dilate(
          Dilate(
            Dilate(
              Dilate(
                Grayscale(input)
              )
            )
          )
        ), 70
      )
    )
  );

output.Save(
  Path.GetFileNameWithoutExtension(filename) +
  ".processed" + Path.GetExtension(filename));

Tankeeksperimentet skal naturligvis føres videre ud før det bliver praktisk anvendeligt.

Det er klart at der vil være tale om mange tusinde billeder og adskillige terrabytes data, hvorfor system arkitekturen bag processeringssystemet bør være baseret på en skalerbar multiserver/multikerne teknologi. Et eksempel på en gratis open-source arkitektur kunne være AMD’s Framewave eller nVidia’s CUDA.

Ligeledes vil der være særlige elementer i billederne der skal tages særlig hånd om, f.eks. vejstriber og overgange mellem forskellige belægningstyper med videre.