NASSACHUISETTS A.I. A INSTITUTE

advertisement
NASSACHUISETTS INSTITUTE OF TECHNOLOGY
A.I. LABORATORY
June 1972
Artificial Intelligence
Meo No. 263
A HETERARCHICAL PROGRAM FOR RECOGNITION OF POLYHEDRA
Yoshiakl Shiraf
ABSTRACT
Recognition of polyhedra by a heterarchical program is presented. The
program is based on the strategy of recognizing objects step by step,
at each time making use of the previous results. At each stage, the
most obvious and simple assumption is made and the assumption is tested.
To find a line segment, a range of search is proposed. Once a line segment is found, more of the line Is determined by tracking along it. Whenever a new fact is found, the program tries to reinterpret the scene taking
the obtained fnformation into consideration. Results of the experiment
using an image dissector are satisfactory for scenes containing a few
blocks and wedges. Some limitations of the present program and proposals
for future developments are described.
Work reported herein was conducted at the Artificial Intelligence Laboratory, a Massachusetts Institute of Technology research program supported in part by the Advanced Research Projects Agency of the Department of Defense and monitored by the Office of Naval Research under
Contract Number N00014-70-A-0362-0003.
Reproduction of this document, in whole or in part, is permitted for
any purpose of the United States Government.
1. INTRCDUCTIION
We do not know how to
as
well as
a human
being.
One of
recognize objects
environment
may
in the
be recoqnized
of many computer
the shortcomings
context of
based on
his a
The
priori knowledge.
The
simple
that the
recognition proceeds to the
first and the
parts are recognized
A
environment.
the
programmed so
however, well
recognition rrocedure is,
cbvicus
visually
as , insky has pointed outt , their hierarchical structure.
rrowruams is,
hbuan may
make a program to recognize objects
more comrlicated details based on the previous results.
The work in this parer studies an example of a heterarchical program
to recognize
begin
polyhedra with
by trying
complete line
drawinm
to find
drawing.
an imace
dissector.
feature points
It
is
in a
very difficult
without knowledge about a scene.
errors, the
recognition by
complete
line drawing, such
mistakes.
Our work is
entire scene
to get
works
and make a
a complete
line
the line drawing has some
If
theory based
a
Most previous
on
of
the assumption
the
still more serious
as Guzaan'sk) might make
an attempt to recognize objects ster by ster, at
each time making use of the Irevious results.
We
assume in this
cbjects and
the
approximately.
jroderately
paper that the
background
At
complicated
is
present,
difference in brightnesc between
large enough
this
configurations
rrowram
of
to
detect
works
blocks
and
for
the
boundary
recognizing
wedges.
limitations and rroposals for future developrent are described later.
The
PAGE 2
2. GENEPAL STRATEGY
2.1 Priority Of Processing
For
convenience, we define the
fallirng into 3 classes.
end the cuter
lines AL,
edjes of the objects
A line formed at the boundary between the bodies
background is
a
_conto-ur line of
C
Cic,
M, 9,EF, Nt,ON, HI, IJ,
XY, YZ and ZV are contour lines.
of an object.
in a scene as
the bodies.
JK, XL, Li-.,
MN,
In
NO,
Fig. 1,
AO, V'i,UX,
A lboundary line is a line ca the bcrder
Contour liner are boundary lines.
In Fir. 1,
the bontwary
line~ are the contour lines and lines on the bourndary between twc bodies,
i.e. CP, Pf,
!Q, Qf, and P1,.
An internal line occurs at the intersection
of two planes of the sqme body.
Lines 3J,
1~, Q., F" , NT, AId,
A-,01,
M
and XV are internal linez.
The glotal strategy is shown in Fig.2.
are
extracted (b~cause
we assume a porori enough
objects and the Lackrround).
lig.1,
one contour for todies
the boundary lines and
contour.
At first, the contour lines
If more than
contrast between the
one contour is found, as
El, £2, 13 and
in
another for lody B4, then
internal lines are searched
one by one for eact
The g>lobal strategy in block 2 in Fig.2 is as follows.
A) Find boundary
lines before
finding internal
lines because boundary
lines often •ive good cues to Eues.: internal lines.
Kote that to find
boundary lines implies to find bodies.
I:) In searchinr
larter or
re•quirrd
for
smaller
lines, different situationr
areas.
In
our stratepgy,
to scarch lines, the hifher
require examination of
the
smaller
the
area
priority we 5ive to that search.
NOAE ?
In Fig.1, for instance,
line
IC,
it
iA
to determine the existence
enougb to search a
extension of the line.
all
To find
of a extensior:
small area whose
center is on the
line IQ, however, we should
possible directions of a line between IP and IJ.
of
consider
Thus the former
search has priority over the latter
The priority to extract
the most obvious
information first is
the
followinr order.
(
two boundary
1) If
lines make a
1i.'. 3),
try to find the extension of the!m.
found,
track alon:•
(b)
this line.
(such as
concave point
point B in
If only one extensio:n is
Most of such cases are like in F&i.S
W.ibere one body hides the other.
side
We can determine to which
of body this line belon r.
(2)
If no extensions of two concave lines are found,
line which starts from the concave point,
If only one line is
is not clear locally to
which body this line belons.
In Fig.e
line BD belongs to the upper body, but this is not always
(c),
is
That
the lines
found,
host of these cases are as in Fig.3 (c) where
track along this line.
it
try to find another
AB,
BC, BD
are
not sufficient
to
true.
decide the
relation.
( 3) If
hoth extensions cf two lines are found at a concave point, try to
find a t.ird one.
This
is the case as
boundary line.
If
only one line is :found,
shown in Fig.3 (d) where
track along this line.
the third line is
the
PAGE 4
.h.enever tracking terminates, an attempt
new line to the other lines
the
always made to
that were already found.
one line serment is found in (O), (2)
is
is
or (3),
connect
If more than
the tracking of those lines
put off hopefully to be clarified by the results of knowledge obtained
found at
two extensiors
Fig.4 illustrates
cases.
in simpler
concave
P. The interpretation of the two lines is put off to treat simpler
roint
cases first.
That is,
one wculd continue examining the contour and lines
found next;
AB and Cr miCht be
by a
then,
circular search at Toints B
(which is exrlained later), line BP would be found.
At this ste•e it is
easier to interpret lines AB and BP as boundary lines which separate
bodies.
Then
line
DP
might
be
found
similarly
and
two
interpreted
correctly.
( 4)
If an end of a boundary line is left unconnected as Ký in Fi,.5, try
end point (Q in this example)
to find the line startinr from the
circular
line is
search.
If multiple lines are
the boundary.
found,
by
try to decide which
If a boundary line is determined,
track alone
In Fig.5, the dotted lines are found by circular search and the
it.
arrows show the boundary lines to be tracked.
( 5) If no line is
(PQ
in this
found in the case (4)
example) by a
conected to other lins,
in (4).
is
This
certain leneth,
If not,
necessary
as stated above, extend the line
and test if
the line is
then apply circular search again as
because the
termination pcint
of
the
tracking is not always precise,
Note
ttat this
either t!:e line is
process can be
repeated until
successful (that is
connected to other lines or line se~ments are found by
FACE 5
circular search).
( 6) If the boundary
the
lines of a body are
boundary that might have
known, select the vertices
interral lines starting at them.
selection of vertices is based
find an
internal line
The
on heuristics such as seletin2
right vertex rather than lower right vertex.
which is
of
upper
At each vertex, try to
nearly parallel
to other
boundary
T
Fi 1.l
for
examrle, internal line JS is parallel to the boundary line KL or
IQ,
If
lines.
and (S ir
one line
is
found,
parallel to R1 or IJ.
XZ.
rarallel to
parallel
Thus it
track
along it.
In
Line FL is parallel to ED and XV is
is often
useful to
Note that search for
same body.
to boundary lines of the
lines
find internal
rarallels has small area.
( 7)
If
no line
is
found in
try
(6),
between adjacent boundary lines.
it.
to find one
search
by circular
When one line is found,
track alone
In fir,.6, circular search between BA and BC is necessary to find
the internal line BE.
( 8) If
two internal lines meet at a vertex, try to find another internal
line startint at the vertex.
is
where
no
line
internal
This process is
was found
in
used in two cases.
(7)
difference in brightress between adjacent faces.
that
because
One
of little
Suppose irt
Fig.1,
the internal line SJ was not found at vertex J, but that WI and
(S were found.
toward
found.
bodies.
J. If
Then
try tc
there is
The other case
find an
internal line
enocuh contrast
is where a body
near S,
starting at 0
a line
se.ment is
is partly hidden by
In Fir.6, the trianrular prism is
partly hidden.
other
After 'F
PAlF 6
and CE are found, EF is searched for.
of
direction
sometimes not.
If it is
sometimes predictable and
the line is
predictable, then try that direction.
the
In both cases, the
failed, then ayply
predicted direction
if
If it is unpredictable or
circular search between
If one line is found, track along it.
the two internal lines.
S9) If an end of an internal line is not connected to any line, try
find
lines starting from the end
to
If lines are
by circular searc~.
found, track along them one by one.
(10) If no line is found in (9),
extend the line by a certain length
in (5) and test if it is connected to other lines,
try circular search again as (9).
until successful.
line
M{'
if
not connected,
This process can also be repeated
Fig.7 illustrates
this process.
In Fir.7
is not connected to others at N', thus ster (9)
N' and fails.
aas
The line is extended to Ai
(a),
is tried at
and (0) is again
applied.
This process is repeated until the line is connected to line XL at N.
Fig.7
(b) shows that line H1 is extended by this process to P1 where
a new
line
is found
extended to }4.
by
circular search.
Similarly
line
CO
is
This process is useful so as to not miss a new body
sitting on ar obscure edge.
At
each
stage
when
an
above
step
is
finished,
information is interpreted as shown in Fig.2 (block 3).
tracking
along a line termirnates, a test
the
obtained
For instance,
if
is made whether the line in an
extension of other lines and/or the line is connecte6 to other lines at a
vertex.
If
a boundary line is
connected to another boundary line,
the
PAGE
lody havinc the lines is
split into two bodies and the propertiet of both
lines and vertices are stored in an appropriate structure.
exaamle, line N0'
is
is
umini
the
of these
obtained.
two lines.
Then,
boundary
12 and
two bodies
We
I3.
of B3 which hides a part of
it
is
Before the line was connectoe
CO, there were two bodies Bi and B2 as in Fig.8 (a).
tplit into
This line
I;i, and I'[i and N'P" are merged into one
equations
connected to CO and Fig.8 (b) is
to
In Fig.S, for
obtained by tracking starting at point 1J
interpreted as an extension of
straight line
7
line NO
can interpret
2,.
Now body j2 is
as
the
The other properties of lines
Fnd vertices are obtained similarly at this staMe.
2,2 Example
We illustrate the entire line-findin, procedure with the aid of the
examarle shown in Fig.9.
Ri,
At first, the contour lines AB, EC, CL, DE, ES,
;h, 1 1, 13, jX and RA are obtained as shown in Fig.9 (a).
described
in the previous section is tried
Step
for the concave points 0 and
J. In this example, the position of 0 is not precise enough to find
extension
of EG.
extension of
Cn
the line
the other
QJ.
hand, a line segrent
KJ is
(1)
extended by
trackin
the
is found as an
as
far as
L.
Locamise there is no ether point to which ster (1) is applicable, ster (2)
is
tried
for point
tracking teri:inates.
0. One line segment
Thus a line G':'
is found
and
extended till
is obtained as in FiQ-9 (h).
line is interpreted as an extension of FG and connected to JL.
This
Then the
rosition of I-oint F, 0, L are ad2usted to as shown in PFi.9 (C). Now two
bodies £1 and B2 are created by the boundary lines GL and JL. It is
important
to notice this, for it means that step (1) is again applicable
(to point L) at
this sta•e.
'1g1.? (d) (Note that line KN'
as
FL is extended as
has not yet been fcund).
an extension of FL but the end
point M is
LK is
new line LM.
f•re neither ster (1),
far as i in
interpreted
not connected to any ether
Thus vertices F, 0, L and end point M are adjusted
lines.
the
Thus line
considering
(2) nor (3) is arplicable, so
that (4) is now applied to M. Three lines are found by circular search as
Fic.9 (d).
trackingr.
UN' is
determined
as
a boundary
line
and
extended
by
Ghen it terminates, the line is connected to boundary line BC
at vertex H as in Fir~9 (e).
Body L1 sylits into body F1 Ard B1.
It is
known at thir staze that B1 is hidden by 83 and E2 is hidden by r2rtly E3
and yartly by Bi.
each
text, step (6) is applied to each body one by one
at
ti.•e selecting the easiest body for proposing the internal lines(in
this example, the order
E2).
is L3, El,
B2 because E3
hides BI which
hides
Internal lines CO and MO are found and connected at vertex 0, but
no line segment is found using step (6)and (7) applied to vertex E (this
stage is shown in Fig.9 (e)).
segment toward E is found.
in Pig.
Step (8) is applied to vertex 0 and a line
This is extended by trackinr
as far as E' as
(f).
Line OE' fails to be connected to any other lines which
activatet step (10).
After a few trials, OF' is extended to connect to
vertex E. Similarly, internal line AL is obtained for body El and line IF
is obtained for £2. When every ,tep has finished, three bodies are known
together wvth the relationships between them.
PAOG
9
3. ALGORITEMS
This
the algorithms that are used
section describes the details of
Some of them,
in findinc contours and in the steps stated in section 2.
such as tracking and circular search are used in more than one step.
algorithr used in more
than one ster may
be slightly different in
each
In the tracking algorithu,
but its essential rart is not changed.
step
An
used for
for examrle, some chanzes occur dependin- on whether tracking is
tount-try linrs or internel lines.
3.1 Contour Finding
.i.10 shows the
the procedure to
oLtline of
picture date obtained with an
The
find contour
lines.
image dissector usually consists of a
larce number of Toints (say about 100,000) each of which represents lirht
To speed up the proce.sing, one point for every 8 x 8
intensity level.
Foints
is smmpled.
This compressed
picture data consists
of 1/64 the
number of points in the original picture.
To find the contour, this data
found.
The judrement of contour point
is scanned till
a contour point is
is based upon the simple assumption that there is enough contrast between
the background and objects.
is
a
ncise point.
contour.
data
is
If
Thus a set of
It is then checked whether or not the point
it is
a
point, trace
real contour
contour points are found.
Then, the
is again scanned until a new contour point is found.
repeated for
all the
picture data.
When
all
alonp the
the
points hrve tnen found, each set is separately analysed.
pictutre
This process
sets of
contour
PAGE 1C
Suppose a certain set of contour points is to be analysed.
return
to
the
armroximately
high-resolution
original4
the position of the boundary
data which corresponds to the first
The
precise boundary point
picture.
aoint in
We
We
can
ruess
the oricinal picture
point found in the sampled
is searched for near
now
picture.
this point.
A set of
contour roints is obtained by tracinp from this point in the same way
in
the sample
picture.
A polygon is
formed after
we cormect contour
points one by one.
To classify the points of this 'curve"
the 'curvature'
the polyron
ct
::
ricture iK defined
the
is
used.
This curvature
re for convenience as shown in
figure represents a
contour point.
as
into reiments,
in a
Zig.11,
The curvature of
diy-it-al
Each cell in
a point P is
defined to be the difference in anmle between PR and PQ (a), where Q and
E. are a constant nunrber
If we plot the
of points away from P
curvature along the
(6 Toints in this case).
contour as shown
in FiC.12, we
ca,
tell what part is near a vertex and what part lies in a straight line.
that curvature is not very
Note
error.
result
sensitive to noise or diritization
If we intetrate the curvature
is nearly zero
in rpart of a straight line,
despite the effect
of noise.
If we
the
sum up the
curvature of consEecutive points whose absolute value is treater than some
threzhold, we can determine the existence of a vertex.
That is if
sum of the curvature of such points exceeds a certain threshold,
a vertex near those roints.
either
this
there is
Thus every contour point is classified to be
in the straifht part
of a line cr
near a vertex.
Usin. points
which belong to the .traight part of a line, the equation of the line
calculated.
Then each
vertex is
decided as
an intersection
is
of two
I ALF 11
ndjacent lncs.
3.2 Line setment Detoction
A
line Se~3~ent is detected given
This procedure is used
in most of the
cCnsiMts of two 1arts.
procedure
its direction and starting point.
steps stated in section
1.
The
to detect the possible feature
One is
The other is
roints which are to be regarded as elements of the line.
to
test whether or not obtained feature points cake a line segment.
In dotecting featurFe
ies,.
oints, we
an
edge into
proposed 3
detector
types of
is
(u,v),
boundary dctectors,
an ede-effect
U-V such
to be detected.
of
this paper,
In
U is
a roof
type-
edges can be detected by a
addition,
edge-effect types.
that
edge-effect, and
most roof
We
set up local
direction of
the
type
the
line
Let TIu,v) denote the light intensity at roint
and define the cortrast function Qi(v) at (u,v) as
Eg(v) = C
I2 1(1
+ iV
+ j)-I(u + i,v -
Suppose we have an intensity profile as
in
roof and
In
detector.
by step or
are accomnanied
Cartesian coordinaten
vegCment
namely step,
not considered because roof type
Ltep detector or
edges
3 typs,
various types
classified the light intensity profiles
:Herskovits and linford
across
should consider
Fig.13 (b) is the difference of
)
shown in Fir•13 (a),
Fk(v) at F
summed intensity between area Al and
4i(v) for a typical step tyle profile (Fit.13 (a)) is shoin in
Al.
The tyrical
'ip.13 (c) in which the edge is detected as the pepk.
-rofilas of YA(v) f'o- ott~r types are
shown in Fi7.14 where the edhe
is
PAGE 12
detected as the middle point between positive and negative peaks.
The
its position.
leak of QE(v) and
to detect the
basic procedure,therefore, is
The necessary properties for
(see
a peak are as follows
Fig. 15).
(a)
from v4 to vr
if WF(v) ranyes
, there must
exist the maximum of
FP(v) at vr other than v4 or vr.
where f" is threshold
(b) PF(v,) > fj
at v, between v4 and vq arl a
(c) There rust exist a minimum of Fg(v)
at v 1 tetween v,
miniaun of T(v)
where f1 is a threshold
F4 (vN) - F0(v2) > fA
If
is found,
such v1
and vy such that
the left of the peak (vq) and the right of the
teak (vt) are determined as the intersection of YA(v) with the line Fyv)
= ft as
Fig. 15.
shown in
The value
of ft
depends on
Fj(v,) and
is
represented as
ft
W cIF(Qv)
+ 0,
o, are constant and 0
where o, and
The
c<
c
< 1, C
>o 0
positiorn of the peak v, is obtained as the middle of v, and vy.
more than one peak
nearest
to the
is found between vq
middle of
similarly detected.
obtained
feature
as the middle ef
found, (although
positive
A
v( and
and vy , the
point vp
adopted.
A negative
vr is
point for
an
edge-effect or
the rositive and negative
the threshcld
fz is
or negative peak detection).
not
Thich
the same
If
is
peak is
roof
is
peaks, if both are
as in. the
simple
This method for the detection of
teaks and positions is nct aypreciably affected by noise.
PACE 13
The other part of the
linearity
line segment detection ie
at P0 arnd suppose the
lines Lo and L1 meet
tested as shown in Fig. 16.
concave boundary
Suppose
feature points.
the detected
for
line segment extending LO
is
is
Feature points are detected in a rectaruular
search area with given length and width whose direction is
of L,(=-),
co-
a test of the
equal to
that
at an appropriate place where the detection of feature points
not affected
detected alons'
sequentially,
corre.ponding to L1 .
by the edte
the
direction
v
at the
Feature points are
pcints
center
Py ,P. ,p..,P,
If Tositive peaks are found at INMc,...,M"
as shown in
the figure, the linearity of the points are tested as follows.
The nutxber of the feature yoints must exceed a threshold number n
(a)
(b) The
deviation
of the
dS
points in
line fitting
least
with the
square tethod should be less than a thresholdd4.
(c) let
L' denote
the
direction of
segment obtained. by line
line
fitting,
Iu'-
U1 < U,
where •l' - Uj denotes the diffrence in directions U'
Similar tests are made
If
for the different
types of feature
more than one type of line segment is found,
If an edge.-effect type is found,
(b) For the line segment with
then it
is
selected.
' and U', let the criterion
function C be
C = SJ
wu lU" - Uj
where w
points.
the selection depends on
r
criteria.
the followinr
(a)
and U
is a constant
PACP 14
The line segment selected is
the one wiht smaller C.
3.3 Circular Search
Circular search is used to search for lines starting
at a riven
The direction of the lines to be searched for is not known. The
point.
of directions in circular search depends upon the particular case.
range
Suppose two known lines L1 and L1 meet at P as in Fip.17 (a) and
we
and
L1
are slightly inside of
and Lj whose directions
between two lines L'
If lines
resrectively.
The search range ok is
between them.
wish to search for lines lyinh
at point
starting
suppose
P
L!
Le are
of line
searched for as in Fig.17 (b),
L' and LQ are similarly set inside of LO.
The
circular
center
F of
point
the
search is
always rrecisely
not
determined, especially when trackinr along a line has terminated at point
I as shown in Fig.17 (b).
Therefore
circular search should not be too
sensitive to the position of the center point.
It
malgt be natural to try to
section 3.2,
based
upon
line seements if there
arcs
is more than one
difficulty, a simple
method is
to
directions.
apply
This
segment detections
Oiroctior
along
around
the
The
center.
with this search is the classification of feetture points into
difficulty
this
F 1 (v)
detect feature points, as defined in
cthange
line
is
toward
algorithm is
segment
and search
area
deternined so that line segments of
used
detection
illustrated in
ul ,ut
as shown in Pi•. 18.
and u
To
in this paper.
successively
Fic.19,
are
(AI,AL and
where
applied.
A3
avoid
Its basic
in
various
successive line
The
in the
step
of
figure) are
any direction near the center
point
PACF 15
can
be found.
find lines
Fig.7 can
at roints
starting
the same as described
line setment detection is
respect to t1reshtolds
and search
directionr overlap
different
found in iifferent searches.
each other, tIhe
center
adjacent
The alporithm
in 3,2 except with
Because the
area.
search areas
for
sezment tay be
sane line
Fach time a line segment is
detection, a check should be made
~e.anent
between two
line L in Fig.2C starting between PI and Px).
roints (e.g.
fbr
Thus successive circular search along a line as shown in
found by
whether or not it
is
line
the same
e one obtained by the previouc detection.
ns the
If
centor roint
the
is
it
precisely,
are found (such as
has not
possible to find all
line Lz
the figure), a new
Li and L 3 in
line (L 0 ) and
been
determined
the lines startin, at
To avoid this inconvenience,
based on the known
calculated
circular search
Fig.21., for example,
search at Fo.
circular
ight
be missed
in
when line segments
center point FP
is
the obtained line sechents
Then circular search is arplied again at P1 .
and LI).
(LI
not always
In
the given point.
of
3.4 Tracking
TrackinE is used
until
it
when a line
terminvtes.
the line should not be
segment is given,
to track alongy
it
a tracking procedure are 1)
The requirements for
lost due to the effect
of other lines or
noise,
and 2) the procedure should terminate as precisely as possible at the end
of
the
line.
termination
These
requirements
are
contradictory
in
that
the
concition should be strict to satisfy the second requirement
which makes it
difficult to satisfy the first.
The following
al•oriths
PAGE 16
is a comiromise between these requirements.
basic procedure is
The
and to search for it
near
result of the search is
(a)
to predict the location
of a feature roint
the point using line segment
detEction.
The
classified into the followinr 4 cases.
there is no feeture point.
(b) a feature point is on the line.
(c) A feature point is not on the line.
(d) It is not clear whether or not a feature point is on the line.
In
case (a),
the
detection of a
serment dctxction except that the ty-pe
feature
The
decision between cases
(b),
distance d between the point and the line.
If d < d1
then case (b)
if
then case (c)
d > da
If dj< <d
d.d
similar to line
of edre is already known so
the thresholds stated in 3.2 can be.Edjusted
Ya(v).
•oint is
that
based on the averare peak of
(c) and (d)
is mn.de tsinc the
That is
then case (d)
The threshold d I chanzes derending en the state of trackin
.
The
state of tracking is represented by two intefers mi and r,. which are set
initially to 0.
(b),
The value of m and m are chanced for each case (a),
(c) and (d) as follows.
(a) a, = at + I
(b)
If
wm> *m,
Otherwise,
m, =
- 1 , (where m is a constant)
m -= 0, ml =0, and classify those feature points
into (b) which hpve teen clasified into case (d)
PA' ;
in the previous steps of tracking.
17
Adjust the
equation of the line with these points and the
•oint
present feature
(c)
If d
dz3 and m. > ma,
(where d is
=
- 1
a constant)
Otherwise no cYanre
m, = mX + I , and if
(d)
mi)
m,
= M
gr
Im -
The threshold d, is represented as
d| = d 0 + w, m
(where d o and w% are constants)
procedure is rereated and tracking rroceeds step by ster
Ihit
the line until the termination condition is satisfied.
cxtendinr
The termination condition of trackinr is either
am
> mI
The terminal point is
defined as the last point classified into case (b).
In
this aleorith works.
lig.22 illustrates hcw
lig. 2 2
of mn
these
however determired more
in the
The terminal point of
figure) which satisfies the termination condition.
trackinr is,
lines
two
Fig2•2 (a),
Irackinc might finish at some point beyond Pg (PI,
at P 0 .
cross
(where m~ and mt are cornstants)
+ a. > mt
or EI
precisely near PO(P i
cr
In
Pt).
(b), P1 ,• , 1 3 P Pare classified into case (d) increasing the value
points
which
Then the line is
into case (b).
which classifye P
are
now
classified
into
case
(b)
adjusted
with
and tracki4cn
rroceeds.
Fir.22 (c)
Trofile is
end (d)
illustrate that
even if
disturbed by roise or other lines,
a part of the
trackiner
intensity
does rot terminate
PACE 1Z
In Fig,.22 (d),
there.
however, if
the light intensity of the right side
of L* chanses across L l , the type of feature points might change across L,
.
eoints P3 ,P
Thus feature
rroceeds.
If
found,
If not found,
rosition of If
often
extension of
is found.
segment
,".
might not be obtained and tracking mipht
When tracking terminates,
terminate at P1.
applied at the
9
the line
the line segment detection is
to see
we adjust the
if
line
tracking finally terminates at point P1 and the
extends the line across other lines when it
vertical lines.
type of
line equation and tracking
is adjusted with the line equation.
a.t their crossingr
another
The above
rrocedure
terminates temporarily
as in Fig4. (b) where tracking along G'"M
crosses
many
PAGE 19
4. EXPFRIMFNTAL RQULT
To
test the
having relatively
The
proCram, experiments
muiform
A•&ND COMMENTS
with cubes
are made
white surfaces placed
on a black
imate dissector camera , used as an input device,
onto a 2C0
every
x
8 x
20000 (octal) grid.
L block
of Frid
In this
elements is
represented by 1C24 x 1024 grid
points.
and wedges
background.
dissects the scene
experiment, one pcint
sampled.
Thus, the
for
scene is
Objects occupy only a part
of
in the typical scene, the rectangular area which includes the
the scene,
cbectts cf interest mDay consist of about 400 x 400 points.
This area is
eivided into blocks each of which is made of 64 x 64 points and stored in
disk memory.
When a lieht intensity at some point is required, a
containira tGo :int and adjacent blocks are stored in core memory.
accessed for
core memory is
the iniut of
the light
.lock
The
intensity until a
joint outside of those blocks is refererenced.
Video input is at first converted into a 10 bit digital numLer which
is
an
inverse
converted
into
resolution is
linear measure
10
bit
logarithmic
the light
Some
measure.
by a little
It is again
intensity
level
In this experiment the
less than IC0
levels.
The
t edge in the dark tackground is blurred due
dKta for a clear trif.
to some limitations (mostly defocusing).
step
intensity.
lost in the logarithmic conversion.
light intensity is represented
input
of
function, there
is a
transient area
If
the intensity change is a
in the
input data
about 1I
Thus the resolution of the picture is regarded as 1C
roint.s wide,
ynints.
The arnmeteru In:d in line scfnment detection and trackinr are
PAGE 2C
Features of the picture involving resolution
based urcn this resolution.
of less thean 10 points are not usually found.
The difficulty or processing time
Some results are shown in Fig.23.
of the recognition depends not only
also
on the
SJ,
lines
of contour lines.
KS
for
as
the
and QS
less
reliable
in
easily
1.1 is applied.
after DY and rL
That is,
line
a
segment,
But tracking along VY
and
are
Circular
more
time
all the internal
in Fig, 2 3 (c )
Then step (10) stated ir
and F2 in Fiv.23 (c ) terminates in the middle.
section
it is not easy to fnd.
lines are determined,
lines are proposed in both cases.
proposed
at K and L respectively.
findinS
Once the boundary
consuming.
are
On the other hand,
circular search is necessary
search is
Fir.23 (c),
In
each stage.
in Fig.23 (c ).
boundary lines K0 or LN
found,
but
information extracted at
exn.qy:le, boundary
extension
on the complexity of the object
This is the most time consuming proce 1s (about
10 times more than the simple tracking process).
a hierarchical rrorgxam are shown
Some examples of the result of
lig.24.
and
Ieierarchical programs may look at the whole scene homoreniously
pick up feature points.
obtained in the
priori
in
the
Lines are
previous stage.
various thresholds
It
for
fitting and connection of lines.
In
found with those feature points
is very difficult
detection of
to determine a
feature
this beterarchica
points, line
progranm,
it
is
Tessible to adjust various thresholds with the context of the information
cbtained
previously.
case by case.
whether
Furthermore the algorithm
(For instance,
the line is a boundary
trackingr
itself can be modified
algorithm is
or internal.)
changed dependinr
on
The results of experiments
PAGE 21
with moderately complex scenes are mostly satisfactory.
many
Because of
the
checks for consistency of lines and vertices, the yrogran has small
false lines.
probability of findin;
However,
there are come limitations of this program at present.
of them is that lodies may be missed in some cases.
shown
in Fi-.25.
yroposed thovlh
Wbcause
The boundary
other contour
the
the resultin,
activate steo
necessary
A simple example is
EC in Fie.25
lines lB and
'neat'
that
(a) are not
lines are
lines and internal
recions are so
One
found,
no conceive vertices
in such a case when bodies are neatly stacked, it is
(1).
the -oundary line.
from some points on
boundary lines which start
to search for
To find a body
In !ig.25 (b) body E2 is not found.
that is included in a face of another body, it is necessary to search for
Though these two kind of search (search
line segrents inside the region.
adonc
the boundary line and
all the bodies in
search in the region)
are required to find
shown in Fig. 25,
they are still more
the scenes as
effective than the exhaustive search in the entire soene.
simpler
to interpret the scene
of the present
The other limitation
that
it
is
not always
Fig.26 (a) shows a simple oexnaple.
line
CBE
If all the bodies
boundary line as shown
bodies.
found by those searches.
is left to future work.
This procedure, towever,
introduction,
when a line is
Besides, it is
as
program is,
applicable
Line SD is
to
stated in
the
concave objects.
found as an extension
of
are convex, line ED is interpreted as the
in Fig.26 (b).
In this rrog•am, line ED is
This does
not hold for
concave
rewarded as a boundary line, and
then line DI can lbe found by circular search at L:. At this stare, however
PACE 22
LE -should be interpreted as sn internal line of the same body instea-d
the
boundary
line which
interpreted correctly,
line.
seperates
then line
the
BD can
body
into
two.
If
of
DE. is
be determined as an internal
This procedure should also be implemented in the present program'
PACE 23
CON CLUSIONf
A hetererchical program to
rrorran
be
detected
tackrround),
use of the previous results.
is
1) contour
lines
The order of the lines
Cboundary of bodies and
lines or among
of two faces
internal lines, the
of the sane
line, the range where
'most plausible lines' are
a line segment may exist
detected in a suitable way for
AmonC
body.
To find
rrorosed at each stale and an attemrt is made to find the line.
a
the
2) loundary lines which are the boundary between two bodies,
Y) internal lines (intersection
toundary
The
of recognizing objects step by step,
is based upon the strategy
at each time inakin
to
recognize polyhedra is presented.
is proposed and it is
the proposed range.
If a prorer
line
sepment is found, the end of the line is determined by tracking alone the
line.
then
scene taking
proposed
into consideration.
this line
Because
lines are
mostly
instead of found by exhaustive search in the scene, the program
is relatively
dissector
the line is determined, the program tries to understand the
effective.
Eesults
of
the experiment
using
an
image
are satisfactory for scenes including a few blocks and wedges.
Although the
present
program
has
limitations, some
overcome by developments proposed here for future work.
of
them
may
be
PAGE 24
RF~ERENCES
1) N. Minsky and S. Papert,
'Propioal
artificial intelligence at M.I.T.,
to ARPA for research on
1970-1971', MIT Project MAC
Artificial IntellIsence Memo No. 185, 1970.
2) A. Guzmman,
Computer Recornition Of Three-Dimensional Objects
In A Visual Scene',M•i
T MAO-TR-59 (Thesis),
1968.
3) A. Herskovits and T. finford, 'On Boundary Detection', MIT Project
MAC Artificial Intelligence Memo to. 183, 1970.
4) B. Horn,
'The Ima.e Dissector 'eye'
Intelligence Lemo No.
178, 1969.
', MIT Project MAC Artificial
Fig.
1.
fxample of Scene
1
2
Extract the most
Extract the most
obvious informa-
obvious informa-
tion based on
tion based on the
a priori
knaowledge ob-
knowledge
tained up to now
2
Interpret the
Information and
store in
an
appropriate form
Fig. 2.
Schematic diagram of the strategy
F--
C
A
-r
_rP,·
R
~·C
_Ccr
i`L
~
~
-~i
L
`t~51
(c)
Fig,
3.
Examples of concave boundary lines
~pb~
(d)
C~"I
Fig. 4.
llustrates two extension lines at concave point P.
d
*2
B
C
S'
Fig. 5.
Examples of line configuration found by circular search.
Fig. 6.
Example of circular search for internal lines.
(dotted lines are not yet found in this stage)
Fig7.7,
Examples of line verifying by circular search.
(a)
Fig. 8.
Illustrates the process after tracking
(b)
(e)
Fig. 9.
Illustrates the procedure to find lines,
Fig. 10.
Flow chart of contour finding.
Fig. 11.
Illustrates the definition of curvature
I"-----
··v
-
-
-r
,
L
*~y~y
__
-~-_^..~-~----
D
C
boundary points
Fig. 12.
Example of curvature.
.lI
E
-~- -
F
(a)
lighR
intensity level profile
U
Alb
oputeo
(b)
P
Areas to compute Fyat P
. . ..
_
.. ..
.
___
I
V
(e)
Fig. 13.
FP U (v) for (a)
Examnple of F u().
-'
L-~.~,_..,~._~_._~
V
-l
tdge-effect
Fig. 14.
v•e
I
Typical profile of F (v),
V
Vm V1
v --
Fig. 15.
Peak detection.
v'2
v
Po1.
6 P1 P etion
P Pa P
e
search area
Fig, 16.
Detection of feature points.
/I\
s
J' C
r
r
L
ri
L1
(a)
Fig, 17.
Range of circular search,
~rs
(b)
1L
~
K represents a feature point
Fig. 18.
Illustrates difficulty in classification
of feature points.
~1
Fig. 19.
S5uccessive line detection in circular search.
La
Fig. 20.
FI2
Exampie of successive circular search.
Po
LO
3
3I"
Figý 21.
Repeated circular search.
r,
ILL
ýP3
6P2~
LNb
P4
P2P
4--p
7
S,-
--
e3
Lo
L
I
(a)
Fig. 22.
(b)
Examples of tracking.,
(c)
(d)
0S
(a )
(ct)
C
(a2)
Objects,
Fig. 23.
(c2)
:
(c
):
Result
Examples of Experiment.
(a3)
(C)
(bg)
(4 )
(b00
(at):
Qci ) :
Objects,
(b i
:
Result of Hierarchical Prograa
Result of this p~roSgr
Fig. 24.
)
Examples of Comparison Betve~n Hierawrchical
and eteTrrcbhical Program.
(a)
Fig. 26.
(b)
ILtustrates difficulty for concave body..
(a)
Fig. 25.
I1luatrates lack of cu~es.
Download