# Lens Studio

Roboflow에 학습된 모델이 준비되면 모델을 SnapML에 배포할 수 있습니다.

## 지원 작업

호스팅된 API에서 다음 작업 유형을 지원합니다:

| 작업 유형   | Lens Studio에서 지원 |
| ------- | ---------------- |
| 객체 감지   | ✅                |
| 분류      |                  |
| 인스턴스 분할 |                  |
| 의미론적 분할 |                  |

*참고: Roboflow Train 3.0을 사용해 학습된 모델만 지원됩니다. 모델이 Roboflow Train 3.0에서 학습되었는지 확인하려면 모델과 연결된 Versions 페이지를 확인하세요.*

## 모델을 Lens Studio에 배포하기

Roboflow 사이드바에서 “Deploy”를 클릭한 다음 아래로 스크롤하여 “Use with Snap Lens Studio” 상자를 찾으세요. “Export to Lens Studio”를 클릭합니다.

<figure><img src="https://3958014485-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M6S9nPJhEX9FYH6clfW%2Fuploads%2FuDgYj9rvK3qvndktYPVY%2Fimg-1-deploy.png?alt=media&#x26;token=13518512-8709-444b-be19-d5162b7b1dd4" alt=""><figcaption></figcaption></figure>

이 버튼을 클릭하면 모델의 클래스 정보가 표시되는 팝업이 나타납니다.

이 클래스들은 순서가 지정되어 있으며 Lens Studio에서 모델을 구성할 다음 단계에서 사용됩니다. 향후 사용을 위해 클래스 목록을 메모해 두세요.

또한 다음 두 파일이 다운로드됩니다:

1. 최소한의 구성으로 애플리케이션에서 가중치를 사용할 수 있는 Roboflow Lens Studio 템플릿, 및;
2. 모델 가중치 파일.

Roboflow Lens Studio 템플릿은 100MB이므로 인터넷 연결에 따라 템플릿 다운로드에 시간이 걸릴 수 있습니다.

템플릿이 준비되면 Lens Studio에서 모델 설정을 시작할 수 있습니다.

### Lens Studio에서 모델 구성하기

