Quem sou eu e o que este blog.

Minha foto

Sou viciado em computação, Internet e Fotografia. Morei por quase 6 anos, e ainda frequento, Paraty. Sou usuário de softwares Open Source, tendo dado algumas contribuições em diversas ocasiões.

sexta-feira, 17 de dezembro de 2010

Qual é a região mais ruidosa do sensor?

No meio das minhas brincadeiras de observar o ruído da câmera vi uma coisa que me chamou a atenção. Quando ampliei ao máximo a imagem na própria câmera notei que as bordas pareciam mais ruidosas que o centro. Não sei se isto é uma característica da Nikon D90, ou da minha D90, ou de todas as câmeras com sensor CMOS, ou todas elas independentemente do tipo de sensor. Mas resolvi verificar isto melhor.

Como qualquer método científico, eu não poderia só usar algo subjetivo como o olhar, então resolvi aplicar os métodos descritos no artigo Método caseiro de medição de ruído de sensor para ter resultados mais objetivos, para quantificar.

Para entender os resultados é bom conhecer um pouco de estatística. Se não sabe muito de estatística, sugiro ler o artigo ABC da Estatística em 10 minutos.

Atenção, este artigo tem um nível alto de "nerdice", portanto leia por sua conta e risco.

As tabelas podem ser ignoradas, caso prefira, e queira só se fiar nos meus comentários sobre os dados delas, exceto a primeira, que define como numerei as áreas da imagem. A primeira tabela mostra a posição de cada área na imagem, portanto é importante.

Dividindo em áreas

Olhar subjetivo mencionado acima, mesmo não servindo com prova ou quantificação, me deu uma pista de como dividir o sensor. Foi escolhido inicialmente o corte de 100 pixels de cada borda, que parecia coerente com o observado acima, e não iria descartar muito da imagem..

Dividi o sensor em 10 regiões, numeradas de 0 a 9, sendo a 0 o sensor inteiro e a 9 a região central do sensor. A região 9 é a imagem toda menos 100 pixels de cada um dos lados.

1 2 3
8 9 4
7 6 5

O processo é muito parecido com o descrito no artigo Método caseiro de medição de ruído de sensor, mas com um script diferente. O novo script faz o que o outro fazia, para a medição do ruído da imagem toda, como também faz a divisão da imagem em áreas e calcula o ruído de cada uma das áreas.

Obtenção das imagens

O processo de obtenção das amostras foi basicamente o descrito no artigo Método caseiro de medição de ruído de sensor: Luzes da casa apagadas; De noite; Janela do quarto fechada; Lente com a tampa; Abertura F22; Visor ocular fechado; Iluminação do LCD superior e do LCD de trás desligados; Debaixo de uma coberta escura dobrada; Lente Nikon 18-105, a do kit da câmera; Câmera na horizontal com a lente apontada para o que deveria ser o lado mais escuro do quarto.
 
Foram usadas duas distâncias focais diferentes, a máxima, 105 mm, e a mínima, 18 mm. A ideia era levar em conta alguma luz que ainda entrasse pela lente, que pela descrição acima deveria tender à zero.

Foram testadas somente duas sensibilidades, ISO 200 e ISO 3200, e um tempo de exposição, 1 segundo, com as duas distâncias focais mencionadas acima, implica em somente 4 amostras. Sei que é uma quantidade de amostras muito baixa, mas testar uma única câmera é pior ainda. Depois fiz a comparação com os dados que eu tinha da Panasonic FZ28 e da Nikon D60.

Resultados, Nikon D90

Abaixo a tabela com ISO 200 e distância focal de 18 mm.

MédiaDesvio PadrãoModa% de modaContÁrea
0.3444830.553529069.256950%150
0.3687000.600497068.150000%81
0.3535550.580125069.100243%132
0.3541000.576148069.210000%53
0.3465700.562415069.351199%104
0.4319000.627377063.180000%75
0.4317740.622918063.301217%96
0.4258000.628119063.910000%77
0.3637710.575750067.879685%128
0.3401670.548443069.528739%99

Nota-se que o centro, a região 9, é a menos ruidosa de todas, pois tem a menor média e o menor desvio padrão, menos que do que a imagem como um todo, que é representada pela região 0.

A região mais ruidosa da imagem, de longe, foi a parte de baixo, que na realidade é a parte de cima do sensor, pois a imagem chega ao sensor invertida. O curioso é que esta parte tem poucos valores diferentes, dado pela coluna "Cont", mas a moda também é menor. Devem ter poucos valores, mas estes devem ser altos e frequentes.

Abaixo a tabela com ISO 200 e distância focal de 105 mm.

