Utveckling och systemintegrering av mjukvara för detektering och klassificering i realtid av lokala defekter hos långsmala objekt från bildsensor

Relevanta dokument
2011 Studsvik AB PANORAMA-BILDTAGNING. Tony Björkman

Lära känna skrivbordet

Ljusets böjning & interferens

Begrepp Värde (mätvärde), medelvärde, median, lista, tabell, rad, kolumn, spridningsdiagram (punktdiagram)

Microsoft Publisher. Laborationskompendium för digital behandling av publikationer. Detta exemplar tillhör:

Laboration: Att inhägna ett rektangulärt område

Matematik 2 Digitala övningar med TI-82 Stats, TI-84 Plus och TI-Nspire CAS

Installationsguide. För att installera mjukvara och hårdvara, följ nedanstående anvisningar.

Kristian Pettersson Feb 2016

LEGO Robot programmering och felsökning Hur svårt ska det vara att följa den svarta linjen?

Tentaupplägg denna gång

Senaste revideringen av kapitlet gjordes , efter att ett fel upptäckts.

Kontakt: Mikael Forsman Användarmanual för VIDAR 4.0

Matematik och modeller Övningsuppgifter

Smartair System. TS1000 Version 4.23

Föreläsning 3.1: Datastrukturer, en översikt

KARMATIC PROFILER 2000 Manual

Objektiv. Skillnad i egenskaper mellan objektiv med olika brännvidder (småbild)

Bilaga till Fas 2-rapport för Joroma AB

Digitalt lärande och programmering i klassrummet. Introduktionsworkshop - Bygg ett akvarium i Scratch

4-7 Pythagoras sats. Inledning. Namn:..

Fingerprint Matching

SLALOMINGÅNGAR hur svårt kan det vara?

Tips och tricks 1 Cadcorp SIS

Sida 1 av 12. WSB Biodling. Manual V

DOPmatematik. Ett dataprogram för lärare. som undervisar i matematik. (Lågstadiet) Mellanstadiet. Högstadiet. Gymnasiet. Vuxenutbildning.

L A B R A P P O R T 1

Resurscentrum för kommunikation Dako SymWriter. Minimanual

Detta är en kort Manual för Vecturas portal för presentation av inventeringar. Adressen till portalen är:

TOPAZ PHD. Användarmanual

Kompletterande lösningsförslag och ledningar, Matematik 3000 kurs A, kapitel 6

Tentaupplägg denna gång

Copyright 2008 Pausit AB medföljer programvaran pausit. Pausit version 1.2 Användarmanual

Procedurell stad. Projekt i kursen TNM022 Procedurella metoder för bilder. Tobias Heldring, tobhe

Survey&Report steg för steg: Skapa rapport

Lennart Carleson. KTH och Uppsala universitet

AQ-Box med Winlog kanalers mätsystem samlar och bearbetar 8 givarsignaler i en PC

1 Översikt. 1.1 Koncept 1 (19) Tomas Rook Dokument typ Rev. Manual

Föreläsning 6: Introduktion av listor

Repetitionsuppgifter i Matematik inför Basår. Matematiska institutionen Linköpings universitet 2014

Programmering A C# VT Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson

Att använda bildhanteringsprogram, del 2

Upptäcka och analysera. Qlik Sense 1.1 Copyright QlikTech International AB. Alla rättigheter förbehållna.

Figur 1. Skärmbild med markerade steg i videon. Diagram och tabell som visar positionerna som funktion av tiden.

RödGrön-spelet Av: Jonas Hall. Högstadiet. Tid: minuter beroende på variant Material: TI-82/83/84 samt tärningar

Sockets: server. with Ada.Command_Line; use Ada.Command_Line; with Ada.Exceptions; use Ada.Exceptions; with Ada.Text_IO; use Ada.

Vätebränsle. Namn: Rasmus Rynell. Klass: TE14A. Datum:

Fortsättningskurs i programmering F 2. Algoritmer i Programutveckling Hugo Quisbert Problemexempel 1

Tolv dagar med Microsoft Office Excel 2007

InPrint. Grunderna för hur du kommer igång och arbetar med Communicate: InPrint. Habilitering & Hjälpmedel

Här kan du välja befintligt upplägg eller skapa ett nytt. Klicka på edit uppe till höger för att redigera och/eller skapat nytt.

T-tunika med formremsa i halsringningen

Rita med ritstift. Raka banor Klicka med Ristiftet vid varje hörn.

Page: 1 of 14 Title: TouchCenter 2 & 4 Revision: 1 Type: User Manual Author: MK. Användarmanual. TouchCenter 2 & 4

Macromedia Flash MX 2004

Procedurell grottgenerator och eld i GLSL. Marcus Widegren

Concept Selection Chaper 7

Bermudatriangeln där alla problem försvinner spårlöst av Eva Bertilsson och Emelie Johnson Vegh publicerad i Canis 2008

Laboration i Fourieroptik

Observationer rörande omvandling av digitala yttäckande vektordata till rasterformat.

CSN-rapportering, gymnasiet

BOOK-IT OFFLINE. Version

Lumbago - Förord. Välkommen till Journalprogrammet Lumbago.

Bildslinga Användarguide

Forma komprimerat trä

Skapa ett register över din grupp/klass

Microsoft Habu. 1. Inledning. 2. Specifikation. Kringutrustning Kontakt Microsoft Skribent Herman Ulltin

LJ-Teknik Bildskärpa

4:4 Mätinstrument. Inledning

Gemensam presentation av matematiskt område: Geometri Åldersgrupp: år 5

Kurvlängd och geometri på en sfärisk yta

4:7 Dioden och likriktning.

Intraoral kamera. Installations- och användarmanual

9-1 Koordinatsystem och funktioner. Namn:

Manual för administratörer - fiske

Objektorienterad programmering D2

Inspektion Användarmanuel

Senaste version kan hämtas från Internet i PDF 1 format

Metoder för detektering av pittingskador i motorer.

FOTOKURS ONLINE. Bli en bättre fotograf medan du plåtar ANNA FRANCK

Skriv in sökvägen sam.sll.se

Kapitel 2 Vägg/golv... 3

Övningar Dag 2 En första klass

Kyrkans GPS. Version 1.0. Manual

Läs detta innan du fortsätter, eller skriv ut det, klicka runt lite och läs samtidigt.

Din manual MCAFEE TOTAL PROTECTION

Kapacitansmätning av MOS-struktur

Planeringsspelets mysterier, del 1

2. Komma igång Skapa grupper och elever Skriv också ut sidan 13 så att eleverna har en snabbguide till programmet.

Datorövning 1 Statistik med Excel (Office 2010, svenska)

Att hämta raps-data via Internet

Öppna bilden C:\Photoshop5-kurs\Bananer 96ppi.psd. Aktivera verktyget Färgpyts i verktygslådan.

4 Halveringstiden för 214 Pb

Resurscentrum för kommunikation Dako SymWriter 2. Minimanual

Den golfspelande roboten

19. Skriva ut statistik

STADSBYGGNADSFÖRVALTNINGEN. Aktivitetsstöd. Behörigheten Föreningsadministratör. Datum: Version 2. Sidan 1 (30)

1284_omslag.qxd :13 Sida 1 ECDL START OFFICE 2003 Allmän IT Windows XP Word 2003 Outlook 2003

Microsoft Windows 8 Grunder

5 Relationer mellan individens utvecklingsnivå, olika verktyg och användning av olika produkter

Transkript:

Utveckling och systemintegrering av mjukvara för detektering och klassificering i realtid av lokala defekter hos långsmala objekt från bildsensor Tobias Karlsson TRITA-NA-E030

