Keeping Boundary Tracing Interactive

In a Java Swing segmentation project, I implemented image-graph construction, Dijkstra/A* search, and caching for live boundary tracing. Strong image gradients defined low-cost paths, letting a user guide the selection with seed points instead of tracing every edge manually.

The main optimization was to cache the shortest-path tree for the active seed. Cursor movement then required predecessor-path traversal rather than a new graph search. Path Cooling automatically fixed stable segments, reducing repeated clicks while retaining interactive control.

Boundary tracing on a parrot image using Intelligent Scissors

Measured on Two Segmentation Tasks

In a two-image comparison against manual polygon-lasso selection in Photoshop 2020, the tool reduced task completion time by 5.2× and 11.2×:

Test Image Manual Lasso Intelligent Scissors IoU Dice
Cartoon, 661 × 494 px 551 s 106 s 0.88 0.94
Parrots, 707 × 480 px 279 s 25 s 0.97 0.99

These are end-to-end interaction times on the two reported tasks. The implementation combined reusable graph computation with interface behavior that helped users complete a selection.