Desert Ant Labs

Eye

Classificação de imagensBeta

Marque cada foto pelo que ela é e pelo que aparece nela, de capturas de tela e comprovantes a 558 cenas, inteiramente no dispositivo.

Marque e classifique imagens.

Encontre as capturas de tela, os comprovantes e as selfies de um rolo da câmera, as fotos em que alguém saiu de olhos fechados e as sensíveis demais para mostrar. O Eye marca cada foto no dispositivo, então nenhuma imagem é enviada.

O Eye agrupa as fotos quase idênticas e escolhe a que fica em cada rajada, sem ninguém de olhos fechados e com os melhores rostos. Um rolo da câmera com quarenta cliques do mesmo momento vira uma foto só para ver.

Uma foto leva 5,5 ms no Neural Engine de um Mac com M6, então 10.000 fotos levam menos de um minuto. No Chrome com WebGPU, uma foto leva 41 ms.

Marca uma foto em 5,5 ms.

O Eye marca uma foto em 5,5 ms no Neural Engine de um Mac com M6, e em 41 ms com WebGPU no Chrome. As versões Core ML e LiteRT têm as mesmas notas em seis conjuntos de teste públicos.

5,5 ms
Por foto
Neural Engine, Mac com Apple M6
41 ms
No Chrome
WebGPU, o mesmo Mac
98%
Precisão em capturas de tela
no limiar de 0,5; comprovantes 100%
48 MB
Download
Core ML; 66 MB em LiteRT

Uma foto, com a análise completa, em um Mac com 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

Acurácia em conjuntos de teste públicos, com o mesmo código de pontuação para as duas versões

Conjunto de testeCore 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

As duas versões dão as mesmas respostas, com diferença de poucos milésimos, em todos os conjuntos. A velocidade foi medida em um Mac com Apple M6, e a versão LiteRT ainda não foi medida em celulares Android.

Casos de uso

Marque e classifique imagens.

Organize o rolo da câmera

Separe capturas de tela, comprovantes, documentos e quadros brancos das fotos que as pessoas tiraram, para que um app de galeria os arquive ou ofereça apagá-los.

Fique com a melhor da rajada

Junte as fotos quase idênticas em um grupo e mostre primeiro a que fica, sem ninguém de olhos fechados. O resto sai com um toque.

Esconda fotos sensíveis

Desfoque fotos explícitas, violentas ou médicas antes que alguém as veja, em um álbum de família compartilhado ou em um formulário de upload no navegador. Use o limiar rigoroso para esconder uma foto automaticamente.

Busque fotos pelo que aparece nelas

Encontre todas as fotos do cachorro, da praia ou de um comprovante entre 558 cenas e os tipos de foto. Funciona em um app web ou em um backend Node, sem API de visão na nuvem.

Recorte uma imagem de capa

Escolha o melhor quadro de um vídeo ou o melhor recorte quadrado ou widescreen de uma foto para um thumbnail ou um card de compartilhamento. O Eye também endireita as fotos que ficaram de lado.

O que o modelo faz

  • Uma chamada a analyze retorna tags com confiança, três notas (estética, de escolha e de capa) e as pessoas, os pets e os rostos da foto. A mesma chamada encontra o melhor recorte para qualquer proporção, uma correção de rotação e um embedding.
  • As tags cobrem o tipo de foto (captura de tela, comprovante, documento, documento de identidade, quadro branco e outros), a qualidade (nítida, borrada, bokeh) e as pessoas (foto em grupo, retrato, todos sorrindo). Outras cobrem motivos para guardar ou apagar, conteúdo sensível e 558 cenas.
  • Cada tag é calibrada para que 0,5 seja o limiar recomendado e 0,9 um limiar rigoroso. Em 0,5, a tag de captura de tela acerta 98% das vezes, a de comprovante 100%, a de pessoas 95% e a de olhos fechados 92%.
  • As tags de cena acertam 88% das vezes na mediana. Os motivos para guardar ou apagar, como “esquecível” ou “mal enquadrada”, são os menos confiáveis, então use-os como sugestões.
  • Cada rosto recebe suas próprias tags: olhos fechados, sorrindo, olhando para a câmera ou para outro lado, feliz, surpreso. Por padrão, o Eye analisa até 20 rostos por foto.
  • Eye.duplicates, Eye.best e Eye.similar trabalham sobre uma biblioteca inteira: grupos de quase duplicatas, opcionalmente só de fotos tiradas com segundos de diferença, a que fica de um conjunto e fotos ordenadas por semelhança.
  • As análises são salvas no mesmo JSON em Swift, Kotlin e JavaScript, então um app pode armazená-las e filtrar depois sem carregar o modelo.
  • parts escolhe o que calcular: photo, layout, faces e sharpness. Cada parte é uma ou mais execuções do modelo, então deixe de fora o que você não for usar.
  • 48 MB em Core ML para as plataformas Apple, no Neural Engine, e 66 MB em LiteRT para Android, Linux, Windows, Node e o navegador. O SDK baixa o modelo no primeiro uso e o guarda em cache.
  • No navegador, o Eye roda na GPU via WebGPU quando o navegador oferece suporte, e na CPU via WebAssembly quando não oferece.

