Post-Humanism Archive: Exploring Humanity Through Non-Human Eyes

Raffaele Amietta, Anna Freri, Marco Luraschi

In the digital era, our identity is shaped or even confirmed through an endless stream of images, not only from human hands but also from machines. These images, taken without human intent or intervention, encapsulate moments often overlooked—capturing the essence of life at its most unguarded.

 

Non-human photography offers a unique point of view into our world, free from the human subjective bias. Each image, unchosen and captured at random, presents a genuine portrayal of modern humanity—a sincere reflection of life itself.

 

Through the Post-Humanism Archive, we delve into this uncharted territory, exploring photography devoid of human influence. In this archive lies the most objective portrayal of our existence, serving as an indisputable testament to human existence and life in general.

 

The term “nonhuman photography,” as described in the book “The Creative Power of Nonhuman Photography” by Joanna Zylinska, reshapes our approach to photography. Zylinska challenges traditional human-centric views, urging us to explore the creative potential of imagery captured without direct human intervention. Her work prompts us to consider the role of technology and ethics in shaping our visual culture. Zylinska’s pioneering perspective guides our exploration of nonhuman photography’s transformative impact on contemporary visual expression.

GitHub repository

Close up

Final Output

For the purpose of this installation, we envision the perspective of an external observer absorbing the media we generate from the cameras we deploy to surveil ourselves and our surroundings, ultimately creating the most sincere archive of modern humanity.

 

In this scenario, we contemplate how non-human entities interpret the vast array of imagery we produce. From surveillance footage to candid snapshots, each piece of media captures moments both mundane and extraordinary, offering a glimpse into the essence of contemporary life.

 

The installation consists of an ever-evolving, dense grid of images, projected on a wall located inside a dark space. The images displayed are all photos that were taken by machines without or with minimum human intervention. The grid is constantly moving and updating as the machine capture and analyses more and more images. The invisible process of the machine is also signaled by an immersive soundscape of synthesizer. The sound is also the first feedback that the visitor receives, even before entering the room.

 

The visitor will be able to interact with the installation by deciding the number of images displayed at a time, and if to set the grid to display images or their respective metadata.

 

The goal of the installation is to put the visitor in front of the invisible and overwhelming processes of the algorithms that watch upon us, acting as a reflection of ourselves as human society and the landscapes we move within.

Post Humanism Archive - Case study video

The input

Sourcing nonhuman imagery

To kickstart our project, we started researching datasets, collecting non-human photos sourced from satellite imagery, CCTV footage, and trap cams—motion-activated cameras typically used for wildlife monitoring. From the humbling satellite images to intimate moments of urban environments, each image offered a unique glimpse into life through the lens of the machine.

Creating the dataset

Generating metadata

We utilized Python to extract key information from each photo, including dimensions, filenames, sizes, and indices. This data was organized into a JSON file format, allowing easy integration into our code for efficient processing and utilization in our installation.

import os
import json
from PIL import Image

def get_image_info(image_path):
    # Open the image
    image = Image.open(image_path)
    
    # Get image mode (color mode)
    color_mode = image.mode
    
    # Get image resolution
    resolution = image.size
    
    # Get file size
    file_size = os.path.getsize(image_path)
    
    return color_mode, resolution, file_size

def create_image_json(image_folder):
    image_json_list = []
    
    # Iterate over files in the image folder
    for filename in os.listdir(image_folder):
        image_path = os.path.join(image_folder, filename)
        
        # Check if the file is an image
        if os.path.isfile(image_path) and filename.lower().endswith(('.jpg', '.jpeg', '.png', '.gif')):
            # Get image information
            color_mode, resolution, file_size = get_image_info(image_path)
            
            # Create formatted path string
            formatted_path = f"../assets/{filename}"
            
            # Create JSON object
            image_json = {
                "id": len(image_json_list) + 1,
                "file_name": filename,
                "path": formatted_path,
                "color_mode": color_mode,
                "resolution": resolution,
                "file_size": file_size
            }
            
            image_json_list.append(image_json)
    
    return image_json_list

# Example usage
if __name__ == "__main__":
    # Replace the image folder path with your actual image folder path
    image_folder = "/path/to/your/image/folder"
    image_json_list = create_image_json(image_folder)
    
    # Write the JSON data to a file
    with open("image_info.json", "w") as json_file:
        json.dump(image_json_l

The process

Exploring the grid

In our pursuit of the ideal method to showcase our extensive image library, we experimented with various approaches to animation and technology. We explored techniques using P5.js, vanilla JavaScript, and React.js, each offering unique possibilities for visual presentation. Throughout this process, we prioritized the performance of our application, considering the browser’s capability to efficiently load and manage a vast number of files.

In our journey, we concluded that the most effective method to exhibit our collection of nonhuman imagery is by arranging each photo within a structured grid, reminiscent of the archive aesthetic. We opted to animate the rows and columns of this grid, providing users with an immersive experience as they navigate through our post-humanism archive, adopting the role of observers in this digital landscape.

Visual Outcome

We ended up utilizing a combination of P5.js and vanilla JavaScript. We loaded all images into an array for preloading, ensuring optimal performance and minimal glitches. This approach facilitated smoother transitions and faster rendering. Additionally, we periodically shuffled the array to create a visual sense of overload, immersing users in the abundance of imagery within our archive.

Final visual output

Adding interaction & Generating sound

Exploring through intearction

In our interactive installation, we designed a dual-interface system to engage viewers in a dynamic exploration of the archive. The main visual, projected onto a wall, serves as the primary display, while a second website loaded onto a phone provides users with control over the installation.

 

Through the phone interface, viewers can seamlessly zoom in and out of the grid, adjusting their perspective of the imagery. This enables them to alternate between experiencing an overload of imagery and exploring intricate details. A second feature allows users to trigger a shift in the grid’s display: shaking the phone toggles between showcasing images and revealing their metadata. This interactive functionality is made possible by real-time communication between the two websites via a database.

 

Front view of installation

Close up

Close up

Close up

Front view of installation