Bildbehandling och begränsningsrutor för OCR PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Bildbehandling och avgränsningsrutor för OCR

Tekniken fortsätter att utvecklas, och det gör vi också. Med framväxten av artificiell intelligens och maskininlärning har fokus flyttats mot automatisering. Med detta sagt introduceras olika datavetenskapliga discipliner för att studera och utforska tillämpningarna av dessa framväxande trender.

Ett sådant exempel är bildbehandling. På ett enkelt språk hänvisar det till att utforska bilder för att rita meningsfull information. Även om flera tekniker finns tillgängliga för att uppnå detta, är den vanligaste - avgränsande lådor.

Den här bloggen fördjupar sig i olika aspekter av bounding boxes. Det inkluderar vad de är, hur de fungerar i bildbehandling, parametrar som definierar dem, konventioner som specificerar dem, vanliga användningsfall, försiktighetsåtgärder och bästa praxis och mer.

Låt oss dyka in.

Bildbehandling hänvisar till att utföra vissa operationer på en bild antingen för att förbättra den eller extrahera några värdefulla insikter från de funktioner eller attribut som är associerade med den. Idag är bildbehandling ett primärt forskningsområde inom ingenjörs- och datateknikstudier.

Bildbehandling kan göras med två metoder – analog bildbehandling och digital bildbehandling.

Analog bildbehandling innebär att man använder papperskopior av utskrifter och fotografier för att analysera och manipulera bilder. Bildanalytiker använder olika metoder för att tolka dessa bildkopior och extrahera meningsfulla resultat.

Digital bildbehandling använder digitala bilder och tolkar dem med hjälp av datorer. Det är en underkategori av digital signalbehandling och använder algoritmer för att bearbeta digitala bilder. Det ger fördelar jämfört med analog bildbehandling, såsom algoritmer för att förhindra brus och distorsion i bearbetningen.

Digital bildbehandling har flera tillämpningar inom områdena medicin, tillverkning, e-handel med mera.


Bounding boxes i bildbehandling

Till att börja med är begränsningsrutan en imaginär rektangulär ruta som innehåller ett objekt och en uppsättning datapunkter. I samband med digital bildbehandling anger begränsningsrutan gränsens koordinater på X- och Y-axlarna som omsluter en bild. De används för att identifiera ett mål och fungerar som referens för objektdetektering och genererar en kollisionsbox för objektet.

Vad är Bounding Boxes?

Avgränsningsrutor är nyckelelementen och ett av de primära bildbehandlingsverktygen för videokommentarsprojekt. I huvudsak är en bounding box en imaginär rektangel som skisserar objektet i en bild som en del av ett maskininlärningsprojekt. Den imaginära rektangulära ramen omsluter objektet i bilden.

Begränsande rutor anger objektets position, dess klass och konfidens, vilket anger graden av sannolikhet att objektet faktiskt finns i begränsningsrutan.

Datorseende erbjuder fantastiska applikationer – från självkörande bilar till ansiktsigenkänning och mer. Och detta möjliggörs i sin tur med bildbehandling.

Så, är bildbehandling så enkelt som att rita rektanglar eller mönster runt föremål? Nej. Som sagt, vad gör begränsningsrutor?

Låt oss förstå.

Hur fungerar Bounding Boxes inom bildbehandling?

Som nämnts är bounding box en tänkt rektangel som fungerar som en referenspunkt för objektdetektering och utvecklar en kollisionsbox för objektet.

Så, hur hjälper det datakommentarer? Jo, proffs använder idén med avgränsande rutor för att rita imaginära rektanglar över bilderna. De skapar konturer av objekten i fråga inom varje bild och definierar dess X- och Y-koordinater. Detta gör jobbet med maskininlärningsalgoritmer enklare, hjälper dem att hitta kollisionsvägar och så, och sparar därigenom datorresurser.

