"In the world ye shall have tribulation: but be of good cheer; I have overcome the world." –John 16:33

Tag: Machine Vision

Project day – Embedded Ingenuity

Piece of trash Dell Vostro 220The picture to the right is of an old, piece of trash Dell Vostro 200 desktop computer that was cheap and incapable the day we got it. As can be well attested over the years of this blog, I have pieces of projects in various stages of completion and a ton of software to go with them. Now, I have a partner in crime. My buddy John, from my last job and I are embarking on a project that includes the new little BeagleBone Black computer we bought a couple of weeks ago. The idea is to develop some capability for embedded computers that will be both educational for John and I and to create something interesting.

So, for want of another idea and maybe because of our lack of creativity, we decided to start with something simple that might be a base for something bigger if we get this first thing to work. So, here is the plan. We want to put up a website that allows a user to click a button that takes a picture with a camera connected to the computer in the picture. Next, we want to get that same functionality running on the Beagle Bone at my buddies house in Arizona. A much more portable, cheaper computer makes the project much more interesting and a little bit more difficult. There are lots of ways of very simple ways to do precisely what we just said, but we want to put infrastructure in place to extend the ability of computers to do Machine Vision, sensor fusion and robotic control tasks.

When (and if) we get this done, we have an idea about what we want our webified cameras to do that is special. It is actually a little bit more ambitious than what I did for the GaugeCam project, but also a little bit more challenging. Truth be known, the GaugeCam project was very challenging because it had to be able to work 24/7 outdoors in any kind of weather or physical environment.

Betty Blonde #384 – 01/05/2010
Betty Blonde #384
Click here or on the image to see full size strip.

A new (old) project–finding something to do

My buddy John from North Carolina via New York and I have started up a new software/vision project based on some previous work both of us have done. Now that Lorena and I are starting to get settled here in Oregon, we have time on our hands. John is in the same boat, so we are putting together some software to do some hobby stuff. We put together a preliminary project plan and even have a name for the work. We are not sure what we want to do with it yet. Maybe it will turn it into an open source project. We might just use it for our work. It will be a ton of work and, like always, worst case, we will learn a ton.

Betty Blonde #271 – 08/03/2009
Betty Blonde #271
Click 
here or on the image to see full size strip.

When machine vision engineers have too much time on their hands

A cat with its back to the sun
My good friend and fellow machine vision engineer Ann, sent me this picture of her cat. The title of the email was “My cat sitting in a sunbeam.” She took the picture with a thermal camera and said, “Can you see where the sun is hitting her? Cool huh?” I completely concur. If you do not think this is cool you are not a cat person and you are not an engineer.

Betty Blonde #266 – 07/27/2009
Betty Blonde #266
Click 
here or on the image to see full size strip.

Invitation to write a community college course

Day 769 of 1000

We love community colleges.  In spite of our dedication to getting our kids through Big State U and on into grad school, we believe that if there is going to be a long term future for mass public post secondary education, it will be centered around community colleges.  Some are fortunate to live within driving distance of a state four year college, but almost all of America is within a half hour drive of a first rate community college.  They do a great job right now at training people for jobs in auto repair, dental assisting, welding, electronic technician work, bookkeeping, and so many other great fields where people can make a great living.

They also are great in preparing people for entry into four year schools.  We believe that these four year schools will start to get more distributed.  When that happens, the community college will be great places to proctor sit-down exams, on-sight seminars, and a plethora of other activities associated with the delivery of distributed classes.  They currently work with Big State U to coordinate classes and even perform some research, but we see that collaboration getting bigger as pressure is added to drive cost out of higher education.

With that as a backdrop, you will understand when I was excited about an opportunity I have been given to write a two semester community college course in Machine Vision.  I will write the course plan, develop computer programs, and help do some “train the trainer” sessions to get the thing going.  I think it will take at least a year given my current schedule to have anything ready to go, but it is an exciting new opportunity that I believe I will enjoy thoroughly.  I will keep you posted.

License plate reading: Great progress in finding the plate

I spent several hours today working on some of the preprocessing I think might help me find the license plate on the back of a car.  As always with this type of problem it is good to start with a few easy cases to help lay some of the groundwork.  That is exactly what I did.  I got a few of images each of the back of a pickup and the back of a car to use as my sample development images.  Here are a couple of sample images so you can see what I am talking about:

Back of car - original Back of pickup - original

My first thought in looking at the images is that there are a lot more edges in the area of the license plate than in other areas of the image so I ran a Sobel magnitude on the entire scene to see if that idea held water.  The following are the Sobel magnitude images:

