Week 7 was volledig besteed aan bughunting, naar die vervelende bug in het graph cut algoritme. Jammer genoeg was die week verloren moeite, want ik ben nergens terecht gekomen.
Alles heb ik werkelijk afgeprint, afgebeeld, onderzocht, en nog vond ik niets.
Vandaag begon ik terug met goede moed en bepaalde een nieuw stramien:
- andere manier om graph cut te berekenen
- andere implementatie graph cut zoeken
- mailen naar makers c++ graph cut implementatie en omega tiles
De andere manier zou erin bestaan het kortste pad algoritme te gebruiken om een beeld in 2 te splisten. Nu lijkt dit op eerste zicht voor de hand liggend, schijn echter bedriegt. Men kan namelijk niet de pixels of de paden als nodes gebruiken. Men moet nodes tussen punten gaan gebruiken om een cut te kunnen vinden. En hier wringt het schoentje, het zou namelijk een hels karwei zijn om van de pixel matrix naar de nodes matrix te converteren en omgekeerd. Ook zou het computationeel veel langer duren om deze conversies uit te voeren. PLAN AFGESCHAFT
Andere implementaties… toevalligerwijs ontdekte ik een andere implementatie van graph cuts door Walter Bell. Echter hij implementeerde volgens de paper van Yuri Boykov and Vladimir Kolmogorov, de makers van mijn huidig algoritme. Methodes leken op elkaar, tot soms zelf de naam. Ik dacht dat ik zelfde resultaten ging bekomen. Tot….
PLAN 3 in werking trad :p
Kolmogorov zelf mailde namelijk net terug. Met zijn mail van 3 zinnen lichtte alles op! Hij zei namelijk dat er problemen mogelijk zijn bij bogen met 0 gewicht.. en … ja hoor, die had ik. Meer bepaald kreeg ik die als kleuren gelijk waren. Door simpelweg alle gewichten met 1 te verhogen, waren plots al mijn problemen weg!!!!!
Twee weken van zoeken en ploeteren hebben die mij gekost, maar ik ben er toch. Graph cut werkt!! En behoorlijk goed, al zeg ik het zelf. Resultaten zal ik later deze week posten.
Deze week zal ik mij nog bezig houden met verfijnen van de algoritmes en evenuteel al verbeteren met verschillende try’s in de patch keuzes. Ook het gebruik van de programma’s zelf zou ik al wat willen verbeteren. Eind deze week heb ik dan afspraak met Ares, mijn begeleider. En volgende week hoop ik aan de OpenGL en CG toepassing te beginnen.