Till exempel, i bilden nedan, är varje fordon ett nyckelobjekt vars position och placering är avgörande för att träna maskininlärningsmodellerna. Dataannotatorer använder tekniken med begränsningsrutor för att rita rektanglarna runt vart och ett av dessa objekt – fordon, i det här fallet.

Bildbehandling och begränsningsrutor för OCR PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Källa: nyckelmakr

Sedan använder de koordinaterna för att förstå positionen och platsen för varje objekt, vilket är användbart för att träna maskininlärningsmodellerna. En enda begränsningsruta ger inte en bra prediktionshastighet. För förbättrad objektdetektering måste flera begränsningsrutor användas i kombination med dataförstärkningsmetoder.

Avgränsningsrutor är mycket effektiva och robusta tekniker för bildkommentarer som minskar kostnaderna avsevärt.

Parametrar som definierar en begränsningsram

Parametrarna är baserade på de konventioner som används för att specificera begränsningsrutan. De viktigaste parametrarna som används inkluderar:

  • Klass: Det betecknar objektet inuti begränsningsrutan — till exempel bilar, hus, byggnader, etc.
  • (X1, Y1): Detta hänvisar till X- och Y-koordinaterna för rektangelns övre vänstra hörn.
  • (X2, Y2): Detta hänvisar till X- och Y-koordinaterna i det nedre högra hörnet av rektangeln.
  • (Xc, Yc): Detta hänvisar till X- och Y-koordinaterna för mitten av begränsningsrutan.
  • Bredd: Detta anger bredden på begränsningsrutan.
  • Höjd: Detta anger höjden på begränsningsrutan.
  • Förtroende: Detta representerar möjligheten att objektet är i lådan. Säg, konfidensen är 0.9. Det betyder att det är 90 % sannolikhet att objektet faktiskt kommer att finnas i lådan.

Konventioner som specificerar en avgränsande ruta

När du anger en begränsningsram måste vanligtvis två huvudkonventioner inkluderas. Dessa är:

  • X- och Y-koordinaterna för de övre vänstra och nedre högra punkterna i rektangeln.
  • X- och Y-koordinaterna för mitten av begränsningsrutan, tillsammans med dess bredd och höjd.

Låt oss illustrera detta med exemplet på en bil.

a. Med avseende på den första konventionen är begränsningsrutan specificerad enligt koordinaterna för de övre vänstra och nedre högra punkterna.

Källa: AnalyticsVidhya

b. Med avseende på den andra konventionen beskrivs begränsningsrutan enligt mittkoordinaterna, bredden och höjden.

Bildbehandling och begränsningsrutor för OCR PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Källa: AnalyticsVidhya

Beroende på användningsfallet är det möjligt att konvertera mellan de olika konventionstyperna.

  • Xc = (X1 + X2)/2
  • Yc = (Y1 + Y2)/2
  • Bredd = (X2 – X1)
  • Höjd = (Y2 – Y1)

Begränsande rutor förklaras med programmeringskod

Låt oss se ett annat exempel om platsen eller positionen för ett objekt med kodavsnitt.

Bildbehandling och begränsningsrutor för OCR PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Källa: d2i

Vi laddar bilden som ska användas för denna illustration. Bilden har en hund till vänster och en katt till höger. Det finns två föremål – en hund och en katt på bilden.

Bildbehandling och begränsningsrutor för OCR PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Källa: d2i

Bildbehandling och begränsningsrutor för OCR PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Källa: d2i

Låt oss ta x och y som koordinater för de övre vänstra och nedre högra hörnen av begränsningsrutan. Säg, (x1,y1) och (x2,y2). På samma sätt, låt oss betrakta (x,y) – axelkoordinaterna för mitten av begränsningsrutan, tillsammans med dess bredd och höjd.

Därefter definierar vi två funktioner för att konvertera dessa former: box_corner_to_center konverterar två-hörn-representationen till center-height-width-representationen och box_center_to_corner gör det vice versa.

Inmatningsargumentrutorna måste vara en tvådimensionell formtensor (n,4), där n är antalet begränsningsrutor.

