On Jul 23, 2:48=A0pm, slus...@[EMAIL PROTECTED]
wrote:
> On Jul 22, 11:59=A0am, aruzinsky <aruzin...@[EMAIL PROTECTED]
> wrote:
>
>
>
>
>
> > On Jul 22, 8:04=A0am, slus...@[EMAIL PROTECTED]
wrote:
>
> > > Thank you for your interest and offer to review some sample images.
> > > Unfortunately, our concern is not on the software or algorithmic
side=
,
> > > but on the optical side. =A0As I mentioned in my original post:
>
> > > "Does anyone have references they can point to (or their own
> > > pesuasive
> > > arguments) that describe where the true edge location should be
> > > relative to the edge image function?"
>
> > I already did. =A0What is wrong with you?
>
> > > I also mentioned that I originally posted to sci.optics, then added
> > > sci.image.processing because I thought the folks here might be more
> > > aware of relavent references. =A0The (apparently) commonly held
belie=
f
> > > that the maximum slope of the edge image, or the midpoint between
the
> > > maximum and minimum grey level values of the edge image corresponds
t=
o
> > > the true edge location seems unmotivated or unsup****ted to me, even
> > > though it "feels" like common sense. =A0
>
> > That is an algorithm, albeit a really stupid one that is not common
> > sense, so don't tell me that you are not interest in algorithms.
> > Furthermore, that is not a commonly held belief, e.g., it is common
> > knowledge that shock filters sharpen an edge around the inflection
> > point (the inflection point is preserved) and nobody, I know of,
> > pretends that shock filtering is deconvolution.
>
> > > We have also performed bench
> > > experiments that suggest that neither the max. slope nor the grey
> > > level midpoint corresponds to the true edge, with errors being in
the
> > > range of 0.2 to 0.45 pixels in the experimental set up we used.
>
> > I hope my tax money didn't fund that busy work.
>
> > >=A0We
> > > are continuing our own investigation, but I have to believe that
> > > someone has already done this at some time and published their
> > > results. =A0I'd love to find out that our own efforts at inventing
th=
e
> > > wheel are unecessary. :-)
>
> > I already gave you a reference to a relatively simple algorithm that
> > might do better than 0.2 pixels. =A0 It would be foolish not to try
it.
>
> Hmm. I appear to have offended you. =A0If it was because I had not yet
> acknowledged your reply to my query, I apologize. =A0I was, in fact,
> digesting your comments as well as the two references you provided. I
> was also reading what I found upon looking up "edge interpolation" as
> you suggested. =A0In the meantime, Andrew offered a suggestion that I
> was more easily and quickly able to address, which included my
> referring back to, and quoting my original post. You may have
> interpreted that as my ignoring your suggestions.
>
> Regarding your references, I believe I can see the point(s) you are
> making, but I also don't see the relavence to the *physics* of
> correlating the image of an edge to the location of the real edge. We
> might be talking past each other here, much as the Americans and Brits
> are separated by a common language. :-)
>
> Let's ignore pixels for a moment, and pretend we can sample the image
> of a back lit knife edge with infinite resolution, casting God's eye
> upon the screen on which the light eventualy falls. Are you familiar
> with Fresnel diffraction at an edge? When one looks at a plot of
> intensity of the light around the "shadow" zone, one sees there is
> light in the region that would otherwise be forbidden if there was no
> diffraction. =A0One also sees that "past" the edge, the light intensity
> climbs, reaches a peak, then oscillates in a decaying fa****on,
> eventually reaching a uniform intensity.
>
> If you look closely at this plot, we see that the point on the light
> intensity curve that in fact corresponds to the true location of the
> knife edge is of an increasing slope, but is neither the maximum slope
> (gradient), nor an inflection point, nor, generally speaking, is it
> midway between the minimum light level and the average high light
> level, much less the peak. =A0Thus, edge finding techniques that depend
> in some fa****on on maximum slope or gradient (Sobel, Canny ,etc.) or
> 50% threshold level, would not find the point on this edge image that
> corresponds to the position of the true physical edge. Of course this
> is just a start. =A0The edge image is further complicated by the many
> other phenomena that occur when using lenses to place the image onto a
> pixel detector.
>
> My own readings found, in many cases, discussion of edge detection
> schemes that do in fact start with the presumption that the maximum
> slope or gradient of an edge image should in some way correspond to
> the true location of the edge, but with no explanation of why the
> author believes this to be so. =A0My guess is that this is something
> that is simply "understood" by those working in the field, and is
> passed along from one person to another without question. =A0It's
> obvious that you hold no such belief, but at the level of my
> investigation it *is* common.
>
> As for time spent investigating this, rest assured that this is
> strictly a capitalistic venture using private money, snide comments
> not withstanding.
>
> It may be of no interest to you, but others might find something
> interesting. =A0I'm cutting and pasting here a brief description of our
> experiments that I also orignally posted on sci.optics:
>
> Using a
> chrome-on-glass bar target that is measured as 12.503mm long
> +/-0.003mm, we grabbed images with a telecentric lens and red LED
> collimated back light. =A0We then used a micrometer stage to move the
> target 12.503mm (again, with an error of +/-0.003mm) -- so that the
> trailing edge at the new postion corresponds to the leading edge of
> the original position. =A0The direction of motion was perpendicular to
> the lens optical axis to within 0.25 degrees. =A0We then used various
> edge detection methods, including the 2nd derivative of the edge with
> a fit to a parabola, as well as the simple 50% local thresholding,
> among others. =A0What we found consistently through different positions
> in the field of view and different new set-ups is that the trailing
> edge appeared to fail to move far enough to coincide with the old
> leading edge. =A0The error range was ~0.2 to 0.45 pixels, or about
> 0.015mm to 0.034mm in real world units -- always considerably larger
> than target and motion error, and alway in the same direction of
> error.
>
> Another way to interpret this result is that an object consistently
> looks larger than it actually is. (If the bar target appears to be
> 12.523mm, and you move it 12.503mm, the trailing edge will fail to
> "catch" the initial position of the leading edge.)
>
> We've tried this with different lens f-numbers from F/45 to F/8 and
> did not see an obvious trend that followed the aperture, but on this
> front we've only made a small number of tests -- 4 at each f-number.
> The errors average ~0.3pixels, with the standard deviation ~0.05.
>
> I will also add that we have used two different cameras (AVT Stingray
> 145b and Sony XC-ST70) out of suspicion that a non-linear responsivity
> could be the culprit. =A0While differing slightly in detail, we saw
> essentially the same result.
>
> Spencer- Hide quoted text -
>
> - Show quoted text -
Consider a simple 1D example:
"Knife edge" is a discrete step function x.
x =3D [ 0 0 0 1 1 1 1 1]T
A =3D
[
1/2 1/2 0 0 0 0 0 0
0 0 1/2 1/2 0 0 0 0
0 0 0 0 1/2 1/2 0 0
0 0 0 0 0 0 1/2 1/2
]
A represents convolution with [1/2 1/2] followed by a factor of two
decimation. You can see A is undetermined and not invertible.
Your observed values would be
y =3D Ax =3D [ 0 1/2 1 1 ]
In estimating x from y, given A, you have to do something that vaguely
resembles an inversion of A to estimate x' of x.
For example, you can softly constrain the discrete derivatives of x'
to zero.
y' =3D [ yT 0T ]T
A' =3D [AT w*BT]T
w is scalar weight
B =3D
[
1 -1 0 ... 0 0
0 1 -1 ... 0 0
=2E..
0 0 0 ... 1 -1
]
Now, A' is overdetermined
solve
min || y' - A' x' ||
x'
||.|| is a norm or possibly a function similar to a norm but not
necessarily convex. L2 norm is not recommended because it will cause
oscillations. L1 norm recommended. All of this has a statistical
interpretation which I won't get into for simplicity.
Your A will have to incor****ate a different PSF for diffraction
thingy.


|