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

Wähle deine Plattform

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