Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
lindt:candybox:how_learning_works [2021/03/10 10:07]
superuser
lindt:candybox:how_learning_works [2023/06/05 08:59] (current)
superuser
Line 6: Line 6:
  
 ===== Day 1 ===== ===== Day 1 =====
 +
 ==== 1. Annotation ==== ==== 1. Annotation ====
  
Line 26: Line 27:
  
 {{ :​lindt:​candybox:​2.png?​nolink |}} {{ :​lindt:​candybox:​2.png?​nolink |}}
 +
  
 ==== 3. Learning ==== ==== 3. Learning ====
Line 31: Line 33:
 After dataset is prepared the learning process starts. This takes about 6 hours. All this time i need to monitor the results. If AI learning not correctly i need to interrupt it, correct some parameters and arestart learning process. After dataset is prepared the learning process starts. This takes about 6 hours. All this time i need to monitor the results. If AI learning not correctly i need to interrupt it, correct some parameters and arestart learning process.
 {{ :​lindt:​candybox:​3.gif?​nolink |}} {{ :​lindt:​candybox:​3.gif?​nolink |}}
 +
  
 ==== 4. Monitoring ==== ==== 4. Monitoring ====
Line 40: Line 43:
  
 ===== Day 2 ===== ===== Day 2 =====
 +
 ==== 5. Recipe creation ==== ==== 5. Recipe creation ====
  
Line 48: Line 52:
 Recipe is created from some sort of template. And in initial stage it's quite '​stupid'​ and can't even find a blister on image. Recipe is created from some sort of template. And in initial stage it's quite '​stupid'​ and can't even find a blister on image.
 {{ :​lindt:​candybox:​5.png?​nolink |}} {{ :​lindt:​candybox:​5.png?​nolink |}}
 +
  
 ==== 6. Configuration ==== ==== 6. Configuration ====
Line 59: Line 64:
 {{ :​lindt:​candybox:​6.png?​nolink |}} {{ :​lindt:​candybox:​6.png?​nolink |}}
  
-==== 7. Validation ====+==== 7. Voronoi segmentation ==== 
 + 
 +When two candies are close to each other or touchng AI thinks that this is one single candy. This creates false-positives. To avoid this Voronoi segmentation is used. It puts virtual borders between candies ensuring that touching candies are separate. 
 + 
 +{{:​lindt:​candybox:​9.png?​400|}} 
 + 
 +==== 8. Color feature classification ==== 
 + 
 +Each candy is having different amount of different colors. This makes possible to generate a color combination pattern for each candy type for each candy position. But since each candy type may have variations - we are creating a database which contains several patterns for each candy type. 
 + 
 +During analysis each candy is compared against database of patterns expected at specified position. If the distance is close enough - the candy is good. 
 + 
 +{{:​lindt:​candybox:​10.png?​400|}} 
 + 
 +==== 9. Validation ====
 Now it's time to test the recipe on good images that it's never seen. They should be all green: Now it's time to test the recipe on good images that it's never seen. They should be all green:
 {{ :​lindt:​candybox:​7.gif?​nolink |}} {{ :​lindt:​candybox:​7.gif?​nolink |}}
  
-==== 8. Coverage checking ====+ 
 +==== 10. Coverage checking ====
 The last step before it's done. On this step i'm checking how confident AI about it's decisions. The last step before it's done. On this step i'm checking how confident AI about it's decisions.
 This allows to discover if there is possible problems with recognition on the line. This allows to discover if there is possible problems with recognition on the line.
 {{ :​lindt:​candybox:​8.gif?​nolink |}} {{ :​lindt:​candybox:​8.gif?​nolink |}}
  • lindt/candybox/how_learning_works.1615370866.txt.gz
  • Last modified: 2021/03/10 10:07
  • by superuser