Inspiration

This project takes influence from the concept of Multiplicity; an optimistic future for technology where humans and machines work collaboratively towards a brighter future. Rather than using AI to replace human creativity with a believed ‘perfection’ under strict standards, _ Imperfect Posers _ enhancing human play and self expression with the use of computer vision. Pairing the nostalgia of classic photobooths with real time AI pose analysis allows AI to work as a creative partner that evaluates the spontaneity of human movement.

What it does

This project moves through three main steps:

  • Initial posing: Players are shown target poses and are given a 3 second countdown to mimic them on camera.

  • AI judging: Through real time computer vision, the player's body angles are analysed and evaluated to determine pose accuracy.

  • Photostrip studio: Players are able to customize their photostrips to their own satisfaction and export a personalized digital photostrip. Each photostrip is thus unique and bound to the creativity of the players!

How I built it

  • Computer and AI implementation: This project was built using Python, OpenCV, and MediaPipe. MediaPipe Pose estimation tracks key body landmarks such as elbow and shoulder trigonometric angles to evaluate pose accuracy with reference to target poses.

  • Custom UI engine: I built and designed a fully interactive GUI within OpenCV using custom mouse callback listeners, dynamic button state managers (active and inactive mouse hovers), and alpha channel PNG overlays to maximize user experience and immersion. In building the UI from scratch, I was able to implement more stylistic choices that reflect my aesthetic freedom.

  • Hand drawn art: To keep a warm, human, and welcoming human interface, each target photo, UI button, logo, icon, and stickers were hand drawn by me. This allowed for customization that better matched the theme I had planned for this project. While I had initially planned to use stock images, the visual cohesion of hand drawn poses was ultimately better to reinforce the core theme of human creativity.

  • Aspect ratio engine: I wrote custom cropping math (crop_to_aspect_ratio) in order to dynamically crop the camera so photos wouldn't stretch once rearranged from 2x2 grid layouts to custom photostrip stacks.

Challenges I ran into

  • Image distortion:*Horizontal stretching of images when attempting to fit 4:3 webcam captures into custom photostrip formats which were 300 x 170px and 2x2 grid boxes. This issue was fixed by writing custom center cropping math prior to resizing

  • Lenient AI pose scoring:The pose scoring was initially too harsh on the player, resulting in many 0% accuracy plays. The scoring varied also depending on how close a player stands from the camera, resulting in unfair results. Upon changing the landmarks to focus on joint angles rather than pixel positions, the scoring became more fun and fair.

  • PNG Alpha blending:OpenCV did not render my PNGs cleanly, leaving an uneven outline of white showing. To mitigate this, a custom pixel masking function was created to handle alpha channels smoothly.

Accomplishments that I'm proud of

I am proud of maintaining the visual cohesion of human made art throughout my entire project. Although hand drawing every UI element and target references required significantly more time than sourcing stock images online, it was beneficial to reinforcing the concept of human-machine collaboration. I am additionally proud of the end to end user experience I had built, allowing players to seamlessly move from the initial start screen to live camera gameplay to interactive photostrip studio. I enjoyed designing my info page in Canva using a ‘digital decay’ editing style. I feel that this style served well as a visual metaphor for blending human identity with technological evolution.

What I learned

Building this project, I was able to deepen my understanding of vector math, trigonometric angle calculations between body landmarks, and matrix transformations in NumPy and OpenCV. I also gained memorable experience designing user friendly interfaces. This project ultimately taught me how to connect raw technological capability with immersive user experience making a piece of art that exists only as a balance between human expression and computer intelligence.

What's next for Imperfect Posers

Further development for Imperfect Posers would expand on human-to-human interaction as well as connection with the physical environment. Co-op Mode would allow multiple users to play together. This could either be done through a shared webcam or across remote distances. Co-op mode would foster a broader sense of community built around the game. Additionally, integrating a physical thermal printer would allow players to keep a physical copy of their photostrips, elevating the user experience beyond the digital screen and towards tangible hardware.

Built With

  • ai
  • algorithmic-scoring
  • artificial-intelligence
  • body-tracking
  • computer-vision
  • creative-tech
  • cv
  • desktop-application
  • game
  • game-development
  • human-computer-interaction
  • image-processing
  • interactive-media
  • machine-learning
  • mediapipe
  • motion-tracking
  • numpy
  • opencv
  • photo-booth
  • pose-estimation
  • python
  • real-time-processing
  • webcam-app
Share this project:

Updates

Submission history