Search within Lanny's blog:


Leave me comments so I know people are actually reading my blogs! Thanks!

Tuesday, February 10, 2009

Robot of the Day: CubeStormer, the Rubik's Cube Solver

Ever played Rubik's Cube before? If you have, then you know how hard and how long it takes to solve a game of Rubik's Cube. The robot we talk about today, however, can solve it within seconds, and most impressively, the robot was built completely using Lego pieces from the Lego Mindstorms Kit, which means you could build a robot just like this yourself for only a couple hundred bucks!

The robot's name is CubeStormer, built by British engineer Mike Dobson using Lego Mindstorms parts hooked up to a laptop computer. The computer acts as the brain and performs tasks such as recognizing colors, solving the puzzle using algorithms, and sending motor commands.

As shown in the video below, the robot first quickly inspects all six sides of the cube using multiple cameras by first rotating it a few times to recognize the current state of the cube. The computer vision task is actually really simple because the cube is placed at a fixed position, so the recognition software only needs to sample a few points for each color piece and then simply detect the color of the pixels (one out of six possible choices). The state of the cube is then passed on to a solver software (such as this free online one) and sequences of moves are generated, which are translated into motor commands for the robot to perform.

What is impressive about this robot, though, is the engineering side of things, such as how parts are connected and how motors are used all with toy Lego pieces. A beautiful designed enabled the robot actuators to solve the game in such short period of time. If you look closely at the video, you'll also notice that two rows of the cube can be rotated at the same time to speed it up!

CubeStormer by Mike Dobson

The time it took the robot to solve a random game was about 12 seconds. This is very much comparable to the fastest human Rubik's Cube solvers such as the one shown below.

Rubik's cube official world record 7.08 Erik Akkersdijk

There are of course other Rubik's Cube solving robots in the wild, such as the one built by UC Berkeley shown in the video below, which solved a puzzle in 6 seconds. But apparently this robot would cost a lot more.

Rubik's cube solver by UC Berkeley

However, the Cubinator, aka RuBot II, by Pete Redmond from Dublin, Ireland gets extra point in my book of Human-Robot Interaction. Although much slower compared to the other two robots, it has a head and two arms. And after picking up the cube all by itself, it even played music and talked to the audience while solving the puzzle.

Cubinator by Pete Redmond

What if the Cubinator not only solves Rubik's Cube, but is also capable of playing board games or hide-and-seek with your kids, tell them jokes, read books for them, and help them with their homework? Would you want one for your kids? If so, for how much? If not, why?

Picture of the Day:

Leftover Valentine’s chocolate? Use it to measure the speed of light with your microwave. Click the picture to find out how!

Monday, February 09, 2009

Random Thoughts: Are you being watched?

It started as a great idea at the Lower Merion School District, outside Philadelphia, when school officials decided to loan laptop computers to students to encourage them to embrace newer technologies and to study better. However, the situation came to a dramatic turn when a suit was filed against the school district for spying students at students' homes through the web cam built into the laptop and a software that allowed the school officials to activate the camera remotely in order to view and take pictures of the students.

The interesting part was that a student named Blake Robbins was accused of selling drugs and taking pills by school officials (Blake claimed that he was eating candies), and the school official actually provided proof -- images of Blake eating things at home taken secretly through the web cam -- to back up their claim! The image on the left shows Blake's family and their lawyer appearing on "Early Show Saturday Edition" discussing the entire fiasco (photo credit CBS).

I am simply AMAZED at the intellectual capabilities of the school officials involved here!! The issue here is not whether the kid took pills or not. The issue is about a crude invasion of personal privacy at people's own homes without their knowledge and consent. A federal judge quickly ordered the school district to stop activating the cameras, and the school complied. The FBI has also opened a criminal investigation of the web cam use to see if the school district broke any federal wiretap or computer-intrusion laws.