Bildbehandling och begränsningsrutor för OCR PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Källa: d2i

Låt oss sedan definiera gränsrutorna för hunden och katten på bilden baserat på koordinatdata.

Bildbehandling och begränsningsrutor för OCR PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Källa: d2i

För att verifiera riktigheten av de två begränsningsrutornas konverteringsfunktioner kan vi konvertera två gånger.

Bildbehandling och begränsningsrutor för OCR PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Källa: d2i

Bildbehandling och begränsningsrutor för OCR PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Källa: d2i

Därefter kan vi rita avgränsningsrutorna för objekten på bilden för att kontrollera om de är korrekta. Innan dess definierar vi en funktion bbox_t_rect som representerar begränsningsrutan i det relevanta formatet för matplotlib-paketet.

Bildbehandling och begränsningsrutor för OCR PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Källa: d2i

Nu, efter att ha lagt till begränsningsrutorna för hund- och kattobjekten till bilden, ser vi att huvudkonturen av dessa objekt ligger inom de två rutorna.

Bildbehandling och begränsningsrutor för OCR PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Källa: d2i

Bildbehandling och begränsningsrutor för OCR PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Källa: d2i


Vill du automatisera repetitiva manuella uppgifter? Kontrollera vår Nanonets arbetsflödesbaserade dokumentbehandlingsprogramvara. Extrahera data från fakturor, identitetskort eller vilket dokument som helst på autopilot!


Vanliga användningsfall av avgränsande lådor

Objektlokalisering av självkörande fordon

Begränsningsrutor är en integrerad del av träningen av självkörande eller autonoma fordon för att identifiera föremål på vägen som byggnader, trafiksignaler, eventuella hinder och mer. De hjälper till att kommentera eventuella hinder och gör det möjligt för robotar att köra fordonet på ett säkert sätt och förhindra olyckor, även vid trafikstockningar.

Robotik bilder

Bildkommentartekniker som avgränsningsrutor används ofta för att markera synpunkter från robotar och drönare. Dessa autonoma fordon hjälper till att klassificera objekt på jorden med hjälp av fotografierna som erhållits från denna anteckningsmetod.

Bildtaggning för e-handel och detaljhandel

Anteckningar med begränsningsruta hjälper till att förbättra produktvisualiseringen, vilket är ett stort plus inom e-handel och detaljhandel. Modeller som tränats på liknande föremål kan kommentera föremål som modekläder, accessoarer, möbler, kosmetika, etc., mer exakt när de är korrekt märkta. Nedan är några av utmaningarna som åtgärdas av anteckningar om begränsningsrutor i detaljhandeln:

  • Felaktiga sökresultat

Om sökning är det enda sättet som kunder kan snubbla på e-handelswebbplatsen, kan felaktig katalogdata resultera i felaktiga sökresultat och därmed inte leda kundtrafiken till webbplatsen.

  • Oorganiserade leveranskedjor

För dem som vill utöka sin detaljhandelsverksamhet så att miljontals produkter kan levereras årligen, blir det absolut nödvändigt att ha offline- och onlinedata synkroniserade.

  • Kontinuerlig digitalisering

Det är viktigt att ha alla produkter digitaliserade och taggade systematiskt och snabbt för att säkerställa att kunderna inte missar några nya möjligheter. Dessutom måste taggarna sitta i sitt sammanhang, vilket blir svårt när detaljhandeln expanderar och fler produkter läggs till.

Upptäcker bilförlust för försäkringskrav

Tekniken att avgränsa lådor hjälper till att spåra bilar, cyklar eller andra fordon som skadats i en olycka. Maskininlärningsmodeller använder dessa bilder från begränsningsrutor för att förstå positionen och intensiteten av förluster. Detta hjälper till att förutsäga kostnaden för uppkomna förluster, baserat på vilka kunder kan presentera sin uppskattning innan de gör en rättegång.

Bildbehandling och begränsningsrutor för OCR PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Källa: Superanteckning

