Routine Difference (035)

Routine Difference is a video describing change in Times Square over the course of eight hours on Monday, February 5th.

Consecutive frames from the video feed were differenced and animated to represent the change throughout the day. Differencing removes stationary elements, like architecture, while people, billboards, and shadows, are featured prominently. As each frame replaces the previous, a faint grid of past differences lingers to create a transitional in-between space.

When people linger, their figure is reduced to only their small movements. Similarly, as the day progresses, the movement of different figures blurs together into an ambiguous mass.

Technicals

The project cycles through 1,000 images from the Times Square camera feed. Frames were captured every 300 seconds using a simple appleScript.

Pixels of each frame are evaluated against the preceding frame. If the cumulative difference of red, green, and blue channels is greater than a threshold, the corresponding pixel from the frame is added to an empty array. If the difference is less than the threshold, a placeholder value is added instead.

To eliminate noise and negligible areas, a process similar to edge detection is executed on the array. First, the array is divided into sub-arrays. Within each sub-array, the number of placeholder values is counted. If placeholder values are found, part of the sub-array is replaced with white pixels, while the remaining cells act as a “ghost” of the original frame. If placeholder values aren’t found, pixels from the originating frame are used.

The video uses 1,000 frames, so a small python script was created to read the folder directory and generate JSON objects for each frame so that they could easily be loaded in javascript.

Next Steps
  • Find a more efficient method to call the frames.
  • Explore different frame rates for the video.
  • Compare the transitional in-between spaces of the “ghosted grid” to A Different Similar Center (030) and Flat Incline (027).