Disturbing as the story is, what I want to emphasize here, though, is slightly different. Many people use web cams to do video conferences with friends and family. Some still use the old external web cams connected through USB ports (I am one of them). However, most people use the laptop built-in web cams these days because of the convenience and also because most laptops come with built-in web cams. So do you really know if you are being watched?

People these days take their laptops with them everywhere they go, including very private places such as their bedrooms and bathrooms. Many companies would also give their employees laptops so they can work from home or while they go on trips. Many large organizations DO put remote access software on company laptops for the ease of IT support, and I personally have used such software when I worked as an IT support staff in the past. The truth is, IT support staff can remotely watch your monitor screen when you have no idea they are doing so. And if the computer has a web cam, activating the web cam through such management tools is a piece of cake.

Also, many home computers are hacked and made into "zombie" computers for spamming or Denial Of Service attacks in large botnets controlled by hackers. These hackers can also easily control the web cams connected to these infected computers and the users would have no clue about such activities! If you think you are safe behind security firewalls you purchased from McAfee of Symantec, you'd better think twice.

So what lesson should we learn from this? That is, we should never naively believe that we have total control of web cams connected to our computers. The safest thing to do is to cover it up with tape of a piece of paper when we are not actively using it, because you never know who might be watching through the web cam. Especially for people have built-in web cams, it is so easy to forget about that special "eye" in the room, and it might be watching you actively at this very moment!

The commercial in the YouTube video below might seem funny, but it wouldn't be so funny if you weren't in a video conference yet someone is secretly watching you behind the web cam device. I think all built-in web cams should have a cover, so people only open it when they actively use it and can always close the cover when they are not.

This also poses an interesting question about future robots in people's homes. These robots will probably also have eyes, and eyelids will probably have to be mandatory so they don't peep on you when you don't want them to.

Video of the Day:

Sony laptop with built-in web cam ad!



Sunday, February 08, 2009

Paper Review: Evaluation of evaluation in information retrieval

This paper was written by Saracevic from Rutgers University and published at the 18th annual international ACM SIGIR conference on Research and development in information retrieval, 1995.

Evaluation metrics are important components of scientific researches. Through evaluation metrics, performances of systems, algorithms, solution to problems can be measured and compared against baselines or among each other. However, what metrics should we use, at what level, and how good are these metrics? Questions like these must be carefully considered. This paper discussed such concerns about past and existing evaluation metrics used in Information Retrieval (IR) and raised many more questions. Please note that this paper was published in 1995 and evaluation metrics/methods in IR have progressed dramatically by now.

This paper is somewhat a survey paper that discussed evaluation metrics used in IR throughout the history and provided many literature references. The main contribution of the paper is that it suggests looking at the evaluation of IR from a much higher perspective, going back to the true purpose of IR, which is to resolve the problem of information explosion. When considering the evaluation of IR systems from this high point, the paper pointed out that there are a lot more to be evaluated besides common/popular evaluation metrics at simply the process level (e.g. Precision and Recall). It urged the IR community to break out of the isolation of single level narrow evaluations.

The author systematically defined six levels of objectives (engineering, input, processing, output, use and user, and social) that need to be addressed in IR systems together with five evaluation requirements (a system with a process, criteria, measures, measuring instruments, and methodology). Then he further discussed in details current practice, potential problems, and needs of evaluation metrics with respect to each of the requirement and how they can be categorized into the six objective levels. This is an excellent way of organizing contents and arguments, which allows the readers to easily see the big picture in a structured framework.

The paper made a strong statement that “both system- and user-centered evaluations are needed” and more efforts are required to allow cooperative efforts of the two orientations, in contrast to the widely proposed shifting from one to the other. This again highlights the author’s suggestion of treating the evaluation of IR as an overall approach.

The author identified many compelling problems and important issues with regard to the evaluation of IR and argued them well. To name a few: Laboratory collections are too removed from reality and TREC has highly unusual composition as to types and subjects of documents and should not be the sole vehicle for IR evaluation. Applying various criteria in some unified manner still poses a major challenge in IR. Assumption of one and only one relevant set as an answer to a request is not warranted. When using relevance as the criterion with precision and recall as the corresponding measures, someone has to judge or establish relevance; the assumption here is that the judgment is reasonable while we know relevance is a very subjective topic.

