/** * Пример использования Person Identification */ import { usePersonIdentification } from "./hooks/use-person-identification" import { DetectedFace } from "./types/person" export function PersonIdentificationExample() { const { persons, isLoading, error, addPerson, identifyPerson, createPersonFromFace, clusterUnknownFaces, getStatistics, } = usePersonIdentification() // Пример 1: Создание новой персоны const handleCreatePerson = async () => { const newPerson = await addPerson({ name: "Иван Иванов", description: "Актер в главной роли", tags: ["actor", "main_role"], }) console.log("Создана персона:", newPerson) } // Пример 2: Идентификация лица const handleIdentifyFace = async (detectedFace: DetectedFace) => { const result = await identifyPerson(detectedFace) if (result) { console.log(`Опознан: ${result.person.name} с уверенностью ${result.confidence}`) } else { console.log("Лицо не опознано") // Создаем новую персону из неопознанного лица const newPerson = await createPersonFromFace(detectedFace, { name: "Неизвестный", tags: ["unidentified"], }) console.log("Создана новая персона:", newPerson) } } // Пример 3: Кластеризация неопознанных лиц const handleClusterFaces = async (unidentifiedFaces: DetectedFace[]) => { const newPersons = await clusterUnknownFaces(unidentifiedFaces, 0.8) console.log(`Создано ${newPersons.length} персон из кластеров`) } // Пример 4: Получение статистики const stats = getStatistics() if (isLoading) return
Загрузка...
if (error) return
Ошибка: {error}
return (

Person Identification

Статистика

Персоны

{persons.map((person) => (

{person.name || "Без имени"}

Лиц: {person.faceEmbeddings?.length || 0}

))}
) }