Inspiration

Our project was inspired by the work of Hito Steyerl, whose artistic approach blends digital aesthetics with critical theory to examine power structures behind technology and surveillance. We were particularly drawn to exploring the tension between visibility and privacy in our increasingly monitored world. The idea that art could actively resist technological surveillance while still being expressive felt like an important statement about agency in the digital age.

What it does

When a participant stands before the installation, the system captures their facial features and begins to draw a portrait using a robotic pen plotter. As the drawing progresses, the second AI system continuously analyzes the emerging portrait through the lens of facial detection algorithms. The moment the drawing becomes too easily identifiable to machine vision (when the confidence score exceeds a predetermined threshold), the system automatically introduces strategic distortions to specific features.

The resulting artwork is meant to function as both a portrait and an act of resistance against surveillance technology. Visitors would witness the real-time negotiation between representation and obfuscation, observing how the robot alternates between faithful reproduction and deliberate distortion of their features. Each portrait becomes a unique artifact that documents this dynamic process—legible to humans but illegible to machines.

How we built it

Our portrait robot combines multiple technologies in a feedback loop system. Built with Python and OpenCV for image processing, our setup captures the subject's face and converts it to SVG path data inspired by the vSketch library. The robot arm draws using Phospho's Inverse Kinematics library for precise movement control. Simultaneously, a second camera with MediaPipe's face detection model continuously analyzes the emerging portrait, generating a confidence score of machine recognizability. When this score exceeds our thresholds (70-85%), our algorithm automatically injects distortions into high-information facial features crucial for machine recognition but less important for human perception.

Challenges we ran into

Our team encountered several hurdles while implementing the portrait robot. The most pressing challenge was achieving consistent drawing performance from the robot arm, which required precise calibration and constant adjustment. Translating SVG path data into inverse kinematics movements proved exceptionally difficult, as we needed to convert mathematical vector paths into physical robot joint movements. We also struggled with the spatial mapping between 3D physical space and the 2D drawing surface, requiring complex coordinate transformations. Without formal backgrounds in robotics, these mechanical challenges represented our steepest learning curve and limited our ability to fully realize our vision.

Accomplishments that we're proud of

Our proudest moments came from seeing our robot actually move and make marks on paper - as art students without engineering backgrounds, just getting the hardware to respond felt like a huge win! There was something magical about watching even the first rudimentary scratches appear on the page, knowing that our code was controlling this physical machine. We actually discovered and debugged some errors in the Phospho documentation along the way. Data visualization techniques turned out to be super helpful - plotting paths visually helped us understand what was happening and make progress when we got stuck. While inverse kinematics was definitely a steep learning curve, we came away with a new appreciation for math. We might not have created perfect portraits yet, but seeing our vision start to take physical form through technology we had never used before was incredibly satisfying.

What we learned

we need to practice our linear algebra

What's next for seeing machines

For our next steps with Seeing Machines, we're committed to getting this robot drawing properly! We're planning to dive deeper into inverse kinematics equations to make the portraits feel more polished and professional. Once we solve the technical hurdles, we can focus on making the whole experience feel much more seamless and impressive. We'll be experimenting with different distortion techniques that still maintain the artistic quality while confusing those facial recognition algorithms. The goal is to create a finished installation where visitors can really engage with and understand the conversation between human perception and machine vision through these unique portraits. We've learned so much already and we're excited to see this project through.

Built With

Share this project:

Updates