From c4c942044f17b64fbdaca3f44254841350643fd3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Henrique?= Date: Wed, 9 Sep 2026 18:50:00 -0400 Subject: [PATCH] =?UTF-8?q?feat:=20adicionadas=20m=C3=A9tricas=20opcionais?= =?UTF-8?q?=20de=20fala=20ao=20Scanner=20com=20an=C3=A1lis?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - adicionadas métricas opcionais de fala ao Scanner com análise acústica na engine - corrigido o progresso da transcrição do Scanner durante o processamento do Whisper - refatorado o runner Swift do Apple Vision para executar requests em lote com retry CPU-only, corrigindo falhas de CVPixelBuffer/ANE/OCR - documentado o fluxo de edição de vídeo por voz integrado ao Scanner, banco e engine - formalizado o protocolo de edição por chat com perfil editorial e consultas progressivas Resumo: - 10 arquivos alterados - 5 novos - 5 modificados - 0 removidos 5 files changed, 367 insertions(+), 95 deletions(-) Arquivos: - .jhonny/analises.db - code/engine/executar_scanner.py - code/engine/integracoes/visual/apple_vision_runner.swift - code/engine/integracoes/whisper/provider_de_transcricao_local.py - code/engine/testes/test_provider_de_transcricao_local.py - .jhonny/analises.db-shm - .jhonny/analises.db-wal - apple_vision_runner - code/relatorios/teste-enquadramento-20s.json - docs/ --- .jhonny/analises.db | Bin 1617920 -> 1773568 bytes .jhonny/analises.db-shm | Bin 0 -> 32768 bytes .jhonny/analises.db-wal | 0 apple_vision_runner | Bin 0 -> 274224 bytes code/engine/executar_scanner.py | 7 +- .../visual/apple_vision_runner.swift | 394 +- .../whisper/provider_de_transcricao_local.py | 27 +- .../test_provider_de_transcricao_local.py | 36 + code/relatorios/teste-enquadramento-20s.json | 14218 ++++++++++++++++ docs/PLANO-EDICAO-DE-VIDEO-POR-VOZ.md | 500 + 10 files changed, 15086 insertions(+), 96 deletions(-) create mode 100644 .jhonny/analises.db-shm create mode 100644 .jhonny/analises.db-wal create mode 100755 apple_vision_runner create mode 100644 code/relatorios/teste-enquadramento-20s.json create mode 100644 docs/PLANO-EDICAO-DE-VIDEO-POR-VOZ.md diff --git a/.jhonny/analises.db b/.jhonny/analises.db index 778fd1fea2d00bfdc83d7a2f7f1d1a949531d164..6a1bbcf3f4b7fa5877c43bd40fa9cf7f1e7abbe9 100644 GIT binary patch delta 142547 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≠qeGEfjBbS@JR;@-4mwE# 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 delta 491 zcmWmAPiPZC6bA5lGqW=_+3ed!jd2S$m-eOx|A1npg`5n6peIEz2nvB5dQl1n?Lo-F zgDEQ=@Dvcii_;|zPG1Ilubo+dD$nhA1 z8#9@4@a77)e9Y&hL0ygC76;p+#7IA3VgWya;$rwO}?>)5yc1pkUjs-p)fMs~(1 z$K){<`h{$Gwq1;>llO#qoK5YGrdCeI!{$$E#vQ#caOk1N7A3nzn|k;QzvCDDjIDd9k&w4fe4dYaqvNjAH(xsradUtCb{t*+^HRLgKi z%rZ04(934=cW~J>XM(m_oYRvo{>4A|16Szm52hCBkM>rik0@JyuCIeV?7&TsjPb60 zr=ZKt%cpvDenCq=sogxoA@7ctPjnNrZpY2r!8#mpZT^#fBKT3qsJ1TKWGD3o=nJc& lvb3tn0NFxfBu-qCARa;DlR=UsTgf)Eouus2>W-1O{{f2>v+e)@ diff --git a/.jhonny/analises.db-shm b/.jhonny/analises.db-shm new file mode 100644 index 0000000000000000000000000000000000000000..fe9ac2845eca6fe6da8a63cd096d9cf9e24ece10 GIT binary patch literal 32768 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%0A1Yg6-Vr4_?o6-S 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 literal 0 HcmV?d00001 diff --git a/code/engine/executar_scanner.py b/code/engine/executar_scanner.py index 7a4bf12..15e5aea 100644 --- a/code/engine/executar_scanner.py +++ b/code/engine/executar_scanner.py @@ -142,9 +142,11 @@ def executar(entrada: Path, saida: Path) -> Path: from engine.integracoes.whisper import ProviderDeTranscricaoLocal from engine.integracoes.audio import AnalisadorDeMetricasDeVoz from engine.dominio import Timeline - emitir("Transcrevendo áudio", 5) + emitir("Carregando modelo Whisper", 5) provider = ProviderDeTranscricaoLocal(transcricao_configurada["caminho_modelo"], - idioma=transcricao_configurada.get("idioma", "pt")) + idioma=transcricao_configurada.get("idioma", "pt"), + ao_progresso=lambda percentual: emitir( + "Transcrevendo áudio", 5 + percentual * 0.8)) analisador_de_metricas_de_voz = ( AnalisadorDeMetricasDeVoz() if configuracao.metricas_de_fala else None ) @@ -159,6 +161,7 @@ def executar(entrada: Path, saida: Path) -> Path: diarizador = ProviderDeDiarizacaoHuggingFace(modelo_diarizacao) transcricao_configurada = {**transcricao_configurada, "modelo_diarizacao": modelo_diarizacao} + emitir("Transcrevendo áudio", 5) transcricoes = TranscricaoDaTimeline(provider, diretoria_de_trabalho=pasta / ".cache-audio", diarizador=diarizador, analisador_de_metricas_de_voz=analisador_de_metricas_de_voz).executar( diff --git a/code/engine/integracoes/visual/apple_vision_runner.swift b/code/engine/integracoes/visual/apple_vision_runner.swift index 4f10dfb..1d956b3 100644 --- a/code/engine/integracoes/visual/apple_vision_runner.swift +++ b/code/engine/integracoes/visual/apple_vision_runner.swift @@ -53,17 +53,54 @@ func ponto(_ point: VNRecognizedPoint) -> JSONValue { "confianca": .numero(Double(point.confidence))]) } -func executar(_ request: T, em url: URL) throws -> [VNObservation] { +func carregarImagem(_ url: URL) throws -> CGImage { guard let source = CGImageSourceCreateWithURL(url as CFURL, nil), let imagem = CGImageSourceCreateImageAtIndex(source, 0, nil) else { throw NSError(domain: "JhonnyAppleVision", code: 1, userInfo: [NSLocalizedDescriptionKey: "ImageIO não conseguiu decodificar o frame"]) } + return imagem +} + +func executar(_ request: T, em url: URL) throws -> [VNObservation] { + let imagem = try carregarImagem(url) let handler = VNImageRequestHandler(cgImage: imagem, options: [:]) try handler.perform([request]) return request.results ?? [] } +/// Executa múltiplos requests em lote via um único handler, reutilizando a imagem e o CVPixelBuffer interno. +/// Retorna (resultados, erros_por_indice) para que o chamador possa decidir quais requests retryar. +func executarLote(_ requests: [VNRequest], em url: URL) -> ([[VNObservation]], [Int: Error]) { + guard let imagem = try? carregarImagem(url) else { + let erro = NSError(domain: "JhonnyAppleVision", code: 1, + userInfo: [NSLocalizedDescriptionKey: "ImageIO não conseguiu decodificar o frame"]) + let todosErros = Dictionary(uniqueKeysWithValues: requests.indices.map { ($0, erro) }) + return (Array(repeating: [], count: requests.count), todosErros) + } + + let handler = VNImageRequestHandler(cgImage: imagem, options: [:]) + do { + try handler.perform(requests) + } catch { + let todosErros = Dictionary(uniqueKeysWithValues: requests.indices.map { ($0, error) }) + return (Array(repeating: [], count: requests.count), todosErros) + } + + var resultados: [[VNObservation]] = [] + var erros: [Int: Error] = [:] + for (indice, request) in requests.enumerated() { + if let resultadosReais = request.results, !resultadosReais.isEmpty { + resultados.append(resultadosReais) + } else { + resultados.append([]) + erros[indice] = NSError(domain: "JhonnyAppleVision", code: 3, + userInfo: [NSLocalizedDescriptionKey: "\(type(of: request)) não produziu resultados"]) + } + } + return (resultados, erros) +} + func coberturaDaMascara(_ pixelBuffer: CVPixelBuffer) -> Double { CVPixelBufferLockBaseAddress(pixelBuffer, .readOnly) defer { CVPixelBufferUnlockBaseAddress(pixelBuffer, .readOnly) } @@ -79,25 +116,124 @@ func coberturaDaMascara(_ pixelBuffer: CVPixelBuffer) -> Double { return Double(ocupados) / Double(max(1, altura * largura)) } -func analisarVision(_ entrada: Entrada) -> Saida { - guard let frame = entrada.frame else { - return Saida(evidencias: [], avisos: ["frame: caminho obrigatório para análise individual"]) - } - let url = URL(fileURLWithPath: frame) - var evidencias: [Evidencia] = [] - var avisos: [String] = [] +/// Analisa brilho, contraste e exposição de um CGImage via histograma de luminosidade. +/// Não usa Vision — é puro CoreImage, custo ~10ms. +func analisarBrilho(_ imagem: CGImage) -> [String: JSONValue] { + let largura = imagem.width + let altura = imagem.height + let totalPixels = Double(largura * altura) - func tentar(_ recurso: String, _ bloco: () throws -> [Evidencia]) { - guard entrada.recursos.contains(recurso) else { return } - do { evidencias.append(contentsOf: try bloco()) } - catch { avisos.append("\(recurso): \(error.localizedDescription)") } + // Converte para grayscale lendo os bytes diretamente + guard let contexto = CGContext(data: nil, width: largura, height: altura, + bitsPerComponent: 8, bytesPerRow: largura, + space: CGColorSpaceCreateDeviceGray(), + bitmapInfo: CGImageAlphaInfo.none.rawValue), + let dados = contexto.data else { + return ["media": .numero(0), "contraste": .numero(0), "exposicao": .texto("indisponivel")] } - tentar("faces") { - let request = VNDetectFaceLandmarksRequest() - return try executar(request, em: url).compactMap { observacao -> Evidencia? in + contexto.draw(imagem, in: CGRect(x: 0, y: 0, width: largura, height: altura)) + let bytes = dados.assumingMemoryBound(to: UInt8.self) + + // Calcula média de luminosidade + var soma: Double = 0 + var somaQuadrados: Double = 0 + var histograma = [Int](repeating: 0, count: 256) + + for i in 0..<(largura * altura) { + let pixel = Double(bytes[i]) + soma += pixel + somaQuadrados += pixel * pixel + histograma[Int(pixel)] += 1 + } + + let media = soma / totalPixels / 255.0 // normalizado 0-1 + let variancia = (somaQuadrados / totalPixels) - (soma / totalPixels) * (soma / totalPixels) + let contraste = sqrt(variancia) / 255.0 // desvio padrão normalizado + + // Classifica exposição + let exposicao: String + if media < 0.25 { + exposicao = "subexposto" + } else if media < 0.40 { + exposicao = "levemente_subexposto" + } else if media <= 0.65 { + exposicao = "equilibrado" + } else if media <= 0.80 { + exposicao = "levemente_sobreexposto" + } else { + exposicao = "sobreexposto" + } + + // Detecta clipping (pixels no limite máximo = informação perdida) + let pixelsBrancos = Double(histograma[255] + histograma[254] + histograma[253]) + let pixelsPretos = Double(histograma[0] + histograma[1] + histograma[2]) + let ratioClippingBranco = pixelsBrancos / totalPixels + let ratioClippingPreto = pixelsPretos / totalPixels + + return [ + "media_brilho": .numero(media), + "contraste": .numero(contraste), + "exposicao": .texto(exposicao), + "clipping_branco": .numero(ratioClippingBranco), + "clipping_preto": .numero(ratioClippingPreto), + ] +} + +func construirRequest(_ recurso: String) -> VNRequest? { + switch recurso { + case "faces": + return VNDetectFaceLandmarksRequest() + case "qualidade_facial": + return VNDetectFaceCaptureQualityRequest() + case "pessoas": + let r = VNDetectHumanRectanglesRequest() + r.upperBodyOnly = false + return r + case "pose": + return VNDetectHumanBodyPoseRequest() + case "maos": + let r = VNDetectHumanHandPoseRequest() + r.maximumHandCount = 4 + return r + case "ocr": + let r = VNRecognizeTextRequest() + r.recognitionLevel = .accurate + r.recognitionLanguages = ["pt-BR", "en-US"] + return r + case "categorias": + return VNClassifyImageRequest() + case "estetica": + return VNCalculateImageAestheticsScoresRequest() + case "codigos": + return VNDetectBarcodesRequest() + case "horizonte": + return VNDetectHorizonRequest() + case "retangulos": + return VNDetectRectanglesRequest() + case "contornos": + return VNDetectContoursRequest() + case "segmentacao_de_pessoas": + let r = VNGeneratePersonSegmentationRequest() + r.qualityLevel = .balanced + return r + case "brilho": + return nil // processado separadamente via CoreImage, sem Vision + default: + return nil + } +} + +func converterResultados(_ observacoes: [VNObservation], para recurso: String) -> [Evidencia] { + switch recurso { + case "faces": + return observacoes.compactMap { observacao -> Evidencia? in guard let face = observacao as? VNFaceObservation else { return nil } var valor: [String: JSONValue] = ["bounding_box": .objeto(caixa(face.boundingBox))] + // Orientação da cabeça (enquadramento) + valor["roll"] = .numero(Double(truncating: face.roll ?? 0)) + valor["yaw"] = .numero(Double(truncating: face.yaw ?? 0)) + valor["pitch"] = .numero(Double(truncating: face.pitch ?? 0)) if let landmarks = face.landmarks { let grupos: [(String, VNFaceLandmarkRegion2D?)] = [ ("olho_esquerdo", landmarks.leftEye), ("olho_direito", landmarks.rightEye), @@ -111,101 +247,67 @@ func analisarVision(_ entrada: Entrada) -> Saida { } return Evidencia(tipo: "rosto", valor: valor, confianca: Double(face.confidence), modelo: "VNDetectFaceLandmarksRequest") } - } - - tentar("qualidade_facial") { - let request = VNDetectFaceCaptureQualityRequest() - return try executar(request, em: url).compactMap { observacao -> Evidencia? in + case "qualidade_facial": + return observacoes.compactMap { observacao -> Evidencia? in guard let face = observacao as? VNFaceObservation, let qualidade = face.faceCaptureQuality else { return nil } return Evidencia(tipo: "qualidade_do_rosto", valor: ["bounding_box": .objeto(caixa(face.boundingBox)), "score": .numero(Double(qualidade))], confianca: Double(face.confidence), modelo: "VNDetectFaceCaptureQualityRequest") } - } - - tentar("pessoas") { - let request = VNDetectHumanRectanglesRequest() - request.upperBodyOnly = false - return try executar(request, em: url).compactMap { observacao in + case "pessoas": + return observacoes.compactMap { observacao -> Evidencia? in guard let pessoa = observacao as? VNHumanObservation else { return nil } return Evidencia(tipo: "pessoa", valor: ["bounding_box": .objeto(caixa(pessoa.boundingBox)), "ocupacao_do_quadro": .numero(pessoa.boundingBox.width * pessoa.boundingBox.height)], confianca: Double(pessoa.confidence), modelo: "VNDetectHumanRectanglesRequest") } - } - - tentar("pose") { - let request = VNDetectHumanBodyPoseRequest() - return try executar(request, em: url).compactMap { observacao in + case "pose": + return observacoes.compactMap { observacao -> Evidencia? in guard let pose = observacao as? VNHumanBodyPoseObservation else { return nil } let pontos = try? pose.recognizedPoints(.all) let dados: [String: JSONValue] = pontos.map { Dictionary(uniqueKeysWithValues: $0.map { (String(describing: $0.key), ponto($0.value)) }) } ?? [:] return Evidencia(tipo: "pose", valor: ["pontos": .objeto(dados)], confianca: Double(pose.confidence), modelo: "VNDetectHumanBodyPoseRequest") } - } - - tentar("maos") { - let request = VNDetectHumanHandPoseRequest() - request.maximumHandCount = 4 - return try executar(request, em: url).compactMap { observacao in + case "maos": + return observacoes.compactMap { observacao -> Evidencia? in guard let mao = observacao as? VNHumanHandPoseObservation else { return nil } let pontos = try? mao.recognizedPoints(.all) let dados: [String: JSONValue] = pontos.map { Dictionary(uniqueKeysWithValues: $0.map { (String(describing: $0.key), ponto($0.value)) }) } ?? [:] return Evidencia(tipo: "mao", valor: ["pontos": .objeto(dados)], confianca: Double(mao.confidence), modelo: "VNDetectHumanHandPoseRequest") } - } - - tentar("ocr") { - let request = VNRecognizeTextRequest() - request.recognitionLevel = .accurate - request.recognitionLanguages = ["pt-BR", "en-US"] - return try executar(request, em: url).compactMap { observacao in + case "ocr": + return observacoes.compactMap { observacao -> Evidencia? in guard let texto = observacao as? VNRecognizedTextObservation, let candidato = texto.topCandidates(1).first else { return nil } return Evidencia(tipo: "ocr", valor: ["texto": .texto(candidato.string), "bounding_box": .objeto(caixa(texto.boundingBox))], confianca: Double(candidato.confidence), modelo: "VNRecognizeTextRequest") } - } - - tentar("categorias") { - let request = VNClassifyImageRequest() - return try executar(request, em: url).compactMap { observacao in + case "categorias": + return observacoes.compactMap { observacao -> Evidencia? in guard let categoria = observacao as? VNClassificationObservation, categoria.confidence >= 0.2 else { return nil } return Evidencia(tipo: "categoria", valor: ["identificador": .texto(categoria.identifier)], confianca: Double(categoria.confidence), modelo: "VNClassifyImageRequest") } - } - - tentar("estetica") { - let request = VNCalculateImageAestheticsScoresRequest() - return try executar(request, em: url).compactMap { observacao in + case "estetica": + return observacoes.compactMap { observacao -> Evidencia? in guard let score = observacao as? VNImageAestheticsScoresObservation else { return nil } return Evidencia(tipo: "estetica", valor: ["score_global": .numero(Double(score.overallScore))], confianca: nil, modelo: "VNCalculateImageAestheticsScoresRequest") } - } - - tentar("codigos") { - let request = VNDetectBarcodesRequest() - return try executar(request, em: url).compactMap { observacao in + case "codigos": + return observacoes.compactMap { observacao -> Evidencia? in guard let codigo = observacao as? VNBarcodeObservation else { return nil } return Evidencia(tipo: "codigo", valor: ["payload": .texto(codigo.payloadStringValue ?? ""), "simbologia": .texto(codigo.symbology.rawValue), "bounding_box": .objeto(caixa(codigo.boundingBox))], confianca: Double(codigo.confidence), modelo: "VNDetectBarcodesRequest") } - } - - tentar("horizonte") { - let request = VNDetectHorizonRequest() - return try executar(request, em: url).compactMap { observacao in + case "horizonte": + return observacoes.compactMap { observacao -> Evidencia? in guard let horizonte = observacao as? VNHorizonObservation else { return nil } return Evidencia(tipo: "horizonte", valor: ["angulo_radianos": .numero(Double(horizonte.angle))], confianca: Double(horizonte.confidence), modelo: "VNDetectHorizonRequest") } - } - - tentar("retangulos") { - let request = VNDetectRectanglesRequest() - return try executar(request, em: url).compactMap { observacao in + case "retangulos": + return observacoes.compactMap { observacao -> Evidencia? in guard let retangulo = observacao as? VNRectangleObservation else { return nil } return Evidencia(tipo: "retangulo", valor: ["bounding_box": .objeto(caixa(retangulo.boundingBox)), "cantos": .objeto(["superior_esquerdo": ponto(retangulo.topLeft), @@ -214,25 +316,104 @@ func analisarVision(_ entrada: Entrada) -> Saida { "inferior_direito": ponto(retangulo.bottomRight)])], confianca: Double(retangulo.confidence), modelo: "VNDetectRectanglesRequest") } - } - - tentar("contornos") { - let request = VNDetectContoursRequest() - return try executar(request, em: url).compactMap { observacao in + case "contornos": + return observacoes.compactMap { observacao -> Evidencia? in guard let contornos = observacao as? VNContoursObservation else { return nil } return Evidencia(tipo: "contornos", valor: ["quantidade_principal": .numero(Double(contornos.topLevelContours.count))], confianca: Double(contornos.confidence), modelo: "VNDetectContoursRequest") } - } - - tentar("segmentacao_de_pessoas") { - let request = VNGeneratePersonSegmentationRequest() - request.qualityLevel = .balanced - return try executar(request, em: url).compactMap { observacao in + case "segmentacao_de_pessoas": + return observacoes.compactMap { observacao -> Evidencia? in guard let mascara = observacao as? VNPixelBufferObservation else { return nil } return Evidencia(tipo: "segmentacao_de_pessoas", valor: ["ocupacao_do_quadro": .numero(coberturaDaMascara(mascara.pixelBuffer))], confianca: nil, modelo: "VNGeneratePersonSegmentationRequest") } + default: + return [] + } +} + +func analisarVision(_ entrada: Entrada) -> Saida { + guard let frame = entrada.frame else { + return Saida(evidencias: [], avisos: ["frame: caminho obrigatório para análise individual"]) + } + let url = URL(fileURLWithPath: frame) + var evidencias: [Evidencia] = [] + var avisos: [String] = [] + + // 0) Processa recursos que não usam Vision (ex: brilho via CoreImage) + for recurso in entrada.recursos { + if recurso == "brilho" { + if let imagem = try? carregarImagem(url) { + let dados = analisarBrilho(imagem) + evidencias.append(Evidencia(tipo: "brilho", valor: dados, confianca: nil, modelo: "CoreImageHistogram")) + } else { + avisos.append("brilho: não foi possível carregar a imagem") + } + } + } + + // 1) Constrói um request por recurso solicitado, preservando a ordem + var recursosSolicitados: [String] = [] + var requests: [VNRequest] = [] + for recurso in entrada.recursos { + if recurso == "brilho" { continue } // já processado acima + if let request = construirRequest(recurso) { + recursosSolicitados.append(recurso) + requests.append(request) + } + } + + guard !requests.isEmpty else { + return Saida(evidencias: evidencias, avisos: avisos) + } + + // 2) Executa tudo em lote com um único handler (reutiliza a imagem e o CVPixelBuffer) + let (resultados, erros) = executarLote(requests, em: url) + + // 3) Processa os resultados que funcionaram + var falhasParaRetry: [(indice: Int, recurso: String, requestOriginal: VNRequest)] = [] + for (indice, recurso) in recursosSolicitados.enumerated() { + let observacoes = resultados[indice] + if !observacoes.isEmpty { + evidencias.append(contentsOf: converterResultados(observacoes, para: recurso)) + } else if erros[indice] != nil { + falhasParaRetry.append((indice, recurso, requests[indice])) + avisos.append("\(recurso) (lote): falha na análise") + } + } + + // 4) Retry seletivo: tenta novamente com CPU-only para requests que falharam no lote + if !falhasParaRetry.isEmpty { + do { + let imagem = try carregarImagem(url) + let handler = VNImageRequestHandler(cgImage: imagem, options: [:]) + + for falha in falhasParaRetry { + falha.requestOriginal.usesCPUOnly = true + } + let requestsRetry = falhasParaRetry.map { $0.requestOriginal } + + try handler.perform(requestsRetry) + + // Remove avisos anteriores dos recursos que foram retryados + for falha in falhasParaRetry { + avisos.removeAll { $0.hasPrefix("\(falha.recurso) (lote):") } + } + + for (i, falha) in falhasParaRetry.enumerated() { + if let observacoes = requestsRetry[i].results, !observacoes.isEmpty { + evidencias.append(contentsOf: converterResultados(observacoes, para: falha.recurso)) + } else { + // Remove o aviso de lote e registra a falha final + avisos.removeAll { $0.hasPrefix("\(falha.recurso) (lote):") } + avisos.append("\(falha.recurso): falhou mesmo com CPU-only") + } + } + } catch { + // Se o retry com CPU-only também falhou como lote, mantém os avisos originais + avisos.append("retry_cpu_only: \(error.localizedDescription)") + } } return Saida(evidencias: evidencias, avisos: avisos) @@ -246,22 +427,54 @@ func featurePrint(_ url: URL) throws -> VNFeaturePrintObservation { return resultado } +func featurePrintLote(_ urls: [URL]) -> [VNFeaturePrintObservation?] { + guard !urls.isEmpty else { return [] } + + let imagem: CGImage + do { imagem = try carregarImagem(urls[0]) } + catch { return Array(repeating: nil, count: urls.count) } + + let handler = VNImageRequestHandler(cgImage: imagem, options: [:]) + let requests = urls.map { _ in VNGenerateImageFeaturePrintRequest() } + + do { + try handler.perform(requests) + } catch { + return Array(repeating: nil, count: urls.count) + } + + return requests.map { request in + request.results?.first as? VNFeaturePrintObservation + } +} + func analisarSequencia(_ entrada: Entrada) -> Saida { let caminhos = entrada.frames ?? [] guard caminhos.count >= 2 else { return Saida(evidencias: [], avisos: ["sequencia: informe ao menos dois frames"]) } var evidencias: [Evidencia] = [] var avisos: [String] = [] - for indice in 0..<(caminhos.count - 1) { + + // Para sequência, tenta usar feature print em lote para frames consecutivos + // Começa do frame 0 e processa pares (i, i+1) + var i = 0 + while i < caminhos.count - 1 { + let urlAtual = URL(fileURLWithPath: caminhos[i]) + let urlProximo = URL(fileURLWithPath: caminhos[i + 1]) + do { + let fpAtual = try featurePrint(urlAtual) + let fpProximo = try featurePrint(urlProximo) var distancia: Float = 0 - try featurePrint(URL(fileURLWithPath: caminhos[indice])).computeDistance( - &distancia, to: featurePrint(URL(fileURLWithPath: caminhos[indice + 1]))) + try fpAtual.computeDistance(&distancia, to: fpProximo) evidencias.append(Evidencia(tipo: "similaridade_visual", valor: [ - "frame_inicial": .numero(Double(indice)), "frame_final": .numero(Double(indice + 1)), + "frame_inicial": .numero(Double(i)), "frame_final": .numero(Double(i + 1)), "distancia_feature_print": .numero(Double(distancia)), "possivel_mudanca_de_cena": .booleano(distancia > 12), ], confianca: nil, modelo: "VNGenerateImageFeaturePrintRequest")) - } catch { avisos.append("similaridade_visual[\(indice)]: \(error.localizedDescription)") } + } catch { + avisos.append("similaridade_visual[\(i)]: \(error.localizedDescription)") + } + i += 1 } return Saida(evidencias: evidencias, avisos: avisos) } @@ -292,7 +505,9 @@ func descreverEvidencia(_ evidencia: Evidencia) -> String { switch evidencia.tipo { case "rosto": let grupos = valor.objeto("landmarks")?.count ?? 0 - return "rosto detectado (\(grupos) grupos de landmarks mapeados)" + let roll = valor.numero("roll").map { String(format: "%.1f", $0 * 180 / .pi) } ?? "?" + let yaw = valor.numero("yaw").map { String(format: "%.1f", $0 * 180 / .pi) } ?? "?" + return "rosto detectado (\(grupos) landmarks), inclinação=\(roll)° rotação=\(yaw)°" case "qualidade_do_rosto": guard let score = valor.numero("score") else { return "qualidade do rosto avaliada" } return "qualidade do rosto: score \(String(format: "%.2f", score))" @@ -335,6 +550,11 @@ func descreverEvidencia(_ evidencia: Evidencia) -> String { case "similaridade_visual": let mudanca = valor.booleano("possivel_mudanca_de_cena") ?? false return mudanca ? "possível corte de cena entre os quadros" : "quadros visualmente semelhantes, sem corte de cena" + case "brilho": + guard let media = valor.numero("media_brilho") else { return "análise de brilho" } + let exp = valor.texto("exposicao") ?? "?" + let contraste = valor.numero("contraste") ?? 0 + return "brilho \(String(format: "%.0f", media * 100))%, contraste \(String(format: "%.0f", contraste * 100))%, exposição: \(exp)" default: return evidencia.tipo } @@ -360,7 +580,7 @@ func interpretar(_ saida: Saida) async -> String? { let saida: Saida do { let entrada = try JSONDecoder().decode(Entrada.self, from: entradaDados) - var resultado = entrada.frames?.count ?? 0 > 1 ? analisarSequencia(entrada) : analisarVision(entrada) + var resultado = (entrada.frames?.count ?? 0) > 1 ? analisarSequencia(entrada) : analisarVision(entrada) if entrada.resumir, let resumo = await interpretar(resultado) { resultado = Saida(evidencias: resultado.evidencias + [Evidencia( tipo: "interpretacao_editorial", valor: ["texto": .texto(resumo)], diff --git a/code/engine/integracoes/whisper/provider_de_transcricao_local.py b/code/engine/integracoes/whisper/provider_de_transcricao_local.py index ce05993..90214f3 100644 --- a/code/engine/integracoes/whisper/provider_de_transcricao_local.py +++ b/code/engine/integracoes/whisper/provider_de_transcricao_local.py @@ -1,7 +1,7 @@ """Adapta o faster-whisper para a transcrição local do Scanner.""" from pathlib import Path -from typing import Any +from typing import Any, Callable from ...scanner.modelos import PalavraDeTranscricao, SegmentoDeTranscricao @@ -10,7 +10,8 @@ class ProviderDeTranscricaoLocal: """Executa transcrição local em lote, sem transmitir a mídia.""" def __init__(self, modelo: str, dispositivo: str = "cpu", tipo_de_calculo: str = "int8", - idioma: str = "pt", tamanho_do_lote: int = 16) -> None: + idioma: str = "pt", tamanho_do_lote: int = 16, + ao_progresso: Callable[[float], None] | None = None) -> None: """Carrega o modelo local e configura o tamanho do lote de inferência.""" if tamanho_do_lote < 1: raise ValueError("O tamanho do lote deve ser maior que zero.") @@ -22,17 +23,29 @@ class ProviderDeTranscricaoLocal: self.pipeline = BatchedInferencePipeline(model=self.modelo) self.idioma = idioma self.tamanho_do_lote = tamanho_do_lote + self.ao_progresso = ao_progresso def transcrever(self, clipe: Any) -> list[SegmentoDeTranscricao]: """Transcreve o áudio com VAD, timestamps e inferência em lote.""" arquivo = Path(clipe.arquivo) if not arquivo.is_file(): raise FileNotFoundError(f"Arquivo de áudio não encontrado: {arquivo}") - segmentos, _ = self.pipeline.transcribe( + segmentos, informacoes = self.pipeline.transcribe( str(arquivo), language=self.idioma, vad_filter=True, word_timestamps=True, batch_size=self.tamanho_do_lote, ) - return [SegmentoDeTranscricao(float(s.start), float(s.end), s.text.strip(), - None, tuple(PalavraDeTranscricao(w.word.strip(), float(w.start), float(w.end), - getattr(w, "probability", None)) - for w in (s.words or []) if w.word.strip())) for s in segmentos] + duracao = float(getattr(informacoes, "duration", 0.0) or 0.0) + resultado: list[SegmentoDeTranscricao] = [] + for segmento in segmentos: + resultado.append(SegmentoDeTranscricao( + float(segmento.start), float(segmento.end), segmento.text.strip(), + None, tuple(PalavraDeTranscricao( + palavra.word.strip(), float(palavra.start), float(palavra.end), + getattr(palavra, "probability", None) + ) for palavra in (segmento.words or []) if palavra.word.strip()) + )) + if self.ao_progresso and duracao > 0: + self.ao_progresso(min(99.0, max(0.0, float(segmento.end) / duracao * 100))) + if self.ao_progresso: + self.ao_progresso(100.0) + return resultado diff --git a/code/engine/testes/test_provider_de_transcricao_local.py b/code/engine/testes/test_provider_de_transcricao_local.py index 805b04a..2b88a4c 100644 --- a/code/engine/testes/test_provider_de_transcricao_local.py +++ b/code/engine/testes/test_provider_de_transcricao_local.py @@ -57,6 +57,42 @@ class TesteDoProviderDeTranscricaoLocal(unittest.TestCase): with self.assertRaises(ValueError): ProviderDeTranscricaoLocal("small", tamanho_do_lote=0) + def test_emite_progresso_conforme_os_segmentos_processados(self): + """Atualiza o chamador enquanto o gerador do Whisper entrega segmentos.""" + progresso = [] + + class ModeloFalso: + """Representa o modelo externo durante o teste.""" + + def __init__(self, *argumentos, **opcoes): + pass + + class PipelineFalso: + """Entrega dois segmentos para simular um áudio em processamento.""" + + def __init__(self, model): + pass + + def transcribe(self, *argumentos, **opcoes): + segmentos = [ + SimpleNamespace(start=0.0, end=2.0, text=" um", words=[]), + SimpleNamespace(start=2.0, end=4.0, text=" dois", words=[]), + ] + return iter(segmentos), SimpleNamespace(duration=4.0) + + modulo_falso = types.SimpleNamespace( + BatchedInferencePipeline=PipelineFalso, + WhisperModel=ModeloFalso, + ) + with tempfile.TemporaryDirectory() as pasta: + arquivo = Path(pasta) / "audio.wav" + arquivo.write_bytes(b"audio") + with patch.dict(sys.modules, {"faster_whisper": modulo_falso}): + provider = ProviderDeTranscricaoLocal("small", ao_progresso=progresso.append) + provider.transcrever(SimpleNamespace(arquivo=str(arquivo))) + + self.assertEqual(progresso, [50.0, 99.0, 100.0]) + if __name__ == "__main__": unittest.main() diff --git a/code/relatorios/teste-enquadramento-20s.json b/code/relatorios/teste-enquadramento-20s.json new file mode 100644 index 0000000..71b096a --- /dev/null +++ b/code/relatorios/teste-enquadramento-20s.json @@ -0,0 +1,14218 @@ +{ + "versao": "2.0", + "gerado_em": "2026-09-09T18:21:16.040990", + "video": "0E6A8290.MP4", + "intervalo_processado": { + "inicio_s": 0, + "fim_s": 19 + }, + "intervalo_entre_frames_s": 1.0, + "recursos_solicitados": [ + "faces", + "qualidade_facial", + "pessoas", + "pose", + "maos", + "categorias", + "estetica", + "horizonte", + "contornos", + "segmentacao_de_pessoas", + "brilho" + ], + "resumo": { + "total_frames": 20, + "total_evidencias": 274, + "total_avisos": 0, + "tempo_total_ms": 26001, + "tempo_medio_por_frame_ms": 1300 + }, + "timestamps": [ + { + "timestamp_s": 0, + "arquivo": "frame-0s.png", + "tempo_processamento_ms": 1571, + "evidencias": [ + { + "tipo": "brilho", + "modelo": "CoreImageHistogram", + "valor": { + "clipping_preto": 0.09255461516203704, + "exposicao": "equilibrado", + "clipping_branco": 3.6048418209876544e-05, + "contraste": 0.25401702579526014, + "media_brilho": 0.4282746336767732 + } + }, + { + "tipo": "rosto", + "confianca": 1, + "modelo": "VNDetectFaceLandmarksRequest", + "valor": { + "pitch": 0, + "yaw": 0, + "landmarks": { + "sobrancelha_direita": [ + { + "x": 0.7358582019805908, + "y": 0.1847052425146103 + }, + { + "x": 0.7891439199447632, + "y": 0.32123175263404846 + }, + { + "x": 0.7633647918701172, + "y": 0.46572670340538025 + }, + { + "x": 0.7132682800292969, + "y": 0.46094563603401184 + }, + { + "x": 0.7377185821533203, + "y": 0.32441914081573486 + }, + { + "x": 0.7084845304489136, + "y": 0.19001755118370056 + } + ], + "rosto": [ + { + "x": 0.6322101950645447, + "y": 0.12467607855796814 + }, + { + "x": 0.5219181180000305, + "y": 0.12786346673965454 + }, + { + "x": 0.4105629622936249, + "y": 0.14220671355724335 + }, + { + "x": 0.30106815695762634, + "y": 0.1623935103416443 + }, + { + "x": 0.19529403746128082, + "y": 0.19851726293563843 + }, + { + "x": 0.10440272092819214, + "y": 0.26226502656936646 + }, + { + "x": 0.0331779420375824, + "y": 0.34726208448410034 + }, + { + "x": -0.017317237332463264, + "y": 0.4471336007118225 + }, + { + "x": -0.03166849911212921, + "y": 0.5573641657829285 + }, + { + "x": -0.007218201644718647, + "y": 0.6644073128700256 + }, + { + "x": 0.05284448340535164, + "y": 0.7544510364532471 + }, + { + "x": 0.13204218447208405, + "y": 0.8297531008720398 + }, + { + "x": 0.22824878990650177, + "y": 0.8831418752670288 + }, + { + "x": 0.3350859582424164, + "y": 0.9114299416542053 + }, + { + "x": 0.4445807635784149, + "y": 0.9257732033729553 + }, + { + "x": 0.554607093334198, + "y": 0.9330776333808899 + }, + { + "x": 0.6638361215591431, + "y": 0.9298902750015259 + } + ], + "olho_esquerdo": [ + { + "x": 0.6659622192382812, + "y": 0.8065117597579956 + }, + { + "x": 0.6975881457328796, + "y": 0.7576384544372559 + }, + { + "x": 0.6856287717819214, + "y": 0.6824691891670227 + }, + { + "x": 0.6436380743980408, + "y": 0.6399706602096558 + }, + { + "x": 0.6383227705955505, + "y": 0.6920313239097595 + }, + { + "x": 0.6399173736572266, + "y": 0.7613570690155029 + } + ], + "labios": [ + { + "x": 0.2702395021915436, + "y": 0.6614855527877808 + }, + { + "x": 0.28459078073501587, + "y": 0.6227056384086609 + }, + { + "x": 0.2930952310562134, + "y": 0.5836601257324219 + }, + { + "x": 0.2840592563152313, + "y": 0.5470051169395447 + }, + { + "x": 0.2909691035747528, + "y": 0.5103501677513123 + }, + { + "x": 0.2814016044139862, + "y": 0.4694453477859497 + }, + { + "x": 0.26651880145072937, + "y": 0.42854049801826477 + }, + { + "x": 0.24950991570949554, + "y": 0.3908230662345886 + }, + { + "x": 0.21921280026435852, + "y": 0.43863391876220703 + }, + { + "x": 0.20060932636260986, + "y": 0.4933507442474365 + }, + { + "x": 0.19476251304149628, + "y": 0.5496612787246704 + }, + { + "x": 0.2011408507823944, + "y": 0.6022531986236572 + }, + { + "x": 0.2213389128446579, + "y": 0.6535170674324036 + }, + { + "x": 0.2516360282897949, + "y": 0.6965467929840088 + } + ], + "olho_direito": [ + { + "x": 0.6417776942253113, + "y": 0.269702285528183 + }, + { + "x": 0.6771243214607239, + "y": 0.31645065546035767 + }, + { + "x": 0.6718090772628784, + "y": 0.3929480016231537 + }, + { + "x": 0.6351336240768433, + "y": 0.43863391876220703 + }, + { + "x": 0.6263633966445923, + "y": 0.3876356780529022 + }, + { + "x": 0.6213138699531555, + "y": 0.31698188185691833 + } + ], + "sobrancelha_esquerda": [ + { + "x": 0.7657566666603088, + "y": 0.8899151086807251 + }, + { + "x": 0.8114680647850037, + "y": 0.7531229853630066 + }, + { + "x": 0.7696102261543274, + "y": 0.6128778457641602 + }, + { + "x": 0.72257000207901, + "y": 0.6219087839126587 + }, + { + "x": 0.7592454552650452, + "y": 0.7539198398590088 + }, + { + "x": 0.7382500767707825, + "y": 0.8864620923995972 + } + ], + "nariz": [ + { + "x": 0.5976608991622925, + "y": 0.5454114675521851 + }, + { + "x": 0.4828507900238037, + "y": 0.6359863877296448 + }, + { + "x": 0.3930225372314453, + "y": 0.6397050619125366 + }, + { + "x": 0.3893018364906311, + "y": 0.59428471326828 + }, + { + "x": 0.37760820984840393, + "y": 0.5507237315177917 + }, + { + "x": 0.3877072334289551, + "y": 0.5039753913879395 + }, + { + "x": 0.3882387578487396, + "y": 0.45616453886032104 + }, + { + "x": 0.47753551602363586, + "y": 0.4556333124637604 + } + ] + }, + "bounding_box": { + "y": 0.33591800928115845, + "largura": 0.16880151629447937, + "altura": 0.30009159445762634, + "x": 0.6106241941452026 + }, + "roll": -1.5707963705062866 + } + }, + { + "tipo": "qualidade_do_rosto", + "confianca": 0.9011169075965881, + "modelo": "VNDetectFaceCaptureQualityRequest", + "valor": { + "score": 0.7958984375, + "bounding_box": { + "y": 0.3266613483428955, + "largura": 0.16975492238998413, + "altura": 0.30178651213645935, + "x": 0.6069639921188354 + } + } + }, + { + "tipo": "pessoa", + "confianca": 0.7194290161132812, + "modelo": "VNDetectHumanRectanglesRequest", + "valor": { + "ocupacao_do_quadro": 0.6837037895332135, + "bounding_box": { + "y": 0.09941520823372735, + "largura": 0.8495065810820568, + "altura": 0.8048245943690603, + "x": 0.001644736913179881 + } + } + }, + { + "tipo": "pose", + "confianca": 1, + "modelo": "VNDetectHumanBodyPoseRequest", + "valor": { + "pontos": { + "VNHumanBodyPoseObservationJointName(_rawValue: left_forearm_joint)": { + "x": 0.2380172312259674, + "y": 0.12915658950805664, + "confianca": 0.560546875 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: neck_1_joint)": { + "y": 0.5135517716407776, + "x": 0.529944121837616, + "confianca": 0.271728515625 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_ear_joint)": { + "y": 0.36539894342422485, + "x": 0.709490180015564, + "confianca": 0.3076171875 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: root)": { + "x": 0, + "y": 1, + "confianca": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_foot_joint)": { + "x": 0, + "y": 1, + "confianca": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_upLeg_joint)": { + "y": 1, + "x": 0, + "confianca": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_upLeg_joint)": { + "y": 1, + "x": 0, + "confianca": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_shoulder_1_joint)": { + "y": 0.7383162379264832, + "x": 0.5025597214698792, + "confianca": 0.37890625 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_hand_joint)": { + "y": 0.2948912978172302, + "x": 0.22246484458446503, + "confianca": 0.61767578125 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_shoulder_1_joint)": { + "x": 0.5573285222053528, + "y": 0.288787305355072, + "confianca": 0.16455078125 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_foot_joint)": { + "x": 0, + "y": 1, + "confianca": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_leg_joint)": { + "y": 1, + "x": 0, + "confianca": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_hand_joint)": { + "y": 0.7436068654060364, + "x": 0.2428782880306244, + "confianca": 0.72021484375 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_ear_joint)": { + "y": 0.6349315643310547, + "x": 0.6908915042877197, + "confianca": 0.51123046875 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: head_joint)": { + "y": 0.5098488330841064, + "x": 0.6870884299278259, + "confianca": 0.72607421875 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_eye_joint)": { + "x": 0.7184322476387024, + "y": 0.4539220333099365, + "confianca": 0.861328125 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_forearm_joint)": { + "x": 0.26562148332595825, + "y": 0.8826481103897095, + "confianca": 0.6044921875 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_leg_joint)": { + "y": 1, + "x": 0, + "confianca": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_eye_joint)": { + "y": 0.5660786628723145, + "x": 0.7187648415565491, + "confianca": 0.87060546875 + } + } + } + }, + { + "tipo": "mao", + "confianca": 1, + "modelo": "VNDetectHumanHandPoseRequest", + "valor": { + "pontos": { + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTMP)": { + "x": 0.27139973640441895, + "y": 0.40865927934646606, + "confianca": 0.6953125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMMCP)": { + "y": 0.40487998723983765, + "x": 0.23969076573848724, + "confianca": 0.90380859375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIDIP)": { + "y": 0.5296709537506104, + "x": 0.2581254243850708, + "confianca": 0.91796875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPPIP)": { + "y": 0.45678961277008057, + "x": 0.18088482320308685, + "confianca": 0.8994140625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMDIP)": { + "y": 0.5475818514823914, + "x": 0.21177388727664948, + "confianca": 0.87744140625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRTIP)": { + "y": 0.5728301405906677, + "x": 0.18417847156524658, + "confianca": 0.90380859375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPDIP)": { + "x": 0.17396637797355652, + "y": 0.49715983867645264, + "confianca": 0.90478515625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMTIP)": { + "x": 0.20626018941402435, + "y": 0.5875028371810913, + "confianca": 0.8876953125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPMCP)": { + "x": 0.1940433233976364, + "y": 0.3935658931732178, + "confianca": 0.87255859375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIPIP)": { + "y": 0.4824802279472351, + "x": 0.26347246766090393, + "confianca": 0.91357421875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMPIP)": { + "y": 0.49110132455825806, + "x": 0.22244621813297272, + "confianca": 0.884765625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPTIP)": { + "y": 0.5364120006561279, + "x": 0.1714918464422226, + "confianca": 0.9072265625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTIP)": { + "x": 0.2756099998950958, + "y": 0.4798051118850708, + "confianca": 0.71435546875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKWRI)": { + "y": 0.2938370108604431, + "x": 0.23158743977546692, + "confianca": 0.787109375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIMCP)": { + "y": 0.41225099563598633, + "x": 0.2653666138648987, + "confianca": 0.87255859375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTTIP)": { + "y": 0.5357489585876465, + "x": 0.2871677577495575, + "confianca": 0.82666015625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRPIP)": { + "y": 0.473075270652771, + "x": 0.1973850429058075, + "confianca": 0.890625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRMCP)": { + "y": 0.3968985080718994, + "x": 0.21628975868225098, + "confianca": 0.90283203125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRDIP)": { + "y": 0.5274838209152222, + "x": 0.18847796320915222, + "confianca": 0.8876953125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTCMC)": { + "x": 0.259446382522583, + "y": 0.3395567536354065, + "confianca": 0.72509765625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKITIP)": { + "x": 0.25074437260627747, + "y": 0.5730986595153809, + "confianca": 0.9111328125 + } + } + } + }, + { + "tipo": "mao", + "confianca": 1, + "modelo": "VNDetectHumanHandPoseRequest", + "valor": { + "pontos": { + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIDIP)": { + "x": 0.25779828429222107, + "y": 0.5040950775146484, + "confianca": 0.7578125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPPIP)": { + "y": 0.5995529890060425, + "x": 0.19477592408657074, + "confianca": 0.7998046875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMDIP)": { + "y": 0.5149359703063965, + "x": 0.2309243232011795, + "confianca": 0.71728515625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMMCP)": { + "y": 0.6332020163536072, + "x": 0.25669342279434204, + "confianca": 0.90673828125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTMP)": { + "y": 0.6174590587615967, + "x": 0.27894121408462524, + "confianca": 0.68798828125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRTIP)": { + "y": 0.5064879655838013, + "x": 0.20421551167964935, + "confianca": 0.69775390625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMTIP)": { + "x": 0.22611770033836365, + "y": 0.49136245250701904, + "confianca": 0.7275390625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPDIP)": { + "y": 0.5723004937171936, + "x": 0.18786630034446716, + "confianca": 0.7685546875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIPIP)": { + "x": 0.26897430419921875, + "y": 0.5400518774986267, + "confianca": 0.80224609375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPMCP)": { + "y": 0.6539201736450195, + "x": 0.2107330560684204, + "confianca": 0.8720703125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMPIP)": { + "y": 0.5534584522247314, + "x": 0.24129585921764374, + "confianca": 0.619140625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPTIP)": { + "y": 0.5442823171615601, + "x": 0.18547874689102173, + "confianca": 0.69580078125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTIP)": { + "x": 0.2776205539703369, + "y": 0.5621943473815918, + "confianca": 0.51904296875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTTIP)": { + "y": 0.5201795101165771, + "x": 0.28034812211990356, + "confianca": 0.4052734375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIMCP)": { + "x": 0.2805209159851074, + "y": 0.6185359954833984, + "confianca": 0.841796875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKWRI)": { + "y": 0.7134779095649719, + "x": 0.2513808310031891, + "confianca": 0.779296875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRPIP)": { + "x": 0.21645495295524597, + "y": 0.5715048313140869, + "confianca": 0.74462890625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRMCP)": { + "y": 0.6449816226959229, + "x": 0.23391081392765045, + "confianca": 0.888671875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRDIP)": { + "y": 0.5319359302520752, + "x": 0.20862826704978943, + "confianca": 0.71435546875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTCMC)": { + "y": 0.6744743585586548, + "x": 0.2733134925365448, + "confianca": 0.72216796875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKITIP)": { + "x": 0.2510775923728943, + "y": 0.4899906516075134, + "confianca": 0.62353515625 + } + } + } + }, + { + "tipo": "categoria", + "confianca": 0.79736328125, + "modelo": "VNClassifyImageRequest", + "valor": { + "identificador": "adult" + } + }, + { + "tipo": "categoria", + "confianca": 0.79736328125, + "modelo": "VNClassifyImageRequest", + "valor": { + "identificador": "people" + } + }, + { + "tipo": "categoria", + "confianca": 0.21065786480903625, + "modelo": "VNClassifyImageRequest", + "valor": { + "identificador": "clothing" + } + }, + { + "tipo": "estetica", + "modelo": "VNCalculateImageAestheticsScoresRequest", + "valor": { + "score_global": 0.68212890625 + } + }, + { + "tipo": "horizonte", + "confianca": 1, + "modelo": "VNDetectHorizonRequest", + "valor": { + "angulo_radianos": 0.01745329238474369 + } + }, + { + "tipo": "contornos", + "confianca": 1, + "modelo": "VNDetectContoursRequest", + "valor": { + "quantidade_principal": 5 + } + }, + { + "tipo": "segmentacao_de_pessoas", + "modelo": "VNGeneratePersonSegmentationRequest", + "valor": { + "ocupacao_do_quadro": 0.5022430419921875 + } + } + ], + "avisos": [] + }, + { + "timestamp_s": 10, + "arquivo": "frame-10s.png", + "tempo_processamento_ms": 1272, + "evidencias": [ + { + "modelo": "CoreImageHistogram", + "tipo": "brilho", + "valor": { + "contraste": 0.24647209647993157, + "exposicao": "equilibrado", + "clipping_branco": 0, + "clipping_preto": 0.0838500675154321, + "media_brilho": 0.4244130497685185 + } + }, + { + "modelo": "VNDetectFaceLandmarksRequest", + "tipo": "rosto", + "valor": { + "yaw": 0, + "bounding_box": { + "altura": 0.2962671220302582, + "y": 0.40973225235939026, + "x": 0.5984224081039429, + "largura": 0.16665026545524597 + }, + "pitch": 0, + "roll": -1.5707963705062866, + "landmarks": { + "sobrancelha_esquerda": [ + { + "y": 0.9198594689369202, + "x": 0.7162857055664062 + }, + { + "y": 0.7990175485610962, + "x": 0.7936192750930786 + }, + { + "y": 0.6562654376029968, + "x": 0.7847427129745483 + }, + { + "y": 0.6557278037071228, + "x": 0.734038770198822 + }, + { + "y": 0.7882640957832336, + "x": 0.7396875023841858 + }, + { + "y": 0.9107190370559692, + "x": 0.6893870830535889 + } + ], + "labios": [ + { + "y": 0.6425548195838928, + "x": 0.28644540905952454 + }, + { + "y": 0.6078749299049377, + "x": 0.30258458852767944 + }, + { + "y": 0.5721197128295898, + "x": 0.31280606985092163 + }, + { + "y": 0.5350202918052673, + "x": 0.3068883717060089 + }, + { + "y": 0.49899619817733765, + "x": 0.3165718913078308 + }, + { + "y": 0.45598238706588745, + "x": 0.3101162016391754 + }, + { + "y": 0.41296857595443726, + "x": 0.29828080534935 + }, + { + "y": 0.3726431429386139, + "x": 0.28267958760261536 + }, + { + "y": 0.4161946177482605, + "x": 0.24609744548797607 + }, + { + "y": 0.46942421793937683, + "x": 0.22027474641799927 + }, + { + "y": 0.5264174938201904, + "x": 0.2089773267507553 + }, + { + "y": 0.5793782472610474, + "x": 0.2127431333065033 + }, + { + "y": 0.6309948563575745, + "x": 0.23264813423156738 + }, + { + "y": 0.6732021570205688, + "x": 0.2654644548892975 + } + ], + "olho_esquerdo": [ + { + "y": 0.8232128024101257, + "x": 0.6401625275611877 + }, + { + "y": 0.7815431952476501, + "x": 0.6732478737831116 + }, + { + "y": 0.7116457223892212, + "x": 0.6756687760353088 + }, + { + "y": 0.6635240316390991, + "x": 0.6514599919319153 + }, + { + "y": 0.7113769054412842, + "x": 0.6407005190849304 + }, + { + "y": 0.7758976221084595, + "x": 0.6299410462379456 + } + ], + "olho_direito": [ + { + "y": 0.29736897349357605, + "x": 0.6910009980201721 + }, + { + "y": 0.34683483839035034, + "x": 0.7162857055664062 + }, + { + "y": 0.4178076386451721, + "x": 0.7044503092765808 + }, + { + "y": 0.4602837860584259, + "x": 0.6710959672927856 + }, + { + "y": 0.4108178913593292, + "x": 0.6694820523262024 + }, + { + "y": 0.3436088263988495, + "x": 0.6708269715309143 + } + ], + "nariz": [ + { + "y": 0.5645922422409058, + "x": 0.622409462928772 + }, + { + "y": 0.6406729221343994, + "x": 0.499482661485672 + }, + { + "y": 0.6350274085998535, + "x": 0.41017916798591614 + }, + { + "y": 0.5893251895904541, + "x": 0.40964117646217346 + }, + { + "y": 0.5438918471336365, + "x": 0.40049564838409424 + }, + { + "y": 0.4963078498840332, + "x": 0.41609686613082886 + }, + { + "y": 0.4463042914867401, + "x": 0.42309051752090454 + }, + { + "y": 0.45652008056640625, + "x": 0.5140079259872437 + } + ], + "sobrancelha_direita": [ + { + "y": 0.21886876225471497, + "x": 0.792543351650238 + }, + { + "y": 0.3602766692638397, + "x": 0.841498851776123 + }, + { + "y": 0.506523609161377, + "x": 0.8050512075424194 + }, + { + "y": 0.4963078498840332, + "x": 0.7525988817214966 + }, + { + "y": 0.3597390055656433, + "x": 0.7864911556243896 + }, + { + "y": 0.22263246774673462, + "x": 0.7638962864875793 + } + ], + "rosto": [ + { + "y": 0.13983088731765747, + "x": 0.6942288279533386 + }, + { + "y": 0.12638907134532928, + "x": 0.5796406269073486 + }, + { + "y": 0.12262535840272903, + "x": 0.4629004895687103 + }, + { + "y": 0.1274644136428833, + "x": 0.3456224203109741 + }, + { + "y": 0.15058434009552002, + "x": 0.23157218098640442 + }, + { + "y": 0.2059646099805832, + "x": 0.12881937623023987 + }, + { + "y": 0.2844648063182831, + "x": 0.04435763880610466 + }, + { + "y": 0.3817835748195648, + "x": -0.017509235069155693 + }, + { + "y": 0.4946948289871216, + "x": -0.04279395565390587 + }, + { + "y": 0.6038423776626587, + "x": -0.031496528536081314 + }, + { + "y": 0.7000857591629028, + "x": 0.019072918221354485 + }, + { + "y": 0.7836938500404358, + "x": 0.09008532762527466 + }, + { + "y": 0.8475424647331238, + "x": 0.17938882112503052 + }, + { + "y": 0.8889433145523071, + "x": 0.28214162588119507 + }, + { + "y": 0.9160957336425781, + "x": 0.39027416706085205 + }, + { + "y": 0.9361240863800049, + "x": 0.499482661485672 + }, + { + "y": 0.9463398456573486, + "x": 0.6081531643867493 + } + ] + } + }, + "confianca": 1 + }, + { + "modelo": "VNDetectFaceCaptureQualityRequest", + "tipo": "qualidade_do_rosto", + "valor": { + "score": 0.80517578125, + "bounding_box": { + "x": 0.6021227240562439, + "y": 0.40725934505462646, + "altura": 0.29621297121047974, + "largura": 0.16661979258060455 + } + }, + "confianca": 0.8691208958625793 + }, + { + "modelo": "VNDetectHumanRectanglesRequest", + "tipo": "pessoa", + "valor": { + "bounding_box": { + "altura": 0.7975146267933448, + "x": -0.00020559211414748513, + "y": 0.13961991034230373, + "largura": 0.8330592371832799 + }, + "ocupacao_do_quadro": 0.664376926638972 + }, + "confianca": 0.7335433959960938 + }, + { + "modelo": "VNDetectHumanBodyPoseRequest", + "tipo": "pose", + "valor": { + "pontos": { + "VNHumanBodyPoseObservationJointName(_rawValue: head_joint)": { + "y": 0.5849509239196777, + "confianca": 0.78955078125, + "x": 0.6753618717193604 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_shoulder_1_joint)": { + "y": 0.7801551222801208, + "confianca": 0.37353515625, + "x": 0.4944939613342285 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_eye_joint)": { + "x": 0.713060736656189, + "y": 0.5337297916412354, + "confianca": 0.8212890625 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_upLeg_joint)": { + "x": 0, + "y": 1, + "confianca": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_hand_joint)": { + "y": 0.7509744167327881, + "confianca": 0.60498046875, + "x": 0.23614057898521423 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: neck_1_joint)": { + "y": 0.5622120797634125, + "confianca": 0.2655029296875, + "x": 0.517356276512146 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_foot_joint)": { + "y": 1, + "x": 0, + "confianca": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_foot_joint)": { + "y": 1, + "confianca": 0, + "x": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_forearm_joint)": { + "y": 0.16800111532211304, + "x": 0.23390726745128632, + "confianca": 0.56494140625 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_leg_joint)": { + "x": 0, + "y": 1, + "confianca": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_ear_joint)": { + "y": 0.4417271018028259, + "x": 0.7018654942512512, + "confianca": 0.417236328125 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: root)": { + "x": 0, + "y": 1, + "confianca": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_forearm_joint)": { + "x": 0.253020703792572, + "y": 0.9127947688102722, + "confianca": 0.57861328125 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_ear_joint)": { + "y": 0.7074589729309082, + "confianca": 0.49853515625, + "x": 0.6811057925224304 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_upLeg_joint)": { + "y": 1, + "x": 0, + "confianca": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_eye_joint)": { + "x": 0.7037218809127808, + "y": 0.6460978984832764, + "confianca": 0.87890625 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_shoulder_1_joint)": { + "y": 0.3442690372467041, + "confianca": 0.157470703125, + "x": 0.5402185916900635 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_hand_joint)": { + "x": 0.22381654381752014, + "y": 0.3479161858558655, + "confianca": 0.59912109375 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_leg_joint)": { + "x": 0, + "y": 1, + "confianca": 0 + } + } + }, + "confianca": 1 + }, + { + "modelo": "VNDetectHumanHandPoseRequest", + "tipo": "mao", + "valor": { + "pontos": { + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMMCP)": { + "y": 0.4978035092353821, + "x": 0.24090510606765747, + "confianca": 0.58837890625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRMCP)": { + "x": 0.21340389549732208, + "y": 0.5004905462265015, + "confianca": 0.54248046875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRDIP)": { + "x": 0.19857633113861084, + "y": 0.5717421770095825, + "confianca": 0.370849609375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIPIP)": { + "x": 0.27061426639556885, + "y": 0.556989312171936, + "confianca": 0.67919921875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRPIP)": { + "y": 0.5501899719238281, + "x": 0.20710189640522003, + "confianca": 0.496826171875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMPIP)": { + "y": 0.5594729781150818, + "x": 0.23946145176887512, + "confianca": 0.6396484375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPDIP)": { + "y": 0.5414806604385376, + "confianca": 0.49658203125, + "x": 0.18564583361148834 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIMCP)": { + "x": 0.27140456438064575, + "y": 0.497464120388031, + "confianca": 0.6337890625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRTIP)": { + "y": 0.5907069444656372, + "confianca": 0.2265625, + "x": 0.19076022505760193 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPMCP)": { + "y": 0.49671393632888794, + "confianca": 0.62158203125, + "x": 0.19569215178489685 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTTIP)": { + "y": 0.5381933450698853, + "confianca": 0.88427734375, + "x": 0.3341597020626068 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPPIP)": { + "y": 0.5301038026809692, + "x": 0.19276191294193268, + "confianca": 0.43994140625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMDIP)": { + "x": 0.235203355550766, + "y": 0.5823848843574524, + "confianca": 0.46728515625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMTIP)": { + "y": 0.5882555842399597, + "confianca": 0.2451171875, + "x": 0.23193538188934326 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTMP)": { + "x": 0.28635987639427185, + "y": 0.4582267999649048, + "confianca": 0.75341796875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTIP)": { + "x": 0.3027987778186798, + "y": 0.5207040905952454, + "confianca": 0.78759765625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIDIP)": { + "y": 0.5990676879882812, + "x": 0.26659461855888367, + "confianca": 0.60546875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPTIP)": { + "x": 0.17924220860004425, + "y": 0.546178936958313, + "confianca": 0.349365234375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKITIP)": { + "y": 0.6299334764480591, + "confianca": 0.5791015625, + "x": 0.26596012711524963 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKWRI)": { + "x": 0.2288200855255127, + "y": 0.36323875188827515, + "confianca": 0.64599609375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTCMC)": { + "y": 0.4016403555870056, + "confianca": 0.71044921875, + "x": 0.2665259838104248 + } + } + }, + "confianca": 1 + }, + { + "modelo": "VNDetectHumanHandPoseRequest", + "tipo": "mao", + "valor": { + "pontos": { + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKWRI)": { + "y": 0.7161890268325806, + "x": 0.24256156384944916, + "confianca": 0.708984375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRMCP)": { + "y": 0.6333771347999573, + "x": 0.22690853476524353, + "confianca": 0.810546875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRDIP)": { + "y": 0.5308493375778198, + "confianca": 0.73876953125, + "x": 0.19892121851444244 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIPIP)": { + "y": 0.557863175868988, + "x": 0.27809157967567444, + "confianca": 0.88818359375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRPIP)": { + "x": 0.2151409387588501, + "y": 0.5724318027496338, + "confianca": 0.6962890625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMPIP)": { + "y": 0.5605890154838562, + "confianca": 0.71630859375, + "x": 0.2461313158273697 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPDIP)": { + "y": 0.600637674331665, + "confianca": 0.44970703125, + "x": 0.18315580487251282 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIMCP)": { + "x": 0.27506864070892334, + "y": 0.6263476610183716, + "confianca": 0.767578125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRTIP)": { + "y": 0.4918336868286133, + "x": 0.18314485251903534, + "confianca": 0.58740234375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPMCP)": { + "y": 0.6478137373924255, + "confianca": 0.7548828125, + "x": 0.20650561153888702 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPPIP)": { + "x": 0.19775895774364471, + "y": 0.6109349727630615, + "confianca": 0.60791015625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMDIP)": { + "y": 0.5179369449615479, + "x": 0.23691824078559875, + "confianca": 0.8466796875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTIP)": { + "y": 0.5764319896697998, + "confianca": 0.7783203125, + "x": 0.2993799149990082 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMTIP)": { + "y": 0.4732653498649597, + "confianca": 0.892578125, + "x": 0.23144002258777618 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTMP)": { + "x": 0.28921234607696533, + "y": 0.6388388276100159, + "confianca": 0.71630859375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTTIP)": { + "x": 0.3244701027870178, + "y": 0.5556216239929199, + "confianca": 0.68896484375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIDIP)": { + "x": 0.28303712606430054, + "y": 0.5181522369384766, + "confianca": 0.8330078125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPTIP)": { + "x": 0.17007173597812653, + "y": 0.6011070013046265, + "confianca": 0.245361328125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKITIP)": { + "x": 0.2849506437778473, + "y": 0.4751124382019043, + "confianca": 0.89453125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMMCP)": { + "y": 0.6249465942382812, + "confianca": 0.7412109375, + "x": 0.2523067891597748 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTCMC)": { + "x": 0.27400895953178406, + "y": 0.6950798630714417, + "confianca": 0.71240234375 + } + } + }, + "confianca": 1 + }, + { + "modelo": "VNClassifyImageRequest", + "tipo": "categoria", + "valor": { + "identificador": "people" + }, + "confianca": 0.8857422471046448 + }, + { + "modelo": "VNClassifyImageRequest", + "tipo": "categoria", + "valor": { + "identificador": "adult" + }, + "confianca": 0.8857421875 + }, + { + "modelo": "VNClassifyImageRequest", + "tipo": "categoria", + "valor": { + "identificador": "clothing" + }, + "confianca": 0.23602592945098877 + }, + { + "modelo": "VNCalculateImageAestheticsScoresRequest", + "tipo": "estetica", + "valor": { + "score_global": 0.67578125 + } + }, + { + "modelo": "VNDetectHorizonRequest", + "tipo": "horizonte", + "valor": { + "angulo_radianos": 0.01745329238474369 + }, + "confianca": 1 + }, + { + "modelo": "VNDetectContoursRequest", + "tipo": "contornos", + "valor": { + "quantidade_principal": 5 + }, + "confianca": 1 + }, + { + "modelo": "VNGeneratePersonSegmentationRequest", + "tipo": "segmentacao_de_pessoas", + "valor": { + "ocupacao_do_quadro": 0.4916737874348958 + } + } + ], + "avisos": [] + }, + { + "timestamp_s": 11, + "arquivo": "frame-11s.png", + "tempo_processamento_ms": 1287, + "evidencias": [ + { + "modelo": "CoreImageHistogram", + "valor": { + "exposicao": "equilibrado", + "clipping_branco": 1.2056327160493827e-07, + "clipping_preto": 0.0881643036265432, + "contraste": 0.24768897977076304, + "media_brilho": 0.42401396973720046 + }, + "tipo": "brilho" + }, + { + "confianca": 1, + "modelo": "VNDetectFaceLandmarksRequest", + "valor": { + "bounding_box": { + "x": 0.5968491435050964, + "y": 0.41705942153930664, + "altura": 0.30202218890190125, + "largura": 0.1698874831199646 + }, + "pitch": 0, + "landmarks": { + "olho_direito": [ + { + "y": 0.29050058126449585, + "x": 0.6979637742042542 + }, + { + "y": 0.3384927213191986, + "x": 0.7233374118804932 + }, + { + "y": 0.40884479880332947, + "x": 0.7116055488586426 + }, + { + "y": 0.4508378803730011, + "x": 0.6780468225479126 + }, + { + "y": 0.4023004174232483, + "x": 0.6764098405838013 + }, + { + "y": 0.3363112509250641, + "x": 0.6783196926116943 + } + ], + "sobrancelha_esquerda": [ + { + "y": 0.9033544659614563, + "x": 0.7424358129501343 + }, + { + "y": 0.7816017270088196, + "x": 0.8103716969490051 + }, + { + "y": 0.6436243653297424, + "x": 0.7931830883026123 + }, + { + "y": 0.6449878215789795, + "x": 0.7451642155647278 + }, + { + "y": 0.7739666104316711, + "x": 0.7588059306144714 + }, + { + "y": 0.8955829739570618, + "x": 0.7162436842918396 + } + ], + "olho_esquerdo": [ + { + "y": 0.8096880316734314, + "x": 0.6589484214782715 + }, + { + "y": 0.7668768763542175, + "x": 0.6903244256973267 + }, + { + "y": 0.6976155042648315, + "x": 0.689778745174408 + }, + { + "y": 0.6520775556564331, + "x": 0.6622224450111389 + }, + { + "y": 0.6997969746589661, + "x": 0.653491735458374 + }, + { + "y": 0.7641500234603882, + "x": 0.6463980078697205 + } + ], + "sobrancelha_direita": [ + { + "y": 0.2152402400970459, + "x": 0.7995947003364563 + }, + { + "y": 0.3515814542770386, + "x": 0.8452945351600647 + }, + { + "y": 0.4906495213508606, + "x": 0.8091439008712769 + }, + { + "y": 0.4808329641819, + "x": 0.7593516111373901 + }, + { + "y": 0.3504907488822937, + "x": 0.793728768825531 + }, + { + "y": 0.21796706318855286, + "x": 0.7721748352050781 + } + ], + "labios": [ + { + "y": 0.6528955698013306, + "x": 0.31872355937957764 + }, + { + "y": 0.6109024882316589, + "x": 0.33782199025154114 + }, + { + "y": 0.5670006275177002, + "x": 0.34764403104782104 + }, + { + "y": 0.5266436338424683, + "x": 0.3427329957485199 + }, + { + "y": 0.48628661036491394, + "x": 0.3525550663471222 + }, + { + "y": 0.4366583824157715, + "x": 0.34873536229133606 + }, + { + "y": 0.3881209194660187, + "x": 0.33673062920570374 + }, + { + "y": 0.3439463675022125, + "x": 0.3154495358467102 + }, + { + "y": 0.38103118538856506, + "x": 0.25324320793151855 + }, + { + "y": 0.4410213232040405, + "x": 0.20904399454593658 + }, + { + "y": 0.5108280181884766, + "x": 0.19049124419689178 + }, + { + "y": 0.5806347131729126, + "x": 0.19758494198322296 + }, + { + "y": 0.6438970565795898, + "x": 0.23305346071720123 + }, + { + "y": 0.6864355206489563, + "x": 0.28980305790901184 + } + ], + "nariz": [ + { + "y": 0.5514577031135559, + "x": 0.6313921213150024 + }, + { + "y": 0.635443925857544, + "x": 0.5222582221031189 + }, + { + "y": 0.6343531608581543, + "x": 0.4376794695854187 + }, + { + "y": 0.5830888748168945, + "x": 0.43276846408843994 + }, + { + "y": 0.5337333679199219, + "x": 0.4202180504798889 + }, + { + "y": 0.4841051399707794, + "x": 0.4398621618747711 + }, + { + "y": 0.4317501187324524, + "x": 0.45186689496040344 + }, + { + "y": 0.4437481462955475, + "x": 0.5358999967575073 + } + ], + "rosto": [ + { + "y": 0.14379742741584778, + "x": 0.7012377977371216 + }, + { + "y": 0.13070866465568542, + "x": 0.587738573551178 + }, + { + "y": 0.12743647396564484, + "x": 0.47260230779647827 + }, + { + "y": 0.13179939985275269, + "x": 0.35746607184410095 + }, + { + "y": 0.15579545497894287, + "x": 0.24396684765815735 + }, + { + "y": 0.2081504911184311, + "x": 0.14083532989025116 + }, + { + "y": 0.282320111989975, + "x": 0.054073892533779144 + }, + { + "y": 0.37394142150878906, + "x": -0.01358911395072937 + }, + { + "y": 0.48465052247047424, + "x": -0.04360093176364899 + }, + { + "y": 0.5948142409324646, + "x": -0.027230849489569664 + }, + { + "y": 0.6902530789375305, + "x": 0.028427429497241974 + }, + { + "y": 0.7736939191818237, + "x": 0.10372980684041977 + }, + { + "y": 0.8390013575553894, + "x": 0.19485659897327423 + }, + { + "y": 0.8814035058021545, + "x": 0.29962512850761414 + }, + { + "y": 0.9083990454673767, + "x": 0.409304678440094 + }, + { + "y": 0.9265324473381042, + "x": 0.5206212401390076 + }, + { + "y": 0.9353946447372437, + "x": 0.6316649317741394 + } + ] + }, + "yaw": 0, + "roll": -1.5707963705062866 + }, + "tipo": "rosto" + }, + { + "confianca": 0.8420121073722839, + "modelo": "VNDetectFaceCaptureQualityRequest", + "valor": { + "bounding_box": { + "x": 0.5995862483978271, + "y": 0.41953274607658386, + "largura": 0.16904230415821075, + "altura": 0.3005196452140808 + }, + "score": 0.8359375 + }, + "tipo": "qualidade_do_rosto" + }, + { + "confianca": 0.709863543510437, + "modelo": "VNDetectHumanRectanglesRequest", + "valor": { + "ocupacao_do_quadro": 0.6648392300050693, + "bounding_box": { + "x": 0, + "y": 0.14546784145964517, + "altura": 0.7953216672640795, + "largura": 0.8359375298954547 + } + }, + "tipo": "pessoa" + }, + { + "confianca": 1, + "modelo": "VNDetectHumanBodyPoseRequest", + "valor": { + "pontos": { + "VNHumanBodyPoseObservationJointName(_rawValue: neck_1_joint)": { + "x": 0.5197964608669281, + "confianca": 0.237548828125, + "y": 0.5742319226264954 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_shoulder_1_joint)": { + "confianca": 0.33447265625, + "y": 0.783292293548584, + "x": 0.4898403286933899 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_ear_joint)": { + "confianca": 0.429443359375, + "y": 0.7210936546325684, + "x": 0.6785361170768738 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_upLeg_joint)": { + "confianca": 0, + "y": 1, + "x": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_foot_joint)": { + "x": 0, + "confianca": 0, + "y": 1 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_foot_joint)": { + "confianca": 0, + "y": 1, + "x": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_forearm_joint)": { + "confianca": 0.54345703125, + "y": 0.17391705513000488, + "x": 0.24721884727478027 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_eye_joint)": { + "confianca": 0.84912109375, + "y": 0.537939190864563, + "x": 0.7158788442611694 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_upLeg_joint)": { + "x": 0, + "confianca": 0, + "y": 1 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_leg_joint)": { + "x": 0, + "confianca": 0, + "y": 1 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: head_joint)": { + "x": 0.6798146963119507, + "confianca": 0.79248046875, + "y": 0.5857723951339722 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: root)": { + "confianca": 0, + "y": 1, + "x": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_hand_joint)": { + "x": 0.22257459163665771, + "confianca": 0.54248046875, + "y": 0.3541635274887085 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_forearm_joint)": { + "x": 0.24289241433143616, + "confianca": 0.60546875, + "y": 0.9190647602081299 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_shoulder_1_joint)": { + "x": 0.5497525930404663, + "confianca": 0.140625, + "y": 0.36517155170440674 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_ear_joint)": { + "x": 0.7048643827438354, + "confianca": 0.3818359375, + "y": 0.4511980414390564 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_hand_joint)": { + "x": 0.22428341209888458, + "confianca": 0.70361328125, + "y": 0.7711696624755859 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_eye_joint)": { + "x": 0.7049384117126465, + "confianca": 0.9013671875, + "y": 0.6518396139144897 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_leg_joint)": { + "x": 0, + "confianca": 0, + "y": 1 + } + } + }, + "tipo": "pose" + }, + { + "confianca": 1, + "modelo": "VNDetectHumanHandPoseRequest", + "valor": { + "pontos": { + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMPIP)": { + "confianca": 0.6533203125, + "y": 0.5322256684303284, + "x": 0.24122485518455505 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRMCP)": { + "confianca": 0.59130859375, + "y": 0.634698748588562, + "x": 0.21495592594146729 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIDIP)": { + "x": 0.28090211749076843, + "confianca": 0.646484375, + "y": 0.49096065759658813 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKITIP)": { + "confianca": 0.75390625, + "y": 0.4474131464958191, + "x": 0.27812501788139343 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIPIP)": { + "confianca": 0.73095703125, + "y": 0.5394116640090942, + "x": 0.2759511172771454 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPPIP)": { + "x": 0.18456926941871643, + "confianca": 0.75732421875, + "y": 0.5751080513000488 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTTIP)": { + "x": 0.3261232376098633, + "confianca": 0.75830078125, + "y": 0.5503731966018677 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTIP)": { + "confianca": 0.548828125, + "y": 0.5618257522583008, + "x": 0.29985132813453674 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKWRI)": { + "x": 0.23746131360530853, + "confianca": 0.5205078125, + "y": 0.6972164511680603 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIMCP)": { + "x": 0.26544755697250366, + "confianca": 0.6220703125, + "y": 0.6281973719596863 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPDIP)": { + "x": 0.18111729621887207, + "confianca": 0.65283203125, + "y": 0.5300623178482056 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPMCP)": { + "x": 0.19157209992408752, + "confianca": 0.58154296875, + "y": 0.6432637572288513 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMMCP)": { + "x": 0.24200905859470367, + "confianca": 0.66015625, + "y": 0.6259785294532776 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRDIP)": { + "x": 0.2077617347240448, + "confianca": 0.421142578125, + "y": 0.4983404874801636 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTMP)": { + "confianca": 0.55615234375, + "y": 0.6291760206222534, + "x": 0.28370657563209534 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPTIP)": { + "x": 0.18207235634326935, + "confianca": 0.75341796875, + "y": 0.4916027784347534 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRTIP)": { + "x": 0.21211320161819458, + "confianca": 0.4736328125, + "y": 0.4568074941635132 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTCMC)": { + "x": 0.26870378851890564, + "confianca": 0.5546875, + "y": 0.6842460036277771 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMTIP)": { + "x": 0.24207346141338348, + "confianca": 0.36181640625, + "y": 0.44741082191467285 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMDIP)": { + "confianca": 0.43115234375, + "y": 0.4851416349411011, + "x": 0.24424070119857788 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRPIP)": { + "x": 0.20744627714157104, + "confianca": 0.56201171875, + "y": 0.5569334030151367 + } + } + }, + "tipo": "mao" + }, + { + "confianca": 0.8330078125, + "modelo": "VNClassifyImageRequest", + "valor": { + "identificador": "adult" + }, + "tipo": "categoria" + }, + { + "confianca": 0.8330078125, + "modelo": "VNClassifyImageRequest", + "valor": { + "identificador": "people" + }, + "tipo": "categoria" + }, + { + "confianca": 0.2573153078556061, + "modelo": "VNClassifyImageRequest", + "valor": { + "identificador": "clothing" + }, + "tipo": "categoria" + }, + { + "confianca": 0.22515873610973358, + "modelo": "VNClassifyImageRequest", + "valor": { + "identificador": "celebration" + }, + "tipo": "categoria" + }, + { + "confianca": 0.22515873610973358, + "modelo": "VNClassifyImageRequest", + "valor": { + "identificador": "ceremony" + }, + "tipo": "categoria" + }, + { + "confianca": 0.22515873610973358, + "modelo": "VNClassifyImageRequest", + "valor": { + "identificador": "wedding" + }, + "tipo": "categoria" + }, + { + "confianca": 0.2060546875, + "modelo": "VNClassifyImageRequest", + "valor": { + "identificador": "wedding_dress" + }, + "tipo": "categoria" + }, + { + "modelo": "VNCalculateImageAestheticsScoresRequest", + "valor": { + "score_global": 0.65673828125 + }, + "tipo": "estetica" + }, + { + "confianca": 1, + "modelo": "VNDetectHorizonRequest", + "valor": { + "angulo_radianos": 0.01745329238474369 + }, + "tipo": "horizonte" + }, + { + "confianca": 1, + "modelo": "VNDetectContoursRequest", + "valor": { + "quantidade_principal": 5 + }, + "tipo": "contornos" + }, + { + "modelo": "VNGeneratePersonSegmentationRequest", + "valor": { + "ocupacao_do_quadro": 0.4916585286458333 + }, + "tipo": "segmentacao_de_pessoas" + } + ], + "avisos": [] + }, + { + "timestamp_s": 12, + "arquivo": "frame-12s.png", + "tempo_processamento_ms": 1269, + "evidencias": [ + { + "tipo": "brilho", + "valor": { + "contraste": 0.2537188585572269, + "clipping_preto": 0.09911289544753087, + "media_brilho": 0.4322358695117708, + "clipping_branco": 2.592110339506173e-05, + "exposicao": "equilibrado" + }, + "modelo": "CoreImageHistogram" + }, + { + "tipo": "rosto", + "valor": { + "bounding_box": { + "x": 0.6222885251045227, + "largura": 0.16795724630355835, + "y": 0.40237489342689514, + "altura": 0.29859066009521484 + }, + "yaw": 0, + "pitch": 0, + "landmarks": { + "rosto": [ + { + "y": 0.19007685780525208, + "x": 0.6054379343986511 + }, + { + "y": 0.17051374912261963, + "x": 0.5051209926605225 + }, + { + "y": 0.1639927178621292, + "x": 0.40208548307418823 + }, + { + "y": 0.16507956385612488, + "x": 0.29877808690071106 + }, + { + "y": 0.17594794929027557, + "x": 0.19383953511714935 + }, + { + "y": 0.21127022802829742, + "x": 0.09596938639879227 + }, + { + "y": 0.26995956897735596, + "x": 0.011692303232848644 + }, + { + "y": 0.34821200370788574, + "x": -0.05464191362261772 + }, + { + "y": 0.44548410177230835, + "x": -0.0878090187907219 + }, + { + "y": 0.5634061694145203, + "x": -0.08672157675027847 + }, + { + "y": 0.6769809126853943, + "x": -0.05572935938835144 + }, + { + "y": 0.782132625579834, + "x": -0.0008133275550790131 + }, + { + "y": 0.8679929375648499, + "x": 0.0802014097571373 + }, + { + "y": 0.9236934185028076, + "x": 0.1851399689912796 + }, + { + "y": 0.9583364129066467, + "x": 0.2998655438423157 + }, + { + "y": 0.9830620288848877, + "x": 0.4173097312450409 + }, + { + "y": 0.9975305795669556, + "x": 0.5344820618629456 + } + ], + "nariz": [ + { + "y": 0.5058037042617798, + "x": 0.5741738677024841 + }, + { + "y": 0.5859581232070923, + "x": 0.44449588656425476 + }, + { + "y": 0.5740028619766235, + "x": 0.35151922702789307 + }, + { + "y": 0.5259101986885071, + "x": 0.3607625365257263 + }, + { + "y": 0.47700244188308716, + "x": 0.3585876226425171 + }, + { + "y": 0.44113674759864807, + "x": 0.36728721857070923 + }, + { + "y": 0.4041842222213745, + "x": 0.36728721857070923 + }, + { + "y": 0.41559603810310364, + "x": 0.45836082100868225 + } + ], + "olho_direito": [ + { + "y": 0.28408846259117126, + "x": 0.608428418636322 + }, + { + "y": 0.3270186185836792, + "x": 0.6318085193634033 + }, + { + "y": 0.3927724063396454, + "x": 0.625555694103241 + }, + { + "y": 0.43298545479774475, + "x": 0.6005443930625916 + }, + { + "y": 0.38788163661956787, + "x": 0.5937478542327881 + }, + { + "y": 0.3259317874908447, + "x": 0.5926604270935059 + } + ], + "sobrancelha_esquerda": [ + { + "y": 0.9075266718864441, + "x": 0.6799280047416687 + }, + { + "y": 0.7704491019248962, + "x": 0.7560492157936096 + }, + { + "y": 0.6125856637954712, + "x": 0.74232017993927 + }, + { + "y": 0.6147593259811401, + "x": 0.6908024549484253 + }, + { + "y": 0.7614826560020447, + "x": 0.7043955326080322 + }, + { + "y": 0.8992395401000977, + "x": 0.6543729901313782 + } + ], + "olho_esquerdo": [ + { + "y": 0.8068581819534302, + "x": 0.5768924355506897 + }, + { + "y": 0.7614826560020447, + "x": 0.6059816479682922 + }, + { + "y": 0.6889361143112183, + "x": 0.6103314161300659 + }, + { + "y": 0.6378546953201294, + "x": 0.5880388021469116 + }, + { + "y": 0.6881210207939148, + "x": 0.5749894380569458 + }, + { + "y": 0.7565918564796448, + "x": 0.565474271774292 + } + ], + "labios": [ + { + "y": 0.5805239081382751, + "x": 0.22102569043636322 + }, + { + "y": 0.5411259531974792, + "x": 0.24658067524433136 + }, + { + "y": 0.4998260736465454, + "x": 0.2661547064781189 + }, + { + "y": 0.46450379490852356, + "x": 0.26234865188598633 + }, + { + "y": 0.43026837706565857, + "x": 0.2721356749534607 + }, + { + "y": 0.3960329294204712, + "x": 0.2612611949443817 + }, + { + "y": 0.3634277284145355, + "x": 0.2438620626926422 + }, + { + "y": 0.3378870189189911, + "x": 0.2204819768667221 + }, + { + "y": 0.3683185279369354, + "x": 0.18677113950252533 + }, + { + "y": 0.40961840748786926, + "x": 0.16393476724624634 + }, + { + "y": 0.45526567101478577, + "x": 0.15469147264957428 + }, + { + "y": 0.5106945037841797, + "x": 0.1557789295911789 + }, + { + "y": 0.5658515691757202, + "x": 0.16882827877998352 + }, + { + "y": 0.6153027415275574, + "x": 0.19220836460590363 + } + ], + "sobrancelha_direita": [ + { + "y": 0.22213862836360931, + "x": 0.7277756333351135 + }, + { + "y": 0.34060412645339966, + "x": 0.7741280198097229 + }, + { + "y": 0.46613407135009766, + "x": 0.7472137212753296 + }, + { + "y": 0.45798277854919434, + "x": 0.6973271369934082 + }, + { + "y": 0.34060412645339966, + "x": 0.7234258055686951 + }, + { + "y": 0.22376888990402222, + "x": 0.6997738480567932 + } + ] + }, + "roll": -1.5707963705062866 + }, + "confianca": 1, + "modelo": "VNDetectFaceLandmarksRequest" + }, + { + "tipo": "qualidade_do_rosto", + "valor": { + "bounding_box": { + "x": 0.6217812299728394, + "largura": 0.16518555581569672, + "y": 0.4023519456386566, + "altura": 0.29366323351860046 + }, + "score": 0.74365234375 + }, + "confianca": 0.8805626630783081, + "modelo": "VNDetectFaceCaptureQualityRequest" + }, + { + "tipo": "pessoa", + "valor": { + "bounding_box": { + "x": 0.0024671052533544956, + "largura": 0.8318256940153479, + "y": 0.13304092927634328, + "altura": 0.8121345424251253 + }, + "ocupacao_do_quadro": 0.6755543793866169 + }, + "confianca": 0.7395099997520447, + "modelo": "VNDetectHumanRectanglesRequest" + }, + { + "tipo": "pose", + "valor": { + "pontos": { + "VNHumanBodyPoseObservationJointName(_rawValue: left_eye_joint)": { + "confianca": 0.7734375, + "x": 0.7260956168174744, + "y": 0.5177202224731445 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_hand_joint)": { + "confianca": 0.52783203125, + "x": 0.23675327003002167, + "y": 0.8998507857322693 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_shoulder_1_joint)": { + "confianca": 0.26416015625, + "x": 0.5039420127868652, + "y": 0.27364760637283325 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_hand_joint)": { + "y": 0.3158535957336426, + "x": 0.22907190024852753, + "confianca": 0.44189453125 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_upLeg_joint)": { + "y": 1, + "x": 0, + "confianca": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_foot_joint)": { + "y": 1, + "x": 0, + "confianca": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_eye_joint)": { + "confianca": 0.9052734375, + "x": 0.7173506021499634, + "y": 0.6340165138244629 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_forearm_joint)": { + "y": 0.18082255125045776, + "x": 0.2609378397464752, + "confianca": 0.56298828125 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: neck_1_joint)": { + "y": 0.5358326435089111, + "x": 0.49803753197193146, + "confianca": 0.3243408203125 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_ear_joint)": { + "y": 0.4426637887954712, + "x": 0.7084661722183228, + "confianca": 0.23486328125 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_ear_joint)": { + "confianca": 0.7177734375, + "x": 0.6811604499816895, + "y": 0.7124160528182983 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_leg_joint)": { + "confianca": 0, + "x": 0, + "y": 1 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_foot_joint)": { + "confianca": 0, + "x": 0, + "y": 1 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_upLeg_joint)": { + "confianca": 0, + "x": 0, + "y": 1 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_leg_joint)": { + "confianca": 0, + "x": 0, + "y": 1 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: root)": { + "y": 1, + "x": 0, + "confianca": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: head_joint)": { + "confianca": 0.8046875, + "x": 0.6921336054801941, + "y": 0.5624632835388184 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_forearm_joint)": { + "confianca": 0.52783203125, + "x": 0.28297415375709534, + "y": 0.8839037418365479 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_shoulder_1_joint)": { + "confianca": 0.384521484375, + "x": 0.4921330511569977, + "y": 0.798017680644989 + } + } + }, + "confianca": 1, + "modelo": "VNDetectHumanBodyPoseRequest" + }, + { + "tipo": "mao", + "valor": { + "pontos": { + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTTIP)": { + "y": 0.36947304010391235, + "x": 0.30046525597572327, + "confianca": 0.841796875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRMCP)": { + "confianca": 0.7744140625, + "x": 0.20553216338157654, + "y": 0.37513256072998047 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKITIP)": { + "y": 0.49699604511260986, + "x": 0.211063414812088, + "confianca": 0.86767578125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPTIP)": { + "y": 0.4988850951194763, + "x": 0.19377316534519196, + "confianca": 0.5 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMMCP)": { + "confianca": 0.806640625, + "x": 0.21510562300682068, + "y": 0.37046748399734497 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIPIP)": { + "y": 0.41822731494903564, + "x": 0.2242172509431839, + "confianca": 0.88671875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTCMC)": { + "confianca": 0.74951171875, + "x": 0.25397616624832153, + "y": 0.30248749256134033 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKWRI)": { + "confianca": 0.70068359375, + "x": 0.22494345903396606, + "y": 0.2935819625854492 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPPIP)": { + "confianca": 0.5888671875, + "x": 0.19943904876708984, + "y": 0.42566627264022827 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPDIP)": { + "confianca": 0.53466796875, + "x": 0.19681301712989807, + "y": 0.4664873480796814 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIMCP)": { + "y": 0.36258232593536377, + "x": 0.23447376489639282, + "confianca": 0.86669921875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRDIP)": { + "confianca": 0.7900390625, + "x": 0.1935134381055832, + "y": 0.49287307262420654 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTMP)": { + "confianca": 0.75439453125, + "x": 0.2726712226867676, + "y": 0.3242247700691223 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPMCP)": { + "y": 0.37787508964538574, + "x": 0.20311225950717926, + "confianca": 0.72509765625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMPIP)": { + "confianca": 0.78076171875, + "x": 0.20564201474189758, + "y": 0.4389517903327942 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRTIP)": { + "confianca": 0.75927734375, + "x": 0.18815194070339203, + "y": 0.5379273891448975 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRPIP)": { + "y": 0.4411020874977112, + "x": 0.1990233063697815, + "confianca": 0.701171875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTIP)": { + "confianca": 0.8291015625, + "x": 0.28239691257476807, + "y": 0.35298216342926025 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMDIP)": { + "confianca": 0.822265625, + "x": 0.19908973574638367, + "y": 0.495336651802063 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMTIP)": { + "confianca": 0.75244140625, + "x": 0.1913844645023346, + "y": 0.5442191362380981 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIDIP)": { + "confianca": 0.82373046875, + "x": 0.21822276711463928, + "y": 0.4559532403945923 + } + } + }, + "confianca": 1, + "modelo": "VNDetectHumanHandPoseRequest" + }, + { + "tipo": "mao", + "valor": { + "pontos": { + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRMCP)": { + "confianca": 0.703125, + "x": 0.19455371797084808, + "y": 0.824338972568512 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTTIP)": { + "confianca": 0.8837890625, + "x": 0.2596302926540375, + "y": 0.9517029523849487 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKITIP)": { + "y": 0.8634258508682251, + "x": 0.18726064264774323, + "confianca": 0.84326171875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPTIP)": { + "confianca": 0.88916015625, + "x": 0.20125505328178406, + "y": 0.7239118814468384 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMMCP)": { + "confianca": 0.7021484375, + "x": 0.20292316377162933, + "y": 0.8539166450500488 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIPIP)": { + "confianca": 0.78466796875, + "x": 0.20695282518863678, + "y": 0.8975788354873657 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTCMC)": { + "confianca": 0.70654296875, + "x": 0.24217596650123596, + "y": 0.8488072752952576 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKWRI)": { + "confianca": 0.51171875, + "x": 0.2279074341058731, + "y": 0.8385221362113953 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPPIP)": { + "confianca": 0.82666015625, + "x": 0.1882369965314865, + "y": 0.772820234298706 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPDIP)": { + "confianca": 0.8466796875, + "x": 0.19219540059566498, + "y": 0.7475166320800781 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIMCP)": { + "y": 0.9006683230400085, + "x": 0.220665842294693, + "confianca": 0.67041015625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRDIP)": { + "confianca": 0.75048828125, + "x": 0.1854781210422516, + "y": 0.7768710851669312 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTMP)": { + "y": 0.8779457807540894, + "x": 0.2536330223083496, + "confianca": 0.80322265625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPMCP)": { + "y": 0.7967522740364075, + "x": 0.1945684552192688, + "confianca": 0.66357421875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMPIP)": { + "y": 0.8455559015274048, + "x": 0.18748386204242706, + "confianca": 0.66796875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRTIP)": { + "confianca": 0.65478515625, + "x": 0.1930997669696808, + "y": 0.750220537185669 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRPIP)": { + "confianca": 0.57861328125, + "x": 0.18491320312023163, + "y": 0.801810622215271 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTIP)": { + "y": 0.9114315509796143, + "x": 0.2579057812690735, + "confianca": 0.74365234375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMDIP)": { + "confianca": 0.771484375, + "x": 0.1810956746339798, + "y": 0.8243553042411804 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMTIP)": { + "confianca": 0.78125, + "x": 0.17501762509346008, + "y": 0.797446608543396 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIDIP)": { + "y": 0.8855299949645996, + "x": 0.19795720279216766, + "confianca": 0.85595703125 + } + } + }, + "confianca": 1, + "modelo": "VNDetectHumanHandPoseRequest" + }, + { + "tipo": "categoria", + "valor": { + "identificador": "people" + }, + "confianca": 0.8710941672325134, + "modelo": "VNClassifyImageRequest" + }, + { + "tipo": "categoria", + "valor": { + "identificador": "adult" + }, + "confianca": 0.87109375, + "modelo": "VNClassifyImageRequest" + }, + { + "tipo": "estetica", + "valor": { + "score_global": 0.68603515625 + }, + "modelo": "VNCalculateImageAestheticsScoresRequest" + }, + { + "tipo": "horizonte", + "valor": { + "angulo_radianos": 0.01745329238474369 + }, + "confianca": 1, + "modelo": "VNDetectHorizonRequest" + }, + { + "tipo": "contornos", + "valor": { + "quantidade_principal": 6 + }, + "confianca": 1, + "modelo": "VNDetectContoursRequest" + }, + { + "tipo": "segmentacao_de_pessoas", + "valor": { + "ocupacao_do_quadro": 0.488037109375 + }, + "modelo": "VNGeneratePersonSegmentationRequest" + } + ], + "avisos": [] + }, + { + "timestamp_s": 13, + "arquivo": "frame-13s.png", + "tempo_processamento_ms": 1283, + "evidencias": [ + { + "modelo": "CoreImageHistogram", + "tipo": "brilho", + "valor": { + "media_brilho": 0.4319143773828976, + "clipping_branco": 2.592110339506173e-05, + "clipping_preto": 0.08461540316358025, + "contraste": 0.2506996573799091, + "exposicao": "equilibrado" + } + }, + { + "confianca": 1, + "modelo": "VNDetectFaceLandmarksRequest", + "tipo": "rosto", + "valor": { + "roll": -1.5707963705062866, + "landmarks": { + "sobrancelha_direita": [ + { + "y": 0.22618813812732697, + "x": 0.7835482954978943 + }, + { + "y": 0.3541455566883087, + "x": 0.8244385719299316 + }, + { + "y": 0.4843577444553375, + "x": 0.7894703149795532 + }, + { + "y": 0.47533872723579407, + "x": 0.7413890361785889 + }, + { + "y": 0.353018194437027, + "x": 0.7746652364730835 + }, + { + "y": 0.22787921130657196, + "x": 0.7566171288490295 + } + ], + "labios": [ + { + "y": 0.6362719535827637, + "x": 0.2789058983325958 + }, + { + "y": 0.5945589542388916, + "x": 0.3048500716686249 + }, + { + "y": 0.5494638085365295, + "x": 0.32177019119262695 + }, + { + "y": 0.5108511447906494, + "x": 0.3178221583366394 + }, + { + "y": 0.4730839729309082, + "x": 0.3285382390022278 + }, + { + "y": 0.4308072626590729, + "x": 0.32177019119262695 + }, + { + "y": 0.39022165536880493, + "x": 0.305414080619812 + }, + { + "y": 0.3564003109931946, + "x": 0.281161904335022 + }, + { + "y": 0.39022165536880493, + "x": 0.2315295785665512 + }, + { + "y": 0.4415173828601837, + "x": 0.19712534546852112 + }, + { + "y": 0.49901366233825684, + "x": 0.18189725279808044 + }, + { + "y": 0.5615831613540649, + "x": 0.18246124684810638 + }, + { + "y": 0.6235889196395874, + "x": 0.20445740222930908 + }, + { + "y": 0.670093297958374, + "x": 0.24450166523456573 + } + ], + "olho_direito": [ + { + "y": 0.29213976860046387, + "x": 0.6737085580825806 + }, + { + "y": 0.3377985656261444, + "x": 0.7007807493209839 + }, + { + "y": 0.40825971961021423, + "x": 0.6897826790809631 + }, + { + "y": 0.4488453269004822, + "x": 0.6556604504585266 + }, + { + "y": 0.4009317457675934, + "x": 0.6508663892745972 + }, + { + "y": 0.33554381132125854, + "x": 0.6517124176025391 + } + ], + "nariz": [ + { + "y": 0.5379081964492798, + "x": 0.6164621710777283 + }, + { + "y": 0.6204886436462402, + "x": 0.49576535820961 + }, + { + "y": 0.613724410533905, + "x": 0.4086267650127411 + }, + { + "y": 0.565247118473053, + "x": 0.41144677996635437 + }, + { + "y": 0.515924334526062, + "x": 0.40467873215675354 + }, + { + "y": 0.47421133518218994, + "x": 0.41934284567832947 + }, + { + "y": 0.42967990040779114, + "x": 0.4261108934879303 + }, + { + "y": 0.44095367193222046, + "x": 0.5107114315032959 + } + ], + "rosto": [ + { + "y": 0.1760198026895523, + "x": 0.6737085580825806 + }, + { + "y": 0.16249127686023712, + "x": 0.5673938393592834 + }, + { + "y": 0.16023652255535126, + "x": 0.4593871235847473 + }, + { + "y": 0.16530971229076385, + "x": 0.3510983884334564 + }, + { + "y": 0.1827840805053711, + "x": 0.2422456592321396 + }, + { + "y": 0.2256244421005249, + "x": 0.14241698384284973 + }, + { + "y": 0.29270344972610474, + "x": 0.05725240707397461 + }, + { + "y": 0.3778204917907715, + "x": -0.009300039149820805 + }, + { + "y": 0.4815393090248108, + "x": -0.040320247411727905 + }, + { + "y": 0.5942770838737488, + "x": -0.031860191375017166 + }, + { + "y": 0.6982777714729309, + "x": 0.013824116438627243 + }, + { + "y": 0.7904409170150757, + "x": 0.08037656545639038 + }, + { + "y": 0.8620294332504272, + "x": 0.170053169131279 + }, + { + "y": 0.9075472950935364, + "x": 0.2755218744277954 + }, + { + "y": 0.936718225479126, + "x": 0.3871946334838867 + }, + { + "y": 0.9581384062767029, + "x": 0.49971339106559753 + }, + { + "y": 0.9692713022232056, + "x": 0.6133601665496826 + } + ], + "olho_esquerdo": [ + { + "y": 0.8189072012901306, + "x": 0.6390222907066345 + }, + { + "y": 0.7740939259529114, + "x": 0.6725805401802063 + }, + { + "y": 0.7008143663406372, + "x": 0.6720165610313416 + }, + { + "y": 0.652900755405426, + "x": 0.6415603160858154 + }, + { + "y": 0.7030690908432007, + "x": 0.6297162771224976 + }, + { + "y": 0.7709936499595642, + "x": 0.6226662397384644 + } + ], + "sobrancelha_esquerda": [ + { + "y": 0.9117749929428101, + "x": 0.7354669570922852 + }, + { + "y": 0.7802945375442505, + "x": 0.8007504343986511 + }, + { + "y": 0.6345809102058411, + "x": 0.7803052663803101 + }, + { + "y": 0.6368356347084045, + "x": 0.7323649525642395 + }, + { + "y": 0.7743757963180542, + "x": 0.7506950497627258 + }, + { + "y": 0.9041652083396912, + "x": 0.7098047733306885 + } + ] + }, + "bounding_box": { + "largura": 0.16952909529209137, + "altura": 0.3013850450515747, + "y": 0.40190520882606506, + "x": 0.6040380597114563 + }, + "pitch": 0, + "yaw": 0 + } + }, + { + "confianca": 0.8849876523017883, + "modelo": "VNDetectFaceCaptureQualityRequest", + "tipo": "qualidade_do_rosto", + "valor": { + "score": 0.80908203125, + "bounding_box": { + "altura": 0.29793277382850647, + "largura": 0.16758719086647034, + "y": 0.4042605757713318, + "x": 0.6063717007637024 + } + } + }, + { + "confianca": 0.7692833542823792, + "modelo": "VNDetectHumanRectanglesRequest", + "tipo": "pessoa", + "valor": { + "bounding_box": { + "largura": 0.8297697884735268, + "altura": 0.8750000093328317, + "y": 0.10124271598737222, + "x": 0.00041118422829497026 + }, + "ocupacao_do_quadro": 0.7260485726584377 + } + }, + { + "confianca": 1, + "modelo": "VNDetectHumanBodyPoseRequest", + "tipo": "pose", + "valor": { + "pontos": { + "VNHumanBodyPoseObservationJointName(_rawValue: right_forearm_joint)": { + "y": 0.932174801826477, + "x": 0.24270495772361755, + "confianca": 0.59228515625 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: neck_1_joint)": { + "y": 0.5817373991012573, + "confianca": 0.2542724609375, + "x": 0.5072425007820129 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_forearm_joint)": { + "y": 0.2860879898071289, + "confianca": 0.31982421875, + "x": 0.4038070738315582 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_eye_joint)": { + "y": 0.5230437517166138, + "confianca": 0.8349609375, + "x": 0.7177831530570984 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_upLeg_joint)": { + "y": 0.39534860849380493, + "confianca": 0.105712890625, + "x": 0.15447506308555603 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_upLeg_joint)": { + "y": 1, + "confianca": 0, + "x": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_foot_joint)": { + "y": 1, + "confianca": 0, + "x": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_shoulder_1_joint)": { + "y": 0.35084909200668335, + "confianca": 0.19287109375, + "x": 0.5332288146018982 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_hand_joint)": { + "y": 0.7654184103012085, + "confianca": 0.76416015625, + "x": 0.23081664741039276 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_leg_joint)": { + "y": 1, + "x": 0, + "confianca": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_ear_joint)": { + "y": 0.7070602774620056, + "x": 0.6792325377464294, + "confianca": 0.72900390625 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_shoulder_1_joint)": { + "y": 0.8126257061958313, + "x": 0.4812561869621277, + "confianca": 0.315673828125 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_foot_joint)": { + "y": 1, + "confianca": 0, + "x": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_eye_joint)": { + "y": 0.6410880088806152, + "confianca": 0.85107421875, + "x": 0.7127406001091003 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: head_joint)": { + "y": 0.5772515535354614, + "confianca": 0.814453125, + "x": 0.6848388910293579 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_hand_joint)": { + "y": 0.21484637260437012, + "confianca": 0.63671875, + "x": 0.27417001128196716 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: root)": { + "y": 0.6976743042469025, + "confianca": 0.0528564453125, + "x": 0.07723753154277802 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_leg_joint)": { + "y": 1, + "confianca": 0, + "x": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_ear_joint)": { + "y": 0.44597798585891724, + "confianca": 0.312744140625, + "x": 0.7048035860061646 + } + } + } + }, + { + "confianca": 1, + "modelo": "VNDetectHumanHandPoseRequest", + "tipo": "mao", + "valor": { + "pontos": { + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPMCP)": { + "y": 0.6237522959709167, + "confianca": 0.77734375, + "x": 0.19579413533210754 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKITIP)": { + "y": 0.4774889349937439, + "x": 0.21805062890052795, + "confianca": 0.86669921875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKWRI)": { + "y": 0.7472438812255859, + "confianca": 0.68994140625, + "x": 0.22746038436889648 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTMP)": { + "y": 0.6709592342376709, + "confianca": 0.76025390625, + "x": 0.2818896174430847 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMDIP)": { + "y": 0.49320197105407715, + "confianca": 0.85888671875, + "x": 0.2059434950351715 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTTIP)": { + "y": 0.5983473062515259, + "confianca": 0.8173828125, + "x": 0.29652586579322815 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMTIP)": { + "y": 0.4440656900405884, + "confianca": 0.849609375, + "x": 0.19679686427116394 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRTIP)": { + "y": 0.456163227558136, + "confianca": 0.79150390625, + "x": 0.19101940095424652 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTCMC)": { + "y": 0.7192381620407104, + "confianca": 0.7578125, + "x": 0.2646293342113495 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRPIP)": { + "y": 0.5482521057128906, + "confianca": 0.83740234375, + "x": 0.20106855034828186 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIMCP)": { + "y": 0.6229279041290283, + "x": 0.24670517444610596, + "confianca": 0.79931640625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPTIP)": { + "y": 0.5006734728813171, + "x": 0.19000886380672455, + "confianca": 0.66064453125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPDIP)": { + "y": 0.5316343307495117, + "confianca": 0.61669921875, + "x": 0.1911849081516266 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMMCP)": { + "y": 0.6173384785652161, + "confianca": 0.83984375, + "x": 0.22225119173526764 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPPIP)": { + "y": 0.5702986717224121, + "confianca": 0.70703125, + "x": 0.19342952966690063 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRDIP)": { + "y": 0.49985599517822266, + "confianca": 0.83740234375, + "x": 0.1960584670305252 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIDIP)": { + "y": 0.5201125144958496, + "x": 0.22823619842529297, + "confianca": 0.8505859375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTIP)": { + "y": 0.6293337941169739, + "x": 0.2851826548576355, + "confianca": 0.79833984375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRMCP)": { + "y": 0.6199811697006226, + "confianca": 0.8134765625, + "x": 0.20704859495162964 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIPIP)": { + "y": 0.5596291422843933, + "confianca": 0.85302734375, + "x": 0.23590075969696045 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMPIP)": { + "y": 0.542256772518158, + "confianca": 0.8369140625, + "x": 0.21373574435710907 + } + } + } + }, + { + "confianca": 1, + "modelo": "VNDetectHumanHandPoseRequest", + "tipo": "mao", + "valor": { + "pontos": { + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPMCP)": { + "y": 0.2723107933998108, + "x": 0.1855613738298416, + "confianca": 0.85498046875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKITIP)": { + "y": 0.16858136653900146, + "confianca": 0.90771484375, + "x": 0.1427367776632309 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKWRI)": { + "y": 0.24596846103668213, + "confianca": 0.68115234375, + "x": 0.253155916929245 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTMP)": { + "y": 0.1766924262046814, + "confianca": 0.79638671875, + "x": 0.26307982206344604 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMDIP)": { + "y": 0.21037864685058594, + "confianca": 0.86474609375, + "x": 0.14419937133789062 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTTIP)": { + "y": 0.11348164081573486, + "confianca": 0.90478515625, + "x": 0.2491898238658905 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMTIP)": { + "y": 0.21230119466781616, + "confianca": 0.908203125, + "x": 0.11953486502170563 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTCMC)": { + "y": 0.21156704425811768, + "confianca": 0.767578125, + "x": 0.26695600152015686 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRTIP)": { + "y": 0.2418670654296875, + "confianca": 0.9013671875, + "x": 0.1210041418671608 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRPIP)": { + "y": 0.2409331202507019, + "confianca": 0.82275390625, + "x": 0.16197766363620758 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIMCP)": { + "y": 0.17230600118637085, + "confianca": 0.8525390625, + "x": 0.20539134740829468 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPTIP)": { + "y": 0.2898399829864502, + "x": 0.1343095451593399, + "confianca": 0.9140625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPPIP)": { + "y": 0.27670884132385254, + "confianca": 0.88671875, + "x": 0.16685448586940765 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMMCP)": { + "y": 0.21101480722427368, + "x": 0.1906125247478485, + "confianca": 0.8447265625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPDIP)": { + "y": 0.2831614017486572, + "confianca": 0.865234375, + "x": 0.1532982438802719 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRDIP)": { + "y": 0.2426002025604248, + "confianca": 0.86865234375, + "x": 0.1434534192085266 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRMCP)": { + "y": 0.24085593223571777, + "confianca": 0.8310546875, + "x": 0.1851799041032791 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTIP)": { + "y": 0.15086734294891357, + "confianca": 0.87109375, + "x": 0.254560261964798 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIDIP)": { + "y": 0.16726958751678467, + "confianca": 0.88623046875, + "x": 0.16542740166187286 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIPIP)": { + "y": 0.1664525866508484, + "x": 0.18278315663337708, + "confianca": 0.89111328125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMPIP)": { + "y": 0.20764952898025513, + "confianca": 0.86572265625, + "x": 0.1649988293647766 + } + } + } + }, + { + "confianca": 0.8505859375, + "modelo": "VNClassifyImageRequest", + "tipo": "categoria", + "valor": { + "identificador": "adult" + } + }, + { + "confianca": 0.8505859375, + "modelo": "VNClassifyImageRequest", + "tipo": "categoria", + "valor": { + "identificador": "people" + } + }, + { + "confianca": 0.2618669271469116, + "modelo": "VNClassifyImageRequest", + "tipo": "categoria", + "valor": { + "identificador": "clothing" + } + }, + { + "modelo": "VNCalculateImageAestheticsScoresRequest", + "tipo": "estetica", + "valor": { + "score_global": 0.625 + } + }, + { + "confianca": 1, + "modelo": "VNDetectHorizonRequest", + "tipo": "horizonte", + "valor": { + "angulo_radianos": 0.01745329238474369 + } + }, + { + "confianca": 1, + "modelo": "VNDetectContoursRequest", + "tipo": "contornos", + "valor": { + "quantidade_principal": 5 + } + }, + { + "modelo": "VNGeneratePersonSegmentationRequest", + "tipo": "segmentacao_de_pessoas", + "valor": { + "ocupacao_do_quadro": 0.4990437825520833 + } + } + ], + "avisos": [] + }, + { + "timestamp_s": 14, + "arquivo": "frame-14s.png", + "tempo_processamento_ms": 1283, + "evidencias": [ + { + "valor": { + "media_brilho": 0.42856446683611715, + "contraste": 0.25193092728533806, + "exposicao": "equilibrado", + "clipping_branco": 8.764949845679013e-05, + "clipping_preto": 0.10399245273919754 + }, + "modelo": "CoreImageHistogram", + "tipo": "brilho" + }, + { + "valor": { + "bounding_box": { + "largura": 0.17133335769176483, + "altura": 0.30459263920783997, + "x": 0.6001859307289124, + "y": 0.4254390001296997 + }, + "pitch": 0, + "roll": -1.5707963705062866, + "yaw": 0, + "landmarks": { + "nariz": [ + { + "x": 0.6107219457626343, + "y": 0.5216987729072571 + }, + { + "x": 0.4901905059814453, + "y": 0.5995498299598694 + }, + { + "x": 0.40245670080184937, + "y": 0.5899891257286072 + }, + { + "x": 0.4046432077884674, + "y": 0.5408201217651367 + }, + { + "x": 0.3980836868286133, + "y": 0.4916510283946991 + }, + { + "x": 0.4150291383266449, + "y": 0.44849154353141785 + }, + { + "x": 0.42486846446990967, + "y": 0.40260040760040283 + }, + { + "x": 0.5115090012550354, + "y": 0.4173511266708374 + } + ], + "sobrancelha_esquerda": [ + { + "x": 0.7115748524665833, + "y": 0.8869156241416931 + }, + { + "x": 0.7792200446128845, + "y": 0.763173520565033 + }, + { + "x": 0.7661009430885315, + "y": 0.6222221851348877 + }, + { + "x": 0.71895432472229, + "y": 0.6227685213088989 + }, + { + "x": 0.7293402552604675, + "y": 0.7547054886817932 + }, + { + "x": 0.6858833432197571, + "y": 0.878720760345459 + } + ], + "labios": [ + { + "x": 0.26962611079216003, + "y": 0.5962718725204468 + }, + { + "x": 0.2909446060657501, + "y": 0.5577561259269714 + }, + { + "x": 0.3062501847743988, + "y": 0.5173282027244568 + }, + { + "x": 0.30242377519607544, + "y": 0.47908562421798706 + }, + { + "x": 0.31499621272087097, + "y": 0.441935658454895 + }, + { + "x": 0.31116983294487, + "y": 0.40150776505470276 + }, + { + "x": 0.3007839024066925, + "y": 0.3599872291088104 + }, + { + "x": 0.2838384211063385, + "y": 0.32392990589141846 + }, + { + "x": 0.22808237373828888, + "y": 0.3534313440322876 + }, + { + "x": 0.18653865158557892, + "y": 0.402054101228714 + }, + { + "x": 0.16740666329860687, + "y": 0.46051064133644104 + }, + { + "x": 0.17013980448246002, + "y": 0.5238840579986572 + }, + { + "x": 0.1963779479265213, + "y": 0.5837064385414124 + }, + { + "x": 0.24174807965755463, + "y": 0.6290512084960938 + } + ], + "rosto": [ + { + "x": 0.6918962001800537, + "y": 0.1545698344707489 + }, + { + "x": 0.5839371681213379, + "y": 0.13654117286205292 + }, + { + "x": 0.4737916588783264, + "y": 0.12943898141384125 + }, + { + "x": 0.36309948563575745, + "y": 0.12943898141384125 + }, + { + "x": 0.25322726368904114, + "y": 0.14473602175712585 + }, + { + "x": 0.14936794340610504, + "y": 0.18516391515731812 + }, + { + "x": 0.05917432904243469, + "y": 0.2485373616218567 + }, + { + "x": -0.01516707707196474, + "y": 0.3304857909679413 + }, + { + "x": -0.051791153848171234, + "y": 0.4342871308326721 + }, + { + "x": -0.043591734021902084, + "y": 0.5479223132133484 + }, + { + "x": 0.002871646312996745, + "y": 0.6509041786193848 + }, + { + "x": 0.0706535130739212, + "y": 0.74268639087677 + }, + { + "x": 0.1586606204509735, + "y": 0.8172594904899597 + }, + { + "x": 0.2614266872406006, + "y": 0.8676577210426331 + }, + { + "x": 0.3723921775817871, + "y": 0.9012566208839417 + }, + { + "x": 0.48499754071235657, + "y": 0.9257045388221741 + }, + { + "x": 0.597602903842926, + "y": 0.9410015940666199 + } + ], + "olho_direito": [ + { + "x": 0.6826035380363464, + "y": 0.2785851061344147 + }, + { + "x": 0.7088416814804077, + "y": 0.32556888461112976 + }, + { + "x": 0.6951760053634644, + "y": 0.39549821615219116 + }, + { + "x": 0.6574586629867554, + "y": 0.4342871308326721 + }, + { + "x": 0.6544522047042847, + "y": 0.38621070981025696 + }, + { + "x": 0.6582785844802856, + "y": 0.32065197825431824 + } + ], + "olho_esquerdo": [ + { + "x": 0.6282140612602234, + "y": 0.794313907623291 + }, + { + "x": 0.6637448668479919, + "y": 0.7514275312423706 + }, + { + "x": 0.6653847694396973, + "y": 0.6801324486732483 + }, + { + "x": 0.6355935335159302, + "y": 0.632602334022522 + }, + { + "x": 0.6224744915962219, + "y": 0.681225061416626 + }, + { + "x": 0.6131817698478699, + "y": 0.7473301291465759 + } + ], + "sobrancelha_direita": [ + { + "x": 0.7905625700950623, + "y": 0.21466533839702606 + }, + { + "x": 0.8250001668930054, + "y": 0.3446901738643646 + }, + { + "x": 0.7845496535301208, + "y": 0.4730760455131531 + }, + { + "x": 0.7372663617134094, + "y": 0.4616032838821411 + }, + { + "x": 0.7749837040901184, + "y": 0.34086593985557556 + }, + { + "x": 0.7629578709602356, + "y": 0.21575799584388733 + } + ] + } + }, + "confianca": 1, + "modelo": "VNDetectFaceLandmarksRequest", + "tipo": "rosto" + }, + { + "valor": { + "bounding_box": { + "largura": 0.1705712229013443, + "altura": 0.3032377064228058, + "x": 0.6043151021003723, + "y": 0.42425769567489624 + }, + "score": 0.80126953125 + }, + "confianca": 0.861219584941864, + "modelo": "VNDetectFaceCaptureQualityRequest", + "tipo": "qualidade_do_rosto" + }, + { + "valor": { + "bounding_box": { + "largura": 0.832648027896586, + "altura": 0.8720760327943576, + "x": -0.0010279605998412572, + "y": 0.11147663448202062 + }, + "ocupacao_do_quadro": 0.7261323888821003 + }, + "confianca": 0.7564824223518372, + "modelo": "VNDetectHumanRectanglesRequest", + "tipo": "pessoa" + }, + { + "valor": { + "pontos": { + "VNHumanBodyPoseObservationJointName(_rawValue: left_ear_joint)": { + "x": 0.6969214677810669, + "confianca": 0.38037109375, + "y": 0.4542056918144226 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_foot_joint)": { + "confianca": 0, + "x": 0, + "y": 1 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_upLeg_joint)": { + "x": 0, + "confianca": 0, + "y": 1 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_shoulder_1_joint)": { + "x": 0.5013116002082825, + "confianca": 0.25634765625, + "y": 0.28610163927078247 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: neck_1_joint)": { + "x": 0.49714067578315735, + "confianca": 0.332275390625, + "y": 0.5424319505691528 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_hand_joint)": { + "x": 0.23837165534496307, + "confianca": 0.50048828125, + "y": 0.35772043466567993 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_upLeg_joint)": { + "confianca": 0, + "x": 0, + "y": 1 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: head_joint)": { + "confianca": 0.8115234375, + "x": 0.679082989692688, + "y": 0.5865781307220459 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_ear_joint)": { + "confianca": 0.72705078125, + "x": 0.6726022958755493, + "y": 0.7229803800582886 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_forearm_joint)": { + "confianca": 0.267822265625, + "x": 0.371216356754303, + "y": 0.8761029243469238 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_leg_joint)": { + "confianca": 0, + "x": 0, + "y": 1 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: root)": { + "confianca": 0, + "x": 0, + "y": 1 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_eye_joint)": { + "confianca": 0.82373046875, + "x": 0.7160642147064209, + "y": 0.5401986837387085 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_hand_joint)": { + "x": 0.255773663520813, + "confianca": 0.560546875, + "y": 0.8807879090309143 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_foot_joint)": { + "confianca": 0, + "x": 0, + "y": 1 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_forearm_joint)": { + "x": 0.2520539164543152, + "confianca": 0.541015625, + "y": 0.16591596603393555 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_eye_joint)": { + "confianca": 0.92822265625, + "x": 0.704552412033081, + "y": 0.6618528366088867 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_leg_joint)": { + "confianca": 0, + "x": 0, + "y": 1 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_shoulder_1_joint)": { + "confianca": 0.408203125, + "x": 0.4929697513580322, + "y": 0.7987622618675232 + } + } + }, + "confianca": 1, + "modelo": "VNDetectHumanBodyPoseRequest", + "tipo": "pose" + }, + { + "valor": { + "pontos": { + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTIP)": { + "x": 0.27569857239723206, + "confianca": 0.8193359375, + "y": 0.4650208353996277 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMDIP)": { + "x": 0.19391131401062012, + "confianca": 0.7763671875, + "y": 0.6260651350021362 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTTIP)": { + "confianca": 0.81640625, + "x": 0.2712835967540741, + "y": 0.5083256959915161 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMTIP)": { + "confianca": 0.69580078125, + "x": 0.18261747062206268, + "y": 0.6795526742935181 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTMP)": { + "x": 0.2738228738307953, + "confianca": 0.7568359375, + "y": 0.4205683469772339 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPPIP)": { + "confianca": 0.736328125, + "x": 0.20022951066493988, + "y": 0.543359637260437 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKWRI)": { + "confianca": 0.70947265625, + "x": 0.2386603057384491, + "y": 0.37691730260849 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRTIP)": { + "confianca": 0.75244140625, + "x": 0.18074893951416016, + "y": 0.6653528809547424 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIDIP)": { + "confianca": 0.83056640625, + "x": 0.208373561501503, + "y": 0.6030852794647217 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRDIP)": { + "confianca": 0.78369140625, + "x": 0.19044482707977295, + "y": 0.6134892702102661 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRPIP)": { + "confianca": 0.76708984375, + "x": 0.19985391199588776, + "y": 0.5611759424209595 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPTIP)": { + "x": 0.18762747943401337, + "confianca": 0.69189453125, + "y": 0.6251071691513062 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKITIP)": { + "confianca": 0.7490234375, + "x": 0.19587872922420502, + "y": 0.6472417116165161 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMMCP)": { + "x": 0.21867024898529053, + "confianca": 0.78857421875, + "y": 0.48679739236831665 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPDIP)": { + "x": 0.19294308125972748, + "confianca": 0.7626953125, + "y": 0.5864084362983704 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRMCP)": { + "confianca": 0.736328125, + "x": 0.2116970419883728, + "y": 0.4849267601966858 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIMCP)": { + "confianca": 0.810546875, + "x": 0.23412756621837616, + "y": 0.48577141761779785 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIPIP)": { + "confianca": 0.8564453125, + "x": 0.21777746081352234, + "y": 0.5589125156402588 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPMCP)": { + "confianca": 0.7041015625, + "x": 0.20872464776039124, + "y": 0.48452961444854736 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMPIP)": { + "x": 0.20532606542110443, + "confianca": 0.771484375, + "y": 0.5670132637023926 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTCMC)": { + "confianca": 0.78759765625, + "x": 0.26163989305496216, + "y": 0.3843856453895569 + } + } + }, + "confianca": 1, + "modelo": "VNDetectHumanHandPoseRequest", + "tipo": "mao" + }, + { + "valor": { + "pontos": { + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTTIP)": { + "confianca": 0.40869140625, + "x": 0.21457073092460632, + "y": 0.9887734651565552 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMDIP)": { + "confianca": 0.83154296875, + "x": 0.14658156037330627, + "y": 0.9009943008422852 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTIP)": { + "confianca": 0.6591796875, + "x": 0.22475740313529968, + "y": 0.9755224585533142 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMTIP)": { + "confianca": 0.8115234375, + "x": 0.12540113925933838, + "y": 0.893218994140625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTMP)": { + "x": 0.23823902010917664, + "confianca": 0.7890625, + "y": 0.9465861320495605 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKWRI)": { + "confianca": 0.7216796875, + "x": 0.23600773513317108, + "y": 0.8725433349609375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPPIP)": { + "confianca": 0.8486328125, + "x": 0.1722385585308075, + "y": 0.8331642150878906 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRDIP)": { + "confianca": 0.77099609375, + "x": 0.1573130339384079, + "y": 0.8615213632583618 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIDIP)": { + "x": 0.15938147902488708, + "confianca": 0.84765625, + "y": 0.9519984722137451 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRTIP)": { + "confianca": 0.89453125, + "x": 0.1487574726343155, + "y": 0.8422693014144897 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRPIP)": { + "confianca": 0.775390625, + "x": 0.16547316312789917, + "y": 0.870899498462677 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPTIP)": { + "x": 0.17025165259838104, + "confianca": 0.857421875, + "y": 0.8035627007484436 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKITIP)": { + "x": 0.1366608440876007, + "confianca": 0.908203125, + "y": 0.9475480318069458 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMMCP)": { + "x": 0.18100078403949738, + "confianca": 0.8330078125, + "y": 0.9080501794815063 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPDIP)": { + "confianca": 0.759765625, + "x": 0.16890427470207214, + "y": 0.8203456997871399 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPMCP)": { + "x": 0.18371981382369995, + "confianca": 0.8193359375, + "y": 0.8418068885803223 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIPIP)": { + "confianca": 0.849609375, + "x": 0.1746138483285904, + "y": 0.9564618468284607 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIMCP)": { + "confianca": 0.732421875, + "x": 0.19190877676010132, + "y": 0.9495623707771301 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRMCP)": { + "confianca": 0.83984375, + "x": 0.18036311864852905, + "y": 0.8749536275863647 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMPIP)": { + "x": 0.1615733504295349, + "confianca": 0.84912109375, + "y": 0.9083662629127502 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTCMC)": { + "confianca": 0.7294921875, + "x": 0.23856060206890106, + "y": 0.9106988906860352 + } + } + }, + "confianca": 1, + "modelo": "VNDetectHumanHandPoseRequest", + "tipo": "mao" + }, + { + "valor": { + "identificador": "people" + }, + "confianca": 0.8486334681510925, + "modelo": "VNClassifyImageRequest", + "tipo": "categoria" + }, + { + "valor": { + "identificador": "adult" + }, + "confianca": 0.8486328125, + "modelo": "VNClassifyImageRequest", + "tipo": "categoria" + }, + { + "valor": { + "score_global": 0.6240234375 + }, + "modelo": "VNCalculateImageAestheticsScoresRequest", + "tipo": "estetica" + }, + { + "valor": { + "angulo_radianos": 0.01745329238474369 + }, + "confianca": 1, + "modelo": "VNDetectHorizonRequest", + "tipo": "horizonte" + }, + { + "valor": { + "quantidade_principal": 5 + }, + "confianca": 1, + "modelo": "VNDetectContoursRequest", + "tipo": "contornos" + }, + { + "valor": { + "ocupacao_do_quadro": 0.4966634114583333 + }, + "modelo": "VNGeneratePersonSegmentationRequest", + "tipo": "segmentacao_de_pessoas" + } + ], + "avisos": [] + }, + { + "timestamp_s": 15, + "arquivo": "frame-15s.png", + "tempo_processamento_ms": 1298, + "evidencias": [ + { + "valor": { + "clipping_preto": 0.10187536168981481, + "clipping_branco": 6.209008487654321e-05, + "contraste": 0.2512669538343367, + "media_brilho": 0.4264691329656863, + "exposicao": "equilibrado" + }, + "tipo": "brilho", + "modelo": "CoreImageHistogram" + }, + { + "valor": { + "landmarks": { + "nariz": [ + { + "x": 0.6361640691757202, + "y": 0.5672441720962524 + }, + { + "x": 0.5192107558250427, + "y": 0.6513363122940063 + }, + { + "x": 0.42918193340301514, + "y": 0.6476923227310181 + }, + { + "x": 0.43086472153663635, + "y": 0.6006007194519043 + }, + { + "x": 0.4230117201805115, + "y": 0.5532288551330566 + }, + { + "x": 0.4353521168231964, + "y": 0.5066978931427002 + }, + { + "x": 0.43983954191207886, + "y": 0.4596062898635864 + }, + { + "x": 0.528746485710144, + "y": 0.4674548804759979 + } + ], + "labios": [ + { + "x": 0.2895110845565796, + "y": 0.6776851415634155 + }, + { + "x": 0.32036206126213074, + "y": 0.6359193921089172 + }, + { + "x": 0.33775079250335693, + "y": 0.5874263048171997 + }, + { + "x": 0.3332633972167969, + "y": 0.5459408760070801 + }, + { + "x": 0.3427991569042206, + "y": 0.505016028881073 + }, + { + "x": 0.33158060908317566, + "y": 0.4528789222240448 + }, + { + "x": 0.307460755109787, + "y": 0.4052267074584961 + }, + { + "x": 0.271000474691391, + "y": 0.36822617053985596 + }, + { + "x": 0.20144550502300262, + "y": 0.3973781168460846 + }, + { + "x": 0.15096206963062286, + "y": 0.45512136816978455 + }, + { + "x": 0.12964683771133423, + "y": 0.5280011892318726 + }, + { + "x": 0.13918259739875793, + "y": 0.6025629043579102 + }, + { + "x": 0.1812521368265152, + "y": 0.667313814163208 + }, + { + "x": 0.24688060581684113, + "y": 0.705435574054718 + } + ], + "sobrancelha_esquerda": [ + { + "x": 0.7402160167694092, + "y": 0.9240750670433044 + }, + { + "x": 0.8121549487113953, + "y": 0.8010202646255493 + }, + { + "x": 0.8007961511611938, + "y": 0.6577833890914917 + }, + { + "x": 0.7494713068008423, + "y": 0.6591848731040955 + }, + { + "x": 0.7598484754562378, + "y": 0.7928913831710815 + }, + { + "x": 0.7141329050064087, + "y": 0.915665864944458 + } + ], + "olho_esquerdo": [ + { + "x": 0.6285915374755859, + "y": 0.8203614354133606 + }, + { + "x": 0.6339203715324402, + "y": 0.7777547836303711 + }, + { + "x": 0.6437365412712097, + "y": 0.721132755279541 + }, + { + "x": 0.651589572429657, + "y": 0.6729199290275574 + }, + { + "x": 0.6389687061309814, + "y": 0.7160872220993042 + }, + { + "x": 0.6283110976219177, + "y": 0.774951696395874 + } + ], + "sobrancelha_direita": [ + { + "x": 0.7735912203788757, + "y": 0.2280726581811905 + }, + { + "x": 0.8309460282325745, + "y": 0.35701391100883484 + }, + { + "x": 0.8089296221733093, + "y": 0.4988492727279663 + }, + { + "x": 0.7570438385009766, + "y": 0.4921219050884247 + }, + { + "x": 0.778359055519104, + "y": 0.36037757992744446 + }, + { + "x": 0.7455448508262634, + "y": 0.23199695348739624 + } + ], + "olho_direito": [ + { + "x": 0.6487849354743958, + "y": 0.3155284523963928 + }, + { + "x": 0.6499067544937134, + "y": 0.3592563569545746 + }, + { + "x": 0.6555160284042358, + "y": 0.41699960827827454 + }, + { + "x": 0.6600034832954407, + "y": 0.46465179324150085 + }, + { + "x": 0.651309072971344, + "y": 0.4214845299720764 + }, + { + "x": 0.6459802985191345, + "y": 0.36149880290031433 + } + ], + "rosto": [ + { + "x": 0.6557965278625488, + "y": 0.16248080134391785 + }, + { + "x": 0.5433306097984314, + "y": 0.1523897498846054 + }, + { + "x": 0.42862099409103394, + "y": 0.1507079154253006 + }, + { + "x": 0.31306999921798706, + "y": 0.15799589455127716 + }, + { + "x": 0.1997627317905426, + "y": 0.18210230767726898 + }, + { + "x": 0.09543027728796005, + "y": 0.23255756497383118 + }, + { + "x": 0.008486569859087467, + "y": 0.30655863881111145 + }, + { + "x": -0.059946540743112564, + "y": 0.39793872833251953 + }, + { + "x": -0.0902366116642952, + "y": 0.5089403390884399 + }, + { + "x": -0.0717260092496872, + "y": 0.62330561876297 + }, + { + "x": -0.01395051646977663, + "y": 0.7233752012252808 + }, + { + "x": 0.06570114195346832, + "y": 0.8085885643959045 + }, + { + "x": 0.1627415418624878, + "y": 0.8743205666542053 + }, + { + "x": 0.273244172334671, + "y": 0.914824903011322 + }, + { + "x": 0.38655146956443787, + "y": 0.9400525689125061 + }, + { + "x": 0.5023829340934753, + "y": 0.9560300707817078 + }, + { + "x": 0.617372989654541, + "y": 0.962757408618927 + } + ] + }, + "bounding_box": { + "altura": 0.2984985113143921, + "x": 0.6074977517127991, + "largura": 0.16790540516376495, + "y": 0.4179481863975525 + }, + "roll": -1.5707963705062866, + "yaw": 0, + "pitch": 0 + }, + "tipo": "rosto", + "confianca": 1, + "modelo": "VNDetectFaceLandmarksRequest" + }, + { + "valor": { + "bounding_box": { + "altura": 0.29479625821113586, + "x": 0.606187105178833, + "y": 0.42601317167282104, + "largura": 0.16582289338111877 + }, + "score": 0.306640625 + }, + "tipo": "qualidade_do_rosto", + "confianca": 0.8506661057472229, + "modelo": "VNDetectFaceCaptureQualityRequest" + }, + { + "valor": { + "bounding_box": { + "altura": 0.8055555515993397, + "x": -0.0010279605998412572, + "largura": 0.8367599140681137, + "y": 0.13925442440729513 + }, + "ocupacao_do_quadro": 0.6740565941333554 + }, + "tipo": "pessoa", + "confianca": 0.75, + "modelo": "VNDetectHumanRectanglesRequest" + }, + { + "valor": { + "pontos": { + "VNHumanBodyPoseObservationJointName(_rawValue: right_hand_joint)": { + "x": 0.2510261833667755, + "confianca": 0.5537109375, + "y": 0.9187136292457581 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_ear_joint)": { + "x": 0.6887296438217163, + "confianca": 0.30908203125, + "y": 0.7198476195335388 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_hand_joint)": { + "x": 0.23901374638080597, + "confianca": 0.42041015625, + "y": 0.32098811864852905 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_leg_joint)": { + "x": 0, + "confianca": 0, + "y": 1 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_foot_joint)": { + "x": 0, + "y": 1, + "confianca": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_leg_joint)": { + "x": 0, + "confianca": 0, + "y": 1 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: neck_1_joint)": { + "x": 0.4978478103876114, + "y": 0.5401626825332642, + "confianca": 0.2884521484375 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_upLeg_joint)": { + "x": 0, + "confianca": 0, + "y": 1 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_ear_joint)": { + "x": 0.7026863694190979, + "confianca": 0.341796875, + "y": 0.45441895723342896 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_upLeg_joint)": { + "x": 0, + "confianca": 0, + "y": 1 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_eye_joint)": { + "x": 0.7217940092086792, + "y": 0.5420637130737305, + "confianca": 0.74609375 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_shoulder_1_joint)": { + "x": 0.49527445435523987, + "confianca": 0.365478515625, + "y": 0.8054246306419373 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: head_joint)": { + "x": 0.6916331052780151, + "y": 0.5972548723220825, + "confianca": 0.79345703125 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_foot_joint)": { + "x": 0, + "confianca": 0, + "y": 1 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: root)": { + "x": 0, + "y": 1, + "confianca": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_forearm_joint)": { + "x": 0.2587493062019348, + "confianca": 0.57275390625, + "y": 0.17056411504745483 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_shoulder_1_joint)": { + "x": 0.5004211664199829, + "y": 0.27490073442459106, + "confianca": 0.21142578125 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_eye_joint)": { + "x": 0.7157154679298401, + "confianca": 0.8505859375, + "y": 0.6547732353210449 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_forearm_joint)": { + "x": 0.26714009046554565, + "y": 0.9249778389930725, + "confianca": 0.195068359375 + } + } + }, + "tipo": "pose", + "confianca": 1, + "modelo": "VNDetectHumanBodyPoseRequest" + }, + { + "valor": { + "pontos": { + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTCMC)": { + "x": 0.25903820991516113, + "confianca": 0.5380859375, + "y": 0.31332170963287354 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRTIP)": { + "x": 0.2323581576347351, + "confianca": 0.8994140625, + "y": 0.5657645463943481 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPPIP)": { + "x": 0.2045222520828247, + "y": 0.4802682399749756, + "confianca": 0.67138671875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRMCP)": { + "x": 0.20576231181621552, + "y": 0.4135579466819763, + "confianca": 0.73486328125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKITIP)": { + "x": 0.25148695707321167, + "y": 0.5215215682983398, + "confianca": 0.90478515625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPTIP)": { + "x": 0.20276331901550293, + "confianca": 0.91748046875, + "y": 0.553787350654602 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTIP)": { + "x": 0.2760807275772095, + "confianca": 0.7705078125, + "y": 0.32760554552078247 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMMCP)": { + "x": 0.210661381483078, + "confianca": 0.85888671875, + "y": 0.39466357231140137 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMPIP)": { + "x": 0.22413337230682373, + "confianca": 0.8564453125, + "y": 0.4647281765937805 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMTIP)": { + "x": 0.25053441524505615, + "y": 0.5573225021362305, + "confianca": 0.86328125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRDIP)": { + "x": 0.22346103191375732, + "confianca": 0.87939453125, + "y": 0.5223596096038818 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPMCP)": { + "x": 0.20665407180786133, + "confianca": 0.38818359375, + "y": 0.4247717261314392 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIMCP)": { + "x": 0.22927379608154297, + "y": 0.36649852991104126, + "confianca": 0.82080078125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRPIP)": { + "x": 0.21254780888557434, + "confianca": 0.88671875, + "y": 0.47837716341018677 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTMP)": { + "x": 0.2685243785381317, + "confianca": 0.736328125, + "y": 0.3132370114326477 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIDIP)": { + "x": 0.24362985789775848, + "confianca": 0.84521484375, + "y": 0.47749173641204834 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMDIP)": { + "x": 0.2375161051750183, + "confianca": 0.80517578125, + "y": 0.5122967958450317 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKWRI)": { + "x": 0.23511986434459686, + "y": 0.31694895029067993, + "confianca": 0.447509765625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIPIP)": { + "x": 0.23550894856452942, + "confianca": 0.80224609375, + "y": 0.4351347088813782 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTTIP)": { + "x": 0.28063836693763733, + "confianca": 0.7724609375, + "y": 0.364957332611084 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPDIP)": { + "x": 0.2048277109861374, + "y": 0.5157977938652039, + "confianca": 0.86083984375 + } + } + }, + "tipo": "mao", + "confianca": 1, + "modelo": "VNDetectHumanHandPoseRequest" + }, + { + "valor": { + "pontos": { + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRTIP)": { + "x": 0.23539258539676666, + "confianca": 0.8896484375, + "y": 0.737707257270813 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTCMC)": { + "x": 0.26617398858070374, + "y": 0.8950679898262024, + "confianca": 0.427001953125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPPIP)": { + "x": 0.20426149666309357, + "confianca": 0.76171875, + "y": 0.8260260820388794 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRMCP)": { + "x": 0.2165636569261551, + "y": 0.895133376121521, + "confianca": 0.89111328125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPTIP)": { + "x": 0.2210243195295334, + "y": 0.7621898651123047, + "confianca": 0.58154296875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMPIP)": { + "x": 0.23933519423007965, + "confianca": 0.83447265625, + "y": 0.8488278388977051 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKITIP)": { + "x": 0.2754307687282562, + "confianca": 0.869140625, + "y": 0.7546850442886353 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMMCP)": { + "x": 0.23760421574115753, + "confianca": 0.87841796875, + "y": 0.9131751656532288 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTIP)": { + "x": 0.2858315706253052, + "confianca": 0.7109375, + "y": 0.8238570690155029 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMTIP)": { + "x": 0.2518998384475708, + "y": 0.7467858791351318, + "confianca": 0.87353515625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRDIP)": { + "x": 0.222770094871521, + "confianca": 0.818359375, + "y": 0.7787370681762695 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPMCP)": { + "x": 0.2037350833415985, + "confianca": 0.6875, + "y": 0.8748623132705688 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIMCP)": { + "x": 0.26542845368385315, + "confianca": 0.86669921875, + "y": 0.9131357669830322 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRPIP)": { + "x": 0.21367394924163818, + "confianca": 0.85595703125, + "y": 0.8311961889266968 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTMP)": { + "x": 0.27738386392593384, + "y": 0.8654706478118896, + "confianca": 0.58349609375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIDIP)": { + "x": 0.2718808650970459, + "y": 0.806774377822876, + "confianca": 0.85302734375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMDIP)": { + "x": 0.2443060576915741, + "confianca": 0.857421875, + "y": 0.7943254709243774 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKWRI)": { + "x": 0.23305194079875946, + "y": 0.9183821678161621, + "confianca": 0.36474609375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIPIP)": { + "x": 0.2698422968387604, + "confianca": 0.79248046875, + "y": 0.8535172939300537 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTTIP)": { + "x": 0.2759091556072235, + "confianca": 0.46923828125, + "y": 0.7920375466346741 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPDIP)": { + "x": 0.2113182097673416, + "confianca": 0.703125, + "y": 0.7901489734649658 + } + } + }, + "tipo": "mao", + "confianca": 1, + "modelo": "VNDetectHumanHandPoseRequest" + }, + { + "valor": { + "identificador": "people" + }, + "tipo": "categoria", + "confianca": 0.8740234971046448, + "modelo": "VNClassifyImageRequest" + }, + { + "valor": { + "identificador": "adult" + }, + "tipo": "categoria", + "confianca": 0.8740234375, + "modelo": "VNClassifyImageRequest" + }, + { + "valor": { + "identificador": "clothing" + }, + "tipo": "categoria", + "confianca": 0.23984704911708832, + "modelo": "VNClassifyImageRequest" + }, + { + "valor": { + "score_global": 0.5791015625 + }, + "tipo": "estetica", + "modelo": "VNCalculateImageAestheticsScoresRequest" + }, + { + "valor": { + "angulo_radianos": 0.01745329238474369 + }, + "tipo": "horizonte", + "confianca": 1, + "modelo": "VNDetectHorizonRequest" + }, + { + "valor": { + "quantidade_principal": 5 + }, + "tipo": "contornos", + "confianca": 1, + "modelo": "VNDetectContoursRequest" + }, + { + "valor": { + "ocupacao_do_quadro": 0.4881795247395833 + }, + "tipo": "segmentacao_de_pessoas", + "modelo": "VNGeneratePersonSegmentationRequest" + } + ], + "avisos": [] + }, + { + "timestamp_s": 16, + "arquivo": "frame-16s.png", + "tempo_processamento_ms": 1289, + "evidencias": [ + { + "valor": { + "clipping_branco": 4.6657986111111113e-05, + "exposicao": "equilibrado", + "clipping_preto": 0.09208345389660494, + "contraste": 0.24817385270726106, + "media_brilho": 0.42974545263707337 + }, + "tipo": "brilho", + "modelo": "CoreImageHistogram" + }, + { + "valor": { + "pitch": 0, + "roll": -1.5707963705062866, + "yaw": 0, + "bounding_box": { + "y": 0.3541705012321472, + "largura": 0.16972260177135468, + "x": 0.6044809222221375, + "altura": 0.30172908306121826 + }, + "landmarks": { + "sobrancelha_esquerda": [ + { + "y": 0.8688240647315979, + "x": 0.8119767308235168 + }, + { + "y": 0.73044753074646, + "x": 0.8570675849914551 + }, + { + "y": 0.5897209048271179, + "x": 0.8130832314491272 + }, + { + "y": 0.6018859148025513, + "x": 0.7649494409561157 + }, + { + "y": 0.7332122921943665, + "x": 0.8057525157928467 + }, + { + "y": 0.8663357496261597, + "x": 0.7856967449188232 + } + ], + "rosto": [ + { + "y": 0.1437642127275467, + "x": 0.5859692096710205 + }, + { + "y": 0.15537622570991516, + "x": 0.4758700728416443 + }, + { + "y": 0.1786002516746521, + "x": 0.3668774664402008 + }, + { + "y": 0.2095656394958496, + "x": 0.25899139046669006 + }, + { + "y": 0.2538018822669983, + "x": 0.15663792192935944 + }, + { + "y": 0.3229210376739502, + "x": 0.06922253966331482 + }, + { + "y": 0.41084057092666626, + "x": 0.0033843652345240116 + }, + { + "y": 0.5131369233131409, + "x": -0.03977006673812866 + }, + { + "y": 0.6240040063858032, + "x": -0.04530268535017967 + }, + { + "y": 0.7318298816680908, + "x": -0.008787397295236588 + }, + { + "y": 0.8214083313941956, + "x": 0.060370348393917084 + }, + { + "y": 0.8932921886444092, + "x": 0.14833900332450867 + }, + { + "y": 0.9400167465209961, + "x": 0.2529055178165436 + }, + { + "y": 0.9589554071426392, + "x": 0.3668774664402008 + }, + { + "y": 0.9619966745376587, + "x": 0.48195594549179077 + }, + { + "y": 0.9564670920372009, + "x": 0.5953746438026428 + }, + { + "y": 0.9401549696922302, + "x": 0.7074102163314819 + } + ], + "labios": [ + { + "y": 0.702246904373169, + "x": 0.31985020637512207 + }, + { + "y": 0.6585636138916016, + "x": 0.3425339460372925 + }, + { + "y": 0.6115626096725464, + "x": 0.35249266028404236 + }, + { + "y": 0.5745147466659546, + "x": 0.33921438455581665 + }, + { + "y": 0.5352550745010376, + "x": 0.34087416529655457 + }, + { + "y": 0.4959953725337982, + "x": 0.31985020637512207 + }, + { + "y": 0.4622652232646942, + "x": 0.2872077524662018 + }, + { + "y": 0.4395941495895386, + "x": 0.24847941100597382 + }, + { + "y": 0.48106563091278076, + "x": 0.2047717124223709 + }, + { + "y": 0.5363609790802002, + "x": 0.18098145723342896 + }, + { + "y": 0.5963563919067383, + "x": 0.1782151460647583 + }, + { + "y": 0.6552459001541138, + "x": 0.19481299817562103 + }, + { + "y": 0.7063940763473511, + "x": 0.23298807442188263 + }, + { + "y": 0.7368064522743225, + "x": 0.28610122203826904 + } + ], + "olho_esquerdo": [ + { + "y": 0.7973548173904419, + "x": 0.7087933421134949 + }, + { + "y": 0.7475890517234802, + "x": 0.7300939559936523 + }, + { + "y": 0.6781934499740601, + "x": 0.7157091498374939 + }, + { + "y": 0.6389337778091431, + "x": 0.6808536052703857 + }, + { + "y": 0.6881465911865234, + "x": 0.6805769801139832 + }, + { + "y": 0.7536715269088745, + "x": 0.686386227607727 + } + ], + "sobrancelha_direita": [ + { + "y": 0.18247093260288239, + "x": 0.7040906548500061 + }, + { + "y": 0.29859107732772827, + "x": 0.7818239331245422 + }, + { + "y": 0.4379352927207947, + "x": 0.7843136191368103 + }, + { + "y": 0.44125300645828247, + "x": 0.7336901426315308 + }, + { + "y": 0.31020310521125793, + "x": 0.732860267162323 + }, + { + "y": 0.19187113642692566, + "x": 0.678640604019165 + } + ], + "nariz": [ + { + "y": 0.5335961580276489, + "x": 0.6385290622711182 + }, + { + "y": 0.6392102241516113, + "x": 0.5403251051902771 + }, + { + "y": 0.6538634896278381, + "x": 0.44986677169799805 + }, + { + "y": 0.6071389317512512, + "x": 0.44433414936065674 + }, + { + "y": 0.5623497366905212, + "x": 0.4299493432044983 + }, + { + "y": 0.5175605416297913, + "x": 0.43050259351730347 + }, + { + "y": 0.4733242988586426, + "x": 0.42275694012641907 + }, + { + "y": 0.4617122709751129, + "x": 0.5126619935035706 + } + ], + "olho_direito": [ + { + "y": 0.27481409907341003, + "x": 0.6216545701026917 + }, + { + "y": 0.3135208189487457, + "x": 0.6573399901390076 + }, + { + "y": 0.38208702206611633, + "x": 0.6656389236450195 + }, + { + "y": 0.4318528175354004, + "x": 0.6468279957771301 + }, + { + "y": 0.3865106403827667, + "x": 0.6313366889953613 + }, + { + "y": 0.3223680853843689, + "x": 0.6161220073699951 + } + ] + } + }, + "tipo": "rosto", + "confianca": 1, + "modelo": "VNDetectFaceLandmarksRequest" + }, + { + "valor": { + "score": 0.75732421875, + "bounding_box": { + "y": 0.34853067994117737, + "largura": 0.16845040023326874, + "x": 0.6038833260536194, + "altura": 0.29946738481521606 + } + }, + "tipo": "qualidade_do_rosto", + "confianca": 0.8855392336845398, + "modelo": "VNDetectFaceCaptureQualityRequest" + }, + { + "valor": { + "ocupacao_do_quadro": 0.6628316903312379, + "bounding_box": { + "y": 0.15716378177292983, + "largura": 0.8326480812148053, + "x": 0.0006167763133386239, + "altura": 0.796052624494359 + } + }, + "tipo": "pessoa", + "confianca": 0.7271922826766968, + "modelo": "VNDetectHumanRectanglesRequest" + }, + { + "valor": { + "pontos": { + "VNHumanBodyPoseObservationJointName(_rawValue: left_foot_joint)": { + "confianca": 0, + "x": 0, + "y": 1 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_upLeg_joint)": { + "confianca": 0, + "x": 0, + "y": 1 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: root)": { + "y": 1, + "x": 0, + "confianca": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: neck_1_joint)": { + "confianca": 0.239013671875, + "x": 0.535162016749382, + "y": 0.5873589813709259 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_leg_joint)": { + "y": 1, + "x": 0, + "confianca": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_upLeg_joint)": { + "y": 1, + "x": 0, + "confianca": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_eye_joint)": { + "y": 0.470401406288147, + "x": 0.7142084240913391, + "confianca": 0.75390625 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_forearm_joint)": { + "confianca": 0.5849609375, + "x": 0.24267585575580597, + "y": 0.1839258074760437 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_eye_joint)": { + "confianca": 0.87744140625, + "x": 0.7194888591766357, + "y": 0.5812896490097046 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_shoulder_1_joint)": { + "confianca": 0.167724609375, + "x": 0.5733809471130371, + "y": 0.3809569478034973 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_hand_joint)": { + "confianca": 0.459716796875, + "x": 0.2269100844860077, + "y": 0.31318092346191406 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_foot_joint)": { + "confianca": 0, + "x": 0, + "y": 1 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_leg_joint)": { + "confianca": 0, + "x": 0, + "y": 1 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_forearm_joint)": { + "confianca": 0.66796875, + "x": 0.2673744559288025, + "y": 0.9224401116371155 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_ear_joint)": { + "confianca": 0.242919921875, + "x": 0.6937026381492615, + "y": 0.3978039622306824 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_ear_joint)": { + "confianca": 0.39404296875, + "x": 0.6859137415885925, + "y": 0.6602362394332886 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_hand_joint)": { + "y": 0.8090561032295227, + "x": 0.21687182784080505, + "confianca": 0.7392578125 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: head_joint)": { + "y": 0.5330073833465576, + "x": 0.6915051937103271, + "confianca": 0.74560546875 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_shoulder_1_joint)": { + "y": 0.7937610149383545, + "x": 0.49694308638572693, + "confianca": 0.310302734375 + } + } + }, + "tipo": "pose", + "confianca": 1, + "modelo": "VNDetectHumanBodyPoseRequest" + }, + { + "valor": { + "pontos": { + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPPIP)": { + "y": 0.4817749261856079, + "x": 0.21617212891578674, + "confianca": 0.7841796875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTMP)": { + "y": 0.3139813542366028, + "x": 0.28238019347190857, + "confianca": 0.76953125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTTIP)": { + "confianca": 0.9052734375, + "x": 0.318789005279541, + "y": 0.32832759618759155 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKITIP)": { + "confianca": 0.919921875, + "x": 0.3218258321285248, + "y": 0.5047742128372192 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMMCP)": { + "y": 0.4143243432044983, + "x": 0.23534585535526276, + "confianca": 0.88818359375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMPIP)": { + "confianca": 0.89111328125, + "x": 0.2745530903339386, + "y": 0.47965073585510254 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKWRI)": { + "confianca": 0.70751953125, + "x": 0.2232929915189743, + "y": 0.3152347207069397 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRMCP)": { + "confianca": 0.8076171875, + "x": 0.22829261422157288, + "y": 0.43596339225769043 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIPIP)": { + "confianca": 0.88330078125, + "x": 0.28288301825523376, + "y": 0.4437398314476013 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIDIP)": { + "y": 0.4756503105163574, + "x": 0.3018624782562256, + "confianca": 0.89013671875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRPIP)": { + "confianca": 0.8955078125, + "x": 0.247068852186203, + "y": 0.4995155334472656 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRDIP)": { + "confianca": 0.87841796875, + "x": 0.26307645440101624, + "y": 0.5386553406715393 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIMCP)": { + "confianca": 0.900390625, + "x": 0.25204068422317505, + "y": 0.3796595335006714 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMTIP)": { + "y": 0.5446744561195374, + "x": 0.32021471858024597, + "confianca": 0.8876953125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPTIP)": { + "confianca": 0.83935546875, + "x": 0.1898011416196823, + "y": 0.520598292350769 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPMCP)": { + "confianca": 0.6259765625, + "x": 0.22726096212863922, + "y": 0.4462167024612427 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMDIP)": { + "confianca": 0.8828125, + "x": 0.29909875988960266, + "y": 0.5154346227645874 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTIP)": { + "y": 0.3349270224571228, + "x": 0.2972695231437683, + "confianca": 0.77880859375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRTIP)": { + "y": 0.5712683200836182, + "x": 0.2801303267478943, + "confianca": 0.88818359375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTCMC)": { + "confianca": 0.72119140625, + "x": 0.25542065501213074, + "y": 0.3088507056236267 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPDIP)": { + "confianca": 0.8046875, + "x": 0.20306582748889923, + "y": 0.5019806623458862 + } + } + }, + "tipo": "mao", + "confianca": 1, + "modelo": "VNDetectHumanHandPoseRequest" + }, + { + "valor": { + "pontos": { + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTTIP)": { + "confianca": 0.2099609375, + "x": 0.19839805364608765, + "y": 0.5533837080001831 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTMP)": { + "confianca": 0.48974609375, + "x": 0.2382184863090515, + "y": 0.6559919714927673 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKITIP)": { + "y": 0.5192800760269165, + "x": 0.17472326755523682, + "confianca": 0.921875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPPIP)": { + "confianca": 0.890625, + "x": 0.152269646525383, + "y": 0.666549801826477 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMPIP)": { + "confianca": 0.904296875, + "x": 0.19066308438777924, + "y": 0.5842823386192322 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMMCP)": { + "confianca": 0.88525390625, + "x": 0.22024501860141754, + "y": 0.6683187484741211 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKWRI)": { + "y": 0.7767519354820251, + "x": 0.22892558574676514, + "confianca": 0.68505859375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRMCP)": { + "y": 0.692774772644043, + "x": 0.20012450218200684, + "confianca": 0.87109375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIPIP)": { + "confianca": 0.87451171875, + "x": 0.2104359120130539, + "y": 0.5625451803207397 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIDIP)": { + "confianca": 0.8935546875, + "x": 0.19083726406097412, + "y": 0.5356854200363159 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRPIP)": { + "y": 0.6186286211013794, + "x": 0.172601580619812, + "confianca": 0.892578125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRDIP)": { + "confianca": 0.85205078125, + "x": 0.15654298663139343, + "y": 0.573783278465271 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIMCP)": { + "y": 0.6411036252975464, + "x": 0.24019896984100342, + "confianca": 0.8974609375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMTIP)": { + "confianca": 0.6298828125, + "x": 0.16883717477321625, + "y": 0.5498977899551392 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPTIP)": { + "confianca": 0.8955078125, + "x": 0.12824971973896027, + "y": 0.6007238626480103 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPMCP)": { + "confianca": 0.8515625, + "x": 0.17967751622200012, + "y": 0.7148000001907349 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMDIP)": { + "confianca": 0.87841796875, + "x": 0.17454621195793152, + "y": 0.5557011365890503 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTIP)": { + "confianca": 0.199951171875, + "x": 0.21823617815971375, + "y": 0.6108096837997437 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRTIP)": { + "y": 0.5428541302680969, + "x": 0.14836864173412323, + "confianca": 0.916015625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTCMC)": { + "confianca": 0.611328125, + "x": 0.24277235567569733, + "y": 0.7152791619300842 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPDIP)": { + "y": 0.6350438594818115, + "x": 0.1383131742477417, + "confianca": 0.88720703125 + } + } + }, + "tipo": "mao", + "confianca": 1, + "modelo": "VNDetectHumanHandPoseRequest" + }, + { + "valor": { + "identificador": "adult" + }, + "tipo": "categoria", + "confianca": 0.82763671875, + "modelo": "VNClassifyImageRequest" + }, + { + "valor": { + "identificador": "people" + }, + "tipo": "categoria", + "confianca": 0.82763671875, + "modelo": "VNClassifyImageRequest" + }, + { + "valor": { + "identificador": "clothing" + }, + "tipo": "categoria", + "confianca": 0.22506049275398254, + "modelo": "VNClassifyImageRequest" + }, + { + "valor": { + "score_global": 0.68115234375 + }, + "tipo": "estetica", + "modelo": "VNCalculateImageAestheticsScoresRequest" + }, + { + "valor": { + "angulo_radianos": 0.01745329238474369 + }, + "tipo": "horizonte", + "confianca": 1, + "modelo": "VNDetectHorizonRequest" + }, + { + "valor": { + "quantidade_principal": 5 + }, + "tipo": "contornos", + "confianca": 1, + "modelo": "VNDetectContoursRequest" + }, + { + "valor": { + "ocupacao_do_quadro": 0.48773193359375 + }, + "tipo": "segmentacao_de_pessoas", + "modelo": "VNGeneratePersonSegmentationRequest" + } + ], + "avisos": [] + }, + { + "timestamp_s": 17, + "arquivo": "frame-17s.png", + "tempo_processamento_ms": 1312, + "evidencias": [ + { + "modelo": "CoreImageHistogram", + "valor": { + "clipping_branco": 0.00011670524691358024, + "exposicao": "equilibrado", + "contraste": 0.24700253857753504, + "media_brilho": 0.43151440849294964, + "clipping_preto": 0.0924024643132716 + }, + "tipo": "brilho" + }, + { + "confianca": 1, + "modelo": "VNDetectFaceLandmarksRequest", + "valor": { + "pitch": 0, + "bounding_box": { + "y": 0.40243300795555115, + "altura": 0.305708646774292, + "largura": 0.17196111381053925, + "x": 0.5982065796852112 + }, + "landmarks": { + "labios": [ + { + "y": 0.6623996496200562, + "x": 0.3059099316596985 + }, + { + "y": 0.6231096982955933, + "x": 0.33304065465927124 + }, + { + "y": 0.5785626769065857, + "x": 0.3490976393222809 + }, + { + "y": 0.5392727255821228, + "x": 0.34300705790519714 + }, + { + "y": 0.5005361437797546, + "x": 0.3513123691082001 + }, + { + "y": 0.455159068107605, + "x": 0.3402386009693146 + }, + { + "y": 0.4131022095680237, + "x": 0.316983699798584 + }, + { + "y": 0.37989944219589233, + "x": 0.2854234576225281 + }, + { + "y": 0.4136556088924408, + "x": 0.2283935397863388 + }, + { + "y": 0.4678867757320404, + "x": 0.18963535130023956 + }, + { + "y": 0.5315254330635071, + "x": 0.1746857613325119 + }, + { + "y": 0.5959941148757935, + "x": 0.18243740499019623 + }, + { + "y": 0.653545618057251, + "x": 0.21621239185333252 + }, + { + "y": 0.6908987164497375, + "x": 0.26936647295951843 + } + ], + "sobrancelha_esquerda": [ + { + "y": 0.8985543847084045, + "x": 0.765471339225769 + }, + { + "y": 0.7716920971870422, + "x": 0.8278997540473938 + }, + { + "y": 0.6308570504188538, + "x": 0.8047832250595093 + }, + { + "y": 0.635007381439209, + "x": 0.7568891644477844 + }, + { + "y": 0.7667117118835449, + "x": 0.7770988345146179 + }, + { + "y": 0.892052173614502, + "x": 0.7397248148918152 + } + ], + "olho_direito": [ + { + "y": 0.2952323853969574, + "x": 0.679095983505249 + }, + { + "y": 0.3400561213493347, + "x": 0.7076109051704407 + }, + { + "y": 0.4086751937866211, + "x": 0.7026277184486389 + }, + { + "y": 0.4523921608924866, + "x": 0.6738359332084656 + }, + { + "y": 0.40480151772499084, + "x": 0.6669148206710815 + }, + { + "y": 0.34060949087142944, + "x": 0.663038969039917 + } + ], + "olho_esquerdo": [ + { + "y": 0.8123655319213867, + "x": 0.6746664643287659 + }, + { + "y": 0.7683718204498291, + "x": 0.7040119171142578 + }, + { + "y": 0.6983693242073059, + "x": 0.7009666562080383 + }, + { + "y": 0.6538223028182983, + "x": 0.6716211438179016 + }, + { + "y": 0.7019662857055664, + "x": 0.6624853014945984 + }, + { + "y": 0.7669883966445923, + "x": 0.6586095094680786 + } + ], + "nariz": [ + { + "y": 0.552277147769928, + "x": 0.641998827457428 + }, + { + "y": 0.6377742886543274, + "x": 0.5284926891326904 + }, + { + "y": 0.63749760389328, + "x": 0.44100990891456604 + }, + { + "y": 0.5907370448112488, + "x": 0.44100990891456604 + }, + { + "y": 0.5448065400123596, + "x": 0.43159720301628113 + }, + { + "y": 0.4994294047355652, + "x": 0.4437783658504486 + }, + { + "y": 0.4529455304145813, + "x": 0.4471004903316498 + }, + { + "y": 0.45903271436691284, + "x": 0.5326453447341919 + } + ], + "sobrancelha_direita": [ + { + "y": 0.2188660204410553, + "x": 0.7776525020599365 + }, + { + "y": 0.346696674823761, + "x": 0.8310834169387817 + }, + { + "y": 0.4828280210494995, + "x": 0.8064442873001099 + }, + { + "y": 0.4772942364215851, + "x": 0.7574428915977478 + }, + { + "y": 0.3489101827144623, + "x": 0.780697762966156 + }, + { + "y": 0.22273968160152435, + "x": 0.7505217790603638 + } + ], + "rosto": [ + { + "y": 0.15910103917121887, + "x": 0.6685758829116821 + }, + { + "y": 0.15190710127353668, + "x": 0.5578382015228271 + }, + { + "y": 0.15522737801074982, + "x": 0.4459930956363678 + }, + { + "y": 0.1668483465909958, + "x": 0.3341480493545532 + }, + { + "y": 0.19341056048870087, + "x": 0.22507141530513763 + }, + { + "y": 0.2459816187620163, + "x": 0.12596116960048676 + }, + { + "y": 0.3217945992946625, + "x": 0.04401528090238571 + }, + { + "y": 0.4142089784145355, + "x": -0.017997827380895615 + }, + { + "y": 0.5232247114181519, + "x": -0.042913809418678284 + }, + { + "y": 0.6339006423950195, + "x": -0.02298102341592312 + }, + { + "y": 0.7296352982521057, + "x": 0.034048888832330704 + }, + { + "y": 0.8109820485115051, + "x": 0.11267264932394028 + }, + { + "y": 0.8710237145423889, + "x": 0.20956812798976898 + }, + { + "y": 0.9065783619880676, + "x": 0.317537397146225 + }, + { + "y": 0.9280217885971069, + "x": 0.42882877588272095 + }, + { + "y": 0.9408878684043884, + "x": 0.5417811870574951 + }, + { + "y": 0.9432397484779358, + "x": 0.6536262631416321 + } + ] + }, + "roll": -1.5707963705062866, + "yaw": 0 + }, + "tipo": "rosto" + }, + { + "confianca": 0.857526421546936, + "modelo": "VNDetectFaceCaptureQualityRequest", + "valor": { + "score": 0.73828125, + "bounding_box": { + "y": 0.4055272340774536, + "largura": 0.17200161516666412, + "altura": 0.30578064918518066, + "x": 0.5984620451927185 + } + }, + "tipo": "qualidade_do_rosto" + }, + { + "confianca": 0.738849401473999, + "modelo": "VNDetectHumanRectanglesRequest", + "valor": { + "bounding_box": { + "y": 0.14766083514829864, + "altura": 0.7923976773058458, + "largura": 0.8330592434988113, + "x": -0.0018503290564311978 + }, + "ocupacao_do_quadro": 0.660114209606623 + }, + "tipo": "pessoa" + }, + { + "confianca": 1, + "modelo": "VNDetectHumanBodyPoseRequest", + "valor": { + "pontos": { + "VNHumanBodyPoseObservationJointName(_rawValue: right_forearm_joint)": { + "y": 0.9124017953872681, + "confianca": 0.607421875, + "x": 0.257521390914917 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_foot_joint)": { + "y": 1, + "confianca": 0, + "x": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_foot_joint)": { + "y": 1, + "confianca": 0, + "x": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_hand_joint)": { + "y": 0.8362687826156616, + "confianca": 0.72509765625, + "x": 0.21317915618419647 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_shoulder_1_joint)": { + "y": 0.7975987195968628, + "confianca": 0.36083984375, + "x": 0.4905140995979309 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_ear_joint)": { + "y": 0.4468398690223694, + "confianca": 0.35986328125, + "x": 0.70090252161026 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: head_joint)": { + "y": 0.5841690301895142, + "confianca": 0.7578125, + "x": 0.6866964101791382 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_leg_joint)": { + "y": 1, + "confianca": 0, + "x": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: root)": { + "y": 1, + "confianca": 0, + "x": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_eye_joint)": { + "y": 0.5259963274002075, + "confianca": 0.8251953125, + "x": 0.7171799540519714 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_ear_joint)": { + "y": 0.7116758823394775, + "confianca": 0.56982421875, + "x": 0.6836946606636047 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_upLeg_joint)": { + "y": 1, + "confianca": 0, + "x": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_forearm_joint)": { + "y": 0.17161279916763306, + "confianca": 0.56103515625, + "x": 0.256316602230072 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_shoulder_1_joint)": { + "y": 0.3651238679885864, + "confianca": 0.169677734375, + "x": 0.5427079796791077 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_leg_joint)": { + "y": 1, + "confianca": 0, + "x": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: neck_1_joint)": { + "y": 0.5813612937927246, + "confianca": 0.2652587890625, + "x": 0.5166110396385193 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_hand_joint)": { + "y": 0.3246667981147766, + "confianca": 0.54150390625, + "x": 0.232317253947258 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_upLeg_joint)": { + "y": 1, + "confianca": 0, + "x": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_eye_joint)": { + "y": 0.6412714719772339, + "confianca": 0.890625, + "x": 0.7146135568618774 + } + } + }, + "tipo": "pose" + }, + { + "confianca": 1, + "modelo": "VNDetectHumanHandPoseRequest", + "valor": { + "pontos": { + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMTIP)": { + "y": 0.6296451687812805, + "confianca": 0.8837890625, + "x": 0.2525258958339691 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIMCP)": { + "y": 0.429756760597229, + "confianca": 0.8837890625, + "x": 0.24924348294734955 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTMP)": { + "y": 0.3686531186103821, + "confianca": 0.7958984375, + "x": 0.2870559096336365 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRTIP)": { + "y": 0.6191431283950806, + "confianca": 0.226318359375, + "x": 0.24578112363815308 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTTIP)": { + "y": 0.41161686182022095, + "confianca": 0.8857421875, + "x": 0.32208794355392456 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRPIP)": { + "y": 0.5239949226379395, + "confianca": 0.50732421875, + "x": 0.2196873426437378 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTCMC)": { + "y": 0.333526611328125, + "confianca": 0.74072265625, + "x": 0.2665468156337738 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRDIP)": { + "y": 0.5686337947845459, + "confianca": 0.181396484375, + "x": 0.221248060464859 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKWRI)": { + "y": 0.3191322684288025, + "confianca": 0.751953125, + "x": 0.23234570026397705 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIPIP)": { + "y": 0.5065562129020691, + "confianca": 0.904296875, + "x": 0.26344582438468933 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPMCP)": { + "y": 0.45113128423690796, + "confianca": 0.79541015625, + "x": 0.21404632925987244 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPPIP)": { + "y": 0.5076984167098999, + "confianca": 0.81103515625, + "x": 0.20394527912139893 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRMCP)": { + "y": 0.4502989649772644, + "confianca": 0.81982421875, + "x": 0.2181766778230667 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMMCP)": { + "y": 0.444380521774292, + "confianca": 0.86474609375, + "x": 0.2283826321363449 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIDIP)": { + "y": 0.5513665080070496, + "confianca": 0.91943359375, + "x": 0.2714478075504303 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKITIP)": { + "y": 0.5929422378540039, + "confianca": 0.919921875, + "x": 0.2796468436717987 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPTIP)": { + "y": 0.5608319640159607, + "confianca": 0.78173828125, + "x": 0.18120402097702026 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTIP)": { + "y": 0.4061845541000366, + "confianca": 0.857421875, + "x": 0.2998877465724945 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPDIP)": { + "y": 0.5379081964492798, + "confianca": 0.7548828125, + "x": 0.1932864934206009 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMDIP)": { + "y": 0.5863343477249146, + "confianca": 0.92138671875, + "x": 0.24575898051261902 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMPIP)": { + "y": 0.5325290560722351, + "confianca": 0.8623046875, + "x": 0.23812748491764069 + } + } + }, + "tipo": "mao" + }, + { + "confianca": 1, + "modelo": "VNDetectHumanHandPoseRequest", + "valor": { + "pontos": { + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMTIP)": { + "y": 0.5827583074569702, + "confianca": 0.7724609375, + "x": 0.15745671093463898 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRTIP)": { + "y": 0.5862778425216675, + "confianca": 0.91650390625, + "x": 0.1409653127193451 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTMP)": { + "y": 0.6861923933029175, + "confianca": 0.65625, + "x": 0.23040889203548431 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMPIP)": { + "y": 0.629753589630127, + "confianca": 0.91015625, + "x": 0.1831013709306717 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTTIP)": { + "y": 0.5829215049743652, + "confianca": 0.5224609375, + "x": 0.19473031163215637 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTCMC)": { + "y": 0.7472376823425293, + "confianca": 0.7080078125, + "x": 0.2369750440120697 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRPIP)": { + "y": 0.6677592992782593, + "confianca": 0.88427734375, + "x": 0.16624875366687775 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRDIP)": { + "y": 0.6198384761810303, + "confianca": 0.81689453125, + "x": 0.14951692521572113 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKWRI)": { + "y": 0.8086793422698975, + "confianca": 0.7724609375, + "x": 0.22676673531532288 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPMCP)": { + "y": 0.7611159086227417, + "confianca": 0.859375, + "x": 0.1749882996082306 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIPIP)": { + "y": 0.6067973375320435, + "confianca": 0.89453125, + "x": 0.20141556859016418 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPPIP)": { + "y": 0.7187938094139099, + "confianca": 0.87744140625, + "x": 0.14512380957603455 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRMCP)": { + "y": 0.7391139268875122, + "confianca": 0.8623046875, + "x": 0.1949087679386139 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMMCP)": { + "y": 0.7125932574272156, + "confianca": 0.88134765625, + "x": 0.214059516787529 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIDIP)": { + "y": 0.5786247253417969, + "confianca": 0.89404296875, + "x": 0.18236878514289856 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKITIP)": { + "y": 0.5633678436279297, + "confianca": 0.896484375, + "x": 0.16692917048931122 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPTIP)": { + "y": 0.6547151803970337, + "confianca": 0.92333984375, + "x": 0.11911793053150177 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMDIP)": { + "y": 0.5943681001663208, + "confianca": 0.896484375, + "x": 0.16537949442863464 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTIP)": { + "y": 0.6256437301635742, + "confianca": 0.308349609375, + "x": 0.2085043340921402 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPDIP)": { + "y": 0.6878187656402588, + "confianca": 0.89111328125, + "x": 0.12982282042503357 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIMCP)": { + "y": 0.6821194887161255, + "confianca": 0.89404296875, + "x": 0.23305407166481018 + } + } + }, + "tipo": "mao" + }, + { + "confianca": 0.8564453125, + "modelo": "VNClassifyImageRequest", + "valor": { + "identificador": "adult" + }, + "tipo": "categoria" + }, + { + "confianca": 0.8564453125, + "modelo": "VNClassifyImageRequest", + "valor": { + "identificador": "people" + }, + "tipo": "categoria" + }, + { + "confianca": 0.29208341240882874, + "modelo": "VNClassifyImageRequest", + "valor": { + "identificador": "clothing" + }, + "tipo": "categoria" + }, + { + "modelo": "VNCalculateImageAestheticsScoresRequest", + "valor": { + "score_global": 0.6630859375 + }, + "tipo": "estetica" + }, + { + "confianca": 1, + "modelo": "VNDetectHorizonRequest", + "valor": { + "angulo_radianos": 0.01745329238474369 + }, + "tipo": "horizonte" + }, + { + "confianca": 1, + "modelo": "VNDetectContoursRequest", + "valor": { + "quantidade_principal": 5 + }, + "tipo": "contornos" + }, + { + "modelo": "VNGeneratePersonSegmentationRequest", + "valor": { + "ocupacao_do_quadro": 0.48614501953125 + }, + "tipo": "segmentacao_de_pessoas" + } + ], + "avisos": [] + }, + { + "timestamp_s": 18, + "arquivo": "frame-18s.png", + "tempo_processamento_ms": 1278, + "evidencias": [ + { + "valor": { + "exposicao": "equilibrado", + "clipping_branco": 1.675829475308642e-05, + "clipping_preto": 0.08926191165123457, + "media_brilho": 0.4379143906212176, + "contraste": 0.24570513674634156 + }, + "tipo": "brilho", + "modelo": "CoreImageHistogram" + }, + { + "modelo": "VNDetectFaceLandmarksRequest", + "valor": { + "bounding_box": { + "largura": 0.1742871105670929, + "x": 0.603087842464447, + "y": 0.42401444911956787, + "altura": 0.3098437488079071 + }, + "roll": -1.5707963705062866, + "yaw": 0, + "landmarks": { + "sobrancelha_direita": [ + { + "x": 0.7728056311607361, + "y": 0.2227182388305664 + }, + { + "x": 0.8080629706382751, + "y": 0.3478867709636688 + }, + { + "x": 0.7691301703453064, + "y": 0.47305530309677124 + }, + { + "x": 0.7232547998428345, + "y": 0.4621710777282715 + }, + { + "x": 0.7601456642150879, + "y": 0.3446215093135834 + }, + { + "x": 0.7466689348220825, + "y": 0.22326244413852692 + } + ], + "sobrancelha_esquerda": [ + { + "x": 0.7052857875823975, + "y": 0.8919617533683777 + }, + { + "x": 0.7715804576873779, + "y": 0.7677455544471741 + }, + { + "x": 0.7549727559089661, + "y": 0.6267949342727661 + }, + { + "x": 0.7090973854064941, + "y": 0.6281554698944092 + }, + { + "x": 0.7235270738601685, + "y": 0.7601265907287598 + }, + { + "x": 0.6802381277084351, + "y": 0.8844788074493408 + } + ], + "rosto": [ + { + "x": 0.656551718711853, + "y": 0.16503186523914337 + }, + { + "x": 0.5511881113052368, + "y": 0.14544028043746948 + }, + { + "x": 0.4436464011669159, + "y": 0.1389097422361374 + }, + { + "x": 0.3347434103488922, + "y": 0.1399981677532196 + }, + { + "x": 0.2269294708967209, + "y": 0.1530592292547226 + }, + { + "x": 0.12510517239570618, + "y": 0.19278663396835327 + }, + { + "x": 0.03907182440161705, + "y": 0.2575477361679077 + }, + { + "x": -0.028448021039366722, + "y": 0.34190043807029724 + }, + { + "x": -0.0616634301841259, + "y": 0.4436679184436798 + }, + { + "x": -0.05512924864888191, + "y": 0.5560474991798401 + }, + { + "x": -0.014835148118436337, + "y": 0.659175455570221 + }, + { + "x": 0.04832857847213745, + "y": 0.7511471509933472 + }, + { + "x": 0.13490644097328186, + "y": 0.824887752532959 + }, + { + "x": 0.23781976103782654, + "y": 0.8733224868774414 + }, + { + "x": 0.3472672700881958, + "y": 0.90651935338974 + }, + { + "x": 0.4583483040332794, + "y": 0.9310088753700256 + }, + { + "x": 0.569701611995697, + "y": 0.94393390417099 + } + ], + "olho_direito": [ + { + "x": 0.656279444694519, + "y": 0.28094881772994995 + }, + { + "x": 0.6832329630851746, + "y": 0.3272067606449127 + }, + { + "x": 0.6704368591308594, + "y": 0.39686575531959534 + }, + { + "x": 0.6342266201972961, + "y": 0.4349605441093445 + }, + { + "x": 0.6304150223731995, + "y": 0.3876141905784607 + }, + { + "x": 0.633137583732605, + "y": 0.32339727878570557 + } + ], + "labios": [ + { + "x": 0.24435393512248993, + "y": 0.5840743780136108 + }, + { + "x": 0.27157968282699585, + "y": 0.553326427936554 + }, + { + "x": 0.2911822199821472, + "y": 0.518224835395813 + }, + { + "x": 0.28737062215805054, + "y": 0.4833953082561493 + }, + { + "x": 0.2988054156303406, + "y": 0.4507426619529724 + }, + { + "x": 0.28682610392570496, + "y": 0.4137363135814667 + }, + { + "x": 0.26885712146759033, + "y": 0.37836259603500366 + }, + { + "x": 0.24435393512248993, + "y": 0.34897518157958984 + }, + { + "x": 0.20623789727687836, + "y": 0.3799952268600464 + }, + { + "x": 0.17955666780471802, + "y": 0.4218994677066803 + }, + { + "x": 0.16703282296657562, + "y": 0.46870163083076477 + }, + { + "x": 0.16921088099479675, + "y": 0.5193132162094116 + }, + { + "x": 0.18554633855819702, + "y": 0.5680201053619385 + }, + { + "x": 0.2138611078262329, + "y": 0.6088359355926514 + } + ], + "olho_esquerdo": [ + { + "x": 0.6048228144645691, + "y": 0.7995819449424744 + }, + { + "x": 0.6399440169334412, + "y": 0.7576776742935181 + }, + { + "x": 0.6426665782928467, + "y": 0.6850255131721497 + }, + { + "x": 0.6132627725601196, + "y": 0.6376791596412659 + }, + { + "x": 0.5996499061584473, + "y": 0.6861138939857483 + }, + { + "x": 0.5901209115982056, + "y": 0.7525076866149902 + } + ], + "nariz": [ + { + "x": 0.5944769978523254, + "y": 0.5236669182777405 + }, + { + "x": 0.4659714996814728, + "y": 0.5963190793991089 + }, + { + "x": 0.3744930028915405, + "y": 0.5840743780136108 + }, + { + "x": 0.38320523500442505, + "y": 0.5399932861328125 + }, + { + "x": 0.3815716803073883, + "y": 0.4959121644496918 + }, + { + "x": 0.39191746711730957, + "y": 0.4567289650440216 + }, + { + "x": 0.3935510218143463, + "y": 0.4153689444065094 + }, + { + "x": 0.484485000371933, + "y": 0.42625316977500916 + } + ] + }, + "pitch": 0 + }, + "tipo": "rosto", + "confianca": 1 + }, + { + "modelo": "VNDetectFaceCaptureQualityRequest", + "valor": { + "bounding_box": { + "x": 0.6053996682167053, + "largura": 0.17372345924377441, + "y": 0.42078155279159546, + "altura": 0.3088417053222656 + }, + "score": 0.76025390625 + }, + "tipo": "qualidade_do_rosto", + "confianca": 0.8674337863922119 + }, + { + "modelo": "VNDetectHumanRectanglesRequest", + "valor": { + "ocupacao_do_quadro": 0.6726791063578536, + "bounding_box": { + "largura": 0.834292789839061, + "x": -0.0014391447699285645, + "y": 0.14400581964100892, + "altura": 0.8062866113077839 + } + }, + "tipo": "pessoa", + "confianca": 0.7542198896408081 + }, + { + "modelo": "VNDetectHumanBodyPoseRequest", + "valor": { + "pontos": { + "VNHumanBodyPoseObservationJointName(_rawValue: right_shoulder_1_joint)": { + "x": 0.48936477303504944, + "confianca": 0.382080078125, + "y": 0.8059919476509094 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_upLeg_joint)": { + "confianca": 0, + "x": 0, + "y": 1 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_ear_joint)": { + "confianca": 0.448486328125, + "x": 0.7043742537498474, + "y": 0.4595264196395874 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: head_joint)": { + "confianca": 0.8212890625, + "x": 0.6811644434928894, + "y": 0.5957801342010498 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_leg_joint)": { + "confianca": 0, + "x": 0, + "y": 1 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_hand_joint)": { + "confianca": 0.56982421875, + "x": 0.22549369931221008, + "y": 0.3215813636779785 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_eye_joint)": { + "confianca": 0.89990234375, + "x": 0.7055015563964844, + "y": 0.6627832651138306 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_forearm_joint)": { + "confianca": 0.671875, + "x": 0.2561611533164978, + "y": 0.9187479019165039 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_eye_joint)": { + "confianca": 0.8359375, + "x": 0.7176753282546997, + "y": 0.543881893157959 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_foot_joint)": { + "x": 0, + "confianca": 0, + "y": 1 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_forearm_joint)": { + "confianca": 0.603515625, + "x": 0.25889676809310913, + "y": 0.17891401052474976 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_ear_joint)": { + "x": 0.6744281649589539, + "confianca": 0.69580078125, + "y": 0.729446530342102 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: neck_1_joint)": { + "x": 0.49595965445041656, + "confianca": 0.308837890625, + "y": 0.5549300014972687 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_foot_joint)": { + "confianca": 0, + "x": 0, + "y": 1 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_shoulder_1_joint)": { + "confianca": 0.235595703125, + "x": 0.5025545358657837, + "y": 0.30386805534362793 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_hand_joint)": { + "confianca": 0.7001953125, + "x": 0.19697615504264832, + "y": 0.8289497494697571 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: root)": { + "confianca": 0, + "x": 0, + "y": 1 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_leg_joint)": { + "x": 0, + "confianca": 0, + "y": 1 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_upLeg_joint)": { + "x": 0, + "confianca": 0, + "y": 1 + } + } + }, + "tipo": "pose", + "confianca": 1 + }, + { + "modelo": "VNDetectHumanHandPoseRequest", + "valor": { + "pontos": { + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMDIP)": { + "x": 0.15722313523292542, + "confianca": 0.8349609375, + "y": 0.5564240217208862 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKITIP)": { + "confianca": 0.830078125, + "x": 0.21219652891159058, + "y": 0.62128084897995 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRMCP)": { + "confianca": 0.83349609375, + "x": 0.18684226274490356, + "y": 0.44377070665359497 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMPIP)": { + "x": 0.17685829102993011, + "confianca": 0.8447265625, + "y": 0.5259671211242676 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTCMC)": { + "x": 0.2528785765171051, + "confianca": 0.78076171875, + "y": 0.3556225299835205 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRPIP)": { + "x": 0.17495685815811157, + "confianca": 0.798828125, + "y": 0.5013318061828613 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMTIP)": { + "confianca": 0.7265625, + "x": 0.14045555889606476, + "y": 0.5713218450546265 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRTIP)": { + "confianca": 0.1875, + "x": 0.16084402799606323, + "y": 0.5559009313583374 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIMCP)": { + "x": 0.22668401896953583, + "confianca": 0.876953125, + "y": 0.4608675241470337 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKWRI)": { + "confianca": 0.80908203125, + "x": 0.2217647284269333, + "y": 0.32318776845932007 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIPIP)": { + "x": 0.21957574784755707, + "confianca": 0.8515625, + "y": 0.5385156869888306 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPDIP)": { + "confianca": 0.65966796875, + "x": 0.1826087087392807, + "y": 0.5059024095535278 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTMP)": { + "confianca": 0.796875, + "x": 0.27130281925201416, + "y": 0.41208702325820923 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPMCP)": { + "confianca": 0.8173828125, + "x": 0.18242301046848297, + "y": 0.43450045585632324 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTIP)": { + "confianca": 0.82861328125, + "x": 0.2773903012275696, + "y": 0.45806366205215454 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRDIP)": { + "confianca": 0.52001953125, + "x": 0.1694944053888321, + "y": 0.5304605960845947 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMMCP)": { + "confianca": 0.853515625, + "x": 0.19990819692611694, + "y": 0.4559028148651123 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIDIP)": { + "x": 0.21568123996257782, + "confianca": 0.8984375, + "y": 0.582350492477417 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPTIP)": { + "confianca": 0.497802734375, + "x": 0.1873386651277542, + "y": 0.5228313207626343 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPPIP)": { + "x": 0.1815120279788971, + "confianca": 0.78271484375, + "y": 0.47928154468536377 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTTIP)": { + "x": 0.29397469758987427, + "confianca": 0.876953125, + "y": 0.4803205132484436 + } + } + }, + "tipo": "mao", + "confianca": 1 + }, + { + "modelo": "VNDetectHumanHandPoseRequest", + "valor": { + "pontos": { + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMDIP)": { + "confianca": 0.91455078125, + "x": 0.13513049483299255, + "y": 0.5965595245361328 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRMCP)": { + "confianca": 0.841796875, + "x": 0.17272032797336578, + "y": 0.7308236360549927 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKITIP)": { + "confianca": 0.916015625, + "x": 0.1355140507221222, + "y": 0.5659063458442688 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMPIP)": { + "x": 0.15488767623901367, + "confianca": 0.92236328125, + "y": 0.6269087195396423 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTCMC)": { + "confianca": 0.689453125, + "x": 0.21735425293445587, + "y": 0.7332821488380432 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRPIP)": { + "confianca": 0.900390625, + "x": 0.1404746025800705, + "y": 0.6679151058197021 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMTIP)": { + "x": 0.1277078241109848, + "confianca": 0.7509765625, + "y": 0.5853694677352905 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIPIP)": { + "confianca": 0.8857421875, + "x": 0.17128223180770874, + "y": 0.6010755300521851 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIMCP)": { + "confianca": 0.89111328125, + "x": 0.20833127200603485, + "y": 0.6690142154693604 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRTIP)": { + "x": 0.11038247495889664, + "confianca": 0.9150390625, + "y": 0.5922036170959473 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKWRI)": { + "confianca": 0.66357421875, + "x": 0.21018679440021515, + "y": 0.800815224647522 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPDIP)": { + "x": 0.10470215231180191, + "confianca": 0.87841796875, + "y": 0.6968010067939758 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTMP)": { + "x": 0.20933720469474792, + "confianca": 0.6572265625, + "y": 0.6781635284423828 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPTIP)": { + "x": 0.0907975509762764, + "confianca": 0.88671875, + "y": 0.6664894819259644 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTIP)": { + "confianca": 0.515625, + "x": 0.19054920971393585, + "y": 0.6426088213920593 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIDIP)": { + "x": 0.1503412425518036, + "confianca": 0.8779296875, + "y": 0.5768390893936157 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTTIP)": { + "x": 0.17287229001522064, + "confianca": 0.39892578125, + "y": 0.621330738067627 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMMCP)": { + "confianca": 0.86767578125, + "x": 0.19086478650569916, + "y": 0.7011299133300781 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPMCP)": { + "confianca": 0.8427734375, + "x": 0.1541430503129959, + "y": 0.7589608430862427 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPPIP)": { + "confianca": 0.87841796875, + "x": 0.12188664823770523, + "y": 0.7233582139015198 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRDIP)": { + "confianca": 0.85546875, + "x": 0.12097448855638504, + "y": 0.6247035264968872 + } + } + }, + "tipo": "mao", + "confianca": 1 + }, + { + "modelo": "VNClassifyImageRequest", + "valor": { + "identificador": "people" + }, + "tipo": "categoria", + "confianca": 0.8334962129592896 + }, + { + "modelo": "VNClassifyImageRequest", + "valor": { + "identificador": "adult" + }, + "tipo": "categoria", + "confianca": 0.83349609375 + }, + { + "modelo": "VNClassifyImageRequest", + "valor": { + "identificador": "clothing" + }, + "tipo": "categoria", + "confianca": 0.24183180928230286 + }, + { + "valor": { + "score_global": 0.70068359375 + }, + "tipo": "estetica", + "modelo": "VNCalculateImageAestheticsScoresRequest" + }, + { + "modelo": "VNDetectHorizonRequest", + "valor": { + "angulo_radianos": 0.01745329238474369 + }, + "tipo": "horizonte", + "confianca": 1 + }, + { + "modelo": "VNDetectContoursRequest", + "valor": { + "quantidade_principal": 5 + }, + "tipo": "contornos", + "confianca": 1 + }, + { + "valor": { + "ocupacao_do_quadro": 0.4906158447265625 + }, + "tipo": "segmentacao_de_pessoas", + "modelo": "VNGeneratePersonSegmentationRequest" + } + ], + "avisos": [] + }, + { + "timestamp_s": 19, + "arquivo": "frame-19s.png", + "tempo_processamento_ms": 1267, + "evidencias": [ + { + "modelo": "CoreImageHistogram", + "valor": { + "exposicao": "equilibrado", + "clipping_branco": 5.787037037037037e-06, + "media_brilho": 0.42597728635242676, + "clipping_preto": 0.09198857060185185, + "contraste": 0.2498109301982696 + }, + "tipo": "brilho" + }, + { + "modelo": "VNDetectFaceLandmarksRequest", + "valor": { + "roll": -1.5707963705062866, + "yaw": 0, + "bounding_box": { + "x": 0.6133696436882019, + "y": 0.409432590007782, + "altura": 0.2997906506061554, + "largura": 0.16863223910331726 + }, + "pitch": 0, + "landmarks": { + "olho_esquerdo": [ + { + "y": 0.8358224630355835, + "x": 0.6416276693344116 + }, + { + "y": 0.7933545708656311, + "x": 0.6756209135055542 + }, + { + "y": 0.7210221886634827, + "x": 0.6745243668556213 + }, + { + "y": 0.6730746030807495, + "x": 0.6443690657615662 + }, + { + "y": 0.7221181392669678, + "x": 0.6317586302757263 + }, + { + "y": 0.7889708280563354, + "x": 0.6249051690101624 + } + ], + "labios": [ + { + "y": 0.6651290059089661, + "x": 0.2775706648826599 + }, + { + "y": 0.6311546564102173, + "x": 0.3115639388561249 + }, + { + "y": 0.5908786654472351, + "x": 0.33239853382110596 + }, + { + "y": 0.5533425211906433, + "x": 0.3269157409667969 + }, + { + "y": 0.5166283845901489, + "x": 0.33568820357322693 + }, + { + "y": 0.47279056906700134, + "x": 0.3197880983352661 + }, + { + "y": 0.4333365261554718, + "x": 0.29182589054107666 + }, + { + "y": 0.4042939841747284, + "x": 0.25563952326774597 + }, + { + "y": 0.4404601752758026, + "x": 0.2156151682138443 + }, + { + "y": 0.4903256893157959, + "x": 0.18929779529571533 + }, + { + "y": 0.5451229810714722, + "x": 0.178880512714386 + }, + { + "y": 0.5982763171195984, + "x": 0.18162189424037933 + }, + { + "y": 0.6497857570648193, + "x": 0.20135992765426636 + }, + { + "y": 0.6884177923202515, + "x": 0.2369980365037918 + } + ], + "sobrancelha_esquerda": [ + { + "y": 0.9277448654174805, + "x": 0.7482678294181824 + }, + { + "y": 0.8029441237449646, + "x": 0.8177621364593506 + }, + { + "y": 0.659923255443573, + "x": 0.7981612086296082 + }, + { + "y": 0.6629371047019958, + "x": 0.7488161325454712 + }, + { + "y": 0.796368420124054, + "x": 0.7666351795196533 + }, + { + "y": 0.9207582473754883, + "x": 0.7219504714012146 + } + ], + "sobrancelha_direita": [ + { + "y": 0.23003865778446198, + "x": 0.7745852470397949 + }, + { + "y": 0.36210009455680847, + "x": 0.8307837843894958 + }, + { + "y": 0.5034770369529724, + "x": 0.8035069108009338 + }, + { + "y": 0.49580541253089905, + "x": 0.7521057724952698 + }, + { + "y": 0.3642919659614563, + "x": 0.7797938585281372 + }, + { + "y": 0.2344224452972412, + "x": 0.7474454045295715 + } + ], + "rosto": [ + { + "y": 0.16373397409915924, + "x": 0.645465612411499 + }, + { + "y": 0.1544184386730194, + "x": 0.534439206123352 + }, + { + "y": 0.15606234967708588, + "x": 0.4212196469306946 + }, + { + "y": 0.1653778851032257, + "x": 0.3082742691040039 + }, + { + "y": 0.19003665447235107, + "x": 0.19697369635105133 + }, + { + "y": 0.2442859560251236, + "x": 0.098283551633358 + }, + { + "y": 0.32483795285224915, + "x": 0.020976267755031586 + }, + { + "y": 0.42182910442352295, + "x": -0.03385159373283386 + }, + { + "y": 0.5325195789337158, + "x": -0.05687929689884186 + }, + { + "y": 0.642936110496521, + "x": -0.04262405261397362 + }, + { + "y": 0.7426671385765076, + "x": 0.005076187662780285 + }, + { + "y": 0.8276028633117676, + "x": 0.07635241001844406 + }, + { + "y": 0.8882908821105957, + "x": 0.17065632343292236 + }, + { + "y": 0.9236350655555725, + "x": 0.2786672115325928 + }, + { + "y": 0.9456909894943237, + "x": 0.3894194960594177 + }, + { + "y": 0.9602122902870178, + "x": 0.5012683272361755 + }, + { + "y": 0.9641850590705872, + "x": 0.6122947335243225 + } + ], + "nariz": [ + { + "y": 0.5719736218452454, + "x": 0.6270982623100281 + }, + { + "y": 0.6489638090133667, + "x": 0.5020907521247864 + }, + { + "y": 0.6448540091514587, + "x": 0.4118989109992981 + }, + { + "y": 0.6021121144294739, + "x": 0.4173817038536072 + }, + { + "y": 0.5593702793121338, + "x": 0.41299548745155334 + }, + { + "y": 0.5166283845901489, + "x": 0.421767920255661 + }, + { + "y": 0.47279056906700134, + "x": 0.4201231002807617 + }, + { + "y": 0.4782702922821045, + "x": 0.5097666382789612 + } + ], + "olho_direito": [ + { + "y": 0.3062068521976471, + "x": 0.65752774477005 + }, + { + "y": 0.35278454422950745, + "x": 0.688231348991394 + }, + { + "y": 0.4245689809322357, + "x": 0.6816520094871521 + }, + { + "y": 0.4684067964553833, + "x": 0.6506742835044861 + }, + { + "y": 0.41963720321655273, + "x": 0.6419017910957336 + }, + { + "y": 0.3522365689277649, + "x": 0.6391603946685791 + } + ] + } + }, + "tipo": "rosto", + "confianca": 1 + }, + { + "modelo": "VNDetectFaceCaptureQualityRequest", + "valor": { + "score": 0.7333984375, + "bounding_box": { + "x": 0.6147744655609131, + "y": 0.4138607382774353, + "altura": 0.29844844341278076, + "largura": 0.16787724196910858 + } + }, + "tipo": "qualidade_do_rosto", + "confianca": 0.8294506072998047 + }, + { + "modelo": "VNDetectHumanRectanglesRequest", + "valor": { + "bounding_box": { + "x": 0.0008223684565899405, + "y": 0.1714181236312748, + "altura": 0.799707642441605, + "largura": 0.8396382004647569 + }, + "ocupacao_do_quadro": 0.6714650857975825 + }, + "tipo": "pessoa", + "confianca": 0.7454288005828857 + }, + { + "modelo": "VNDetectHumanBodyPoseRequest", + "valor": { + "pontos": { + "VNHumanBodyPoseObservationJointName(_rawValue: neck_1_joint)": { + "confianca": 0.31982421875, + "y": 0.5918104946613312, + "x": 0.5241555273532867 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_eye_joint)": { + "x": 0.717743992805481, + "y": 0.6514147520065308, + "confianca": 0.8955078125 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_ear_joint)": { + "confianca": 0.65771484375, + "y": 0.7171114683151245, + "x": 0.6827398538589478 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_hand_joint)": { + "x": 0.2552087903022766, + "y": 0.2072696089744568, + "confianca": 0.332275390625 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_shoulder_1_joint)": { + "x": 0.5458268523216248, + "y": 0.38000088930130005, + "confianca": 0.202880859375 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: head_joint)": { + "x": 0.695539116859436, + "y": 0.5915660858154297, + "confianca": 0.80908203125 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_leg_joint)": { + "x": 0, + "y": 1, + "confianca": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: root)": { + "confianca": 0, + "y": 1, + "x": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_foot_joint)": { + "confianca": 0, + "y": 1, + "x": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_hand_joint)": { + "x": 0.23598667979240417, + "y": 0.9278293251991272, + "confianca": 0.52099609375 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_shoulder_1_joint)": { + "x": 0.5024842023849487, + "y": 0.8036201000213623, + "confianca": 0.436767578125 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_upLeg_joint)": { + "x": 0, + "y": 1, + "confianca": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_forearm_joint)": { + "x": 0.3464599847793579, + "y": 0.24700850248336792, + "confianca": 0.2939453125 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_eye_joint)": { + "x": 0.7232027053833008, + "y": 0.5381284952163696, + "confianca": 0.833984375 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_forearm_joint)": { + "confianca": 0.387939453125, + "y": 0.8973268270492554, + "x": 0.341122567653656 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_upLeg_joint)": { + "confianca": 0, + "y": 1, + "x": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_foot_joint)": { + "x": 0, + "y": 1, + "confianca": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_leg_joint)": { + "x": 0, + "y": 1, + "confianca": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_ear_joint)": { + "confianca": 0.39306640625, + "y": 0.4525783658027649, + "x": 0.7048669457435608 + } + } + }, + "tipo": "pose", + "confianca": 1 + }, + { + "modelo": "VNDetectHumanHandPoseRequest", + "valor": { + "pontos": { + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMPIP)": { + "x": 0.297718346118927, + "y": 0.8141533136367798, + "confianca": 0.87353515625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTCMC)": { + "x": 0.2666400671005249, + "y": 0.9288092851638794, + "confianca": 0.69091796875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMDIP)": { + "x": 0.3213530480861664, + "y": 0.777484118938446, + "confianca": 0.876953125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRMCP)": { + "x": 0.25848665833473206, + "y": 0.8310713171958923, + "confianca": 0.8740234375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRDIP)": { + "confianca": 0.88623046875, + "y": 0.7410815954208374, + "x": 0.3099946677684784 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPPIP)": { + "x": 0.2741173803806305, + "y": 0.7467004060745239, + "confianca": 0.87255859375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPMCP)": { + "x": 0.25033316016197205, + "y": 0.8026438355445862, + "confianca": 0.86376953125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRTIP)": { + "x": 0.3317268192768097, + "y": 0.7148340940475464, + "confianca": 0.89208984375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTTIP)": { + "x": 0.36446723341941833, + "y": 0.9319866895675659, + "confianca": 0.71142578125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPDIP)": { + "x": 0.2911473512649536, + "y": 0.7167453765869141, + "confianca": 0.89404296875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIDIP)": { + "confianca": 0.88671875, + "y": 0.8764369487762451, + "x": 0.3287174701690674 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIMCP)": { + "confianca": 0.83984375, + "y": 0.9099164009094238, + "x": 0.2850954532623291 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMTIP)": { + "x": 0.34337010979652405, + "y": 0.7448492050170898, + "confianca": 0.9013671875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRPIP)": { + "x": 0.28507697582244873, + "y": 0.7746540307998657, + "confianca": 0.875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTMP)": { + "x": 0.3038824796676636, + "y": 0.9210230112075806, + "confianca": 0.65625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIPIP)": { + "x": 0.3098318576812744, + "y": 0.8915191292762756, + "confianca": 0.85791015625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTIP)": { + "confianca": 0.77783203125, + "y": 0.904356837272644, + "x": 0.3406130075454712 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMMCP)": { + "x": 0.27074211835861206, + "y": 0.866927981376648, + "confianca": 0.89306640625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKWRI)": { + "confianca": 0.7509765625, + "y": 0.9115470051765442, + "x": 0.22843247652053833 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPTIP)": { + "confianca": 0.91259765625, + "y": 0.6924656629562378, + "x": 0.30899301171302795 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKITIP)": { + "confianca": 0.89892578125, + "y": 0.8553116321563721, + "x": 0.34899890422821045 + } + } + }, + "tipo": "mao", + "confianca": 1 + }, + { + "modelo": "VNDetectHumanHandPoseRequest", + "valor": { + "pontos": { + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMPIP)": { + "confianca": 0.83447265625, + "y": 0.3179014325141907, + "x": 0.253217875957489 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTCMC)": { + "x": 0.2710345387458801, + "y": 0.21278107166290283, + "confianca": 0.6572265625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPTIP)": { + "x": 0.23674581944942474, + "y": 0.4245772957801819, + "confianca": 0.794921875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRMCP)": { + "confianca": 0.806640625, + "y": 0.29297035932540894, + "x": 0.23149912059307098 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRDIP)": { + "x": 0.24202032387256622, + "y": 0.38180863857269287, + "confianca": 0.8017578125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPPIP)": { + "confianca": 0.85498046875, + "y": 0.35570061206817627, + "x": 0.22850143909454346 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRTIP)": { + "x": 0.24648422002792358, + "y": 0.4156554341316223, + "confianca": 0.7275390625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPMCP)": { + "x": 0.22613315284252167, + "y": 0.30906885862350464, + "confianca": 0.65869140625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTTIP)": { + "confianca": 0.84375, + "y": 0.21698635816574097, + "x": 0.35291436314582825 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPDIP)": { + "x": 0.23208442330360413, + "y": 0.3863202929496765, + "confianca": 0.79248046875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTMP)": { + "x": 0.3006250858306885, + "y": 0.23217356204986572, + "confianca": 0.6923828125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIMCP)": { + "confianca": 0.79052734375, + "y": 0.2348378300666809, + "x": 0.2675376534461975 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIDIP)": { + "x": 0.2775965631008148, + "y": 0.2853824496269226, + "confianca": 0.86865234375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMTIP)": { + "x": 0.26556622982025146, + "y": 0.39805495738983154, + "confianca": 0.8642578125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRPIP)": { + "x": 0.2370818555355072, + "y": 0.3440428376197815, + "confianca": 0.84765625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIPIP)": { + "confianca": 0.802734375, + "y": 0.2585142254829407, + "x": 0.2731602191925049 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTIP)": { + "x": 0.3262402415275574, + "y": 0.2463228702545166, + "confianca": 0.8486328125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMMCP)": { + "x": 0.24513037502765656, + "y": 0.2696040868759155, + "confianca": 0.8251953125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKWRI)": { + "confianca": 0.64501953125, + "y": 0.20867913961410522, + "x": 0.23203147947788239 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMDIP)": { + "x": 0.2583579123020172, + "y": 0.3561750650405884, + "confianca": 0.8876953125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKITIP)": { + "x": 0.2820886969566345, + "y": 0.3216817378997803, + "confianca": 0.8857421875 + } + } + }, + "tipo": "mao", + "confianca": 1 + }, + { + "modelo": "VNClassifyImageRequest", + "valor": { + "identificador": "people" + }, + "tipo": "categoria", + "confianca": 0.8637695908546448 + }, + { + "modelo": "VNClassifyImageRequest", + "valor": { + "identificador": "adult" + }, + "tipo": "categoria", + "confianca": 0.86376953125 + }, + { + "modelo": "VNCalculateImageAestheticsScoresRequest", + "valor": { + "score_global": 0.61865234375 + }, + "tipo": "estetica" + }, + { + "modelo": "VNDetectHorizonRequest", + "valor": { + "angulo_radianos": 0.01745329238474369 + }, + "tipo": "horizonte", + "confianca": 1 + }, + { + "modelo": "VNDetectContoursRequest", + "valor": { + "quantidade_principal": 5 + }, + "tipo": "contornos", + "confianca": 1 + }, + { + "modelo": "VNGeneratePersonSegmentationRequest", + "valor": { + "ocupacao_do_quadro": 0.4859161376953125 + }, + "tipo": "segmentacao_de_pessoas" + } + ], + "avisos": [] + }, + { + "timestamp_s": 1, + "arquivo": "frame-1s.png", + "tempo_processamento_ms": 1318, + "evidencias": [ + { + "valor": { + "clipping_preto": 0.09200966917438272, + "media_brilho": 0.4289116346866679, + "exposicao": "equilibrado", + "contraste": 0.2535330631950902, + "clipping_branco": 4.9189814814814815e-05 + }, + "tipo": "brilho", + "modelo": "CoreImageHistogram" + }, + { + "valor": { + "roll": -1.5707963705062866, + "pitch": 0, + "landmarks": { + "rosto": [ + { + "y": 0.12229583412408829, + "x": 0.6422542929649353 + }, + { + "y": 0.12549901008605957, + "x": 0.5324844717979431 + }, + { + "y": 0.14044713973999023, + "x": 0.4221804738044739 + }, + { + "y": 0.16180160641670227, + "x": 0.3126777112483978 + }, + { + "y": 0.19810420274734497, + "x": 0.2079824060201645 + }, + { + "y": 0.2610998749732971, + "x": 0.11717523634433746 + }, + { + "y": 0.34438228607177734, + "x": 0.0445295050740242 + }, + { + "y": 0.44207897782325745, + "x": -0.007818153128027916 + }, + { + "y": 0.5509867668151855, + "x": -0.023308787494897842 + }, + { + "y": 0.6582929491996765, + "x": 0.0012625630479305983 + }, + { + "y": 0.7479817271232605, + "x": 0.06215677782893181 + }, + { + "y": 0.8236566185951233, + "x": 0.14174658060073853 + }, + { + "y": 0.8775766491889954, + "x": 0.23789535462856293 + }, + { + "y": 0.9066721200942993, + "x": 0.3447273075580597 + }, + { + "y": 0.9213533401489258, + "x": 0.45423007011413574 + }, + { + "y": 0.9294947385787964, + "x": 0.5642669796943665 + }, + { + "y": 0.9258911609649658, + "x": 0.6745709776878357 + } + ], + "olho_direito": [ + { + "y": 0.26270145177841187, + "x": 0.6540058255195618 + }, + { + "y": 0.3086135685443878, + "x": 0.6884591579437256 + }, + { + "y": 0.3838880658149719, + "x": 0.6833845973014832 + }, + { + "y": 0.4292663037776947, + "x": 0.6486642360687256 + }, + { + "y": 0.3790833055973053, + "x": 0.6409189105033875 + }, + { + "y": 0.31021514534950256, + "x": 0.6355773210525513 + } + ], + "nariz": [ + { + "y": 0.5360386371612549, + "x": 0.6107388734817505 + }, + { + "y": 0.626261293888092, + "x": 0.4964286983013153 + }, + { + "y": 0.6297313570976257, + "x": 0.40722399950027466 + }, + { + "y": 0.5846200585365295, + "x": 0.4040190577507019 + }, + { + "y": 0.5413772463798523, + "x": 0.39226752519607544 + }, + { + "y": 0.49546515941619873, + "x": 0.4013482332229614 + }, + { + "y": 0.449019193649292, + "x": 0.40241655707359314 + }, + { + "y": 0.44795146584510803, + "x": 0.49108707904815674 + } + ], + "labios": [ + { + "y": 0.6521535515785217, + "x": 0.28596973419189453 + }, + { + "y": 0.6126477718353271, + "x": 0.2987895607948303 + }, + { + "y": 0.5736758708953857, + "x": 0.30573365092277527 + }, + { + "y": 0.5381740927696228, + "x": 0.29718708992004395 + }, + { + "y": 0.5018715262413025, + "x": 0.30359700322151184 + }, + { + "y": 0.4623657464981079, + "x": 0.2939821183681488 + }, + { + "y": 0.42285996675491333, + "x": 0.2800939679145813 + }, + { + "y": 0.38548964262008667, + "x": 0.26406916975975037 + }, + { + "y": 0.4314017593860626, + "x": 0.23255375027656555 + }, + { + "y": 0.4853217899799347, + "x": 0.21278983354568481 + }, + { + "y": 0.5408434271812439, + "x": 0.20744824409484863 + }, + { + "y": 0.5942295789718628, + "x": 0.21492648124694824 + }, + { + "y": 0.6454802751541138, + "x": 0.2357587069272995 + }, + { + "y": 0.6879222989082336, + "x": 0.2688766121864319 + } + ], + "sobrancelha_esquerda": [ + { + "y": 0.881580650806427, + "x": 0.7779309153556824 + }, + { + "y": 0.74664705991745, + "x": 0.8242692351341248 + }, + { + "y": 0.6075761318206787, + "x": 0.783673107624054 + }, + { + "y": 0.6166517734527588, + "x": 0.737067699432373 + }, + { + "y": 0.7474478483200073, + "x": 0.7728563547134399 + }, + { + "y": 0.8781105279922485, + "x": 0.7509558200836182 + } + ], + "olho_esquerdo": [ + { + "y": 0.7986986041069031, + "x": 0.6775088310241699 + }, + { + "y": 0.7503840923309326, + "x": 0.7079559564590454 + }, + { + "y": 0.6764442920684814, + "x": 0.6964715123176575 + }, + { + "y": 0.6340022683143616, + "x": 0.6572107672691345 + }, + { + "y": 0.6855199337005615, + "x": 0.6529375314712524 + }, + { + "y": 0.7535873055458069, + "x": 0.6537387371063232 + } + ], + "sobrancelha_direita": [ + { + "y": 0.17888517677783966, + "x": 0.7474837899208069 + }, + { + "y": 0.3118167519569397, + "x": 0.8025022745132446 + }, + { + "y": 0.4543578028678894, + "x": 0.7780644297599792 + }, + { + "y": 0.449019193649292, + "x": 0.7287881970405579 + }, + { + "y": 0.31608763337135315, + "x": 0.7517570853233337 + }, + { + "y": 0.18422380089759827, + "x": 0.7205086946487427 + } + ] + }, + "bounding_box": { + "x": 0.6072286367416382, + "largura": 0.16920016705989838, + "altura": 0.30080029368400574, + "y": 0.3381116986274719 + }, + "yaw": 0 + }, + "tipo": "rosto", + "confianca": 1, + "modelo": "VNDetectFaceLandmarksRequest" + }, + { + "valor": { + "bounding_box": { + "x": 0.6058580279350281, + "largura": 0.16893191635608673, + "altura": 0.30032339692115784, + "y": 0.32948946952819824 + }, + "score": 0.79296875 + }, + "tipo": "qualidade_do_rosto", + "confianca": 0.8975878953933716, + "modelo": "VNDetectFaceCaptureQualityRequest" + }, + { + "valor": { + "ocupacao_do_quadro": 0.6805989047345032, + "bounding_box": { + "x": 0.0012335526266772478, + "largura": 0.8495066125141949, + "altura": 0.8011696374207219, + "y": 0.10014618010374458 + } + }, + "tipo": "pessoa", + "confianca": 0.7139787077903748, + "modelo": "VNDetectHumanRectanglesRequest" + }, + { + "valor": { + "pontos": { + "VNHumanBodyPoseObservationJointName(_rawValue: right_upLeg_joint)": { + "x": 0, + "confianca": 0, + "y": 1 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_eye_joint)": { + "confianca": 0.8671875, + "y": 0.45349812507629395, + "x": 0.7173935174942017 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_hand_joint)": { + "x": 0.23629865050315857, + "confianca": 0.677734375, + "y": 0.7507277131080627 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_upLeg_joint)": { + "x": 0, + "confianca": 0, + "y": 1 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_ear_joint)": { + "x": 0.7084397077560425, + "confianca": 0.291748046875, + "y": 0.36750882863998413 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: head_joint)": { + "x": 0.6855801343917847, + "confianca": 0.75, + "y": 0.5105340480804443 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_shoulder_1_joint)": { + "x": 0.49947452545166016, + "confianca": 0.3681640625, + "y": 0.7392412424087524 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_foot_joint)": { + "y": 1, + "confianca": 0, + "x": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_leg_joint)": { + "x": 0, + "confianca": 0, + "y": 1 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_eye_joint)": { + "x": 0.7172397375106812, + "confianca": 0.8955078125, + "y": 0.5692585706710815 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_shoulder_1_joint)": { + "confianca": 0.162109375, + "y": 0.28929758071899414, + "x": 0.5539577007293701 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_forearm_joint)": { + "y": 0.8793336749076843, + "confianca": 0.56982421875, + "x": 0.2570067048072815 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: neck_1_joint)": { + "x": 0.5267161130905151, + "confianca": 0.26513671875, + "y": 0.5142694115638733 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_foot_joint)": { + "x": 0, + "confianca": 0, + "y": 1 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_hand_joint)": { + "x": 0.2198631465435028, + "confianca": 0.6494140625, + "y": 0.2941815257072449 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: root)": { + "y": 1, + "confianca": 0, + "x": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_forearm_joint)": { + "confianca": 0.59716796875, + "y": 0.1329779028892517, + "x": 0.2358759343624115 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_leg_joint)": { + "confianca": 0, + "y": 1, + "x": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_ear_joint)": { + "x": 0.6908450722694397, + "confianca": 0.493896484375, + "y": 0.636883020401001 + } + } + }, + "tipo": "pose", + "confianca": 1, + "modelo": "VNDetectHumanBodyPoseRequest" + }, + { + "valor": { + "pontos": { + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRMCP)": { + "x": 0.2122667133808136, + "confianca": 0.904296875, + "y": 0.3970637917518616 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKITIP)": { + "x": 0.24589870870113373, + "confianca": 0.85498046875, + "y": 0.5742138624191284 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRDIP)": { + "confianca": 0.88525390625, + "y": 0.5290253162384033, + "x": 0.18350249528884888 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMMCP)": { + "x": 0.23547717928886414, + "confianca": 0.8955078125, + "y": 0.4062768816947937 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIMCP)": { + "x": 0.26115959882736206, + "confianca": 0.865234375, + "y": 0.41621917486190796 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMPIP)": { + "x": 0.21832594275474548, + "confianca": 0.87060546875, + "y": 0.49269187450408936 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTCMC)": { + "confianca": 0.67236328125, + "y": 0.3414876461029053, + "x": 0.2558145523071289 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMTIP)": { + "confianca": 0.77880859375, + "y": 0.5868512392044067, + "x": 0.19914871454238892 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPDIP)": { + "x": 0.16890138387680054, + "confianca": 0.88525390625, + "y": 0.4993096590042114 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRTIP)": { + "y": 0.5732430219650269, + "confianca": 0.85400390625, + "x": 0.1778615564107895 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTIP)": { + "y": 0.4827861189842224, + "confianca": 0.697265625, + "x": 0.27264392375946045 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKWRI)": { + "x": 0.22909699380397797, + "confianca": 0.7587890625, + "y": 0.2910071015357971 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPTIP)": { + "confianca": 0.9072265625, + "y": 0.5361769199371338, + "x": 0.16551637649536133 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRPIP)": { + "confianca": 0.8701171875, + "y": 0.47451502084732056, + "x": 0.19274066388607025 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTMP)": { + "x": 0.26908501982688904, + "confianca": 0.697265625, + "y": 0.4152829051017761 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIDIP)": { + "x": 0.2528859078884125, + "confianca": 0.8896484375, + "y": 0.5323448181152344 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMDIP)": { + "x": 0.20667022466659546, + "confianca": 0.90087890625, + "y": 0.5486323833465576 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPPIP)": { + "x": 0.17629840970039368, + "confianca": 0.89501953125, + "y": 0.45873546600341797 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPMCP)": { + "x": 0.19012810289859772, + "confianca": 0.86767578125, + "y": 0.39354026317596436 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIPIP)": { + "x": 0.25903359055519104, + "confianca": 0.90185546875, + "y": 0.4846993088722229 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTTIP)": { + "x": 0.2829616069793701, + "confianca": 0.859375, + "y": 0.5384149551391602 + } + } + }, + "tipo": "mao", + "confianca": 1, + "modelo": "VNDetectHumanHandPoseRequest" + }, + { + "valor": { + "pontos": { + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIDIP)": { + "x": 0.2540466785430908, + "confianca": 0.74560546875, + "y": 0.5030066967010498 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKITIP)": { + "y": 0.49094998836517334, + "confianca": 0.58056640625, + "x": 0.24772274494171143 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRDIP)": { + "y": 0.5291422009468079, + "confianca": 0.69287109375, + "x": 0.2038201093673706 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTMP)": { + "x": 0.27451589703559875, + "confianca": 0.6474609375, + "y": 0.622859001159668 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIMCP)": { + "y": 0.6206306219100952, + "confianca": 0.8427734375, + "x": 0.27631422877311707 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMPIP)": { + "y": 0.55301433801651, + "confianca": 0.59619140625, + "x": 0.23728835582733154 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTCMC)": { + "y": 0.678817868232727, + "confianca": 0.7138671875, + "x": 0.26967835426330566 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMTIP)": { + "x": 0.2230093777179718, + "confianca": 0.66748046875, + "y": 0.4894161820411682 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPDIP)": { + "x": 0.18365685641765594, + "confianca": 0.6826171875, + "y": 0.569488525390625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIPIP)": { + "x": 0.26510363817214966, + "confianca": 0.79248046875, + "y": 0.5391630530357361 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTIP)": { + "x": 0.27375316619873047, + "confianca": 0.473388671875, + "y": 0.5662518739700317 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKWRI)": { + "x": 0.24721266329288483, + "confianca": 0.7509765625, + "y": 0.7164286375045776 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMMCP)": { + "x": 0.25231218338012695, + "confianca": 0.900390625, + "y": 0.6344321966171265 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRPIP)": { + "x": 0.21142278611660004, + "confianca": 0.68896484375, + "y": 0.5706682801246643 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPTIP)": { + "y": 0.5411571860313416, + "confianca": 0.7119140625, + "x": 0.18301913142204285 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTTIP)": { + "x": 0.27654600143432617, + "confianca": 0.455078125, + "y": 0.5248494744300842 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMDIP)": { + "confianca": 0.66943359375, + "y": 0.5126075744628906, + "x": 0.22665172815322876 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRTIP)": { + "x": 0.20011217892169952, + "confianca": 0.61962890625, + "y": 0.5035701990127563 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPMCP)": { + "x": 0.20667505264282227, + "confianca": 0.85546875, + "y": 0.6548876762390137 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRMCP)": { + "x": 0.22923196852207184, + "confianca": 0.873046875, + "y": 0.6458814144134521 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPPIP)": { + "x": 0.19002076983451843, + "confianca": 0.8291015625, + "y": 0.5982626676559448 + } + } + }, + "tipo": "mao", + "confianca": 1, + "modelo": "VNDetectHumanHandPoseRequest" + }, + { + "valor": { + "identificador": "people" + }, + "tipo": "categoria", + "confianca": 0.7954102158546448, + "modelo": "VNClassifyImageRequest" + }, + { + "valor": { + "identificador": "adult" + }, + "tipo": "categoria", + "confianca": 0.79541015625, + "modelo": "VNClassifyImageRequest" + }, + { + "valor": { + "score_global": 0.66943359375 + }, + "tipo": "estetica", + "modelo": "VNCalculateImageAestheticsScoresRequest" + }, + { + "valor": { + "angulo_radianos": 0.01745329238474369 + }, + "tipo": "horizonte", + "confianca": 1, + "modelo": "VNDetectHorizonRequest" + }, + { + "valor": { + "quantidade_principal": 5 + }, + "tipo": "contornos", + "confianca": 1, + "modelo": "VNDetectContoursRequest" + }, + { + "valor": { + "ocupacao_do_quadro": 0.5012003580729166 + }, + "tipo": "segmentacao_de_pessoas", + "modelo": "VNGeneratePersonSegmentationRequest" + } + ], + "avisos": [] + }, + { + "timestamp_s": 2, + "arquivo": "frame-2s.png", + "tempo_processamento_ms": 1284, + "evidencias": [ + { + "modelo": "CoreImageHistogram", + "tipo": "brilho", + "valor": { + "exposicao": "equilibrado", + "clipping_branco": 4.099151234567901e-05, + "clipping_preto": 0.09643458236882715, + "contraste": 0.2518270806926667, + "media_brilho": 0.42589786872503627 + } + }, + { + "confianca": 1, + "modelo": "VNDetectFaceLandmarksRequest", + "tipo": "rosto", + "valor": { + "landmarks": { + "rosto": [ + { + "y": 0.13058282434940338, + "x": 0.6309719085693359 + }, + { + "y": 0.1327337622642517, + "x": 0.5204055309295654 + }, + { + "y": 0.14510168135166168, + "x": 0.4098392128944397 + }, + { + "y": 0.1649978905916214, + "x": 0.2995418608188629 + }, + { + "y": 0.19941295683383942, + "x": 0.19354884326457977 + }, + { + "y": 0.25963932275772095, + "x": 0.10046865791082382 + }, + { + "y": 0.3392241895198822, + "x": 0.024067584425210953 + }, + { + "y": 0.43440335988998413, + "x": -0.03242616727948189 + }, + { + "y": 0.5435636639595032, + "x": -0.0512574166059494 + }, + { + "y": 0.6500352621078491, + "x": -0.024355631321668625 + }, + { + "y": 0.7382239103317261, + "x": 0.039132583886384964 + }, + { + "y": 0.8110870718955994, + "x": 0.12145204842090607 + }, + { + "y": 0.8631129264831543, + "x": 0.21937455236911774 + }, + { + "y": 0.8918818235397339, + "x": 0.3264436721801758 + }, + { + "y": 0.9076105952262878, + "x": 0.4362029433250427 + }, + { + "y": 0.9152733087539673, + "x": 0.5467692613601685 + }, + { + "y": 0.9119124412536621, + "x": 0.6565285921096802 + } + ], + "olho_direito": [ + { + "y": 0.26878082752227783, + "x": 0.6473819613456726 + }, + { + "y": 0.3134128749370575, + "x": 0.6802021265029907 + }, + { + "y": 0.3854694366455078, + "x": 0.6769739389419556 + }, + { + "y": 0.43117693066596985, + "x": 0.6460368633270264 + }, + { + "y": 0.38224300742149353, + "x": 0.6368902921676636 + }, + { + "y": 0.315563827753067, + "x": 0.6309719085693359 + } + ], + "olho_esquerdo": [ + { + "y": 0.7917285561561584, + "x": 0.6670202612876892 + }, + { + "y": 0.745752215385437, + "x": 0.6966122388839722 + }, + { + "y": 0.6747711300849915, + "x": 0.6877346634864807 + }, + { + "y": 0.6325588822364807, + "x": 0.6527623534202576 + }, + { + "y": 0.6820305585861206, + "x": 0.6465749144554138 + }, + { + "y": 0.747365415096283, + "x": 0.645767867565155 + } + ], + "sobrancelha_direita": [ + { + "y": 0.18650731444358826, + "x": 0.7377719879150391 + }, + { + "y": 0.315563827753067, + "x": 0.7991080284118652 + }, + { + "y": 0.45752596855163574, + "x": 0.7802767753601074 + }, + { + "y": 0.45376184582710266, + "x": 0.7302394509315491 + }, + { + "y": 0.32094117999076843, + "x": 0.7485327124595642 + }, + { + "y": 0.19242240488529205, + "x": 0.7108702063560486 + } + ], + "sobrancelha_esquerda": [ + { + "y": 0.872926652431488, + "x": 0.7645392417907715 + }, + { + "y": 0.7433323860168457, + "x": 0.817939281463623 + }, + { + "y": 0.606747567653656, + "x": 0.7855226397514343 + }, + { + "y": 0.6137381196022034, + "x": 0.7377719879150391 + }, + { + "y": 0.7419880628585815, + "x": 0.7668259143829346 + }, + { + "y": 0.8684903383255005, + "x": 0.7377719879150391 + } + ], + "labios": [ + { + "y": 0.6540682911872864, + "x": 0.2871670424938202 + }, + { + "y": 0.6153513193130493, + "x": 0.30761241912841797 + }, + { + "y": 0.5744834542274475, + "x": 0.3183731138706207 + }, + { + "y": 0.5371108055114746, + "x": 0.31030258536338806 + }, + { + "y": 0.4994693398475647, + "x": 0.3162209689617157 + }, + { + "y": 0.45698824524879456, + "x": 0.3043842017650604 + }, + { + "y": 0.4177335500717163, + "x": 0.2834008038043976 + }, + { + "y": 0.38493168354034424, + "x": 0.2564990222454071 + }, + { + "y": 0.42203545570373535, + "x": 0.20538562536239624 + }, + { + "y": 0.4763467311859131, + "x": 0.17095133662223816 + }, + { + "y": 0.5387240648269653, + "x": 0.1601906269788742 + }, + { + "y": 0.5984126925468445, + "x": 0.17095133662223816 + }, + { + "y": 0.6508418917655945, + "x": 0.20646169781684875 + }, + { + "y": 0.6841814517974854, + "x": 0.2581131160259247 + } + ], + "nariz": [ + { + "y": 0.5371108055114746, + "x": 0.6150998473167419 + }, + { + "y": 0.6255683302879333, + "x": 0.5042644739151001 + }, + { + "y": 0.629063606262207, + "x": 0.41683366894721985 + }, + { + "y": 0.584162712097168, + "x": 0.41306740045547485 + }, + { + "y": 0.5408749580383301, + "x": 0.40176865458488464 + }, + { + "y": 0.49516746401786804, + "x": 0.41199132800102234 + }, + { + "y": 0.44838449358940125, + "x": 0.4136054515838623 + }, + { + "y": 0.44838449358940125, + "x": 0.49996018409729004 + } + ] + }, + "bounding_box": { + "x": 0.6106929779052734, + "largura": 0.172748863697052, + "altura": 0.3071090877056122, + "y": 0.338310182094574 + }, + "roll": -1.5707963705062866, + "yaw": 0, + "pitch": 0 + } + }, + { + "confianca": 0.8877420425415039, + "modelo": "VNDetectFaceCaptureQualityRequest", + "tipo": "qualidade_do_rosto", + "valor": { + "bounding_box": { + "largura": 0.17280420660972595, + "x": 0.6056711077690125, + "altura": 0.30720749497413635, + "y": 0.33303409814834595 + }, + "score": 0.7646484375 + } + }, + { + "confianca": 0.6832253336906433, + "modelo": "VNDetectHumanRectanglesRequest", + "tipo": "pessoa", + "valor": { + "ocupacao_do_quadro": 0.6854789659881393, + "bounding_box": { + "largura": 0.847861847428506, + "x": 0.0024671052533544956, + "altura": 0.8084795513173987, + "y": 0.09649124267505663 + } + } + }, + { + "confianca": 1, + "modelo": "VNDetectHumanBodyPoseRequest", + "tipo": "pose", + "valor": { + "pontos": { + "VNHumanBodyPoseObservationJointName(_rawValue: right_forearm_joint)": { + "x": 0.26697179675102234, + "confianca": 0.52490234375, + "y": 0.8830195665359497 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_hand_joint)": { + "x": 0.24943304061889648, + "confianca": 0.62060546875, + "y": 0.8164236545562744 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_eye_joint)": { + "x": 0.7205787897109985, + "confianca": 0.865234375, + "y": 0.4554441571235657 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: head_joint)": { + "x": 0.6916248798370361, + "confianca": 0.77099609375, + "y": 0.5133942365646362 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_foot_joint)": { + "x": 0, + "confianca": 0, + "y": 1 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: root)": { + "y": 1, + "x": 0, + "confianca": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: neck_1_joint)": { + "y": 0.5125015377998352, + "confianca": 0.259033203125, + "x": 0.5264832973480225 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_leg_joint)": { + "x": 0, + "confianca": 0, + "y": 1 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_eye_joint)": { + "x": 0.7243682742118835, + "confianca": 0.81103515625, + "y": 0.5690457820892334 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_shoulder_1_joint)": { + "x": 0.5495046377182007, + "confianca": 0.150390625, + "y": 0.28420835733413696 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_forearm_joint)": { + "x": 0.25221744179725647, + "confianca": 0.469482421875, + "y": 0.12499743700027466 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_upLeg_joint)": { + "x": 0, + "confianca": 0, + "y": 1 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_upLeg_joint)": { + "x": 0, + "confianca": 0, + "y": 1 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_leg_joint)": { + "y": 1, + "x": 0, + "confianca": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_ear_joint)": { + "y": 0.3651731014251709, + "x": 0.7059350609779358, + "confianca": 0.3203125 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_foot_joint)": { + "x": 0, + "confianca": 0, + "y": 1 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_ear_joint)": { + "y": 0.6418297290802002, + "confianca": 0.409423828125, + "x": 0.6918512582778931 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_shoulder_1_joint)": { + "y": 0.7407947182655334, + "x": 0.5034619569778442, + "confianca": 0.36767578125 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_hand_joint)": { + "y": 0.2541336417198181, + "confianca": 0.548828125, + "x": 0.23205848038196564 + } + } + } + }, + { + "confianca": 1, + "modelo": "VNDetectHumanHandPoseRequest", + "tipo": "mao", + "valor": { + "pontos": { + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTMP)": { + "x": 0.27423039078712463, + "confianca": 0.697265625, + "y": 0.36882728338241577 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRMCP)": { + "x": 0.23096992075443268, + "confianca": 0.90478515625, + "y": 0.33642280101776123 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMDIP)": { + "x": 0.23099569976329803, + "confianca": 0.89892578125, + "y": 0.47291266918182373 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPTIP)": { + "x": 0.1807953268289566, + "confianca": 0.9130859375, + "y": 0.4745616912841797 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTTIP)": { + "x": 0.29822179675102234, + "confianca": 0.86083984375, + "y": 0.4909307360649109 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRTIP)": { + "y": 0.5027838349342346, + "x": 0.19817368686199188, + "confianca": 0.89599609375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTIP)": { + "y": 0.4438725709915161, + "x": 0.28231701254844666, + "confianca": 0.73486328125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKITIP)": { + "x": 0.2696322500705719, + "confianca": 0.869140625, + "y": 0.5069547891616821 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPPIP)": { + "y": 0.3962544798851013, + "x": 0.19240790605545044, + "confianca": 0.8603515625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPMCP)": { + "x": 0.20781299471855164, + "confianca": 0.8759765625, + "y": 0.3338002562522888 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRPIP)": { + "y": 0.40840476751327515, + "confianca": 0.84423828125, + "x": 0.2137807011604309 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTCMC)": { + "y": 0.3002604842185974, + "x": 0.26752495765686035, + "confianca": 0.76708984375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIPIP)": { + "x": 0.2798774540424347, + "confianca": 0.89697265625, + "y": 0.4145665764808655 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPDIP)": { + "x": 0.18521550297737122, + "confianca": 0.9130859375, + "y": 0.4358493685722351 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMMCP)": { + "y": 0.34549450874328613, + "confianca": 0.88818359375, + "x": 0.25451937317848206 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIDIP)": { + "x": 0.2750893235206604, + "confianca": 0.90771484375, + "y": 0.46292179822921753 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIMCP)": { + "x": 0.2779131531715393, + "confianca": 0.84228515625, + "y": 0.3544480800628662 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMTIP)": { + "x": 0.22245214879512787, + "confianca": 0.78173828125, + "y": 0.512269914150238 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRDIP)": { + "x": 0.20361998677253723, + "confianca": 0.89453125, + "y": 0.460155189037323 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMPIP)": { + "x": 0.24238546192646027, + "confianca": 0.89453125, + "y": 0.42118263244628906 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKWRI)": { + "y": 0.2536347508430481, + "confianca": 0.85546875, + "x": 0.24406006932258606 + } + } + } + }, + { + "confianca": 1, + "modelo": "VNDetectHumanHandPoseRequest", + "tipo": "mao", + "valor": { + "pontos": { + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKWRI)": { + "x": 0.26089799404144287, + "confianca": 0.73486328125, + "y": 0.7442759275436401 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRMCP)": { + "x": 0.24900850653648376, + "confianca": 0.89794921875, + "y": 0.707256019115448 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMDIP)": { + "x": 0.24548543989658356, + "confianca": 0.859375, + "y": 0.5498114824295044 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPTIP)": { + "x": 0.19887486100196838, + "confianca": 0.91064453125, + "y": 0.5700826644897461 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTTIP)": { + "x": 0.26886212825775146, + "confianca": 0.5732421875, + "y": 0.5695459842681885 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRTIP)": { + "y": 0.5283000469207764, + "confianca": 0.91064453125, + "x": 0.220139279961586 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTIP)": { + "y": 0.6087974905967712, + "x": 0.2792818546295166, + "confianca": 0.5205078125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKITIP)": { + "x": 0.2724818289279938, + "confianca": 0.8896484375, + "y": 0.5175358057022095 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPPIP)": { + "y": 0.6489181518554688, + "x": 0.20551306009292603, + "confianca": 0.86279296875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPMCP)": { + "x": 0.22575156390666962, + "confianca": 0.88427734375, + "y": 0.7146457433700562 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRPIP)": { + "x": 0.23159746825695038, + "confianca": 0.88134765625, + "y": 0.6267781257629395 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTCMC)": { + "x": 0.2836112678050995, + "confianca": 0.75341796875, + "y": 0.7182788252830505 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIPIP)": { + "x": 0.290291965007782, + "confianca": 0.8974609375, + "y": 0.5993924736976624 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPDIP)": { + "y": 0.6056517362594604, + "x": 0.19957585632801056, + "confianca": 0.87548828125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMMCP)": { + "x": 0.27233821153640747, + "confianca": 0.89013671875, + "y": 0.6959515810012817 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIDIP)": { + "y": 0.5533864498138428, + "confianca": 0.833984375, + "x": 0.2804746627807617 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIMCP)": { + "x": 0.2968544065952301, + "confianca": 0.89306640625, + "y": 0.674845814704895 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMTIP)": { + "y": 0.5170780420303345, + "confianca": 0.876953125, + "x": 0.23789824545383453 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRDIP)": { + "x": 0.22308841347694397, + "confianca": 0.8671875, + "y": 0.5667167901992798 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMPIP)": { + "x": 0.2588494122028351, + "confianca": 0.88818359375, + "y": 0.6081333160400391 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTMP)": { + "y": 0.6631951332092285, + "confianca": 0.7001953125, + "x": 0.28736165165901184 + } + } + } + }, + { + "confianca": 0.84765625, + "modelo": "VNClassifyImageRequest", + "tipo": "categoria", + "valor": { + "identificador": "adult" + } + }, + { + "confianca": 0.84765625, + "modelo": "VNClassifyImageRequest", + "tipo": "categoria", + "valor": { + "identificador": "people" + } + }, + { + "confianca": 0.22622999548912048, + "modelo": "VNClassifyImageRequest", + "tipo": "categoria", + "valor": { + "identificador": "clothing" + } + }, + { + "modelo": "VNCalculateImageAestheticsScoresRequest", + "tipo": "estetica", + "valor": { + "score_global": 0.61083984375 + } + }, + { + "confianca": 1, + "modelo": "VNDetectHorizonRequest", + "tipo": "horizonte", + "valor": { + "angulo_radianos": 0.01745329238474369 + } + }, + { + "confianca": 1, + "modelo": "VNDetectContoursRequest", + "tipo": "contornos", + "valor": { + "quantidade_principal": 5 + } + }, + { + "modelo": "VNGeneratePersonSegmentationRequest", + "tipo": "segmentacao_de_pessoas", + "valor": { + "ocupacao_do_quadro": 0.4996592203776042 + } + } + ], + "avisos": [] + }, + { + "timestamp_s": 3, + "arquivo": "frame-3s.png", + "tempo_processamento_ms": 1265, + "evidencias": [ + { + "tipo": "brilho", + "valor": { + "clipping_preto": 0.09701847029320988, + "contraste": 0.25394012107071007, + "exposicao": "equilibrado", + "media_brilho": 0.4330643164866255, + "clipping_branco": 8.704668209876543e-05 + }, + "modelo": "CoreImageHistogram" + }, + { + "confianca": 1, + "tipo": "rosto", + "valor": { + "pitch": 0, + "yaw": 0, + "bounding_box": { + "largura": 0.16605623066425323, + "altura": 0.2952110767364502, + "y": 0.36381277441978455, + "x": 0.632057249546051 + }, + "landmarks": { + "sobrancelha_direita": [ + { + "y": 0.23262426257133484, + "x": 0.7505166530609131 + }, + { + "y": 0.3590255677700043, + "x": 0.8175851106643677 + }, + { + "y": 0.5023898482322693, + "x": 0.8034870624542236 + }, + { + "y": 0.49855950474739075, + "x": 0.7505166530609131 + }, + { + "y": 0.3650446832180023, + "x": 0.7639303207397461 + }, + { + "y": 0.23864337801933289, + "x": 0.7231417894363403 + } + ], + "rosto": [ + { + "y": 0.17188598215579987, + "x": 0.6067985892295837 + }, + { + "y": 0.16696125268936157, + "x": 0.4953828752040863 + }, + { + "y": 0.17243316769599915, + "x": 0.38205093145370483 + }, + { + "y": 0.18611297011375427, + "x": 0.26871898770332336 + }, + { + "y": 0.21511413156986237, + "x": 0.1586720049381256 + }, + { + "y": 0.2742108404636383, + "x": 0.06231246143579483 + }, + { + "y": 0.35957276821136475, + "x": -0.010504687204957008 + }, + { + "y": 0.4613504409790039, + "x": -0.06032694876194 + }, + { + "y": 0.5735247731208801, + "x": -0.07839436084032059 + }, + { + "y": 0.6865198612213135, + "x": -0.061421941965818405 + }, + { + "y": 0.7888447642326355, + "x": -0.012147179804742336 + }, + { + "y": 0.8753010630607605, + "x": 0.06231246143579483 + }, + { + "y": 0.9361761212348938, + "x": 0.15921950340270996 + }, + { + "y": 0.9683236479759216, + "x": 0.27036145329475403 + }, + { + "y": 0.9841922521591187, + "x": 0.38533592224121094 + }, + { + "y": 0.9925369024276733, + "x": 0.5011315941810608 + }, + { + "y": 0.9896641373634338, + "x": 0.6144635677337646 + } + ], + "olho_esquerdo": [ + { + "y": 0.8449319005012512, + "x": 0.6256872415542603 + }, + { + "y": 0.8006093502044678, + "x": 0.6338997483253479 + }, + { + "y": 0.7390502691268921, + "x": 0.6412909626960754 + }, + { + "y": 0.6908974051475525, + "x": 0.641564667224884 + }, + { + "y": 0.735767126083374, + "x": 0.628698468208313 + }, + { + "y": 0.7978734374046326, + "x": 0.6204860210418701 + } + ], + "labios": [ + { + "y": 0.6873406767845154, + "x": 0.2698139548301697 + }, + { + "y": 0.6512259840965271, + "x": 0.2960938513278961 + }, + { + "y": 0.6118282079696655, + "x": 0.3152562379837036 + }, + { + "y": 0.5754399299621582, + "x": 0.3075912892818451 + }, + { + "y": 0.5390517115592957, + "x": 0.31580373644828796 + }, + { + "y": 0.49855950474739075, + "x": 0.2988313138484955 + }, + { + "y": 0.4608032703399658, + "x": 0.27364644408226013 + }, + { + "y": 0.43125489354133606, + "x": 0.24189160764217377 + }, + { + "y": 0.4711998999118805, + "x": 0.2112317532300949 + }, + { + "y": 0.5198999643325806, + "x": 0.19206933677196503 + }, + { + "y": 0.5721567869186401, + "x": 0.18495187163352966 + }, + { + "y": 0.6235927939414978, + "x": 0.19042684137821198 + }, + { + "y": 0.6744816899299622, + "x": 0.2068517655134201 + }, + { + "y": 0.7152474522590637, + "x": 0.2358691245317459 + } + ], + "olho_direito": [ + { + "y": 0.3179861903190613, + "x": 0.6188435554504395 + }, + { + "y": 0.36176154017448425, + "x": 0.6284247636795044 + }, + { + "y": 0.42414140701293945, + "x": 0.6366372108459473 + }, + { + "y": 0.473388671875, + "x": 0.639100968837738 + }, + { + "y": 0.42851895093917847, + "x": 0.6254135370254517 + }, + { + "y": 0.36613908410072327, + "x": 0.6155585646629333 + } + ], + "sobrancelha_esquerda": [ + { + "y": 0.9393225312232971, + "x": 0.7570866346359253 + }, + { + "y": 0.8123739957809448, + "x": 0.8234707117080688 + }, + { + "y": 0.6690097451210022, + "x": 0.8051295280456543 + }, + { + "y": 0.6728400588035583, + "x": 0.7529804110527039 + }, + { + "y": 0.8071756958961487, + "x": 0.7707740664482117 + }, + { + "y": 0.9326193928718567, + "x": 0.7299855351448059 + } + ], + "nariz": [ + { + "y": 0.5839214324951172, + "x": 0.6284247636795044 + }, + { + "y": 0.6703777313232422, + "x": 0.5060591101646423 + }, + { + "y": 0.6684625744819641, + "x": 0.4083307981491089 + }, + { + "y": 0.6244136095046997, + "x": 0.41435328125953674 + }, + { + "y": 0.5806382894515991, + "x": 0.4094257950782776 + }, + { + "y": 0.5363157391548157, + "x": 0.41435328125953674 + }, + { + "y": 0.49144598841667175, + "x": 0.40887829661369324 + }, + { + "y": 0.4925403892993927, + "x": 0.5055115818977356 + } + ] + }, + "roll": -1.5707963705062866 + }, + "modelo": "VNDetectFaceLandmarksRequest" + }, + { + "confianca": 0.8411418199539185, + "tipo": "qualidade_do_rosto", + "valor": { + "bounding_box": { + "largura": 0.1658211499452591, + "altura": 0.29479315876960754, + "y": 0.36776813864707947, + "x": 0.632312536239624 + }, + "score": 0.306640625 + }, + "modelo": "VNDetectFaceCaptureQualityRequest" + }, + { + "confianca": 0.7577722072601318, + "tipo": "pessoa", + "valor": { + "ocupacao_do_quadro": 0.682912073296598, + "bounding_box": { + "x": 0.003289473826359762, + "altura": 0.8070175636581506, + "largura": 0.8462171135421246, + "y": 0.12207603891167765 + } + }, + "modelo": "VNDetectHumanRectanglesRequest" + }, + { + "confianca": 1, + "tipo": "pose", + "valor": { + "pontos": { + "VNHumanBodyPoseObservationJointName(_rawValue: right_hand_joint)": { + "y": 0.8992827534675598, + "confianca": 0.56884765625, + "x": 0.25487595796585083 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_shoulder_1_joint)": { + "confianca": 0.39501953125, + "y": 0.7737014293670654, + "x": 0.5107936263084412 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_foot_joint)": { + "y": 1, + "confianca": 0, + "x": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_ear_joint)": { + "confianca": 0.245361328125, + "y": 0.4056674838066101, + "x": 0.7200061082839966 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_forearm_joint)": { + "confianca": 0.188232421875, + "y": 0.20924383401870728, + "x": 0.3585047423839569 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_upLeg_joint)": { + "confianca": 0.1064453125, + "y": 0.341492235660553, + "x": 0.15133905410766602 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_shoulder_1_joint)": { + "confianca": 0.170166015625, + "y": 0.33980071544647217, + "x": 0.5574966669082642 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: head_joint)": { + "y": 0.5432424545288086, + "confianca": 0.80419921875, + "x": 0.7135852575302124 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_eye_joint)": { + "y": 0.6059751510620117, + "confianca": 0.76513671875, + "x": 0.7342771887779236 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: neck_1_joint)": { + "y": 0.5567510724067688, + "confianca": 0.2825927734375, + "x": 0.5341451466083527 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: root)": { + "confianca": 0.05322265625, + "y": 0.6707461178302765, + "x": 0.07566952705383301 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_forearm_joint)": { + "confianca": 0.34130859375, + "y": 0.9041197299957275, + "x": 0.2559831440448761 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_leg_joint)": { + "confianca": 0, + "y": 1, + "x": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_leg_joint)": { + "confianca": 0, + "y": 1, + "x": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_eye_joint)": { + "confianca": 0.66259765625, + "y": 0.4892314076423645, + "x": 0.7435071468353271 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_hand_joint)": { + "confianca": 0.57861328125, + "y": 0.16218304634094238, + "x": 0.2771623432636261 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_upLeg_joint)": { + "confianca": 0, + "y": 1, + "x": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_foot_joint)": { + "y": 1, + "confianca": 0, + "x": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_ear_joint)": { + "y": 0.6811773777008057, + "confianca": 0.40283203125, + "x": 0.7042096853256226 + } + } + }, + "modelo": "VNDetectHumanBodyPoseRequest" + }, + { + "confianca": 1, + "tipo": "mao", + "valor": { + "pontos": { + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMPIP)": { + "confianca": 0.880859375, + "y": 0.7677690386772156, + "x": 0.2491309940814972 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTTIP)": { + "y": 0.7228180170059204, + "confianca": 0.88623046875, + "x": 0.35065922141075134 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMDIP)": { + "confianca": 0.84033203125, + "y": 0.7265551090240479, + "x": 0.2486988604068756 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPPIP)": { + "y": 0.7192729711532593, + "confianca": 0.8447265625, + "x": 0.20598439872264862 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIMCP)": { + "confianca": 0.8388671875, + "y": 0.8279258012771606, + "x": 0.2750450372695923 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMTIP)": { + "y": 0.6796374917030334, + "confianca": 0.8857421875, + "x": 0.24853023886680603 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRTIP)": { + "y": 0.6468683481216431, + "confianca": 0.892578125, + "x": 0.22986960411071777 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRPIP)": { + "y": 0.7413132786750793, + "confianca": 0.84228515625, + "x": 0.2244177609682083 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTCMC)": { + "confianca": 0.6962890625, + "y": 0.8449925184249878, + "x": 0.26841843128204346 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPMCP)": { + "confianca": 0.7919921875, + "y": 0.7879952192306519, + "x": 0.2167113572359085 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKITIP)": { + "confianca": 0.84765625, + "y": 0.7628468871116638, + "x": 0.30356207489967346 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMMCP)": { + "confianca": 0.880859375, + "y": 0.8154552578926086, + "x": 0.2501709759235382 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPDIP)": { + "y": 0.6753829717636108, + "confianca": 0.88916015625, + "x": 0.20467007160186768 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRDIP)": { + "confianca": 0.81298828125, + "y": 0.6898993849754333, + "x": 0.2248515635728836 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTIP)": { + "confianca": 0.81884765625, + "y": 0.739909827709198, + "x": 0.3192998766899109 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPTIP)": { + "y": 0.6338267922401428, + "confianca": 0.876953125, + "x": 0.20606322586536407 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRMCP)": { + "confianca": 0.8603515625, + "y": 0.8020666241645813, + "x": 0.22942300140857697 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKWRI)": { + "confianca": 0.75830078125, + "y": 0.8693832159042358, + "x": 0.23124049603939056 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTMP)": { + "confianca": 0.59912109375, + "y": 0.7882509231567383, + "x": 0.2932439148426056 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIPIP)": { + "confianca": 0.8251953125, + "y": 0.8059682846069336, + "x": 0.2846989631652832 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIDIP)": { + "confianca": 0.7958984375, + "y": 0.7847821712493896, + "x": 0.29290246963500977 + } + } + }, + "modelo": "VNDetectHumanHandPoseRequest" + }, + { + "confianca": 1, + "tipo": "mao", + "valor": { + "pontos": { + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMPIP)": { + "confianca": 0.76416015625, + "y": 0.2330196499824524, + "x": 0.21726620197296143 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTTIP)": { + "confianca": 0.90185546875, + "y": 0.21004194021224976, + "x": 0.3359856903553009 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMDIP)": { + "confianca": 0.7783203125, + "y": 0.2660004496574402, + "x": 0.2114325761795044 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPPIP)": { + "confianca": 0.65625, + "y": 0.29361414909362793, + "x": 0.1959105134010315 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIMCP)": { + "y": 0.17403161525726318, + "confianca": 0.7109375, + "x": 0.25582507252693176 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTCMC)": { + "confianca": 0.34814453125, + "y": 0.20183205604553223, + "x": 0.27433839440345764 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRTIP)": { + "y": 0.32947301864624023, + "confianca": 0.82568359375, + "x": 0.18784816563129425 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRPIP)": { + "y": 0.26249128580093384, + "confianca": 0.7333984375, + "x": 0.19962087273597717 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMTIP)": { + "y": 0.30170416831970215, + "confianca": 0.82958984375, + "x": 0.20489926636219025 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRDIP)": { + "confianca": 0.81005859375, + "y": 0.3004301190376282, + "x": 0.19482943415641785 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKITIP)": { + "y": 0.24479776620864868, + "confianca": 0.9228515625, + "x": 0.23426857590675354 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMMCP)": { + "confianca": 0.7548828125, + "y": 0.18899458646774292, + "x": 0.22503261268138885 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPDIP)": { + "confianca": 0.7060546875, + "y": 0.32329607009887695, + "x": 0.1909218281507492 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPMCP)": { + "confianca": 0.251953125, + "y": 0.25350654125213623, + "x": 0.20240551233291626 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTIP)": { + "y": 0.2233591079711914, + "confianca": 0.8369140625, + "x": 0.3071117699146271 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPTIP)": { + "confianca": 0.853515625, + "y": 0.3576059341430664, + "x": 0.18491755425930023 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRMCP)": { + "confianca": 0.45361328125, + "y": 0.20756077766418457, + "x": 0.2091400921344757 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKWRI)": { + "y": 0.15467941761016846, + "confianca": 0.3232421875, + "x": 0.23928093910217285 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIPIP)": { + "confianca": 0.7138671875, + "y": 0.1890224814414978, + "x": 0.2509334981441498 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTMP)": { + "confianca": 0.72216796875, + "y": 0.20742052793502808, + "x": 0.2896392047405243 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIDIP)": { + "confianca": 0.85888671875, + "y": 0.21299809217453003, + "x": 0.2455921322107315 + } + } + }, + "modelo": "VNDetectHumanHandPoseRequest" + }, + { + "confianca": 0.8701174259185791, + "tipo": "categoria", + "valor": { + "identificador": "people" + }, + "modelo": "VNClassifyImageRequest" + }, + { + "confianca": 0.8701171875, + "tipo": "categoria", + "valor": { + "identificador": "adult" + }, + "modelo": "VNClassifyImageRequest" + }, + { + "tipo": "estetica", + "valor": { + "score_global": 0.62939453125 + }, + "modelo": "VNCalculateImageAestheticsScoresRequest" + }, + { + "confianca": 1, + "tipo": "horizonte", + "valor": { + "angulo_radianos": 0.01745329238474369 + }, + "modelo": "VNDetectHorizonRequest" + }, + { + "confianca": 1, + "tipo": "contornos", + "valor": { + "quantidade_principal": 5 + }, + "modelo": "VNDetectContoursRequest" + }, + { + "tipo": "segmentacao_de_pessoas", + "valor": { + "ocupacao_do_quadro": 0.4965057373046875 + }, + "modelo": "VNGeneratePersonSegmentationRequest" + } + ], + "avisos": [] + }, + { + "timestamp_s": 4, + "arquivo": "frame-4s.png", + "tempo_processamento_ms": 1271, + "evidencias": [ + { + "valor": { + "exposicao": "equilibrado", + "media_brilho": 0.42795466962826795, + "contraste": 0.24907196260559808, + "clipping_branco": 5.871431327160494e-05, + "clipping_preto": 0.08666582272376543 + }, + "modelo": "CoreImageHistogram", + "tipo": "brilho" + }, + { + "valor": { + "pitch": 0, + "roll": -1.5707963705062866, + "bounding_box": { + "y": 0.38094574213027954, + "altura": 0.29289376735687256, + "x": 0.6282025575637817, + "largura": 0.16475273668766022 + }, + "yaw": 0, + "landmarks": { + "rosto": [ + { + "x": 0.6001076698303223, + "y": 0.12511400878429413 + }, + { + "x": 0.48693135380744934, + "y": 0.1267184615135193 + }, + { + "x": 0.37188220024108887, + "y": 0.13848435878753662 + }, + { + "x": 0.2584383487701416, + "y": 0.15880727767944336 + }, + { + "x": 0.1498105376958847, + "y": 0.1962442398071289 + }, + { + "x": 0.06044675409793854, + "y": 0.26523521542549133 + }, + { + "x": -0.0032316260039806366, + "y": 0.3588276207447052 + }, + { + "x": -0.04282994568347931, + "y": 0.46685999631881714 + }, + { + "x": -0.051926858723163605, + "y": 0.5815775394439697 + }, + { + "x": -0.03373303636908531, + "y": 0.6906795501708984 + }, + { + "x": 0.015497309155762196, + "y": 0.789085328578949 + }, + { + "x": 0.08880771696567535, + "y": 0.8713129162788391 + }, + { + "x": 0.18512795865535736, + "y": 0.9267998337745667 + }, + { + "x": 0.29375576972961426, + "y": 0.953540563583374 + }, + { + "x": 0.406129390001297, + "y": 0.9655738472938538 + }, + { + "x": 0.5179678797721863, + "y": 0.9698523283004761 + }, + { + "x": 0.6276659369468689, + "y": 0.964103102684021 + } + ], + "labios": [ + { + "x": 0.2867993116378784, + "y": 0.6909469962120056 + }, + { + "x": 0.31676560640335083, + "y": 0.655114471912384 + }, + { + "x": 0.3349594473838806, + "y": 0.613933801651001 + }, + { + "x": 0.3258625268936157, + "y": 0.5767642259597778 + }, + { + "x": 0.3322838842868805, + "y": 0.5395947098731995 + }, + { + "x": 0.3130198121070862, + "y": 0.49627476930618286 + }, + { + "x": 0.2825184166431427, + "y": 0.4583030045032501 + }, + { + "x": 0.24613076448440552, + "y": 0.4283534288406372 + }, + { + "x": 0.21884003281593323, + "y": 0.4727429747581482 + }, + { + "x": 0.20385688543319702, + "y": 0.5246198773384094 + }, + { + "x": 0.20011110603809357, + "y": 0.5781012773513794 + }, + { + "x": 0.20492711663246155, + "y": 0.6278389692306519 + }, + { + "x": 0.2209804803133011, + "y": 0.6775766611099243 + }, + { + "x": 0.24880632758140564, + "y": 0.7171528339385986 + } + ], + "olho_direito": [ + { + "x": 0.6330170631408691, + "y": 0.2887670397758484 + }, + { + "x": 0.6675317883491516, + "y": 0.333156555891037 + }, + { + "x": 0.6667291522026062, + "y": 0.4074956774711609 + }, + { + "x": 0.6394383907318115, + "y": 0.4550940990447998 + }, + { + "x": 0.6284686326980591, + "y": 0.40535643696784973 + }, + { + "x": 0.6204419136047363, + "y": 0.3374350666999817 + } + ], + "sobrancelha_direita": [ + { + "x": 0.730139970779419, + "y": 0.201057568192482 + }, + { + "x": 0.8049219250679016, + "y": 0.33369138836860657 + }, + { + "x": 0.7928819060325623, + "y": 0.4861133098602295 + }, + { + "x": 0.7381666302680969, + "y": 0.48290443420410156 + }, + { + "x": 0.7510093450546265, + "y": 0.3417135775089264 + }, + { + "x": 0.7028492093086243, + "y": 0.20854495465755463 + } + ], + "nariz": [ + { + "x": 0.6279335021972656, + "y": 0.5690094232559204 + }, + { + "x": 0.5110114216804504, + "y": 0.6577885150909424 + }, + { + "x": 0.41736674308776855, + "y": 0.6623344421386719 + }, + { + "x": 0.4211125373840332, + "y": 0.6182122826576233 + }, + { + "x": 0.41415607929229736, + "y": 0.575427234172821 + }, + { + "x": 0.4184369742870331, + "y": 0.5288984179496765 + }, + { + "x": 0.4120156168937683, + "y": 0.4818347990512848 + }, + { + "x": 0.5043225288391113, + "y": 0.4802303612232208 + } + ], + "olho_esquerdo": [ + { + "x": 0.6525486707687378, + "y": 0.8273245096206665 + }, + { + "x": 0.6838527321815491, + "y": 0.7826675176620483 + }, + { + "x": 0.679304301738739, + "y": 0.7102002501487732 + }, + { + "x": 0.647732675075531, + "y": 0.6652759313583374 + }, + { + "x": 0.6397059559822083, + "y": 0.7142114043235779 + }, + { + "x": 0.6367628574371338, + "y": 0.780795693397522 + } + ], + "sobrancelha_esquerda": [ + { + "x": 0.7469959855079651, + "y": 0.9106217622756958 + }, + { + "x": 0.816961944103241, + "y": 0.7810630798339844 + }, + { + "x": 0.7960925698280334, + "y": 0.6347915530204773 + }, + { + "x": 0.7443204522132874, + "y": 0.639337420463562 + }, + { + "x": 0.7635844945907593, + "y": 0.7757149338722229 + }, + { + "x": 0.7207754850387573, + "y": 0.904070258140564 + } + ] + } + }, + "modelo": "VNDetectFaceLandmarksRequest", + "confianca": 1, + "tipo": "rosto" + }, + { + "valor": { + "bounding_box": { + "y": 0.3825284540653229, + "altura": 0.29152804613113403, + "x": 0.626729428768158, + "largura": 0.1639845222234726 + }, + "score": 0.72216796875 + }, + "modelo": "VNDetectFaceCaptureQualityRequest", + "confianca": 0.8529589772224426, + "tipo": "qualidade_do_rosto" + }, + { + "valor": { + "ocupacao_do_quadro": 0.7692523816364186, + "bounding_box": { + "y": 0.07383041199710634, + "altura": 0.9108187460237077, + "x": 0.00452302645303701, + "largura": 0.8445724080610828 + } + }, + "modelo": "VNDetectHumanRectanglesRequest", + "confianca": 0.7486968040466309, + "tipo": "pessoa" + }, + { + "valor": { + "pontos": { + "VNHumanBodyPoseObservationJointName(_rawValue: right_forearm_joint)": { + "y": 0.9365519285202026, + "confianca": 0.5185546875, + "x": 0.24090604484081268 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: head_joint)": { + "x": 0.7059506177902222, + "confianca": 0.78076171875, + "y": 0.5602130889892578 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_upLeg_joint)": { + "x": 0, + "confianca": 0, + "y": 1 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_leg_joint)": { + "x": 0, + "confianca": 0, + "y": 1 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_ear_joint)": { + "y": 0.4180445671081543, + "confianca": 0.315185546875, + "x": 0.7090607285499573 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_hand_joint)": { + "y": 0.7741968035697937, + "confianca": 0.73876953125, + "x": 0.25397971272468567 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_eye_joint)": { + "x": 0.7326916456222534, + "confianca": 0.89892578125, + "y": 0.6159594058990479 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_hand_joint)": { + "x": 0.2783129811286926, + "confianca": 0.6298828125, + "y": 0.21716642379760742 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: neck_1_joint)": { + "y": 0.5793079733848572, + "confianca": 0.2596435546875, + "x": 0.5335907936096191 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_foot_joint)": { + "x": 0, + "confianca": 0, + "y": 1 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_shoulder_1_joint)": { + "y": 0.35995346307754517, + "confianca": 0.17578125, + "x": 0.5639115571975708 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_foot_joint)": { + "y": 1, + "confianca": 0, + "x": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: root)": { + "x": 0.07211710512638092, + "confianca": 0.071533203125, + "y": 0.6930579543113708 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_leg_joint)": { + "y": 1, + "confianca": 0, + "x": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_shoulder_1_joint)": { + "y": 0.7986624836921692, + "confianca": 0.343505859375, + "x": 0.5032700300216675 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_upLeg_joint)": { + "y": 0.3861159086227417, + "confianca": 0.14306640625, + "x": 0.14423421025276184 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_forearm_joint)": { + "y": 0.29307860136032104, + "confianca": 0.324462890625, + "x": 0.42785874009132385 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_eye_joint)": { + "y": 0.4962678551673889, + "confianca": 0.85888671875, + "x": 0.7299637794494629 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_ear_joint)": { + "y": 0.6880592107772827, + "confianca": 0.388427734375, + "x": 0.7112510800361633 + } + } + }, + "modelo": "VNDetectHumanBodyPoseRequest", + "confianca": 1, + "tipo": "pose" + }, + { + "valor": { + "pontos": { + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIDIP)": { + "y": 0.5135819911956787, + "confianca": 0.8876953125, + "x": 0.3060721457004547 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTMP)": { + "y": 0.6709983348846436, + "confianca": 0.77197265625, + "x": 0.3219708502292633 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKITIP)": { + "y": 0.4656253457069397, + "confianca": 0.90576171875, + "x": 0.30822286009788513 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPMCP)": { + "x": 0.23944027721881866, + "confianca": 0.8271484375, + "y": 0.608191728591919 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIPIP)": { + "x": 0.3028740882873535, + "confianca": 0.89892578125, + "y": 0.5585363507270813 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPTIP)": { + "x": 0.24689923226833344, + "confianca": 0.9306640625, + "y": 0.4563559293746948 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRMCP)": { + "x": 0.25167325139045715, + "confianca": 0.83740234375, + "y": 0.6118399500846863 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRDIP)": { + "y": 0.47026777267456055, + "confianca": 0.88232421875, + "x": 0.2594446539878845 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTTIP)": { + "y": 0.6124035120010376, + "confianca": 0.90966796875, + "x": 0.3670034110546112 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPPIP)": { + "y": 0.5349780321121216, + "confianca": 0.8779296875, + "x": 0.2387549877166748 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRTIP)": { + "y": 0.42476391792297363, + "confianca": 0.85498046875, + "x": 0.26386889815330505 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTCMC)": { + "y": 0.7277543544769287, + "confianca": 0.7265625, + "x": 0.2947535514831543 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIMCP)": { + "y": 0.6360477209091187, + "confianca": 0.853515625, + "x": 0.2991505563259125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKWRI)": { + "y": 0.7530383467674255, + "confianca": 0.72412109375, + "x": 0.2536105215549469 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMMCP)": { + "y": 0.6200809478759766, + "confianca": 0.8583984375, + "x": 0.27153316140174866 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRPIP)": { + "y": 0.5256761312484741, + "confianca": 0.88134765625, + "x": 0.25454485416412354 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMTIP)": { + "x": 0.2779688835144043, + "confianca": 0.9150390625, + "y": 0.4215834140777588 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTIP)": { + "y": 0.6153233647346497, + "confianca": 0.82861328125, + "x": 0.33932000398635864 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMPIP)": { + "y": 0.5300449132919312, + "confianca": 0.86328125, + "x": 0.27616992592811584 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMDIP)": { + "x": 0.2768617868423462, + "confianca": 0.88525390625, + "y": 0.4729200601577759 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPDIP)": { + "x": 0.24186047911643982, + "confianca": 0.8740234375, + "y": 0.49324196577072144 + } + } + }, + "modelo": "VNDetectHumanHandPoseRequest", + "confianca": 1, + "tipo": "mao" + }, + { + "valor": { + "pontos": { + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIDIP)": { + "y": 0.1554049849510193, + "confianca": 0.85888671875, + "x": 0.19303855299949646 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTMP)": { + "y": 0.14999067783355713, + "confianca": 0.81591796875, + "x": 0.27432164549827576 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKITIP)": { + "x": 0.17608492076396942, + "confianca": 0.8984375, + "y": 0.17043650150299072 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPMCP)": { + "x": 0.20152589678764343, + "confianca": 0.8505859375, + "y": 0.23795956373214722 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIPIP)": { + "x": 0.20838657021522522, + "confianca": 0.84521484375, + "y": 0.1459483504295349 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPTIP)": { + "y": 0.2909921407699585, + "confianca": 0.8681640625, + "x": 0.16584806144237518 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKWRI)": { + "x": 0.270681232213974, + "confianca": 0.48291015625, + "y": 0.22474586963653564 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRMCP)": { + "y": 0.20946401357650757, + "confianca": 0.80859375, + "x": 0.2037249505519867 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRDIP)": { + "x": 0.17158623039722443, + "confianca": 0.8232421875, + "y": 0.2368108034133911 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRTIP)": { + "y": 0.2566049098968506, + "confianca": 0.8857421875, + "x": 0.15941429138183594 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTTIP)": { + "x": 0.2777835428714752, + "confianca": 0.8486328125, + "y": 0.07580679655075073 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPPIP)": { + "y": 0.2505323886871338, + "confianca": 0.86376953125, + "x": 0.18520885705947876 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIMCP)": { + "y": 0.14405113458633423, + "confianca": 0.77880859375, + "x": 0.2295941710472107 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTCMC)": { + "y": 0.18868470191955566, + "confianca": 0.69775390625, + "x": 0.2795860171318054 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMMCP)": { + "y": 0.18283647298812866, + "confianca": 0.74365234375, + "x": 0.2108117789030075 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRPIP)": { + "y": 0.22085916996002197, + "confianca": 0.85595703125, + "x": 0.18416333198547363 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMTIP)": { + "y": 0.22643107175827026, + "confianca": 0.8896484375, + "x": 0.164556086063385 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTIP)": { + "y": 0.12080180644989014, + "confianca": 0.79736328125, + "x": 0.2712315320968628 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMPIP)": { + "y": 0.19023984670639038, + "confianca": 0.8095703125, + "x": 0.19010300934314728 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMDIP)": { + "y": 0.203666090965271, + "confianca": 0.84375, + "x": 0.17577171325683594 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPDIP)": { + "x": 0.1767151802778244, + "confianca": 0.88232421875, + "y": 0.2683878540992737 + } + } + }, + "modelo": "VNDetectHumanHandPoseRequest", + "confianca": 1, + "tipo": "mao" + }, + { + "valor": { + "identificador": "people" + }, + "modelo": "VNClassifyImageRequest", + "confianca": 0.8657227754592896, + "tipo": "categoria" + }, + { + "valor": { + "identificador": "adult" + }, + "modelo": "VNClassifyImageRequest", + "confianca": 0.86572265625, + "tipo": "categoria" + }, + { + "valor": { + "identificador": "clothing" + }, + "modelo": "VNClassifyImageRequest", + "confianca": 0.22200876474380493, + "tipo": "categoria" + }, + { + "valor": { + "score_global": 0.6201171875 + }, + "modelo": "VNCalculateImageAestheticsScoresRequest", + "tipo": "estetica" + }, + { + "valor": { + "angulo_radianos": 0.01745329238474369 + }, + "modelo": "VNDetectHorizonRequest", + "confianca": 1, + "tipo": "horizonte" + }, + { + "valor": { + "quantidade_principal": 5 + }, + "modelo": "VNDetectContoursRequest", + "confianca": 1, + "tipo": "contornos" + }, + { + "valor": { + "ocupacao_do_quadro": 0.5065561930338541 + }, + "modelo": "VNGeneratePersonSegmentationRequest", + "tipo": "segmentacao_de_pessoas" + } + ], + "avisos": [] + }, + { + "timestamp_s": 5, + "arquivo": "frame-5s.png", + "tempo_processamento_ms": 1292, + "evidencias": [ + { + "tipo": "brilho", + "valor": { + "contraste": 0.24602683569776998, + "clipping_preto": 0.08119767554012346, + "clipping_branco": 6.510416666666667e-05, + "media_brilho": 0.4211174499024147, + "exposicao": "equilibrado" + }, + "modelo": "CoreImageHistogram" + }, + { + "tipo": "rosto", + "valor": { + "bounding_box": { + "x": 0.6131266951560974, + "largura": 0.1695304661989212, + "y": 0.3691338300704956, + "altura": 0.3013875186443329 + }, + "pitch": 0, + "yaw": 0, + "roll": -1.5707963705062866, + "landmarks": { + "olho_esquerdo": [ + { + "y": 0.8146530985832214, + "x": 0.6648444533348083 + }, + { + "y": 0.7716774940490723, + "x": 0.6913473606109619 + }, + { + "y": 0.7043760418891907, + "x": 0.6905360221862793 + }, + { + "y": 0.6595084071159363, + "x": 0.6664670705795288 + }, + { + "y": 0.7059977650642395, + "x": 0.6580834984779358 + }, + { + "y": 0.7695151567459106, + "x": 0.6532155871391296 + } + ], + "rosto": [ + { + "y": 0.1546124517917633, + "x": 0.6307692527770996 + }, + { + "y": 0.15028786659240723, + "x": 0.519889771938324 + }, + { + "y": 0.15785589814186096, + "x": 0.40765807032585144 + }, + { + "y": 0.17299196124076843, + "x": 0.29569682478904724 + }, + { + "y": 0.20380467176437378, + "x": 0.18806256353855133 + }, + { + "y": 0.2621866464614868, + "x": 0.09232756495475769 + }, + { + "y": 0.3454350233078003, + "x": 0.019309356808662415 + }, + { + "y": 0.44490060210227966, + "x": -0.03099207952618599 + }, + { + "y": 0.5554479360580444, + "x": -0.04830009862780571 + }, + { + "y": 0.6646438837051392, + "x": -0.028287701308727264 + }, + { + "y": 0.7611362934112549, + "x": 0.02309548482298851 + }, + { + "y": 0.8416817784309387, + "x": 0.09827720373868942 + }, + { + "y": 0.8977662920951843, + "x": 0.19455306231975555 + }, + { + "y": 0.9273627400398254, + "x": 0.30218732357025146 + }, + { + "y": 0.9437150955200195, + "x": 0.4130668342113495 + }, + { + "y": 0.9530400037765503, + "x": 0.5242167711257935 + }, + { + "y": 0.950607419013977, + "x": 0.6342849731445312 + } + ], + "sobrancelha_esquerda": [ + { + "y": 0.903036892414093, + "x": 0.764365553855896 + }, + { + "y": 0.7778940796852112, + "x": 0.833191990852356 + }, + { + "y": 0.6354528665542603, + "x": 0.8127739429473877 + }, + { + "y": 0.6397774815559387, + "x": 0.7632837891578674 + }, + { + "y": 0.7724883556365967, + "x": 0.7826201319694519 + }, + { + "y": 0.8968203067779541, + "x": 0.738944411277771 + } + ], + "olho_direito": [ + { + "y": 0.29732394218444824, + "x": 0.6567313075065613 + }, + { + "y": 0.3394887149333954, + "x": 0.6840455532073975 + }, + { + "y": 0.407600998878479, + "x": 0.6843159794807434 + }, + { + "y": 0.4530092179775238, + "x": 0.6632218360900879 + }, + { + "y": 0.4065198600292206, + "x": 0.6545677781105042 + }, + { + "y": 0.34381330013275146, + "x": 0.6472659707069397 + } + ], + "labios": [ + { + "y": 0.6819422245025635, + "x": 0.3016464412212372 + }, + { + "y": 0.6438317894935608, + "x": 0.337344229221344 + }, + { + "y": 0.5984235405921936, + "x": 0.3578975200653076 + }, + { + "y": 0.5597725510597229, + "x": 0.35032525658607483 + }, + { + "y": 0.5205809473991394, + "x": 0.35681575536727905 + }, + { + "y": 0.4751727283000946, + "x": 0.33572161197662354 + }, + { + "y": 0.4367919862270355, + "x": 0.300564706325531 + }, + { + "y": 0.41030386090278625, + "x": 0.2572946548461914 + }, + { + "y": 0.4476034641265869, + "x": 0.21294283866882324 + }, + { + "y": 0.5016608238220215, + "x": 0.18643993139266968 + }, + { + "y": 0.5597725510597229, + "x": 0.1783268004655838 + }, + { + "y": 0.6173436641693115, + "x": 0.1853581815958023 + }, + { + "y": 0.6711307168006897, + "x": 0.21186108887195587 + }, + { + "y": 0.7065383195877075, + "x": 0.25621289014816284 + } + ], + "sobrancelha_direita": [ + { + "y": 0.21461614966392517, + "x": 0.7600385546684265 + }, + { + "y": 0.3405698537826538, + "x": 0.8256196975708008 + }, + { + "y": 0.4816596210002899, + "x": 0.8110160827636719 + }, + { + "y": 0.47787559032440186, + "x": 0.7597681283950806 + }, + { + "y": 0.3459755778312683, + "x": 0.7759943604469299 + }, + { + "y": 0.2211030274629593, + "x": 0.7343469858169556 + } + ], + "nariz": [ + { + "y": 0.5570696592330933, + "x": 0.6505112648010254 + }, + { + "y": 0.6411288976669312, + "x": 0.530977725982666 + }, + { + "y": 0.6419397592544556, + "x": 0.44065147638320923 + }, + { + "y": 0.599234402179718, + "x": 0.4460602402687073 + }, + { + "y": 0.5567993521690369, + "x": 0.44065147638320923 + }, + { + "y": 0.5146346092224121, + "x": 0.4449784755706787 + }, + { + "y": 0.47138872742652893, + "x": 0.4384879767894745 + }, + { + "y": 0.47138872742652893, + "x": 0.5285437703132629 + } + ] + } + }, + "confianca": 1, + "modelo": "VNDetectFaceLandmarksRequest" + }, + { + "tipo": "qualidade_do_rosto", + "valor": { + "bounding_box": { + "x": 0.6136011481285095, + "largura": 0.1678503006696701, + "y": 0.37283965945243835, + "altura": 0.29840055108070374 + }, + "score": 0.64599609375 + }, + "confianca": 0.8235427737236023, + "modelo": "VNDetectFaceCaptureQualityRequest" + }, + { + "tipo": "pessoa", + "valor": { + "bounding_box": { + "x": -0.00041118422829497026, + "largura": 0.8429276366307586, + "y": 0.11732456559936205, + "altura": 0.8486842412261936 + }, + "ocupacao_do_quadro": 0.715379401702564 + }, + "confianca": 0.7362011671066284, + "modelo": "VNDetectHumanRectanglesRequest" + }, + { + "tipo": "pose", + "valor": { + "pontos": { + "VNHumanBodyPoseObservationJointName(_rawValue: left_shoulder_1_joint)": { + "y": 0.3571935296058655, + "x": 0.5541295409202576, + "confianca": 0.205078125 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_leg_joint)": { + "x": 0, + "y": 1, + "confianca": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_eye_joint)": { + "x": 0.7281789779663086, + "y": 0.4913516044616699, + "confianca": 0.81103515625 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: head_joint)": { + "y": 0.542793869972229, + "x": 0.7008383870124817, + "confianca": 0.7626953125 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_hand_joint)": { + "y": 0.2353346347808838, + "x": 0.2505931854248047, + "confianca": 0.3388671875 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_leg_joint)": { + "x": 0, + "y": 1, + "confianca": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_forearm_joint)": { + "x": 0.2607937157154083, + "y": 0.16138941049575806, + "confianca": 0.2431640625 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: root)": { + "y": 1, + "confianca": 0, + "x": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_forearm_joint)": { + "y": 0.9251638650894165, + "confianca": 0.5625, + "x": 0.24650788307189941 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: neck_1_joint)": { + "x": 0.5291169583797455, + "y": 0.5660613775253296, + "confianca": 0.262939453125 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_ear_joint)": { + "y": 0.6752462387084961, + "x": 0.6930562257766724, + "confianca": 0.340087890625 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_hand_joint)": { + "x": 0.24274365603923798, + "y": 0.8117502331733704, + "confianca": 0.7421875 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_foot_joint)": { + "x": 0, + "y": 1, + "confianca": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_upLeg_joint)": { + "x": 0, + "y": 1, + "confianca": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_eye_joint)": { + "x": 0.7267624735832214, + "y": 0.6007874011993408, + "confianca": 0.841796875 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_ear_joint)": { + "y": 0.4080756902694702, + "x": 0.7043208479881287, + "confianca": 0.276123046875 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_upLeg_joint)": { + "x": 0, + "y": 1, + "confianca": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_foot_joint)": { + "x": 0, + "y": 1, + "confianca": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_shoulder_1_joint)": { + "x": 0.5041043758392334, + "y": 0.7749292254447937, + "confianca": 0.32080078125 + } + } + }, + "confianca": 1, + "modelo": "VNDetectHumanBodyPoseRequest" + }, + { + "tipo": "mao", + "valor": { + "pontos": { + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPPIP)": { + "x": 0.2459009289741516, + "y": 0.5681469440460205, + "confianca": 0.8701171875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRPIP)": { + "y": 0.5639417171478271, + "confianca": 0.87939453125, + "x": 0.25743368268013 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRMCP)": { + "x": 0.24719148874282837, + "y": 0.646916389465332, + "confianca": 0.85791015625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIPIP)": { + "y": 0.613120973110199, + "x": 0.29672181606292725, + "confianca": 0.880859375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTIP)": { + "x": 0.3299024999141693, + "y": 0.6870698928833008, + "confianca": 0.87841796875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMMCP)": { + "x": 0.2647729218006134, + "y": 0.6594905853271484, + "confianca": 0.86279296875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMPIP)": { + "y": 0.5739209651947021, + "x": 0.2756028175354004, + "confianca": 0.83056640625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIDIP)": { + "x": 0.3035971522331238, + "y": 0.573829710483551, + "confianca": 0.89013671875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIMCP)": { + "x": 0.2896692454814911, + "y": 0.6816747188568115, + "confianca": 0.84228515625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMTIP)": { + "y": 0.47367191314697266, + "x": 0.29092085361480713, + "confianca": 0.900390625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTMP)": { + "x": 0.310668021440506, + "y": 0.7232847213745117, + "confianca": 0.76708984375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKITIP)": { + "x": 0.3104400634765625, + "y": 0.5301333665847778, + "confianca": 0.904296875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRDIP)": { + "y": 0.5137549638748169, + "x": 0.2689659297466278, + "confianca": 0.85791015625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMDIP)": { + "x": 0.2831054925918579, + "y": 0.5211989879608154, + "confianca": 0.8876953125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTTIP)": { + "x": 0.3532427251338959, + "y": 0.7028893828392029, + "confianca": 0.88330078125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPMCP)": { + "y": 0.6393307447433472, + "x": 0.23700997233390808, + "confianca": 0.8271484375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPTIP)": { + "x": 0.2653466463088989, + "y": 0.4987746477127075, + "confianca": 0.86865234375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRTIP)": { + "x": 0.28085383772850037, + "y": 0.4740515351295471, + "confianca": 0.86669921875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTCMC)": { + "y": 0.7640369534492493, + "x": 0.2824721336364746, + "confianca": 0.736328125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPDIP)": { + "x": 0.2552202641963959, + "y": 0.5299499034881592, + "confianca": 0.82763671875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKWRI)": { + "x": 0.2430180460214615, + "y": 0.7760939598083496, + "confianca": 0.72802734375 + } + } + }, + "confianca": 1, + "modelo": "VNDetectHumanHandPoseRequest" + }, + { + "tipo": "mao", + "valor": { + "pontos": { + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPPIP)": { + "x": 0.2333599030971527, + "y": 0.38055580854415894, + "confianca": 0.78173828125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRPIP)": { + "x": 0.23942556977272034, + "y": 0.37754958868026733, + "confianca": 0.85205078125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRMCP)": { + "y": 0.3149259686470032, + "x": 0.23449257016181946, + "confianca": 0.8076171875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIPIP)": { + "x": 0.2719819247722626, + "y": 0.3189443349838257, + "confianca": 0.81884765625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTIP)": { + "x": 0.31941816210746765, + "y": 0.24909865856170654, + "confianca": 0.8486328125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMMCP)": { + "x": 0.24712438881397247, + "y": 0.2941737771034241, + "confianca": 0.88427734375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIDIP)": { + "y": 0.35473984479904175, + "x": 0.2736016511917114, + "confianca": 0.8701171875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMPIP)": { + "x": 0.2530736029148102, + "y": 0.36119258403778076, + "confianca": 0.8857421875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMTIP)": { + "y": 0.454867422580719, + "x": 0.2674729526042938, + "confianca": 0.86376953125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTMP)": { + "y": 0.23549216985702515, + "x": 0.29901930689811707, + "confianca": 0.7265625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIMCP)": { + "x": 0.2690695524215698, + "y": 0.2686483860015869, + "confianca": 0.88525390625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKITIP)": { + "y": 0.39776140451431274, + "confianca": 0.90478515625, + "x": 0.2772645652294159 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMDIP)": { + "x": 0.25987905263900757, + "y": 0.408982515335083, + "confianca": 0.91845703125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRDIP)": { + "x": 0.24610638618469238, + "y": 0.42237794399261475, + "confianca": 0.861328125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTTIP)": { + "x": 0.3421195149421692, + "y": 0.22164607048034668, + "confianca": 0.91259765625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPMCP)": { + "x": 0.22848036885261536, + "y": 0.33018046617507935, + "confianca": 0.7763671875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPTIP)": { + "y": 0.45258980989456177, + "x": 0.24521870911121368, + "confianca": 0.81103515625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRTIP)": { + "x": 0.25467339158058167, + "y": 0.4621403217315674, + "confianca": 0.87744140625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTCMC)": { + "x": 0.27577653527259827, + "y": 0.22384226322174072, + "confianca": 0.71044921875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPDIP)": { + "x": 0.2383253425359726, + "y": 0.41913390159606934, + "confianca": 0.7978515625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKWRI)": { + "y": 0.22750210762023926, + "confianca": 0.7177734375, + "x": 0.2412353754043579 + } + } + }, + "confianca": 1, + "modelo": "VNDetectHumanHandPoseRequest" + }, + { + "tipo": "categoria", + "valor": { + "identificador": "people" + }, + "confianca": 0.8745118379592896, + "modelo": "VNClassifyImageRequest" + }, + { + "tipo": "categoria", + "valor": { + "identificador": "adult" + }, + "confianca": 0.87451171875, + "modelo": "VNClassifyImageRequest" + }, + { + "tipo": "categoria", + "valor": { + "identificador": "clothing" + }, + "confianca": 0.22288155555725098, + "modelo": "VNClassifyImageRequest" + }, + { + "tipo": "estetica", + "valor": { + "score_global": 0.64013671875 + }, + "modelo": "VNCalculateImageAestheticsScoresRequest" + }, + { + "tipo": "horizonte", + "valor": { + "angulo_radianos": 0.01745329238474369 + }, + "confianca": 1, + "modelo": "VNDetectHorizonRequest" + }, + { + "tipo": "contornos", + "valor": { + "quantidade_principal": 5 + }, + "confianca": 1, + "modelo": "VNDetectContoursRequest" + }, + { + "tipo": "segmentacao_de_pessoas", + "valor": { + "ocupacao_do_quadro": 0.490234375 + }, + "modelo": "VNGeneratePersonSegmentationRequest" + } + ], + "avisos": [] + }, + { + "timestamp_s": 6, + "arquivo": "frame-6s.png", + "tempo_processamento_ms": 1283, + "evidencias": [ + { + "tipo": "brilho", + "modelo": "CoreImageHistogram", + "valor": { + "contraste": 0.255626640235003, + "media_brilho": 0.4299778669473191, + "exposicao": "equilibrado", + "clipping_preto": 0.09543559510030865, + "clipping_branco": 4.5693479938271604e-05 + } + }, + { + "confianca": 1, + "tipo": "rosto", + "modelo": "VNDetectFaceLandmarksRequest", + "valor": { + "pitch": 0, + "yaw": 0, + "roll": -1.5707963705062866, + "landmarks": { + "sobrancelha_esquerda": [ + { + "x": 0.7627003788948059, + "y": 0.8879684209823608 + }, + { + "x": 0.817221462726593, + "y": 0.7611343860626221 + }, + { + "x": 0.789760947227478, + "y": 0.6260401010513306 + }, + { + "x": 0.7440378665924072, + "y": 0.6303034424781799 + }, + { + "x": 0.7669660449028015, + "y": 0.7579368948936462 + }, + { + "x": 0.7360396981239319, + "y": 0.8827724456787109 + } + ], + "sobrancelha_direita": [ + { + "x": 0.772431492805481, + "y": 0.20610220730304718 + }, + { + "x": 0.8205540180206299, + "y": 0.33826541900634766 + }, + { + "x": 0.7922937273979187, + "y": 0.47575777769088745 + }, + { + "x": 0.7445710897445679, + "y": 0.4693627655506134 + }, + { + "x": 0.7702986598014832, + "y": 0.3393312394618988 + }, + { + "x": 0.7456375360488892, + "y": 0.20983262360095978 + } + ], + "olho_direito": [ + { + "x": 0.6781859993934631, + "y": 0.2833750545978546 + }, + { + "x": 0.7093790173530579, + "y": 0.32920584082603455 + }, + { + "x": 0.702447235584259, + "y": 0.4006165862083435 + }, + { + "x": 0.6688547730445862, + "y": 0.4437828063964844 + }, + { + "x": 0.6619229912757874, + "y": 0.3947545289993286 + }, + { + "x": 0.6581904888153076, + "y": 0.328139990568161 + } + ], + "labios": [ + { + "x": 0.28547412157058716, + "y": 0.632701575756073 + }, + { + "x": 0.3078691065311432, + "y": 0.6025918126106262 + }, + { + "x": 0.32173264026641846, + "y": 0.5695509910583496 + }, + { + "x": 0.31426766514778137, + "y": 0.535977303981781 + }, + { + "x": 0.32173264026641846, + "y": 0.5024035573005676 + }, + { + "x": 0.3089355230331421, + "y": 0.4656323790550232 + }, + { + "x": 0.2870737612247467, + "y": 0.4304598867893219 + }, + { + "x": 0.2609463036060333, + "y": 0.4022153317928314 + }, + { + "x": 0.21935562789440155, + "y": 0.43472322821617126 + }, + { + "x": 0.19162851572036743, + "y": 0.48002108931541443 + }, + { + "x": 0.1814974546432495, + "y": 0.5301152467727661 + }, + { + "x": 0.19002887606620789, + "y": 0.5799428820610046 + }, + { + "x": 0.217755988240242, + "y": 0.6241748929023743 + }, + { + "x": 0.25881344079971313, + "y": 0.6548175811767578 + } + ], + "olho_esquerdo": [ + { + "x": 0.6733870506286621, + "y": 0.8035011887550354 + }, + { + "x": 0.7048466801643372, + "y": 0.7598021030426025 + }, + { + "x": 0.7000477313995361, + "y": 0.6886577606201172 + }, + { + "x": 0.666188657283783, + "y": 0.6454915404319763 + }, + { + "x": 0.6581904888153076, + "y": 0.6942533850669861 + }, + { + "x": 0.6541913747787476, + "y": 0.7598021030426025 + } + ], + "nariz": [ + { + "x": 0.6251312494277954, + "y": 0.546635627746582 + }, + { + "x": 0.5067577958106995, + "y": 0.6252407431602478 + }, + { + "x": 0.4187775254249573, + "y": 0.6231091022491455 + }, + { + "x": 0.4177111089229584, + "y": 0.5815415978431702 + }, + { + "x": 0.40864649415016174, + "y": 0.5407735705375671 + }, + { + "x": 0.418244332075119, + "y": 0.49814024567604065 + }, + { + "x": 0.41984397172927856, + "y": 0.4544411301612854 + }, + { + "x": 0.5086240172386169, + "y": 0.45710569620132446 + } + ], + "rosto": [ + { + "x": 0.6725872755050659, + "y": 0.1426851898431778 + }, + { + "x": 0.5616788268089294, + "y": 0.1389547735452652 + }, + { + "x": 0.4497039318084717, + "y": 0.14588268101215363 + }, + { + "x": 0.33826228976249695, + "y": 0.16027142107486725 + }, + { + "x": 0.22948668897151947, + "y": 0.18851597607135773 + }, + { + "x": 0.1308421641588211, + "y": 0.24180757999420166 + }, + { + "x": 0.049260467290878296, + "y": 0.31748166680336 + }, + { + "x": -0.011525891721248627, + "y": 0.4102090895175934 + }, + { + "x": -0.03392086550593376, + "y": 0.5194569230079651 + }, + { + "x": -0.011525891721248627, + "y": 0.6265730261802673 + }, + { + "x": 0.0481940396130085, + "y": 0.7179681658744812 + }, + { + "x": 0.12764286994934082, + "y": 0.7949745655059814 + }, + { + "x": 0.2230881303548813, + "y": 0.8514636754989624 + }, + { + "x": 0.3286644220352173, + "y": 0.8869025707244873 + }, + { + "x": 0.43744000792503357, + "y": 0.9094182848930359 + }, + { + "x": 0.5475486516952515, + "y": 0.925139307975769 + }, + { + "x": 0.6573906540870667, + "y": 0.9290029406547546 + } + ] + }, + "bounding_box": { + "x": 0.5950537919998169, + "largura": 0.17237037420272827, + "y": 0.3779218792915344, + "altura": 0.3064362108707428 + } + } + }, + { + "confianca": 0.8660253882408142, + "tipo": "qualidade_do_rosto", + "modelo": "VNDetectFaceCaptureQualityRequest", + "valor": { + "score": 0.71435546875, + "bounding_box": { + "x": 0.5953528881072998, + "largura": 0.1717735081911087, + "y": 0.3760833740234375, + "altura": 0.3053751289844513 + } + } + }, + { + "confianca": 0.7368641495704651, + "tipo": "pessoa", + "modelo": "VNDetectHumanRectanglesRequest", + "valor": { + "ocupacao_do_quadro": 0.679162763116383, + "bounding_box": { + "x": 0.0014391447699285645, + "largura": 0.8400493658919768, + "y": 0.13340641521135188, + "altura": 0.8084795854767869 + } + } + }, + { + "confianca": 1, + "tipo": "pose", + "modelo": "VNDetectHumanBodyPoseRequest", + "valor": { + "pontos": { + "VNHumanBodyPoseObservationJointName(_rawValue: left_upLeg_joint)": { + "x": 0, + "confianca": 0, + "y": 1 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_forearm_joint)": { + "x": 0.38204771280288696, + "confianca": 0.202880859375, + "y": 0.24161481857299805 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_leg_joint)": { + "x": 0, + "y": 1, + "confianca": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_ear_joint)": { + "x": 0.6860132217407227, + "confianca": 0.55859375, + "y": 0.680474042892456 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: neck_1_joint)": { + "x": 0.5250723958015442, + "confianca": 0.325439453125, + "y": 0.5542457699775696 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_upLeg_joint)": { + "x": 0, + "confianca": 0, + "y": 1 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_foot_joint)": { + "x": 0, + "y": 1, + "confianca": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_hand_joint)": { + "x": 0.2714851498603821, + "y": 0.1844160556793213, + "confianca": 0.30712890625 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_hand_joint)": { + "x": 0.24844130873680115, + "y": 0.8647193312644958, + "confianca": 0.3740234375 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_eye_joint)": { + "x": 0.7121183276176453, + "confianca": 0.810546875, + "y": 0.49569040536880493 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_eye_joint)": { + "x": 0.708642840385437, + "confianca": 0.873046875, + "y": 0.6166132688522339 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_shoulder_1_joint)": { + "x": 0.5075650215148926, + "confianca": 0.431396484375, + "y": 0.7667457461357117 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_forearm_joint)": { + "x": 0.2916463017463684, + "confianca": 0.49755859375, + "y": 0.8696485757827759 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_leg_joint)": { + "x": 0, + "y": 1, + "confianca": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: root)": { + "x": 0, + "confianca": 0, + "y": 1 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_ear_joint)": { + "x": 0.7008748054504395, + "confianca": 0.4228515625, + "y": 0.41442739963531494 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_foot_joint)": { + "x": 0, + "y": 1, + "confianca": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: head_joint)": { + "x": 0.6767414808273315, + "confianca": 0.75537109375, + "y": 0.5578893423080444 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_shoulder_1_joint)": { + "x": 0.5425797700881958, + "y": 0.3417457938194275, + "confianca": 0.219482421875 + } + } + } + }, + { + "confianca": 1, + "tipo": "mao", + "modelo": "VNDetectHumanHandPoseRequest", + "valor": { + "pontos": { + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKITIP)": { + "x": 0.2544381618499756, + "confianca": 0.79150390625, + "y": 0.903170645236969 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRTIP)": { + "x": 0.2664889991283417, + "y": 0.7662275433540344, + "confianca": 0.85498046875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRPIP)": { + "x": 0.23220668733119965, + "confianca": 0.7138671875, + "y": 0.7943193912506104 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRMCP)": { + "x": 0.2235778123140335, + "confianca": 0.6953125, + "y": 0.810261070728302 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMDIP)": { + "x": 0.23902224004268646, + "confianca": 0.7490234375, + "y": 0.834043562412262 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPDIP)": { + "x": 0.2531183660030365, + "confianca": 0.80078125, + "y": 0.7322921752929688 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTTIP)": { + "x": 0.27991625666618347, + "confianca": 0.87353515625, + "y": 0.9838099479675293 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIDIP)": { + "x": 0.2452182173728943, + "y": 0.9052600860595703, + "confianca": 0.76318359375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPTIP)": { + "x": 0.2709375023841858, + "confianca": 0.91015625, + "y": 0.7168538570404053 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKWRI)": { + "x": 0.26958930492401123, + "confianca": 0.638671875, + "y": 0.8215467929840088 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTIP)": { + "x": 0.27854305505752563, + "confianca": 0.7705078125, + "y": 0.9359706044197083 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTMP)": { + "x": 0.27804264426231384, + "y": 0.9043930172920227, + "confianca": 0.82666015625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMPIP)": { + "x": 0.23132562637329102, + "confianca": 0.5478515625, + "y": 0.8423311710357666 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIMCP)": { + "x": 0.2366340607404709, + "confianca": 0.55859375, + "y": 0.8981686234474182 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTCMC)": { + "x": 0.27818137407302856, + "confianca": 0.6943359375, + "y": 0.8667219281196594 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPMCP)": { + "x": 0.22996489703655243, + "y": 0.7747601270675659, + "confianca": 0.71337890625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMTIP)": { + "x": 0.254414439201355, + "y": 0.8170125484466553, + "confianca": 0.80078125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIPIP)": { + "x": 0.2395411878824234, + "y": 0.905597984790802, + "confianca": 0.69140625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMMCP)": { + "x": 0.22710992395877838, + "confianca": 0.65869140625, + "y": 0.8528755307197571 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPPIP)": { + "x": 0.240726500749588, + "confianca": 0.798828125, + "y": 0.7502679228782654 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRDIP)": { + "x": 0.2471391260623932, + "y": 0.7809140682220459, + "confianca": 0.818359375 + } + } + } + }, + { + "confianca": 1, + "tipo": "mao", + "modelo": "VNDetectHumanHandPoseRequest", + "valor": { + "pontos": { + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKITIP)": { + "x": 0.21438828110694885, + "y": 0.26484161615371704, + "confianca": 0.77294921875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRPIP)": { + "x": 0.1979389786720276, + "confianca": 0.712890625, + "y": 0.3055248260498047 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMMCP)": { + "x": 0.21007704734802246, + "confianca": 0.46435546875, + "y": 0.2589714527130127 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRTIP)": { + "x": 0.20232120156288147, + "confianca": 0.89306640625, + "y": 0.35815948247909546 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMDIP)": { + "x": 0.20496338605880737, + "confianca": 0.8193359375, + "y": 0.2952033281326294 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPDIP)": { + "x": 0.2050779163837433, + "y": 0.3584517240524292, + "confianca": 0.7021484375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTTIP)": { + "x": 0.26830291748046875, + "y": 0.12211275100708008, + "confianca": 0.8896484375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIDIP)": { + "x": 0.21309560537338257, + "y": 0.23938918113708496, + "confianca": 0.7958984375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKWRI)": { + "x": 0.2519419193267822, + "y": 0.24678057432174683, + "confianca": 0.62451171875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPTIP)": { + "x": 0.2080545872449875, + "confianca": 0.88134765625, + "y": 0.3853108286857605 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTIP)": { + "x": 0.2669139504432678, + "confianca": 0.85498046875, + "y": 0.16710203886032104 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTMP)": { + "x": 0.2659354507923126, + "confianca": 0.77490234375, + "y": 0.19272315502166748 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMPIP)": { + "x": 0.2035004049539566, + "confianca": 0.7822265625, + "y": 0.27159035205841064 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIMCP)": { + "x": 0.22323836386203766, + "confianca": 0.6201171875, + "y": 0.2044295072555542 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTCMC)": { + "x": 0.26076191663742065, + "confianca": 0.634765625, + "y": 0.2219620943069458 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPMCP)": { + "x": 0.21050378680229187, + "confianca": 0.56640625, + "y": 0.3186488151550293 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMTIP)": { + "x": 0.20794545114040375, + "y": 0.32207030057907104, + "confianca": 0.77978515625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIPIP)": { + "x": 0.21451382339000702, + "confianca": 0.61962890625, + "y": 0.22080504894256592 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPPIP)": { + "x": 0.2035592645406723, + "confianca": 0.75634765625, + "y": 0.3345349431037903 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRMCP)": { + "x": 0.20937156677246094, + "confianca": 0.6884765625, + "y": 0.29552674293518066 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRDIP)": { + "x": 0.20049098134040833, + "y": 0.33343297243118286, + "confianca": 0.7626953125 + } + } + } + }, + { + "confianca": 0.8627932071685791, + "tipo": "categoria", + "modelo": "VNClassifyImageRequest", + "valor": { + "identificador": "people" + } + }, + { + "confianca": 0.86279296875, + "tipo": "categoria", + "modelo": "VNClassifyImageRequest", + "valor": { + "identificador": "adult" + } + }, + { + "tipo": "estetica", + "modelo": "VNCalculateImageAestheticsScoresRequest", + "valor": { + "score_global": 0.677734375 + } + }, + { + "confianca": 1, + "tipo": "horizonte", + "modelo": "VNDetectHorizonRequest", + "valor": { + "angulo_radianos": 0.01745329238474369 + } + }, + { + "confianca": 1, + "tipo": "contornos", + "modelo": "VNDetectContoursRequest", + "valor": { + "quantidade_principal": 5 + } + }, + { + "tipo": "segmentacao_de_pessoas", + "modelo": "VNGeneratePersonSegmentationRequest", + "valor": { + "ocupacao_do_quadro": 0.4815470377604167 + } + } + ], + "avisos": [] + }, + { + "timestamp_s": 7, + "arquivo": "frame-7s.png", + "tempo_processamento_ms": 1298, + "evidencias": [ + { + "modelo": "CoreImageHistogram", + "valor": { + "clipping_preto": 0.07572687596450617, + "media_brilho": 0.42513779814587876, + "clipping_branco": 7.679880401234568e-05, + "exposicao": "equilibrado", + "contraste": 0.2407720063396797 + }, + "tipo": "brilho" + }, + { + "modelo": "VNDetectFaceLandmarksRequest", + "valor": { + "roll": -1.5707963705062866, + "bounding_box": { + "altura": 0.297035813331604, + "y": 0.3662377893924713, + "largura": 0.16708263754844666, + "x": 0.6012740731239319 + }, + "landmarks": { + "labios": [ + { + "x": 0.34411564469337463, + "y": 0.6863104104995728 + }, + { + "x": 0.3634277284145355, + "y": 0.64430171251297 + }, + { + "x": 0.37024375796318054, + "y": 0.5997384190559387 + }, + { + "x": 0.3611557185649872, + "y": 0.5605681538581848 + }, + { + "x": 0.36569973826408386, + "y": 0.5211139917373657 + }, + { + "x": 0.353203684091568, + "y": 0.4739961326122284 + }, + { + "x": 0.3299156129360199, + "y": 0.42914900183677673 + }, + { + "x": 0.29413145780563354, + "y": 0.39395251870155334 + }, + { + "x": 0.22483518719673157, + "y": 0.42631056904792786 + }, + { + "x": 0.17541898787021637, + "y": 0.4859175384044647 + }, + { + "x": 0.16121894121170044, + "y": 0.5608519911766052 + }, + { + "x": 0.1822350174188614, + "y": 0.6340833902359009 + }, + { + "x": 0.23789924383163452, + "y": 0.689432680606842 + }, + { + "x": 0.3117395341396332, + "y": 0.716397762298584 + } + ], + "rosto": [ + { + "x": 0.6667409539222717, + "y": 0.15155090391635895 + }, + { + "x": 0.5520044565200806, + "y": 0.15098321437835693 + }, + { + "x": 0.4367000162601471, + "y": 0.1600661724805832 + }, + { + "x": 0.3219635784626007, + "y": 0.1782321035861969 + }, + { + "x": 0.21120312809944153, + "y": 0.2134285867214203 + }, + { + "x": 0.11123473942279816, + "y": 0.2719001770019531 + }, + { + "x": 0.02603440172970295, + "y": 0.3496730625629425 + }, + { + "x": -0.038717854768037796, + "y": 0.44390881061553955 + }, + { + "x": -0.06086994335055351, + "y": 0.5563104748725891 + }, + { + "x": -0.029629819095134735, + "y": 0.6670091152191162 + }, + { + "x": 0.04080246016383171, + "y": 0.7564195394515991 + }, + { + "x": 0.12770679593086243, + "y": 0.8310701847076416 + }, + { + "x": 0.22824320197105408, + "y": 0.8885483145713806 + }, + { + "x": 0.3384356200695038, + "y": 0.9236028790473938 + }, + { + "x": 0.4526040852069855, + "y": 0.9416269063949585 + }, + { + "x": 0.5681925415992737, + "y": 0.9497163891792297 + }, + { + "x": 0.6826449632644653, + "y": 0.9478713870048523 + } + ], + "olho_direito": [ + { + "x": 0.673272967338562, + "y": 0.2963106334209442 + }, + { + "x": 0.6897450089454651, + "y": 0.339454710483551 + }, + { + "x": 0.6928690075874329, + "y": 0.4024677872657776 + }, + { + "x": 0.6832129955291748, + "y": 0.4490179717540741 + }, + { + "x": 0.6744089722633362, + "y": 0.40417084097862244 + }, + { + "x": 0.6670249104499817, + "y": 0.3422931432723999 + } + ], + "nariz": [ + { + "x": 0.6522568464279175, + "y": 0.5529043674468994 + }, + { + "x": 0.5534244775772095, + "y": 0.6479916572570801 + }, + { + "x": 0.469644159078598, + "y": 0.6550877094268799 + }, + { + "x": 0.4599881172180176, + "y": 0.6059829592704773 + }, + { + "x": 0.44238004088401794, + "y": 0.5580135583877563 + }, + { + "x": 0.45430809259414673, + "y": 0.5086249113082886 + }, + { + "x": 0.4594201147556305, + "y": 0.4575332701206207 + }, + { + "x": 0.5449044704437256, + "y": 0.4598039984703064 + } + ], + "olho_esquerdo": [ + { + "x": 0.691165030002594, + "y": 0.8089304566383362 + }, + { + "x": 0.7042290568351746, + "y": 0.7643671631813049 + }, + { + "x": 0.7033770680427551, + "y": 0.70248943567276 + }, + { + "x": 0.6900290250778198, + "y": 0.6579261422157288 + }, + { + "x": 0.684349000453949, + "y": 0.7030571699142456 + }, + { + "x": 0.6817929744720459, + "y": 0.7640833258628845 + } + ], + "sobrancelha_esquerda": [ + { + "x": 0.7953934669494629, + "y": 0.8983408808708191 + }, + { + "x": 0.85432368516922, + "y": 0.7703278660774231 + }, + { + "x": 0.8273435831069946, + "y": 0.6320964694023132 + }, + { + "x": 0.7783533930778503, + "y": 0.6380571722984314 + }, + { + "x": 0.8022094368934631, + "y": 0.766637921333313 + }, + { + "x": 0.7686973214149475, + "y": 0.8925220966339111 + } + ], + "sobrancelha_direita": [ + { + "x": 0.7777853608131409, + "y": 0.20888711512088776 + }, + { + "x": 0.8404076099395752, + "y": 0.3354809284210205 + }, + { + "x": 0.8239355683326721, + "y": 0.47626686096191406 + }, + { + "x": 0.7723893523216248, + "y": 0.47229307889938354 + }, + { + "x": 0.7888613939285278, + "y": 0.34115779399871826 + }, + { + "x": 0.7505212426185608, + "y": 0.21456396579742432 + } + ] + }, + "pitch": 0, + "yaw": 0 + }, + "tipo": "rosto", + "confianca": 1 + }, + { + "modelo": "VNDetectFaceCaptureQualityRequest", + "valor": { + "bounding_box": { + "altura": 0.29510027170181274, + "y": 0.3682331442832947, + "largura": 0.16599389910697937, + "x": 0.6006317138671875 + }, + "score": 0.62060546875 + }, + "tipo": "qualidade_do_rosto", + "confianca": 0.8449066281318665 + }, + { + "modelo": "VNDetectHumanRectanglesRequest", + "valor": { + "bounding_box": { + "altura": 0.8961988621113592, + "y": 0.06615497312612004, + "largura": 0.8305921066969034, + "x": 0.0010279605998412572 + }, + "ocupacao_do_quadro": 0.7443757009004416 + }, + "tipo": "pessoa", + "confianca": 0.755513608455658 + }, + { + "modelo": "VNDetectHumanBodyPoseRequest", + "valor": { + "pontos": { + "VNHumanBodyPoseObservationJointName(_rawValue: left_forearm_joint)": { + "x": 0.4725673198699951, + "y": 0.27591949701309204, + "confianca": 0.141845703125 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_leg_joint)": { + "x": 0, + "y": 1, + "confianca": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_upLeg_joint)": { + "confianca": 0, + "y": 1, + "x": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_upLeg_joint)": { + "confianca": 0, + "y": 1, + "x": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: neck_1_joint)": { + "x": 0.51775261759758, + "y": 0.554292768239975, + "confianca": 0.24169921875 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_hand_joint)": { + "x": 0.2770955264568329, + "y": 0.18513774871826172, + "confianca": 0.20703125 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: root)": { + "x": 0, + "y": 1, + "confianca": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_leg_joint)": { + "confianca": 0, + "y": 1, + "x": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_eye_joint)": { + "x": 0.7161110639572144, + "y": 0.5990042686462402, + "confianca": 0.8486328125 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_hand_joint)": { + "confianca": 0.74267578125, + "y": 0.8895214200019836, + "x": 0.26910722255706787 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_foot_joint)": { + "x": 0, + "y": 1, + "confianca": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_ear_joint)": { + "x": 0.6960647702217102, + "y": 0.40067803859710693, + "confianca": 0.319580078125 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_eye_joint)": { + "x": 0.7198659777641296, + "y": 0.4879688024520874, + "confianca": 0.78271484375 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_foot_joint)": { + "confianca": 0, + "y": 1, + "x": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_ear_joint)": { + "x": 0.687957763671875, + "y": 0.6736196279525757, + "confianca": 0.2529296875 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: head_joint)": { + "confianca": 0.80908203125, + "y": 0.5418474674224854, + "x": 0.6888687610626221 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_shoulder_1_joint)": { + "confianca": 0.15283203125, + "y": 0.33787018060684204, + "x": 0.5386442542076111 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_forearm_joint)": { + "x": 0.21714869141578674, + "y": 0.9187380075454712, + "confianca": 0.5048828125 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_shoulder_1_joint)": { + "x": 0.49686098098754883, + "y": 0.7707153558731079, + "confianca": 0.33056640625 + } + } + }, + "tipo": "pose", + "confianca": 1 + }, + { + "modelo": "VNDetectHumanHandPoseRequest", + "valor": { + "pontos": { + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKWRI)": { + "x": 0.2940077781677246, + "y": 0.20841223001480103, + "confianca": 0.7421875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMTIP)": { + "x": 0.406361848115921, + "y": 0.4524068832397461, + "confianca": 0.908203125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPPIP)": { + "x": 0.3304135203361511, + "y": 0.39361441135406494, + "confianca": 0.8955078125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTTIP)": { + "confianca": 0.8935546875, + "y": 0.20577001571655273, + "x": 0.42943641543388367 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMPIP)": { + "confianca": 0.89794921875, + "y": 0.37634921073913574, + "x": 0.37339818477630615 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPDIP)": { + "x": 0.3428143560886383, + "y": 0.42325788736343384, + "confianca": 0.88525390625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIDIP)": { + "confianca": 0.9140625, + "y": 0.3669589161872864, + "x": 0.41032674908638 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIPIP)": { + "x": 0.3913567364215851, + "y": 0.3304813504219055, + "confianca": 0.90185546875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRDIP)": { + "x": 0.3662595748901367, + "y": 0.4326704144477844, + "confianca": 0.90087890625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKITIP)": { + "x": 0.42587757110595703, + "y": 0.4020698666572571, + "confianca": 0.921875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIMCP)": { + "confianca": 0.8896484375, + "y": 0.26984065771102905, + "x": 0.36207306385040283 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPMCP)": { + "confianca": 0.88671875, + "y": 0.33791476488113403, + "x": 0.3103346526622772 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTIP)": { + "x": 0.4040282070636749, + "y": 0.2386438250541687, + "confianca": 0.86083984375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRTIP)": { + "x": 0.3809657692909241, + "y": 0.45982253551483154, + "confianca": 0.89501953125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRMCP)": { + "confianca": 0.8720703125, + "y": 0.31880712509155273, + "x": 0.32427477836608887 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTCMC)": { + "x": 0.33486419916152954, + "y": 0.19674152135849, + "confianca": 0.77294921875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTMP)": { + "confianca": 0.8193359375, + "y": 0.21639865636825562, + "x": 0.37239566445350647 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMMCP)": { + "x": 0.34099915623664856, + "y": 0.298778235912323, + "confianca": 0.88818359375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMDIP)": { + "x": 0.39210742712020874, + "y": 0.4204450249671936, + "confianca": 0.92626953125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPTIP)": { + "x": 0.35543209314346313, + "y": 0.4437946677207947, + "confianca": 0.9140625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRPIP)": { + "confianca": 0.86279296875, + "y": 0.3916743993759155, + "x": 0.3502748906612396 + } + } + }, + "tipo": "mao", + "confianca": 1 + }, + { + "modelo": "VNDetectHumanHandPoseRequest", + "valor": { + "pontos": { + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKWRI)": { + "confianca": 0.70654296875, + "y": 0.8593581914901733, + "x": 0.2807686924934387 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIDIP)": { + "x": 0.4076976478099823, + "y": 0.708593487739563, + "confianca": 0.9208984375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPDIP)": { + "x": 0.3409034311771393, + "y": 0.6422606110572815, + "confianca": 0.86767578125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPPIP)": { + "x": 0.3263227045536041, + "y": 0.6690053343772888, + "confianca": 0.8857421875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMPIP)": { + "x": 0.36846596002578735, + "y": 0.6920545101165771, + "confianca": 0.880859375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTTIP)": { + "x": 0.4165481925010681, + "y": 0.8545593619346619, + "confianca": 0.8583984375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMTIP)": { + "x": 0.40372541546821594, + "y": 0.6150493621826172, + "confianca": 0.8955078125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIMCP)": { + "x": 0.3562547564506531, + "y": 0.7954103350639343, + "confianca": 0.87109375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKITIP)": { + "x": 0.42430728673934937, + "y": 0.6766344308853149, + "confianca": 0.91748046875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRDIP)": { + "x": 0.36444327235221863, + "y": 0.6335468292236328, + "confianca": 0.89990234375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPMCP)": { + "x": 0.3025728166103363, + "y": 0.7260459661483765, + "confianca": 0.85791015625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIPIP)": { + "x": 0.3886987566947937, + "y": 0.7409021854400635, + "confianca": 0.91259765625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTIP)": { + "x": 0.3966902494430542, + "y": 0.8174386620521545, + "confianca": 0.8564453125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRTIP)": { + "confianca": 0.896484375, + "y": 0.605806827545166, + "x": 0.38232356309890747 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTCMC)": { + "x": 0.32442671060562134, + "y": 0.8641263246536255, + "confianca": 0.72802734375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRMCP)": { + "x": 0.31693580746650696, + "y": 0.7412863373756409, + "confianca": 0.8671875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMDIP)": { + "x": 0.38776469230651855, + "y": 0.6475809216499329, + "confianca": 0.888671875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMMCP)": { + "x": 0.33608150482177734, + "y": 0.7644460201263428, + "confianca": 0.8798828125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTMP)": { + "x": 0.36157214641571045, + "y": 0.8384091258049011, + "confianca": 0.7880859375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPTIP)": { + "confianca": 0.9248046875, + "y": 0.621097207069397, + "x": 0.3557685911655426 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRPIP)": { + "x": 0.344768762588501, + "y": 0.6712905168533325, + "confianca": 0.89111328125 + } + } + }, + "tipo": "mao", + "confianca": 1 + }, + { + "modelo": "VNClassifyImageRequest", + "valor": { + "identificador": "people" + }, + "tipo": "categoria", + "confianca": 0.8945313096046448 + }, + { + "modelo": "VNClassifyImageRequest", + "valor": { + "identificador": "adult" + }, + "tipo": "categoria", + "confianca": 0.89453125 + }, + { + "modelo": "VNCalculateImageAestheticsScoresRequest", + "valor": { + "score_global": 0.68310546875 + }, + "tipo": "estetica" + }, + { + "modelo": "VNDetectHorizonRequest", + "valor": { + "angulo_radianos": 0.01745329238474369 + }, + "tipo": "horizonte", + "confianca": 1 + }, + { + "modelo": "VNDetectContoursRequest", + "valor": { + "quantidade_principal": 5 + }, + "tipo": "contornos", + "confianca": 1 + }, + { + "modelo": "VNGeneratePersonSegmentationRequest", + "valor": { + "ocupacao_do_quadro": 0.4859517415364583 + }, + "tipo": "segmentacao_de_pessoas" + } + ], + "avisos": [] + }, + { + "timestamp_s": 8, + "arquivo": "frame-8s.png", + "tempo_processamento_ms": 1287, + "evidencias": [ + { + "modelo": "CoreImageHistogram", + "tipo": "brilho", + "valor": { + "contraste": 0.25373170375620735, + "clipping_branco": 7.776331018518519e-05, + "clipping_preto": 0.0937109375, + "media_brilho": 0.4278842479121278, + "exposicao": "equilibrado" + } + }, + { + "modelo": "VNDetectFaceLandmarksRequest", + "confianca": 1, + "tipo": "rosto", + "valor": { + "landmarks": { + "sobrancelha_esquerda": [ + { + "y": 0.8939910531044006, + "x": 0.7623413801193237 + }, + { + "y": 0.7609202265739441, + "x": 0.8205752372741699 + }, + { + "y": 0.6174660921096802, + "x": 0.7895445227622986 + }, + { + "y": 0.6242972016334534, + "x": 0.7407428622245789 + }, + { + "y": 0.7579145431518555, + "x": 0.7689028978347778 + }, + { + "y": 0.8885261416435242, + "x": 0.7355482578277588 + } + ], + "sobrancelha_direita": [ + { + "y": 0.19530095160007477, + "x": 0.7538660168647766 + }, + { + "y": 0.32427307963371277, + "x": 0.8108696341514587 + }, + { + "y": 0.46308204531669617, + "x": 0.7879041433334351 + }, + { + "y": 0.45816361904144287, + "x": 0.7374621033668518 + }, + { + "y": 0.3280985355377197, + "x": 0.7604275345802307 + }, + { + "y": 0.20021937787532806, + "x": 0.7270729541778564 + } + ], + "labios": [ + { + "y": 0.6770337224006653, + "x": 0.31506121158599854 + }, + { + "y": 0.6297621130943298, + "x": 0.33310550451278687 + }, + { + "y": 0.5816708207130432, + "x": 0.3402138650417328 + }, + { + "y": 0.5401374697685242, + "x": 0.3320119082927704 + }, + { + "y": 0.49860402941703796, + "x": 0.3374798893928528 + }, + { + "y": 0.44887325167655945, + "x": 0.3270907402038574 + }, + { + "y": 0.401328444480896, + "x": 0.3074060380458832 + }, + { + "y": 0.3608880341053009, + "x": 0.2789725959300995 + }, + { + "y": 0.4062469005584717, + "x": 0.2259332537651062 + }, + { + "y": 0.46963995695114136, + "x": 0.19257861375808716 + }, + { + "y": 0.5390444397926331, + "x": 0.18382985889911652 + }, + { + "y": 0.6084489226341248, + "x": 0.19367220997810364 + }, + { + "y": 0.6718420386314392, + "x": 0.22976082563400269 + }, + { + "y": 0.7147416472434998, + "x": 0.285534143447876 + } + ], + "olho_direito": [ + { + "y": 0.27618178725242615, + "x": 0.6551690697669983 + }, + { + "y": 0.3204476237297058, + "x": 0.6852429509162903 + }, + { + "y": 0.3914915919303894, + "x": 0.6797749400138855 + }, + { + "y": 0.43739694356918335, + "x": 0.6507946848869324 + }, + { + "y": 0.38875913619995117, + "x": 0.6447799205780029 + }, + { + "y": 0.3226335942745209, + "x": 0.6412257552146912 + } + ], + "nariz": [ + { + "y": 0.5374049544334412, + "x": 0.617713451385498 + }, + { + "y": 0.633314311504364, + "x": 0.5127283930778503 + }, + { + "y": 0.6382327675819397, + "x": 0.4277014434337616 + }, + { + "y": 0.5879554748535156, + "x": 0.4211398661136627 + }, + { + "y": 0.5384979844093323, + "x": 0.4058295488357544 + }, + { + "y": 0.4898601770401001, + "x": 0.4184058904647827 + }, + { + "y": 0.43903639912605286, + "x": 0.42278027534484863 + }, + { + "y": 0.4428618550300598, + "x": 0.5091742277145386 + } + ], + "rosto": [ + { + "y": 0.14393070340156555, + "x": 0.64231938123703 + }, + { + "y": 0.14065174758434296, + "x": 0.5313194990158081 + }, + { + "y": 0.14775614440441132, + "x": 0.4194994866847992 + }, + { + "y": 0.16196493804454803, + "x": 0.3079528510570526 + }, + { + "y": 0.19256849586963654, + "x": 0.19968698918819427 + }, + { + "y": 0.24995015561580658, + "x": 0.10399746894836426 + }, + { + "y": 0.3286450207233429, + "x": 0.025258662179112434 + }, + { + "y": 0.4237346351146698, + "x": -0.031608253717422485 + }, + { + "y": 0.5335795283317566, + "x": -0.05074615404009819 + }, + { + "y": 0.6436976790428162, + "x": -0.027233874425292015 + }, + { + "y": 0.7382408380508423, + "x": 0.032367024570703506 + }, + { + "y": 0.8193948864936829, + "x": 0.1100122332572937 + }, + { + "y": 0.8803287744522095, + "x": 0.20570175349712372 + }, + { + "y": 0.914621114730835, + "x": 0.3128740191459656 + }, + { + "y": 0.9327920079231262, + "x": 0.42551425099372864 + }, + { + "y": 0.9423555731773376, + "x": 0.5376076698303223 + }, + { + "y": 0.9420823454856873, + "x": 0.6497011184692383 + } + ], + "olho_esquerdo": [ + { + "y": 0.8054593205451965, + "x": 0.6661050319671631 + }, + { + "y": 0.7584609985351562, + "x": 0.6937183141708374 + }, + { + "y": 0.6882367730140686, + "x": 0.6860631108283997 + }, + { + "y": 0.6434244513511658, + "x": 0.6548956632614136 + }, + { + "y": 0.6928819417953491, + "x": 0.6510680913925171 + }, + { + "y": 0.7590075135231018, + "x": 0.6497011184692383 + } + ] + }, + "yaw": 0, + "bounding_box": { + "altura": 0.301605224609375, + "y": 0.3774735927581787, + "x": 0.602624237537384, + "largura": 0.16965293884277344 + }, + "roll": -1.5707963705062866, + "pitch": 0 + } + }, + { + "modelo": "VNDetectFaceCaptureQualityRequest", + "confianca": 0.8523863554000854, + "tipo": "qualidade_do_rosto", + "valor": { + "score": 0.82421875, + "bounding_box": { + "altura": 0.30016687512397766, + "y": 0.38131749629974365, + "x": 0.6003326177597046, + "largura": 0.16884388029575348 + } + } + }, + { + "modelo": "VNDetectHumanRectanglesRequest", + "confianca": 0.711237907409668, + "tipo": "pessoa", + "valor": { + "ocupacao_do_quadro": 0.7129300795773715, + "bounding_box": { + "altura": 0.8545322284625301, + "y": 0.1184210234043879, + "x": 0.001644736913179881, + "largura": 0.8342927929822748 + } + } + }, + { + "modelo": "VNDetectHumanBodyPoseRequest", + "confianca": 1, + "tipo": "pose", + "valor": { + "pontos": { + "VNHumanBodyPoseObservationJointName(_rawValue: right_shoulder_1_joint)": { + "y": 0.7782377600669861, + "x": 0.505745530128479, + "confianca": 0.4208984375 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_forearm_joint)": { + "y": 0.871891975402832, + "x": 0.30266648530960083, + "confianca": 0.52587890625 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_foot_joint)": { + "confianca": 0, + "y": 1, + "x": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_shoulder_1_joint)": { + "y": 0.35377806425094604, + "x": 0.5469328165054321, + "confianca": 0.11669921875 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: neck_1_joint)": { + "y": 0.5660079121589661, + "x": 0.5263391733169556, + "confianca": 0.268798828125 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_hand_joint)": { + "y": 0.8580930829048157, + "x": 0.2336258888244629, + "confianca": 0.352783203125 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_leg_joint)": { + "y": 1, + "x": 0, + "confianca": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_ear_joint)": { + "y": 0.6908426284790039, + "x": 0.6916943788528442, + "confianca": 0.290771484375 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_upLeg_joint)": { + "confianca": 0, + "y": 1, + "x": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: root)": { + "confianca": 0, + "y": 1, + "x": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_ear_joint)": { + "confianca": 0.348388671875, + "y": 0.41436731815338135, + "x": 0.6939960718154907 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_forearm_joint)": { + "y": 0.16359829902648926, + "x": 0.2506371736526489, + "confianca": 0.162109375 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_leg_joint)": { + "confianca": 0, + "y": 1, + "x": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_upLeg_joint)": { + "y": 1, + "x": 0, + "confianca": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_foot_joint)": { + "y": 1, + "x": 0, + "confianca": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_hand_joint)": { + "y": 0.27267986536026, + "x": 0.23570668697357178, + "confianca": 0.281005859375 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: head_joint)": { + "confianca": 0.7783203125, + "y": 0.5516065359115601, + "x": 0.6841890215873718 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_eye_joint)": { + "confianca": 0.84521484375, + "y": 0.6135953664779663, + "x": 0.714514970779419 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_eye_joint)": { + "y": 0.49438977241516113, + "x": 0.7152672410011292, + "confianca": 0.8056640625 + } + } + } + }, + { + "modelo": "VNDetectHumanHandPoseRequest", + "confianca": 1, + "tipo": "mao", + "valor": { + "pontos": { + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRMCP)": { + "y": 0.8059269189834595, + "x": 0.23700188100337982, + "confianca": 0.79052734375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPMCP)": { + "confianca": 0.73193359375, + "y": 0.7782446146011353, + "x": 0.23771578073501587 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTIP)": { + "y": 0.9228114485740662, + "x": 0.30690309405326843, + "confianca": 0.85205078125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPPIP)": { + "y": 0.7448713779449463, + "x": 0.25845783948898315, + "confianca": 0.8681640625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMMCP)": { + "y": 0.8448048830032349, + "x": 0.24043837189674377, + "confianca": 0.8408203125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKWRI)": { + "y": 0.8738602995872498, + "x": 0.21040526032447815, + "confianca": 0.65966796875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKITIP)": { + "y": 0.9078736901283264, + "x": 0.2869121730327606, + "confianca": 0.73974609375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTMP)": { + "y": 0.9176331758499146, + "x": 0.2755051851272583, + "confianca": 0.6328125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMTIP)": { + "y": 0.7960156798362732, + "x": 0.290894091129303, + "confianca": 0.88818359375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRTIP)": { + "y": 0.7494754791259766, + "x": 0.29433923959732056, + "confianca": 0.8740234375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIMCP)": { + "confianca": 0.59765625, + "y": 0.8837305903434753, + "x": 0.24752496182918549 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTCMC)": { + "confianca": 0.6220703125, + "y": 0.9183109402656555, + "x": 0.24362552165985107 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIPIP)": { + "y": 0.8934758305549622, + "x": 0.2607142925262451, + "confianca": 0.740234375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTTIP)": { + "confianca": 0.86181640625, + "y": 0.9743889570236206, + "x": 0.32282108068466187 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMPIP)": { + "y": 0.8324592113494873, + "x": 0.25763508677482605, + "confianca": 0.7548828125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRPIP)": { + "confianca": 0.8125, + "y": 0.7827057242393494, + "x": 0.25626012682914734 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMDIP)": { + "confianca": 0.82080078125, + "y": 0.8150025606155396, + "x": 0.2712216079235077 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIDIP)": { + "confianca": 0.79052734375, + "y": 0.8994179964065552, + "x": 0.2721938490867615 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPTIP)": { + "y": 0.7026556730270386, + "x": 0.2906714081764221, + "confianca": 0.869140625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRDIP)": { + "y": 0.7666480541229248, + "x": 0.27363383769989014, + "confianca": 0.81201171875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPDIP)": { + "y": 0.7243772745132446, + "x": 0.27350956201553345, + "confianca": 0.88818359375 + } + } + } + }, + { + "modelo": "VNDetectHumanHandPoseRequest", + "confianca": 1, + "tipo": "mao", + "valor": { + "pontos": { + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRMCP)": { + "confianca": 0.7744140625, + "y": 0.3075478672981262, + "x": 0.2226783037185669 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPMCP)": { + "y": 0.32647639513015747, + "x": 0.2234179824590683, + "confianca": 0.69775390625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTIP)": { + "y": 0.20611387491226196, + "x": 0.2914617657661438, + "confianca": 0.837890625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKWRI)": { + "y": 0.221338152885437, + "x": 0.2172994315624237, + "confianca": 0.603515625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKITIP)": { + "confianca": 0.87890625, + "y": 0.30140364170074463, + "x": 0.25758400559425354 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMMCP)": { + "y": 0.28127336502075195, + "x": 0.22638769447803497, + "confianca": 0.802734375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMTIP)": { + "confianca": 0.89013671875, + "y": 0.38074028491973877, + "x": 0.2487536519765854 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTMP)": { + "confianca": 0.7890625, + "y": 0.21463626623153687, + "x": 0.2738422751426697 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPPIP)": { + "y": 0.36564648151397705, + "x": 0.22728034853935242, + "confianca": 0.73876953125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRTIP)": { + "confianca": 0.8212890625, + "y": 0.40645819902420044, + "x": 0.23936086893081665 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIMCP)": { + "y": 0.24311041831970215, + "x": 0.23780174553394318, + "confianca": 0.79150390625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTCMC)": { + "y": 0.21566110849380493, + "x": 0.2524506151676178, + "confianca": 0.56298828125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIPIP)": { + "y": 0.2607729434967041, + "x": 0.24409911036491394, + "confianca": 0.79248046875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTTIP)": { + "y": 0.16878581047058105, + "x": 0.30635547637939453, + "confianca": 0.91943359375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMPIP)": { + "y": 0.31297457218170166, + "x": 0.23346252739429474, + "confianca": 0.7138671875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRPIP)": { + "confianca": 0.8349609375, + "y": 0.3452851176261902, + "x": 0.22548221051692963 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPTIP)": { + "y": 0.4351522922515869, + "x": 0.23833918571472168, + "confianca": 0.81689453125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIDIP)": { + "y": 0.2779884934425354, + "x": 0.25013190507888794, + "confianca": 0.88916015625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMDIP)": { + "y": 0.34448885917663574, + "x": 0.23920084536075592, + "confianca": 0.8828125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRDIP)": { + "confianca": 0.74560546875, + "y": 0.37873321771621704, + "x": 0.23170176148414612 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPDIP)": { + "y": 0.4008917212486267, + "x": 0.23095978796482086, + "confianca": 0.81005859375 + } + } + } + }, + { + "modelo": "VNClassifyImageRequest", + "confianca": 0.8691407442092896, + "tipo": "categoria", + "valor": { + "identificador": "people" + } + }, + { + "modelo": "VNClassifyImageRequest", + "confianca": 0.869140625, + "tipo": "categoria", + "valor": { + "identificador": "adult" + } + }, + { + "modelo": "VNCalculateImageAestheticsScoresRequest", + "tipo": "estetica", + "valor": { + "score_global": 0.66162109375 + } + }, + { + "modelo": "VNDetectHorizonRequest", + "confianca": 1, + "tipo": "horizonte", + "valor": { + "angulo_radianos": 0.01745329238474369 + } + }, + { + "modelo": "VNDetectContoursRequest", + "confianca": 1, + "tipo": "contornos", + "valor": { + "quantidade_principal": 5 + } + }, + { + "modelo": "VNGeneratePersonSegmentationRequest", + "tipo": "segmentacao_de_pessoas", + "valor": { + "ocupacao_do_quadro": 0.4849344889322917 + } + } + ], + "avisos": [] + }, + { + "timestamp_s": 9, + "arquivo": "frame-9s.png", + "tempo_processamento_ms": 1294, + "evidencias": [ + { + "modelo": "CoreImageHistogram", + "valor": { + "clipping_preto": 0.08857024016203703, + "media_brilho": 0.4293335281257565, + "contraste": 0.2531052775297139, + "exposicao": "equilibrado", + "clipping_branco": 5.051601080246914e-05 + }, + "tipo": "brilho" + }, + { + "confianca": 1, + "modelo": "VNDetectFaceLandmarksRequest", + "valor": { + "yaw": 0, + "roll": -1.5707963705062866, + "pitch": 0, + "bounding_box": { + "x": 0.6084536910057068, + "y": 0.3856828808784485, + "largura": 0.16610129177570343, + "altura": 0.2952911853790283 + }, + "landmarks": { + "nariz": [ + { + "x": 0.6253722310066223, + "y": 0.5394565463066101 + }, + { + "x": 0.5147867202758789, + "y": 0.6299356818199158 + }, + { + "x": 0.42592838406562805, + "y": 0.6304924488067627 + }, + { + "x": 0.42258575558662415, + "y": 0.5801025629043579 + }, + { + "x": 0.4114436209201813, + "y": 0.5305477976799011 + }, + { + "x": 0.4253712594509125, + "y": 0.48266345262527466 + }, + { + "x": 0.4314994215965271, + "y": 0.43199512362480164 + }, + { + "x": 0.5198006629943848, + "y": 0.4392334818840027 + } + ], + "sobrancelha_esquerda": [ + { + "x": 0.7548993229866028, + "y": 0.9020691514015198 + }, + { + "x": 0.8216127157211304, + "y": 0.7727535367012024 + }, + { + "x": 0.7986320853233337, + "y": 0.6277084946632385 + }, + { + "x": 0.7484925985336304, + "y": 0.6318844556808472 + }, + { + "x": 0.7685483694076538, + "y": 0.7666288018226624 + }, + { + "x": 0.7276011109352112, + "y": 0.8955267667770386 + } + ], + "labios": [ + { + "x": 0.3022509217262268, + "y": 0.6513722538948059 + }, + { + "x": 0.32509225606918335, + "y": 0.6107262372970581 + }, + { + "x": 0.338462769985199, + "y": 0.567574679851532 + }, + { + "x": 0.33177751302719116, + "y": 0.5283206105232239 + }, + { + "x": 0.3401341140270233, + "y": 0.4887882173061371 + }, + { + "x": 0.329549103975296, + "y": 0.4442446231842041 + }, + { + "x": 0.3094932734966278, + "y": 0.40081462264060974 + }, + { + "x": 0.2810809016227722, + "y": 0.36573654413223267 + }, + { + "x": 0.23094138503074646, + "y": 0.4047122001647949 + }, + { + "x": 0.1986292600631714, + "y": 0.46039167046546936 + }, + { + "x": 0.18637292087078094, + "y": 0.5221958756446838 + }, + { + "x": 0.19305819272994995, + "y": 0.5840001106262207 + }, + { + "x": 0.22147057950496674, + "y": 0.6419067978858948 + }, + { + "x": 0.26882457733154297, + "y": 0.6828311681747437 + } + ], + "rosto": [ + { + "x": 0.6587985754013062, + "y": 0.13912108540534973 + }, + { + "x": 0.5462632179260254, + "y": 0.13021236658096313 + }, + { + "x": 0.43261364102363586, + "y": 0.13188275694847107 + }, + { + "x": 0.31784987449645996, + "y": 0.14134825766086578 + }, + { + "x": 0.20642873644828796, + "y": 0.16751761734485626 + }, + { + "x": 0.10614970326423645, + "y": 0.22264030575752258 + }, + { + "x": 0.024255167692899704, + "y": 0.30114835500717163 + }, + { + "x": -0.03535514324903488, + "y": 0.39747387170791626 + }, + { + "x": -0.059310685843229294, + "y": 0.5082760453224182 + }, + { + "x": -0.04204041138291359, + "y": 0.6213053464889526 + }, + { + "x": 0.010884631425142288, + "y": 0.7212499976158142 + }, + { + "x": 0.08609390258789062, + "y": 0.8072748184204102 + }, + { + "x": 0.18135897815227509, + "y": 0.872141420841217 + }, + { + "x": 0.28999459743499756, + "y": 0.9106994271278381 + }, + { + "x": 0.4036441445350647, + "y": 0.9328320622444153 + }, + { + "x": 0.5181293487548828, + "y": 0.9453599452972412 + }, + { + "x": 0.6320574879646301, + "y": 0.9485614895820618 + } + ], + "sobrancelha_direita": [ + { + "x": 0.7721695899963379, + "y": 0.19981171190738678 + }, + { + "x": 0.8280194401741028, + "y": 0.3312152922153473 + }, + { + "x": 0.8019747138023376, + "y": 0.4715275764465332 + }, + { + "x": 0.7509995698928833, + "y": 0.46484604477882385 + }, + { + "x": 0.7752336263656616, + "y": 0.33399924635887146 + }, + { + "x": 0.7443143129348755, + "y": 0.2048228681087494 + } + ], + "olho_direito": [ + { + "x": 0.6691049933433533, + "y": 0.2772061824798584 + }, + { + "x": 0.6969603300094604, + "y": 0.32286337018013 + }, + { + "x": 0.690553605556488, + "y": 0.39301949739456177 + }, + { + "x": 0.6613055467605591, + "y": 0.43756309151649475 + }, + { + "x": 0.6554559469223022, + "y": 0.3896787464618683 + }, + { + "x": 0.6532275080680847, + "y": 0.3234201669692993 + } + ], + "olho_esquerdo": [ + { + "x": 0.657684326171875, + "y": 0.8089451789855957 + }, + { + "x": 0.6872109770774841, + "y": 0.764680027961731 + }, + { + "x": 0.684425413608551, + "y": 0.6934102773666382 + }, + { + "x": 0.6562916040420532, + "y": 0.6469179391860962 + }, + { + "x": 0.6482135653495789, + "y": 0.6961942911148071 + }, + { + "x": 0.643199622631073, + "y": 0.7624528408050537 + } + ] + } + }, + "tipo": "rosto" + }, + { + "confianca": 0.8921313881874084, + "modelo": "VNDetectFaceCaptureQualityRequest", + "valor": { + "bounding_box": { + "x": 0.6087896227836609, + "y": 0.3813518285751343, + "largura": 0.1658862978219986, + "altura": 0.29490897059440613 + }, + "score": 0.77001953125 + }, + "tipo": "qualidade_do_rosto" + }, + { + "confianca": 0.7486968040466309, + "modelo": "VNDetectHumanRectanglesRequest", + "valor": { + "ocupacao_do_quadro": 0.6738987771810575, + "bounding_box": { + "x": 0.0018503290564311978, + "y": 0.12682751222399322, + "largura": 0.8342927772662058, + "altura": 0.8077485452879932 + } + }, + "tipo": "pessoa" + }, + { + "confianca": 1, + "modelo": "VNDetectHumanBodyPoseRequest", + "valor": { + "pontos": { + "VNHumanBodyPoseObservationJointName(_rawValue: root)": { + "y": 1, + "x": 0, + "confianca": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_forearm_joint)": { + "x": 0.3451712131500244, + "y": 0.2038751244544983, + "confianca": 0.213134765625 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_shoulder_1_joint)": { + "y": 0.3354504704475403, + "x": 0.5431206822395325, + "confianca": 0.20068359375 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_hand_joint)": { + "y": 0.21816450357437134, + "x": 0.23828604817390442, + "confianca": 0.45068359375 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_upLeg_joint)": { + "y": 1, + "x": 0, + "confianca": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_shoulder_1_joint)": { + "x": 0.5065149664878845, + "y": 0.776200532913208, + "confianca": 0.434326171875 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_forearm_joint)": { + "x": 0.3411596417427063, + "y": 0.871160626411438, + "confianca": 0.478515625 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_ear_joint)": { + "y": 0.6901881694793701, + "x": 0.6948562264442444, + "confianca": 0.43994140625 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_foot_joint)": { + "x": 0, + "y": 1, + "confianca": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_eye_joint)": { + "x": 0.7184126377105713, + "y": 0.49781113862991333, + "confianca": 0.8623046875 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_leg_joint)": { + "x": 0, + "y": 1, + "confianca": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_foot_joint)": { + "x": 0, + "y": 1, + "confianca": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: head_joint)": { + "y": 0.5522340536117554, + "x": 0.6897681355476379, + "confianca": 0.7900390625 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_eye_joint)": { + "y": 0.6192392110824585, + "x": 0.7163819074630737, + "confianca": 0.9052734375 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: neck_1_joint)": { + "x": 0.5248178243637085, + "y": 0.5558255016803741, + "confianca": 0.3175048828125 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_leg_joint)": { + "y": 1, + "x": 0, + "confianca": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_hand_joint)": { + "x": 0.26874300837516785, + "y": 0.8959652781486511, + "confianca": 0.66259765625 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: right_upLeg_joint)": { + "y": 1, + "x": 0, + "confianca": 0 + }, + "VNHumanBodyPoseObservationJointName(_rawValue: left_ear_joint)": { + "y": 0.41407138109207153, + "x": 0.6970947980880737, + "confianca": 0.42578125 + } + } + }, + "tipo": "pose" + }, + { + "confianca": 1, + "modelo": "VNDetectHumanHandPoseRequest", + "valor": { + "pontos": { + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKWRI)": { + "x": 0.23253658413887024, + "y": 0.8585302829742432, + "confianca": 0.52880859375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRPIP)": { + "x": 0.22579361498355865, + "y": 0.7633586525917053, + "confianca": 0.74169921875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRDIP)": { + "y": 0.7277252674102783, + "x": 0.22931887209415436, + "confianca": 0.87939453125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPDIP)": { + "y": 0.6978569626808167, + "x": 0.21858645975589752, + "confianca": 0.84375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTCMC)": { + "x": 0.27650049328804016, + "y": 0.7998674511909485, + "confianca": 0.51904296875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMTIP)": { + "x": 0.24720250070095062, + "y": 0.7377561330795288, + "confianca": 0.8720703125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRTIP)": { + "y": 0.6887917518615723, + "x": 0.23800839483737946, + "confianca": 0.912109375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTTIP)": { + "x": 0.3459165692329407, + "y": 0.8306314945220947, + "confianca": 0.86083984375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIPIP)": { + "x": 0.2652238607406616, + "y": 0.8425403833389282, + "confianca": 0.72607421875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMDIP)": { + "x": 0.243462473154068, + "y": 0.7741206884384155, + "confianca": 0.77490234375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTMP)": { + "x": 0.3000522255897522, + "y": 0.8150346875190735, + "confianca": 0.73486328125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIMCP)": { + "y": 0.8462084531784058, + "x": 0.2594616711139679, + "confianca": 0.6962890625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRMCP)": { + "x": 0.22540129721164703, + "y": 0.8060190677642822, + "confianca": 0.79736328125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTIP)": { + "x": 0.32053691148757935, + "y": 0.8043233156204224, + "confianca": 0.8193359375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKITIP)": { + "y": 0.8220275044441223, + "x": 0.28116005659103394, + "confianca": 0.76611328125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIDIP)": { + "x": 0.2723720371723175, + "y": 0.8345538973808289, + "confianca": 0.77099609375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPMCP)": { + "x": 0.2168373316526413, + "y": 0.7852243185043335, + "confianca": 0.65478515625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPTIP)": { + "x": 0.22397784888744354, + "y": 0.6584411859512329, + "confianca": 0.896484375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPPIP)": { + "x": 0.21661990880966187, + "y": 0.7317135334014893, + "confianca": 0.8193359375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMPIP)": { + "x": 0.24267888069152832, + "y": 0.8001116514205933, + "confianca": 0.7705078125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMMCP)": { + "x": 0.24032920598983765, + "y": 0.8275120258331299, + "confianca": 0.83251953125 + } + } + }, + "tipo": "mao" + }, + { + "confianca": 1, + "modelo": "VNDetectHumanHandPoseRequest", + "valor": { + "pontos": { + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKWRI)": { + "x": 0.22746875882148743, + "y": 0.21934866905212402, + "confianca": 0.7373046875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRPIP)": { + "x": 0.22578208148479462, + "y": 0.33486366271972656, + "confianca": 0.77294921875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRDIP)": { + "y": 0.3623318076133728, + "x": 0.22393833100795746, + "confianca": 0.78466796875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPDIP)": { + "y": 0.393690824508667, + "x": 0.20514926314353943, + "confianca": 0.83154296875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTTIP)": { + "x": 0.35355672240257263, + "y": 0.2701473832130432, + "confianca": 0.88671875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMTIP)": { + "x": 0.24479062855243683, + "y": 0.37329065799713135, + "confianca": 0.89892578125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRTIP)": { + "x": 0.2212526798248291, + "y": 0.3921983242034912, + "confianca": 0.8359375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTCMC)": { + "x": 0.2701528072357178, + "y": 0.2367648482322693, + "confianca": 0.6572265625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIPIP)": { + "y": 0.2702248692512512, + "x": 0.27149495482444763, + "confianca": 0.8134765625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMDIP)": { + "x": 0.24546130001544952, + "y": 0.3383510112762451, + "confianca": 0.84716796875 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKITIP)": { + "y": 0.3176026940345764, + "x": 0.2813425362110138, + "confianca": 0.8662109375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTIP)": { + "x": 0.3255600035190582, + "y": 0.28295326232910156, + "confianca": 0.8271484375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKTMP)": { + "x": 0.3014962375164032, + "y": 0.2591831684112549, + "confianca": 0.72412109375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPMCP)": { + "y": 0.321885883808136, + "x": 0.2177942544221878, + "confianca": 0.666015625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIDIP)": { + "y": 0.28794556856155396, + "x": 0.2761179506778717, + "confianca": 0.87939453125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKRMCP)": { + "x": 0.22562642395496368, + "y": 0.3022735118865967, + "confianca": 0.7978515625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKIMCP)": { + "x": 0.2657834589481354, + "y": 0.25153273344039917, + "confianca": 0.80712890625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPTIP)": { + "x": 0.20142629742622375, + "y": 0.4295170307159424, + "confianca": 0.87646484375 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKPPIP)": { + "x": 0.21094827353954315, + "y": 0.3616781234741211, + "confianca": 0.783203125 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMMCP)": { + "x": 0.24180756509304047, + "y": 0.2794184684753418, + "confianca": 0.8134765625 + }, + "VNHumanHandPoseObservationJointName(_rawValue: VNHLKMPIP)": { + "x": 0.24614843726158142, + "y": 0.3113424777984619, + "confianca": 0.81201171875 + } + } + }, + "tipo": "mao" + }, + { + "confianca": 0.8867188692092896, + "modelo": "VNClassifyImageRequest", + "valor": { + "identificador": "people" + }, + "tipo": "categoria" + }, + { + "confianca": 0.88671875, + "modelo": "VNClassifyImageRequest", + "valor": { + "identificador": "adult" + }, + "tipo": "categoria" + }, + { + "modelo": "VNCalculateImageAestheticsScoresRequest", + "valor": { + "score_global": 0.62158203125 + }, + "tipo": "estetica" + }, + { + "confianca": 1, + "modelo": "VNDetectHorizonRequest", + "valor": { + "angulo_radianos": 0.01745329238474369 + }, + "tipo": "horizonte" + }, + { + "confianca": 1, + "modelo": "VNDetectContoursRequest", + "valor": { + "quantidade_principal": 5 + }, + "tipo": "contornos" + }, + { + "modelo": "VNGeneratePersonSegmentationRequest", + "valor": { + "ocupacao_do_quadro": 0.4846343994140625 + }, + "tipo": "segmentacao_de_pessoas" + } + ], + "avisos": [] + } + ] +} \ No newline at end of file diff --git a/docs/PLANO-EDICAO-DE-VIDEO-POR-VOZ.md b/docs/PLANO-EDICAO-DE-VIDEO-POR-VOZ.md new file mode 100644 index 0000000..8453c5e --- /dev/null +++ b/docs/PLANO-EDICAO-DE-VIDEO-POR-VOZ.md @@ -0,0 +1,500 @@ +# Plano de edição de vídeo por voz + +Documento vivo para integrar o Scanner, o banco SQLite, a tela **Editar vídeo**, a decisão assistida por IA e a aplicação segura do plano na timeline do Premiere Pro. + +Status: desenho aprovado para implementação incremental. + +## 1. Objetivo + +Permitir que a tela **Editar vídeo** reutilize uma análise já executada pelo Scanner, sem transcrever o mesmo material novamente. A tela buscará no banco somente os dados necessários, montará um contexto compacto para a IA, receberá decisões editoriais em JSON, validará essas decisões pela engine e aplicará o plano na timeline ativa. + +O fluxo não deve enviar o banco inteiro, o relatório completo ou o áudio para a IA. A IA recebe somente o contexto editorial solicitado. + +## 1.1. Protocolo de edição solicitado pelo chat + +Quando o usuário disser **“editar vídeo”**, o chat deve tratar isso como um +pedido de execução do fluxo deste documento. + +O pedido deve separar três identificadores: + +1. **Vídeo/análise**: qual análise do Scanner será usada. Preferir `video_id` + ou o caso exibido na tela, nunca confundir com o perfil editorial. +2. **Perfil editorial**: número ou identificador da personalidade/estilo da + edição. Esse número representa como editar, não qual arquivo editar. +3. **Tipo e objetivo do vídeo**: depoimento, entrevista, redes sociais, + educativo, institucional ou perfil personalizado. + +Exemplo de pedido normalizado: + +```json +{ + "intencao": "editar_video", + "video_id": "12669c9c-038d-4a3f-99f9-fe6f6827b5f4", + "perfil_editorial_id": 3, + "tipo_de_video": "depoimento", + "objetivo": "preservar autenticidade e remover repetições", + "intervalo": {"inicio": 0.0, "fim": null} +} +``` + +Se o número informado ainda não estiver cadastrado, o chat deve pedir a +descrição do perfil ou registrar o perfil antes de gerar decisões. O número +não deve ser interpretado como `video_id`, `clipe_id` ou número de faixa. + +### Ordem de execução no chat + +Quando os dados estiverem disponíveis, o chat deve: + +1. identificar o vídeo/análise correta; +2. carregar o perfil editorial pelo número; +3. consultar o resumo do vídeo localmente; +4. consultar falas, clipes, cenas e métricas necessárias; +5. montar um contexto editorial compacto; +6. aplicar as regras do perfil e o tipo do vídeo; +7. gerar diretamente o plano de edição; +8. validar o plano contra a análise e a timeline; +9. entregar o plano JSON e um resumo das decisões; +10. deixar a aplicação no Premiere para a etapa de confirmação do usuário. + +O chat não deve devolver apenas uma sugestão textual quando o pedido for +“editar vídeo”. Deve gerar um plano estruturado, salvo em arquivo, pronto para +ser lido pelo `LeitorDePlanoDeEdicao`. + +### Leitura dos registros sem desperdício de contexto + +O banco pode ser lido integralmente pela engine em lotes, sem enviar todos os +registros para o chat ou para a IA. A leitura deve ser progressiva: + +- primeiro, resumo, faixas, clipes e contagens; +- depois, falas do intervalo ou do objetivo escolhido; +- depois, métricas de voz quando o perfil depender de ritmo, intensidade ou + pausas; +- depois, palavras somente para decisões que exigem precisão; +- por fim, cenas e evidências visuais relacionadas aos trechos candidatos. + +“Ler na íntegra” significa garantir que a engine tenha acesso aos registros +necessários, não despejar o banco inteiro no contexto do modelo. + +### Consultas criadas durante a edição + +Quando surgir uma necessidade nova, a consulta deve ser criada como parte da +engine e documentada neste MD, contendo: + +- nome da intenção consultada; +- parâmetros aceitos; +- SQL parametrizado; +- formato compacto de retorno; +- teste de regressão; +- perfil editorial que utiliza a consulta. + +Consultas temporárias podem ser usadas para investigar um caso, mas não devem +virar parte do fluxo do chat sem serem transformadas em um método reutilizável +de `ConsultasDeAnalises` ou de um módulo de aplicação. + +## 2. Vocabulário do domínio + +- **Vídeo analisado**: registro de uma timeline no banco, identificado por `video_id`. +- **Faixa**: trilha de áudio ou vídeo pertencente ao vídeo analisado. +- **Clipe**: intervalo de uma faixa na timeline, com referência ao arquivo de origem. +- **Fala**: segmento de transcrição associado a um clipe, com início, fim e texto. +- **Palavra**: unidade sincronizada dentro de uma fala. +- **Métrica de voz**: sinal acústico calculado para uma fala, como energia, pitch, velocidade e pausas. Não é uma emoção classificada. +- **Cena**: intervalo visual identificado pelo Scanner. +- **Evidência**: observação visual ou sonora com intervalo e confiança. +- **Contexto editorial**: pacote compacto de fatos enviado à IA para apoiar uma decisão de edição. +- **Decisão editorial**: ação proposta pela IA, como corte, zoom, texto ou marcador. +- **Plano de edição**: conjunto ordenado e validado de decisões editoriais. +- **Aplicador**: módulo que executa o plano na timeline do Premiere. + +Transcrição, análise, decisão e aplicação são etapas diferentes. Uma transcrição não deve ser interpretada automaticamente como uma decisão de corte. + +## 3. Fluxo completo + +```text +Premiere Pro + │ + ├─ Scanner: lê a timeline e salva análise + │ ├─ vídeos, faixas e clipes + │ ├─ transcrição e palavras + │ ├─ métricas acústicas opcionais + │ ├─ cenas e evidências visuais + │ └─ versão da análise + │ + └─ Editar vídeo + ├─ seleciona um vídeo analisado + ├─ define objetivo e regras editoriais + ├─ pede contexto editorial compacto à engine + ├─ envia contexto à IA + ├─ recebe plano JSON + ├─ valida plano e origem + ├─ mostra prévia das decisões + └─ aplica plano pela engine +``` + +O Scanner produz fatos. A IA decide. A engine valida e aplica. A interface coordena e apresenta. + +## 4. Situação atual do código + +### Já existe + +- `code/cep-plugin/`: painel CEP com **Editar vídeo** e **Scanner**. +- `code/engine/persistencia/esquema.py`: tabelas SQLite de timeline, transcrição, palavras, cenas e evidências. +- `code/engine/persistencia/repositorio_de_analises_sqlite.py`: persistência das análises. +- `code/engine/persistencia/consultas.py`: consultas de leitura compactas. +- `code/engine/scanner/transcricao_da_timeline.py`: transcrição projetada para os clipes da timeline. +- `code/engine/editor/modelos.py`: `PlanoDeEdicao` e `AcaoDeEdicao`. +- `code/engine/editor/leitura/leitor_de_plano.py`: validação do plano externo. +- `code/engine/editor/aplicador_de_plano_de_edicao.py`: aplicação das ações. +- `code/engine/aplicar_plano_de_edicao.py`: entrada da engine para aplicar um plano. +- `code/cep-plugin/main.js`: geração de `dados-para-ia.json` e aplicação do plano recebido. + +### Lacunas conhecidas + +- `listar_falas_no_intervalo()` não retorna métricas acústicas por padrão. +- Editar vídeo ainda trabalha principalmente com `transcricao.json` e não seleciona diretamente uma análise do Scanner. +- O contexto editorial ainda não é um módulo explícito da engine. +- O plano atual identifica a origem principalmente por nome e tempo; com várias faixas e clipes, precisa também de `video_id` e `clipe_id`. +- Reprocessamentos precisam de uma política explícita para não duplicar segmentos no banco. + +## 5. Consultas SQL compactas + +As consultas ficam na engine. O painel não abre SQLite nem monta SQL. + +### 5.1. Listar vídeos analisados + +```sql +SELECT id AS video_id, nome, duracao, criado_em +FROM videos +ORDER BY criado_em DESC +LIMIT :limite; +``` + +### 5.2. Resumo do vídeo + +```sql +SELECT + v.id AS video_id, v.nome, v.duracao, v.taxa_de_quadros, + v.largura, v.altura, + (SELECT COUNT(*) FROM faixas f WHERE f.video_id = v.id) AS total_faixas, + (SELECT COUNT(*) FROM clipes c WHERE c.video_id = v.id) AS total_clipes, + (SELECT COUNT(*) FROM segmentos_de_transcricao s WHERE s.video_id = v.id) AS total_falas, + (SELECT COUNT(*) FROM cenas c WHERE c.video_id = v.id) AS total_cenas, + (SELECT COUNT(*) FROM evidencias_visuais e WHERE e.video_id = v.id) AS total_evidencias +FROM videos v +WHERE v.id = :video_id; +``` + +### 5.3. Falas para edição + +Consulta padrão, sem palavras e sem métricas: + +```sql +SELECT s.id AS fala_id, s.clipe_id, s.inicio, s.fim, s.texto, + s.confianca, s.falante, s.emocao, s.confianca_emocao +FROM segmentos_de_transcricao s +WHERE s.video_id = :video_id + AND s.fim >= :inicio + AND (:fim IS NULL OR s.inicio <= :fim) +ORDER BY s.inicio, s.id; +``` + +Consulta com métricas acústicas: + +```sql +SELECT s.id AS fala_id, s.clipe_id, s.inicio, s.fim, s.texto, + s.confianca, s.falante, + s.caracteristicas_acusticas AS metricas_de_voz +FROM segmentos_de_transcricao s +WHERE s.video_id = :video_id + AND s.fim >= :inicio + AND (:fim IS NULL OR s.inicio <= :fim) + AND s.caracteristicas_acusticas IS NOT NULL + AND s.caracteristicas_acusticas <> '{}' +ORDER BY s.inicio, s.id; +``` + +`metricas_de_voz` deve ser convertido de texto JSON para objeto dentro da engine. O SQL não deve conhecer a estrutura variável das métricas. + +### 5.4. Palavras sob demanda + +```sql +SELECT p.segmento_id AS fala_id, p.ordem, p.texto, p.inicio, p.fim, + p.confianca, p.falante +FROM palavras_de_transcricao p +WHERE p.segmento_id IN (:fala_ids) +ORDER BY p.segmento_id, p.ordem; +``` + +Na implementação, `:fala_ids` deve ser expandido com parâmetros SQLite individuais. Nunca interpolar valores da interface no SQL. + +### 5.5. Cenas e evidências + +```sql +SELECT clipe_id, inicio, fim, confianca +FROM cenas +WHERE video_id = :video_id + AND (:clipe_id IS NULL OR clipe_id = :clipe_id) +ORDER BY inicio; +``` + +```sql +SELECT clipe_id, tipo, inicio, fim, valor, confianca, provider, modelo +FROM evidencias_visuais +WHERE video_id = :video_id + AND (:clipe_id IS NULL OR clipe_id = :clipe_id) + AND (:tipo IS NULL OR tipo = :tipo) + AND (:confianca_minima IS NULL OR confianca IS NULL OR confianca >= :confianca_minima) +ORDER BY inicio; +``` + +## 6. Interface profunda da engine + +O módulo principal deve esconder SQL, agrupamento, conversão de JSON, ordenação e redução de contexto. + +Interface proposta: + +```python +contexto = montador.montar( + video_id=video_id, + objetivo=objetivo_editorial, + inicio=inicio, + fim=fim, + incluir_metricas=True, + incluir_palavras=False, +) +``` + +Responsabilidades de `MontadorDeContextoEditorial`: + +- validar `video_id` e intervalos; +- localizar o resumo do vídeo; +- buscar falas no intervalo; +- incluir métricas somente quando solicitado; +- buscar palavras somente quando solicitado; +- agrupar falas por clipe; +- anexar cenas e evidências relevantes; +- remover campos vazios; +- normalizar números e intervalos; +- produzir um contrato estável para a IA; +- informar a versão da análise usada. + +O painel chama uma entrada da engine e recebe JSON. Não conhece tabelas nem SQL. + +## 7. Contexto enviado à IA + +```json +{ + "schema": "contexto_editorial_v1", + "analysis": { + "video_id": "12669c9c-038d-4a3f-99f9-fe6f6827b5f4", + "versao": "hash-da-analise", + "fonte": "scanner" + }, + "video": { "nome": "Cópia de 0E6A8829", "duracao": 120.0 }, + "objetivo": { + "tipo": "depoimento", + "instrucao": "Remover pausas longas e repetições sem perder autenticidade.", + "preservar": ["contexto", "frases completas", "pausas emocionais"], + "remover": ["silêncios longos", "repetições", "erros explícitos"] + }, + "falas": [ + { + "fala_id": 42, + "clipe_id": "000f476b", + "inicio": 12.45, + "fim": 15.82, + "texto": "Eu comecei esse processo no ano passado.", + "falante": "SPEAKER_00", + "metricas_de_voz": { + "energy_rms": 0.084, + "pitch_hz_median": 187.5, + "pitch_hz_std": 32.8, + "speaking_rate_wps": 2.4, + "longest_internal_pause_s": 0.42, + "gap_before_s": 0.18 + } + } + ], + "cenas": [], + "evidencias_visuais": [] +} +``` + +Perfis de tamanho: + +- `resumo`: metadados, contagens e intervalos principais; +- `fala`: falas, locutores e métricas, sem palavras; +- `precisao`: falas, palavras e evidências do intervalo selecionado; +- `completo`: somente para diagnóstico local, nunca como padrão para IA. + +O fluxo normal começa com `resumo` ou `fala` e consulta `precisao` somente quando necessário. + +## 8. Decisões e plano de edição + +O plano mantém o contrato já validado pela engine e recebe metadados para impedir aplicação em outra análise: + +```json +{ + "schema": "plano_edicao_v2", + "source": "Cópia de 0E6A8829", + "analysis": { + "video_id": "12669c9c-038d-4a3f-99f9-fe6f6827b5f4", + "versao": "hash-da-analise" + }, + "actions": [ + { + "id": "acao-001", + "kind": "cut", + "target": { + "clipe_id": "000f476b", + "arquivo_de_origem": "/caminho/video.mp4" + }, + "start": 20.4, + "end": 23.8, + "reason": "Pausa longa sem conteúdo entre duas frases.", + "params": { "tipo": "silencio", "confianca": 0.91 } + } + ] +} +``` + +Regras para a IA: + +- não inventar tempos fora do material analisado; +- não cortar fala sem `reason`; +- usar segundos na origem; +- não usar tempo relativo ao JSON; +- não alterar a transcrição original; +- indicar confiança baixa quando houver dúvida; +- não aplicar o plano diretamente no Premiere. + +## 9. Validação antes da aplicação + +### Validação estrutural + +Responsável: `LeitorDePlanoDeEdicao`. + +- JSON válido; +- `source` preenchido; +- `actions` não vazio; +- tipo conhecido; +- início e fim numéricos; +- fim maior que início; +- motivo obrigatório. + +### Validação contextual + +Novo comportamento a adicionar: + +- `video_id` do plano igual ao vídeo selecionado; +- versão da análise ainda válida; +- `clipe_id` existente; +- arquivo de origem compatível; +- intervalo contido no clipe ou na origem; +- nenhuma ação duplicada; +- nenhuma ação já aplicada; +- plano compatível com a sequência ativa. + +## 10. Fluxo da tela Editar vídeo + +1. Selecionar origem: `Transcrever este vídeo` ou `Usar análise do Scanner`. +2. Listar análises disponíveis e mostrar modelo, idioma, diarização, métricas e data. +3. Escolher objetivo: depoimento, entrevista, redes sociais ou personalizado. +4. Definir regras: remover silêncio, remover repetição, preservar pausas emocionais, locutores e intensidade. +5. Carregar contexto compacto pela engine. +6. Mostrar falas, tempos, locutores, métricas e status da análise. +7. Exportar contexto para IA ou chamar um Provider de IA futuramente. +8. Importar o plano devolvido. +9. Mostrar cada ação com intervalo, texto, motivo, confiança e validação. +10. Criar backup, validar e aplicar pela engine. + +## 11. Classes e módulos planejados + +### Domínio + +`code/engine/editor/contexto_editorial/modelos.py` + +- `ContextoEditorial`; +- `FalaEditorial`; +- `MetricaDeVozEditorial`; +- `ObjetivoEditorial`. + +Essas classes não conhecem SQLite, JSON de transporte ou Premiere. + +### Aplicação + +`code/engine/editor/contexto_editorial/montador.py` + +- `MontadorDeContextoEditorial`. + +Essa é a interface profunda: recebe filtros editoriais e devolve contexto compacto, escondendo consultas, agrupamento e normalização. + +### Persistência + +Estender `ConsultasDeAnalises` com: + +- `listar_videos_analisados()`; +- `consultar_contexto_editorial()`; +- `listar_falas_editoriais()`; +- `listar_palavras_das_falas()`. + +### Transporte + +Criar `code/engine/gerar_contexto_editorial.py` para ler pedido JSON, validar entrada, chamar o montador e escrever resposta JSON. + +### Plano + +Reutilizar `LeitorDePlanoDeEdicao`, `PlanoDeEdicao` e `AplicadorDePlanoDeEdicao`, adicionando a validação contextual antes do aplicador. + +## 12. Versionamento e idempotência + +Cada execução do Scanner deve ter uma identidade de análise. O editor deve guardar essa identidade no contexto e no plano. + +Recomendações: + +- usar `analises_versao` para registrar etapa e hash da entrada; +- incluir configuração, modelo, idioma e faixas no hash; +- invalidar o plano quando a timeline ou o vídeo mudar; +- substituir ou versionar segmentos ao reprocessar; +- não acumular silenciosamente duas transcrições iguais. + +Antes do editor, corrigir a política de reprocessamento para evitar duplicidade em `segmentos_de_transcricao`. + +## 13. Testes obrigatórios + +- consultas filtram por vídeo e intervalo; +- métricas aparecem somente quando solicitadas; +- palavras não aparecem por padrão; +- contexto compacto agrupa falas por clipe; +- campos vazios são removidos; +- palavras são carregadas sob demanda; +- plano de outro vídeo é rejeitado; +- plano de análise antiga é rejeitado; +- ação fora do clipe é rejeitada; +- aplicação cria backup e não repete ação; +- interface seleciona análise, importa plano e mostra validação; +- cancelamento interrompe a geração/aplicação. + +## 14. Ordem de implementação + +- [ ] Consultas de vídeos analisados. +- [ ] Consulta de falas com opção de métricas. +- [ ] Consulta de palavras sob demanda. +- [ ] Modelos de `ContextoEditorial`. +- [ ] `MontadorDeContextoEditorial`. +- [ ] `gerar_contexto_editorial.py`. +- [ ] Versionamento e reprocessamento no banco. +- [ ] Origem “Usar análise do Scanner” na tela Editar vídeo. +- [ ] Renderização do contexto e das falas. +- [ ] Exportação do contexto para IA. +- [ ] Plano com `video_id`, `clipe_id` e versão. +- [ ] Validação contextual. +- [ ] Aplicação pela engine. +- [ ] Teste em cópia da sequência. +- [ ] Revisão final do código. + +## 15. Critério de conclusão + +O recurso estará pronto quando o usuário conseguir executar o Scanner uma vez, abrir Editar vídeo, escolher o vídeo analisado, buscar somente as falas necessárias, gerar contexto compacto, importar um plano, validá-lo contra a análise correta, revisar as ações e aplicá-las na timeline com backup, sem repetir a transcrição. + +Este documento deve ser atualizado a cada etapa implementada, especialmente quando um contrato JSON ou uma consulta SQL mudar.