The paper repeatedly emphasized evaluation of interaction between users and IR systems as an integral part of the overall evaluation. In recent years, there’s also a strong trend showing more and more researchers in various areas interested in understanding how the human factors and the interaction between human and machines (robots) play an important role in the performance of systems. A good example is the emergence of Human Robot Interaction (HRI). Therefore, this topic deserves a separate discussion here. The ultimate goal of an IR system is to serve human. If information retrieved is not presented to the user correctly, then the IR system fails miserably. Also because of the subjectivity (with respect to an individual user) and ambiguity (such as query term meanings) of IR, multiple rounds of interaction between the user and the IR system can dramatically improve the performance of information retrieval. One example would be retrieving documents related to the query term “Python”. An interactive IR system can further allow the user to specify if he/she wants to retrieval information about the animal or the programming language. As stated in the paper, interactions in IR were extensive studied and modeled, however, interactivity plays no role in large evaluation projects (which I believe is still true even up to today). Granted that it is difficult to come up with sound evaluation metrics for interactivity, more discussion and research in this area is definitely very necessary.

This paper certainly has its shortcomings. First of all, the author could certainly have been more concise in the writing. Additionally I found the comparisons using expert systems and OPAC to be distracting from the main ideas and do not contribute much to the arguments. Eliminating them would have made the paper more focused.

Granted that precision and recall are used as the main evaluation metrics to measure relevance in the system and process level, many other evaluation metrics also existed but were not covered in this paper. Examples include (but not limited to) F-measure, Entropy, Variation of Information, Adjusted Rand Index, V-Measure, Q-2, Log likelihood of the data, etc. Besides quantitive evaluation metrics, qualitative analysis is also a common tool people use to evaluate performances of IR systems, and the paper didn’t touch this subject at all.

The paper argued that it is a problem that “every algorithm and every approach anywhere, IR included, is based on certain assumptions” and these assumptions could have potential negative effects. I found this argument weak and not well constructed. It is true that when researches design algorithms or model problems they make assumptions. Good researchers clearly identify these assumptions in their publications and analyze the potential effects these assumptions have on their algorithms or their models. Sometimes assumptions are made without sound reasons but are justified by good performances from real applications/data. It is almost unavoidable to make various assumptions when we do research. We should not be afraid of making assumptions, but be careful about our assumptions and justify for them.

Lastly, there is one more important drawback of this paper. It did a good job identifying many problems and issues regarding evaluations in IR. However, it did a poor job providing constructive ideas and suggestions to many of these problems. I am not suggesting the author should find solutions to many of these problems, but some initial ideas or thoughts (let it be throw-away or naïve ideas) would have improved the paper considerably.

In summary, the paper succeeded in bringing attentions to treating evaluation in IR from a much higher perspective and also provided good description, references, and discussion for the “current” state (up to 1995) of evaluation metrics in IR. I enjoyed reading this paper.

Video of the Day:

If you have a Toyota, take it in for a check, because it might be a matter of life and death for you and your family!



Saturday, February 07, 2009

Full Moon Crescent Saber: Prologue

Tonight was a night of a beautiful full moon, so I thought it would be the perfect time for me to start this translation project, something I've wanted to do for a long time. :)

Full Moon Crescent Saber is a book started by Gu Long and finished by Sima Ziyan. Because of that, it is also the most controversial book of Gu Long. I like this book because of the unique artistic conception and atmosphere described in the book, which really made it stand out from all other Gu Long books.

============================================================

Full Moon Crescent Saber
-- Written by Gu Long, Translated by Lanny Lin