Numerisk analys och datalogi Department of Numerical Analysis KTH and Computer Science 00 44 Stockholm Royal Institute of Technology SE-00 44 Stockholm, Sweden Utveckling och systemintegrering av mjukvara för detektering och klassificering i realtid av lokala defekter hos långsmala objekt från bildsensor Tobias Karlsson TRITA-NA-E030 Examensarbete i datalogi om 0 poäng vid Programmet för elektroteknik, Kungliga Tekniska Högskolan år 003 Handledare på Nada var Stefan Carlsson Examinator var Stefan Carlsson

Sammanfattning När man tillverkar papper är man i allmänhet intresserad av att styra kvalitén på den slutliga produkten så långt det är möjligt. Det handlar inte alltid om att få den bästa kvaliteten utan det är ofta viktigare att hålla en jämn kvalitet vid tillverkningen. För att kunna göra detta så mäter man egenskaperna hos råvaran d.v.s. cellulosafibrerna i pappersmassan. Det finns flera olika kommersiella mätare som är baserade på olika metoder för att göra dessa mätningar. Metoder som används kan vara NIR-spektroskopi för att mäta arkegenskaper eller olika typer av bildbaserade system som analyserar de enskilda fibrernas egenskaper i massan (Levlin, J-E. & Söderhjelm,L 999). Fiberegenskaper som mäts är till exempel längd och bredd. STFI Fibermaster är ett bildbaserat mätinstrument som klarar av att mäta på fibrer som har en bredd i storleksordningen µm. Förutom längd och bredd spelar graden av defekter och formen på fibrerna roll när man ska kontrollera hur massakvalitén ser ut. För att få ut mera information om hur böjda fibrerna i massan är, har något som kallas formfaktor tagits fram i Fibermaster (se Fransson m. fl. 990). Formfaktorn hos en fiber har man definierat som längden på fibern dividerat med diametern hos en tänkt cirkel som innesluter fibern vilket ger att en helt rak fiber har formfaktorn medan en dubbelvikt får formfaktorn 0,5. Formfaktorn i Fibermaster säger en del om cellulosafiberns form men inte om fibern är böjd i en punkt eller om det är en jämn böjning över hela fibern. Kink kan definieras som en tillräckligt stor momentan riktningsförändring som beräknats över ett begränsat relativt kort längdintervall på en cellulosafiber. Kink används som ett deformationsmått på cellulosafibrer. Den här rapporten handlar om att implementera kinkmätning i den kommersiella versionen av Fibermaster. Fibermaster tar sina prov direkt från massaflödet i pappersbruket eller direkt från sitt eget labbinkast där man kan mata in manuella prover. Sedan späds provet till en låg koncentration så att det blir möjligt att urskilja enstaka fibrer från varandra. Spädningen hjälper till att separera fibrer som fastnat i varandra. Sedan pumpas provet runt genom en mätcell där det belyses samtidigt som en bildsensor registrerar bilder. Bilderna kan skickas till en överordnad Pc där bilderna analyseras. I Fibermaster används en enkel algoritm för att sortera bort fibrer som fortfarande sitter ihop efter spädning av provet. För varje objekt i bilderna försöker man helt enkelt att identifiera ändpunkter och såvida inte exakt två ändpunkter hittas så tolkas objektet inte som en fiber. På bildobjekt som består av två korsade eller överlappade fibrer kommer man att hitta flera ändpunkter än två och av den anledningen kan man sortera bort objektet ifråga. När kink ska beräknas tar man fram riktningsförändringen utmed hela cellulosafibern. Riktningsförändringen beräknas i varje punkt längs med fibern över ett avgränsat längd-intervall. Genom att leta efter extrempunkter i riktningsförändringen utmed fibern kan man lokalisera kinkar och sedan beräkna hur stor den s.k. kinkvinkeln är. 3

Kinkprogrammet har implementerats för att exekvera i mätarens Pc med anledning av att programminnet i kamerorna helt enkelt inte räcker till för att köra kinkmätningarna där. Nackdelen med att köra kinkprogrammet i mätarens dator är att hela proceduren för en kinkmätning tar längre tid än om man skulle kunna köra den i mätarens kamera. Flaskhalsen är själva överföringen av bilder mellan kamera och dator. Det skulle vara möjligt att bygga om kameran så att det går att implementera kinkprogrammet i kameran men detta skulle bli en betydligt mera komplicerad lösning att åstadkomma än att implementera kink i mätaren dator. En annan möjlighet för att öka hastigheten i kinkmätningen är att bygga om kameran så att det blir möjligt att få en snabbare överföring mellan Pc:n och kameran. Om man får en tillräckligt snabb överföring mellan Pc:n och kameran kommer Pc:ns processor snarare än processorerna i kameran att sätta gränsen för hur fort mätningen kommer att gå. Genom att implementera kink i Fibermaster så får man tillsammans med formfaktorn som redan finns där en mera komplett bild av fiberns utseende. Det slutliga målet med att implementera kink i FiberTrackers kommersiella version av Fibermaster är att kunna se samband mellan lokala fiberdeformationer på de enskilda cellulosafibrerna och t.ex. arkegenskaper. 4

Development and system integration of software for detection and classification in realtime of local deformations on thin objects from image sensor Abstract When manufacturing paper you are interessted in measuring certain characteristics that have influence of the pulp and paper quality. There are several commercial measurement systems that measure these characteristics. Methods used are for example NIR and image analysis based methods. Fibermaster is a measurement system that can measure length and width on cellulosa fibers in pulp. There is also a method implemented in Fibermaster that measures the shape of the fibers. To learn more about deformations on fibers you could study local fiberdeformations where the shape changes drastically over a predefined length of the fiber and then measure the angle of the deformations. This report is about a method for calculating these local fiber deformations of the fibers. Fibermaster takes a sample directly from the process in the mill and dilutes the sample before starting to measure on it. The sample is circulated in the internal measuring loop in the Fibermaster and the fibers passes a measuring cell where the fibers are illuminated and the image is registered on an image sensor. Two DSP-processors in the camera handles the sensor and image analysis. The images are sent to the Pc for further analysis. A simple alghoritm is used to detect the endpoints on the fibers. If the object analysed doesn t have exactly two endpoints it s not interpreted as fibers. Crossed fibers and impurities are sorted out and then the program searches for local deformations on the fibers. This is done by calculating a directionchange curve from the chaincode of the object. Normally when measuring length and width all the work is done within the cameras and only the results is sent to the Pc. Especially the chaincode computation takes a lot of time. The problem is that the memory in the cameras isn t big enough to let the local fiber deformation program be implemented in the camera. The time consuming part is when the images should be transfered from the camera to the Pc. 5

6 Utveckling och systemintegrering av mjukvara för detektering och

Förord Den här rapporten beskriver examensarbetet Utveckling och systemintegrering av mjukvara för detektering och klassificering i realtid av lokala defekter hos långsmala objekt från bildsensor utfört vid FiberTracker AB. Examensarbetet är utfört inom ämnet datalogi vid forskargruppen CVAP (The Computational Vision and Active Perception Laboratory ) vid institutionen Nada, KTH. Handledare på CVAP har varit Docent Stefan Carlsson och handledare på FiberTracker AB har varit Civ. ing. Per-Ivar Fransson. 7

8 Utveckling och systemintegrering av mjukvara för detektering och

