Eye
Taggen Sie jedes Foto nach Art und Inhalt, von Screenshots und Belegen bis zu 558 Szenen, komplett auf dem Gerät.

Bilder taggen und ranken.
Finden Sie in der Kamerarolle die Screenshots, Belege und Selfies, die Aufnahmen, auf denen jemand die Augen geschlossen hat, und die Fotos, die zu sensibel sind, um sie zu zeigen. Eye taggt jedes Foto auf dem Gerät, es wird also kein Bild hochgeladen.
Eye gruppiert fast identische Aufnahmen und wählt aus jeder Serie das Bild, das bleibt: alle Augen offen, die besten Gesichter. Aus vierzig Aufnahmen desselben Moments in der Kamerarolle wird ein einziges Foto zum Ansehen.
Ein Foto dauert 5,5 ms auf der Neural Engine eines Mac mit M6, 10.000 Fotos also weniger als eine Minute. In Chrome mit WebGPU dauert ein Foto 41 ms.
Ein Foto in 5,5 ms getaggt.
Eye taggt ein Foto in 5,5 ms auf der Neural Engine eines M6-Mac und in 41 ms mit WebGPU in Chrome. Die Builds für Core ML und LiteRT erzielen bei sechs öffentlichen Testdatensätzen dieselben Werte.
Ein Foto, die vollständige Fotoanalyse, auf einem Mac mit Apple M6.
| Laufzeitumgebung | Zeit |
|---|---|
| Core ML, Neural Engine | 5,5 ms |
| LiteRT, GPU (Metal) | 30 ms |
| LiteRT.js, WebGPU, in Chrome | 41 ms |
| LiteRT, CPU, 4 threads | 49 ms |
| LiteRT.js, WebAssembly with threads, in Chrome | 176 ms |
Genauigkeit bei öffentlichen Testdatensätzen, mit demselben Bewertungscode für beide Builds
| Testdatensatz | Core ML | LiteRT (CPU) |
|---|---|---|
| KonIQ-10k, aesthetic SRCC | 0,6288 | 0,6291 |
| COCO val2017, person AP50 | 0,3814 | 0,3837 |
| MIT1003, where people look, CC | 0,7153 | 0,7195 |
| CUHK cropping, crop IoU | 0,8244 | 0,8241 |
| WIDER Face val, AP, hard | 0,6806 | 0,6812 |
| CEW, eyes open AUC | 0,9943 | 0,9945 |
Beide Builds liefern bei jedem Datensatz bis auf wenige Tausendstel dieselben Antworten. Gemessen wurde die Geschwindigkeit auf einem Mac mit Apple M6, der LiteRT-Build auf Android-Smartphones noch nicht.
Anwendungsfälle
Bilder taggen und ranken.
Die Kamerarolle sortieren
Trennen Sie Screenshots, Belege, Dokumente und Whiteboards von den Fotos, die Menschen selbst aufgenommen haben, damit eine Galerie-App sie ablegen oder das Aufräumen anbieten kann.
Das Beste aus einer Serie behalten
Fassen Sie fast identische Aufnahmen zu einer Gruppe zusammen und zeigen Sie das beste Bild zuerst, auf dem niemand die Augen geschlossen hat. Der Rest verschwindet mit einem Tippen.
Sensible Fotos ausblenden
Machen Sie explizite, gewalttätige oder medizinische Fotos unscharf, bevor jemand sie sieht, in einem geteilten Familienalbum oder einem Upload-Formular im Browser. Mit dem strengen Schwellenwert blenden Sie ein Foto automatisch aus.
Fotos nach Inhalt durchsuchen
Finden Sie jedes Foto vom Hund, vom Strand oder von einem Beleg, über 558 Szenen und die Fototypen hinweg. Das funktioniert in einer Web-App oder einem Node-Backend, ohne Cloud-Vision-API.
Ein Titelbild zuschneiden
Wählen Sie den besten Frame eines Videos oder den besten quadratischen oder Breitbild-Ausschnitt eines Fotos für ein Thumbnail oder eine Vorschau beim Teilen. Eye dreht außerdem seitlich liegende Fotos richtig herum.
Was das Modell macht
- Ein
analyze-Aufruf liefert Tags mit Konfidenz, drei Scores (Ästhetik, Behaltenswert und Titelbild-Eignung) sowie die Personen, Haustiere und Gesichter im Foto. Derselbe Aufruf findet den besten Zuschnitt für jedes Seitenverhältnis, eine Rotationskorrektur und ein Embedding. - Es gibt Tags für den Fototyp (Screenshot, Beleg, Dokument, Ausweis, Whiteboard und mehr), die Qualität (scharf, unscharf, Bokeh) und Personen (Gruppenfoto, Porträt, alle lächeln). Weitere Tags erfassen Gründe zum Behalten oder Löschen, sensible Inhalte und 558 Szenen.
- Alle Tags sind so kalibriert, dass 0,5 der empfohlene Schwellenwert ist und 0,9 ein strenger. Bei 0,5 liegt ein Screenshot-Tag in 98 % der Fälle richtig, ein Beleg-Tag in 100 %, Personen in 95 % und geschlossene Augen in 92 %.
- Szenen-Tags liegen im Median in 88 % der Fälle richtig. Die Gründe zum Behalten oder Löschen, etwa „belanglos“ oder „schlechter Bildausschnitt“, sind am wenigsten zuverlässig, nutzen Sie sie also für Vorschläge.
- Jedes Gesicht bekommt eigene Tags: Augen geschlossen, lächelnd, Blick in die Kamera oder zur Seite, fröhlich, überrascht. Eye analysiert standardmäßig bis zu 20 Gesichter pro Foto.
Eye.duplicates,Eye.bestundEye.similararbeiten über eine ganze Mediathek: Gruppen fast identischer Fotos, auf Wunsch nur für Fotos, die Sekunden auseinanderliegen, das beste Bild einer Auswahl und Fotos nach Ähnlichkeit sortiert.- Analysen werden in Swift, Kotlin und JavaScript als dasselbe JSON gespeichert, sodass eine App sie ablegen und später filtern kann, ohne das Modell zu laden.
partslegt fest, was berechnet wird:photo,layout,facesundsharpness. Jeder Teil braucht einen oder mehrere Modelldurchläufe, lassen Sie also weg, was Sie nicht brauchen.- 48 MB als Core ML für Apple-Plattformen, auf der Neural Engine, und 66 MB als LiteRT für Android, Linux, Windows, Node und den Browser. Das SDK lädt das Modell bei der ersten Nutzung herunter und speichert es im Cache.
- Im Browser läuft Eye über WebGPU auf der GPU, wenn der Browser es unterstützt, und sonst über WebAssembly auf der CPU.
Erste Schritte
Fügen Sie bildklassifizierung mit wenigen Zeilen Code zu Ihrer iOS or macOS, Android or web-App hinzu. Eye Docs.
// Swift Package Manager
.package(url: "https://github.com/Desert-Ant-Labs/desert-ant-core.git", from: "4.0.0")
// target dependency
.product(name: "Eye", package: "desert-ant-core")
import Eye
let eye = Eye()
let photo = try await eye.analyze(contentsOf: photoURL)
if photo.has(.screenshot) || photo.has(.receipt) { archive(photo) }
if photo.has(.sensitive, .strict) { hide(photo) }
photo.scores?.aesthetic // 0.81: better than 81% of photos
let keeper = Eye.best(of: burst)
Add Eye from Desert Ant Labs to this Swift project (iOS, macOS). What it does: Foto-Tagging und -Bewertung auf dem Gerät. SDK: Swift (iOS, macOS) Repo: https://github.com/Desert-Ant-Labs/desert-ant-core#readme // Swift Package Manager .package(url: "https://github.com/Desert-Ant-Labs/desert-ant-core.git", from: "4.0.0") // target dependency .product(name: "Eye", package: "desert-ant-core") Reference: - Model page: https://desertant.com/models/eye/ - Full catalog and other models: https://desertant.com/llms.txt Add the SDK, then follow its README for the exact API and current version. Do not invent API names or method signatures; confirm them against the README.
// build.gradle.kts (Maven Central)
implementation("ai.desertant:eye:4.0.0")
import ai.desertant.eye.Eye
import ai.desertant.eye.Tags
Eye(context).use { eye ->
val photo = eye.analyze(bitmap)
if (photo.has(Tags.DOG) && !photo.has(Tags.BLURRY)) keep(photo)
val groups = Eye.duplicates(library)
}
Add Eye from Desert Ant Labs to this Kotlin project (Android).
What it does: Foto-Tagging und -Bewertung auf dem Gerät.
SDK:
Kotlin (Android)
Repo: https://github.com/Desert-Ant-Labs/desert-ant-core#readme
// build.gradle.kts (Maven Central)
implementation("ai.desertant:eye:4.0.0")
Reference:
- Model page: https://desertant.com/models/eye/
- Full catalog and other models: https://desertant.com/llms.txt
Add the SDK, then follow its README for the exact API and current version. Do not invent API names or method signatures; confirm them against the README.
npm i @desert-ant-labs/eye @litertjs/core # browser
npm i @desert-ant-labs/eye # Node
import { Eye, Tag } from "@desert-ant-labs/eye";
const eye = await Eye.load();
const photo = await eye.analyze(image);
if (photo.has(Tag.dog) && !photo.has(Tag.blurry)) keep(photo);
const groups = Eye.duplicates(library, { dates });
Add Eye from Desert Ant Labs to this JavaScript / TypeScript project (Web, Node.js). What it does: Foto-Tagging und -Bewertung auf dem Gerät. SDK: JavaScript / TypeScript (Web, Node.js) Repo: https://github.com/Desert-Ant-Labs/desert-ant-core#readme npm i @desert-ant-labs/eye @litertjs/core # browser npm i @desert-ant-labs/eye # Node Reference: - Model page: https://desertant.com/models/eye/ - Full catalog and other models: https://desertant.com/llms.txt Add the SDK, then follow its README for the exact API and current version. Do not invent API names or method signatures; confirm them against the README.
Technische Daten
- Geschwindigkeit
- 5,5 ms pro Foto auf der Neural Engine (M6-Mac); 41 ms mit WebGPU in Chrome
- Genauigkeit
- Bei Schwellenwert 0,5: Screenshots mit 98 % Präzision, Belege 100 %, Szenen 88 % im Median
- Tags
- Fototyp, Behalten oder Löschen, Qualität, Personen, Gesichter, sensible Inhalte und 558 Szenen
- Größe auf dem Gerät
- 48 MB Core ML (Apple); 66 MB LiteRT (Android, Linux, Windows, Node, Browser)
- Plattformen
- iOS 18+, macOS 15+, tvOS 18+, visionOS 2+ (Core ML); Android, Linux, Windows (LiteRT); Browser und Node (LiteRT.js)
Eye ist auf Fotos trainiert, daher sind die Bewertungen für Illustrationen, Screenshots und stark bearbeitete Bilder weniger zuverlässig. Die Gründe zum Behalten oder Löschen, etwa „belanglos“ oder „schlechter Bildausschnitt“, sind am wenigsten zuverlässig: Nutzen Sie sie für Vorschläge und den strengen Schwellenwert für alles, was automatisch passiert.
Die Gesichtsanalyse beschreibt ein Gesicht und erkennt nicht, wer jemand ist.
FAQ
Was ist Eye?
Taggen Sie jedes Foto nach Art und Inhalt, von Screenshots und Belegen bis zu 558 Szenen, komplett auf dem Gerät.
Läuft Eye auf dem Gerät?
Ja. Eye läuft auf dem Gerät, ohne Serveraufruf, sodass die Daten beim Nutzer bleiben.
Welche Plattformen unterstützt Eye?
Eye wird als natives On-Device-SDK für Swift, Kotlin, JavaScript / TypeScript ausgeliefert.
Was kostet Eye?
Jedes Modell ist kostenlos für bis zu 100k monatlich aktive Geräte. Die Inferenz ist unbegrenzt. Kontaktieren Sie uns für individuelle Lizenzen.
Wie genau oder schnell ist Eye?
Eye taggt ein Foto in 5,5 ms auf der Neural Engine eines M6-Mac und in 41 ms mit WebGPU in Chrome. Die Builds für Core ML und LiteRT erzielen bei sechs öffentlichen Testdatensätzen dieselben Werte.