버그 잡이

아이폰 minimumFocusDistance에 따른 QR 인식 초점 이슈 본문

IOS

아이폰 minimumFocusDistance에 따른 QR 인식 초점 이슈

버그잡이 2025. 2. 16. 15:52

 

문제 상황

아이폰 특정 기기에서 AVFoundation을 사용하요 QR 인식을 할때 카메라를 피사체에 가까지 가져가면 초점이 흐려지는 증상

 

 

원인 분석

기기마다 최소초점거리(minimumFocusDistance)가 다르다.

기본 카메라 기준으로 아이폰 13의 경우 최조 초점 거리가 150mm 이고

아이폰 14 Pro는 200mm 이다.

그 결과 같은 2cm*2cm QR 코드를 인식할때,

아이폰 13은 200mm 거리에서도 피사체가 잘 인식되지만

아이폰 14 Pro는 200mm 거리에서 피사체에 대한 초점이 흐려지는 것이었다.

 

 

해결방법

AVFoundation에 있는 videoZoomFactor라는 값을 조정해서 카메라 zoom-in 정도를 조정할 수 있다.

미니멈 최소초점거리를 정하고 그것을 넘어설때는 그 비율만큼 줌을 조정해주는 것이다.

var camera: AVCaptureDevice? {
    // minimum 값은 타겟으로 하는 피사체의 크기에 따라 달라질 수 있다. 
    let minimumFocusDistanceInMillimeters = 150
    if let device = AVCaptureDevice.default(.builtInWideAngleCamera,
                                            for: .video,
                                            position: .back) {
        if device.minimumFocusDistance > minimumFocusDistanceInMillimeters {
            do {
                try device.lockForConfiguration()
                device.videoZoomFactor = CGFloat(minimumFocusDistanceInMillimeters / device.minimumFocusDistance)
                device.unlockForConfiguration()
                return device
            } catch {
                // Handle the error
            }
        } else {
            return device
        }
    }
    return nil
}

 

minimum 값을 150으로 했는데, 2cm*2cm QR이 목표였는데, 나의 경우 150mm에서는 잘 인식되었고 200mm에서는 잘 인식되지 않았다.

 

그래서,

150mm에서는 videoZoomFactor = 1,

200일때는 videoZoomFactor = 1.3 으로 셋팅 되도록 하였고

1.3배 zoom-in이 된 후에는 150mm 거리에서도 피사체에 대한 초점이 잘 유지되는 것을 확인할 수 있었다.

 

물론, 이게 정확히 계산되는 로직은 아니지만 가까이 있는 피사체를 인식할때 큰 이슈 없을 것으로 판단했다.
300mm까지 커진다고 해도 zoomFactor=2 로 2배 정도의 줌이고

zoomFacor=2 까지 테스트 해봤을때 2cm*2cm QR인식용으로 인식률에는 문제가 없었다.

 

현재까지 조사한 기본 카메라 기준 minimumFocusDistance는 아래와 같다.

  • 100mm: xs, 11, 12
  • 150mm: 14, 13, 12pro
  • 200mm: 14 Pro, 15, 15 Pro

 

WWDC21에도 minimumFocusDistance 관련 내용의 설명과 함께 videoZoomFacotor 조정 코드도 있다.

보다 정교한 방법의 코드인 것 같으니 같이 확인하면 좋을 것 같다.

https://developer.apple.com/videos/play/wwdc2021/10047/

 

What’s new in camera capture - WWDC21 - Videos - Apple Developer

Learn how you can interact with Video Effects in Control Center including Center Stage, Portrait mode, and Mic modes. We'll show you how...

developer.apple.com

 

 

 

*참고

https://medium.com/@timmy_tran/fix-the-iphone-14-pro-focus-issue-in-your-ios-app-3a3d6ff8a61a

 

 

반응형
Comments