Posts

Showing posts from October, 2017

Color Recognition ML database

Image
So turns out that Machine Learning isn't something you can just jump into in a couple of hours and say "Ok I can do this now that was easy."  Nonetheless, I've been working on the supervised-learning color database and after a lot of programming (THIS MUCH!!!  \__(ಥ_ಥ)__/ ) I now have the beginning of the color database I will use to dock. MARCO is currently sitting on its side, staring at a piece of paper with a bunch of differently-colored squares printed on it, populating that database with 100 pixels of raw data per color. I estimate that the array this data will populate will exceed 3MB in size by the time I finish gathering initial data, which is huge for an array of 8-bit integers. MARCO images that piece of paper once every ten minutes to sample what each of those colors looks like all throughout the day and into the night. Next task is to crunch all of this data into a meaningful set of equations that MARCO can use during docking, and then I mo...

Moving Forward: Color Recognition

After hours of rigorous internal discussion with the MARCO development team (myself), we have all agreed on an optimal path forward.  To set the stage, this is a significant turning point in the project. Up until now I have just been developing the features that allow MARCO to work, but from here on out I will be developing what I consider MARCO itself. This means a number of things.  First and foremost, it means that the programming work is going to get far more complex, difficult, and mathy.  Second, it means that the acquisition algorithms I wrote months ago will finally see the light of day for the first time.  Without giving away too much detail, these algorithms were developed to mathematically step through a target surface image and identify the targets with the lowest possible number of pixel value checks.  This is a departure from traditional computer vision approaches that I believe may substantially increase the speed of target acquisition, b...

Footprint Projection Calibration

Image
I finally finished the LiDAR boresight-camera calibration, it took much longer than I expected, but at least now I'm fairly savvy with OpenCV programming. First I had to extract the silhouettes of the LiDAR footprints from the IR images I took of them a few weeks ago, then I had OpenCV determine their centroids and print them out on console.  This took a few tries to get right, as the program I wrote only extracted the largest silhouette from a threshold-filtered image, and some of the images required a lot of noise filtering while others had a weak footprint.  From the centroids I was able to determine both the line along which the LiDAR footprint will travel and the mounting error angle between the camera and LiDAR boresight. The mounting error between the camera and LiDAR turned out to be a little less than 5 degrees after tossing the evident outliers.  This is fine for my purposes but would be a problem if MARCO needed to acquire a target from further th...