Introduce ARKit 6
AR 이란?
- 가상현실의 한 분야로 실제 환경에 가상 사물이나 정보를 합성하여 원래 환경과 같도록 보이게 하는 기법

ARKit 이란?
ARKit 6에서 달라진 점
- 4K Video
- Camera enhancement
- Plane anchors
- Motion captures
- Location Anchors
4K Video
Video 기존 적용 방식
비닝을 통해 2 * 2 픽셀 영역을 가져오고


이 2 * 2 픽셀의 평균값을 내서 단일 픽셀로 다시 쓴다.
이렇게 되면 기존 픽셀 영역이 절반으로 줄어들게 되고 그만큼 메모리 처리능력이 늘어난다.
또한 센서 노이즈의 영향을 줄여준다.
ARKit 6 Video 변경점
비닝을 건너뛰고 직접 기존 픽셀 영역 만큼을 전부 적용한다.

이렇게 되면 풀 4K 고해상도 이미지를 활용할 수 있다.

기존 HD 해상도 ARKit 6의 4K 해상도
if let hiResCaptureVideoFormat = ARWorldTrackingConfiguration.recommendedVideoFormatForHighResolutionFrameCapturing {
config.videoFormat = hiResCaptureVideoFormat
}
session.run(config)
recommendedVideoFormatForHighResolutionFrameCapturing 에서 4K Video 형식을 반환하고
만약 4K를 지원하지않으면 nil 을 반환한다.
4K Video는 아이폰 11부터 아이패드 M1칩 이상이 탑재된 기기에서 지원한다.
Camera enhancement
고해상도 배경 사진 API
- ARKit 이 활성화되는 중에도 기본 카메라 해상도로 촬영이 가능하다.
- 또한 기존 촬영했던 이미지의 위치로 이동할 수 있도록 지원하며 이동 후에는 어느 촬영 장소인지 까지 표시해준다.

새로운 HDR 모드 활성화
더 넓은 범위의 색상을 캡쳐해 디스플레이에 매핑한다.

HDR 모드 비활성화 HDR 모드 활성화
오른쪽의 구름 사진을 보면 왼쪽보다 더 잘 보존되고 선명한 것을 볼 수 있다.
EXIF 태그를 읽는 방법
- EXIF 태그란
이런식으로 사진에 대한 정보라고 보면 쉬울 것 같다
작성 방법은
open class ARFrame : NSObject, NSCopying {
...
/**
A dictionary of EXIF metadata for the captured image.
*/
@available(iOS 16.0, *)
var exifData: [String: Any] { get }
작성내용으로는 화이트 밸런스, 노출, 기타설정 정보가 포함된다.
Plane anchors
ARKit 6 에서는 평면 앵커와 평면 기하가 완전히 분리되었다.
아래는 움직이기전의 평면 앵커 이미지이다.

이 상태에서 이동을 하면 새 부분을 고려해 평면의 새로운 방향이 반영되고 이때 앵커의 움직임 여부가 ARKit 6 에서 달라진다.

iOS 15의 ARKit 5 iOS 16의 ARKit 6
Motion captures
2D 뼈대와 3D 관절이 업데이트 되었다.
2D 에서는 귀를 추적하게 되었고 포즈 감지 기능을 대폭 상향했다.
3D 에서는 뼈대가 개선되었고 사람의 일부가 가려지거나 카메라에 가까이 다가가도 안정적으로 추적한다.

2D 3D
Introduce ARKit 6
AR 이란?
ARKit 이란?
ARKit 6에서 달라진 점
4K Video
Video 기존 적용 방식
비닝을 통해 2 * 2 픽셀 영역을 가져오고


이 2 * 2 픽셀의 평균값을 내서 단일 픽셀로 다시 쓴다.
이렇게 되면 기존 픽셀 영역이 절반으로 줄어들게 되고 그만큼 메모리 처리능력이 늘어난다.
또한 센서 노이즈의 영향을 줄여준다.
ARKit 6 Video 변경점
비닝을 건너뛰고 직접 기존 픽셀 영역 만큼을 전부 적용한다.

이렇게 되면 풀 4K 고해상도 이미지를 활용할 수 있다.
기존 HD 해상도 ARKit 6의 4K 해상도
recommendedVideoFormatForHighResolutionFrameCapturing 에서 4K Video 형식을 반환하고
만약 4K를 지원하지않으면 nil 을 반환한다.
4K Video는 아이폰 11부터 아이패드 M1칩 이상이 탑재된 기기에서 지원한다.
Camera enhancement
고해상도 배경 사진 API
새로운 HDR 모드 활성화
더 넓은 범위의 색상을 캡쳐해 디스플레이에 매핑한다.

HDR 모드 비활성화 HDR 모드 활성화
오른쪽의 구름 사진을 보면 왼쪽보다 더 잘 보존되고 선명한 것을 볼 수 있다.
EXIF 태그를 읽는 방법
작성 방법은
작성내용으로는 화이트 밸런스, 노출, 기타설정 정보가 포함된다.
Plane anchors
ARKit 6 에서는 평면 앵커와 평면 기하가 완전히 분리되었다.

아래는 움직이기전의 평면 앵커 이미지이다.
이 상태에서 이동을 하면 새 부분을 고려해 평면의 새로운 방향이 반영되고 이때 앵커의 움직임 여부가 ARKit 6 에서 달라진다.

iOS 15의 ARKit 5 iOS 16의 ARKit 6Motion captures
2D 뼈대와 3D 관절이 업데이트 되었다.

2D 에서는 귀를 추적하게 되었고 포즈 감지 기능을 대폭 상향했다.
3D 에서는 뼈대가 개선되었고 사람의 일부가 가려지거나 카메라에 가까이 다가가도 안정적으로 추적한다.
2D 3D