Posts

Showing posts with the label image analysis

Talking about Digital Fight Club

Earlier this month, I attended the third installment of the Digital Fight Club, put on by Digital Dallas.  Digital Fight Club is now going to be held at various events across the country!  I'd love to make it out to every one of them.  You all who are where it will be held are in for a treat, and should not miss it.  Read more at  http://www.digitalfightclub.co/ . You Talk About Digital Fight Club The format involves two thought leaders sparring in a short debate on a particular topic centered around emerging technology, design, and organizational behavior.  Each round of debate, consisting of both debaters' opening arguments and rebuttals, lasts under five minutes.  Then, another five minutes or less goes to at least two of the five judges to ask a question addressed to one of the debaters, and the other can rebut the answer as well.  Finally, the judges and audience decides a winner for each round. Despite the brevity, it is a power-pack...

Observing OCR Technologies for PDF Parsing

I’ve gotten the opportunity to investigate some Java-based OCR technologies recently for the purpose of analyzing PDFs, and wanted to write about some aspects of them that aren’t very well-documented.  I hope to incorporate this into these tools' documentation at some point, but for now, here it is... in loooong prose. TightOCR Couldn’t get this one working at all.  Was hoping to run it on Python, but it tends to claim certain functions for parsing JPGs, TIFFs, and PNGs do not exist when obviously Tesseract on the command line knows how to handle these types of files adroitly.  It also has a dependency on CTesseract which seems not to be updated for the revised Tesseract APIs (function headers with more arguments) as updated in Tesseract version 3.03, so you have to install Tesseract 3.02 to work with CTesseract. Tess4J This was a real hassle to install on my Mac.  I first started by trying to compile everything from scratch and use GCC, but faced a ...

I Finally Found an Application For My CUDA Cores!

During graduate school, I was exposed to the power of CUDA cores through my parallel computing class.  Back then, there was a relatively small number of such cores on the video card inside their shared server, something like 40 if I remember correctly.  With my NVIDIA GeForce GTX 650 Ti video card, however, I now have 768 CUDA cores at my disposal -- almost 20 times as many as in grad class 4 years ago! Not being much of a mathematician at heart, and generally spending time on logic problems, application testing, or new HTML5 & browser paradigms rather than crunching big data, I was never really inspired to do much with these cores.  This all changed when watching the Google I/O 2015 keynote address when they showed off the capability for you to draw (as best you can) an emoji, and Google's engine will try to recognize your scrawl and offer you up several profesionally-drawn emojis to represent whatever it is you're trying to express.  With recent changes in my...

Skin Color Detection Using Neural Networks

Image
Another cool project I did back in college was to create a classifier that could look at a digital photograph or video and discern where there was human skin.  Once you know where the skin is, you can analyze the shape of it, or treat it like a lamina and find its "center of mass" and how it changes over time in a video.  However, before you can start thinking about scanning for people and interacting with their motion (or whatever your application may be), you must first learn how to collect and interpret the raw data. Skin in an image is found by analyzing the colors.  Digital images exist in a "color space" which is a mapping of each distinct color to a particular point on a graph whose axes relate to very basic properties of colors.  The most common color space is RGB -- each color can be defined by the percentage of red, green, and blue it contains.  (Well actually, there are some colors that can't be represented in the RGB space, but most cameras can...