Machineboy空

특정 건물을 인식해보자! - Vision Framework, CreateML 흘겨 보기 본문

언어/swift

특정 건물을 인식해보자! - Vision Framework, CreateML 흘겨 보기

안녕도라 2024. 10. 3. 18:34

카메라로 특정 건물을 비추면, 그 건물을 인식하여 옆에 시설 정보를 띄울 것이다.

사용될 법한 관련 기술을 조사해보겠다.


Vision Framework

이미지나 영상을 처리하는 알고리즘인 듯하다!

 

대표 기능 다섯가지를 살펴보자.

1) Tracking human and animal body poses or the trajectory of an object

https://developer.apple.com/kr/videos/play/wwdc2020/10653/

 

Detect Body and Hand Pose with Vision - WWDC20 - 비디오 - Apple Developer

Explore how the Vision framework can help your app detect body and hand poses in photos and video. With pose detection, your app can...

developer.apple.com

 

2) Recognizing text in 18 different languages

https://developer.apple.com/documentation/vision/extracting-phone-numbers-from-text-in-images?changes=_1

 

Extracting phone numbers from text in images | Apple Developer Documentation

Analyze and filter phone numbers from text in live capture by using Vision.

developer.apple.com

https://developer.apple.com/kr/videos/play/wwdc2019/234/

 

Text Recognition in Vision Framework - WWDC19 - 비디오 - Apple Developer

Document Camera and Text Recognition features in Vision Framework enable you to extract text data from images. Learn how to leverage this...

developer.apple.com

 

3) Detecting faces and face landmarks, such as eyes, nose, and mouth

https://www.kodeco.com/1163620-face-detection-tutorial-using-the-vision-framework-for-ios/page/2

 

Face Detection Tutorial Using the Vision Framework for iOS

In this tutorial, you’ll learn how to use Vision for face detection of facial features and overlay the results on the camera feed in real time.

www.kodeco.com

이건 google API 이미지임

4) Performing hand tracking to enable new device interactions

아마도 visionOS와 같은 new device와도 연동된다는 뜻이려나..? 마땅한 예제를 찾지 못했다.

 

5) Calculating an aesthetics score to determine how memorable a photo is

https://www.createwithswift.com/scoring-the-aesthetics-of-an-image-with-the-vision-framework/

 

Scoring the aesthetics of an image with the Vision framework

Learn how to calculate the overall aesthetic score of an image with the Vision framework in a SwiftUI app.

www.createwithswift.com

 

가장 인상적인 기능인데 미감 점수를 매겨준다. 어떤 기준인지는 더 살펴봐야겠지만 신기방기.

 

 

+ 누끼 기능

추가로 Vision Framework을 활용해 구현할 수 있는 대표적인 기능이 누끼이다..

https://developer.apple.com/documentation/vision/applying-matte-effects-to-people-in-images-and-video

 

Applying Matte Effects to People in Images and Video | Apple Developer Documentation

Generate image masks for people automatically by using semantic person-segmentation.

developer.apple.com

 

more than 25 requests available

 

 

왠지 쓰게 될 것 같은 기술들에 색표시를 해봤다. 

Vision 프레임 워크 재밌는 기술인 것 같다!! 컴퓨터그래픽스 더 공부해보고 싶다.


CreateML

CreateML 기본으로 제공되는 템플릿들 종류

 

가장 궁금한건 Image classification과 Object detection의 차이점

 

우선 두 기술의 관련 예제들을 가져왔다!

https://developer.apple.com/documentation/createml/creating-an-image-classifier-model

 

Creating an Image Classifier Model | Apple Developer Documentation

Train a machine learning model to classify images, and add it to your Core ML app.

developer.apple.com

https://developer.apple.com/documentation/createml/building-an-object-detector-data-source

 

Building an object detector data source | Apple Developer Documentation

Arrange your training data for an object detector in one of several different structured ways.

developer.apple.com

 

Image Classification : 이미지 분류

  • responds with a category label for that image.
  • Use at least 10 images per category, but keep in mind that an image classifier performs better with a more diverse set of images. Consider including images of each category from multiple angles and in different lighting conditions.
  • Balance the number of images for each category. For example, don’t use 10 images for one category and then 1000 images for another.

모델을 학습시켜, 새로운 이미지에 label을 붙여 분류하는 작업!

활용하게 된다면 A,B,C 건물을 데이터를 넣어 모델을 만들고 카메라로 건물을 비췄을 때 기존 이미지들과 비교해서 라벨을 붙여주는 프로세스일듯!

 


Object Detection : 물체 검출

  • Image: A collection of images that contain objects to train from.
  • Annotations: Structured text data that defines the bounding box and labels of each object within the data set.

 

annotation을 custom해서 시설정보를 띄워주면 될 것 같다!

근데 스크린샷이 아니라, 카메라로 실시간으로 비추면서 이것을 인식하려면 어떻게 해야하는거지...wow

우선 기술조사 결과 정리를 해보자면!

  • image classification 모델을 만들고, object detection을 실행하여 Annotation 정보를 custom해 화면에 띄운다..
  • input이 사진이 아닌, 실시간 영상을 계속 detect하고 있으려면...? 내일 다시 찾아보리!