aboutsummaryrefslogtreecommitdiff
path: root/content/posts/bad-apple-animated-qr-code.md
blob: 48576d83eeba0dbd16a94d2246cfd29af1501960 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
---
title: "Bad Apple!! But It's An Animated QR Code of Bad Apple!!"
date: 2024-05-15T00:14:48-04:00
description: "Final project for the MIT 6.8301 Computer Vision class"
type: "post"
tags: ["computer-vision", "algorithms", "anime", "kevin", "mit", "epilepsend"]
---


Rejected intro for our final report:

Imagine a scenario where Kevin and Anthony are on an airplane, and Kevin would like to share a PDF of the 6.8301 textbook on his phone with Anthony. But in an unfortunate twist of fate, Kevin has an iPhone and cannot AirDrop the file to Anthony's Android phone, and neither person wants to pay for airplane Wi-Fi. Other data transfer methods like Ethernet or USB drives require additional hardware and for both devices to have the necessary ports. This scenario is not unique, and there are other cases where existing data transfer methods fail, such as in remote locations or during power outages.

So, how about blasting 30 gigantic colorful grids every second on a screen and decoding it with a phone camera? Like a giant colorful animated QR code on steroids?

Shockingly, this works! Our project can even achieve speeds of up to 2 mbps which is comparable to low-quality Wi-Fi!

Here's a demo:

{{< video "/vid/bad-apple-animated-qr-code.mp4" >}}

And here's our [actual final report](/src/6_8301_Project.pdf) (read the appendix) and [code for that video](https://git.unnamed.website/6.8301-project/) and (unrelated) [Bad Apple sung in ancient Egyptian](https://www.bilibili.com/video/BV1YD4y1f71Y/).

It took Kevin and me forever to come up with a name, and I was a huge proponent of "Epilepsend" but we ended up with the much less aggressive "SWANTV". Still, it'll always be Epilepsend in my heart since our project is not graceful like a swan. It's more like screaming at 30 FPS. And while working on this project, I think I got too engrossed and accidentally started saying things like "I can walk at 30 FPS" when I meant to say I can speed-walk quickly. Also, the Epilepsend codes were slighlty headache-inducing at the beginning and I saw them flashing around when I closed my eyes at night, but now I think I've become desensitized to them.