Eine Einladung an meine Kolleginnen und Kollegen bei DATEV
Gesichtserkennung. Für Magic-Karten.
CardVision identifiziert Magic-Karten über die Handykamera – nicht nur den Namen, sondern die exakte Auflage aus 98.421 Printings. Die Erkennung läuft vollständig auf dem Gerät. Ich suche Leute, die das Ding kaputt kriegen.
ResNet-50 + ArcFace, on-deviceBrutal schnell, 50+ Karten pro Sekunde
iPhone: Installation über TestFlight. Android: APK direkt installieren (Installation aus unbekannter Quelle einmalig erlauben).
Kurz zur Einordnung: CardVision ist ein privates Freizeitprojekt und steht in keiner Verbindung zur DATEV eG. Die Einladung richtet sich persönlich an Kolleginnen und Kollegen – bitte nicht öffentlich weiterverbreiten. Magic: The Gathering ist eine Marke von Wizards of the Coast; dieses Projekt ist nicht mit Wizards of the Coast verbunden.
Alpha-Stand: Die Erkennung sitzt, die Kanten noch nicht überall. Am liebsten sind mir Bug-Reports und Fotos von Karten, bei denen es danebengeht.
So läuft es in echt
↳Echte Karten. Originalaufnahme aus der App.
Wie die Karte zu ihrer Auflage kommt.
Detektor · Embedder · Galerie
Billiger Recall, teure Precision.
Ein YOLO26n-pose-Detektor liefert vier Eckpunkte, daraus wird die Karte auf ein 488 × 680 Raster entzerrt. Hashing rankt alle 59.007 Artworks, ORB + RANSAC verifiziert nur die besten acht – 3,1 ms. OCR läuft ausschließlich bei Zweifel. Messlauf der Pipeline über 400 Fälle (Desktop-Harness): 18 ms Median, 24 ms p95.
Ein Gesichtserkenner, der Karten ansieht.
Der Embedder ist ein selbst trainierter ResNet-50 mit ArcFace-Margin-Head – dieselbe Verlustfunktion, mit der Gesichtserkennung arbeitet, nur mit einer Klasse pro Artwork statt pro Person. Trainiert wurde auf synthetischen Frames: Folienglanz, Sleeves, Abnutzung, Verdeckung, Schummerlicht.
Neue Sets ohne Retraining.
Wie bei Gesichtern steckt die Identität in der Galerie, nicht in den Gewichten: Ein neues Set kommt als Vektor dazu, das Netz bleibt unangetastet. Per whitened PCA in den letzten Gemm gefaltet und auf fp16 geschrumpft – 98 MB auf 48 MB, 512 auf 192 Dimensionen, bei minimal breiteren Margins.
Im EinsatzYOLO26n-poseResNet-50 / ArcFaceORB + RANSACCoreMLLiteRTSwiftKotlin