Innehållsförteckning Bakgrund.... Kink och formfaktor.... Specifikation av examensarbetet...4 Metodbeskrivning...4. Kedjekodsgenerering...4. Algoritm för kinkberäkning...6.. Kinkvinkel med hjälp av toppvinkelmetoden...3.. Vinkel som funktion av arean under riktningsförändringskurvan...4..3 Kinkvinkel med hjälp av riktningsvektorer utmed fibern...4 3 Lösning...5 3. Testnings och utvecklingsmiljö...5 3. Översikt av program för kinkberäkning i Fibermaster...5 3.3 Presentationsprogram för utdata från kinkprogrammet...8 4 Resultat, slutsatser...3 4. Kinkprogrammets prestanda...3 4. Jämförelse mellan långt och kort viktningsfilter...3 4.3 Test av kinkprogrammet med konstfibrer...38 4.4 Test av kinkprogrammet med barrfibrer före och efter mixning med handmixer...40 4.5 Exempel på beräkningar från kinkprogrammet...4 5 Förslag till fortsatt arbete med kinkprogrammet...44 6 Avslutning...45 7 Referenser...46 8 Bilagor...47 8. Tekniken i Fibermaster...47 8.. Schematisk beskrivning av mätaren...47 8. Utdatafiler från kinkmätning...48 8.. Fil med antal kinkar i varje fiberlängdklass...48 8.. Fil med fibersegmentlängder mellan kinkar...49 8..3 Fil med formfaktor för fibersegment...49 8..4 Fil med information om kinkplacering...50 8..5 Rådatafil från kinkmätningen...50 8..6 Fil med kedjekod för varje fiber...5 8..7 Översiktsfil från kinkmätningen...5 8.3 Uppstart av kinkprogrammet...54 8.4 Initieringsfil för kinkprogrammet...54 8.5 Kamerornas uppbyggnad...55 8.5. Digitala bilder...55 8.5. Allmänt om DSP:er...56 8.5.3 TMS30C50...56 8.5.4 MAPP00...57 8.5.5 Bakgrundsbild...57 8.5.6 Protokoll specifikation mellan kamera och värddator...57 8.5.7 Exempel på dataöverföring...59 8.5.8 Optiken i kamerorna...59 9

0 Utveckling och systemintegrering av mjukvara för detektering och

Bakgrund FiberTracker AB var ett litet företag som utvecklar och säljer mätsystem för mätning av fiberegenskaper inom pappers och massaindustrin. Företaget bildades 998 som ett avknoppningsföretag från Skogsindustrins Tekniska ForskningsInstitut. Fibermaster (se vidare avsnitt 8.) är ett bildanalysbaserat mätsystem som normalt används on-line i processen i ett pappersbruk eller för off-linemätningar vid forskningslaboratorier. Genom att i snabb följd ta ett stort antal bilder av en strömmande fibersuspension och sedan behandla denna information i en dator så kan egenskaper som längd, bredd och formfaktor hos fibrerna i massan mätas. I Fibermaster är två kameror med olika upplösning kopplade till en Pc. I kamerorna detekteras mikroskopibilden av fibrerna. Vid en normal mätning med Fibermaster görs bildbehandling och beräkningar i kamerorna och sedan sammanställs statistiken från fibermätningen i mätarens Pc. Det finns också en möjlighet att göra den primära bildbehandlingen(bildförbättring) av bilderna i kamerorna och sedan skicka dessa till Pc:n med en hastighet av cirka 5 bilder per sekund. Idéen till examensarbetet är att man ska använda detta för att efter den normala mätningen kunna köra en extra mätning på samma prov och låta en av kamerorna skicka bilder till Pc:n. I Pc:n skulle sedan ytterligare analyser av dessa bilder göras. Att lägga dessa analyser i kamerorna ansågs bli alltför invecklat och skulle ta för mycket plats i kamerornas programmine. Tanken var att programmet i Pc:n skulle detektera lokala deformationer hos de långsmala objekten d.v.s. fibrerna som finns på bilderna. Statistiken skulle vara lämpligt upplagd för vidare studier av hur fiberdeformationer påverkar massakvaliteten och papperets slutliga egenskaper. Utveckling och forskning kring att detektera lokala deformationer eller kink på fibrer har gjorts vid Skogsindustrins Tekniska ForskningsInstitut. Detta arbete kommer att ligga till grund för examensarbetet. I en äldre forskningsversion av Fibermaster finns en implementation av kinkmätning som jag har utgått ifrån vid implementering av kink i FiberTrackers nya industriversion av Fibermaster. Dessa två mätare skiljer sig i grunden från varandra. Jag har använt mig av grundstrukturen i det gamla kinkprogrammet ifrån Skogsindustrins Tekniska ForskningsInstitut vid utveckling av det nya. Delar av programmet är nytt som till exempel kommunikationen med kameran och hur bilderna behandlas i datorn i FiberTrackers version av Fibermaster (Mohlin m. fl., 999 och Fransson m. fl. 00). Delar av kinkalgoritmen har förbättrats och andra delar är nyskrivna. Till exempel används samma metod för att beräkna riktningsförändringen utmed fibersidorna på fibern. Men genom att utgå från båda ändpunkterna på fibern vid beräkning av kinkens placering utmed fibern fås en bättre precision och flera kinkar som inte detekteras om man bara tittar från ena ändpunkten identifieras. Toppvinkelberäkning för kinkvinkelberäkning finns implementerad. Kedjekodsberäkningen och perimeterberäkning ser helt annorlunda ut. En extra filtrering av kedjekoden görs för att få en stabilare riktningsförändringssignal. Formfaktorn för enskilda segment mellan kinkar beräknas utmed fibern i den nya versionen. Statistik för kinkens placering utmed fibern beräknas. Program för att kunna titta på hur kinkberäkningarna ser ut finns implementerad.

Implementering av kink i FiberTrackers version av Fibermaster är en del i ett utvecklingsprojekt mellan Skogsindustrins Tekniska ForskningsInstitut, Södra Cell AB och FiberTracker AB. Södra Cell AB är intresserad av att kunna se om det går att prediktera ark-egenskaper med kink och också eventuellt med andra signaler som form och längd från Fibermaster. Inledande försök i projektet har varit positiva och arkegenskaper som drag-styvhetsindex har kunnat predikteras bra utgående från kinksignaler.. Kink och formfaktor Vid tillverkning av papper så behandlas massan på olika sätt i olika delar av processen i pappersbruket. Formen på fibrerna ändras beroende på olika faktorer som till exempel kokning och malning. Vid fysisk påverkan på fibrer så tar fiberns väggar upp vatten och sväller vilket gör att fibern rätar ut sig. Man kan också tillföra deformationer på fibrerna genom att i torrt tillstånd mala fibrerna i speciella kvarnar. Enligt en studie gjord vid STFI om barrvedsmassa kunde det visas att kokning, syrgasblekning och slutlig blekning i processen påverkade formen på fibrerna (Mohlin, 995). Man hittade också samband mellan dragstyvhetsindex och formfaktorn som mättes med STFI Fibermaster. Formfaktorn för en fiber räknas ut genom att dividera fiberns projicerade längd med diametern på en cirkel som innesluter hela fibern. I praktiken används en rektangel som innesluter fibern för att beräkna formfaktorn (se Figur ). För en dubbelvikt fiber kommer vi alltså att få ett värde på formfaktorn som närmar sig 0,5 och för en helt rak fiber närmar sig formvärdet. Figur. Definition av formfaktor för en fiber. I Fibermaster beräknas diagonalen D genom att innesluta fibern i en tänkt rektangel istället för en cirkel av datorprestandamässiga skäl. Detta värde säger en hel del om hur fibrernas form ser ut men inte något om hur böjningen på fibern ser ut i avseende på placering och utbredning utmed fibern. Genom att djupare söka information om vinkelns utsträckning, storlek och placering på fibern kan man få en mera komplett bild av fiberns formegenskaper. Upplösningen i Fibermaster är inte tillräckligt hög för att detektera alla typer av deformationer på fibrerna, men tydliga riktningsförändringar längs med fibern är möjliga att detektera. I Figur ges exempel på beräknad formfaktor och kinkvinklar för tre olika fibrer.