Upptäcka inomhusartiklar

Avgränsande lådor hjälper datorer att upptäcka föremål inomhus som sängar, soffor, skrivbord, skåp eller elektriska apparater. Detta låter datorer få en känsla av rymd och vilka typer av föremål som finns, med deras dimensioner och placering. Detta i sin tur hjälper maskininlärningsmodeller att identifiera dessa objekt i en verklig situation.

Bounding boxes används ofta i fotografier som ett djupinlärningsverktyg för att förstå och tolka olika typer av objekt.

Identifiering av sjukdomar och växttillväxt inom jordbruket

Tidig upptäckt av växtsjukdomar hjälper jordbrukare att förhindra allvarliga förluster. Med framväxten av smart jordbruk ligger utmaningen i utbildningsdata för att lära maskininlärningsmodeller för att upptäcka växtsjukdomar. Begränsningsboxar är en viktig drivkraft som ger maskiner den nödvändiga sikten.

Tillverkningsindustrin

Objektdetektering och identifiering av föremål i industrier är en viktig aspekt av tillverkningen. Med AI-aktiverade robotar och datorer reduceras rollen av manuell intervention. Som sagt, begränsningsrutor spelar en avgörande roll genom att hjälpa till att träna maskininlärningsmodellerna för att lokalisera och detektera industriella komponenter. Dessutom behöver processer som kvalitetskontroll, sortering och löpande bandoperationer, som alla är en del av kvalitetsledning, objektdetektering.

Medicinsk bildbehandling

Bounding boxes hittar också tillämpningar inom hälso- och sjukvårdsindustrin, till exempel inom medicinsk bildbehandling. Tekniken för medicinsk bildbehandling handlar om att detektera anatomiska föremål som hjärtat och kräver snabb och noggrann analys. Bounding boxes kan användas för att träna maskininlärningsmodellerna, som sedan kommer att kunna upptäcka hjärtat eller andra organ snabbt och exakt.

Automatiserade CCTV-apparater

Automatiserade CCTV-apparater är ett mandat i de flesta bostäder, kommersiella och andra anläggningar. Ofta krävs hög minneslagring för att behålla den inspelade CCTV-filmen länge. Med tekniker för objektdetektering som begränsningsrutor kan det säkerställas att filmen bara spelas in när vissa objekt identifieras. Bounding boxes kan träna maskininlärningsmodellerna, som endast kommer att upptäcka dessa objekt och i det ögonblicket kan materialet fångas. Detta skulle också bidra till att minimera omfattningen av lagring som krävs för CCTV och minska kostnaderna.

Ansiktsigenkänning och -detektion

Ansiktsigenkänning erbjuder flera applikationer, som det används vid biometrisk övervakning. Dessutom använder olika byråer som banker, flygplatser, butiker, arenor och andra institutioner ansiktsigenkänning för att förhindra brott och våld. Som sagt, ansiktsdetektion är en viktig del av datorseende som involverar bildbehandling. Och även här kan begränsningsrutor användas som ett effektivt verktyg för teckenigenkänning.


Vill du använda robotprocessautomation? Kolla in Nanonets arbetsflödesbaserade dokumentbehandlingsprogram. Ingen kod. Ingen krångel plattform.


Avgränsande rutor för teckenigenkänning

Objektdetektering omfattar – bildklassificering och objektlokalisering. Det betyder för att en dator ska kunna upptäcka ett objekt, den behöver veta vad det är för objektet i fråga och var det finns. Bildklassificering tilldelar en klassetikett till en bild. Objektlokalisering är relaterad till att rita begränsningsrutan runt objektet i fråga i en bild.

Processen innebär att en annotator ritar begränsningsrutorna runt objekten och märker dem. Detta hjälper till att träna algoritmen och gör att den förstår hur objektet ser ut. Som det första steget för objektdetektering måste bilddatauppsättningen ha etiketter.

