Blog do Chobial

Como criamos looks de filme: calculando a partir de fotos

·

Os filmes integrados do Chobial não foram calibrados a olho nem baixados como LUTs genéricas da internet. Cada um deles foi calculado matematicamente a partir de fotografias: um único arquivo RAW de uma câmera Fujifilm, revelado na própria câmera uma vez de forma neutra e outra com a simulação de filme, com a diferença medida no espaço de cor CIELAB. O método é simples de descrever. Grande parte deste texto trata das armadilhas encontradas no caminho.

O método foi desenvolvido com uma Fujifilm X-T30 III em setembro de 2026, de onde saíram os números apresentados abaixo. Desde então, a maioria dos filmes foi recalculada da mesma maneira com uma X100VI, a partir de 31 enquadramentos.

1. Obter os pares de teste

A versão resumida: fotografe uma cena e depois revele duas vezes com a mesma câmera — uma versão neutra e uma com o look — calculando a diferença.

A palavra-chave é revelar. As câmeras da Fujifilm conseguem re-revelar arquivos RAF internamente, permitindo fotografar em RAW e depois exportar o mesmo arquivo repetidamente: uma vez com Provia nas configurações padrão como base neutra, e depois com cada uma das simulações, também nos padrões. Cor em 0, tons de realce e sombra em 0, granulação desligada, Color Chrome desligado e sem desvio no balanço de branco. Mesmos dados de sensor, mesma exposição e mesmo balanço de branco: apenas o look visual se altera. Dez minutos na câmera superam cem fotos em campo, eliminando qualquer fator de confusão de uma só vez.

As configurações padrão são cruciais. Se você esquecer o tom de realces de uma receita em −1, medirá a simulação somada à sua receita, e essa receita ficará gravada no filme. Quatro dos nossos filmes — os inspirados em Gold, Kodachrome e Ektachrome, além do Chobial Vintage (derivado de uma receita de Classic Negative) — foram calculados deliberadamente sobre receitas em vez de simulações puras. Isso foi uma escolha planejada, não um acidente.

Associe os pares comparando pixels, nunca nomes de arquivo. Comparamos pequenas assinaturas de luminância em quatro rotações. Nomes de arquivo enganam; pixels não.

2. O que fotografar: o limite de todo o resto

Cinco fotos em um café e em um parque feitas no mesmo fim de tarde cobriram apenas 5,8% de um cubo de cores de 33×33×33. Dois terços dos pixels tinham croma CIELAB (C*) inferior a 8, ou seja, eram praticamente cinza. Ciano, violeta e magenta representavam 0,12%, 0,03% e 0,01% dos pixels. Um parâmetro sem dados reais para sustentá-lo assumirá qualquer valor que convenha aos seus vizinhos matemáticos: em um dos primeiros testes, o algoritmo calculou 58 graus de rotação de matiz no magenta, partindo de quase nenhum magenta na imagem.

Portanto: fotografe uma cartela de calibração de cor. Um único quadro de uma cartela de 24 amostras traz mais cores úteis do que aquelas cinco cenas somadas, cobrindo com exatidão os matizes que cenas cotidianas omitem. Se não for possível, inclua de propósito céu azul saturado, algo vermelho, algo ciano, folhagens, pele humana e uma área branca pura, sempre sob luz natural do dia.

3. Calcule contra a base neutra da câmera, nunca contra a sua

O caminho mais tentador seria pegar o RAW, revelá-lo com nosso próprio fluxo neutro e calcular o que falta para chegar à simulação da Fujifilm. Só que isso mede duas coisas simultaneamente: a simulação de filme e todas as diferenças entre o nosso fluxo RAW e o da Fujifilm. Essa segunda parte é real, mas pertence àquela câmera. Se você transportá-la para o filme, aplicará correções específicas do sensor Fujifilm a um iPhone cujo perfil neutro foi construído sobre bases completamente distintas.

Isso ficou evidente com clareza. O Provia calculado contra a nossa base neutra resultou em ΔE 3,47 e exigiu um desvio amarelo de 20 graus no verde para corresponder ao JPEG da câmera — o que media apenas as premissas do nosso próprio pipeline sobre verde. Já calculado contra o próprio Provia, os mesmos quadros de Classic Negative retornaram com 1,47 ΔE.

Há também um teste gratuito: calcule Provia contra Provia. O resultado deve ser a identidade absoluta: curva zero, rotação zero, escala zero. Se não for, o que quer que tenha retornado é erro do próprio algoritmo de resolução. O nosso retornou 0,00.