Figur. Formfaktor och kinkar med tillhörande kinkvinklar beräknade av kinkprogrammet. Om en kink med en viss vinkel är placerad mitt på fibern så kommer denna fiber att få en lägre formfaktor än en fiber med samma kinkvinkel men med en placering närmare ändpunkten på fibern. Enligt detta resonemang så kommer alltså kink och form inte att säga samma sak om fiberns egenskaper. En ökande kinkvinkel med samma position på fibern kommer självklart att för samma fiber ge en lägre formfaktor med ökande kinkvinkel. Men om flera konsekutiva kinkar åt olika håll förekommer på fibern kommer formfaktorn inte att sjunka på samma sätt med en ökande kinkighet för fibern. Enligt en modellstudie av Kenneth Olofsson (996) så spelar både formfaktor och kink stor roll vi karakterisering av fibrer i pappersmassa.vissa typer av åverkan på fibrer registreras inte av kinkprogrammet. Små skador i fiberväggarna på fibern tolkas inte som kink (se Figur 3 och Figur 4). Figur 3. Ytskada. Figur 4. Utskott. Större åverkan av typen nedan tolkas som kinkar (se Figur 5 och Figur 6). Figur 5. Vikt fiber. Figur 6. Knäckskada på en fiber. 3

. Specifikation av examensarbetet Arbetet med att i FiberTrackers mätsystem implementera mätning av lokala riktningsförändringar hos cellulosafibern kan grovt delas in i fyra delar:. Undersöka vad som tidigare gjorts när det gäller att med bildanalys detektera kink på fibrer.. Verifiera och förbättra metoden för att beräkna kink (Jung 995). Utveckla ett hjälpsystem för att kunna verifiera och vidareutveckla denna metod. Utveckla ett program i programspråket C som på ett prestandamässigt acceptabelt sätt utifrån Fibermasters fibersuspensionsbilder beräknar ett kinkindex (d.v.s. beräknar ett sammanvägt mått på förekomsten av skarpa vinklar på fibrerna som beskriver förekomsten av lokala deformationer på fibrerna i provet). Eftersom en mätning görs på upp till 0 000 fibrer krävs en effektiv algoritm för att mätningar av kink skall kunna göras on-line på rimlig tid. 3. Integrera programvaran i mätsystemet till en fullt fungerande funktion. 4. Testa systemet och rekommendera inställningar av algoritmerna. Examensarbetet utförs på FiberTracker AB som också tillhandahåller den utrustning som behövs för att kunna genomföra arbetet. Examensarbetet påbörjades 00-0-3. Metodbeskrivning. Kedjekodsgenerering För att kunna beräkna parametrar som omkrets och area för ett objekt i en trösklad bild så måste man känna till hur objektets rand ser ut (Grunderna till detta avsnitt kan studeras i referens Young m. fl., 00). Genom att utgå från en randpixel på ett objekt och söka sig moturs från en given riktning till nästa randpixel utmed hela objektets rand får man information om objektets form. Kedje-koden kan anta åtta olika riktningsvärden från 0 till 7 (se Figur 7). Värdet 0 innebär att man förflyttar sig ett steg åt höger till intilliggande pixel i bilden och innebär att man förflyttar sig till den pixel som är lokaliserad rakt ovanför den pixel som man befinner sig bredvid. Figur 7. Kedjekodens åtta riktningar. Kedjekoden karakteriseras av att jämna tal {0,, 4, 6} representerar horisontella och vertikala riktningar medan udda tal {, 3, 5, 7} representerar diagonala riktningar i bilden. Varje kod beskriver riktningen till nästa randpixel på objektet. Om två konsekutiva kedjekoder ändras så har randen ändrat riktning och vi har ett hörn. En ändring från 0 till motsvarar en riktningsändring på 45. De absoluta startkoordinaterna vid någon av objektets randpunkter tillsammans med kedjekoden representerar hela objektets rand. 4

När kedjekoden för objektet är känd kan perimeterlängd och area beräknas utifrån koden. Är man sedan intresserad av att beräkna längd och bredd hos fibrer kan en enkel modell ställas upp för beräkning av längd och bredd tillsammans med perimeter och area för objektet. Genom att sätta upp en modell för fibern som i Figur 8 så kan man ställa upp ett ekvationssystem enligt formel (.). + l b A l b P, perimetern P, arean A, längden l och bredden b för fibern. (.) Detta ger en andragradsekvation enligt formel (.) nedan ur vilken längden och bredden för fibern kan beräknas. 0 4 + + A P b l b l (.) 4 6 4 8 4 + ± A P A P A P b l 8 8 8 x A P A P A P b l + x A b l A l l l b l A Θ x A b b l b A 5 Figur 8. Fibermodell för beräkning av längd och bredd.

Perimetern P och arean A beräknas ur kedjekoden för objektet. L är fiberns längd och B dess bredd. Den här metoden gör det möjligt att beräkna bredden för fibern med en högre precision än en pixel. Fiberbredden ligger normalt kring pixel med en pixelbredd på omkring µm vid mätningar på cellulosafibrer i Fibermaster.. Algoritm för kinkberäkning Fibern i Figur 9 används i detta avsnitt för att beskriva algoritmen för kinkberäkning som används i kinkprogrammet. Figur 9. Mekaniskt behandlad PVA-fiber(konstgjord fiber av nylon ) för att införa kinkar. Den algoritm (delvis beskriven i Jung,995) som används i programmet för att beräkna förekomster av kinkar utmed en fiber kan beskrivas enligt följande:. Detektera ett objekt i en bild överförd från kameran via serielänken till värddatorn.. Skapa kedjekod för randen på objektet (se avsnitt.). Funktionen som genererar kedjekoden får startkoordinaterna för objektet. Dessa startkoordinater måste ligga på randen till objektet som undersöks. Randen på objektet sveps moturs. I Figur 0 ser man ett exempel på vad kedjekoden blir för ett objekt. Figur 0. Exempel på kedjekodsriktningar för ett objekt. Start vid markerad pixel ger kedjekoden: {0 0 0 0 5 4 4 5} 6 3. För att perimeterlängden ska bli mindre beroende på enstaka pixlar som avviker från randen modifieras kedjekoden enligt nedan. En pixlig fiberrand med ett utseende som i Figur skulle ge en längre perimeter än önskvärt.

Figur. Filtrering av fiberranden. 4. För att det undersökta objektet skall tolkas som en fiber måste objektets rand vara tillräckligt lång. Det finns en parameter som bestämmer det totala antal pixel som randen på objektet måste vara. Denna parameter kommer i förlängningen att styra den minsta längden på fibrerna som kommer med i de slutliga kinkdataresultaten. 5. Modifiera kedjekoden så att när randen på objektet sveps moturs och kedjekoden går från 7 till 0 i nästa steg ändras koden så att den går från 7 till 8 istället. Om kedjekoden går från 0 till 7 så ändras koden till att gå från 0 till -. Genom att göra så här kan riktningsförändringskurvan beräknas lättare i nästa steg. När fiberns rand har svepts ett varv runt och man är tillbaka i samma punkt man startade kommer skillnaden mellan den modifierade kedjekodens startvärde och slutvärdet alltid att vara exakt 8 steg eller motsvarande 360. Figur. Vid kedjekodsberäkning för objekten sveps randen moturs. I Figur 3 ses ett exempel på hur den modifierade kedjekoden ser ut för det spiralformade objektet i Figur. Identifierade ändpunkterna för fibern har markerats med fyllda pixlar. När riktningsförändringskurvan beräknas utifrån den modifierade kedjekoden tas hänsyn till nivåskillnaden mellan de första punkterna och de sista punkterna i den modifierade kedjekoden. Det vill säga om riktningsförändringen i den första punkten i kedjekoden ska beräknas så kommer de sista värdena i den modifierade kedjekoden att subtraheras med 8 innan deriveringen i punkten görs (se vidare avsnitt 6). 7

