Scripting Video Editing with F# and FFmpeg

Computer vision should not be confused with image processing (as we all know). I love building computer vision pipelines, but sometimes menial tasks of pure image processing, automated editing come up. Suppose you had the same astronauts from one of the previous posts participating in a study, where they are actually filmed watching something, say … Continue reading Scripting Video Editing with F# and FFmpeg

D3 Off-Label

Auto-writing Software Good software writes itself. We all know the patterns and following them makes things easy. Not because we have memorized any monumental volume on design patterns, but because years of experience taught us what should be done on an almost intuitive level. Also in a negative sense. We avoid duplication, globals, encapsulation violations. … Continue reading D3 Off-Label

Detecting Faces with Dlib from F#. IFSharp Notebook

The Choices I have experimented with OpenCV and Dlib face detection in my computer vision pipeline. Both work well, but the Dlib one worked better: it is more sensitive with (in my case) almost no false positives right out of the box! Dlib uses several HOG filters that account for profile as well as frontal … Continue reading Detecting Faces with Dlib from F#. IFSharp Notebook

Zooming Through Euler Path: Supercharging with GPU

So, continuing where we left off: Walking the Euler Path: Intro Visualizing Graphs Walking the Euler Path: GPU for the Road Walking the Euler Path: PIN Cracking and DNA Sequencing For the Win And finally I ran the GPU-enabled algorithm for finding the Euler path. And the results: Generating euler graph: vertices = 10,485,760; avg … Continue reading Zooming Through Euler Path: Supercharging with GPU

Walking the Euler Path: PIN Cracking and DNA Sequencing

Continuing on to some cool applications of Eulerian paths. Intro Visualization GPU/CUDA Injection The goal of this little graph experiment remains exploration of accelerating Eulerian path finding on the GPU. This is the final introductory post. Eulerian Path Hierholzer algorithm works great. It's linear in the number of edges, so as fast as we can … Continue reading Walking the Euler Path: PIN Cracking and DNA Sequencing

Walking the Euler Path: GPU for the Road

Continuation of the previous posts: Intro Visualization GPU Digression I was going to talk about something else this week but figured I'd take advantage of the free-hand format and digress a bit. Continuing the travel metaphor and remembering Julius Cesar's "alea iacta", we'll talk about GPU algorithms, for which I invariably use my favorite Aela.CUDA … Continue reading Walking the Euler Path: GPU for the Road

Visualizing Graphs

Previously Walking the Eule Path: Intro Generating and Visualizing Graphs I can hardly overemphasize the importance of visusalizations. Many a bug had been immediately spotted just by looking at a visual of a complex data structure. I therefore decided to add visuals to the project as soon as the DirectedGraph class was born. Code & … Continue reading Visualizing Graphs