Följ stegen nedan för att märka en bild:

  • Välj den datauppsättning som du vill träna och testa. Gör en mapp av det.
  • Låt oss ta exemplet med ett ansiktsdetekteringsprojekt som: BTS, Avenger, etc.
  • Skapa mappnamnsdata.
  • Skapa en mapp med namnet FaceDetection i Google Drive.
  • Skapa en mapp av bilden i mappen FaceDetection.
  • I bildmappen, gör mappar av testbilden, testa XML, träna bild och träna XML.
Bildbehandling och begränsningsrutor för OCR PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Källa:industriella

Nu, i tågbildmappen, ladda ner och ladda upp 10-15 bilder av BTS och Avengers i JPEG-format. På samma sätt, i testbildmappen, gör samma sak för 5-6 bilder. Det rekommenderas att ha fler bilder i datasetet för korrekta resultat.

Bildbehandling och begränsningsrutor för OCR PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Källa: industriella

Bildbehandling och begränsningsrutor för OCR PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Källa: industriella

Skapa sedan en XML-fil för varje bild av testbilden och träna bildmappar

Ladda ner och klicka på windows v_1.8.0. Klicka på .exe-filen från GitHub och tryck på Kör.

Klicka sedan på den öppna katalogen för att välja mappen för bilden. Du kommer att se bilden som måste märkas. För att märka, tryck på W på tangentbordet och högerklicka och dra markören för att rita rutan runt objektet. Ge den ett namn och klicka på OK.

Bildbehandling och begränsningsrutor för OCR PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Källa: industriella

Spara sedan bilden för att generera XML-filen för bilden i bildmappen, som visas nedan.

Bildbehandling och begränsningsrutor för OCR PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Källa: industriella

Öppna XML-filen för att se koordinaterna.

Bildbehandling och begränsningsrutor för OCR PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Källa: industriella

Upprepa proceduren för alla bilder för att generera XML-filerna och leta efter koordinaterna.


Om du arbetar med fakturor och kvitton eller oroar dig för ID-verifiering, kolla in Nanonets online OCR or PDF-textextraktion för att extrahera text från PDF-dokument gratis. Klicka nedan för att lära dig mer om Nanonets Enterprise Automation Solution.


Olika anteckningsformat som används i avgränsande rutor

I huvudsak har en begränsningsram 4 punkter i (x,y)-axlar som representerar hörnen:

Överst till vänster: (x_min, y_min)

Uppe till höger: (x_max, y_min)

Nederst till vänster:(x_min, y_max)

Nederst till höger: (x_max, y_max)

Koordinaterna för begränsningsrutan beräknas med avseende på bildens övre vänstra hörn.

Det finns flera anteckningsformat för begränsningsruta, som var och en använder sin egen representation av koordinaterna för begränsningsramen.

a. Albumenteringar

De använder fyra värden för att representera begränsningsrutan – [x_min, y_min, x_max, y_max] – som normaliseras genom att dividera koordinaterna i pixlar för x-axeln med bredden och y-axeln med bildens höjd.

Säg att koordinaterna för begränsningsrutan är: x1 = 678, y1 = 24; x2 = 543, y2= 213.

Låt bredd = 870, höjd = 789

Sedan [678/870, 24/789, 543/870, 213/789] = [ 0.779310, 0.030418 ,0.624137, 0.269961]

Albumentations använder och tolkar dessa värden internt med begränsningsrutor och förbättrar dem.

b. KOKOSPALM

Detta är ett format som används av Common Objects in Context COCO-datauppsättningen. I COCO-format representeras en begränsningsram av fyra värden: (x_min, y_min, width, height). I huvudsak hänvisar de till det övre vänstra hörnet och bredden och höjden på begränsningsrutan.

c. YOLO

I detta format presenteras en begränsningsram med fyra värden:(x_center, y_center, width, height). Här betecknar x_center och y_center de normaliserade x- och y-koordinaterna för mitten av begränsningsrutan. För att normalisera, x-koordinaten för mitten med bildens bredd och y-koordinaten för mitten med bildens höjd. Värdena för bredd och höjd är också normaliserade.

