Browse Bar: Browse by Author | Browse by Category | Browse by Citation | Advanced Search
CONFIGR (CONtour FIgure and GRound) is a model that performs long-range contour completion on large-scale images. CONFIGR accomplishes this through a mechanism that fills-in both figure and ground via complementary process.
Sai Gaddam
CONFIGR (CONtour FIgure GRound) is a computational model based on principles of biological vision that completes sparse and noisy image figures. Within an integrated vision/recognition system, CONFIGR posits an initial recognition stage which identifies figure pixels from spatially local input information. The resulting, and typically incomplete, figure is fed back to the “early vision” stage for long-range completion via filling-in. The reconstructed image is then re-presented to the recognition system for global functions such as object recognition. In the CONFIGR algorithm, the smallest independent image unit is the visible pixel, whose size defines a computational spatial scale. Once pixel size is fixed, the entire algorithm is fully determined, with no additional parameter choices. Multi-scale simulations illustrate the vision/recognition system. Open-source CONFIGR code is available online, but all examples can be derived analytically, and the design principles applied at each step are transparent. The model balances filling-in as figure against complementary filling-in as ground, which blocks spurious figure completions. Lobe computations occur on a subpixel spatial scale. Originally designed to fill-in missing contours in an incomplete image such as a dashed line, the same CONFIGR system connects and segments sparse dots, and unifies occluded objects from pieces locally identified as figure in the initial recognition stage. The model self-scales its completion distances, filling-in across gaps of any length, where unimpeded, while limiting connections among dense image-figure pixel groups that already have intrinsic form. Long-range image completion promises to play an important role in adaptive processors that reconstruct images from highly compressed video and still camera images.
Usage:
I_output = runCONFIGR(I,PixRes)
This runs CONFIGR with the following defaults:
PixRes: pixel resolution default=1: CONFIGR pixel resolution is the same as that of the input image
Advanced Options:
I_output = runCONFIGR(I,PixRes,NumIter,ShrinkFact)
I: input image
PixRes: pixel resolution 1: fine 2: medium 3: coarse
The following options provide computational flexibility but are not model parameters.
NumIter: number of iterations CONFIGR simulation can be forced to stop early by setting a low number of iterations.
ShrinkFact: ratio of desired image size to actual size Sparse images can be resized for faster runtimes.
Raw CONFIGR output (ground and figure-filled rectangles, and interpolating diagonals)
can be obtained using [I_output, I_output_raw, Idiagonals]=runCONFIGR(I)
Simple cell and complex cell activations are computed in CONFIGR_6_FindBound.mImage: Select a rectangular image.
Lobe propagation is computed in: CONFIGR_6_LobePropagate.m
Empty Rectangles are computed in: EmptyRectangleTypeOne_Ground_6.m, EmptyRectangleTypeTwo_Ground_6.m
Relevant File: FillingGROUND.mAn empty rectangle is eligible for filling-in as ground if it contains an empty ground corner or if it shares an edge with one or more filled-ground pixels.
Relabel wall corners that have become empty figure or empty ground. For each such corner, add newly created empty rectangles to the marked list. Relabel as filled-ground the pixels of each newly created empty rectangle of size equal to or smaller than the current loop size, if the rectangle is eligible for filling-in as ground. Relabel newly filled corners. Remove from the list of marked rectangles all that are no longer empty, because they intersect newly filled rectangles.Iterate corner and rectangle updates until no more changes occur.
Relevant File: FillingFIGURE.mLoop from smallest to largest empty rectangle (filling-in as figure) {
After all rectangles of the loop size have been filled as figure, relabel affected corners. Some empty corners that had previously been wall may now be empty figure or empty ground corners. For each such corner, add newly created empty rectangles to the marked list. Fill as ground newly created marked rectangles, if the rectangle contains an empty ground corner or is adjacent to one or more filled ground pixels. Remove from the list of marked rectangles all that are no longer empty, because they intersect newly filled rectangles.Iterate corner and rectangle updates until no more changes occur.
Fill as figure each remaining newly created marked rectangle of size equal to or smaller than the current loop size.
Remove from the list of marked rectangles all that are no longer empty, because they intersect newly filled rectangles.
Any
MATLAB
Public domain software