Desert Ant Labs

Eye

Classificazione di immaginiBeta

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.

5,5 ms
Per foto
Neural Engine, Mac con Apple M6
41 ms
In Chrome
WebGPU, stesso Mac
98%
Precisione sugli screenshot
alla soglia di 0,5; scontrini 100%
48 MB
Download
Core ML; 66 MB LiteRT

Una foto, l'analisi completa della foto, su un Mac con Apple M6.

RuntimeTempo
Core ML, Neural Engine5,5 ms
LiteRT, GPU (Metal)30 ms
LiteRT.js, WebGPU, in Chrome41 ms
LiteRT, CPU, 4 threads49 ms
LiteRT.js, WebAssembly with threads, in Chrome176 ms

Accuratezza su set di test pubblici, con lo stesso codice di valutazione per entrambe le build

Set di testCore 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

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 analyze restituisce 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.best e Eye.similar lavorano 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.
  • parts sceglie cosa calcolare: photo, layout, faces e sharpness. 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.

iOS, macOS
Installazione
// 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")
Esempio - 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)
Costruisci con un prompt
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.
Android
Installazione
// build.gradle.kts (Maven Central)
implementation("ai.desertant:eye:4.0.0")
Esempio - 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)
}
Costruisci con un prompt
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.
Web, Node.js
Installazione
npm i @desert-ant-labs/eye @litertjs/core   # browser
npm i @desert-ant-labs/eye                  # Node
Esempio - 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 });
Costruisci con un prompt
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.

Risorse