Primeiros passos

Adicione classificação de imagens ao seu app iOS or macOS, Android or web em poucas linhas de código. Docs do Eye.

iOS, macOS
Instalação
// 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")
Exemplo - 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)
Crie com um prompt
Add Eye from Desert Ant Labs to this Swift project (iOS, macOS).

What it does: marcação e pontuação de fotos no dispositivo.

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
Instalação
// build.gradle.kts (Maven Central)
implementation("ai.desertant:eye:4.0.0")
Exemplo - 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)
}
Crie com um prompt
Add Eye from Desert Ant Labs to this Kotlin project (Android).

What it does: marcação e pontuação de fotos no dispositivo.

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
Instalação
npm i @desert-ant-labs/eye @litertjs/core   # browser
npm i @desert-ant-labs/eye                  # Node
Exemplo - 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 });
Crie com um prompt
Add Eye from Desert Ant Labs to this JavaScript / TypeScript project (Web, Node.js).

What it does: marcação e pontuação de fotos no dispositivo.

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.

Especificações

Velocidade
5,5 ms por foto no Neural Engine (Mac com M6); 41 ms com WebGPU no Chrome
Acurácia
No limiar de 0,5: capturas de tela com 98% de precisão, comprovantes com 100%, cenas com 88% na mediana
Tags
Tipo de foto, guardar ou apagar, qualidade, pessoas, rostos, conteúdo sensível e 558 cenas
Tamanho no dispositivo
48 MB em Core ML (Apple); 66 MB em LiteRT (Android, Linux, Windows, Node, o navegador)
Plataformas
iOS 18+, macOS 15+, tvOS 18+, visionOS 2+ (Core ML); Android, Linux, Windows (LiteRT); o navegador e Node (LiteRT.js)

O Eye foi treinado com fotos, então as notas de ilustrações, capturas de tela e imagens muito editadas são menos confiáveis. Os motivos para guardar ou apagar, como “esquecível” ou “mal enquadrada”, são os menos confiáveis, então use-os como sugestões e use o limiar rigoroso para tudo o que for automático.

A análise de rostos descreve um rosto e não identifica quem é a pessoa.

FAQ

O que é o Eye?

Marque cada foto pelo que ela é e pelo que aparece nela, de capturas de tela e comprovantes a 558 cenas, inteiramente no dispositivo.

O Eye roda no dispositivo?

Sim. O Eye roda no dispositivo, sem chamada a servidor, então os dados ficam com o usuário.

Quais plataformas o Eye suporta?

O Eye é distribuído como um SDK nativo no dispositivo para Swift, Kotlin, JavaScript / TypeScript.

Quanto custa o Eye?

Cada modelo é gratuito para até 100 mil dispositivos ativos mensais. A inferência é ilimitada. Fale conosco para licenças personalizadas.

Qual a precisão e a velocidade do Eye?

O Eye marca uma foto em 5,5 ms no Neural Engine de um Mac com M6, e em 41 ms com WebGPU no Chrome. As versões Core ML e LiteRT têm as mesmas notas em seis conjuntos de teste públicos.

Recursos