찾기 가능한 카메라 개요
HoloLens에는 앱이 사용자가 보는 것을 볼 수 있도록 디바이스 전면에 탑재된 세계 지향 카메라가 포함되어 있습니다. 개발자는 스마트폰, 휴대용 또는 데스크톱의 컬러 카메라와 마찬가지로 카메라에 액세스하고 제어할 수 있습니다. 모바일 및 데스크톱에서 작동하는 동일한 유니버설 Windows 미디어 캡처 및 Windows Media Foundation API는 HoloLens에서 작동합니다. Unity는 HoloLens에서 카메라 사용 기능을 추상화하기 위해 이러한 Windows API를 래핑 했습니다. 기능 작업에는 일반 사진 및 비디오 촬영(홀로그램 유무)과 장면의 카메라 위치 및 원근 위치 찾기가 포함됩니다.
디바이스 카메라 정보
HoloLens(1세대)
자동 흰색 균형, 자동 노출 및 전체 이미지 처리 파이프라인을 사용하여 PV(포커스 사진/비디오) 카메라를 수정했습니다.
흰색 개인 정보 보호 LED는 카메라가 활성화 될 때마다 조명하는 세계를 향합니다.
카메라는 30, 24, 20, 15 및 5 fps에서 다음 모드(모든 모드는 16:9 가로 세로 비율)를 지원합니다.
동영상 미리 보기 아직도 가로 보기 필드(H-FOV) 권장 사용량 1280 x 720 1280 x 720 1280 x 720 45 deg (비디오 손떨림 보정이 있는 기본 모드) 해당 없음 해당 없음 2048x1152 67 deg 고해상도 스틸 이미지 1408x792 1408x792 1408x792 48 deg 비디오 안정화 전 오버스캔(패딩) 해상도 1344x756 1344x756 1344x756 67 deg 오버스캔이 있는 대형 FOV 비디오 모드 896x504 896x504 896x504 48 deg 이미지 처리 작업에 대한 저전력/저해상도 모드
HoloLens 2
자동 흰색 균형, 자동 노출 및 전체 이미지 처리 파이프라인이 있는 PV(사진/비디오) 카메라 자동 초점. 자동 초점 시스템은 개체 거리를 30cm에서 무한대로 조정할 수 있습니다. HoloLens 2 PV 카메라 렌즈의 유효 초점 길이는 4.87mm +/- 5%입니다. 제조 허용 오차로 인한 5% 변형 외에도 자동 초점 시스템으로 인해 초점 길이가 동적으로 변경됩니다. AF 이동(스트로크)은 최대 0.2mm입니다.
흰색 개인 정보 보호 LED는 카메라가 활성화 될 때마다 조명하는 세계를 향합니다.
HoloLens 2 다양한 카메라 프로필을 지원합니다. 카메라 기능을 검색하고 선택하는 방법을 알아봅니다.
카메라는 다음 프로필 및 해상도를 지원합니다(모든 비디오 모드는 16:9 가로 세로 비율임).
프로필 동영상 미리 보기 아직도 프레임 속도 가로 보기 필드(H-FOV) 권장 사용량 레거시, 0 BalancedVideoAndPhoto, 100 2272x1278 2272x1278 15.30 64.69 고품질 비디오 녹화 레거시, 0 BalancedVideoAndPhoto,100 896x504 896x504 15.30 64.69 고품질 사진 캡처를 위한 미리 보기 스트림 레거시, 0 BalancedVideoAndPhoto, 100 3904x2196 64.69 고품질 사진 캡처 BalancedVideoAndPhoto, 120 1952x1100 1952x1100 1952x1100 15.30 64.69 긴 기간 시나리오 BalancedVideoAndPhoto, 120 1504x846 1504x846 15.30 64.69 긴 기간 시나리오 VideoConferencing, 100 1952x1100 1952x1100 1952x1100 15, 30,60 64.69 화상 회의, 장기 시나리오 화상 회의, 100 1504x846 1504x846 5, 15, 30,60 64.69 화상 회의, 장기 시나리오 화상 회의, 100 BalancedVideoAndPhoto, 120 1920 x 1080 1920 x 1080 1920 x 1080 15, 30 64.69 화상 회의, 장기 시나리오 화상 회의, 100 BalancedVideoAndPhoto, 120 1280 x 720 1280 x 720 1280 x 720 15, 30 64.69 화상 회의, 장기 시나리오 화상 회의, 100 BalancedVideoAndPhoto,120 1128x636 15, 30 64.69 화상 회의, 장기 시나리오 화상 회의, 100 BalancedVideoAndPhoto, 120 960 x 540 15,30 64.69 화상 회의, 장기 시나리오 화상 회의, 100 BalancedVideoAndPhoto, 120 760x428 15, 30 64.69 화상 회의, 장기 시나리오 화상 회의, 100 BalancedVideoAndPhoto, 120 640x360 15, 30 64.69 화상 회의, 장기 시나리오 화상 회의, 100 BalancedVideoAndPhoto, 120 500x282 15, 30 64.69 화상 회의, 장기 시나리오 화상 회의, 100 BalancedVideoAndPhoto, 120 424x240 15, 30 64.69 화상 회의, 장기 시나리오
참고
고객은 혼합 현실 캡처 를 활용하여 홀로그램을 포함하고 비디오 안정화를 사용하는 앱의 비디오 또는 사진을 찍을 수 있습니다.
사용자 캡처의 콘텐츠가 가능한 한 멋지게 보이도록 하려면 몇 가지 사항을 고려해야 합니다. 앱 내에서 직접 혼합 현실 캡처를 사용하도록 설정(및 사용자 지정)할 수도 있습니다. 개발자를 위한 혼합 현실 캡처에서 자세히 알아보세요.
세계에서 디바이스 카메라 찾기
HoloLens가 사진과 비디오를 찍을 때 캡처된 프레임에는 전 세계 카메라의 위치와 카메라의 렌즈 모델이 포함됩니다. 이 정보를 통해 애플리케이션은 증강 이미징 시나리오를 위해 실제 환경에서 카메라의 위치를 추론할 수 있습니다. 개발자는 즐겨 찾는 이미지 처리 또는 사용자 지정 컴퓨터 비전 라이브러리를 사용하여 자신의 시나리오를 창의적으로 롤할 수 있습니다.
HoloLens 설명서의 다른 곳에 있는 "카메라"는 "가상 게임 카메라"(앱이 렌더링하는 frustum)를 참조할 수 있습니다. 달리 설명하지 않는 한 이 페이지의 "카메라"는 실제 RGB 색 카메라를 나타냅니다.
왜곡 오류
HoloLens 2 비디오 및 스틸 이미지 스트림은 애플리케이션에서 프레임을 사용할 수 있게 되기 전에 시스템의 이미지 처리 파이프라인에서 검사되지 않습니다. 미리 보기 스트림에는 원래 왜곡된 프레임이 포함되어 있습니다. CameraIntrinsics만 사용할 수 있으므로 애플리케이션은 이미지 프레임이 완벽한 핀홀 카메라를 나타낸다고 가정해야 합니다.
HoloLens(1세대)에서는 프레임 메타데이터에서 CameraIntrinsics를 사용할 때 이미지 프로세서의 방해받지 않는 함수가 여전히 최대 10픽셀의 오류를 남길 수 있습니다. 대부분의 사용 사례에서 이 오류는 중요하지 않습니다. 그러나 예를 들어 홀로그램을 실제 포스터 또는 마커에 맞추는 경우 10px 오프셋(2미터 떨어진 홀로그램의 경우 약 11mm)을 발견 < 하면 이 왜곡 오류가 원인일 수 있습니다.
찾기 가능한 카메라 사용 시나리오
캡처된 세계에서 사진 또는 비디오 표시
디바이스 카메라 프레임에는 이미지를 캡처할 때 디바이스가 어디에 있었는지 정확하게 표시하는 데 사용할 수 있는 "Camera To World" 변환이 함께 제공됩니다. 예를 들어 이 위치(CameraToWorld.MultiplyPoint(Vector3.zero))에 작은 홀로그램 아이콘을 배치하고 카메라가 향하고 있는 방향으로 작은 화살표를 그릴 수도 있습니다(CameraToWorld.MultiplyVector(Vector3.forward)).
태그/패턴/포스터/개체 추적
많은 혼합 현실 애플리케이션은 인식 가능한 이미지 또는 시각적 패턴을 사용하여 공간에서 추적 가능한 지점을 만듭니다. 애플리케이션은 해당 지점을 기준으로 개체를 렌더링하거나 알려진 위치를 만들 수 있습니다. HoloLens의 일반적인 용도는 신탁으로 태그가 지정된 실제 개체를 찾는 것입니다. 예를 들어 Wi-Fi를 통해 HoloLens와 통신하도록 설정된 태블릿에서 발생할 수 있습니다.
시각적 패턴을 인식하고 애플리케이션의 월드 공간에 개체를 배치하려면 몇 가지가 필요합니다.
- QR 코드, AR 태그, 얼굴 찾기, 원 추적기, OCR 등과 같은 이미지 패턴 인식 도구 키트입니다.
- 런타임에 이미지 프레임을 수집하고 인식 계층에 전달합니다.
- 이미지 위치를 세계 위치 또는 월드 광선으로 다시 보호 해제합니다.
- 이러한 세계 위치에 가상 모델을 배치합니다.
몇 가지 중요한 이미지 처리 링크:
특히 장기 실행 이미지 인식 알고리즘을 처리할 때는 대화형 애플리케이션 프레임 속도를 유지하는 것이 중요합니다. 이러한 이유로 일반적으로 다음 패턴을 사용합니다.
- 주 스레드: 카메라 개체를 관리합니다.
- 주 스레드: 새 프레임(비동기)을 요청합니다.
- 주 스레드: 추적 스레드에 새 프레임을 전달합니다.
- 추적 스레드: 이미지를 처리하여 키 포인트를 수집합니다.
- 주 스레드: 가상 모델을 찾은 주요 지점과 일치하도록 이동합니다.
- 주 스레드: 2단계에서 반복합니다.
일부 이미지 마커 시스템은 단일 픽셀 위치만 제공하며 이는 가능한 위치의 광선과 동일합니다. (다른 항목은 전체 변환을 제공하며, 이 경우 이 섹션이 필요하지 않습니다.) 단일 3D 위치로 이동하려면 여러 광선을 계산하고 대략적인 교집합을 통해 최종 결과를 찾을 수 있습니다. 이 결과를 얻으려면 다음을 수행해야 합니다.
- 여러 카메라 이미지를 수집하는 루프를 만듭니다.
- 연결된 기능 지점 및 해당 월드 광선을 찾습니다.
추적된 태그 위치가 두 개 이상 지정된 경우 모델링된 장면을 사용자의 현재 시나리오에 맞게 배치할 수 있습니다. 중력을 가정할 수 없는 경우 세 개의 태그 위치가 필요합니다. 대부분의 경우 흰색 구는 실시간으로 추적된 태그 위치를 나타내고 파란색 구는 모델링된 태그 위치를 나타내는 색 구성표를 사용합니다. 이렇게 하면 사용자가 맞춤 품질을 시각적으로 측정할 수 있습니다. 모든 애플리케이션에서 다음 설정을 가정합니다.
- 모델링된 태그 위치가 두 개 이상 있습니다.
- 장면에서 태그의 부모인 하나의 '보정 공간'입니다.
- 카메라 기능 식별자입니다.
- 보정 공간을 이동하여 모델링된 태그를 실시간 태그에 맞추는 동작(다른 연결은 상대적인 위치이므로 모델링된 마커 자체가 아니라 부모 공간을 이동해야 합니다).
LED 또는 기타 인식기 라이브러리를 사용하여 태그가 지정된 고정 또는 이동 실제 개체/얼굴 추적 또는 식별
예:
- LED를 사용하는 산업용 로봇(또는 느린 이동 개체에 대한 QR 코드).
- 회의실에서 개체를 식별하고 인식합니다.
- 방에 있는 사람을 식별하고 인식합니다(예: 홀로그램 연락처 카드를 얼굴에 배치).