Mark
Dow
Geek
software
Video
motion estimation and quantification
Examples, notes and MATLAB code for estimating frame
to frame motion in a video file. The form of image processing presented
is most suitable for complex small motions in scenes, as opposed to
path
analysis of fast rigid body motion. It is very fast and simple,
suitable for real-time processing, and amenable to parallel processing
methods -- either in software or hardware.
How can we quantify and characterize
how "wiggly" kids are? This problem came up in the context of
evaluating groups of kids for a combined behavioral and
ERP
study of kids before and after an intervention designed to impact
cognitive attention networks and performance. Extracting motion
estimates from video frames allows unbiased and roughly comparable
metrics of body and face motion.
The methods are also relevant to
fMRI
studies, particularly with young kids. As well as motion estimation, we
would like to give
motion feedback training in a mock scanner to reduce motion-related
imaging artifacts. From
scanning
in practice:
"Subjects participating in a fMRI
experiment are asked to lie still and
are usually restrained with soft pads to prevent small motions from
disturbing measurements. Some labs also employ bite bars to reduce
motion, although these are unpopular as they can cause some discomfort
to subjects. It is possible to correct for some amount of head movement
with post-processing of the data, but large transient motion can render
these attempts futile. Generally motion in excess of 3 millimeters will
result in unusable data. The issue of motion is present for all
populations, but most notably within populations that are not
physically or emotionally equipped for even short MRI sessions (e.g.,
those with
Alzheimer's Disease
or
schizophrenia, or young children). In these
populations, various and negative
reinforcement
strategies can be employed in an attempt to attenuate motion artifacts,
but in general the solution lies in designing a paradigm compatible
with these populations."
Background: frame
differencing and edge detection
Ideally we'd like to estimate the relative velocity
of every point of every physical object within the field of view of a
sequential imaging system (e.g. a video camera). But the only
information we have, other than the characteristics of the imaging
system,
are pixel to pixel image differences. A uniform set of image values,
locally or globally, don't reflect any information about object
motion.
Differencing of sequential frames of the same scene
provides a
wealth of information about shifts of image gradients, most of which
correspond to motion of physical boundaries, discontinuities in
surface orientation, and lighting
changes (shadows). The effects of smooth surface orientation changes
are
relatively small over short time scales. In most simple scenes
pixel-wise differences are dominated by shifts of high gradient regions
which reflect the motion of physical boundaries and high
curvature contours. [To Do: Illustrate.]
These regions of high image value gradients are
typically called edges, and the algorithms for localizing and
characterizing them is called edge detection.
One approach to motion estimation would be to find edges in sequential
images and estimate how they moved between images. But this process is
often ambiguous -- motion of roughly straight edge segments is not well
determined (ill-posed, e.g. Barberpole
illusion) without solving the correspondence
problem, which is itself ill-posed without some set of smoothness
constraints.
By analysis of simple differences between sequential
images, we can use the image gradient information to find regional
motion estimates without explicit edge detection and correspondences.
Furthermore we can use fast, low quality, gradient estimates in noisy
images to find reliable estimates of total regional motion and velocity
distributions. Explicit information about specific edges is sacrificed
for speed. Regional averaging allows high signal to noise ratios, while
sacrificing spatial specificity.
For this discussion camera position and orientation,
and all other properties of the imaging system, will be considered as
constant -- the camera is spatially fixed, with a fixed aperture, focal
length, and luminance or color transform (color balance). The range of
types of images for which the technique is applicable is broad -- it is
largely independent of the object properties, lighting
conditions, or optical system properties.
If the scene objects are at similar distances (dD/D
<< 1), with no restrictions on fixed background object distances
with a fixed camera, the differences between frames provides
robust information about motion of the objects. The largest magnitude
differences are highly likely to be due to physical edge and sharp
contour position changes. The number of pixels with an absolute
difference above some threshold is a good estimate of (proportional
to) the integrated speed of all object points. This assumes that
the average speed of surfaces without high gradient features is on
average matched to those with high gradient featrures. A suitable
threshold can be determined from a frame's content. The constant of
proportionality can be found by differencing artificial shifts of the
images, or equivalently by applying a gradient approximation operator
at every point of an image. The method is not strongly sensitive to
noise within or across images.
Estimation performance is best for objects and
illumination that result in the most, and well distributed, high
contrast features that move with the object.
Sources of error
Generally the errors
in motion estimation will be greater than
dD/D, or (width of the distribution of high gradient features
distances)/D. This condition favors a longer focal length imaging
system (large D). Make sure, if there are distinct shadows, that the
shadow distances are included in this lower bound error estimate.
[To Do: Reflections from surfaces with
orientation and deformation
changes.
[To Do: People, faces and hair.]
[To Do: Lighting changes, for example in time-lapse photography. Not
surprisinly, large illumination changes across frames cause image value
differences that are not related to object motion, but may be related
to light source motion.]
[To Do: Distribution of orientation of boundaries.]
[To Do: Changes of occlusion.]
[To Do: Compression artifacts.]
[To Do: Camera jitter.]
Visual
comparison of video and frame differences
[To
Do: Describe the program with an example. Also see its use in video total motion estimation.]
Output file:
[To Do: "Think, blink, wink" loop
- close-up video of eyes saccade, blink
and wink in quick succession.
- use video_frames_diff_compare.m to extract and interpolate difference
frames and compare over-under
- clean up and enhance
Across a
saccade, blink or
wink, which are fast relative to the frame rate, does the number of
super-threshold difference pixels reflect the integrated speed of the
visible surfaces? Not precisely, because of the change in occlude
surfaces, and the relative fraction of change with respect to the whole
scene.
For example, during a blink the eyeball becomes
occluded and the eyelid becomes visible. The largest error of this type
would occur if the occluded and unoccluded surfaces were uniform with
identical image values. In that case the surface motion would be
underestimated, as some fraction of the surface motion would not be
accounted for.
Note that the relative change in occluded surfaces
is not as much of a problem for a saccade as long as the primary edges
(pupil) don't become occluded.
Human eyes (the visible part of the eye ball and
surrounding regions) are have more and stronger edges than most other
portions of the face. So differencing of eye movements result in an
over estimation of total motion if the spatial distribution of edges is
not accounted for.
There may be
evolutionary reasons that
eyes are overrepresented in an edge map. Humans do a lot of
communicating with eye and eyebrow motion. From
eyebrow: "Eyebrows
also have an important facilitative function in communication,
strengthening expressions like
surprise or
anger.")
We are particularly sensitive to the gaze direction
of others. Could it
be that we evolved white and exposed sclera to amplify
and facilitate communication with eye motion? From
sclera: "...certain
animals, such as horses and lizards, can have black sclera". The
cooperative
eye hypothesis eye suggests "that this feature of human eyes
evolved to make it easier for
conspecifics to
follow an individual's
gaze direction in close-range joint attentional and communicative
interactions" [
Tomasello 2006].
From "
Did
evolution make our eyes stand out?":
"For humans, the eyes are more than
just windows to the outside world. They are also portals inward,
providing others with glimpses into our inner thoughts and feelings.
Of
all primates,
human eyes are the most conspicuous; our eyes see, but they are also
meant to be seen. Our colored irises float against backdrops of white
and encircle black pupils. This color contrast is not found in the eyes
of most apes.
According
to one
idea, called the cooperative eye hypothesis, the distinctive features
that help highlight our eyes evolved partly to help us follow each
others' gazes when communicating
or when cooperating with one another on tasks requiring close contact."
From Grossmann 2008:
"The face as a
prototypical social stimulus provides a wealth of
relevant information. From birth, human infants preferentially orient
towards face stimuli, especially when they include gaze-relevant
contrast information (Johnson et al. 1991; Farroni et al. 2005). Among
the social cues contained in the face, eye gaze plays a fundamental
role in non-verbal social communication (Emery 2000).
Compared with other primate species, human eyes are unique in their
morphology because they have a widely exposed white sclera surrounding
the darker iris, making it easy to discern the target of another
person's attention during face-to-face interactions (Kobayashi &
Kohshima 1997, 2001; Tomasello et al. 2006).
It is therefore not surprising that the sensitivity to eyes and eye
gaze is evident very early in ontogeny: newborns not only prefer to
look at faces that have open eyes (Batki et al. 2000), but also
exhibit a strong tendency to attend to faces that engage them in mutual
gaze when compared with averted gaze (Farroni et al. 2002).
Importantly, it has been argued that an early sensitivity to eye gaze
serves as a major foundation for later development of social skills (Baron-Cohen 1995; Csibra & Gergely 2006).
Indeed, an impairment of the sensitivity to eye gaze in general, and
mutual gaze in particular, might be one of the early signs of atypical
social development manifested in neurodevelopmental disorders such as
autism (Phillips et al. 1992; Zwaigenbaum et al. 2005)."
From "The whites of their eyes":
"[Another] theory
addresses the usual mate selection bit: bright white sclera
(versus bleary red-veined maybe-he's-flaccid coloration) signal good
health and fitness."
]
Video total motion
(average speed)
estimation
Estimation of total motion based on absolute
differences between
frames, without respect to the direction of motion that causes
differences.
This is the general procedure and specific example
commands used to create the
examples below.
- Show and save a representative frame
of video (the 500th frame here).
- Use the figure window cursor tool
to select a crop rectangle (for the fifth parameter of
video_frames_diff_compare).
->
[100 1 470 256]
[ left top right bottom ] of desired
crop rectangle
Optionally the crop rectangle can be
specified as 0, which will cause the whole image to be analyzed.
- Estimate total motion in the image rectangle containing "Cosmo's
head".
MATLAB command:
>> arrMotion = video_total_motion_v2(
'Cosmo_torso_no-instruction_640x480.avi', [100 1 470 256], true, true );
Output files:
- Optionally, get the absolute difference of a sequence
of video frames, a visual comparison
with the original video. Each color channel of the 3 x 8-bit frames are
differenced independently. Currently these difference frames are stored
simultaneously in
memory, so only about 100-400 frames can be generated at one time.
MATLAB command:
>> video_frames_diff_compare_v1(
'Cosmo_torso_no-instruction_640x480.avi', 1,
300, 8.0, [100 1 470 256], true, true );
Output file:
Example analysis
Motion estimation plot for "no
instruction" case, at several time differences. Slower or drifting
motions are shown as wider peaks, and fast transient motions (like eye
blinks) are shown as (blue) sharp peaks.

