Interactive Image Segmentation with Graph-Cut in Python

sandipanweb

In this article, interactive image segmentation with graph-cut is going to be discussed. and it will be used to segment the source object from the background in an image. This segmentation technique was proposed by Boycov and Jolli in this paper. This problem appeared as a homework assignment here., and also in this lecture video from the Coursera image processing course by Duke university.

Problem Statement: Interactive graph-cut segmentation

Let’s implement “intelligent paint” interactive segmentation tool using graph cuts algorithm on a weighted image grid. Our task will be to separate the foreground object from the background in an image.

Since it can be difficult sometimes to automatically define what’s foreground and what’s background for an image, the user is going to help us with a few interactive scribble lines using which our algorithm is going to identify the foreground and the background, after that…

View original post 896 more words

Advertisements

The first English professor of mathematics

The Renaissance Mathematicus

From its origins the word professor refers to someone who professes to know something about a given subject. In the medieval universities undergraduates started their studies in the arts faculty, where they nominally learnt the seven liberal arts (the trivium consisting of grammar, logic and rhetoric and the quadrivium consisting of arithmetic, geometry, astronomy and music) and philosophy. This course of studies closed with the Bachelor of Arts or BA. Most students left the university at this point, those that stayed continued on the arts faculty working towards the Master of Arts of MA, the basic teaching qualification for the university. These masters would then teach the undergraduate courses on the arts faculty whilst simultaneously studying for a doctorate on one of the higher faculties, medicine, law or theology. The normal practice was to distribute the undergraduate teaching duties by drawing lots, the mathematics courses being regarded as having drawn…

View original post 864 more words

Designing Windows 95’s User Interface

Socket 3

win95uidesignThree years ago I came across an interesting paper written up by a Microsoft employee, Kent Sullivan, on the process and findings of designing the new user interface for Windows 95. The web page has since been taken down – one reason why I’m a bit of a digital hoarder.

It specified some of the common issues experienced from Windows 3.1’s Program Manager shell and looked at the potential of developing a separate shell for ‘beginners’. Admittedly my inclination was that this was possibly inspired by Apple’s At Ease program that was reasonably popular during the System 7 days. I remember At Ease well during my primary school years, so kids couldn’t mess with the hard disk in Finder.

So here’s what Kent had to say verbatim in his paper titled “The Windows 95 User Interface: A Case Study in Usability Engineering” so it’s not lost altogether.

View original post 4,695 more words

Python’s Weak Performance Matters

Meta Rabbit

Here is an argument I used to make, but now disagree with:

Just to add another perspective, I find many “performance” problems in
the real world can often be attributed to factors other than the raw
speed of the CPython interpreter. Yes, I’d love it if the interpreter
were faster, but in my experience a lot of other things dominate. At
least they do provide low hanging fruit to attack first.

[…]

But there’s something else that’s very important to consider, which
rarely comes up in these discussions, and that’s the developer’s
productivity and programming experience.[…]

This is often undervalued, but shouldn’t be! Moore’s Law doesn’t apply
to humans, and you can’t effectively or cost efficiently scale up by
throwing more bodies at a project. Python is one of the best languages
(and ecosystems!) that make the development experience fun, high
quality, and very efficient.

(from Barry Warsaw)

I…

View original post 856 more words

Argumenting Client-Side Decorations

Arcan

Apparently it is the season to chime in on opinions on client side decorations (CSDs) versus server side decorations (SSDs) in the context of Wayland. I normally ignore these kinds of quarrels but this is a case where I consider the dominating solution being close to the worst possible one. The two pieces of note, so far, is This post from camp Gnome and This from camp KDE.

For starters, Martin claims:

Nothing in Wayland enforces CSD. Wayland itself is as ignorant about this as X11.

Well, it is the compositor’s job to enforce it (i.e. do nothing really) and he doesn’t want to – it’s a case of bad hygiene for any implementor of a protocol to skew interpretation this blatantly as it counteracts the point of having one. You don’t have to dig deep to find the intention behind the protocol – even the first commit to the…

View original post 1,799 more words

A Step by Step Backpropagation Example

Matt Mazur

Background

Backpropagation is a common method for training a neural network. There is no shortage of papers online that attempt to explain how backpropagation works, but few that include an example with actual numbers. This post is my attempt to explain how it works with a concrete example that folks can compare their own calculations to in order to ensure they understand backpropagation correctly.

If this kind of thing interests you, you should sign up for my newsletter where I post about AI-related projects that I’m working on.

Backpropagation in Python

You can play around with a Python script that I wrote that implements the backpropagation algorithm in this Github repo.

Backpropagation Visualization

For an interactive visualization showing a neural network as it learns, check out my Neural Network visualization.

Additional Resources

If you find this tutorial useful and want to continue learning about neural networks, machine learning, and…

View original post 1,794 more words

Facebook Has Got An Instagram Problem

Music Industry Blog

Mark Zuckerberg dropped a bit of bombshell during the Q4 2017 earnings call. He announced that Facebook daily active users (DAUs) have fallen across some key markets, including the US. COO Sheryl Sandberg elaborated:

“In the US and Canada, these changes contributed to a DAU decline of 700,000 compared to Q3. We don’t see this as an ongoing trend, but we do anticipate that DAU in this region may fluctuate given the relatively high penetration level.”

Facebook attributed the fall to the newsfeed changes it has made to improve the quality of relevance of content users see, and to mitigate against trends such as fake news. While these will certainly have played a role, there is a bigger, more fundamental factor driving the decline: Facebook has an Instagram problem. Or, to be more precise, Facebook has a messaging app problem.

blog slide

Messaging apps are the third phase of platforms on which…

View original post 605 more words