4. Como um filme é estruturado

As cores do filme são ajustadas em etapas sucessivas, na mesma ordem em que o aplicativo as executa: primeiro as curvas tonais, depois a cor.

Curvas primeiro, a partir dos cinzas

As curvas mestre, vermelha e azul são extraídas de pixels quase neutros (C* abaixo de 8). Isso representa mais da metade do quadro — dezenas de milhares de amostras por intervalo contra poucas centenas em alguns matizes —, sendo o dado mais sólido e confiável disponível.

As curvas determinam a tonalidade do filme e sua dominante nos cinzas. Esse segundo aspecto é muito mais importante do que aparenta. Um modelo de cor baseado em escalar croma não afeta tons cinzas, porque cinza não tem croma e zero multiplicado por qualquer número continua zero. Por um tempo, nossos filmes estilo Chrome e Negative pareciam quase idênticos exatamente por essa razão: na maior parte da imagem não estávamos aplicando nenhuma alteração, e é justamente aí que a Fujifilm imprime a identidade de cada simulação.

Um erro que vale documentar. A primeira versão agrupava cada canal pelo nível de cinza do pixel. Porém, um pixel quase neutro não é perfeitamente neutro. A mediana de vermelho, verde e azul em cada intervalo carregava qualquer dominante que aquela população de pixels tivesse, e a curva reaplicava essa dominante sobre si mesma. O teste de Provia contra Provia retornou ΔE 1,4 em vez de 0. Agrupando cada canal pelo seu próprio valor — que é exatamente o que a aplicação de uma curva faz —, a identidade retornou exatos 0.

Mais uma pegadinha: as curvas vermelha e azul precisam ser calculadas sobre a saída da curva mestre, e não sobre a entrada original, pois a curva mestre atua primeiro e entrega o resultado para elas.

Depois a cor, calculada através das curvas

Inverta as curvas subtraindo-as do alvo e depois ajuste a camada de cor sobre o que restou. Tentar ajustar a cor paralelamente às curvas duplica o efeito que as curvas já exerceram sobre a cor. No Classic Negative, isso empurrou o azul para uma rotação de +24 graus, quando a câmera rotaciona apenas +11.

A camada de cor é intencionalmente enxuta: uma escala de croma e uma rotação de matiz por faixa, interpoladas em torno do círculo cromático, mais três parâmetros tonais. É simples o bastante para que cada parte seja linear nos seus parâmetros, permitindo resolver o ajuste por três problemas de mínimos quadrados exatos, sem algoritmos de otimização imprevisíveis.

Ambos os lados exigem uma penalidade ridge que puxe os valores para a identidade neutra. Um matiz sem amostras deve retornar informando que o filme não mexe nele. Os termos tonais precisam disso por outra razão: contraste de tons médios, base da curva e ombro de altas luzes são quase colineares, e o cálculo sem penalização gerou um contraste de 2,2 compensado por um levantamento de sombras de +59.

Monocromático é um cálculo à parte

Um filme preto e branco é uma mistura de canais somada a uma curva tonal. A mistura — aquilo que um filtro amarelo ou vermelho altera — é definida pelo brilho com que cada matiz é reproduzido, informação que desaparece do resultado monocromático cinza. Porém, ela não se perdeu no quadro colorido correspondente do par, permitindo calcular os pesos dos canais contra ele.

O tom não pode ser simplificado em apenas três variáveis. Em um filme monocromático, a tonalidade é o filme, e uma base alongada que se estende por um terço da escala é justamente o que uma média de três termos apaga. Em um par sintético construído sobre uma curva conhecida de cinco pontos, o modelo de três termos recuperou os pesos dos canais com quatro casas decimais de precisão, mas errou o tom por 1,94 L*. Ao ajustar uma curva tonal completa, o desvio caiu para 0,16.

5. Avaliando o resultado

ΔE sobre pixels reais é a única métrica válida. Não avalie com base em meia dúzia de "cores de memória", como um azul de céu, um tom de pele e um verde de folha. Três pontos sintéticos não representam uma distribuição composta por dois terços de tons quase neutros, e eles classificarão um filme como pior justamente nos pixels em que ele foi corrigido. Nosso filme estilo Negative foi de 3,67 para 1,47 ΔE no geral, enquanto seus três pontos isolados de teste pioraram.

