Computer Vision with Neural Networks

Assemble the picture inspector

BOTIE

Build one small feature extractor: slide the supplied kernel, discard negative responses, then keep the largest surviving response for this image.
Ready to test
0 passed · 0 failed · 3 not run

An empty floor. Start with the information your machine needs.

Received result

Your answer will arrive here.

Examples, experiments and workspace controls
Live values

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?

Start at an output arrow, then click or drag to an input. Drag empty space to pan. Delete removes a selection. Ctrl/Cmd+Z undoes a change.
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
100
110
000
Supplied stroke filter
  1. 01
  2. 10
  3. 21
  4. 30
Required result
2
Handwritten stroke image
000
010
000
Supplied stroke filter
  1. 01
  2. 10
  3. 21
  4. 30
Required result
1
Handwritten stroke image
000
000
003
Supplied stroke filter
  1. 00
  2. 10
  3. 20
  4. 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

Apply the supplied 2-by-2 stroke filter at stride one with no padding, retain positive responses, then return the strongest response. Does moving the stroke toward the right edge remove it from every window?
Handwritten stroke image
002
002
000
Supplied stroke filter
  1. 00
  2. 11
  3. 20
  4. 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 →
Continue the courseU-Net →
← Pooling