[Framework] Vision 프레임워크

코르피·2022년 7월 18일
1
post-thumbnail

만들어보고 싶은 어플에 컴퓨터 비전기술이 들어가야 해서 찾아보다가
Vision 프레임워크를 알게되어서 간단히 정리해 둔다.

🔥 Vision 프레임워크란?

비전 프레임워크는 2017년 WWDC에서 coreML이랑 같이 발표된 프레임워크이다

  • 얼굴 감지
  • 얼굴의 랜드마크를 추적하는 기능
  • 아이폰의 LiveText와 같이 사진에서 글자를 찾아내는 기능
  • 일반적인 이미지 등록, 추적 기능

이미지나 비디오에서 컴퓨터 비전 알고리즘이 적용되어 위 기능같은 이것저것을 수행할 수 있다.

🤔 OpenCV와의 차이점

openCV또한 아주 유명한 컴퓨터 비전 프레임워크 중 하나다.

  • 여러 언어들을 지원하지만 아쉽게도 swift는 지원하지 않는다.
    하지만 vision프레임워크는 애플에서 개발했기 때문에 swift를 지원한다.
    또 내 추측이긴 한데 애플에서 개발했기 때문에 좀 더 swift와 호환성이 좋지 않을까? 🤔
  • openCV는 외부 프레임워크라 따로 설치가 필요하지만, Vision프레임워크는
    import Vision 코드 하나면 끝이난다.

📖 Vision 프레임워크의 파이프라인

파이프라인은 세부분으로 구성된다

  • 요청

    • VNRequest
  • 핸들러

    • VNImageRequestHandler : 정지된 이미지를 작업할 때 사용
    • VNSequenceRequestHandler : 시퀀스에 주목. 이미지 시퀀스(비디오) 에서 작업할 때 사용
  • 결과

    • VNObservation
  1. VNRequest의 하위클래스로 만들어진 요청이 핸들러로 전달된다.
  2. 핸들러는 VNImageRequestHandler 이거나VNSequenceRequestHandler 타입일 수 있고
  3. 처리된 결과가 VNObservation 의 하위클래스로 반환된다.

예를 들면 요청으로 VNRequest 의 하위클래스인 VNDetectFaceRectanglesRequest 타입이 들어올 경우 반환으로 VNObservation 의 하위클래스인 VNFaceObservation 타입으로 반환된다

예를 하나 더 들자면 요청으로 VNDetectContoursRequest 이 들어오고 반환으로 VNContoursObservation 이 되는 형식이다.

profile
행복합시다!!

0개의 댓글