Segmente o erro por faixa de saturação. Uma alteração que melhora a média geral mas prejudica cores saturadas precisa ser identificada. A reformulação do Negative trouxe melhorias em todas as três faixas, o que nos deu segurança para lançá-lo:

FaixaAntes (ΔE)Depois (ΔE)
Quase neutro2.930.88
Cor moderada4.091.65
Saturado5.783.64

Compare os filmes entre si, não apenas contra seus alvos originais. O problema que motivou a reconstrução do Negative foi a observação de que "Chrome e Negative pareciam iguais". A forma de enxergar isso é medir a distância que a câmera mantém entre suas duas simulações (2,2 a 5,0 ΔE em nossos quadros) contra a distância entre os nossos filmes. Cada filme pode parecer exato individualmente enquanto o par colapsa em um visual repetido.

Cruze dados onde a amostragem for escassa. Os perfis de correspondência de câmera da Adobe estão um nível afastados da câmera real, mas podem ser medidos com precisão. No caso do Classic Negative, eles concordaram com nossos quadros sobre onde os tons quentes cruzam para os frios (L* 46 contra nossos 47), no matiz dos realces (44° contra 44,6°) e na proporção de aproximadamente 2:1 entre quente e frio. Textos publicados sobre simulações de filme costumam ser qualitativos e repetitivos. Trate qualquer afirmação como folclore até que medições concretas a comprovem: os frequentemente citados "realces magenta" do Classic Negative, quando medidos sobre cinzas neutros, são âmbar em matiz 44°.

6. Publicando e distribuindo

Seguimos algumas regras fundamentais:

Como ver o resultado no Chobial

Os filmes resultantes desse processo são os modelos integrados do app, do Chobial Standard ao Chobial B&W. Para avaliá-los:

  1. Carregue um filme integrado na câmera. Ele aparece ao vivo no visor; mantenha pressionado para ver a cena sem o filme.
  2. Abra uma foto da sua biblioteca, acesse a ferramenta Filme do editor e alterne entre os filmes. A foto é re-revelada a partir do RAW a cada toque (Revelar de novo).
  3. Mantenha o botão Comparar pressionado para ver a revelação limpa por baixo, ou toque nele para abrir um controle deslizante de antes e depois.
  4. Para personalizar qualquer um deles, crie um novo filme a partir dele: Filmes › + › Novo Filme › Começar de. Filmes integrados não podem ser alterados, mas uma cópia própria pode ser editada livremente (Crie seu próprio filme).

7. O que ainda pode evoluir

Nada disso transforma o filme em uma cópia 100% idêntica à da câmera de origem. O processo cria um filme cujas divergências conhecemos e documentamos com precisão matemática, o que é infinitamente superior a um filtro ajustado no olhômetro. A camada de cor de qualquer filme pode ser exportada como uma LUT .cube para inspeção em outros programas (criando uma LUT no iPhone), e a granulação possui sua própria curva calibrada, descrita em detalhes em por que a granulação digital parece falsa.

Fujifilm, Provia, Classic Chrome e Classic Negative são marcas comerciais da FUJIFILM Corporation. Kodak, Gold, Kodachrome e Ektachrome são marcas comerciais da Eastman Kodak Company. O Chobial não possui vínculo com nenhuma delas.

Perguntas

Dá para medir uma simulação de filme a partir de fotos?

Sim, se as fotos forem controladas. Revele o mesmo arquivo RAW na câmera duas vezes — uma neutra e outra com a simulação —, e a diferença entre as duas é o visual. Fotos soltas tiradas em dias diferentes misturam o look com variações de exposição, balanço de branco e cena.

Por que não usar apenas uma LUT da simulação de filme?

Uma LUT calculada a partir de poucas fotos é exata apenas onde as fotos tinham cor e ignora o restante do cubo. Nossos quadros de campo cobriram só 5,8% de um cubo de 33 pontos. Um modelo compacto com parâmetros significativos se comporta muito melhor do que uma LUT de milhares de entradas.

Os filmes do Chobial são idênticos às simulações da Fujifilm?

Não. São filmes próprios nossos, calculados a partir das renderizações de uma câmera Fujifilm e aplicados à revelação RAW do iPhone. Eles se aproximam muito nos quadros medidos, e divulgamos abertamente onde diferem.

Posso criar meu próprio filme da mesma maneira?

Não com um solucionador matemático automático no app. Você pode criar um filme manualmente usando os mesmos controles (curvas, mixer de cores, split toning); veja Crie seu próprio filme.