아직 Lens Studio를 설치하지 않았다면 [Snap AR 웹사이트](https://ar.snap.com/lens-studio) 로 이동하여 최신 버전의 Lens Studio를 다운로드하세요. Lens Studio가 설치되면 모델 구성 시작 준비가 완료됩니다.

이 섹션에서는 Roboflow Lens Studio 템플릿을 사용합니다. 그러나 모델 가중치는 어떤 애플리케이션에서든 [MLController 구성요소](https://docs.snap.com/lens-studio/references/templates/ml/object-detection).

앞서 다운로드한 Roboflow Lens Studio 템플릿의 압축을 풀고, 그런 다음 `Roboflow-Lens-Template.Isproj` 압축을 푼 폴더에 있는 파일을 엽니다.

<figure><img src="https://3958014485-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M6S9nPJhEX9FYH6clfW%2Fuploads%2FWJLG4RXc16RCLnwsmBGU%2Fconfigure-model-1.png?alt=media&#x26;token=ab109009-39f2-422c-9b0b-27f453e86eb7" alt=""><figcaption></figcaption></figure>

애플리케이션을 열면 다음과 비슷한 화면을 보게 됩니다:

<figure><img src="https://3958014485-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M6S9nPJhEX9FYH6clfW%2Fuploads%2FO3NYWxWq0zadkD5IyFP3%2Fconfigure-model-2.png?alt=media&#x26;token=73eeb5b9-13c3-4327-938d-5b73ba7cccaf" alt=""><figcaption></figcaption></figure>

기본적으로 템플릿은 동전 개수 세기 모델을 사용합니다. 이 예에서는 이전에 만든 플레이잉 카드 모델을 사용합니다. 이 애플리케이션은 각 예측 주위에 박스를 그리지만 Lens Studio를 사용하여 자체 필터와 로직을 추가할 수 있습니다.

Lens Studio 왼쪽 사이드바 상단의 “ML Controller” 상자를 클릭하세요:

<figure><img src="https://3958014485-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M6S9nPJhEX9FYH6clfW%2Fuploads%2FIWbF0ueatm5q6J8tvkMx%2Fconfigure-model-3.png?alt=media&#x26;token=fa8d6f74-5d25-4d4b-bb8f-8995ed1c0f3c" alt=""><figcaption></figcaption></figure>

그러면 미리보기 창 옆 애플리케이션에서 모델을 구성할 수 있는 상자가 열립니다:

<figure><img src="https://3958014485-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M6S9nPJhEX9FYH6clfW%2Fuploads%2FGiRIs1hAKAJfJkYNW5VX%2Fconfigure-model-4.png?alt=media&#x26;token=5679992c-7b5a-4324-b373-37189d83c5e8" alt=""><figcaption></figcaption></figure>

데모 애플리케이션은 동전 계산기 예제로 구성되어 있습니다. 자체 모델을 사용하려면 먼저 “ML Model” 상자를 클릭하세요:

<figure><img src="https://3958014485-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M6S9nPJhEX9FYH6clfW%2Fuploads%2FWPxbUhiIj13OcjlLYIMz%2Fconfigure-model-5.png?alt=media&#x26;token=d61f4ece-38c5-4448-810c-93ff1254d7b6" alt=""><figcaption></figcaption></figure>

그런 다음 Roboflow에서 다운로드한 가중치 파일을 팝업 상자로 드래그하세요:

{% embed url="<https://blog.roboflow.com/content/media/2023/06/Screen-Recording-2023-06-21-at-11.02.58.mp4>" %}

가중치를 드래그하면 일부 구성 옵션이 표시됩니다. 팝업의 “Inputs” 섹션에서 각 “Scale” 값을 0.0039로 설정하세요. bias 값은 기본값 그대로 두세요.

<figure><img src="https://3958014485-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M6S9nPJhEX9FYH6clfW%2Fuploads%2F8oZGI1XaVRrNQJAqujYz%2Fconfigure-model-6.png?alt=media&#x26;token=b9b89b4d-f148-43dd-b0cb-eef0aef3683c" alt=""><figcaption></figcaption></figure>

그런 다음 “Import”를 클릭하여 모델을 가져옵니다.

### Lens Studio에서 클래스 구성하기

이제 모델이 Lens Studio에 로드되었습니다. 마지막 단계는 모델에서 사용할 클래스를 알려주는 것입니다.

이전에 사용한 ML Model 버튼 아래의 “Class Settings” 탭에서 클래스 목록을 볼 수 있습니다. 데모 프로젝트에서는 동전 계산기 예제로 구성되어 있지만, 자체 Lens Studio 프로젝트를 사용하는 경우 이 값들은 비어 있을 것입니다.

<figure><img src="https://3958014485-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M6S9nPJhEX9FYH6clfW%2Fuploads%2Feae6lDdvj7kiTo2nkoQG%2Fconfigure-lens-1.png?alt=media&#x26;token=726c62bc-4e51-4faa-a7a7-1198171f9467" alt=""><figcaption></figcaption></figure>

여기서 클래스 이름과 레이블을 설정해야 합니다. 레이블은 Roboflow 대시보드에 표시된 순서대로여야 합니다. 다음은 플레이잉 카드 애플리케이션의 값 중 하나를 설정하는 예입니다:

<figure><img src="https://3958014485-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M6S9nPJhEX9FYH6clfW%2Fuploads%2Fxw0vXAd3xamV51VMdaAt%2Fconfigure-lens-2.png?alt=media&#x26;token=8f1771f2-0847-422e-9538-590d20cabb52" alt=""><figcaption></figcaption></figure>

모델의 각 클래스에 대해 이 구성을 수행해야 합니다. Snap이 모델 가중치의 정보를 해석할 수 있도록 모델의 모든 클래스를 지정해야 합니다.

이제 애플리케이션을 사용할 준비가 되었습니다! “Preview” 상자를 사용해 컴퓨터에서 애플리케이션을 실행해 보거나 자신의 기기에서 애플리케이션을 데모할 수 있습니다. [Pairing with Snapchat 기능](https://docs.snap.com/lens-studio/references/guides/general/pairing-to-snapchat).