5 0 5 0 5 0 8 5 9 36 43 50 57 64 7 78 85 9 99 06 3 0 7 34 4 48 55 6 69 76 83 90 97 04 8 kedjekod mod_kedjekod Figur 3. Kedjekodsberäkning för spiralformad fiber(se Figur ). 6. Riktningsförändringen i en punkt beräknas med hjälp av en viktningsfunktion. Viktningsfunktionens utseende kan väljas med hjälp av en parameter i initieringsfilen och har stor betydelse för fortsatta beräkningarna då kinkar skall analyseras. Genom att välja en viktsfunktion som viktar punkter närmare riktningsförändringspunkten högre än de längre bort kommer man lättare att detektera snabba förändringar utmed randen vilket också leder till att ändpunkterna på fibern kommer att lokaliseras mera exakt. Nackdelen med ett kortare viktningsfilter är att riktningsförändringskurvan kommer att bli mera brusig då den påverkas lättare av förändringar utmed randen. Värdet noll i riktningsförändringskurvan innebär att ingen riktningsförändring sker i punkten och positivt respektive negativt värde innebär vridning åt ena respektive andra hållet i punkten. 8

4 0 8 6 4 0 9 7 5 33 4 49 57 65 73 8 89 97 05 3 9 37 45 53 6 69 77 85 93 0 09 7 5 33 4 49 57 65 73 8 89 97 305 - kedjekod mod_kedjekod riktningsförändring topp Figur 4. Beräkning av riktningsförändringskurva för PVA-fibern.Värdet 0 för riktningsförändringskurvan innebär att ingen riktningsförändring i punkten sker. Värdet 4 innebär en riktningsförändring på 80 grader det vill säga en ändpunkt på fibern har detekterats. Kinkarnas motsvarighet i riktningsförändringskurvan finns markerat i figuren. I Figur 4 kan man se hur den modifierade kedjekoden ser ut och hur riktningsförändringskurvan som beräknas ur den modifierade kedjekoden kommer att se ut för PVA-fibern i exemplet. Den första stora toppen i riktningsförändringskurvan är den ena ändpunkten och nästföljande stora topp den andra. 9