d. PASCAL

I Pascal-formatet representeras begränsningsrutan av koordinaterna uppe till vänster och längst ner till höger. Så, värdena kodade i pixlar är: [x_min, y_min, x_max, y_max]. Här är [x_min, y_min] det i det övre vänstra hörnet, medan [x_max, y_max] anger det nedre högra hörnet av begränsningsrutan.


Vill du automatisera repetitiva manuella uppgifter? Spara tid, ansträngning och pengar samtidigt som du ökar effektiviteten!


Försiktighetsåtgärder och bästa tillvägagångssätt för att använda avgränsningsrutor

Vissa försiktighetsåtgärder och bästa praxis rekommenderas för optimal användning av begränsningsrutor vid bildbehandling. De inkluderar:

Boxstorleksvariationer

Att använda alla begränsningsrutor av samma storlek ger inte exakta resultat. Att träna dina modeller på begränsningslådor av samma storlek skulle få modellen att prestera sämre. Till exempel, om samma objekt verkar mindre i storlek kan modellen misslyckas med att upptäcka det. I fallet med objekt som verkar större än förväntat kan det ta upp ett större antal pixlar och inte ge objektets exakta position och plats. Kruxet är att tänka på variationen i storlek och volym på föremålet för att uppnå önskat resultat.

Pixel-perfekt täthet

Täthet är en avgörande faktor. Detta innebär att kanterna på begränsningsrutan måste vara så nära objektet i fråga som möjligt för korrekta resultat. Konsekventa luckor kan påverka noggrannheten vid bestämning av överlappningsområdet mellan modellens förutsägelse och det verkliga objektet, vilket skapar problem.

Diagonala föremål placerade i avgränsande lådor

Problemet med objekt diagonalt placerade i en begränsningsram är att de tar upp betydligt mindre utrymme inuti rutan jämfört med bakgrunden. Men om den exponeras längre kan modellen anta att målet är bakgrunden eftersom det tar mer utrymme. Så, som en bästa praxis, rekommenderas att använda polygoner och instanssegmentering för diagonala objekt. Ändå är det möjligt att lära ut modellerna med en begränsningsruta med en bra mängd träningsdata.

Minska boxöverlappning

Det är alltid säkert att undvika anteckningsöverlappningar i alla scenarier. Ibland kan detta orsaka så mycket trassel att endast några överlappande rutor kan bli synliga. Objekt som har en märkningsöverlappning med andra enheter ger relativt sämre resultat. Modellen kommer inte att kunna skilja mellan målobjektet och andra objekt på grund av överlappning. I sådana fall kan polygoner användas för högre noggrannhet.

Slutsats

Bildbehandling är en framväxande tekniksfär som erbjuder bred räckvidd. Som sagt, begränsningsrutor utgör den vanligaste bildbehandlingstekniken.

Sammanfattningsvis är begränsningsrutor en metod för bildkommentarer för att träna AI-baserade maskininlärningsmodeller. Den används för objektdetektering och måligenkänning i en mängd olika applikationer, inklusive robotar, drönare, autonoma fordon, övervakningskameror och andra maskinseendeenheter.

Föreslagna resurser:

https://www.kdnuggets.com/2022/07/bounding-box-deep-learning-future-video-annotation.html#:~:text=A%20bounding%20box%20is%20a,location%2C%20size%2C%20and%20orientation.

https://www.v7labs.com/blog/bounding-box-annotation

https://towardsdatascience.com/image-data-labelling-and-annotation-everything-you-need-to-know-86ede6c684b1


Nanonetter online OCR & OCR API har många intressanta använd fall that skulle kunna optimera ditt företags resultat, spara kostnader och öka tillväxten. Ta reda på hur Nanonets användningsfall kan tillämpas på din produkt.


Tidsstämpel:

Mer från AI och maskininlärning