-->
Prologue
Full Moon
The moon may be wax or wane. The story we are telling here is about the full moon, because it happened at a night of the full moon. At that night, the moon was more beautiful than any other night, with a magnificence so mysterious, so bleak, and so heart-breaking.
Same goes with the story we are telling, a story filled with charms so mysterious yet beautiful and fantasies so mystifying yet stunning. As told in the ancient mythical tale, when the moon rises in the dark nights, there are always fairies dancing in the moonlight – fairies of the flowers, fairies of the gems and sapphires. Even dark souls and fairy foxes living deep underground would come out to worship the full moon and to draw in the vigor of the bright moonlight.
Sometimes they will even transform into human forms, live in the human world as many different characters, and do things no one would ever imagine.
These things are sometimes startling, sometimes heartwarming, sometimes frightening, sometimes exhilarating, and some other times beyond imagination. They could rescue someone from the deepest abyss; they could also shove someone off the steepest cliff.
They could give you all the fame and fortune in the entire world; they could also make you lose everything you’ve ever own.
No one has ever seen their true faces, but no one could deny their existence either.
Crescent Saber
A saber may be straight or crescent. What we want to talk about here is a crescent saber, as curvy as Qing-Qing’s eyebrows.
The crescent saber belonged to Qing-Qing. Qing-Qing is a beautiful and mystic girl, just like the full moon of that night.
Sabers are weapons made to kill.
Same goes with Qing-Qing’s crescent saber. When the crescent reflection flashes by, calamity befalls; no one can escape the calamity, because no one can get away from the crescent shine of the saber.
The shine of the saber is not hasty; it is as smooth as the moonlight, but as soon as you see the moonlight, it has already befallen upon you.
There is only one moon in the sky; there is also only one crescent saber on earth.
It doesn’t always bring calamity when it appears in the mundane world. Sometimes it also brings people righteousness and happiness.
So when it appears in the world once again, what will it bring to this world this time?
No one knows.
Qing-Qing’s crescent saber is also emerald green[1], as green as the verdant distant mountain, as green as the spring trees, and as green as tears in young lovers’ eyes.
On the emerald green and crescent-shaped blade is a line of tiny words, “All night in the attic I hear the spring sprinkle[2].”
Fortunes may be as unpredictable as the winds and clouds in the sky. The moon may be dim or bright, wax or wane. Perfection in life was never easy to come by.
May we all be blessed with longevity. Though miles apart, our hearts still cross through the beautiful moon high in the sky.[3]


[1] In Chinese, “Qing” means emerald green.
[2] A verse from a poem of Lu You (1125-1210 AD), a poet from the Song Dynasty. I will not attempt to translate the entire poem here.
[3] The last few verses are excerpts of a very famous Mid-Autumn Festival poem by Su Shi (1037-1101 AD), a poet from the Song Dynasty. Here’s my poor attempt at translating the poem:
Prelude to the Melody of Water
When did the bright moon first ever appear?
Raising my wine cup I ask the blue sky.
High above in the moon palaces,
Wonder what year it is tonight.
I want to ride the wind and fly to the moon,
But I fear the jade terrace is too cold and high.
I’d rather stay in the human world,
And dance with my shadow in the moonlight.
As the moon rounds the red pavilion and slants through the silk-pad windows,
It shines upon every wakeful eye.
Moon, are you bearing any grudges.
Why always the full moon when loved ones are not nearby?
People may have joy and sorrow, parting and reunion,
The moon may be dim or bright, wax or wane.
Perfection in life was never easy to come by.
May we all be blessed with longevity, though miles apart,
Our hearts still cross through the beautiful moon high in the sky.

Now support the translator Lanny by following my blog and leaving comments! :)


Videos of the Day:


The beautiful poem referenced above was turned into the lyrics of a beautiful song sang by Teresa Teng, a huge pop icon in the 70s and 80s in the last century. Enjoy!



While searching for Teresa Teng's video, I ran into the video below on YouTube and was very impressed by the talent shown. A girl used her own music composition for the same poem and showed her beautiful voice. Even if you don't understand a word of hers, you'd still enjoy it (someone left a comment saying exactly that)!

Friday, February 06, 2009

AI and Robots: BYU using computer vision to catch parking violators

