| File | Similarity |
|---|---|
| functionallyPerfect.png | 99.57% |
| perfectVoron.png | 98.67% |
| perfectBoat.png | 99.57% |
| perfectHotend.png | 98.93% |
| perfectTest.png | 99.21% |
| functionalExtruder.png | 99.00% |
| perfectFox.png | 98.89% |
| perfectFlower.png | 98.74% |
| perfectWatch.png | 99.32% |
| tooSquished.png | 99.57% |
| squishedVoron.png | 98.67% |
| squishedBoat.png | 99.57% |
| squishedHotend.png | 98.93% |
| squishedTest.png | 99.21% |
| squishedExtruder.png | 99.00% |
| squishedFox.png | 98.89% |
| squishedFlower.png | 98.74% |
| squishedWatch.png | 99.32% |
| squishedPrusa.png | 97.88% |
| highBoat.png | 99.57% |
| tooHigh.png | 99.57% |
| highVoron.png | 98.67% |
| highHotend.png | 98.93% |
| highTest.png | 99.21% |
| highExtruder.png | 99.00% |
| highFox.png | 98.89% |
| highFlower.png | 98.74% |
| highWatch.png | 99.32% |
| highPrusa.png | 97.88% |
| Average | 99.02% |
| File | Percent Difference | Expected | Output |
|---|---|---|---|
| missingFox.png | 9.25586 | Missing | Normal |
| missingPS5.png | 50.03465 | Missing | Missing |
| missingBenchy.png | 99.55685 | Missing | Missing |
| missingFlower.png* | 27.35719 | Missing | Missing |
| missingVoron.png* | 57.84845 | Missing | Missing |
| perfectTest.png | 3.85948 | Normal | Normal |
| workingPS5.png | 3.09121 | Normal | Normal |
| workingBenchy.png | 23.97175 | Normal | Normal |
| perfectPrusa.png | 0.77499 | Normal | Normal |
| perfectVoron.png | 5.18713 | Normal | Normal |
Note: The * indicates an image that was digitally altered to remove part of the layer.
missingFox.png resulted in an incorrect prediction of normal due to its low percent error.
| File | Edge Density | Mean | Variance |
|---|---|---|---|
| perfectRectangle.png | 0.00223 | 0.50671 | 3.33052 |
| squishedRectangle.png | 0.00318 | 0.61332 | 5.26998 |
| highRectangle.png | 0.02511 | 2.88897 | 51.08978 |
| File | Edge Density | Mean | Variance | Expected | Output |
|---|---|---|---|---|---|
| perfectBoat.png | 0.0014 | 0.08088 | 1.35596 | Perfect | Perfect |
| squishedBoat.png | 0.00047 | 0.06113 | 0.70453 | Squished | Perfect |
| highBoat.png | 0.00246 | 0.14515 | 3.07877 | High | Perfect |
| File | Edge Density | Mean | Variance | Expected | Output |
|---|---|---|---|---|---|
| perfectBoat.png | 0.0014 | 0.08088 | 1.35596 | Perfect | Perfect |
| squishedBoat.png | 0.00047 | 0.06113 | 0.70453 | Squished | Squished |
| highBoat.png | 0.00246 | 0.14515 | 3.07877 | High | High |
| File | Edge Density | Mean | Variance | Expected | Output |
|---|---|---|---|---|---|
| perfectHotend.png | 0.00321 | 0.25263 | 3.95123 | Perfect | Squished |
| squishedHotend.png | 0.00261 | 0.19471 | 2.58402 | Squished | Squished |
| highHotend.png | 0.00517 | 0.37255 | 6.67883 | High | High |
| File | Edge Density | Mean | Variance | Expected | Output |
|---|---|---|---|---|---|
| perfectHotend.png | 0.00321 | 0.25263 | 3.95123 | Perfect | Perfect |
| squishedHotend.png | 0.00261 | 0.19471 | 2.58402 | Squished | Perfect |
| highHotend.png | 0.00517 | 0.37255 | 6.67883 | High | High |
| File | Edge Density | Mean | Variance | Expected | Output |
|---|---|---|---|---|---|
| perfectHotend.png | 0.00321 | 0.25263 | 3.95123 | Perfect | Perfect |
| squishedHotend.png | 0.00261 | 0.19471 | 2.58402 | Squished | Squished |
| highHotend.png | 0.00517 | 0.37255 | 6.67883 | High | High |
| File | Edge Density | Mean | Variance | Expected | Output |
|---|---|---|---|---|---|
| perfectRectangle.png | 0.00223 | 0.50671 | 3.33052 | Perfect | Perfect |
| perfectVoron.png | 0.00334 | 0.22663 | 3.5213 | Perfect | Perfect |
| perfectBoat.png | 0.0014 | 0.08088 | 1.35596 | Perfect | Perfect |
| perfectHotend.png | 0.00321 | 0.25263 | 3.95123 | Perfect | Perfect |
| perfectTest.png | 0.002 | 0.13293 | 1.88548 | Perfect | Perfect |
| functionalExtruder.png | 0.00214 | 0.27792 | 2.85508 | Perfect | Perfect |
| perfectFox.png | 0.00358 | 0.26784 | 4.38303 | Perfect | Perfect |
| perfectFlower.png | 0.00309 | 0.23597 | 3.54011 | Perfect | Perfect |
| perfectWatch.png | 0.00269 | 0.28397 | 3.48966 | Perfect | Perfect |
| perfectPrusa.png | 0.00227 | 0.29056 | 3.0353 | Perfect | Perfect |
| squishedRectangle.png | 0.00318 | 0.61332 | 5.26998 | Squished | Squished |
| squishedVoron.png | 0.0029 | 0.2236 | 2.83075 | Squished | Squished |
| squishedBoat.png | 0.00047 | 0.06113 | 0.70453 | Squished | Squished |
| squishedHotend.png | 0.00261 | 0.19471 | 2.58402 | Squished | Squished |
| squishedTest.png | 0.00302 | 0.17357 | 2.54252 | Squished | Squished |
| squishedExtruder.png | 0.00374 | 0.43697 | 5.96555 | Squished | Squished |
| squishedFox.png | 0.00435 | 0.33629 | 6.39009 | Squished | Squished |
| squishedFlower.png | 0.00173 | 0.2063 | 2.49509 | Squished | Squished |
| squishedWatch.png | 0.00395 | 0.51772 | 6.26249 | Squished | Squished |
| squishedPrusa.png | 0.00365 | 0.48422 | 4.67597 | Squished | Squished |
| highRectangle.png | 0.02511 | 2.88897 | 51.08978 | High | High |
| highBoat.png | 0.00246 | 0.14515 | 3.07877 | High | High |
| highVoron.png | 0.0063 | 0.45052 | 8.48229 | High | High |
| highHotend.png | 0.00517 | 0.37255 | 6.65883 | High | High |
| highTest.png | 0.00335 | 0.22468 | 4.07882 | High | Squished |
| highExtruder.png | 0.00428 | 0.42682 | 6.56383 | High | High |
| highFox.png | 0.00652 | 0.45275 | 10.15104 | High | High |
| highFlower.png | 0.0049 | 0.36666 | 6.1754 | High | Squished |
| highWatch.png | 0.00697 | 0.85351 | 13.89035 | High | High |
| highPrusa.png | 0.00932 | 0.65029 | 9.75917 | High | High |
| Hyperparameters | Meaning | Value |
|---|---|---|
| epochs | # of passes through training data | 75 |
| imgsz | Image size (N x N) | 640 |
| optimizer | Weight adjustment algorithm | ‘auto’ |
| batch | Batch size | -1 (GPU optimized) |
| lr0 | Initial learning rate | 5e-3 |
| lrf | Final learning rate as ratio of lr0 | 1e-2 |
| weight_decay | Prevents bias from large weights | 5e-4 |
| single_cls | Treats multi-class datasets as single-class | True |
| warmup_epochs | # of epochs to increase learning rate | 3 |
| deterministic | Sets training as deterministic or random | False |
| device | Specify CPU(s) or GPU(s) | 0 (one/first GPU) |
| Testing Dataset | Contains | Model Accuracy |
|---|---|---|
| Spaghetti Dataset Test Set | Filament Spaghetti Images | 95/100 → 95% |
| First Layer Prints | Non-Spaghetti Images | 25/31 → 80.65% |
| - | - | Overall: 120/131 → 91.6% |
| Testing Dataset | Contains | Model Accuracy |
|---|---|---|
| Spaghetti Dataset Test Set | Filament Spaghetti Images | 44/100 → 44% |
| First Layer Prints | Non-Spaghetti Images | 24/31 → 77.42% |
| - | - | Overall: 68/131 → 51.9% |
Note 1: The tests for the spaghetti test set checked if anything was classified by the model. All of these classifications were not identified as “spaghetti”, so the real accuracy would be 0% for the incorrect classification in the first dataset.
Note 2: In the tests for the non-spaghetti images, the correct classification is none at all. These are times when the default model does not recognize anything in the image