Apple Vision 프레임워크: 대부분의 개발자가 건너뛰는 온디바이스 CV
Apple의 Vision 프레임워크, 즉 “OS” 접미사가 없는 그것은 24가지가 넘는 온디바이스 컴퓨터 비전 작업을 제공합니다. 대부분의 iOS 개발자는 이 프레임워크가 디바이스의 Neural Engine에서 밀리초 단위로 처리하는 작업에 OpenAI Vision API, Google Cloud Vision, 또는 AWS Rekognition을 기본값으로 사용합니다. 이러한 기본 선택은 평가가 아니라 편향을 반영합니다. 클라우드 API는 “현대적 AI”처럼 느껴지고 Vision은 “플랫폼 배관 작업”처럼 느껴지기 때문에, 플랫폼이 건너뛰어집니다. 이 편향은 플랫폼이 현재 무엇을 담고 있는지 잘못 읽고 있는 것입니다.
Vision은 로컬 우선 CV 프레임워크입니다. 사용 가능할 때는 Neural Engine에서 실행되고, 그렇지 않으면 GPU에서, 마지막 수단으로는 CPU에서 실행됩니다. 추론은 대부분의 작업에서 몇 밀리초 안에 일어납니다. 이 프레임워크는 호출당 비용이 들지 않습니다. 데이터는 디바이스를 떠나지 않습니다. API가 존재하지 않기 때문에 API 키도 존재하지 않습니다. iOS 앱이 수행하는 대부분의 컴퓨터 비전 작업에는 이것이 올바른 도구입니다.
TL;DR
- Apple Vision은 24가지가 넘는 온디바이스 CV 작업을 제공합니다. 텍스트 인식, 얼굴 감지 및 랜드마크, 신체 및 손 자세 추정, 바코드 읽기, 문서 분할, 이미지 임베딩, 시각적 주의도(saliency), 동물 감지, 윤곽선, 궤적, 옵티컬 플로우, 그리고 모든 Core ML 모델을 위한 러너입니다.
- 각 작업은 Neural Engine에서 밀리초 단위로 실행되며, 호출당 비용이 들지 않고, 네트워크가 필요 없으며, 제3자 텔레메트리를 생성하지 않습니다.
- 클라우드 API는 한 가지 특정 사례에서 우위를 점합니다. 이미지에 대한 복잡한 의미론적 추론(차트, 밈, 또는 문서의 의도를 이해하는 멀티모달 LLM). 픽셀 수준 작업(얼굴 찾기, 텍스트 읽기, 손 감지)에서는 Vision이 비용, 지연 시간, 프라이버시 면에서 우위를 점합니다.
- 에이전트 워크플로 연결: Vision의 결과는 네트워크 왕복 없이 App Intents와 Foundation Models 온디바이스 LLM 호출에 입력됩니다. 전체 파이프라인이 로컬에서 실행됩니다.
Vision이 실제로 담고 있는 것
Vision은 작업을 VNRequest 타입으로 그룹화합니다. 요청을 생성하고, 매개변수로 구성하고, 이미지(또는 CVPixelBuffer, CIImage, CGImage, URL)를 입력하여 실행합니다. 결과는 요청에 첨부된 관찰(observation)로 반환됩니다. 아래 카테고리는 iOS 26 기준 프레임워크의 영역을 다룹니다.
텍스트 인식
VNRecognizeTextRequest는 OCR을 수행합니다. 이 요청은 recognitionLevel(라이브 카메라 스트림용 .fast, 문서 스캔용 .accurate), 언어 힌트, 사용자 지정 단어 목록, 경계 상자 신뢰도를 지원합니다. iOS 18 이상에서 .accurate 경로는 영수증, 간판, 문서 전반에 걸쳐 인쇄된 텍스트를 잘 처리합니다. 손글씨 인식은 일부 언어에서 지원됩니다(Apple의 인식 언어 목록3을 참조하세요).
let request = VNRecognizeTextRequest { request, error in
guard let observations = request.results as? [VNRecognizedTextObservation] else { return }
let lines = observations.compactMap { $0.topCandidates(1).first?.string }
print(lines.joined(separator: "\n"))
}
request.recognitionLevel = .accurate
request.usesLanguageCorrection = true
request.recognitionLanguages = ["en-US"]
let handler = VNImageRequestHandler(cgImage: image, options: [:])
try handler.perform([request])
OpenAI Vision API를 통한 동일한 작업은 저해상도 모드에서 호출당 약 1센트의 일부, 고해상도 모드에서는 그보다 훨씬 더 많은 비용이 들고, 왕복에 1~3초가 걸리며, 이미지를 OpenAI 서버로 전송합니다. Vision은 로컬에서 100~300밀리초 안에 결과를 반환하며, 무료이고, 데이터 유출이 없습니다.
얼굴 감지 및 랜드마크
Vision에는 세 가지 계층의 얼굴 분석이 포함되어 있습니다.
VNDetectFaceRectanglesRequest는 프레임의 모든 얼굴에 대한 경계 상자를 반환합니다.VNDetectFaceLandmarksRequest는 얼굴별로 구조화된 랜드마크 영역(턱선, 입, 눈, 눈썹, 코, 동공)을 각각 여러 키포인트와 함께 반환합니다.VNDetectFaceCaptureQualityRequest는 조명, 선명도, 중앙 정렬을 반영하여 얼굴별 품질 점수(0~1)를 반환합니다. 앱은 이를 셀카 촬영을 게이트하거나 연사에서 가장 좋은 프레임을 자동으로 선택하는 데 사용할 수 있습니다.
얼굴을 찾고, 얼굴에 맞춰 자르고, 얼굴을 흐리게 하거나, 얼굴 수를 세야 하는 대부분의 앱에는 사각형 요청이 올바른 도구입니다. 사용자의 얼굴에 무언가를 애니메이션화하는 앱(필터, 마스크, 추적)에는 랜드마크와 동공 추적이 올바른 도구입니다. 이 중 어느 것도 모델 파일이나 네트워크 호출을 필요로 하지 않습니다.
신체 및 손 자세
VNDetectHumanBodyPoseRequest는 VNHumanBodyPoseObservation.JointName4에 명명된 19개의 관절(코, 목, 어깨, 팔꿈치, 손목, 엉덩이, 무릎, 발목, 귀, 눈, 루트)을 2D 좌표와 관절별 신뢰도와 함께 반환합니다. VNDetectHumanBodyPose3DRequest는 토폴로지를 3D 공간으로 확장하여 VNHumanBodyPose3DObservation 결과를 반환합니다. 이 요청은 디바이스가 이를 노출할 때 정확도를 향상시키기 위해 깊이 데이터(AVDepthData)를 사용하지만, LiDAR 스캐너가 필요하지는 않습니다.4 VNDetectHumanHandPoseRequest는 손가락 관절 해상도로 21개의 손 랜드마크를 반환합니다.
신체 자세는 피트니스 앱이 웨어러블 없이 반복 횟수를 세는 데 사용하는 것이며, AR 앱이 가상 콘텐츠를 사용자의 손에 부착하는 데 사용하고, 자세 앱이 폼을 평가하는 데 사용하는 것입니다. 손 자세는 제스처 인식(사용자가 손가락 두 개를 들면 앱이 두 개의 손가락을 봅니다)을 구동합니다. 둘 다 최신 iPhone에서 비디오 프레임 속도로 실행될 수 있어 라이브 AR 및 제스처 입력에 충분합니다. 클라우드 등가물은 Google MediaPipe 또는 독점 피트니스 기술 API이며, 이 프레임워크가 그것을 대체합니다.
바코드 및 QR
VNDetectBarcodesRequest는 대부분의 소매 및 재고 워크플로가 필요로 하는 심볼로지(QR, PDF417, Aztec, Code 128, Code 39, EAN-13, ITF14, Data Matrix, GS1 DataBar 등)를 읽고 원시 페이로드와 경계 사각형을 반환합니다. 감지는 밀리초 단위로 실행되며, Apple의 카메라 앱이 이미 검증한 저조도 조건에서도 작동합니다.
문서 분할
VNDetectDocumentSegmentationRequest는 프레임에서 직사각형 문서를 찾아 모서리 점을 반환하며, 원근감을 고려합니다. 이 요청은 문서 스캐너 앱이 문서를 평평한 이미지로 자르고 정렬하는 데 사용하는 것입니다. Apple 자체 VisionKit 프레임워크가 이 요청과 UI를 래핑하지만, 앱이 사용자 지정 UI가 필요할 때는 기본 작업을 직접 호출할 수 있습니다.
시각적 주의도 및 미학
VNGenerateAttentionBasedSaliencyImageRequest는 이미지에서 시청자의 주의가 어디에 가장 집중될 가능성이 높은지에 대한 히트맵을 반환합니다. VNGenerateObjectnessBasedSaliencyImageRequest는 객체가 있는 위치에 대한 히트맵을 반환합니다. iOS 181에서 공개 API로 추가된 VNCalculateImageAestheticsScoresRequest는 유틸리티 분류(메모, 스크린샷)와 미학적 가치를 포함한 미학 품질 점수를 반환합니다. 이 점수는 사진(Photos) 앱이 “Memory” 후보를 표시하는 데 사용하는 것이며, 자동 자르기 결정에 입력되는 것입니다.
이미지 분류 및 임베딩
VNClassifyImageRequest는 수백 개의 일반적인 객체 카테고리를 다루는 내장 분류기를 사용하여 이미지에 대한 상위 N개의 카테고리 레이블을 반환합니다.5 VNGenerateImageFeaturePrintRequest는 이미지 유사도 검색에 적합한 특징 벡터(모델의 임베딩)를 반환합니다.
임베딩은 사진 앱, 레시피 앱의 “유사한 요리 찾기”, 또는 무드보드 앱의 유사도 기반 중복 제거가 실제로 작동하는 방식입니다. 클라우드 등가물은 OpenAI CLIP 임베딩 또는 Google의 Vertex AI입니다. Vision은 로컬에서 무료로 반환합니다.
객체 추적 및 궤적
VNDetectTrajectoriesRequest는 프레임 전반에 걸쳐 움직이는 객체를 추적하고 포물선 궤적 피팅(던진 공, 발사한 화살)을 반환합니다. VNTrackObjectRequest는 비디오 시퀀스에서 수동으로 경계 지정된 객체를 따라갑니다.
궤적은 스포츠 앱(야구공, 농구공, 테니스공 추적)의 기본 프리미티브입니다. 감지는 라이브 AVFoundation 스트림에서 작동하며 실시간으로 결과를 반환합니다.
VNCoreMLRequest를 통한 사용자 지정 모델
VNCoreMLRequest는 모든 Core ML 모델을 Vision 파이프라인을 통해 실행합니다. 이 요청은 모델의 입력 설명을 기반으로 전처리(이미지 크기 조정, 색 공간 변환, 정규화)를 자동으로 처리합니다. 앱은 Create ML에서 사용자 지정 분류기를 학습하거나(소수의 카테고리, 카테고리당 100개의 샘플 이미지, 10분의 학습 시간), 게시된 모델을 다운로드하여 .mlpackage를 앱 번들에 드롭한 다음 세 줄의 코드로 Vision을 통해 실행합니다.
let model = try VNCoreMLModel(for: MyClassifier(configuration: .init()).model)
let request = VNCoreMLRequest(model: model) { request, error in
let results = request.results as? [VNClassificationObservation]
print(results?.first?.identifier, results?.first?.confidence)
}
let handler = VNImageRequestHandler(cgImage: image, options: [:])
try handler.perform([request])
사용자 지정 분류기를 위한 클라우드 등가물은 모델을 서버에 호스팅하고, 추론 컴퓨팅 비용을 지불하고, API를 관리하고, 네트워크 지연을 받아들이는 것입니다. Vision은 그것을 앱 번들의 .mlpackage와 요청 핸들러로 바꿔 놓습니다.
클라우드 API가 실제로 우위를 점하는 곳
Vision의 영역은 픽셀 수준 작업입니다. 이 사물을 찾고, 이 이미지를 분류하고, 이 텍스트를 인식합니다. 이 프레임워크는 이미지의 의미에 대한 복잡한 의미론적 추론을 제공하지 않습니다. 클라우드 API가 올바른 선택인 세 가지 경우는 다음과 같습니다.
멀티모달 LLM 이해. “이 이미지에서 이 사람은 무엇을 하고 있나요?” “이 차트는 오해의 소지가 있나요?” “이 메뉴를 번역하고 어떤 항목이 채식인지 알려주세요.” 이 중 어느 것도 픽셀 수준 질문이 아닙니다. 이는 시각적 인식을 세계 지식 및 언어와 결합할 수 있는 대규모 멀티모달 모델을 필요로 합니다. Apple의 Foundation Models(온디바이스 LLM, Foundation Models 온디바이스 LLM에서 다룹니다)는 이 중 일부를 온디바이스에서 처리하기 시작했지만, 복잡한 추론에서는 GPT-4o, Claude Sonnet, 또는 Gemini가 여전히 우위를 점합니다.
학습 데이터 없이 일회성 사용자 지정 작업. Vision의 분류 모델은 고정되어 있고, 사용자 지정 Core ML 모델은 학습 데이터가 필요합니다. 멀티모달 LLM은 라벨링된 학습 예제 하나도 보지 않고 “이것은 나비넥타이를 한 고양이의 사진인가요?”에 답할 수 있습니다. 학습 데이터를 수집하는 것이 너무 비싼 프로토타이핑이나 일회성 작업의 경우, 클라우드 LLM이 올바른 도구입니다.
OCR을 넘어선 문서 인텔리전스. Vision의 OCR은 텍스트를 반환합니다. 문서 인텔리전스 API(AWS Textract, Google Document AI, Azure Form Recognizer)는 송장 번호, 날짜, 품목, 합계와 같은 구조화된 필드를 반환합니다. 구조화가 부가가치이지 OCR이 아닙니다. 고가치 문서 워크플로의 경우 클라우드 API가 일반적으로 옳습니다. “이 영수증을 읽고 텍스트를 덤프하세요”의 경우 Vision입니다.
패턴은 이렇습니다. 클라우드는 추론과 고도로 전문화된 수직 API에서 우위를 점하고, Vision은 인식 프리미티브에서 우위를 점합니다.
정직한 지연 시간 및 비용 비교
iPhone 16 Pro(A18 Pro 칩)에서 실행되는 대표적인 추론 파이프라인입니다.
| 작업 | Vision (온디바이스) | OpenAI Vision API | AWS Rekognition |
|---|---|---|---|
| OCR (영수증 1장) | 150~300 ms | 1~3초 왕복 + 이미지당 비용 | 200~500 ms + 이미지당 비용 |
| 얼굴 감지 (1프레임) | 5~15 ms | 1~2초 + 비용 | 100~300 ms + 비용 |
| 신체 자세 (라이브 60fps) | <16 ms | 실시간 불가 | 실시간 불가 |
| 이미지 임베딩 | 20~40 ms | 200~500 ms + 비용 | 직접 제공되지 않음 |
| 사용자 지정 분류기 | 모델 크기에 따라 다름 | 호스팅된 모델 필요 | 호스팅된 모델 필요 |
위 숫자는 공개된 Apple 벤치마크와 개발자가 보고한 측정치에서 도출되었습니다. 메시지는 정확한 수치가 아니라 자릿수 차이입니다. Vision의 우위는 비용(호출당 0원), 테일 지연 시간(네트워크 지터 없음), 프라이버시(데이터가 디바이스를 떠나지 않음)에 있습니다.
비용은 앱이 비전 작업을 자주 호출할 때 누적됩니다. 세션당 100개의 이미지를 처리하는 사진 편집 앱은 클라우드 API를 통해서는 세션당 달러 단위의 비용이 들고, Vision을 통해서는 0원입니다.
에이전트 워크플로 연결
Vision은 이미 출시된 두 가지 클러스터 아이디어와 깔끔하게 짝을 이룹니다.
Apple Intelligence를 위한 App Intents 도구. 앱이 AppIntent를 통해 “내 사진에서 얼굴 찾기” 또는 “스크린샷에서 텍스트 읽기” 기능을 노출하면, 인텐트의 perform 메서드가 Vision을 로컬로 실행하고 구조화된 결과를 반환합니다. Apple Intelligence의 오케스트레이터는 사용자의 사진을 서버로 보내지 않고 인텐트를 호출할 수 있습니다. App Intents에 대한 글이 표면 계약을 다룹니다.
Foundation Models 온디바이스 LLM. 인식과 추론이 모두 필요한 파이프라인은 먼저 Vision을 실행하고(텍스트 추출, 얼굴 찾기, 객체 위치 파악), 그 다음 Foundation Models를 실행합니다(발견된 것에 대해 추론하고, 요약을 생성). 두 단계 모두 온디바이스에서 실행됩니다. 총 네트워크 호출: 0. Foundation Models에 대한 글이 LLM을 호출하는 방법을 설명합니다. 이 글은 Vision이 클라우드 왕복 없이 그것에 입력하는 것이라고 주장합니다.
let textRequest = VNRecognizeTextRequest()
textRequest.recognitionLevel = .accurate
let handler = VNImageRequestHandler(cgImage: receiptImage, options: [:])
try handler.perform([textRequest])
let extractedText = (textRequest.results ?? [])
.compactMap { ($0 as? VNRecognizedTextObservation)?.topCandidates(1).first?.string }
.joined(separator: "\n")
let llmResponse = await foundationModel.generate(
"Summarize this receipt as JSON with merchant, total, and date fields:\n\(extractedText)"
)
전체 파이프라인이 디바이스에서 실행됩니다. API 키 없음. 네트워크 호출 없음. 제3자 데이터 노출 없음.
지난 두 릴리스 동안 성숙해진 것
Apple의 릴리스 노트2를 기준으로 보수적으로 날짜를 지정하여, 이름을 붙일 가치가 있는 세 가지 추가 사항입니다.
공개 API로서의 미학 점수(iOS 18). VNCalculateImageAestheticsScoresRequest는 유틸리티 분류와 미학적 가치를 포함한 점수를 반환하여, 이전에는 사진 큐레이션 앱이 사용자 지정 Core ML 모델로 근사화해야 했던 것을 대체합니다.
향상된 다국어 OCR. VNRecognizeTextRequest는 최근 릴리스에서 비라틴 문자 지원을 확장하여, 역사적으로 더 강력한 다국어 커버리지를 가졌던 클라우드 OCR 서비스와의 격차를 좁혔습니다. Apple의 텍스트 인식 문서3에서 현재 언어 지원을 확인할 수 있습니다.
VisionKit 통합을 통한 문서 분할. VNDetectDocumentSegmentationRequest는 직사각형 문서를 찾아 모서리 점을 반환합니다. VisionKit의 VNDocumentCameraViewController는 사용자를 위해 디자인된 UI에서 문서 캡처를 래핑하고, DataScannerViewController(iOS 16 이상)는 라이브 텍스트 및 기계 판독 가능 코드 스캔을 다룹니다.6
이 프레임워크의 대표적인 기능(얼굴, 텍스트, 자세, 바코드, 임베딩)은 여러 iOS 릴리스 동안 성숙해 왔습니다. 패턴은 이렇습니다. 재발명이 아니라 확장입니다.
대부분의 개발자가 Vision을 건너뛰는 이유
사례가 명확함에도 불구하고 이 프레임워크가 건너뛰어지는 세 가지 이유가 있습니다.
클라우드 우선 습관. 대부분의 현대 AI 개발은 클라우드 API를 우선으로 진행됩니다. 개발자는 OpenAI를 호출하는 방법을 알고 있습니다. VNRecognizeTextRequest에 VNImageRequestHandler와 VNRecognizedTextObservation을 더한 표면적은 OpenAI Vision을 호출하는 것보다 줄 수 기준으로는 더 적은 줄임에도 불구하고, 더 많은 API를 배워야 하는 것처럼 느껴집니다(인증 없음, HTTP 없음, 재시도 없음, JSON 파싱 없음).
기능에 대한 오판. 최근에 이 프레임워크를 확인하지 않은 개발자들은 그것이 OCR과 바코드만을 다룬다고 가정합니다. 위의 카테고리 목록은 24가지가 넘는 기능이며, 그중 일부는 클라우드 네이티브 등가물이 없고, 일부는 비용 없이 상용 API와 일치합니다.
프로토타입과 프로덕션의 분기. 클라우드 API는 초기 프로토타이핑에서 우위를 점하며(결과를 얻기 위한 단일 curl 명령), 프로토타입은 재평가 없이 프로덕션 파이프라인으로 전환됩니다. 올바른 행동은 가장 빠른 것으로 프로토타이핑하고 워크플로가 실제가 되면 인식 계층을 재평가하는 것입니다.
해결책은 클라우드 API를 거부하는 것이 아닙니다. 해결책은 플랫폼이 무엇을 담고 있는지 알아서 선택이 진짜가 되도록 하는 것입니다.
이 패턴이 iOS 26+ 앱에 의미하는 것
세 가지 시사점입니다.
-
인식 프리미티브에는 Vision을 기본값으로 사용하세요. 얼굴 찾기, 텍스트 읽기, 바코드 감지, 자세 추정 실행, 이미지 임베딩 가져오기. 이 프레임워크는 Neural Engine에서 밀리초 단위로 실행되고, 비용이 0이며, 제3자 데이터 흔적을 남기지 않습니다. 픽셀 수준 CV 작업의 경우, 이 프레임워크가 올바른 출발점입니다.
-
인식이 아니라 추론에 클라우드 API를 사용하세요. 이미지의 의미를 이해하는 멀티모달 LLM, 구조화된 필드를 추출하는 수직 문서 인텔리전스 API, 학습 데이터 없는 일회성 사용자 지정 작업. 그것들이 클라우드의 영역입니다. 그것들을 클라우드에 양도하는 것이 옳습니다.
-
완전한 온디바이스 파이프라인을 위해 Vision을 Foundation Models와 짝지으세요. 인식(Vision)이 추론(온디바이스 LLM)에 입력됩니다. 파이프라인은 끝에서 끝까지 로컬로 실행되며, API 키, 네트워크 지터, 디바이스를 떠나는 텔레메트리가 없습니다. 클러스터의 Foundation Models 글이 LLM 절반을 다룹니다. Vision은 입력 절반입니다.
전체 Apple Ecosystem 클러스터: 타입이 지정된 App Intents; MCP 서버; 라우팅 질문; Foundation Models; 런타임 대 도구화 LLM 구분; 세 가지 표면; 단일 진실 공급원 패턴; 두 개의 MCP 서버; Apple 개발용 훅; Live Activities; watchOS 런타임; SwiftUI 내부; RealityKit의 공간 정신 모델; SwiftData 스키마 규율; Liquid Glass 패턴; 멀티 플랫폼 출시; 플랫폼 매트릭스; 내가 쓰지 않기로 한 것. 허브는 Apple Ecosystem Series에 있습니다. 더 광범위한 iOS-with-AI-agents 컨텍스트는 iOS Agent Development guide를 참조하세요.
FAQ
Apple Vision과 visionOS의 차이점은 무엇인가요?
Vision 프레임워크는 iOS, macOS, visionOS를 위한 온디바이스 컴퓨터 비전 API입니다. visionOS는 Apple Vision Pro의 운영 체제입니다. 이름이 겹치는 것은 유감스러운 일입니다. Vision(프레임워크)은 모든 최신 Apple 디바이스에서 실행되며, visionOS(OS)는 특히 Vision Pro 하드웨어에서 실행됩니다.
OpenAI Vision API 또는 Google Cloud Vision 대신 Vision을 언제 사용해야 하나요?
픽셀 수준 인식 작업(얼굴 찾기, 텍스트 읽기, 객체 감지, 항목 수 세기, 자세 추정, 이미지 임베딩 생성)의 경우, Vision은 거의 항상 올바른 선택입니다. 이는 밀리초 단위로 실행되고, 추론당 비용이 들지 않으며, 사용자 데이터를 디바이스에 보관합니다. 클라우드 API는 작업이 이미지의 의미에 대한 복잡한 의미론적 추론을 필요로 하거나, 수직 문서 인텔리전스 API가 텍스트 추출을 넘어선 구조화된 필드를 제공할 때 적합합니다.
Vision을 통해 내 자체 Core ML 모델을 실행할 수 있나요?
네. VNCoreMLRequest는 모든 Core ML 모델을 래핑하고 전처리를 자동으로 처리합니다. .mlpackage 파일을 앱 번들에 드롭하고, 모델을 인스턴스화하고, VNCoreMLModel로 래핑한 다음 요청 핸들러를 통해 실행합니다. 동일한 핸들러는 내장된 Vision 요청과 사용자 지정 Core ML 모델을 포함하여 여러 요청을 병렬로 실행할 수 있습니다.
Vision 디스패치는 Apple Silicon에서 어떻게 작동하나요?
Vision(과 그것이 실행하는 Core ML 모델)은 사용 가능할 때 Neural Engine에 자동으로 디스패치되고, 그렇지 않으면 GPU로, 마지막 수단으로는 CPU로 폴백합니다. 이 프레임워크는 디바이스와 작업에 가장 빠른 경로를 선택합니다. 대부분의 최신 iPhone(A12 Bionic 이상)에서 Neural Engine이 추론의 대부분을 처리합니다. 개발자는 디스패치를 수동으로 구성하지 않습니다.
iOS 18과 iOS 26의 새로운 점은 무엇인가요?
Apple의 릴리스 노트를 기준으로 한 보수적인 요약입니다. VNCalculateImageAestheticsScoresRequest는 iOS 18에서 공개 API로 추가되었습니다. VNRecognizeTextRequest는 최근 릴리스에서 다국어 지원을 확장했습니다. VisionKit의 DataScannerViewController(iOS 16 이상)는 라이브 텍스트 및 기계 판독 가능 코드를 다루며, VNDocumentCameraViewController는 문서 캡처를 다룹니다. 대표적인 기능(텍스트, 얼굴, 자세, 바코드, 임베딩)은 여러 iOS 릴리스 동안 성숙해 왔습니다.
참고 문헌
-
Apple Developer Documentation:
VNCalculateImageAestheticsScoresRequest, iOS 18.0+에서 도입됨. ↩ -
Apple Developer Documentation: Vision framework, 사용 가능한 요청 및 플랫폼 가용성에 대한 참조. ↩
-
Apple Developer Documentation: Recognizing Text in Images 및
VNRecognizeTextRequest, 지원되는 인식 언어. ↩↩ -
Apple Developer Documentation:
VNDetectHumanBodyPose3DRequest및VNHumanBodyPoseObservation.JointName. 3D 신체 자세는 디바이스가 이를 노출할 때AVDepthData를 사용하며, LiDAR는 필요하지 않습니다. ↩↩ -
Apple Developer Documentation:
VNClassifyImageRequest및 런타임 레이블 세트에 대한knownClassifications(forRevision:). ↩ -
Apple Developer Documentation:
DataScannerViewController(iOS 16 이상, 라이브 텍스트 및 기계 판독 가능 코드 스캔) 및VNDocumentCameraViewController(문서 캡처). ↩