Desert Ant Labs

Eye

BildklassificeringBeta

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.

5,5ms
Per foto
Neural Engine, Mac med Apple M6
41ms
I Chrome
WebGPU, samma Mac
98%
Precision för skärmdumpar
vid tröskeln 0,5; kvitton 100%
48MB
Nedladdning
Core ML; 66 MB LiteRT

Ett foto, hela fotoanalysen, på en Mac med Apple M6.

RuntimeTid
Core ML, Neural Engine5,5ms
LiteRT, GPU (Metal)30ms
LiteRT.js, WebGPU, in Chrome41ms
LiteRT, CPU, 4 threads49ms
LiteRT.js, WebAssembly with threads, in Chrome176ms

Noggrannhet på offentliga testuppsättningar, med samma poängsättningskod för båda byggena

TestuppsättningCore MLLiteRT (CPU)
KonIQ-10k, aesthetic SRCC0,62880,6291
COCO val2017, person AP500,38140,3837
MIT1003, where people look, CC0,71530,7195
CUHK cropping, crop IoU0,82440,8241
WIDER Face val, AP, hard0,68060,6812
CEW, eyes open AUC0,99430,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.best och Eye.similar fungerar 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.
  • parts väljer vad som beräknas: photo, layout, faces och sharpness. 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.

iOS, macOS
Installera
// 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")
Exempel - Swift
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)
Bygg med en prompt
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.
Android
Installera
// build.gradle.kts (Maven Central)
implementation("ai.desertant:eye:4.0.0")
Exempel - Kotlin
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)
}
Bygg med en prompt
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.
Web, Node.js
Installera
npm i @desert-ant-labs/eye @litertjs/core   # browser
npm i @desert-ant-labs/eye                  # Node
Exempel - TypeScript
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 });
Bygg med en prompt
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.

Resurser