In the past, faculty members, staffs, and students at BYU (Brigham Young University) had to obtain and place special stickers on the windshield of their cars every semester if they want to park on campus in designated parking lots. Starting in Fall 2009, thanks to the new computer vision technology adapted by BYU police, this step is no longer necessary.

There are four types of parking lots at BYU: Faculty and Staff Parking, Graduate Student Parking, Undergraduate Student parking, and Visitor Parking. Because faculty parking lots are everywhere on campus, while graduate student and undergraduate student parking lots are relatively further away from the center of the campus (graduate parking lots are slightly closer), many students are tempted to park at faculty parking lots just briefly for a class period of about one-hour. Many used to be able to get away from it because of limited parking officers, but that is probably coming to an end because campus police has a better weapon to fight parking violators.

An automatic license plate recognition system, developed in Israel (I suspect this company) and made its way into US through Canada (don't ask me why), has become a very powerful tool for BYU police to catch parking violators. Cameras installed on top of police cars (as shown in the picture on the left) can automatically take pictures of cars in the parking lots. License plates are recognized and matched against a database to quickly determine if the car can park at the parking lot. An alarm is played when a violator is identified, and with just a push of a button, a parking ticket is automatically generated and printed. Parking officers can now quickly drive around campus multiple times each day and get their job down all with the comfort of sitting in their seats.

The picture on the right shows a closer view of the type of camera in use. The same kind of camera is also used at gated areas to automatically raise the gate for eligible cars. The accompanying software can read 60 plates a second and can recognize a license plate on a car going 120 mph with the help of the high-speed camera and fast computer algorithms in recognizing numbers and letters. The system also a GPS built-in, so images of cars are also geo-tagged with GPS locations in case people forget where they parked their cars.

Inside the police car, a very durable tablet PC is mounted on the panel so the parking officer can interact with the software using a stylus pen. A wireless keyboard can also be used to enter license numbers into the system.

Obvious benefits of the system include: more efficient patrol of lots of parking lots, comfort of staying in the car in extreme weathers (hot or cold), and automatic alert for stolen vehicles. However, this technology also has its drawbacks. For example, in cases of heavy snow (which is not so rare in Utah), the license plate might be covered by snow and not visible. Also since the parking officers can now do most of their job without getting out of the car, special parking spots like the 15-minutes ones are getting less attention and could be abused more frequently. In the past, people who owned multiple vehicles had the option of hanging a badge in one of the cars. This also means only one car is allowed to be parked on campus because there is only one badge. With the new system, since there's no sticker and no badge, all cars can be parked on campus at the same time. Lastly, privacy is also a concern because now the campus police can easily identify when cars are parked where each day.

So how does the recognition work? There are two main challenges: 1. Identify the license plate in the picture. 2. Recognize the license number. I don't know the exact algorithms used in the system, but based on techniques learned form my computer vision class, I certainly can come up with some intelligent guesses. Identifying the license plate in a picture probably relied on edge detection techniques combined with detecting high-contrast areas that also have the rectangular or rhombus shape. A coarse to fine search is also likely. Recognizing the letters and numbers is relatively easy with machine learning classification algorithms such as decision tree or nearest neighbor.

It is worth mentioning that such license plate recognition systems are already widely used by police forces. The video below shows an example. If you live in California, then you probably have heard stories where people get their traffic ticket in the mail together with a picture of their license plate. A friend of mine told me that once he actually received a ticket in the mail together with a link. Following the link, he was able to view a video of himself making a right turn without making a complete stop. How amazing!




A BYU parking officer said the following in an interview:
"With the money we saved in parking sticker costs, we were able to buy the car."

What I probably would add to that is: "With the extra parking tickets we were able to write, I am expecting a much bigger bonus!" Just kidding!

Picture of the Day:

Google street view uses facial recognition software agent to detect faces in photos and then blur them for privacy protection. The software agent dutifully blurred hunger striker Bobby Sandss's face in a street portrait in Belfast. (Click the picture to see more!)