
“By allowing exposures up to 4 minutes on Pixel 4, and 1 minute on Pixel 3 and 3a, the latest version makes it possible to take sharp and clear pictures of the stars in the night sky or of nighttime landscapes without any artificial light,” Google says.
As Google goes on to explain, the amount of light that a camera’s image sensor detects inherently has some uncertainty. This is called shot noise, and it’s the reason why low light photos get riddled with grain (or noise). The more light a camera sensor can let in, the better.
“Extending the exposure time for a photo increases the total amount of light captured, but if the exposure is long, motion in the scene being photographed and unsteadiness of the handheld camera can cause blur. To overcome this, Night Sight splits the exposure into a sequence of multiple frames with shorter exposure times and correspondingly less motion blur,” Google explains.
Night Sight also takes into consideration that photos viewed on a screen can appear much brighter. To counter this effect, Night Sight uses machine learning to detect which parts of an image represent the sky.
“An on-device convolutional neural network, trained on over 100,000 images that were manually labeled by tracing the outlines of sky regions, identifies each pixel in a photograph as ‘sky’ or ‘not sky’. Sky detection also makes it possible to perform sky-specific noise reduction, and to selectively increase contrast to make features like clouds, color gradients, or the Milky Way more prominent,” Google says.
There’s more to it than that, and if you have a coffee break to spare, it’s worth reading the blog post in its entirety (hit the link in the Via field below).
Images source: Google
‘).insertAfter(jQuery(‘#initdisqus’));
}
loadDisqus(jQuery(‘#initdisqus’), disqus_identifier, url);
}
else {
setTimeout(function () { disqusDefer(); }, 50);
}
}
disqusDefer();
function loadDisqus(source, identifier, url) {
if (jQuery(“#disqus_thread”).length) {
jQuery(“#disqus_thread”).remove();
}
jQuery(‘
‘).insertAfter(source);
if (window.DISQUS) {
DISQUS.reset({
reload: true,
config: function () {
this.page.identifier = identifier;
this.page.url = url;
}
});
} else {
//insert a wrapper in HTML after the relevant “show comments” link
disqus_identifier = identifier; //set the identifier argument
disqus_url = url; //set the permalink argument
//append the Disqus embed script to HTML
var dsq = document.createElement(‘script’); dsq.type = ‘text/javascript’; dsq.async = true;
dsq.src = ‘https://’ + disqus_shortname + ‘.disqus.com/embed.js’;
jQuery(‘head’).append(dsq);
}
jQuery(‘.show-disqus’).show();
source.hide();
};
function disqusEvent()
{
idleTime = 0;
}



