스트리밍은 대부분의 브라우저와
Developer 앱에서 사용할 수 있습니다.
-
Vision에서 동물 자세 감지하기
고양이와 개 이미지뿐만 아니라 다른 많은 동물 이미지를 감지해 보세요. Vision을 사용하면 동물의 자세와 관절 하나하나를 실시간으로 감지할 수 있습니다. 카메라 앱으로 동물을 추적하거나 독특한 장식으로 동물 사진 꾸미기 등 흥미로운 기능을 어떻게 활성화하는지 확인해 보세요. 더불어 Vision에서 중요한 여타 개선 사항을 살펴보고 모범 사례를 공유합니다. Vision 프레임워크의 새 기능을 자세히 알고 싶다면 'Vision에서 3D 신체 자세와 Person 세그멘테이션 알아보기' 및 '앱에서 이미지의 피사체 분리하기' 세션을 참고하세요. 라이브 카메라 추적 경험을 구축하는 방법은 '전동 iPhone 스탠드와 DockKit 통합하기'에서 확인할 수 있습니다.
리소스
관련 비디오
WWDC23
-
다운로드
♪ ♪
안녕하세요, 반갑습니다 저는 나디아 주바예요 Apple의 Vision 팀 소속이죠 Vision의 엄청난 새 API Animal Body Pose를 소개할게요 중요한 Vision 업데이트 사항도 살펴보도록 합시다 그럼 우선 Animal Body Pose를 알아보죠 Animal Body Pose는 여러 앱에서 사용할 수 있습니다 보호자가 출근한 사이에 집에는 고양이와 개만 남아 있다고 가정해 봅시다 퇴근 후 집에 돌아가면 이런 난장판이 펼쳐져 있겠죠 걱정 마세요 Vision 프레임워크를 사용하면 상황을 파악하고 반려동물이 종일 뭘 했는지 범인은 누군지 알아낼 수 있어요 본격적으로 시작하기 전에 자세부터 알아볼게요 Vision은 3년 전 인간의 자세를 감지하는 Human Body Pose를 도입했습니다 해당 요청은 신체 관절을 최대 19개까지 감지해 인체 랜드마크 컬렉션을 생성합니다 전 세계 개발자들은 이 API를 사용해 건강과 피트니스에 유용한 앱을 수없이 만들어 냈습니다 Vision은 현실과 상호 작용 하기 때문에 사람뿐만 아니라 동물에도 관심을 기울이고 있어요 Vision에는 이미 고양이와 개를 감지하고 인식하는 동물 인식 요청이 있습니다 요청은 인식된 동물에 대한 레이블과 confidence 수준이 있는 바운딩 박스를 생성합니다 동물을 찾고 식별할 때 유용한 API죠 동물에 대해 더 알고 싶다면 어떻게 해야 할까요? 동물이 뭘 하고 있는지 추론하긴 어렵습니다 예를 들어 이웃의 개를 돌봐 줄 때 개가 간식을 먹고 싶거나 산책하러 가고 싶은 순간에 어떤 자세를 취하는지 알면 좋겠죠 Vision은 신체 자세 기능을 동물로 확장했습니다 정말 대단하죠
Animal Body Pose는 Vision의 새 API입니다 DetectAnimalBodyPoseRequest로 Vision에 제공되죠 이 요청이 처리되면 동물별 관찰 결과를 반환합니다 동물의 관절 위치 컬렉션이 결과에 포함되죠 고양이와 개를 지원하고 꼬리와 귀를 비롯한 동물 몸 랜드마크 25개를 감지합니다
Animal Body Pose API는 iOS 17과 iPadOS 17 tvOS 17, macOS Sonoma부터 Vision에서 사용 가능해요 Animal Body Pose에는 이미지나 비디오를 입력할 수 있습니다 Vision에서 요청을 생성하고 처리하면 동물의 골격을 정의하는 관절 컬렉션이 생성되죠 Animal Body Pose에서는 관절 그룹 여섯 개를 정의합니다 머리 그룹은 귀와 눈, 코를 포함하고
앞다리 그룹에는 앞쪽 다리가 포함되죠 당연히 뒤쪽 다리를 포함하는 뒷다리 그룹도 있습니다 몸통 그룹은 목을 의미하고 꼬리 그룹에는 꼬리 관절 세 개가 있어요 마지막으로 전체 그룹은 모든 관절을 포함합니다
지금까지 설명한 내용을 전부 시연하려고 랜드마크 위치를 사용해 동물 골격을 그리는 샘플 앱을 준비했습니다 귀여운 치와와 장난감이 책상 위에 앉아 있네요 이 강아지는 걸을 수 있으니까 샘플 앱 결과를 확인하는 데 사용하려고 해요 휴대폰 카메라 앞으로 강아지를 데려와서 샘플 앱을 시작하겠습니다 앱은 동물 몸 위에 골격을 그려 넣습니다 장난감 전원을 켜고 걷도록 할게요
강아지가 걸어가면 골격도 함께 따라 움직입니다 이런, 강아지가 카메라에서 멀어지네요 휴대폰 카메라 앞으로 다시 가져올게요
강아지를 따라 골격이 이동합니다 아주 좋아요 코드로 들어가서 샘플 앱을 어떻게 작성했는지 보죠
카메라 스트림에서 CMSampleBuffers를 수신하는 캡처 출력부터 시작합니다 우선 요청을 생성해야겠죠 VNDetectAnimalBodyPoseRequest를 사용하겠습니다
그런 다음 imageRequestHandler를 사용해 요청 핸들러를 생성합니다
이어서 수행 호출을 통해 요청을 핸들러에 제공해요 수행 요청이 성공하면 요청 결과 프로퍼티에서 VNAnimalBodyPoseObservation이 반환될 겁니다 각각 관절 위치를 포함하겠죠 Animal Pose Observation에서 관절에 액세스하려면 .recognizedPoints를 호출해서 그룹 내 인식된 지점의 딕셔너리를 요청해야 합니다 동물의 골격을 그리려면 관절이 모두 필요하므로 전체 그룹을 선택할게요 일부 관절에만 액세스하려면 다른 그룹을 사용하면 되겠죠 마지막으로 동물의 골격을 그려 내고자 인식된 지점 모두를 반복하고 관절을 연결하겠습니다 이렇게 머리 관절을 연결해서 머리 골격을 그릴 수 있어요
고려할 사항이 몇 가지 있습니다 새로운 Animal Body Pose를 사용하면 한 이미지에서 동물을 최대 두 마리까지 감지할 수 있죠 입력 이미지 크기는 가로세로 모두 64픽셀 이상이어야 합니다 Neural Engine을 사용하면 성능 면에서 라이브 캡처를 따라잡을 수 있습니다 Animal Body Pose로 어떤 작업이 가능한지 살펴보죠 스틸 이미지와 새 Animal Body Pose API를 통해 동물이 취하는 흥미로운 자세를 인식하도록 관절을 분석하는 방법을 자체적으로 개발할 수 있습니다 잠에서 깬 뒤 스트레칭하거나
두 발로 서서 간식 달라고 조르거나
개를 보고 도망치거나
웅크려 낮잠 자는 자세 등등요
앞서 언급했듯이 동물 인식 요청은 동물을 찾고 인식하도록 돕고 Animal Body Pose는 동물 몸 전체에서 랜드마크를 반환합니다 두 요청을 결합하면 감지된 동물의 종을 비롯해 위치, 자세까지 알 수 있겠죠 식탁을 어지럽힌 범인을 이제 찾을 수 있겠네요 이 기능을 잘 활용하면 흥미로운 동물 앱을 얼마든지 개발할 수 있을 겁니다 예를 들어 동물을 인식하고 자세를 감지해서 개 간식 급여기를 작동시키는 앱을 꾸릴 수 있겠죠 Animal Body Pose API는 비디오에도 사용 가능합니다 자체 알고리즘을 앱에 적용해 동작을 분석하고 어떤 유형의 활동인지 결정할 수 있습니다 오랜 시간 자세를 추적해 더 깊이 분석함으로써 동물의 행동을 이해할 수도 있죠 Animal Body Pose를 사용하기 전에는 벽에 난 자국이 전부 아이들 탓인 줄 알았는데 고양이가 레이저 포인터를 쫓다가 할퀸 흔적이더군요
세상에, 강아지가 저보다 스케이트보드를 잘 타는걸요! 또 다른 용도는 카메라로 동물을 추적하는 겁니다 이런 유형의 추적을 더 자세히 알고 싶다면 '전동 iPhone 스탠드와 DockKit 통합하기'라는 세션을 확인해 보세요 반려동물을 위해 재밌는 앱을 작성할 수도 있겠죠 개한테 모자와 선글라스를 씌워 주면 어떨까요? 반려동물의 생일을 기념해 귀여운 카드를 만들어서 가족과 친구에게 보내도 정말 재밌을 거예요 생일 축하해, 멍멍이 친구! 관련 Animal Body Pose 관절을 찾은 지점에 이모티콘을 배치해 봤는데요 귀여운 강아지 장난감으로 이모티콘 앱을 시연해 보겠습니다 동일한 샘플 앱을 사용해 골격 뷰에서 이모티콘 뷰로 전환할게요
걷는 속도가 느리길래 속도를 낼 수 있도록 발관절 위에 스케이트 이모티콘을 추가했어요 참, 뭐가 됐든 안전이 제일이죠 코드로 돌아가서 헬멧을 씌워 줄게요 여기서 발관절 위에 스케이트 이모티콘을 추가해 뒀죠 이제 귀 관절 위에 헬멧 이모티콘을 추가해 봅시다 이모티콘의 크기와 위치를 선택합니다 스케이트 탈 때 폼이 나게 안경도 추가해 보죠
강아지의 안전을 챙긴 뒤 앱을 다시 실행하겠습니다 조심해서 나쁠 거 없잖아요 이모티콘 뷰로 전환할게요 스케이트를 안전하게 탈 수 있도록 장비를 모두 갖추게 됐습니다 꽤 멋있는걸요? 파이팅, 잘하고 있어! Animal Body Pose를 모두 살펴봤습니다 새 Animal Body Pose API를 사용해 앱을 근사하게 꾸며 보세요 다른 Vision 업데이트 사항 중 도움이 될 만한 기능을 소개해 드릴게요 스테이트풀 요청이 새로워졌습니다 VNTargetedImage 기반 요청은 Vision에서 스테이트풀 요청으로 사용 가능합니다
Vision의 새 스테이트풀 요청 세 가지 모두 추적을 뜻하는 동사 Track으로 이름을 정했어요 이렇게 하면 추적용으로 사용하기 더 쉽죠 또 하나 기쁜 소식은 이제 Vision이 MLComputeDevice를 지원한다는 겁니다 새로운 컴퓨팅 기기 API로 요청이 실행되는 위치를 쿼리하고 사용할 기기를 지정할 수 있어요 Core ML 및 Create ML 다중 레이블 분류는 이제 Vision과 호환됩니다 이를 통해 레이블을 두 개 이상 지원하는 고유한 분류기를 훈련할 수 있습니다 더 자세히 알고 싶다면 'Create ML에서 향상된 기계 학습 체험하기'를 참고해 보세요 또한 기존 요청에 도입된 새로운 개정 사항 덕분에 기능이 크게 개선되었습니다 바코드 요청의 경우 네 번째 개정판인데 새 MSIPlessey 기호를 포함하고 색상 반전 QR 코드를 지원하죠 참고 첫 번째 개정판은 지원이 중단될 겁니다 텍스트 인식에는 태국어와 베트남어 지원을 추가됐습니다
마지막으로, FaceCaptureQuality도 새로운 개정 사항이 있습니다 품질과 정확도 향상을 위한 세 번째 개정판이죠 Vision의 새로운 업데이트 사항을 전부 자세히 알고 싶다면 개발자 문서를 확인해 보세요 이번 시간에는 새로운 Animal Body Pose와 해당 API로 만들어 낼 수 있는 멋진 결과물을 살펴봤어요 또한 개발에 도움이 되길 바라며 중요한 API 업데이트와 기타 Vision 개선 사항을 알아봤죠 이뿐만이 아닙니다 'Vision에서 3D 신체 자세와 Person 세그멘테이션 알아보기' 이 세션을 참고해서 Vision의 새 3D 신체 자세와 Person 세그멘테이션 API를 확인해 보세요 선택한 포그라운드 객체를 분할하려면 '앱에서 이미지의 피사체 분리하기' 이 세션을 참고해 보시고요 시청해 주셔서 감사합니다 Animal Body Pose를 마스터하시길 바라요
-
-
찾고 계신 콘텐츠가 있나요? 위에 주제를 입력하고 원하는 내용을 바로 검색해 보세요.
쿼리를 제출하는 중에 오류가 발생했습니다. 인터넷 연결을 확인하고 다시 시도해 주세요.