Eye
Etichetta ogni foto per tipo e contenuto, dagli screenshot agli scontrini fino a 558 scene, interamente sul dispositivo.

Cataloga e ordina le immagini.
Trova nel rullino gli screenshot, gli scontrini e i selfie, gli scatti in cui qualcuno ha gli occhi chiusi e le foto troppo sensibili da mostrare. Eye etichetta ogni foto sul dispositivo, quindi nessuna immagine viene caricata.
Eye raggruppa gli scatti quasi identici e sceglie quello da tenere in ogni raffica, senza nessuno con gli occhi chiusi e con i volti venuti meglio. Un rullino con quaranta scatti dello stesso momento diventa una sola foto da guardare.
Una foto richiede 5,5 ms sul Neural Engine di un Mac con M6, quindi 10.000 foto richiedono meno di un minuto. In Chrome con WebGPU, una foto richiede 41 ms.
Etichetta una foto in 5,5 ms.
Eye etichetta una foto in 5,5 ms sul Neural Engine di un Mac M6 e in 41 ms con WebGPU in Chrome. Le build Core ML e LiteRT ottengono gli stessi punteggi su sei set di test pubblici.
Una foto, l'analisi completa della foto, su un Mac con Apple M6.
| Runtime | Tempo |
|---|---|
| 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 |
Accuratezza su set di test pubblici, con lo stesso codice di valutazione per entrambe le build
| Set di test | 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 |
Le due build danno le stesse risposte a meno di qualche millesimo su ogni set. La velocità è misurata su un solo Mac con Apple M6, e la build LiteRT non è ancora stata misurata su telefoni Android.
Casi d'uso
Cataloga e ordina le immagini.
Riordinare il rullino
Separa screenshot, scontrini, documenti e lavagne dalle foto scattate dalle persone, così un'app galleria può archiviarli o proporre di eliminarli.
Tenere lo scatto migliore di una raffica
Riunisci gli scatti quasi identici in un unico gruppo e mostra per primo quello da tenere, senza nessuno con gli occhi chiusi. Gli altri si eliminano con un tocco.
Nascondere le foto sensibili
Sfoca le foto esplicite, violente o mediche prima che qualcuno le veda, in un album di famiglia condiviso o in un modulo di caricamento nel browser. Usa la soglia rigorosa per nascondere una foto in automatico.
Cercare le foto in base al contenuto
Trova ogni foto del cane, della spiaggia o di uno scontrino tra 558 scene e i tipi di foto. Funziona in un'app web o in un backend Node, senza API di visione nel cloud.
Ritagliare un'immagine di copertina
Scegli il fotogramma migliore di un video o il ritaglio quadrato o panoramico migliore di una foto, per una miniatura o una scheda di condivisione. Eye rimette anche nel verso giusto le foto girate di lato.
Cosa fa il modello
- Una sola chiamata
analyzerestituisce tag con un livello di confidenza, tre punteggi (estetica, scatto da tenere e copertina) e le persone, gli animali domestici e i volti nella foto. La stessa chiamata trova il ritaglio migliore per qualsiasi formato, una correzione della rotazione e un embedding. - I tag coprono il tipo di foto (screenshot, scontrino, documento, carta d'identità, lavagna e altro), la qualità (nitida, sfocata, bokeh) e le persone (foto di gruppo, ritratto, tutti sorridenti). Altri coprono i motivi per tenere o eliminare, i contenuti sensibili e 558 scene.
- Ogni tag è calibrato in modo che 0,5 sia la soglia consigliata e 0,9 una soglia rigorosa. A 0,5, un tag screenshot è corretto il 98% delle volte, un tag scontrino il 100%, persone il 95% e occhi chiusi il 92%.
- I tag di scena sono corretti l'88% delle volte in mediana. I motivi per tenere o eliminare, come «poco memorabile» o «inquadratura sbagliata», sono i meno affidabili, quindi riservali ai suggerimenti.
- Ogni volto riceve i propri tag: occhi chiusi, sorridente, sguardo in camera o altrove, felice, sorpreso. Per impostazione predefinita Eye analizza fino a 20 volti per foto.
Eye.duplicates,Eye.besteEye.similarlavorano su un'intera libreria: gruppi di quasi duplicati, facoltativamente solo per foto scattate a pochi secondi di distanza, lo scatto da tenere di un insieme e foto ordinate per somiglianza.- Le analisi si salvano nello stesso JSON in Swift, Kotlin e JavaScript, così un'app può archiviarle e filtrarle in seguito senza caricare il modello.
partssceglie cosa calcolare:photo,layout,facesesharpness. Ogni parte richiede una o più esecuzioni del modello, quindi escludi ciò che non ti serve.- 48 MB in Core ML per le piattaforme Apple, sul Neural Engine, e 66 MB in LiteRT per Android, Linux, Windows, Node e il browser. L'SDK scarica il modello al primo utilizzo e lo mette in cache.
- Nel browser, Eye gira sulla GPU tramite WebGPU dove il browser lo supporta, altrimenti sulla CPU tramite WebAssembly.
Per iniziare
Aggiungi classificazione di immagini alla tua app iOS or macOS, Android or web in poche righe di codice. Documentazione di Eye.
// 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: etichettatura e valutazione delle foto on-device. 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: etichettatura e valutazione delle foto on-device.
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: etichettatura e valutazione delle foto on-device. 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.
Specifiche
- Velocità
- 5,5 ms a foto sul Neural Engine (Mac M6); 41 ms con WebGPU in Chrome
- Accuratezza
- Alla soglia di 0,5: screenshot precisi al 98%, scontrini al 100%, scene all'88% in mediana
- Tag
- Tipo di foto, tenere o eliminare, qualità, persone, volti, contenuti sensibili e 558 scene
- Dimensione sul dispositivo
- 48 MB Core ML (Apple); 66 MB LiteRT (Android, Linux, Windows, Node, browser)
- Piattaforme
- iOS 18+, macOS 15+, tvOS 18+, visionOS 2+ (Core ML); Android, Linux, Windows (LiteRT); il browser e Node (LiteRT.js)
Eye è addestrato su foto, quindi i punteggi di illustrazioni, screenshot e immagini molto ritoccate sono meno affidabili. I motivi per tenere o eliminare, come «poco memorabile» o «inquadratura sbagliata», sono i meno affidabili: riservali ai suggerimenti e usa la soglia rigorosa per tutto ciò che è automatico.
L'analisi dei volti descrive un volto e non identifica chi sia la persona.
FAQ
Cos'è Eye?
Etichetta ogni foto per tipo e contenuto, dagli screenshot agli scontrini fino a 558 scene, interamente sul dispositivo.
Eye funziona sul dispositivo?
Sì. Eye funziona sul dispositivo, senza chiamate a un server, quindi i dati restano con l'utente.
Quali piattaforme supporta Eye?
Eye è distribuito come SDK nativo on-device per Swift, Kotlin, JavaScript / TypeScript.
Quanto costa Eye?
Ogni modello è gratuito fino a 100k dispositivi attivi mensili. L'inferenza è illimitata. Contattaci per licenze personalizzate.
Quanto è preciso o veloce Eye?
Eye etichetta una foto in 5,5 ms sul Neural Engine di un Mac M6 e in 41 ms con WebGPU in Chrome. Le build Core ML e LiteRT ottengono gli stessi punteggi su sei set di test pubblici.