If you check the Milo catalogs page on HuggingFace, you'll notice a few new entries that weren't there before:
tcgplayer-digimon
tcgplayer-fab
tcgplayer-lorcana
tcgplayer-onepiece
tcgplayer-pokemon
tcgplayer-swu
tcgplayer-yugioh
There are also a couple of new Magic-adjacent catalogs, including a TCGplayer-sourced MTG catalog and an experimental Spanish Scryfall catalog.
This is pretty exciting to me, because up until now CollectorVision has really been a Magic: The Gathering card recognizer. The detector / dewarper / embedding pipeline was built around the shape of trading cards generally, but Milo itself was trained on Magic card images. That means the model has learned a lot about things that are useful for recognizing cards -- borders, art boxes, text regions, frames, set symbols, and all sorts of tiny visual details -- but those learned features are still very much rooted in MTG.
So, to be very clear: this is not me announcing polished, production-ready support for all of these games.
This is me saying: "Hey, I built some catalogs. They load. They search. They might work better than expected in some cases. Please try them and tell me what happens."
The nice thing about CollectorVision's catalog system is that the model weights and the reference catalog are separate. So the same Milo embedder can be pointed at a different set of reference embeddings just by changing the catalog key:
import collector_vision as cvg
# Magic: The Gathering, Scryfall-backed catalog
catalog = cvg.Catalog.load("hf://HanClinto/milo/scryfall-mtg")
# Pokemon TCG, TCGplayer-backed catalog
catalog = cvg.Catalog.load("hf://HanClinto/milo/tcgplayer-pokemon")
# Star Wars: Unlimited, TCGplayer-backed catalog
catalog = cvg.Catalog.load("hf://HanClinto/milo/tcgplayer-swu")
After that, the rest of the recognition pipeline is the same: detect / dewarp the card, embed the crop, and search the selected catalog.
There are some important caveats, though.
First, these non-MTG catalogs are highly experimental. I have not trained Milo specifically on Lorcana cards, Flesh and Blood cards, Yu-Gi-Oh! cards, Pokemon cards, Star Wars: Unlimited cards, or any of the other new games. Some of those games have very different visual layouts from Magic, and I expect accuracy to vary a lot depending on the game, the card treatment, the crop quality, and how similar different printings look to each other.
Second, the returned IDs come from the selected catalog's source. The Scryfall MTG catalog returns Scryfall-style identifiers. The TCGplayer catalogs return TCGplayer-style identifiers. That's useful if you're already integrating with TCGplayer data, but it is something to be aware of if your downstream code assumes Scryfall UUIDs.
Third, the Spanish MTG catalog is also experimental. Even though it is still Magic, Milo has not been specifically trained to distinguish English-vs-Spanish printings. For many cards, the art and frame may dominate the embedding, and language-specific text differences may or may not be strong enough to separate otherwise-similar printings reliably.
Still, I'm glad to have these catalogs available now. Even if they are rough, they give people something concrete to test against. Instead of support for other games being an abstract "someday" item, it is now something where someone can install CollectorVision, swap a catalog key, point it at a card, and report back with real results.
If you try any of these new catalogs, I would especially love to hear:
- Which game you tested
- Whether you were scanning live camera frames or clean card crops
- Whether it got the right card but wrong printing / variant
- Whether it failed consistently on certain card layouts
- Whether some games work surprisingly well already
My hope is that these experimental catalogs help show where the current MTG-trained model generalizes well, and where a future multi-game training set would make the biggest difference.
For now, Magic is still the best-supported path. Everything else is very much in the "please kick the tires and tell me what falls off" stage.
But hey -- Lorcana, Flesh & Blood, Yu-Gi-Oh!, Pokemon, Digimon, One Piece, and Star Wars: Unlimited catalogs all exist now.
That's a pretty fun milestone.
If you check the Milo catalogs page on HuggingFace, you'll notice a few new entries that weren't there before:
tcgplayer-digimontcgplayer-fabtcgplayer-lorcanatcgplayer-onepiecetcgplayer-pokemontcgplayer-swutcgplayer-yugiohThere are also a couple of new Magic-adjacent catalogs, including a TCGplayer-sourced MTG catalog and an experimental Spanish Scryfall catalog.
This is pretty exciting to me, because up until now CollectorVision has really been a Magic: The Gathering card recognizer. The detector / dewarper / embedding pipeline was built around the shape of trading cards generally, but Milo itself was trained on Magic card images. That means the model has learned a lot about things that are useful for recognizing cards -- borders, art boxes, text regions, frames, set symbols, and all sorts of tiny visual details -- but those learned features are still very much rooted in MTG.
So, to be very clear: this is not me announcing polished, production-ready support for all of these games.
This is me saying: "Hey, I built some catalogs. They load. They search. They might work better than expected in some cases. Please try them and tell me what happens."
The nice thing about CollectorVision's catalog system is that the model weights and the reference catalog are separate. So the same Milo embedder can be pointed at a different set of reference embeddings just by changing the catalog key:
After that, the rest of the recognition pipeline is the same: detect / dewarp the card, embed the crop, and search the selected catalog.
There are some important caveats, though.
First, these non-MTG catalogs are highly experimental. I have not trained Milo specifically on Lorcana cards, Flesh and Blood cards, Yu-Gi-Oh! cards, Pokemon cards, Star Wars: Unlimited cards, or any of the other new games. Some of those games have very different visual layouts from Magic, and I expect accuracy to vary a lot depending on the game, the card treatment, the crop quality, and how similar different printings look to each other.
Second, the returned IDs come from the selected catalog's source. The Scryfall MTG catalog returns Scryfall-style identifiers. The TCGplayer catalogs return TCGplayer-style identifiers. That's useful if you're already integrating with TCGplayer data, but it is something to be aware of if your downstream code assumes Scryfall UUIDs.
Third, the Spanish MTG catalog is also experimental. Even though it is still Magic, Milo has not been specifically trained to distinguish English-vs-Spanish printings. For many cards, the art and frame may dominate the embedding, and language-specific text differences may or may not be strong enough to separate otherwise-similar printings reliably.
Still, I'm glad to have these catalogs available now. Even if they are rough, they give people something concrete to test against. Instead of support for other games being an abstract "someday" item, it is now something where someone can install CollectorVision, swap a catalog key, point it at a card, and report back with real results.
If you try any of these new catalogs, I would especially love to hear:
My hope is that these experimental catalogs help show where the current MTG-trained model generalizes well, and where a future multi-game training set would make the biggest difference.
For now, Magic is still the best-supported path. Everything else is very much in the "please kick the tires and tell me what falls off" stage.
But hey -- Lorcana, Flesh & Blood, Yu-Gi-Oh!, Pokemon, Digimon, One Piece, and Star Wars: Unlimited catalogs all exist now.
That's a pretty fun milestone.