Author here! Worked on this project generating QR codes with diffusion models and ensuring they actually scan.
Ended up having to manually scan a few thousand generated codes by hand in order to build up a dataset to evaluate fully automated systems against.
We landed on QReader. It was such a good match for a human with an iPhone that we were able to use it to scale up inference -- basically, generate eight codes, each of which has a ~30% chance of scanning, then show the user any that did scan. That gives you a (1-0.3)^8 ~= 5% chance of failure.
PaulHoule · 10h ago
I used to print cards that had an image (say photo or art reproduction on the front) and had a QR code and documentation in the back.
I like to stick the cards to the wall in which case you can't scan the QR code without removing it, so lately I've transitioned to alpha blending the QR code into the image on the front and get results like
I've thought about how to optimize the process in terms of scan reliability vs the image looking good but I also have thought about communicating to people that the QR code is an affordance that is there for them. I think people have a lot of understanding that you can scan a QR code and the alpha blended QR codes are recognizable to most people.
Those diffusion ones though I think might get a reaction from most people that "this is fucked up". People who are enthusiastic about AI images don't recognize that a lot of people have a visceral negative reaction to them or feel they are under assault from trash images. AI image enthusiasts oddly don't seem to be bothered that they'll draw, say, a picture of a pretty girl with three belly buttons, but a lot of people find the errors in those images offputting -- so if a QR code looks melted like a Dali painting people might think "the lights are on and nobody is home" and not think "my phone will scan it just fine".
Also I think it's a mistake to be expecting users to be using an iPhone, there are plenty of people out there with an Android with a crummy camera and off-brand QR reader software so I think it's best to be conservative about images you make.
Ended up having to manually scan a few thousand generated codes by hand in order to build up a dataset to evaluate fully automated systems against.
We landed on QReader. It was such a good match for a human with an iPhone that we were able to use it to scale up inference -- basically, generate eight codes, each of which has a ~30% chance of scanning, then show the user any that did scan. That gives you a (1-0.3)^8 ~= 5% chance of failure.
I like to stick the cards to the wall in which case you can't scan the QR code without removing it, so lately I've transitioned to alpha blending the QR code into the image on the front and get results like
https://mastodon.social/@UP8/114439589867642821
I've thought about how to optimize the process in terms of scan reliability vs the image looking good but I also have thought about communicating to people that the QR code is an affordance that is there for them. I think people have a lot of understanding that you can scan a QR code and the alpha blended QR codes are recognizable to most people.
Those diffusion ones though I think might get a reaction from most people that "this is fucked up". People who are enthusiastic about AI images don't recognize that a lot of people have a visceral negative reaction to them or feel they are under assault from trash images. AI image enthusiasts oddly don't seem to be bothered that they'll draw, say, a picture of a pretty girl with three belly buttons, but a lot of people find the errors in those images offputting -- so if a QR code looks melted like a Dali painting people might think "the lights are on and nobody is home" and not think "my phone will scan it just fine".
Also I think it's a mistake to be expecting users to be using an iPhone, there are plenty of people out there with an Android with a crummy camera and off-brand QR reader software so I think it's best to be conservative about images you make.