Research overview

Fabio G. Cozman

I am Assistant Professor at the Mechatronics group at the Escola Politecnica, Universidade de Sao Paulo. This group is an inter-disciplinary effort to research in Automation, Robotics, Artificial Intelligence and Industrial Management (among other things!). I have a background on Electrical Engineering, and do most of my research in Computer Science issues.

I am currently working on three different lines of research; these lines mostly reflect my past and present interests.

Theory of sets of probabilities (credal sets)

First, I explore the theory of sets of probabilities. There is not a single, stable name for this theory: some people use "theory of imprecise probabilities"; others say "theory of credal sets", or "Quasi-Bayesian theory", or "theory of lower expectations", or ... several other names. I believe this theory is the right tool to model statistical uncertainty, and will ultimately be the unifying foundation for inference and decision-making. To know more about the theory, you can look at my explanation of it, and also look at web sites for the First and the Second Symposia on Imprecise Probabilities and Their Applications (which I co-organized) and the Imprecise Probabilities Project (which I co-edit). As a result of the First ISIPTA, a book and two special issues were edited:

I work both on foundational and algorithmic issues (with emphasis on the later). Basically, I'm interested in efficient algorithms to obtain posterior quantities; a big part of the work can be grasped through the papers

The second paper above contains a summary of the third paper. Also, the second paper is an improved version of the following paper, presented at ISIPTA99: The papers mentioned previously deal, at least partially, with graphical models associated with sets of probabilities and judgements of independence. I'm particularly interested in models that generalize Bayesian networks (called credal networks). My ideas on this are summarized in the paper at the Artificial Intelligence journal. Some preliminary results in that paper appeared in the following papers (but I recommend looking at the journal paper, which is better edited and more mature):

In connection with credal networks, I have developed algorithms for the JavaBayes system, where I explore robust inferences with credal networks, using both local and global perturbations. I'm also interested in concepts and properties of irrelevance/independence connected to the theory of sets of probabilities. The following papers look at some basic concepts in this area:

I have also pursued some different directions, looking at the problem of sequential-decision making associated with observations, and also exploring the possibility of learning convex sets of probability from data:

Another idea I have pursued is the possibility of learning convex sets of distributions from data:

Bayesian networks

Second, I am quite interested in graphical models for uncertainty modeling, particularly Bayesian networks. I develop the JavaBayes system, a general purpose inference engine for graphical models; the engine can generate posterior probabilities and expectations for probabilistic models represented as directed acyclic graphs. The system is distributed freely (under the GNU license) in the spirit of fostering teaching and research. JavaBayes is now used in many university and research labs around the world. A summary is:

In the process of putting together JavaBayes, I have developed a very general, yet easy to understand, inference algorithm for Bayesian networks. The method generalizes the variable elimination algorithm, and is suited for teaching due to its simplicity. You can get it:

While JavaBayes is a complete system, with graphical interface, parsers, etc, I've been investigating a system that is more geared towards the needs of embedded systems. The EBayes project is an effort to produce a lightweight Bayesian network engine that is appropriate to the growing market of embedded devices. Some preliminary tests are described at

Finally, I am interest in applying sensitivity analysis techniques (from the realm of robust Statistics) to Bayesian networks. I have been developing techniques that use the theory of sets of probabilities as a tool for the assessment of sensitivity in graphical statistical models. A preliminary effort is:

Robotics: Teleoperation, mobile robots, automated orthosis...

Third, I really like to work with mobile robots and similar devices. I have always tried to spend some time building new friends out of motors and computers.

Right after my undergraduate course, I took a Master of Engineering in Brazil, and worked in the first brazilian mobile robot, called Ariel. We produced a complete system, from the mechanical structure to the planning software; the result was very impressive and we ended up showing it off in the Jornal da Globo (Brazil's second most important TV news source). Unfortunately, that material is not online. Here are two significant papers, perhaps of historic value:

I worked, for two years, in the Lunar Rover project during my PhD years at Carnegie Mellon. My main contribution to the Lunar Rover project was the Viper system, a piece of technology that was used in the Atacama mission. The Viper system, estimates position from a stream of images, by matching images to a previously constructed map of the environment. The estimator builds an occupancy map for the position of the robot; the catch is that the occupancy maps actually represents a full density ratio familiy of distributions which generate both the estimates and the confidence on the estimates. The system is described at

There is also a description of an old version of the Viper system at

The vision algorithms developed for the Viper system reported in the following papers.

During a few years at CMU I worked with the Ratler robot. We actually had it rolling for some fifty kilometers in our outdoor tests; you can take a look at the following paper. Right now I'm not working too much with mobile robots. I have some undergraduate students designing a small-sized robot for visual inspection of hazardous environments, as part of a larger project on teleoperation of industrial environments. Hopefully I will report on this work in the near future. Instead of focusing on mobile robots, I'm increasingly focusing on automated orthosis (devices that can help people with physical disabilities). This is ongoing work, and I also hope to report on this in the near future.

I also worked on a few other problems.

Some years ago I produced a line linker based on the Akaike Information Criterion (AIC), which was distributed in the net. That code is probably too old to be of interest, but the algorithm using the AIC may be of value; there is a tech report that describes it.

Another aspect of my work was the investigation of celestial data as a source of position estimates for mobile robots:

And finally, another twist in this work was the study of atmospheric scattering as a clue for depth in outdoor environments; as far as I know, the first study of scattering in the context of image understanding.

I have been interested for some time in the problem of calculating bounds for dynamical systems; I have since discovered a huge literature in this area, which I expect to be of great relevance for robust Statistics in the future. I have published some work on the specific topic of manipulating ellipsoidal models of error in Robotics. [Send Mail?]