MédiaDesvio PadrãoModa% de modaContÁrea
0.4459260.594597060.280752%120
0.4590000.616731059.830000%71
0.4483720.619141060.846715%112
0.4558000.634891060.870000%73
0.4490700.605442060.402174%94
0.5473000.672018054.050000%75
0.5472020.659526053.685158%96
0.5272000.664608055.470000%87
0.4687110.616117058.696402%118
0.4412200.589704060.552288%89

Com a distância focal de 105 mm o comportamento foi MUITO parecido, mas uma coisa intrigante aconteceu. O ruído aumentou em média e em desvio padrão.

Abaixo a tabela com ISO 3200 e distância focal de 18 mm.

MédiaDesvio PadrãoModa% de modaContÁrea
3.3936023.432239130.837443%1150
3.4018003.934959128.120000%421
3.1732483.946281133.670803%932
3.1136003.901874133.740000%423
3.4713013.829509129.370315%804
4.7711004.864347222.450000%485
4.7282214.130414223.205596%686
4.6632004.523120223.480000%457
3.6886814.076879125.723013%918
3.3406013.339168131.577031%839

Agora vamos para um ISO alto. Note que a média subiu em cerca de 10 vezes com o aumento de 16 vezes na sensibilidade, e o desvio padrão em aproximadamente 6 vezes. O percentual da moda caiu drasticamente, e a maioria dos pixels não estão mais em zero. A quantidade de valores subiu drasticamente. Em suma, o ruído subiu como um todo.

Continua valendo a observação do ruído ser maior na parte de baixo do sensor. Esta região teve a maior média, a maior moda, o maior desvio padrão e o menor percentual da moda.

Abaixo a tabela com ISO 3200 e distância focal de 105 mm.

MédiaDesvio PadrãoModa% de modaContÁrea
3.4401323.510186130.797139%1240
3.7802004.538474125.970000%461
3.5679664.272288129.395377%982
3.6747004.797206128.580000%533
3.5284414.000564129.405172%974
4.7536004.548467223.250000%395
4.7622414.221157223.260341%736
4.6582004.758218222.550000%487
3.7722234.179379125.590705%978
3.3727253.401075131.703646%889

O mesmo comportamento pode ser observado, inclusive um pequeno aumento do ruído com o aumento da distância focal.

E se aumentarmos as margens?

Esta ideia me passou pela cabeça, e fiz uma modificação no script e gerei estes dados.

Resultado? Nenhuma mudança realmente significante. A região central teve uma melhora irrisória na média, no desvio padrão e no percentual da moda. As regiões periféricas, de 1 a 8, é que tiveram melhoras significativas. Isto pode ser causado pela inclusão de mais pixels com menos ruído da região central nestas regiões.

Abaixo vão os dados para quem quiser comparar.

Abaixo a tabela com ISO 200 e distância focal de 18 mm.

MédiaDesvio PadrãoModa% de modaContÁrea
0.3444830.553529069.256950%150
0.3581250.575526068.512500%91
0.3471550.567015069.389386%132
0.3503250.566882069.182500%73
0.3416630.554424069.588533%104
0.4069250.610243065.177500%75
0.4086390.603734064.757801%96
0.4056250.611108065.255000%87
0.3540380.563339068.519854%128
0.3381300.546555069.668452%99

Abaixo a tabela com ISO 200 e distância focal de 105 mm.

MédiaDesvio PadrãoModa% de modaContÁrea
0.4459260.594597060.280752%120
0.4482500.609780060.725000%81
0.4430820.606515060.978005%112
0.4467250.611409060.795000%103
0.4445620.598454060.586507%94
0.5197250.644377055.417500%85
0.5225590.641801055.109207%96
0.5207000.648176055.457500%97
0.4586570.604214059.291937%118
0.4387360.587841060.714454%89

Abaixo a tabela com ISO 3200 e distância focal de 18 mm.

MédiaDesvio PadrãoModa% de modaContÁrea
3.3936023.432239130.837443%1150
3.3736753.815653130.310000%541
3.1838913.648845133.863299%952
3.1879253.684555133.485000%523
3.3823263.620186131.080835%804
4.4025254.211762223.477500%515
4.4071163.931744223.723529%716
4.3344504.222776223.837500%577
3.5822693.752062127.547002%908
3.3122433.316700131.990273%839

Abaixo a tabela com ISO 3200 e distância focal de 105 mm.

MédiaDesvio PadrãoModa% de modaContÁrea
3.4401323.510186130.797139%1240
3.6186004.215943128.140000%641
3.4535613.890048130.914066%1002
3.4935504.121515131.242500%623
3.4393943.734558130.766005%984
4.4421254.247335223.497500%505
4.4221154.026824223.557161%766
4.4288504.284384223.397500%557
3.6258353.809089127.786467%938
3.3407933.375530132.169726%859

