So I was bored, didn't know what to do, started solving problems on codewars (shut up!). There was this little problem there, where they are asking you to compute $latex \frac{\sum_{i=1}^n i!}{n!}&s=2$, for potentially large n's with $latex 10^{-6}$ precision. It's easy to see that this needs to be refactored (no need to actually compute … Continue reading F# Humor (kinda)

# 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

# HashSet, Graph, Cognac

The post on applying GPU to finding Eulerian path mentioned a stumbling block: partitioning a very specific kind of graph. In general, partitioning is a hard problem, NP-hard actually. The graphs we are dealing with are very specific, though, and may be partitioned in $latex O(|E|)$ time (E - the set of graph edges). Our … Continue reading HashSet, Graph, Cognac

# Getting Emotional with Affectiva, F#, and Emgu

I've been playing with Affectiva emotion, demographics, and face detection SDK, found it excellent, however, their sample gallery lacks a sample in F#! So here we are to correct that. I just wanted a simple F# script that would let me take all kinds of the SDK options for a ride. The script itself is … Continue reading Getting Emotional with Affectiva, F#, and Emgu

# 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