Latest Entries

OpenCV 1.2.0 (2.0 Beta)

Win32 installer

Taken from the changelog:

New functionality, features: <<< – General:
* The brand-new C++ interface for most of OpenCV functionality
(cxcore, cv, highgui) has been introduced.
Generally it means that you will need to do less coding to achieve the same results;
it brings automatic memory management and many other advantages.
See the C++ Reference section in opencv/doc/opencv.pdf and opencv/include/opencv/*.hpp.
The previous interface is retained and still supported.

* The source directory structure has been reogranized; now all the external headers are placed
in the single directory on all platforms.

* The primary build system is CMake, http://www.cmake.org (2.6.x is the preferable version).
+ In Windows package the project files for Visual Studio, makefiles for MSVC,
Borland C++ or MinGW are note supplied anymore; please, generate them using CMake.

+ In MacOSX the users can generate project files for Xcode.

+ In Linux and any other platform the users can generate project files for
cross-platform IDEs, such as Eclipse or Code Blocks,
or makefiles for building OpenCV from a command line.

* OpenCV repository has been converted to Subversion, hosted at SourceForge:
http://opencvlibrary.svn.sourceforge.net/svnroot/opencvlibrary
where the very latest snapshot is at
http://opencvlibrary.svn.sourceforge.net/svnroot/opencvlibrary/trunk,
and the more or less stable version can be found

Continue reading...

Total Variational L1 and Anisotropic Huber L1 Optical Flow

In 2007, a very nice implementation of a variational implementation of optical flow was described in: A Duality Based Approach for Realtime TV-L1 Optical Flow by C. Zach et. al. I won’t get into the details too much, but the formulation is described by this equation:

E = int_?{?|I0(x) ? I1(x + u(x))| + |?u| dx}

If you are familiar with the seminal work of Horn and Schunck, you will notice it is fairly similar to their variational formulation:

min_u{ int_?{ (|?u1|^2 + |?u2|^2) d? } + ? int_?{ ((I1(x + u(x)) ? I0(x))^2) d? }

And although it looks incredibly simple now, it is in fact fairly difficult computationally since now both terms are not continuously differentiable. To overcome this difficulty, they follow the work of Rudin-Osher-Fatemi energy for total variation image denoising.

Another big contribution comes in their implementation on the GPU. By linearization of the generally non-convex energy functional shown above, the problem is reduced to a pixel-wise convex energy minimization problem. Additionally, by employing coarse-to-fine image pyramids, they are able to account for both small and large movements. Luckily, graphics cards are great at doing both of these sorts of computations very quickly. You … Continue reading...

Flash based interview

Sometime last year I gave an interview for the ECHOES II project.

“ECHOES II aims to develop an adventurous technology- enhanced learning environment in which both typically developing children and children with Aspergers Syndrome at Key Stage 1 (ages 5-7) can explore and improve social interaction and collaboration skills. The environment will also serve as a tool for researchers, teachers, parents, and practitioners to investigate problems that children may encounter in specific social contexts and the ways in which those problems may be addressed.

The proposed technology-enhanced learning environment will combine existing technologies in new ways. With the active participation of user groups, we will combine interactive multitouch screens, gesture and gaze tracking, and intelligent agent-based context-sensitive interfaces to create a novel interactive multi-modal environment that can be adapted to the needs of specific individuals, and that can provide new ways of investigating and supporting the development of social skills in children.”

Needless to say, I didn’t get the position. However, I did get to play with creating an interactive interview using Flash in my stubborn attempt to never use Powerpoint (which I have failed in). Anyway, somehow I believed it would fit in the whole idea of using … Continue reading...

SiftGPU (Cg/GLSL/CUDA) for Matlab

Changchang Wu has a beautiful implementation of David Lowe’s scale invariant feature transform (SIFT) inspired by Andrea Vedaldi’s sift++ and Sudipta N Sinha et al’s GPU-SIFT. Adam Chapman has also made a MATLAB mex version which will allow you to pass in the filename of an image and retrieve the SIFT descriptors and keys as well as perform the matching. If that sounds like a lot of people have implemented this algorithm, then check this out.

I had tried using Adam Chapman’s version though, unfortunately, I already had my images loaded into the MATLAB workspace after performing some manipulations and didn’t want to keep writing/reading from disk, thinking that it would be a waste of computation time. I was also processing a lot of images in turn and was running into a lot of crashes, perhaps from continually loading and unloading the library? I haven’t seen anyone complain about this version on the mathworks site, so maybe it is just me.

In finding a way to avoid writing and reading to disk, I did not foresee a problem in the way MATLAB and OpenGL handle their image data. After a brief exchange with Changchang Wu, he led me on … Continue reading...

openFrameworks.info

Roxlu at Apollo Media has setup a nice new website that combines resources and recent projects made with openFrameworks. I’m not sure if this website will be set “against” the openframeworks.cc website or if they will focus on different things. Hopefully it don’t divide the community but foster its growth. In any case, they’ve put a nice blurb about Memory on their website 🙂 In time I imagine the website will expand with more resources for oFw developers and those wanting to learn oFw. Speaking of which, some folk here in Edinburgh are organizing a creative coding workshop in late August tba. Stay tuned!… Continue reading...

CLOSE-UP 2

An event organized by the new Center for Film, Performance, and Media Arts (CFPMA) was held today in Edinburgh University discussing recent topics in… film, performance, and media arts.

It was an interesting group of people that strangely somehow all had much in common. I had the fortune of presenting my research as it relates to DIEM in the place of Tim J. Smith.

The schedule:

Close-Up 2: Schedule for Wednesday 17th June 2009

10am coffee and tech checks (G.11, William Robertson Building)

10.30 Welcome, Annette Davison (Music, ACE and Director, Cfpma), Martine Beugnet (LLC, Convener of Film Studies)

Who is who, where is what? People and resources for which the Cfpma will provide a point of convergence.

11am Individual Presentations (MAX 10 mins each):

Andrew Lawrence (African Studies, SSPS) — Difficult satire under austerity: the films of Sissako and Amoussou

Martine Beugnet (Film, LLC) — “The Wounded Screen”

Richard Williams (Architecture, ACE) — “The Modernist City on Film”

Stephen Cairns (Architecture, ACE) — “Cultures of Legibility: Emergent Urban Landscapes in Southeast Asia”

Simon Frith and Annette Davison (Music, ACE) — “The Role of Cinemas in the History of Live Music”

Mary Fogarty (Music, ACE) — “The … Continue reading...

Protest in Edinburgh


Protest in Edinburgh from pkmital on Vimeo.

16 June 2009, Edinburgh

Allison McInnes, Member of the Scottish Parliament, comes to greet protesters after they have collected over 600 signatures of people in support of the protest against the Iranian election results.… Continue reading...

Memory

I’ve recently finished up a project in collaboration with a Glass Artist, Agelos Papadakis. We built a structure of 25 glass neurons the size of a face and chainded them together in a 3x3x5 meter sculpture. We had 2 cameras hidden in the piece tracking peoples faces and a projector then creating visualizations of the recorded faces resembling something like a cloud of neurons firing in different patterns. We presented it first in Edinburgh at Lauriston Castle’s Glasshouse, and then at the Passing Through exhibit in the James Taylor Gallery in Hackney: http://jamestaylorgallery.co.uk/exhibitions/2009/03/passing-through.html

Image

Image

Image

Image

Image

It’s a bit tricky trying to film the piece since it uses projection onto glass. Sadly I’m left with only a few images that try to portray what went on.

Here’s the code, http://ccrma.stanford.edu/~pkmital/share/Memory.zip It makes use of the openframeworks library so you will need to be familiar with how to setup an XCode project with the openframeworks library if you plan on using it.

The original idea was to use glass balls so that’s why all the code says glassBalls instead of say glassNeurons. If you manage to get it running, press ‘d’ to see the live video input. As it collects faces, it fills up … Continue reading...

Time Goes Backwards

I’m in the middle of an open field littered by cherry trees where I am walking towards a transient sun on the horizon. I’m facing a beautiful girl and her devastating smile is waving me to come closer.

Re-uploaded for your listening pleasure.

Mr. Magoo’s Poop Experiment – Time Goes Backwards.mp3
Continue reading...

Gargoyle vs Tormentor


Collaborating with Agelos Papadakis, he had an idea of creating televisions with distorted perspectives and projecting video clips of faces onto them. The idea of this installation focuses on the reaction of the viewer and the liminal experiences of fear and being watched.


Montage of 9 viewers from pkmital on Vimeo.… Continue reading...

INTERact

If anyone has used Google’s event system, they must know how terrible it is. It’s beyond me why if someone changes a detail such as the time from 7 – 10 p.m. to 6 – 9 p.m., Google then sends out e-mails to all guests saying the “Event is canceled”.

Great, thanks Google.… Continue reading...

((MEMORY)) Testing (more pictures)

Some close ups of the testing:







Artists interpretation by Varun Cursetji:

Continue reading...

Eye movements during video

Part of my research entails investigating ways of visualizing eye-movement data during dynamic images.

Some vids:

And one of President Obama’s inaugural speech:

from VisCogEdinburghContinue reading...

Auto-Rotoscoping

I’ve been working on implementing methods for automagically rotoscoping a video in real-time. There is no semantic knowledge in these videos though the effect is still nice. There are ways to extract the object in the temporal domain, though not in real-time. I think there are some hacks yet to be discovered…


Real-time cartooning on Vimeo.… Continue reading...

((MEMORY)) Installation

Working with Agelos Papadakis, this installation will investigate interactivity, agency, and memory within an installation space. Can an art piece evolve and contain the memory of its participants? Is reaction simply a side-effect of art or *the* effect?

More to come… Exhibit in late April.


((MEMORY)) installation on Vimeo.… Continue reading...

OpenCV with Processing using Eclipse

My students for the Digital Media Studio Project here at the University of Edinburgh have asked me to present a small workshop on using some aspects of the Processing.org environment. I’ve worked up something and thought I could share it online as well. I’ve setup a google code repository with the necessary files. The code simply highlights what you could find throughout the Processing.org discourse and the OpenCV example files though is more thoroughly commented and organized.

A few notes, I really dislike the Processing IDE. Maybe it’s just because I’ve used IDE’s like VS, Netbeans, Eclipse, XCode etc… and I haven’t really played with Processing enough to have a well founded basis in the functions available. I believe going through a few extra steps to setup an IDE like Eclipse makes the task of programming much easier though at the cost of a bulky editor that may not be so easy to setup at first…

Eclipse is an (Integrated Development Environment) IDE for many coding languages, one of which is Java. Some advantages:

  • code completion – automatically see possible choices for all members belonging to a class definition, such as functions and their arguments.
  • javadocs – javadoc is
Continue reading...


Copyright © 2010 Parag K Mital. All rights reserved. Made with Wordpress. RSS