|
Motion estimation plot for "holding still" case, at several
time difference ranges. Most of the highest transient (dark blue) peaks
are eye blinks.
[Note the difference in y-axis scale from the figure above.]
 |
The current code (video_frames_diff_compare_v1.m)
isn't documented well, and there are many extraneous lines and odd
naming conventions, leftovers from experimentation. Consider it a "beta
test version".
I call it "motion
estimation" but the algorithm is more accurately described as finding
the
"number of pixel differences" through time.
Here's a short pseudo-code explanation:
{ Find the difference between sequential frames, at frame k
and k-1.
At every pixel, if the pixel's difference is greater than
a threshold (nDiffThreshold);
Add one to the "motion estimate" at frame k, tk
= tk + 1
[ Note that this is currently accomplished with the
MATLAB
command:
length( find( imDiff > nDiffThreshold )
) ]
Plot the "motion estimate":
Plot as a time series (blue line, labeled "33 ms")
tk
Plot differences across frame pairs, separated by two time
increments (green line, "67 ms"):
t2 - t0, t2 - t0,
t4
- t2, t4 - t2, t6
- t4,
t6 - t4,
Plot differences across frame pairs, separated by four time increments
(red line, "134 ms"):
t4 - t0, t4 - t0, t4
- t0, t4 - t0, t4
- t0, t8 - t4,
t8 - t4, t8 - t4, t8
- t4, t8
- t4, t12 - t8, t12
- t8,
t12 - t8, t12 - t8, t12
- t8, t12
- t8
...
}
I think the most confusing part of the code is
plotting at
different frame difference increments. My purpose was to get a feel for
"brief
changes" (like eye blinks) and "slow drifts" (like body sway). A better
way to plot this would be to use a running average of the motion
estimate for different temporal windows.
[To Do:
An even better way might be to find the Fourier
spectrum (DFT) of
the time series. The spectrum would show the power in high and low
frequency components of the "motion estimates".
]
Video velocity
distribution
estimation
[To Do: By estimating the gradients at every position in the image,
accomplished by simple shift-subtract operations on each frame, a
spatial distribution of velocities can be estimated.]
Video image stabilization
(remove
camera and smooth background motion artifacts)
[To Do: By estimating the large scale motion between frames, camera
jitter and other types of coherent motion can be removed. This process
is qualitatively different than the other programs on this page because
a correspondence between image blocks using a correlation metric is
required, not just difference information. It is much more
computationally demanding, but is still amenable to parallelization.
video_supress_camera_jitter_v2(
'FILE0085-0.avi', true ) ]
About processing
speed and parallelization
These algorithms could be very efficiently realized
using a programmable
(general purpose) GPU.
"Recently NVidia began releasing cards
supporting an API extension to the
C programming language called
CUDA
("Compute Unified Device Architecture"), which allows specified
functions from a normal C program to run on the GPU's stream
processors. This makes C programs capable of taking advantage of a
GPU's ability to operate on large matrices in parallel, while still
making use of the CPU where appropriate. CUDA is also the first API to
allow CPU-based applications to access directly the resources of a GPU
for more general purpose computing without the limitations of using a
graphics API."
"
AccelerEyes LLC
builds programming tools for parallel programming and visual computing
on
GPU chipsets. The company released
Jacket, a tool to compile
MATLAB code for
CUDA-enabled
GPUs, in June 2008."
OpenVIDIA
: Parallel GPU Computer Vision
The OpenVIDIA project implements computer
vision algorithms on computer
graphics hardware, using OpenGL, Cg and CUDA. The project provides
useful example
programs which run real time computer vision algorithms on single or
parallel
graphics processing units(GPUs).
OpenVIDIA utilizes the computational
power of the GPU to provide real--time
computer vision much faster than the CPU is capable of, and leaves the
CPU
free to conduct other tasks beyond vision.
This project was founded at the Eyetap Personal Imaging Lab (ePi
Lab) at the Electrical and
Computer Engineering Group at the University of Toronto. It is
being expanded to include contributions from many sources.
Programs and code
The example images and animations were generated
using
the
following video files and MATLAB programs:
get_video_frame.m
Select a single frame from a video, and
optionally show the image and/or write it to a PNG image file.
Example usage (see the file header for
details):
video_frame_diff.m
Get absolute difference of any pair of
video frames. Each color channel of the 3 x 8-bit frames are
differences independently.
Example usage (see the file header for details):
Example MATLAB command:
>> video_frame_diff ( 'Marks_face_test_640x480.avi',
239, 245, 8.0, true, true );
This image is the absolute difference between the two
frames (#239 and 245) shown above, with
no processing except for a luminance gain of x8. The frames are
separated by about 167 ms. Note that the eyes are mostly shadowed and
low contrast, which contributes to the orange tones in the difference
image.
|
|
video_frames_diff_compare_v1.m
Estimation of total motion based on
absolute differences between frames, without respect to the direction
of motion that causes differences.
Example MATLAB command:
>> video_frames_diff_compare_v1(
'Cosmo_torso_no-instruction_640x480.avi', 1,
300, 8.0, [100 1 470 256], true, true );
video_total_motion_v2.m
Estimation of total motion based on
absolute differences between frames, without respect to the direction
of motion that causes differences.
Example MATLAB command:
>> video_total_motion_v2(
'Cosmo_torso_no-instruction_640x480.avi', 0 )
video_supress_camera_jitter_v2.m
Work in progress. Estimation of and
correction of
background motion due to small camera (or full field) motion.
video_supress_camera_jitter_v2( 'FILE0085-0.avi', true )
-> block_motion_v5.m
-> block_correlate_v1.m
-> velocity_map_CA_interpolate_v1.m
-> block_correlate_v1.m
->reverse_distortion_interp_image_fa_v1.m
To Do:
Scale-space image pyramid representation, use to estimate motion of
large blocks, filter down to small blocks.
Pass large block size motion estimate
to small size.
velocity_map_CA_interpolate.m
Use a CA to regionally confirm quality
and interpolate correspondences ().
Allow for discontinuous velocity
regions.
Cell state:
Measured value (local correlation
maximum position)
x-component of velocity
y-component of velocity
Qstd (measured standard deviation --
magnitude error)
Qpeak (measured width of correlation peak -- localization error)
Background value estimate (interpolated or measured)
Confirmed measurement (regionally confirmed measured value)
Transition rules:
Based on:
Quality weighted value of current
position
Quality weighted sum of 4-neighborhood mode
Quality weighted sum of 8-neighborhood mode
Termination condition:
All unconfirmed background estimates
stable
Include reduced block size margins
Edge padding (in CA or post hoc?)
Reverse image distortion interpolation
using large oversampling grid.
interpolate_distortion_map_v1.m
reverse_distortion_interp_image_fa_v1.m
Given an image and a map of how it is
distorted, interpolate the undistorted image. (see the file header for
details)
Apply reverse interpolation to velocity
(disparity) maps?
Smooth interpolation maps in time
(spatio-temporally filtering of high frequencies)?
Will a space-time gaussian filter
applied to the 3-D volume do the trick?
CA filling-in? For smoothed velocity
maps, no filling-in required (excepting edges).
Example
video files
Most AVI and MPG
formats on
Windows systems, and AVI and MOV on Mac systems are recognized by the
MATLAB programs, using the
mmreader
function.
These short video
clips were recorded at 1440 x 1080 px. in MOV format, with downsampling
and format conversion using
ImTOO MOV Converter.
|
Close up of face in bad lighting with various small head translations
and rotations and blinks.
7.0 MB, 640 x 480 px., AVI
format, 20 sec, 643 frame, 29.97 frames per second.
Vertical stretching caused by incorrect format conversion.
|
|
Cosmo was asked to stand in front
of the camera, on a dark background, with no other explicit
instructions about what to do.
10 MB, 640 x 480 px., AVI
format, 25 sec, 776 frame, 29.97 frames per second.
Vertical stretching caused by incorrect format conversion.
|
|
Cosmo was asked
to look at a point on a far wall, on a dark background, and "hold as
still as possible for a couple of minutes".
10.0 MB, 640 x 480 px., AVI
format, 25 sec, 776 frame, 29.97 frames per second.
Vertical stretching caused by incorrect format conversion.
|
References
A
Taxonomy and Evaluation of Dense Two-Frame Stereo Correspondence
Algorithms
Jackdaw eyes and gaze perception:

Eurasian Jackdaw, Corvus monedula. This is the smallest species
of corvid (crows and ravens). Image: Wikipedia [larger view].
Auguste
M.P. von Bayern & Nathan J. Emery (2009). Jackdaws Respond to
Human Attentional States and Communicative Cues in Different Contexts.
Current Biology, 19 (7) DOI: 10.1016/j.cub.2009.02.062
[free
PDF].
Birds
can "Read" Human Gaze, ScienceDaily (Apr. 4,
2009)
Jackdaws seem to recognize the eye's
role in visual perception, or at
the very least they are extremely sensitive to the way that human eyes
are oriented.
...
Unlike most birds, jackdaws' eyes have
a dark pupil surrounded by a
silvery white iris. The researchers said they believe jackdaws are
probably sensitive to human eyes because, as in humans, eyes are an
important means of communication for them. The hand-raised birds
examined in the study may be even better than wild jackdaws at
attending to human gaze and responding to the gestures of the people
who have raised them.
Ten hand-raised jackdaws were placed
into a threatening situation where
a preferred food item -- the "reward" -- was presented to them while in
the presence of a human. The threatening situation was the result of
using a person who was a stranger to the birds and comparing the birds'
reactions to when in the presence of a person who was familiar to them.
...
"We may have underestimated the
psychological realms of birds," von
Bayern remarked. "Jackdaws, amongst many other birds, form pair bonds
for life and need to closely coordinate and collaborate with their
partner, which requires an efficient way of communicating and
sensitivity to their partner's perspective."
Tobias Grossmann, Mark H Johnson, Sarah
Lloyd-Fox, Anna Blasi,
Fani Deligianni, Clare Elwell, and
Gergely Csibra
Proc Biol Sci. 2008 December 22; 275(1653): 2803–2811
"This study examined the brain bases of early human social cognitive
abilities. Specifically, we investigated whether cortical regions
implicated in adults' perception of facial communication signals are
functionally active in early human development. Four-month-old infants
watched two kinds of dynamic scenarios in which a face either
established mutual gaze or averted its gaze, both of which were
followed by an eyebrow raise with accompanying smile. Haemodynamic
responses were measured by near-infrared spectroscopy, permitting
spatial localization of brain activation (experiment 1), and gamma-band
oscillatory brain activity was analysed from electroencephalography to
provide temporal information about the underlying cortical processes
(experiment 2). The results revealed that perceiving facial
communication signals activates areas in the infant temporal and
prefrontal cortex that correspond to the brain regions implicated in
these processes in adults. In addition, mutual gaze itself, and the
eyebrow raise with accompanying smile in the context of mutual gaze,
produce similar cortical activations. This pattern of results suggests
an early specialization of the cortical network involved in the
perception of facial communication cues, which is essential for
infants' interactions with, and learning from, others."
"As compared with other primates,
humans have especially visible eyes
(e.g., white sclera). One hypothesis is that this feature of human eyes
evolved to make it easier for conspecifics to follow an individual's
gaze direction in close-range joint attentional and communicative
interactions, which would seem to imply especially cooperative
(mututalistic) conspecifics. In the current study, we tested one aspect
of this cooperative eye hypothesis by comparing the gaze following
behavior of great apes to that of human infants. A human experimenter
“looked” to the ceiling either with his eyes only, head
only (eyes
closed), both head and eyes, or neither. Great apes followed gaze to
the ceiling based mainly on the human's head direction (although eye
direction played some role as well). In contrast, human infants relied
almost exclusively on eye direction in these same situations. These
results demonstrate that humans are especially reliant on eyes in gaze
following situations, and thus, suggest that eyes evolved a new social
function in human evolution, most likely to support cooperative
(mututalistic) social interactions."
“
The
Expression of the Emotions in Man and Animals” (1872)
Charles Darwin
Darwin noted the universal nature of
facial expressions
in the book: "...the young and the old of widely different races, both
with man and animals, express the same state of mind by the same
movements."
Gorilla-viewing
glasses prevent eye-contact (No
Eye-Contact Glasses)
The Rotterdam Zoo is giving away
cardboard glasses that make it appear
that you're looking off to one side; these are gorilla-viewing glasses,
meant to avoid incidents in which gorillas attack visitors for making
eye contact with them. The glasses' introduction follow an attack on a
woman by an escaped gorilla; the specs are sponsored by a local
health-insurance company:
"The killer app is image stabilization. It takes a long time
to apply to a clip--several minutes each--but it winds up making jerky
footage smooth, even if you were filming while hiccuping on a camel
ride during an earthquake. You control the degree of smoothness; that's
lucky, since 100 percent steady looks almost freakishly unnatural.
This feature works fantastically well--so much, in fact, that it's
ruined everyone else's videos for me. Now, every time I see a handheld
camera shot--on YouTube, on the news, in a documentary, I struggle to
suppress the instinct to mentally apply iMovie stabilization to it. I
just can't overstate what a revelation this feature is--and how much
more watchable your home movies become."
"The idea that a person's character can
be glimpsed in their face
dates back to the ancient Greeks. It was most famously popularized in
the late 18th century by the Swiss poet Johann Lavater, whose ideas
became a talking point in intellectual circles. In Darwin's day, they
were more or less taken as given. It was only after the subject became
associated with phrenology, which fell into disrepute in the late 19th
century, that physiognomy was written off as pseudoscience.
Now
the field is undergoing something of a revival. Researchers around the
world are re-evaluating what we see in a face, investigating whether it
can give us a glimpse of someone's personality or even help to shape
their destiny. What is emerging is a "new physiognomy" which is more
subtle but no less fascinating than its old incarnation.
First
impressions are highly influential, despite the well-worn admonition
not to judge a book by its cover. Within a tenth of a second of seeing
an unfamiliar face we have already made a judgement about its owner's
character - caring, trustworthy, aggressive, extrovert, competent and
so on (Psychological Science, vol 17, p 592).
Once that snap judgement has formed, it is surprisingly hard to budge.
What's more, different people come to strikingly similar conclusions
about a particular face - as shown in our own experiment (see
"The New Scientist face experiment")."
Different
receptive fields in axons and dendrites underlie robust coding in
motion-sensitive neurons.
Elyada et al. ,
Nature Neuroscience,
2009
From ScienceDaily (Feb. 28, 2009), How
One And The Same Nerve Cell Reacts To Two Visual Areas In Flies
A small network of only 60 nerve cells
in each cerebral hemisphere
suffices the blowfly to integrate visual motion information. The
resulting information is then used in the control and correction of the
fly's flight manoeuvres. However, flies clearly demonstrate just how
efficient these 60 cells actually are when they dodge obstacles while
flying at high speed and land upside-down on the ceiling.
...
Complexity by means of connectivity
"However, the most fascinating aspect of these VS-cells is that the
closer we examined the network, the more complex it appeared", group
leader Alexander Borst reports. He and his group at the Max Planck
Institute of Neurobiology are devoted to investigating the motion
vision of flies. Only recently, Borst's co-worker Jürgen Haag
showed
that VS-cells are connected on two different levels. It was well known
that in their input regions, the cells collect incoming signals from
nerve cells which represent local motion information coming from the
eye. Yet, it came as a surprise that the cells had a second source of
information. The scientists found electrical connections between
neighbouring VS-cells in the cells' output regions. Computer
simulations of this network led to the following assumption:
Information received from a VS-cell's "own" receptive field is first
compared with the information received by its neighbouring cells. Only
then is the information relayed to cells further downstream in the
network for the purpose of flight control.
-----------------------------------
There are no
restrictions on use of
the images and videos on this page. Claiming to be the originator of
the material,
explicitly or implicitly, is bad karma. A link (if appropriate), a
note to dow[at]uoregon.edu, and credit are appreciated but not
required. There may be restrictions on the programs and code, as these
were developed (by Mark Dow) at the University of Oregon Brain
Development Laboratory for research purposes.
Comments are welcome (dow[at]uoregon.edu).