[ Jocelyn Ireson-Paine's Home Page
AI - The art and science of making computers do interesting things that are not in their nature.
It's been said that Shakespeare gave Twelfth Night the alternative title of What You Will because, exhausted by writing the play, he was completely unable to think of anything more informative. Choose whatever title you will, he says: I've given up. AI Newsletter isn't Shakespeare; but I have the same problem this month. I started by searching for applets to demonstrate computer vision, along the lines of the neural-net applets I explored in March 2005. But on the way, I found a lot of other interesting things, and so most of this issue is a hard-to-classify meander round a variety of topics, from language to the cognitive perils of presentations. First, a brief announcement in support of the state of Georgia.
The 2006 Game Developers' Conference has just finished. Amongst the presentations were some on AI, of which I'll give a taster by pointing to Battle Cam: A Dynamic Camera System for Real-Time Strategy Games. BattleCam is a flying battle camera which a player can turn on during the game. What looks intriguing from the abstract is that the camera decides what to take pictures of, using a model of human visual attention to pick interesting subjects. It also uses Markov chains to link these shots together in a coherent sequence. The technique has been used in real-time space and land battles in STAR WARS: EMPIRE AT WAR.
I was alerted to the conference by a press release from Johnny Wilson, sent on behalf of the Georgia Department of Economic Development. He asks me to point out the benefits of developing hi-tech games in the state of Georgia, or in association with Georgia companies. These include tax breaks:
Georgia's legislature revised the state's tax code to also provide tax credits for development of interactive entertainment, like computer games. Both Georgia and non–Georgia-based companies can transfer the tax credit to a Georgia company, as long as the transferor recoups at least $.60 on the dollar. Unlike tax incentives that only affect the publisher and final consumer product, Georgia's tax code qualifies even expenditures on editing, animation, coding, special effects, sound and more. The primary caveat is that these production expenses must be used in an entertainment product with commercial distribution beyond Georgia's borders.
Amongst games companies already set up in Georgia are: Blue Heat (mobile phone games); GameTap (video games through streaming); Kaneva (3D game-engines); Persuasive Games (public policy games); RoosterTeeth Productions (Machinema, or using video characters to make short films delivered over the Web); and Studiocom (advertiser-subsidised game and entertainment environments).
And, Georgia universities and colleges offer courses in cutting-edge entertainment technology. Including AI, I hope — if anyone there is reading this, write and tell us about the exciting new AI techniques you're teaching.
For more information on Georgia resources and incentives, contact Greg Torre at (404) 962-4052 or firstname.lastname@example.org.
www.gdconf.com/ — 2006 Game Developers' Conference.
www.georgia.org/ — Georgia Department of Economic Development.
Are you passionate about statistical graphs; deeply caring about numerical integrity; a liberationist for "data prisons" and "the poetry of visual information"? If so, you may already know the work of Edward Tufte. If not, you need to.
This is how Scott Rosenberg begins a feature in Salon about Tufte, The Data Artist. We have become accustomed, he explains, to awful information:
The pie-charts Ross Perot liked to grin over in his infomercials; the pictograms of Russian soldiers that President Reagan's aides employed to show him the size of the Soviet threat; the misalignment of pictures and quantities in journals from the New York Times to Pravda.Indeed, the feature is illustrated with an image from Pravda, plotting growth of production (probably: resolution is too poor for me to make out the last part of the caption) from 1922 to 1982. Note the extreme unequal spacing of years, and the perceptual bias caused by the fleet of swelling circles wherein the numbers are enclosed.
Or as Roy Johnson, writing for the typographer's site TypeBooks, says in his review of Tufte's first book The Visual Display of Quantitative Information:
In a discussion of the integrity of graphical data versus misleading statistics, Tufte gives examples from Britain's national debt during the war of American Independence — which show graphs going up whilst the truth goes down.
Even when our graphics are not intended to deceive, we can improve them by following one of Tufte's prescriptions — avoid "chart-junk". That is, eliminate unneeded grid-lines and other visual clutter. This is reminiscent of William Strunks's famous advice to writers, "Omit needless words". Worth considering next time you reach for the "enable grid lines" argument to your favourite plotting subroutine.
On his site, Tufte doesn't say much about his prescriptions, but you can find them summarised in a University of Washington course on Graphics and Web Design Based on Edward Tufte's Principles. Even if professionally concerned only with symbolic data such as parse trees and Prolog debugger traces, we all need to make presentations and write Web pages, so I believe it's worth looking up the Washington site and also persuading your library to obtain copies of Tufte's books. You may disagree with what he says, but the illustrations are beautiful. They include what Tufte calls "probably the best statistical graphic ever drawn", Charles Joseph Minard's map of Napoleon's army losses during the Russian campaign of 1812.
Tufte's elegant illustrations are an excellent antidote to to the tedious clip-art and other graphics seen so frequently. To quote Salon again:
Surprisingly, Tufte has little to say directly about digital design. He's appalled by the low resolution of computer screens compared to the versatile data-density of paper; he's dismayed by the way "computer administrative debris" and pointless decoration eat up so much of the already limited onscreen turf. Mostly, he's alarmed by the way the tools of computer design have made it easier than ever for bad designers to litter their work with unnecessary icons and distracting "chart junk" — all of which has culminated in the reader-hostile pages of Wired magazine, with their jumbled type, their deliberate confusion of ad and editorial space and their gaudy inks that hide information rather than illuminating it.
Given the quote above, there's an irony that some of Tufte's most notorious views should be published by Wired. In PowerPoint Is Evil, he condemns PowerPoint for "poking a finger into the eye of thought", and its implementors because:
To sell a product that messes up data with such systematic intensity, Microsoft abandons any pretense of statistical integrity and reasoning.
The problem is, Tufte says, that a business-presentation PowerPoint slide can display only about 40 words, or eight seconds' worth of silent reading material. Such a meagre information density means the presenter needs many, many slides. Thus, PowerPoint presentations "too often resemble a school play — very loud, very slow, and very simple".
Moreover, when information is sliced across time like this, the viewer finds understanding each slice — each slide — more difficult, because the context provided by other slices must either be remembered, or hasn't yet arrived.
Not everybody agrees. In his blog entry Business Presentations and the Cognitive Style of Edward Tufte, software developer "Julian" looks at the constraints faced by business, and argues that the culprit is not PowerPoint but lack of time, of skill, and of screen resolution. Amongst other things, he explains why those trying to attract management's attention "game the system" by producing PowerPoint slides rather than more detailed documents. And he says that many corporate processes and tools, of which PowerPoint is one, have a common characteristic:
They greatly buoy up the poorest performers at a cost over extra, unnecessary, overhead for the best performers. We adopt such tools and processes because being able to predictably produce satisfactory output is often more useful than unpredictably producing output with a large variance in quality.
Another critic of Tufte's views is designer and cognitive scientist Donald Norman. His In Defense of PowerPoint claims that Tufte has failed to distinguish three very different requirements: those of the speaker, those of the listener, and those of the listener now relaxing in a comfy chair after the presentation, copious scrap paper conveniently nearby and printed lecture notes in hand. It is the latter who needs the clear, context-providing, detailed information displays. Norman's analysis of speaker and audience is something I'll be thinking about when next I go to give a presentation.
Stand under a mulberry tree and look up through the branches, or next to a strawberry bed and look down at the ground. The red fruits will seem to "pop out" at you, without you having to consciously search for them. As NASA demonstrate on their Color Usage Research Lab Color and Popout page, this visual phenomenon is useful on the screen as well as in the strawberry field. The page has images of two "I"s and two "L"s amongst a flock of "T"s. In one, the "I"s and "L"s are coloured differently from the "T"s, and much easier to find.
Conversely, if there are several different colours of "T"s, it makes the colour-coded "I"s and "L"s harder to find, as the third image on the page shows.
Visual popout, or pop-out, is sometimes said to be an
of "preattentive" vision, broadly defined as the rapid visual processing
that operates in parallel over the visual field before we consciously
attend to what we see. As a Google for
(popout OR pop-out) preattentive will
quickly show, matters are
more complicated: researchers don't agree on how useful the
notion of preattentive processing is, or on how pop-out works.
Nevertheless, even if we don't know the exact mechanism, we can still take
advantage of the phenomenon.
That "an understanding of perception can significantly improve both the quality and the quantity of information being displayed" is the theme of a really nice page by Christopher Healey, Perception in Visualization. Healey explains and compares some of the theories of preattentive processing, a useful resource by itself even if you aren't interested in graphics. He also explores "change blindness", wherein a blink or other interruption to vision blinds us to changes that happen during the interruption. Interruptions from outside, such as an image vanishing momentarily from the screen, can have this effect too: a fact worth noting.
In art, a "painterly" style is one in which we can still see the brush strokes; or more generally, when we see effects such as indistinct edges, due to the act of painting rather than the scene painted. It's a style that we are all familar with: think of the Impressionists. Healey takes advantage of this in his Formalizing Artistic Techniques and Scientific Visualization for Painted Renditions of Complex Information Spaces.
The idea of this research is to depict multi-attribute data points in a way that's aesthetically pleasing and perceptually unbiased. By the latter, I mean that the display should avoid bias such as was designed into the Salon Soviet graphic. For instance, if colour is used to represent temperature, then equal temperature differences should be depicted by equal colour differences. Not equally spaced RGB values; but equal colour spacings as they appear to a human viewer. Healey discusses this in the paper, and also on the Perception in Visualization page.
Moreover, the visual feature used to depict one attribute should not accidentally seem more important or attention-grabbing than the visual feature used to depict another attribute. If human vision pays more attention to colour than to texture, we can exploit the fact by depicting a more important attribute in colour and a less important as texture; but we should do so by choice, not because we don't know any better.
In that paper, in fact, Healey's objective is to depict weather readings collected by the Intergovernmental Panel on Climate Change: specifically, to depict temperature, precipitation, pressure, and windspeed over the United States. In Formalizing Artistic Techniques and Scientific Visualization for Painted Renditions of Complex Information Spaces, he explains, with illustrations, how he did this. Visual features were ranked so as to attach most importance to temperature; and the images were rendered in a painterly style, with information being conveyed by the size, density, and orientation of the visible brush strokes.
There is much more worth reading on the rest of Healey's site.
As you can tell, I was rather diverted from my search for computer-vision applets. However, data visualisation is important too, in data mining for example. And elegance is important everywhere.
Anyway, I have linked to two pages of vision demonstrations, as well as to a rather nice looking Web book, Peter Kaiser's The Joy of Visual Perception. Warning from his preface: "As time passes, various parts of this book may become obsolete. As noted below I consider this web book to be supplementary to hard cover texts and strongly suggest that teachers and students do not use The Joy of Visual Perception as a stand-alone source of educational material".
During my search, a passing reference diverted me further. I refer to Xiaoming Liu's Game of Life page, which led me to mathematical morphology.
Mathematical morphology is a set of image-processing techniques created in 1964 by Georges Matheron and Jean Serra. Sometimes, the term "mathematical morphology" seems to be reserved for the mathematical theory, the application to images being known as "morphological image processing".
The operations in mathematical morphology are defined in set-theoretic terms, although they can be generalised as I'll explain in the next section. A good non-technical explanation is given in the University of Edinburgh's Hypermedia Image Processing Reference, the first link I suggest for more information (and because it saves me the pain of getting diagrams and set-theoretic notation into the HTML).
As an example, one of the basic morphology operators is "erosion". This works as follows. Imagine a set of image points: an irregular blob or other simple shape will do. This is the set S to be "eroded". Now take another simple shape, quite a bit smaller than S. This could be, for example, a small square, circle, or line segment. This is the "structuring element" that is to do the eroding. Call it E. Pick a point within E that is to become E's origin, for example a corner or the centre.
Now move E so its origin is at one of the points p in S. (S can be either discrete, like a set of pixels, or continuous.) If this moved copy of E is entirely contained within S, i.e. is a subset of S, keep p. If not, erase p. And repeat, moving E's origin to each point in S and erasing or not as appropriate.
Erosion, as its name suggests, makes an image smaller. On greyscale images, it eats away at small bright areas. According to the Hypermedia Image Processing Reference page on erosion, it can be used to separate touching coins or other objects in a binary image so that they can be counted; and to remove small spurious bright spots or "salt noise" in greyscale images.
Erosion has a counterpart named "dilation" which tends to thicken image components. And there are various operators built up from these, such as opening, closing, and skeletonisation. These are explained in the Edinburgh guide; and in much more detail, with mathematical theory, in Serra's Courses on Mathematical Morphology. This also describes some of the applications: locating retinal aneurisms; granulometry (computing characteristics, such as size distribution, of particles in flour, sediment, bone-meal and so on); and segmenting images to find roads.
One unsuspected application was to the game of Go. As Bruno Bouzy explains in Mathematical morphology applied to computer go, this is a game in which control of territory is important. Bouzy shows, with diagrams, how the morphology operators can recognise territory when applied to a Go board. He also presents an efficient algorithm for doing so. This has been built into the Indigo Go-playing program as well as the open-source GnuGo.
In connection with mathematical morphology, I shall briefly mention "lattices". It's natural to wonder whether operations such as erosion and dilation have any use other than image processing. It would be nice if they did, because their clean mathematical properties ought to make it realtively easy to show that one's algorithms are correct.
Bouzy's Go player is interesting, but is still working on something close to actual physical space. Perhaps mathematical morphology could be usefully applied to abstract data spaces such as those constructed by Kohonen maps? I've not looked into this in detail, but a superficial search showed it has already been tried. The abstract to Neural-morphological approach for pattern classification, by R. Touahni, A. Sbihi, and Janati Idrissi, mentions use of the boundary-finding watershed transformation in classifying honeybees. Since the full text of the paper is held in an IOS Press database which wants me to pay for it, I can't give any more information.
It turns out that one can generalise yet further. A "lattice" is a mathematical object that, like a set, contains elements. But it has more structure than a set in that it also has a notion of "order". Given any two elements a and b of a lattice, you are guaranteed to have a "maximum" element that is greater than or equal to a and b; and a "minimum" element that is less than or equal to a and b. If you draw the elements as points, linked by lines indicating their relative order, you end up with a diagram that looks like an old-fashioned lattice window, hence the name.
Lattices turn up in machine learning when we describe hypotheses generated by a learning program, ordering them by their specificity or generality. There are some examples, with links to mathematical definitions, in Charles Schmidt's course notes on Cognition and Computation, Structuring the Hypothesis Space and Hypotheses Revision at Rutgers. Here, the maximum of hypotheses a and b is a hypothesis that is at least as general as a and b. (More precisely, it is the least general hypothesis that is at least as general as them both.)
As that example shows, the ordering of lattice elements doesn't have to be numeric; it can be any relationship with the right mathematical properties. For example, the set of all subsets of a set, ordered by set inclusion, is a lattice.
Subsets of a set of image points are what the mathematical morphology operators act upon; and I've just said those subsets make a lattice. It turns out from this that each morphology operator can be regarded as a function that operates on the entire lattice of subsets, generating from it a new lattice.
This interpretation of mathematical morphology operators as lattice functions means that we can think about applying them to lattices that are not composed of image subsets, but that have the same properties as those that are. For example, lattices of functions that represent greyscale images. Jean Serra and Luc Vincent give a formal treatment of this extension in An Overview of Morphological Filtering.
Serra and Vincent's greyscale functions still represent images. It's natural to ask whether the morphology operators can be usefully applied to lattices having no connection at all with images. For example, what about the lattices constructed by Formal Concept Analysis?
In Formal Concept Analysis, you have a set of objects and a set of attributes. The objects might, for example, be girl, woman, boy, and man; and the attributes might be female, male, adult, and child. Formal Concept Analysis relates these by what it calls "the duality of extension and intension" (explained in Uta Priss's Formal Concept Analysis in Information Science). This imposes a duality on the objects and attributes, making them elements of a lattice and relating them as shown in Priss's paper, or in the diagrams on her A Formal Concept Analysis Homepage. Notice the first of these, which is a concept lattice used as a Web navigation map.
Whether the morphology operators would make any sense at all in this setting, or in any other that isn't closely related to image processing, I don't know. It was just a natural question sparked when writing up this month's topics. However, if they were to, it would illustrate the benefits of mathematical generalisation brings in being able to apply tools to hitherto unrelated domains.
Do not confuse mathematical morphology with morphological computation. The latter, I discovered, is a term coined by Chandana Paul for the idea that we can simplify robot control programs by making the mechanical components — the body — take over some of the processing. In her 2004 paper Morphology and Computation, Paul illustrates with a thought experiment to show how a robot containing one controller that computes the AND of two inputs, and one that computes their OR, can nevertheless compute their XOR. This is done by making the body act as a mechanical processor that computes the XOR from the AND and OR.
There's a nice real-world example in Morphological computation: connecting body, brain, and environment by Rolf Pfeifer and Fumiya Iida. The "Yokoi hand" was developed for robotics and prosthetics. If sent a "close" command, it will automatically shape itself to close around whatever object it is grasping. The hand's mechanics are what cause it to do so: the elastic tendons it contains, and the deformable materials used in its fingertips and between its fingers. As the authors say:
The shape adaptation is taken over by morphological computation performed by the morphology of the hand, the elasticity of the tendons, and the deformability of the finger tips, as the hand interacts with the shape of the object. Because of this morphological computation, control of grasping is very simple, or in other words, very little brain power is required for grasping.
Simplifying computation by appropriate design of the body isn't a new idea. Nor is the notion that mechanical systems can be used for non-digital computation. What Paul and colleagues are claiming is more general. As stated in Lukas Lichtensteiger's presentation Morphological Computation, it is, if I understand correctly, that we should try to understand an entire robot, body and brain both, as doing computation. And therefore, we should think of robot design as a kind of super-generalised code optimisation: a division of sub-computations running on body as well as brain. Some of these will best be performed on conventional digital processors; but others will be much more efficient when carried out on other "substrates" such as the fingers and tendons of the Yokoi hand.
Do not confuse either mathematical morphology or morphological computation with morphological analysis in linguistics. Linguistically speaking, a "morpheme" is a word or part of a word that has a semantic interpretation, and that can't be further subdivided. That is, it's the smallest semantically interpretable language unit. Examples include the plural suffixes in English and other languages, the past-tense marker -ed, affixes such as inter-, hyper- and un-, and words such as dog and climb.
Morphological analysis is what we do when analysing the word companies as derived from company and a plural marker. This is obviously important in spell-checking and translation; and the example indicates one reason why it can be difficult, namely spelling rules such as the one that replaces singular -y by plural -ies.
Other languages also show this kind of complication. In Portuguese, to thank is agradecer. The c is pronounced as s because it is followed by e. But I thank is agradeço; that e has gone, so the c must gain a cedilla to indicate that it still sounds like s. And in Dutch, the spelling rules mean that long vowels often have to be spelt with one letter in the plural of a word, but with two letters in the singular.
Many other factors complicate morphological analysis, not least the inherent irregularity of language. Think of English strong verbs, or German plurals. (Not to mention Greek verbs. There is a saying, "In Greek, every verb is your enemy", which as I discovered when living in Athens, is fully justified. It sometimes felt as though the language had only one regular verb.) Harald Trost explains some of the problems in his Computational Morphology, an introduction for non-linguists. To try it for yourself, I found a collection of morphological analysers at Lingsoft's site. Type a word into the appropriate form — there are analysers for English, German, and the Scandinavian languages — and see how it can be broken down into its constituents.
The converse of morphological analysis is morphological generation, where you supply the root form of a word plus a specification of what semantic features, such as plurality or past tense, are to be added. For the same reasons as above, this can also be tricky. I found an interesting application in Robust, Applied Morphological Generation by Guido Minnen, John Carroll, and Darren Pearce. This describes a prototype system for simplifying newspaper stories to make them more intelligible to people whose language comprehension has been damaged by such problems as stroke or head injury.
Here are two bits of fun that shows how languages, morphology included, evolve. An Old English poem about Rudolph the Red-Nosed Reindeer begins:
Hwæt, Hrodulf readnosa hrandeor —We might translate these lines as:
Næfde þæt nieten unsciende næsðyrlas!
Lo, Hrodulf the red-nosed reindeer —
That beast didn't have unshiny nostrils!
Actually, this is a modern rendering into Old English, by Philip Craig Chapman-Bell in Catherine Ball's pages on diversions in Old English. But it illustrates how much English has changed in 1000 years; simplifying, for example, three genders and five cases of nouns to one distinction, that between singular and plural. Which I'm glad of, because it means that when I'm writing templates for generic error messages, if I choose my words carefully, I don't need a complete morphological generator but can pluralise them merely by sticking an "s" on the end. I couldn't do that in Old English; or in Dutch, which shows why internationalising software is hard.
In the future, perhaps English morphology will become drastically more complicated. In FUTURESE: The American Language in 3000 AD, Justin Rye speculates how American English might evolve over the next 1000 years. It's fun, but Rye is also making some serious points in trying to clear up misconceptions about language change. And he shows how languages can gain inflectional complexity through phonetic change; English verbs may one day again rival those of Greek.
I'll finish with several collections of puzzles in which you can experiment with morphology as well as other linguistic phenomena. The father of them all was the Moscow Linguistics and Mathematics Olympiad for secondary-school students, started by A. N. Zhurinskij in 1965. Since then, other countries have begun their own competitions, some of which act as qualifying rounds for the International Linguistics Olympiad.
Not all the problems on these sites are stated in English; I've linked to them anyway, for those who read the other languages or want to risk an on-line translator. A sample problem, from the Dutch page The difference between d and d, asks the reader to classify its words into two classes, depending on the origin of their ds. This can be done by comparing them with cognate words in English and German, as shown in the answers. These are in Dutch, but the intent should be clear enough: the English words, for example, fall into two classes depending on whether the letter corresponding to the Dutch d is a d or a th.
Particularly bizarre is the "Transcendental Algebra" which the first question in the First International Olympiad asks you to decode. Apparently, this was invented in 1916 as a universal language by Jacob Linzbach. Interesting symbolism, but I wonder how well it could describe much other than family relationships.
It would be an interesting challenge to write a computer program with enough linguistic knowledge to solve these problems.
www.edwardtufte.com/tufte/ — Edward Tufte, and his books, courses, art, and essays. See www.edwardtufte.com/tufte/posters for "probably the best statistical graphic ever drawn", Charles Joseph Minard's map of Napoleon's army losses during the Russian campaign of 1812.
www.salon.com/march97/tufte970310.html — The Data Artist: Scott Rosenberg's Salon feature about Tufte, March 10, 1997. Includes the misleading graphic from Pravda.
www.typebooks.org/botw-096139210x.htm — Review of Tufte's first book, The Visual Display of Quantitative Information, by Roy Johnson, for the typography site TypeBooks.
www.asne.org/index.cfm?ID=4364 — Omit needless words. E.B. White's recollection of William Strunk's advice to writers, from the American Society of Newspaper Editors, March 6, 2003.
www.washington.edu/computing/training/560/zz-tufte.html — Graphics and Web Design Based on Edward Tufte's Principles, from a University of Washington course.
www.wired.com/wired/archive/11.09/ppt2.html — PowerPoint Is Evil, by Tufte, Wired, Issue 11.09, September 2003.
www.edwardtufte.com/tufte/powerpoint — You have to buy Tufte's essay on PowerPoint, but you can view for free the poster on this page, which compares PowerPoint with a Soviet military parade in Budapest (1956…): "Comrade, why are we having this meeting? The rate of information transfer is asymptotically approaching zero!"
www.jnd.org/dn.mss/in_defense_of_powerp.html — In Defense of PowerPoint, by Donald Norman.
www.somethinkodd.com/oddthinking/2006/03/19/business-presentations-and-the-cognitive-style-of-edward-tufte — Business Presentations and the Cognitive Style of Edward Tufte, by "Julian", blog entry for March 19th 2006.
colorusage.arc.nasa.gov/popout.php — Color and Popout, Color Usage Research Lab, NASA. Explains the use of colour to achieve popout.
(popout OR pop-out) preattentive —This will turn up
a number of papers about whether "preattentive" is still a
useful notion, and about the relationship between it and visual
www.csc.ncsu.edu/faculty/healey/PP/ — Perception in Visualization, Christopher Healey.
www.csc.ncsu.edu/faculty/healey/download/ijcai.01a.pdf — Formalizing Artistic Techniques and Scientific Visualization for Painted Renditions of Complex Information Spaces, Christopher Healey, 2001.
arted.osu.edu/160/07_Lichtenstein.php — Roy Lictenstein: poking fun at painterlyness.
lite.bu.edu/vision/applets/lite/lite/lite.html — Applets from Project Lite, illustrating visual phenomena such as perception of colour, of real and apparent motion, and of lightness and brightness.
www.cs.cmu.edu/~cil/v-demos.html — Applets and other demos linked from CMU's Calibrated Imaging Lab. Unfortunately, the lab is no longer active. Perhaps because of this, some of the links on this page are dead. However, there's some interesting stuff left, including image search in databases.
www.yorku.ca/eye/thejoy.htm — The Joy of Visual Perception, by Peter Kaiser. Warning: "As time passes, various parts of this book may become obsolete. As noted below I consider this web book to be supplementary to hard cover texts and strongly suggest that teachers and students do not use The Joy of Visual Perception as a stand-alone source of educational material".
www.cs.cornell.edu/home/xliu/life.html — Xiaoming Liu's Game of Life applet.
homepages.inf.ed.ac.uk/rbf/HIPR2/hipr_top.htm — Hypermedia Image Processing Reference, University of Edinburgh. Tutorials on image processing and computer vision, providing descriptions of 50 different image-processing operations, guidelines for when to use them, example input and output images for each one, exercises, and a glossary of image-processing terms. Java source for some image algorithms is also available, and you can also experiment with applets. For mathematical morphology, there is a section explaining erosion, dilation, skeletonisation, and other operators with only a small amount of mathematics.
cmm.ensmp.fr/~serra/acours.htm — Courses on Mathematical Morphology, by Jean Serra, Center of Mathematical Morphology, Paris. Detailed courses, with mathematical theory, in French, English, and Spanish. Much more detail than the above; probably the reference, but you'll need to work your way through a good number of set- and lattice-theoretic definitions. Also describes some applications.
cmm.ensmp.fr/~beucher/wtshed.html — About the "watershed transformation" for segmenting images, and its more controllable cousin, the marker-controlled watershed.
www.dca.fee.unicamp.br/~lotufo/handson/ — Page for the book Hands-on Morphological Image Processing by Edward Dougherty and Roberto Lotufo. Links to a collection of open-source tools for morphological image processing in Python.
ams.jrc.it/mdigest/ — Morphology Digest, running from 1993 onwards, started by Henk Heijmans, currently edited by Pierre Soille. The Digest ncludes news of conferences and publications; the site links to various mathematical morphology tools.
www.math-info.univ-paris5.fr/~bouzy/publications/MyBouzy-IJPRAI.pdf — Mathematical morphology applied to computer go, by Bruno Bouzy.
en.wikipedia.org/wiki/Lattice_%28order%29 — Wikipedia entry for Lattice (order).
www.rci.rutgers.edu/~cfs/472_html/Learn/ExampleConcepts/LatticeSpace.html — Structuring the Hypothesis Space and Hypotheses Revision, in Charles Schmidt's course notes on Cognition and Computation,
www.vincent-net.com/luc/papers/92cssp_filtering.pdf — An Overview of Morphological Filtering, by Jean Serra and Luc Vincent. In Circuits, Systems and Signal Processing, Volume 11, Number 1, January 1992. Formal treatment of morphological operations as lattice morphisms.
www.upriss.org.uk/papers/arist.pdf — Formal Concept Analysis in Information Science, Uta Priss, submitted to Annual Review of Information Science and Technology, Volume 40. This is the paper I mentioned with a section on "the duality of extension and intension". A clear introduction to the topic.
www.upriss.org.uk/fca/fca.html — A Formal Concept Analysis Homepage, Uta Priss, 2003.
www.mae.cornell.edu/paul/papers/paulSAB2004.pdf — Morphology and Computation, by Chandana Paul, 2004. Paul's original paper, with the XOR thought-experiment.
www.mae.cornell.edu/paul/ — Chandana Paul's home page.
www.ifi.unizh.ch/ailab/people/iida/research/pfeifer_iida_JSM05.pdf — Morphological computation: connecting body, brain, and environment, by Rolf Pfeifer and Fumiya Iida, 2005. This is the paper I mentioned that talks about the Yokoi hand.
ailab.ch/robots/robothand/ — A page on the Yokoi hand, with pictures and publications, Artificial Intelligence Laboratory, University of Zurich, August 2005.
www.ifi.unizh.ch/ailab/people/llicht/morphcomp/slides/MorphologicalComputation.htm — Morphological Computation, by Lukas Lichtensteiger. The slide presentation I mentioned on morphological computation.
www.isi.imi.i.u-tokyo.ac.jp/~maxl/Papers/icra05_final.pdf — Locomoting with Less Computation but More Morphology, by Kojiro Matsushita, Max Lungarella, Chandana Paul, and Hiroshi Yokoi, 2005. Using morphological computation — appropriate design of hips and legs — to take over much of the control in a walking robot.
www.robotcub.org/misc/openday/slides/Rolf_Pfeifer_-_Co-development_of_morphology_and_cognitive_skills.pdf — Co-development of morphology and cognitive skills, by Rolf Pfeifer, 2005. Comprehensive 129-slide presentation. Topics include: work on robot arms and hands and on robot walking; the robot mini-dog "Puppy" and fish "Wanda"; symbol grounding; gait patterns as attractors; and the philosophy behind morphological computation.
www.ai.univie.ac.at/~harald/handbook.html — Computational Morphology, by Harald Trost. An introduction for non-linguists.
www.cs.bham.ac.uk/~pjh/sem1a5/pt2/pt2_intro_morphology.html — Morphological analysis by Peter Hancox. Another nice introduction, which explains why the possessive suffix 's is a problem that breaks the modularity of some analysers.
www2.lingsoft.fi/demos.html — Lingsoft's morphological analysers (and other tools) for English, German, and the Scandinavian languages. Select a language, type in a word, get its analysis.
acl.ldc.upenn.edu/W/W00/W00-1427.pdf — Robust, Applied Morphological Generation, by Guido Minnen, John Carroll, and Darren Pearce, 2000. Using morphological generation in a system for simplifying newspaper stories to make them more intelligible by aphasics.
www.georgetown.edu/faculty/ballc/oe/rudolph.html — Hrodulf Hrandeor, by Philip Chapman-Bell, at Cathy Ball's Old English Pages: Diversions.
www.chass.utoronto.ca/~cpercy/courses/MENounMorphology.htm — Carol Percy's page on the morphology of Old English nouns, an illustration of how drastically English has evolved.
www.xibalba.demon.co.uk/jbr/futurese.html — FUTURESE: The American Language in 3000 AD, by Justin Rye.
www.creativepuzzels.nl/spel/speel1/olmpic-2.htm — Linguistic Challenge problems, developed by Valentin Vydrin and Thomas Payne. Assorted other puzzles are linked from the home page.
www.ilo3.leidenuniv.nl/index.php3?m=3&c=6 — Problems from various international and national linguistics Olympiads. Most aren't in English, but there is an English set of questions for the First International Olympiads. The first question thereof is the one about Transcendental Algebra.
www.olympiade.leidenuniv.nl/index.php3?m=4&c=11 — Problems taken mainly from the Dutch Linguistics Olympiads. (In Dutch.)
www.ilo3.leidenuniv.nl/index.php3?m=8&c=7 — About the Third International Linguistics Olympiad held at Leiden; also about the International Linguistics Olympiads and various national Linguistics Olympiads in general.
ling.narod.ru/ — Main page for the Moscow Linguistics and Mathematics Olympiad, by Boris Iomdin. (In Russian.)
www.philol.msu.ru/rus/kaf/otipl/deti/deti.htm — History of the Moscow Linguistics and Mathematics Olympiad, by E. Muravenko. (In Russian.)
A joke for those who read about feature-integration theory on Perception in Visualization, or know it from elsewhere:
Q: What's red and invisible?[ Jocelyn Ireson-Paine's Home Page ]
A: No tomatoes!