Eye
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.
Uma foto, com a análise completa, em um Mac com 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 |
Acurácia em conjuntos de teste públicos, com o mesmo código de pontuação para as duas versões
| Conjunto de teste | 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 |
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
analyzeretorna 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.besteEye.similartrabalham 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.
partsescolhe o que calcular:photo,layout,facesesharpness. 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.
// 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: 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.
// 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: 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.
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: 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.