Computer Vision with Neural Networks
Assemble the picture inspector
BOTIE
Examples, experiments and workspace controls
Connect a tool's inputs to see what it produces. You can try a branch before connecting it to Result.
Try your own inputs
Make the filter produce negative responses and inspect what reaches the last piece. Then change one pixel until a positive response survives. Where in the construction does that change first become visible?
Context for this challenge
Build one small feature extractor: slide the supplied kernel, discard negative responses, then keep the largest surviving response for this image.
Botie can now assemble a tiny handwriting feature extractor from local filtering, a rectified response and a strongest-response summary.
Apply the supplied kernel at each image window, discard negative responses with ReLU, and keep the largest remaining response.
Examples and results
- Handwritten stroke image
1 0 0 1 1 0 0 0 0 - Supplied stroke filter
- 01
- 10
- 21
- 30
- Required result
2
- Handwritten stroke image
0 0 0 0 1 0 0 0 0 - Supplied stroke filter
- 01
- 10
- 21
- 30
- Required result
1
- Handwritten stroke image
0 0 0 0 0 0 0 0 3 - Supplied stroke filter
- 00
- 10
- 20
- 31
- Required result
3
Try a fresh construction
This clears this draft, including its undo history. Earlier successful attempts stay recorded. Build again without opening hints to record an independent attempt.
Stuck? Inspect a worked construction
The tools below form one possible solution. You can assemble it, follow its signals, and undo that change to return to your own construction.
Assumptions and test precision
This is a small construction problem. The lesson explains the assumptions and the parts of the full method that this example leaves out. Numerical tests allow a difference of 0.001. Lists and structures must also have the right shape.
A strong stroke near the image edge
This check uses the pieces from “Connect stroke detection, rectification and pooling”.
BOTIE
- Handwritten stroke image
0 0 2 0 0 2 0 0 0 - Supplied stroke filter
- 00
- 11
- 20
- 31
Use a number, text, or an array matching the requested result. For a matrix, put each row in brackets. Saving your prediction runs your current construction on these inputs and checks the earlier examples too.
Build a construction in the workspace above first. This case will test those pieces.
Why does the strongest response not by itself identify which digit was written?
A complete recogniser needs useful learned filters and a prediction stage beyond one supplied feature.
This is a small construction problem. The lesson explains the assumptions and the parts of the full method that this example leaves out.
Work through the Python challenges →