May 31, 2006

{} What can a machine see?

A general question is posed as the topic of this entry. There are different approaches to solve different problems in computer vision. I am specifically curious to know what problems each different approach in computer vision solves and how much a priori information each approach considers. I also like to know how far we are from replicating a biological system, in your opinion. Are we in the right direction to do so in computer vision?

The classification of the different approaches are not quite clear (see SoloGen's* comment on the previous entry), but we might trivially try to categorize them into (a) biological and (b) non-biological (artificial) vision. You may wonder why I am considering biological vision when writing on computer vision. I have two reasons: (1) nature is man's best teacher, and (2)artificial gadgets can be integrated in biological visual systems to correct/improve malfunctions (e.g., see Progress in Artificial Vision). Because of these two reasons, many are investigating how biological visual systems work. Having all these said, I will leave biological vision for another discussion and focus on non-biological vision.

Based on how much we know about the sensor (camera), non-biological vision can be sub-categorized to (b-1) calibrated, where parameters of the camera are known and (b-2) uncalibrated, where they are not known. We can also categorize them further by knowing about the world (how much we know about the scene model, and what type of images we are dealing with).

In this sense, we can assume that Geometrical approaches assume that the type of the camera is known and the scene model can be represented geometrically. For example, there is a calibrated projective camera and the scene consists of boxes of a solid texture.

Learning-based approaches step farther and assume that there will be no a priori knowledge of the scene model and everything is to be learned. It still makes sense if we know something about the camera, as without any a priori knowledge we will be looking at a near-infinite space of pluasible inferences for a scene.

I think this would start off the discussion. Feel free to elaborate more on these categories or propose others while we continue the discussion.

You can either write in the comments section, or if you prefer, you can write in your own blog and I link to you in the next entry.

P.S. I don't believe much in discussion forums. A blog is a better place to write and exchange ideas, I believe. I intend to summarize our ideas and prepare an online version for future reference.

* SoloGen maintains two blogs: Thesilog and Anti Memoirs.

Labels: ,

May 29, 2006

{who.cogSci} Stevan Harnad

Stevan Harnad is renowned cognitive scientist [wiki] and author of the following article:

Harnad, S. (1994) Computation Is Just Interpretable Symbol Manipulation: Cognition Isn't. Special Issue on "What Is Computation" Minds and Machines 4:379-390
[Full Text HTML]

This post was originally meant to introduce a scientist and one of his works that interested me. Though I am not particularly working on cognition, my research would generally be on computational vision and its applications to robotic visual servoing, i.e., vision-based control of robots. I have been passionate about the geometrical/computational approach to 3D vision, but I have to be aware of the limitations of such an approach, as the boundary between biological vision and cognition is blurred.

I have had a couple of interesting discussions with SoloGen on the issue. I could re-phrase the issue as "Which would ultimately make a better artifical visual system for daily/industrial applications: Machine Learning or Geometry?"

I view computational vision is an intricate and interesting problem, but the question is, does solving such a problem help humans towards building their intelligent clones? I must point out that, in my opinion, humans are subconciously (?) in search of making their own version of human-like machines, but are too conservative to boldly challenge their creator. Afterall, it would be more likely that the contemporary scientists fail to make the artificial thinking/intelligent human, so why enter a lose-lose competition?

Labels: ,

May 28, 2006

{life.daily} How to eat muffins

I have little doubt that the following is the best paper in the field:

It's a good read and highly recommended. It also gives you a deep philosophy: "Everybody" can be wrong. And that's the lesson learned today. Do things upside-down (bottom-up, whichever applies), and you may contribute in a field.

May 26, 2006

{} Creativity

I reckon that creativity intensifies with solitude. Thoughts won't dig deep when you share, since you share not only your heart, but also your everything else including your limited resources for creativity. Instant creativity (such as this post) are meaningless unless a significant amout of thought is put solely in the creation process. This, of course, applies to anyone with limited resources for creativity, which turns out to be everyone as time is the most dangerous enemy of all creators, but one. And thou shalt praise that one and only creator. Amen.

Labels: ,

May 25, 2006

Master of Science in Vision and Robotics

Here is a list of courses that I think would give the right background (mathematics, computer science, mechanics, signal processing) to do good work in computer vision and robotics. Probably good for a 5-year course based master's degree in an EECS department. The more I work in this area, the more I feel that Robotics and Computer Vision is a field by itself and can't fit the traditional EE or CS program, because it needs a strong math background, a solid and understanding of mechanics in addition to the traditional education given in EE and CS. For example, many courses in traditional EE are not useful (for example 3 courses in electronics) to robotics and computer vision in particular. The CS graduates don't traditionally learn about signal processing and control theory on the other hand. We should come up with a good mixture.

Math background
Calculus I, II
Real Analysis
Linear Algebra
Algebraic Geometry
Differential Algebra
Complex Analysis
Ordinary Differential Equations
Partial Differential Equations
Applied Probabilities and Statistics
Numerical Methods for Computation
Graph Theory
Complexity Theory
Mathematical Optimization
Differential Geometry
Variational Calculus
-- 18

Computer Science background
Algorithms I,II
Complexity Theory
Languages and Automata
Object-oriented programming
UNIX programming
Computer Organization
Operating Systems
Formal Methods
System Architecture
System Validation and Verification
-- 12

Signal Processing Background
Fourier Analysis
Signals and Systems
Information Theory
Digital Signal Processing
Digital Image Processing
-- 5
Computer Vision and Graphics
Foundations of Computer Vision
3D Computer Vision
Feature Extraction and Motion Tracking
Computer Graphics

Control Theory and Machine Learning
Linear Control Theory
Digital Control Theory
Nonlinear Control
System Identificaton
Statistical Methods in Learning
Machine Learning
Optimal Control
-- 7

Mechanics and Robotics
Digital Design
Mechatronics (Microcontrollers, Servo motors, DC motors, necessary electronics)
Robot Mechanics
Mobile Robots and Navigation
Calibration Methods
-- 7

50 courses

Labels: , ,

{who.compVis} Joseph Mundy

Joseph Mundy is a pioneer computer vision scientist, who observed the importance of Algebraic Geomtery in computer vision some 20 years ago. The modern approach to computer vision uses Projective Geometry as the mathematical framework to represent and analyse scenes. Projective Geometry is an established field of Projective Spaces within the Algebraic Geometry community. It appears in graduate course textbooks (such as Hartley and Zisserman's Multiple View Geometry in Computer Vision) and will soon find its way to the undergraduate curriculum. Here is the wiki page for Mundy (includes a quote that highlights the important fields related to computer vision).

Speaking of formal education required for the field of computer visoin, my expectation is that the next generation of (non-traditional) computer science curricula will include more Algebra and Geometry. In fact, it is about the time where a new computer vision discipline emerges that covers all the areas related to image analysis and computer vision. Currently, CS students do not learn Fourier Analysis and Systems Theory, nor do they learn Algebra and Geometry. A CS graduate is not prepared to carry on research in computer vision. Similarly, a classical robotics guy specializes in Robot Mechanics (kinematics and dynamics) and may learn some working knowledge of motors (step motors, dc motors, etc.) from Electrical Engineering department. If a hardcore computer vision researcher wants to be involved in robotics (mobile robotics and industrial robotics), he will need a lot more than the current conventional courses.

Labels: ,

May 23, 2006

{math.logic} A short note

It is worth noting that in the Electrical Engineering (EE) curriculum, there is little space left for important topics such as Mathematical Logic. They either assume that EE students are naturally logical or they will never use mathematical logic in their studies.

I remember that we had to take propositional and predicate logic in high school (although at that time, I did not know the English terminology). Well, I am using Temporal Logic in one of my grad courses and I thought, I should refresh my mind on the subject matter. In fact, I was reading a PhD thesis and the author compared temporal logic to propositional and predicate logic. On the second thought, I figured that I do not remember the exact boundary between different branches of mathematical logic. Wikipeida is a nice resource and won't let you down if you are searching for a comp sci related topic.

Simply put, when you deal with propositions (such as p, q, etc.) you call it propositional logic. Predicate logic (also called First-Order Logic) extends propositional logic and includes quantifications such as ∀ and ∃ (for all, for some). For example, ∃x P(x) means that for some x, P(x) is true (first-order).

There is also Second-Order Logic, where the predicates are in the variable position. For example, ∃P P(x) is second-order. Second-order logic extends the first-order, which in turn, extends the propositional logic. These branches of logic are also called binary logic, because they use only two truth values (TRUE and FALSE).

Temporal logic is completely different in nature, as it includes time and considers it as a sequence of states. Temporal logic can describe evolution of a system over time. A sentence can be true at certain instants and false in others. In fact, temporal logic is quite useful to study Finite State Machines, where the behaviour evolves over time. There are branches to it, such as CTL (Computation Tree Logic) and LTL (Linear Temporal Logic). Temporal Logic is somewhat new in computer science (though it existed since 1960's). The scientist who introduced temporal logic in computer science and specifically in system verification won a Turing Award (Noble prize of computing) in 1996.

BTW, There is an introductory course at the Department of Computing Science at the University of Alberta that covers an introduction to logic with a focus on its use in computer science (does not cover temporal logic). I think for a first or second year undergraduate student, it is not completely clear why they should learn mathematical, but as they are promised in that course, they will find tons of applications, sooner or later.


{favorite.quote} do not re-invent the square wheel

I have heard that getting the Segway robot to work properly (navigation, localization, etc.) may take quite a while. There are others in the department who have spent years on Segway development. My initial reaction when I heard this was, "nice! There is no need to re-invent the wheel." I am not sure how much this could be true and how much different professors are willing to share their students time. I am just hoping that I do not re-invent a square wheel.

Ironically, today, I read an article by Henry Spencer, "How to Steal Code or Inventing the Wheel Only Once". Somewhere in the article, I found a nice quote,

If you re-invent the square wheel, you will not benefit when somebody else rounds off the corners.
--Collyer & Spencer

PS: Henry Spencer is fun to read. Have you read his "Ten Commandments for C Programmers"?

Labels: , ,

May 21, 2006

{robotics.back} After two weeks or so ...

I guess I have rambled on sports too long and right now my play-off fever seems to be gone. Well, Oilers are winnig the Western Conference Finals and I have been cheering too much with them. It is time to focus back on my stuff.

The above pix is the newest member of our lab. Although it is still in the box (as it arrived just last week), it will look more or less the same when put together. It is a Segway RMP 200. For the record, RMP stands for Robotic Mobility Platform. We intend to put a WAM arm on it and move it around to do some cool stuff. This platform would be twins with NASA's Robotnaut and that is exciting. I am sure that there would be tons of implications to make that thing work. But, nothing's impossible.

Labels: ,

May 19, 2006

{blog.this} CSC meets ATH

CSC meets ATH
Originally uploaded by ashademan.

Nice weather in Edmonton these days (except for today which is supposed to rain).

BTW, here is the topic in its complete FRM:

CSC meets ATH
GOD's behind CLDs
AZD prays to GOD
LET this stay LNG!

{} whyld myle!

Oilers will play the Mighty Ducks tonight in the first game of the conference finals. The party was gross after the win, or so I have heard. There appears to be a titty-cart (the name is self-explanatory) somewhere down n the whyld myle (the so-called Whyte Ave). These people are crazy (in a good sense).

May 15, 2006

{} Oilers do the impossible!

It was a nice effort by Oilers to kill the penalties in the first period and come back to the game. They won 6-3 again, and have a chance to close it in on the Sharks on Wed in Rexall place.

White Mile is 60 mins away.

May 14, 2006

{} Oilers-Sharks game 5

Oilers won game 4 deservingly. The score was 6-3, and Oilers were down 3-2 in the game. Some say, it was a lucky bounce that bought them back the game. I disagree. It's power of will.

In 5 minutes, game five starts at SJ. The series is tied at 2 games apiece now, so whichever wins this game five, will be in the control of the series.

May 11, 2006

{} Oilers win in 3rd OT

Let me get something straight, here. I wanted to make this blog an all-science blog. I am not quite in the mood to BS for science for now. I might do it some day, as I enjoy scientific BS, no matter what. Wouldn't it be interesting to know that the current technology hype is around game business, but a few years from now no one would be that much interested in it? Sort of like the bio-technology that was hot a few years back, but right now its games games and more games that you hear about day in and day out. Yeah, well. Let's talk about science in games, later. For now I am a sports-o-holic, whatever that means.

I usually like to lay low in front of TV and watch a game, be it soccer, basketball, or hockey whatnot. I had a conversation with Taftestan the other evening and he mentioned that he watches British rugby, too! I am new to hockey, he is new to rugby, but according to him that's natural. That was a relief for me, because as much as I enjoy watching a hockey game these days, I know that I didn't have any passion for it a few years back. Does the Canadian winter have anything to do with it? Apparantly not. I guess it's just natural to grow some passion for domestic sports and guess what? Hockey is a Canadian game and British rugby is, well, Brit!

I was watching this second-round playoff game between Edmonton Oilers and San Jose Sharks last night. The Oilers were down 2-0 in the series (lost both games in San Jose), and they were down 2-1 in the game, but they were fighting back hard. What I like about Oilers is that they are an emotional team (sort of like Iran's soccer team) and they play very well against stronger teams (by regular season standings). They play for their pride and for their city. I am cheering for them.

The nice thing about hockey is that it is a physical sport. Sometimes, you have an impression that they should kill a player to get a call from the refs, but well that's not quite true. They have some strict rules (hooking, high sticking, etc.), but last night there were two horrible scenes. Hopefully, both players were all right and the Oilers tied the game to go to OT.

No goals in the nerve-breaking first and second OT, yet Oilers manages to score in the 3rd OT. It was hell of a nice physical effort for both team. The Oilers had 55 shots on goal and deserved to win. Now, they are trailing Sharks 2-1 in the series and the next game will be tomorrow night, again in Rexall place in Edmonton. That's a game not to miss, folks. If the series tie at 2 games apiece, there would be a chance to close it in on Sharks in San Jose (after tomorrow's game), the series will continue at San Jose.

May 07, 2006

{} 7:45 PM

A quarter-to-eight PM, is a nostalgic time of the day, when I feel the lack of something essential in me, something that I have been addicted to for many years: the daily dose of 15-minute sporting news!

At that time of the day, many Iranian sport-enthusiasts forget about whatever they are doing and tune in to IRIB-3 to listen to the usual pattern of news, starting with the domestic soccer-league results and ending-up with Tour-de-France brief results. The footage shows the same archives day-in and day-out from who-knows-when. Yet, me and my likes, the sport-fanatic coach potatos, would not miss it. The fun part was the ladies results, which didn't even have an archived footage, but rahter some static images of perhaps-a-lady doing some-kind-of-unknown-sport or a scene from the city where the sport even was being held.

With about a month to the World Cup 2006 and without the essential dose of my sporting news, I desparately surfed the web to find some sport-crack to inject. The results were not promising. Our Team-Melli star Ali Karimi wasn't even in the reserves list of Bayern in one of their last matches. That injury of his may cause him his career, if he won't impress in the games (by the way, Bayern repeated the double eventhough they were stopped by Kaiserslautern in a disappointing match). Zandi did not even enter the pitch from the bench, and Hashemian has had a nightmare season. Ali Daei is turning 37 and is definitely not fit for world-class match-ups. The only fit player at the moment is Mahdavikia who assisted nicely on a goal last week, but his team lost this week. They still have one more chance to compete for the second spot that guarantees them entering the Champions League next season.

Disappointed by the individual performances, I browsed FIFA's page on Iran to see if the Iranian Federation has managed to seal a few important warm-ups before the event. It was nice to know that we would have a serious friendly against Croatia on May 28, and an interesting Cape Verde Islands (FIFA Rank=122) two days after in Swizerland. I mentioned "interesting", because without following sporting news the chances were that I die without knowing where Verde actually is (I always thought that I have been to Verde, S. R.'s Verde! Could this be true: does her father own that country?). Yet another interesting news is that the day after the CPV match, IRN would be playing Bosnia and this latter happens only 11 days before our first game in the tournement against MEX! The poor manager has a very very limited time to compensate the weak sides.

May 04, 2006

{} No Battle of Alberta

The title says it all. Calgary Flames lost to Anaheim "Mighty Ducks" in an embarrasing game to be eliminated from the playoffs. What's worse is that the highly anticipated "battle of Alberta" between Oilers and Flames would not happen.

The positive side of this would be the fact that Flames fans would be rooting hard for Oilers (at least that's what Keving told me, he for one).

Another interesting fact is that Oilers have only 500 tickets for the general public and the rest would be kept for the die-hard fans who have supported the team throughout the season. Oilers plays San Jose Sharks in the conference semi-finals.


May 02, 2006

{} videos

I have uploaded some of the Whyte Av street celebrations after Oilers huge win on

This one has been viewed 752 times since last night!

Crazy fans
Screaming girls
High Five in Whyte Av

I have some more, and I would upload them gradually. I am cheap and my Internet is slow!

BTW, Can you see the following video?

{} Go Oilers Go

Edmonton Oilers made history by eliminating the giant Detroit Red Wings in game 6 of the first round of Stanley Cup playoffs (NHL). They were down 2-0, but magically managed to score four goals in the thrid period to win 4-3. Instantly after the game, Whyte Ave was full of die-hard Oilers fans that were celebrating and high-fiving each other, singing songs, and making all the noise in the world.

I did not get more than 35 mins of sleep since 24 hours before the game due to working on the OS assignment. This didn't prevent me from going out on Whyte Ave and cheer for Oilers. I liked their integrity and focus during the series. They were far from being lucky to win the series. They have advnaced to the Western Conf semi-finals, where they would face either Calgary Flames or San Jose Sharks. Calgary is right now tied 3-3 against Anaheim. Game 7 is in Calgary on Wed. We shall wait and see what happens there.

The whole atmosphere in Edmonton reminded me of Novermber 1997, when Iran's Team-Melli advanced to 1998 World Cup by eliminating Australia. The crowd here were as gorgeous as those in Tehran. The same pattern, cars, screams, and re-juvenated streets. I couldn't stay long though, so I missed clubbing after that (and I wasn't wearing an Oilers jersey, that feels bad with many are wearing them!). Oh by the way, I have some pretty cool short videos of street celebration.

Anyone knows how I can post them here?