Back of car - sobel magnitude Back of pickup - sobel magnitude

I was right about the license plate lettering, the sobel magnitude image shows a high density of edges, but the proble with this is that there are other high edge density areas of the image.  What I needed was a way to narrow down the number of edges so I decided to separate the veritcal edges from the horizontal edges.  The horizontal edge image was pretty worthless, but the vertical edge image diminshed many of the extraneous, non-licencse plate edges while still maintaining high density in the are of license plate.  The following are the vertical and horizontal edge magnitude images for the car:

Back of car - horizontal edge images Back of car - vertical edge images

So we are a lot closer than when we stared.  We could probably do some morphology coupled with connectivity analysis (blobs) and have a pretty good probability of knowing the position of the license plate for these particular cars.  After thinking about it for awhile, I thought I would try one more thing to narrow down the search area for the license plates.  One thing we have going for us is that the license plate for legal cars should always be somewhere between two red tail lights.  So the next step I thought it would be good for us to take is to create an image that maximizes the red channel and suppresses the non-red area of the image.  On these two cars, I got some pretty amazing results:

Back of car - red maximization/non-red damping Back of pickup - red maximization/non-red damping

We got very good results.  Almost everything in the image is dark with the exception of the red tail lights of the vehicles.  The letters on these license plates just happen to be red, so they showed up quite well, too, but not all plates have red lettering.  We will have to see what happens on red cars, too.  Still, license plate lettering has a finite number of colors, so we will be able to use that to our advantage in the future.  I think we are at a point now where I will be able to combine the information from the vertical edge image and the red channel maximized image to start looking for the plate.  I will do some image cleanup (morphology and other filters) along with connectivity analysis or area image statistics to isolate the plate.  I will probably do that next week or whenever I get a chance to get back to this.

Christian comes through with the Lego NXT

Day 169 of 1000

Lego NXT tire inspectionIn my day job, I am working on a product that performs three dimensional scans of all kinds of stuff with a product called a Gocator made by a company in British Columbia named LMI.  There are a ton of tire companies around here that want to look at their tires with 3D machine vision, so we needed a demo.  Christian came to the rescue by building up a tire presentation system with his Lego NXT set.  It works great.  The tires that came with the kit have tread and raised lettering on the sidewalls, just like real tires.

It works like a champ.  I will talk to my boss this afternoon about buying two or three sets to use for demos.  Maybe I can get Christian a job building demo stuff for us!

Thursday in Roanoke while Lorena fights Microeconomics battles

Day 157 of 1000

I am scheduled to put over 1000 miles on the pick-up this week.  This morning, I am writing from a McDonalds about a half an hour out of Roanoke, Virginia.  My understanding is that I will maintain this fairly crazy travel schedule through the end of March.  I have a trip to British Columbia the first week of April, then, hopefully, I will only need to make a couple of road trips per month.  I get a little bit fried from sitting in the pickup for so long with only restaurant food and very little exercise, but going out to meet customers, look at their machine vision applications, and try to find solutions is absolutely invigorating.  I am working on a bleeding edge technology to solve a new class of problems that have been waiting for a solution for a long time.

The solution involves the use of a regular machine vision camera (imagine an industrial, high quality webcam) which captures 2D images to create 3D images with the help of a line laser.  The technology has been around for a long time, but now a company has packaged it in a way that makes its use in generic applications very, very much easier than was ever possible before.  My company has given me license to develop a product around the new technology and I am enjoying it immensely.

In some much more interesting news, Lorena’s Microeconomics professor asked the whole class to prepare to draw some graphs that describe Microeconomics concepts on the whiteboard in front of the class.  He did a really bad job of describing the concepts so no one in the class was prepared to draw the graphs except Lorena.  Lorena was prepared because, when she could not figure out what to do, Christian showed her the Khan Academy Microeconomics videos.  She was the most prepared of the class, so the professor picked her first, then (according to Lorena) he with ridicule through two of the examples.  I was getting pretty exercised about the whole deal until she told me he was not really mean, just demanding and he did it to the whole class.

I am really sad that Lorena cannot draw like Kelly because it would be great to have a drawing of him for this blog post.  Lorena, if you read this, next time you are in class, take a surreptitious photo of your professors with your cell phone so Kelly can draw them for her (and my) blog posts.  Lorena describes the guy as a fat, bald guy with long hair who looks like he might be very comfortable on a Harley Davidson.  I like the guy already and wonder if he has any tattoos.

That Khan Academy thing reminded me I want to ask Kelly how many Linear Algebra videos she watched today.

Powered by WordPress & Theme by Anders Norén