Outras câmeras

Eu tive poucas câmeras para fazer os testes, mas aqui vão os dados da minha Panasonic FZ28 e da Nikon D60 (Agradecimentos à Ale Perenyi).

Panasonic FZ28

Esta câmera é uma Ultra Zoom, e usa sensor CCD compacto, do mesmo tamanho das câmeras compactas, então se espera algumas diferenças de resultados entre ela e a Nikon D90, que usa sensor CMOS formato DX, e mais parecido com o que se deve esperar das compactas em geral.

Aconteceram variações de ruído segundo a região da imagem, mas devido ao nível maior de ruído do sensor compacto que esta câmera tem, o resultado final não tem muita diferença. Aliás, com algumas bordas menos ruidosas, a os resultados da região central foram um pouco piores que o da imagem como um todo. Ainda parece valer a observação da parte inferior da imagem ser mais ruidosa para ISO 1600.

Abaixo estão as tabelas com os dados para ISO 100 e ISO 1600, respectivamente, para o tempo de exposição de 1 s.

MédiaDesvio PadrãoModa% de modaContÁrea
17.2432513.4066961664.672413%3430
17.3136002.1903731660.160000%171
17.0138443.0354941667.333333%652
16.9088001.8093671669.490000%153
17.4326273.0271981661.126468%454
17.4842002.5062681661.570000%205
17.3683223.3029451663.899654%656
17.4511003.1632281662.210000%197
17.3238103.1079341663.099843%618
17.2393443.4458311664.752014%3309

MédiaDesvio PadrãoModa% de modaContÁrea
52.13016439.977223334.647102%5160
49.33770037.284606334.910000%2531
47.63692033.461813335.039792%3412
47.51410035.585863344.860000%2403
52.38876341.948711344.189507%3644
56.55370047.532007334.010000%2855
55.70627744.712495334.433103%3826
56.06770046.602136324.610000%2887
52.60714641.076346344.396241%3578
52.14378839.897740344.665116%5099

Nikon D60

Esta câmera tem o mesmo tamanho de  sensor que a Nikon D90, formato DX, mas usa sensor CCD, diferentemente da D90, que é CMOS.

Os dados para a Nikon D60 estão abaixo para o tempo de exposição de 1 segundo, e sensibilidades ISO de 100, 800 e 1600.

MédiaDesvio PadrãoModa% de modaContÁrea
0.6812581.065660063.035405%150
0.7484001.510869060.290000%81
0.7408511.098763060.463784%102
0.7072001.085074061.800000%93
0.6190181.008003065.405719%94
0.6131001.019761066.260000%85
0.6942861.089429063.152432%106
0.6409001.053973065.280000%77
0.6362371.235649064.925818%148
0.6811641.059092063.020307%99

MédiaDesvio PadrãoModa% de modaContÁrea
2.9016434.305410046.207925%620
3.5863004.915645042.340000%301
3.0425814.434371045.414865%432
3.1881004.578910044.090000%293
2.8006174.238439046.626191%374
3.1510004.534011043.790000%315
3.3123594.634513043.079459%396
3.5957004.898555041.580000%317
3.0685414.499567045.226689%478
2.8748564.278902046.400253%509

MédiaDesvio PadrãoModa% de modaContÁrea
6.1234918.916442044.156702%1050
7.2790009.860420040.150000%571
6.4650199.199286043.100000%762
7.3750009.970593040.440000%563
6.4097939.181949043.159967%704
7.59180010.288642039.480000%605
6.9104979.551817041.118649%746
7.3722009.886336039.600000%557
6.2909039.053398043.206797%828
6.0587208.858375044.398002%899

Também aconteceram variações nas bordas, tal como a Nikon D90, mas elas só se tornaram evidentes nas altas sensibilidades. Aqui parece não ter tido muita diferença entre qual borda, mas em alguns casos as quinas, os cantos, estão piores.

Conclusão

Parece que a observação visual que eu fiz estava planamente coerente com a realidade, e talvez o ruído ser um pouco maior nas bordas seja decisão de projeto. Digamos, se tem que escolher uma forma tal que, ou o centro fique mais ruidoso, ou as bordas ou fique tudo com nível igual de ruído, eu escolheria as bordas terem um pouco mais de ruído, de modo que o centro e a maior parte da imagem fique melhor. Teriam tomado a decisão que eu tomaria.

Outra implicação desta observação é, se quer diminuir o ruído, uma das coisas a ser feita é enquadrar um pouco mais do que a imagem desejada, especialmente a parte de baixo, e depois cortar as bordas na edição.

Nenhum comentário:

Postar um comentário