Eye
Tagga varje foto efter vad det är och vad det visar, från skärmdumpar och kvitton till 558 scener, helt på enheten.

Tagga och rangordna bilder.
Hitta skärmdumpar, kvitton och selfies i kamerarullen, bilderna där någon blundar och fotona som är för känsliga att visa. Eye taggar varje foto på enheten, så att ingen bild laddas upp.
Eye grupperar nästan identiska bilder och väljer ut den som är värd att behålla ur varje bildserie: den där ingen blundar och ansiktena är som bäst. Fyrtio tagningar av samma ögonblick blir ett enda foto att titta på.
Ett foto tar 5,5 ms på Neural Engine i en Mac med M6, så 10 000 foton tar under en minut. I Chrome med WebGPU tar ett foto 41 ms.
Tagga ett foto på 5,5 ms.
Eye taggar ett foto på 5,5 ms på Neural Engine i en Mac med M6, och på 41 ms med WebGPU i Chrome. Core ML- och LiteRT-byggena får samma resultat på sex offentliga testuppsättningar.
Ett foto, hela fotoanalysen, på en Mac med Apple M6.
| Runtime | Tid |
|---|---|
| Core ML, Neural Engine | 5,5ms |
| LiteRT, GPU (Metal) | 30ms |
| LiteRT.js, WebGPU, in Chrome | 41ms |
| LiteRT, CPU, 4 threads | 49ms |
| LiteRT.js, WebAssembly with threads, in Chrome | 176ms |
Noggrannhet på offentliga testuppsättningar, med samma poängsättningskod för båda byggena
| Testuppsättning | 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 |
Båda byggena ger samma svar inom några tusendelar på varje uppsättning. Hastigheten är uppmätt på en Mac med Apple M6, och LiteRT-bygget är ännu inte uppmätt på Android-telefoner.
Användningsfall
Tagga och rangordna bilder.
Sortera kamerarullen
Skilj skärmdumpar, kvitton, dokument och whiteboards från fotona som folk själva har tagit, så att en galleriapp kan sortera undan dem eller erbjuda att rensa bort dem.
Behåll bästa bilden ur en bildserie
Samla nästan identiska bilder i en grupp och visa den bästa först, där ingen blundar. Resten kan tas bort med ett tryck.
Dölj känsliga foton
Gör explicita, våldsamma eller medicinska foton suddiga innan någon ser dem, i ett delat familjealbum eller ett uppladdningsformulär i webbläsaren. Använd den strikta tröskeln för att dölja ett foto automatiskt.
Sök bland foton efter innehåll
Hitta alla foton på hunden, stranden eller ett kvitto, med 558 scener och alla fototyper att söka på. Det fungerar i en webbapp eller en Node-backend, utan något moln-API för bildanalys.
Beskär en omslagsbild
Välj den bästa bildrutan i en video, eller den bästa kvadratiska eller breda beskärningen av ett foto, till en miniatyrbild eller en delningsbild. Eye vänder också rätt på foton som ligger på sidan.
Vad modellen gör
- Ett enda
analyze-anrop ger taggar med konfidens, tre poäng (estetik, värd att behålla och omslag) samt personerna, husdjuren och ansiktena i fotot. Samma anrop hittar den bästa beskärningen för valfritt bildförhållande, en rotationskorrigering och en inbäddning. - Taggarna täcker fototyp (skärmdump, kvitto, dokument, id-kort, whiteboard med mera), kvalitet (skarp, suddig, bokeh) och personer (gruppbild, porträtt, alla ler). Andra täcker skäl att behålla eller radera, känsligt innehåll och 558 scener.
- Varje tagg är kalibrerad så att 0,5 är den rekommenderade tröskeln och 0,9 en strikt tröskel. Vid 0,5 stämmer en skärmdumpstagg i 98% av fallen, en kvittotagg i 100%, personer i 95% och slutna ögon i 92%.
- Scentaggarna stämmer i 88% av fallen, räknat som median. Skälen att behålla eller radera, som intetsägande eller dåligt bildutsnitt, är minst tillförlitliga, så använd dem för förslag.
- Varje ansikte får egna taggar: slutna ögon, ler, tittar in i kameran eller bort, glad, förvånad. Eye analyserar som standard upp till 20 ansikten per foto.
Eye.duplicates,Eye.bestochEye.similarfungerar på ett helt bibliotek: grupper av nästan identiska bilder, om du vill bara för foton tagna med några sekunders mellanrum, den bästa bilden i en uppsättning och foton rangordnade efter likhet.- Analyserna sparas som samma JSON i Swift, Kotlin och JavaScript, så att en app kan lagra dem och filtrera senare utan att ladda modellen.
partsväljer vad som beräknas:photo,layout,facesochsharpness. Varje del är en eller flera modellkörningar, så utelämna det du inte behöver.- 48 MB som Core ML för Apple-plattformar, på Neural Engine, och 66 MB som LiteRT för Android, Linux, Windows, Node och webbläsaren. SDK:n laddar ner modellen första gången den används och cachar den.
- I webbläsaren körs Eye på GPU:n via WebGPU där webbläsaren stöder det, och annars på CPU:n via WebAssembly.
Kom igång
Lägg till bildklassificering i din iOS or macOS, Android or web-app med några rader kod. Eye-dokumentation.
// 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: Taggning och poängsättning av foton på enheten. 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: Taggning och poängsättning av foton på enheten.
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: Taggning och poängsättning av foton på enheten. 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.
Specifikationer
- Hastighet
- 5,5 ms per foto på Neural Engine (Mac med M6); 41 ms med WebGPU i Chrome
- Noggrannhet
- Vid tröskeln 0,5: precision 98% för skärmdumpar och 100% för kvitton; scener 88% i median
- Taggar
- Fototyp, behålla eller radera, kvalitet, personer, ansikten, känsligt innehåll och 558 scener
- Storlek på enheten
- 48 MB Core ML (Apple) och 66 MB LiteRT (Android, Linux, Windows, Node, webbläsaren)
- Plattformar
- iOS 18+, macOS 15+, tvOS 18+, visionOS 2+ (Core ML); Android, Linux och Windows (LiteRT); webbläsaren och Node (LiteRT.js)
Eye är tränad på foton, så poängen för illustrationer, skärmdumpar och kraftigt redigerade bilder är mindre tillförlitliga. Skälen att behålla eller radera, som intetsägande eller dåligt bildutsnitt, är minst tillförlitliga, så använd dem för förslag och den strikta tröskeln för allt som sker automatiskt.
Ansiktsanalysen beskriver ett ansikte och identifierar inte vem någon är.
Vanliga frågor
Vad är Eye?
Tagga varje foto efter vad det är och vad det visar, från skärmdumpar och kvitton till 558 scener, helt på enheten.
Körs Eye lokalt på enheten?
Ja. Eye körs på enheten, utan något serveranrop, så att data stannar hos användaren.
Vilka plattformar stöder Eye?
Eye levereras som en nativ SDK på enheten för Swift, Kotlin, JavaScript / TypeScript.
Vad kostar Eye?
Varje modell är gratis upp till 100k månadsaktiva enheter. Inferensen är obegränsad. Kontakta oss för anpassade licenser.
Hur träffsäker eller snabb är Eye?
Eye taggar ett foto på 5,5 ms på Neural Engine i en Mac med M6, och på 41 ms med WebGPU i Chrome. Core ML- och LiteRT-byggena får samma resultat på sex offentliga testuppsättningar.