There are currently a number of opportunities in my lab, for both grad students and undergraduates.
New projects will be added over time, so you may want to check back on occasion (when projects are added, they will be noted in the What's New section).
If you're interested in applying to do one of these project, or to work with my lab, check out some of the following guidelines: Undergrad (UROC) MS Assistantship PhD Assistantship.
Here are several projects that I'm interested in pursuing, either as graduate mini-projects, undergraduate UROC projects, or as independent studies. The projects will be adjusted as needed to fit the timeframe and the skills of the student involved.
If you are interested in this area, but don't see a project that interests you, please email me a description of your interests. We may be able to work out a custom project.
Many drawn forms contain single or multiple symmetries. For this reason, drawing tools allow users to replicate or transform shapes in the course of drawing. At the same time, this mechanism for using symmetries in drawing can be somewhat awkward, requiring the user to recognize which symmetries to use beforehand, and often not allowing multiple repeating objects to be edited in tandem. In addition, these system cannot use symmetries to clean up or reorganize the figure, even when the corrections might be apparent based on their visual configuration.
For this project, I would like someone to review the literature on symmetry and diagram drawing, and if possible, to put together a proposal for how a more flexible symmetry-based editing system might work. The proposal should assume that symmetry detection (via MAGI) can be used as needed to recognize, complete, or correct existing qualitative symmetries.
In our AI-based diagram analysis systems, we've analyzed diagrams that are drawing using conventional vector-based drawing systems (like Xfig) on desktops. But the best diagrams are often those at hand, not those that must wait until you have access to a desktop or laptop. For this reason, we have looked at using information from PDA-based sketching systems, but have found them to be either
We would like to expand the reach of our spatial reasoners to use information from PDAs, but have found the sketching systems available on PDAs to be not adequate for the task. Sketching on a PDA is different from sketching on a tablet PC or on paper -- the resolution is course, the stylus is hard to hold, and the space for drawing is quite limited.
I would love to get a 3911 team that would help me put together a much better and more usable PDA drawing system. The critical aspects of this drawing system would be:
* Automatic detection and "cleanup" of three critical vector elements:
line segments, circuluar curves, and closed ellipses. The interface should be
non-modal: you shouldn't have to specify which type of element you are drawing
for the system to make an interpretation.
* Ability to add text via Grafiti or a keyboard.
* A wireless connection to our diagram analysis system running on a server,
which would allow the system to interpret the drawing dynamically, as it is
drawn.
The GeoRep system is a great system for exploring diagrammatic reasoning, but it's relatively brittle at shape recognition. It takes a line drawing and produces a set of low-level visual relations. These visual relations are then fed into a rule based reasoner (based on a logic-based truth maintenance system, or LTMS) to recognize shapes based on qualitative spatial characteristics.
A better approach would combine a fuzzy representation of the visual relations in the figure with a Bayesian reasoner to do the shape recognition. The approach would involve re-writing GeoRep's low-level spatial relation system. Where this system currently outputs a single visual relation (e.g., labeling a corner as acute), the system would output a distribution of mutually exclusive potential relations (e.g., .7 acute, .01 obtuse, .3 perpendicular). There relations would then be fed into a Bayesian reasoner that would perform the same shape recognition tasks as the rule-based system (but, we hope, more flexibly).
This project will take quite a bit of work, so if the project time is limited (as for 7001), we can begin with either of the following exercises:
1. Examine the rules that GeoRep uses to recognize logical AND and NAND gates. Rewrite the rules as a (static) Bayesian network that takes a set of fuzzy spatial relations as input, and provides one of several possible interpretations as output.
2. Alternatively, research and write a paper contrasting the dependency network used in the LTMS and that used in Bayesian networks (I have readings for both areas, so this is a sensible project even if you don't have experience in the area).
The PHINEAS system (Falkenhainer, 1988) was one of the best analogy-based abductive reasoners ever built. However, the components that PHINEAS used -- the structure-mapping model of analogy, the qualitative process engine, and the analogical retrieval mechanism -- have all been signficantly improved since then.
Rewrite PHINEAS, taking advantage of these new systems.
The processing of a sketch is not unlike the processing of a sentence. As a sketch is being drawn, we can begin to make inferences about what the sketch is about, just as we can guess the probable meaning or ending of a sentence well before the last word is actually spoken. Sketch understanding, then, takes place in real time, and is incremental.
The incrementality of sketch understanding raising some critical issues about how spatial reasoning is done.
For a long project, we will work on redesigning GeoRep's spatial representation engine to make it incremental. For a short project, you can do one of the following, depending on your interests:
1. Look at the set of visual relations produced by GeoRep's LLRD. How could this system be made incremental? How would the system handle potential nonmonotonicities in the representation?
2. Design a dependency network for spatial relations based on a justification-based truth maintenance system (JTMS). I'll provide the code.
3. Any other project related to incremental spatial reasoning.
We're really good at detecting visual repetition, and also very good at detecting visual symmetry (either can be done in only a few tenths of a second). However, we're not equally good at them. Symmetry is usually easier to detect. There have been a lot of conjectures on why this is so, but they've been thrown into disarray by some recent findings by Baylis and Driver, who've shown that the preference for symmetry over repetition can, in some cases, be reversed.
I have a hunch about why Baylis and Driver got this result, and believe we can simulate their result using my model of symmetry detection. For this design project, I will need someone to read the literature, and then help me construct a set of figures that can be run both with human subjects and on my computer model. Thus, there will be a bit of experimental design and some work on representing spatial relations. As for the other project, if the design is good, it may be actually run the following term.
Right now, I'm very interested in getting one or two additional grad students for research in this lab. I have enough funding to handle up to two for this year, and hope to receive funding for additional years some time within the next 6 months.
In general, I'm interested in students who wish to pursue any of the projects listed on this page (or we can talk about work that you can do). LISP experience is not required, although you will need to become proficient in LISP rapidly, so taking the AI grad course and other programming courses will help get you up to speed quickly.
I am also happy to sponsor CS 7001 mini-projects (even if you plan to eventually work in another lab).
Guidelines for undergraduate research:
Right now, it is rare that I provide funding for Masters students, but it is possible under certain circumstances. These circumstances are:
If you meet these criteria, please contact me. I'll be glad to talk with you, and may have a position. Once we talk, if I have a position available, I'll probably ask you for 1) a resume; 2) some code samples; and 3) a description of your career goals and how they relate to the research that we pursue here.