

Up to now, the software performing the dark art of card recognition for our PhyzBatch-9000 has been based on a technology known as “image hash comparison”. While incredibly fast-acting, and generally very accurate, image hash comparison has its limitations. To better understand these limitations, let’s first consider how digital image comparison works. One method is to do direct, pixel-by-pixel comparison between two images, but this is horrendously slow and inefficient. Plus, if one image is cropped or changed in some subtle way, a pixel-by-pixel comparison will fail, even if the images look identical to our eyes.
So, how does one speedily compare images whilst simultaneously accommodating subtle differences in those images? With image hashing! Take, for example, the image of the woman shown below left [1]. To change this image from a large file-size object (which takes a lot of computing power to read and manipulate) into something lightweight and easy to work with, we “hash” the original image into a grayscale bunch of blocks which roughly approximate the original image (shown below right). This grayscale, blocky image can then be converted into a string (a sequence of alphanumeric characters) which represents the image. How is this helpful? Well, strings are A LOT faster for a computer to work with than a raw image file.

OK, so image hashing is fast and amazing – our problems are solved, let’s all go home! Well, not quite. Because we are using a blocky, grayscale representation of the original image, we lose a lot of detail. When it comes to comparing trading cards, this usually doesn’t matter, but it CAN matter if the differences between two cards are very subtle. Some cases in which image hashing will not be able to accurately distinguish between two cards are:
(1) When a card is reprinted and there is only a small graphical difference between the cards, such as cards from “The List” in Magic: The Gathering

(2) when cards have a very similar layout, such as with Pokémon energy cards

(3) when cards are uniformly light or dark

(4) and for no apparent reason

Enter optical character recognition, or OCR! While by no means a new technology (OCR has existed in various forms since the mid-1950s) [2], it’s application in our card sorting robots is very new for us. As the name suggests, OCR translates text from a digital image into actual character strings that can be read and manipulated in a computer program. This gives us a whole new means by which to identify cards, as we can now verify the name of the card, along with a host of other computer-readable texts which are included on most trading cards. For now, we are using this technology to verify card names along with the collector numbers and set code information which is available on Magic cards (from Magic 2015 Core Set onward).
Once we have ironed out some of the initial kinks, we will be adding a host of new features, such as language detection, premium (foil) determination, differentiation between cards from “The List”, and others! We are continuously making improvements to our software, and we are excited to continue finding and implementing new ways of making our machines more useful for our customers ☺️