-4-3 - - 0 3 4 0 4 6 8 0 4 6 8 0 Figur 5. Viktningsfiltret ovan visade sig fungera genomgående bra för beräkning av riktningsförändringskurvan för olika typer av fibrer. Jag testade olika typer av viktningsfilter: boxfilter och triangelfilter men kom fram till att filtret ovan fungerar bäst. Riktningsförändringen beräknas enligt formel (.3) nedan. Viktningsfiltret som använts i kink-programmet ses i Figur 5. [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] > + + + + + + < + + + + + + + + + + + /, 0,5 8) ( / / /, 0,5 / 8) ( / / /, 0,5 / ] [ 0 / 0 / 0 / 0 / 0 / / L N x j f m i L i f m i L i f L x j f m i L i f i m N L i f L N x L j f m i L i f x riktningsförändringen L j j L x i i N i L x i L j j L x i i i L x i L j j L x i L x i där f är filterfunktionen(se Figur 5), L är filterlängden, N är antal data i kedjekoden, m är den modifierade kedjekoden och 0 < x < N. 7. Objektets riktningsförändringskurva undersöks för att hitta extremvärden på momentana vinkeländringar utmed fibern som är tillräckligt stora (> 60 ) för att tolkas som en ändpunkt på fibern. Objektet tolkas inte som en fiber om objektet har flera ändar än två (se Figur 6), det vill säga vinkeländringen överstiger gränsen för det minsta värdet för att tolkas som en ändpunkt fler än två gånger. 0 (.3)

Figur 6. Objekt med fyra ändpunkter underkänns av kinkprogrammet. Om objektet bara har en ändpunkt alternativt ingen ändpunkt så förkastas också objektet (se Figur 7). Figur 7. Objekt med en detekterad ändpunkt förkastas av kinkprogrammet. Med hjälp av informationen om ändpunkternas position utmed fibern så delas riktningsförändringskurvan upp i fyra delar. Utgående från den ena ändpunkten på fibern läggs riktningsförändringskurvorna för fiberns båda sidor jämsides och den kortare sidan töjs i slutet för att bli lika lång som den längre sidan. Värdena från slutet på den längre sidan läggs till i slutet på den kortare sidan. Sedan utgår man från den andra ändpunkten och lägger riktningskurvorna för fiberns båda sidor jämsides och töjningen sker den här gången på samma sätt fast vid den första ändpunkten. Vid kinkar kommer nu riktningsförändringskurvorna att ligga i motfas. Om ena sidan är längre än den andra medför detta att det är större chans att kinkarna utmed de två sidorna (som syns i riktningsförändringskurvorna) hamnar mitt för varandra ju närmare fiberändarna på fibern man kommer. Om randskillnaden mellan ändpunkterna är större än 5 pixel eller cirka 0, mm så tolkas inte objektet som en fiber. Teoretiskt skulle ett objekt med utseendet som visas i Figur 8 kunna godkännas som en fiber men inga kinkar skulle hittas på objektet eftersom riktningsförändringen utmed de två sidorna på fibern kommer att ligga i fas. Figur 8. Det här objektet tolkas som en fiber då det har exakt två ändpunkter och längdskillnaden mellan de två sidorna är mindre än 5 pixlar.

Ett objekt med utseende som i Figur 9 skulle underkännas p.g.a. att längdskillnaden mellan sidorna på objektet är för stort. Figur 9. Det här objektet förkastas eftersom längdskillnaden utmed de två sidorna är större än 5 pixlar. 8. För att en kink ska tolkas som en kink måste kinken finnas på båda sidor om fiberns rand och vara lokaliserade på ungefär samma avstånd från ändpunkterna på fibern. Genom att beräkna ett glidande medelvärde över fem punkter av produkten mellan riktningsförändringskurvorna utmed fibersidorna och sedan leta extremvärden i denna kurva så hittar man ett sammanvägt mått på var riktningsförändringen utmed fibern är maximal. Vid ändpunkterna kommer riktningsförändringarna utmed de två sidorna att ligga i fas och produktkurvan resulterar i ett negativt värde. Om en positiv topp identifierats i produktkurvan samtidigt som toppvärdet är större än en viss nivå har en kink hittats. Ju lägre kinkvinkelgräns man sätter desto flera kinkar kommer att identifieras på fibrerna i provet. Det är svårt att säga vilken nivå den lägsta kinkvinkeln ska ha men genom att prova olika kinkvinkelgränser har jag kommit fram till att en nedre gräns på 0 ger bra resultat. Går man under denna vinkelnivå kommer små förändringar utmed fibern att tolkas som kinkar, visserligen kommer den beräknade vinkeln att bli lägre och indikera mindre kinkighet. Men segmentlängderna mellan kinkarna, och kinkpositionen på fibern kommer också att bli kortare och dessa signaler kan tänkas vara av intresse då olika arkegenskaper ska predikteras. Om man bara är intresserad av att titta på ett kinkindex där man viktar små vinklar lägre spelar denna gräns mindre roll. Figur 0 Beräknade kinkvinklar utmed PVA-fibern.

5 4 3 Punkt Före den första markerade punkten beräknas produktkurvan ur serie och serie, efter den andra markerade punkten används enbart serie3 och serie4. Mellan punkterna beräknas en viktad produkt ur serie och serie samt serie3 och serie4. Mitt emellan punkterna viktas båda lika under det att viktningen avtar linjärt åt båda hållen. Punkt 0-7 3 9 5 3 37 43 49 55 6 67 73 79 85 9 97 03 09 5 7 33 39 45 5 57 - -3-4 riktningsförändringskurva utgående från punkt (serie) produkt riktningsförändringskurva utgående från punkt (serie4) detekterade toppar i produkt riktningsförändringskurva utgående från punkt (serie3) riktningsförändringskurva utgående från punkt (serie) Figur. Töjning av riktningsförändringskurvor utmed PVA-fiberns två sidor utgående från ena respektive andra ändpunkten på fibern. I Figur ser man hur riktningsförändringskurvan för PVA-fibern (Figur 0) delats upp i fyra delar och hur kurvorna ligger i motfas vid kinkar. De två delkurvorna utmed fiberns ena längre sida kommer alltid att följa varandra. Ändpunkterna finns markerade både i diagrammet (Figur ) och på PVA-fibern. I Jungs version av kinkalgoritmen tas ingen hänsyn till töjning av fibern på det sätt som visas i Figur. 9. Vinkeln för de detekterade kinkarna utmed fibern beräknas med hjälp av riktningsförändringskurvan och kännedomen om var kinken är placerad. I nästa avsnitt beskrivs hur storleken på kinkvinklarna beräknas... Kinkvinkel med hjälp av toppvinkelmetoden En vinkelförändring på ett steg i kedjekoden (till exempel från kedjekodsvärdet 4 till kedjekodsvärdet 5) innebär att riktningen förändrats 45 grader. Genom att titta på värdet vid topparna på riktningsförändringskurvan och multiplicera detta värde med 45 så fås den största momentana riktningsförändringen vid den studerade kinken på fibern. Genom att testa toppvinkelmetoden och vinkel som funktion av arean (se avsnitt..) för kinkvinkel-beräkning på olika fibertyper så konstaterade jag att toppvinkelmetoden för beräkning av storleken på en kinkvinkel ger mest rimliga resultat när kinkarna är entydiga och väldefinierade. För mera utbredda deformationer med flera mindre entydiga kinkar inom ett kort intervall av fibern kommer denna metod att ge ett lägre vinkelvärde på vinkeln än vad metoden i avsnitt.. kommer att ge. 3

.. Vinkel som funktion av arean under riktningsförändringskurvan Om man integrerar riktningsförändringskurvan och sedan dividerar med längden på integrationsintervallet så får man ett medelvärde på vinkelförändringen i intervallet. För att beräkna kinkvinkeln för en kink kan man integrera över toppen på riktningsförändringskurvan för båda sidorna av fibern. Medelvärdet av de två ytorna beräknas och sedan kan vinkelns storlek beräknas genom att dividera med toppens bredd. Integrationsgränserna för toppen på riktningsförändringens breddning har satts där riktningsförändringskurvan gör teckenväxlingar. Alternativt om inga teckenväxlingar hinner ske inom plus eller minus halva filterbredden från ett maximum på riktningsförändrings-kurvan, så sätts integrationsgränserna till filterbredden centrerad kring maximumet på riktningsförändringskurvan. Kinkvinkel som funktion av area och toppvinkelmetoden ger skillnader i kinkvinkelberäkningarna och det är svårt att säga vilken metod som är lämpligast att använda...3 Kinkvinkel med hjälp av riktningsvektorer utmed fibern En annan möjlighet att beräkna kinkvinklar utmed fibern är att använda kedjekoden för att beräkna riktningsvektorer. Riktningsförändringskurvan måste beräknas som tidigare för att avgöra var i kedjekoden tillräckligt stora riktningsförändringar finns. Sedan beräknas Riktningsvektorer från ena ändpunkten till den första detekterade kinken och från denna kink till nästa kink alternativt den andra ändpunkten på fibern om det inte finns flera kinkar. Till sist beräknas vinkeln mellan de framräknade vektorerna genom skalärprodukten (se Figur ). Denna vinkelberäkningsmetod finns inte implementerad i kinkprogrammet. θ u οv u v cos( θ ) Figur. Vektorerna u och v räknas fram genom vektorsubtraktion mellan två vektorer utmed båda sidorna för fibern för respektive vektor u och v. 4

3 Lösning 3. Testnings och utvecklingsmiljö Under utvecklingen och testningen av kinkprogramvaran användes en optisk bänk med en blixt, en Fibermaster-kamera, en mätcell och en pump. Själva datorn som kommunicerar med kameran syns inte på bilden i Figur 3. Figur 3. Optisk bänk med utrustning för testning av kinkprogrammet. Fördelen med att använda den här testbänken vid testkörning av programmet är att det är relativt smidigt att starta om en mätning om kommunikationen med kameran skulle hänga sig. Det är visserligen möjligt att frysa Fibermaster så att samma prov snurrar runt i mätslingan hela tiden medan man testkör olika versioner av programmet. Skulle man sedan testa att mäta på några andra fibrer tar det tid innan Fibermaster har tömt mätslingan och tanken på prov och en tvättning av mätslingan gjorts. 3. Översikt av program för kinkberäkning i Fibermaster Det vidareutvecklade kinkprogrammet som jag har arbetat med exekverar i en Pc och kommunicerar med kameran via en länk. Från kinkprogrammet kan man beordra kameran att börja skicka bilder till Pc:n och att göra en bakgrundsmätning. Det går också att styra blixtintensiteten ifrån kinkprogrammet. Själva bildbehandlingen görs i kameran utav två speciella processorer, så kallade DSP:er (DSP Digital Signal Processor, se avsnitt 8.5.). Kinkprogrammet börjar med att läsa varierbara parametrar från en initieringsfil. Parametrar som kan varieras är bland annat vilken filtertyp som ska användas vid kinkberäkningarna, vilken port kameran sitter ansluten till Pc:n på, om rådatafiler ska skrivas ut efter körning o.s.v. 5

Porten där kameran finns initieras och portens inbuffert sätts till 400 000 ord. Inbuffertens storlek är satt högt för att undvika överskrivning vilket medför att kommunikationen mellan kinkprogrammet och kameran upphör att fungera som den ska. Sedan skickas bootvektorer för bakgrundsmätning från kinkprogrammet i Pc:n till de två DSP:erna i kameran. Från kinkprogrammet i Pc:n beordras kamerorna att skapa en bakgrundsbild genom att medelvärdesbilda bilder över 04 bilder. Bakgrundsbilden sparas i kamerans interna bildminne för att användas till att dra bort bakgrunden vid beräkning av nya trösklade bilder. När bakgrundsmätningen i kameran är färdig skickas bakgrundsbilden till Pc:n och sparas för att senare kunna studeras. Medelgråskalenivån i bakgrundsbilden beräknas och kan senare användas som börvärde vid styrning av blixtens intensitet för att hålla bildernas medelgråskalenivå konstant. Om bakgrundsmätningen i kameran misslyckas startas kameran om och en ny bakgrundsmätning görs. Om bakgrundsmätningen har misslyckats tre gånger terminerar programmet efter att ett felmeddelande skrivits till programmets logfil. Inga datafiler skapas om bakgrundsmätningen misslyckas på detta sätt. Om bakgrundsmätningen lyckas så kommer kameran att initieras för att börja skicka trösklade bilder till Pc:n. En kommunikationsslinga i programmet läser ord för ord från portens inbuffert och kodar av information om objekten och sparar objekten i en bildmatris. Slingan gör timeout och startar om kamerorna om ingenting skickas från kameran på 30 sekunder. Programmet fortsätter att försöka starta om kamerorna till dess att den i förväg inställda tiden för programmet gått ut. I Figur 4-6 nedan beskrivs hur objekten i en trösklad svart-vit bild hanteras som skickats ifrån kameran till Pc:n.. När kameran skickar en bildsynk kommer bilden i Pc:ns minne att börja analyseras. Till att börja med tas alla objekt som skär kanten på bilden bort (se Figur 4). Figur 4. Fiber som skär bildens kant tas bort. 6

. Det första objektet som inte skär kanten på bilden letas (se Figur 5) upp och koordinaterna för en randpunkt på objektet skickas till en funktion som börjar undersöka om objektet ska tolkas som en fiber. Sedan utförs kinkberäkningar på fibern. Samtidigt som kedjekoden för objektet beräknas raderas objektet ur bilden. När beräkningar på fibern är klara sparas resultaten (om objektet var en godkänd fiber) om kinkplacering, kinkavstånd, kinkvinkel och antal kinkar. Figur 5. Startpunkt för kedjekods-beräkningar för den första fibern i bilden detekteras. 3. Sedan kan nästa objekt i bilden sökas upp (se Figur 6). När alla objekt i bilden behandlats börjar man på nytt läsa data från inbufferten. Figur 6. Startpunkt för kedjekods-beräkningar för den andra fibern i bilden detekteras. Kinkprogrammets interna slinga för att läsa och behandla bilder från kameran stoppas automatiskt när den förinställda mättiden gått ut eller alternativt när ett visst antal fibrer är funna. Den maximala tiden som programmet ska fortsätta att leta efter kinkar alternativt det maximala antalet fibrer som ska ingå i mätningen bestäms i initieringsfilen. När kommunikationsslingan stoppats skrivs sammanfattande utdata till en månadsfil och eventuellt så skrivs också mera ingående information ut i rådatafiler om detta finns angivet i initieringsfilen. 7

3.3 Presentationsprogram för utdata från kinkprogrammet För att kunna få en överblick över mätdata från en mätning utan att klippa och klistra i Excel så gjorde jag ett program i Visual-Basic som presenterar utdata från kinkprogrammet (se Figur 7). Presentationsprogrammet letar efter datafiler i en förutbestämd katalog och är tänkt att köras direkt på mätarens dator alternativt att man kopierar över hela rådatakatalogen till sin egen dator och tittar på data där. I programmet finns en lista över filer med kinkfördelningar från mätningarna gjorda på Fibermastern. Genom att klicka på en fil i listan får man upp en graf där man kan se hur många kinkar som hittats av programmet i respektive vinkelklass för en viss längklass. Varje längdklass är 0 och täcker vinklar från 0 till 80 (se vidare 8.).Längdklasserna som studeras är 0-0.5 mm, 0.5-.5 mm,.5-3.0 mm, 3.0-4.5 mm och slutligen 4.5-0mm. De här längdklasserna är valda på samma sätt som längdklasserna i Fibermaster. Anledningen är att resultat från kink-mätningar ska kunna jämföras och relateras till den vanliga Fibermaster-mätningen på samma prov. Om man klickar på knappen keep scale kommer nästa graf att ritas upp med samma skala på y-axeln för att göra det lättare att jämföra två prov med varandra. Om två prov ska jämföras bör man titta på graferna där man ser antalet kinkar per fiber alternativt kinkar per mm. Dessa grafer dyker upp om man klickar på knappen Kinks per fiber alternativt knappen Kinks per mm. Figur 7. Skärmdump från ett program som jag gjorde i Visual Basic för att snabbt kunna få en överblick av utdata från kinkprogrammet. 8

Om man anser att det statistiska underlaget för en fiberklass är för litet finns det möjlighet att ta bort denna klass då man ritar upp grafen genom att avmarkera kryssrutor nere till vänster i fönstret. Genom att klicka på knappen Kink(length) ritas antalet kinkar som funktion av längd upp istället för antalet kinkar mot vinkelklass (se Figur 8). Figur 8. Skärmdump från presentationsprogrammet som visar antalet kinkar per fiber för de olika längdklasserna. Klickar man på knappen Kinks per mm kommer man att få upp antalet kinkar per mm för varje längdklass istället. 9

För att få en uppfattning om hur väl kinkvinkelberäkningarna för valt prov ser ut finns det möjlighet att i detalj studera hur beräkningarna för respektive fiber ser ut. Genom att klicka på FiberView får man upp ett fönster som i Figur 9. Figur 9. För att noggrant i efterhand kunna kontrollera hur kinkars position och storlek beräknats för fibrerna i ett prov gjorde jag ett program i Visual Basic där man kan bläddra igenom alla fibrerna och studera beräkningarna för varje enskild fiber. Sex stycken fibrer med tillhörande information kan visas samtidigt. Ovanför varje fiber finns data om fiberns längd, bredd och formfaktor samt beräknade fibersegmentlängder och mellanliggande vinklar. Med knapparna Next och Back kan man bläddra sig framåt och bakåt bland fibrerna i provet. Med knapparna Start, Middle och End kan man hoppa till början, mitten eller slutet av fibermängden. Trycker man på knappen Start slideshow bläddras provet igenom automatiskt. Genom att trycka på knappen Stop slideshow stoppas den automatiska bläddringen. Kryssar man i kryssrutan 300 ms redraw visas fibrerna under 300 ms mot normala 000 ms. Om man kryssar i No CLS så rensas inte fönstren mellan uppritningarna. Detta program är till stor nytta då man håller på och utvecklar kinkprogrammet. 30

4 Resultat, slutsatser 4. Kinkprogrammets prestanda Den begränsande faktorn för hur många bilder per sekund som kan behandlas styrs av kapaciteten på länken mellan värddatorn och kameran och hur många objekt som finns i respektive bild som skall skickas till värddatorn. Finns det mycket finmaterial eller finmaterial i fibersuspensionen som man mäter på kommer antalet bilder per sekund att minska. Några exempel från olika kinkmätningsförsök ses i Tabell : Bilder/sekund [Hz] Fiber/bild Fiberlängd/bild [mm] 5,,50 0,97 38,9 0,90 0,95 45,0 0,0 0, Tabell. Prestanda för mätning av kink i Fibermaster då bilder skickas från kameran till mätarens dator där kinkprogrammet exekverar. Programmet hinner med mer än 0 000 fibrer på tio minuter i dessa tre fall. I sista fallet har koncentrationen i provet varit för låg. Vid ovanstående körningar har väldigt korta och lättanalyserade fibrer körts som inte genererar särskilt komplicerade bilder. För ett normalt långfiberprov tar det normalt sätt ca 0 minuter att köra kinkmätningar på 0 000 fibrer vilket gör att kinkmätningen inte passar att köras Online i processen. När längd, bredd och form- beräkningar görs på normala långfibrer i kamerorna i Fibermaster så får man på ca 3 minuter ihop 0 000 fibrer. 4. Jämförelse mellan långt och kort viktningsfilter I detta avsnitt jämförs tre olika fibrer där två olika viktningsfilter (se Figur 30 och Figur 3) har använts vid beräkningarna av riktningsförändringen utmed varje fiber. Som vinkelberäkningsmetod användes toppvinkelmetoden och den minsta gränsen för att en deformation skall tolkas som en kink var satt till 3,5 (0,3 för produktkurvan i diagrammen). 4 3 0 - - -3-4 Figur 30. Viktningsfilter. 3

4 3 0 - - -3-4 Figur 3. Längre viktningsfilter än det i Figur 30 som användes för att studera skillnader mellan olika längd på viktningsfiltren Genom att skriva ett litet program som läser en binär bild från en vanlig textfil som kan manipuleras manuellt så kan man skapa kedjekod för fibrer med önskad form och sedan spara denna kod i en fil. Om man sedan modifierar kinkprogrammet så att det läser in kedjekoden direkt från en fil istället för att skapa kedjekoden utifrån bilder kan man sedan studera programmets beteende. I Figur 3-40 har jag skapat fiberobjekt manuellt på detta sätt för att se vad resultatet blir när man använder olika viktningsfilter i kinkprogrammet. Den första fibern som studeras har en mycket väldefinierad kink och det korta viktningsfiltret i Figur 30 har använts vid riktningsförändringsberäkningen. Gränsen för när en kink ska detekteras är satt till 0,3. Man kan se att produktkurvan har en topp som överstiger 0,3 och tolkas som en kink. 5 4 3 0,68 0 3 5 7 9 3 5 7 9 3 5 7 9 3 33 35 37 39 4 43 45 47 49 5 53 55 57 59 - - riktn.förändringskurva sida riktn.förändringskurva sida produktkurva topppar i produktkurvan förskjuten riktn.förändringskurva sida 3 förskjuten riktn.förändringskurva sida Figur 3. Riktningsförändringskurva beräknad med filter med längden 0 enheter. 3

Längdskillnaden mellan de två sidorna på fibern i Figur 3 är en pixel. Kinken är väldefinierad och toppbreddningen för riktningsförändringskurvan blir 0 pixlar. 5 4 3 0,83 0 3 5 7 9 3 5 7 9 3 5 7 9 3 33 35 37 39 4 43 45 47 49 5 53 55 57 59 - - riktn.förändringskurva sida riktn.förändringskurva sida produktkurva topppar i produktkurvan förskjuten riktn.förändringskurva sida 3 förskjuten riktn.förändringskurva sida Figur 33. Riktningsförändringskurva beräknad med filter med längden 8 enheter. I Figur 33 ses samma fiber men vid beräkning av riktningsförändringskurvan har det längre viktningsfiltret (se Figur 3) använts och toppbreddningen blir 8 pixlar. 5 4 3 0 0,56 4 7 0 3 6 9 5 8 3 34 37 40 43 46 49 5 55 58 - - riktn.förändringskurva sida riktn.förändringskurva sida produktkurva topppar i produktkurvan förskjuten riktn.förändringskurva sida 3 förskjuten riktn.förändringskurva sida Figur 34. Riktningsförändringskurva beräknad med filter med längden 0 enheter. 33

Fibern i Figur 34 har inte en lika tydlig kink som fibern i Figur 33. När man använder det korta viktningsfiltret så detekteras ingen kink eftersom den momentana riktningsförändringen utmed randen på fibern aldrig överstiger gränsen som satts för att detektera en kink. Den största toppen i produktkurvan blir 0,56. 5 4 3 0 0,435 3 5 7 9 3 5 7 9 3 5 7 9 3 33 35 37 39 4 43 45 47 49 5 53 55 57 59 - - riktn.förändringskurva sida riktn.förändringskurva sida produktkurva topppar i produktkurvan förskjuten riktn.förändringskurva sida 3 förskjuten riktn.förändringskurva sida Figur 35. Riktningsförändringskurva beräknad med filter med längden 8 enheter. När det längre filtret används på samma fiber som i Figur 34 kommer en kink att detekteras (Figur 35) på grund av att det längre viktningsfiltret viktar in en längre del av hela böjningen vilket resulterar i en större momentan riktningsförändring. Toppen i riktningsförändringskurvan ligger vid 0,435. I Figur 36 och 37 på nästa sida har fiberns böj rätats ut ytterligare och varken det korta eller det långa filtret resulterar i någon kink. Längden och utseendet på viktningsfiltret har stor betydelse för när en kink ska tolkas som en kink eller inte. 34

5 4 3 0 3 5 7 9 3 5 7 9 3 5 7 9 3 33 35 37 39 4 43 45 47 49 5 53 55 57 59 - - riktn.förändringskurva sida riktn.förändringskurva sida produktkurva topppar i produktkurvan förskjuten riktn.förändringskurva sida 3 förskjuten riktn.förändringskurva sida Figur 36. Riktningsförändringskurva beräknad med filter med längden 0 enheter. 5 4 3 0 0,6 3 5 7 9 3 5 7 9 3 5 7 9 3 33 35 37 39 4 43 45 47 49 5 53 55 57 59 - - riktn.förändringskurva sida riktn.förändringskurva sida produktkurva topppar i produktkurvan förskjuten riktn.förändringskurva sida 3 förskjuten riktn.förändringskurva sida Figur 37. Riktningsförändringskurva beräknad med filter med längden 8 enheter. 35

I Figur 38 och 39 har en annan manuellt skapad fiber använts för att jämföra resultaten av att använda det korta och det långa vitningsfiltret. 5 4 3 0,668 0,668 0 3 5 7 9 3 5 7 9 3 5 7 9 3 33 35 37 39 4 43 45 47 49 5 53 55 - - riktn.förändringskurva sida riktn.förändringskurva sida produktkurva topppar i produktkurvan förskjuten riktn.förändringskurva sida 3 förskjuten riktn.förändringskurva sida Figur 38. Riktningsförändringskurva beräknad med filter med längden 0 enheter. Med det korta viktningsfiltret hittas två kinkar medan man med det längre filtret i Figur 39 bara detekterar en kink. 36

5 4 3 0 3 5 7 9 3 5 7 9 3 5 7 9 3 33 35 37 39 4 43 45 47 49 5 53 55 - - riktn.förändringskurva sida riktn.förändringskurva sida produktkurva topppar i produktkurvan förskjuten riktn.förändringskurva sida 3 förskjuten riktn.förändringskurva sida Figur 39. Riktningsförändringskurva beräknad med filter med längden 8 enheter. I det här fallet ger toppvinkelmetoden ett ganska orimligt värde medan vinkeln uträknad utifrån arean under kurvan ger en mera rimlig vinkelberäkning som den totala vinkelförändringen. I det sista exemplet med manuellt skapade fibrer (Figur 40) har jag gjort en fiber som illustrerar hur kinkarnas position detekteras bättre då man utgår från båda ändpunkterna på fibern när man letar kinkar. 37

5 4 3 0,778 0,33 0 7 3 9 5 3 37 43 49 55 6 67 73 79 85 9 97 03 09 5 7 33 39 45 5 57 - - riktn.förändringskurva sida produktkurva topppar i produktkurvan förskjuten riktn.förändringskurva sida 3 förskjuten riktn.förändringskurva sida produktkurva från ena ändpunkten riktn.förändringskurva sida Figur 40. Exempel på när det blir fördelaktigt att beräkna riktningsförändringskurvor utgående från fiberns båda ändpunkter. Här ses ett exempel på produktkurvans utseende då den beräknas utifrån fiberns två ändpunkter respektive bara utgående från ena ändpunkten på fibern. Den sista toppen i kurvan blir klart mindre och dessutom något felplacerad. 4.3 Test av kinkprogrammet med konstfibrer Ett belgiskt företag var intresserade av att mäta kink med Fibermaster. För att testa kinkprogrammet skickade man tre prover med nylonfibrer för analys med Fibermastern. De tre proverna var mekaniskt behandlade olika länge för att åstadkomma olika grad av kinkighet på fibrerna. Man förväntade sig att kunna särskilja de tre proven åt i avseende på antal kinkar funna på fibrerna. Det första provet var helt obehandlat och så gott som inga kinkar borde hittas. Det andra provet hade blivit mekaniskt behandlat i minuter och det tredje i 0 minuter. Nedan ser man att antalet kinkar per längdenhet ligger på en konstant nivå för alla fiberlängdklasserna. 38