I just watched Matt Granger’s “The Problem with Nikon Mirrorless…” YouTube video and thought to myself how simple it would be to solve the Nikon focus issues with birds/animals/people detect. The Nikon Z9, Z8, Z7 II and basically all Nikon mirrorless cameras have, under certain circumstances, difficulties in focusing on the subject.
Admittedly it’s much easier to criticize than to actually fix something. However, here I’m trying to come up with a solution.
The Problem
On Nikon mirrorless cameras, when subject detection is enabled, the camera may not be able to detect the subject and keeps focusing on the background. This usually happens when the background is busy.
Like Matt Granger explains, this can be overcome by using manual focus override to pull back the focus. The second work-around is to point the camera to a closer subject to refocus on that. While both methods are workable, they are cumbersome and lead to lost shots.
The Solution
Yes, I’m a smart-ass. This is why I propose the following to the Nikon camera firmware team (and no, it’s not exactly what Matt Granger suggested):
if [ $subject_detect=true ]; then
while [ $subject_detected=false ]; do
if [ $center_focused=false ] && \
[ $background_focused=true ]; then
pull_back_focus
fi
subject_detect=${detect_subject}
done
fi
If the camera is set to subject detect, then as long as the camera hasn’t identified a subject, do the following:
- If the center area is NOT focused, AND
- the background IS focused, then
- pull back the focus
- Run the detect_subject function and see if a subject has been found
What’s the reasoning behind the above algorithm?
Most photographers will point the camera at the subject to be acquired. We put our subject at the center of the frame and hope for the camera to acquire focus. Only when the focus has been acquired do we recompose.
That should work for static subjects. But what about BIF (birds in flight) or any other fast moving subject? That is more challenging as we won’t be able to keep the subject in or close to the center of the frame.
The AF-ON button may offer a way to work around this problem. Known as back-button focus, the focus system is activated by pressing the AF-ON button on the back of the camera. Nikon could program it as follows:
if [ $subject_detect=true ]; then
while [ $subject_detected=false ]; do
timer=0
while [ $AF_ON=false ]; do
wait_for_AF_ON
((timer++))
done
if [ timer < 2000 ]; then
# AF-ON button was pressed again
# within less than 2000 milliseconds
pull_back_focus
fi
subject_detect=${detect_subject}
done
fi
Here is the logic behind the above code:
- I’m not happy with the focus acquisition and release the AF-ON button
- If I press the AF-ON button again within 2 seconds, pull back the focus
- Run the detect_subject function and see if a subject has been found
In simple words, have the camera pull the focus back when the user quickly disables and enables the focus system using the AF-ON button. This mechanism should be user selectable via the menu, as well as the timer threshold (for example 1 second instead of 2).
Conclusion
Nikon has been amazing in coming out with camera firmware releases that improve on existing features and add new ones on top. Like the latest firmware 2.0 release for the Nikon Z8 that brings almost all the goodies of the Z9 to the Z8, and even adds on top.
Yet in certain scenarios the Nikon focusing system trails slightly behind competition like Canon and Sony. However, I believe that the problems can be fixed or at least minimized with some relatively simple changes in the logic of the focusing system.