> For the complete documentation index, see [llms.txt](https://docs.roboflow.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roboflow.com/deployment/ko/self-hosted/sdks/luxonis-oak.md).

# Luxonis OAK

다음 [Luxonis OAK(OpenCV AI Kit)](https://shop.luxonis.com/) 는 임베디드 컴퓨터 비전 시스템 배포에 널리 사용되는 엣지 장치입니다.

OAK 장치는 하위 애플리케이션의 동작을 구동하는 호스트 머신과 함께 사용됩니다. 흥미로운 사례를 보려면 다음을 확인하세요. [Luxonis의 사용 사례](https://docs.luxonis.com/en/latest/#example-use-cases) 및 [Roboflow의 사례 연구](https://blog.roboflow.com/tag/case-studies/).

**참고로:** 아직 OAK 장치가 없다면 [Roboflow Store를 통해 구매하여](https://store.roboflow.com/) 10% 할인을 받을 수 있습니다.

### 작업 지원

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

| 작업 유형                                                                                                                                 | Luxonis OAK 배포 지원 |
| ------------------------------------------------------------------------------------------------------------------------------------- | ----------------- |
| <p>객체 탐지:</p><ul><li>Roboflow에서 학습한 YOLOv8 모델(모든 크기: Nano, Small, Medium, Large, X Large)</li><li>Roboflow에서 학습한 YOLOv11 모델</li></ul> | ✅                 |
| 분류                                                                                                                                    |                   |
| 인스턴스 분할                                                                                                                               |                   |
| 시맨틱 세분화                                                                                                                               |                   |

### Luxonis OAK에 모델 배포하기

#### 지원되는 Luxonis 장치 및 호스트 요구 사항

Roboflow Inference Server는 다음 장치를 지원합니다:

* OAK-D
* OAK-D-Lite
* OAK-D-POE
* OAK-1(깊이 없음)

#### 설치

다음을 설치하세요 `roboflowoak`, `depthai`그리고 `opencv-python` 패키지:

```bash
pip install roboflowoak
pip install depthai
pip install opencv-python
```

이제 다음을 사용할 수 있습니다. `roboflowoak` 패키지를 사용해 사용자 지정 학습한 Roboflow 모델을 실행할 수 있습니다.

#### 추론 실행: 배포

Depth 기능이 없는 OAK 장치에 배포하는 경우 `depth=False` 를 설정하세요 `rf` 객체를 인스턴스화(생성)할 때. Depth가 있는 OAK는 모델 이름에 "D"가 붙습니다. 예: OAK-D 및 OAK-D-Lite.

또한 다음을 주석 처리하세요 `max_depth = np.amax(depth)` 및 `cv2.imshow("depth", depth/max_depth)`

```python
from roboflowoak import RoboflowOak
import cv2
import time
import numpy as np

if __name__ == '__main__':
    # RoboflowOak 모듈로 객체(rf)를 인스턴스화하기
    rf = RoboflowOak(model="YOUR-MODEL-ID", confidence=0.05, overlap=0.5,
    version="YOUR-MODEL-VERSION-#", api_key="YOUR-PRIVATE_API_KEY", rgb=True,
    depth=True, device=None, blocking=True)
    # 모델을 실행하고 탐지가 포함된 비디오 출력을 표시하기
    while True:
        t0 = time.time()
        # rf.detect() 함수는 모델 추론을 실행합니다
        result, frame, raw_frame, depth = rf.detect()
        predictions = result["predictions"]
        #{
        #    predictions:
        #    [ {
        #        x: (중앙),
        #        y:(중앙),
        #        width:
        #        height:
        #        depth: ###->
        #        confidence:
        #        class:
        #        mask: {
        #    ]
        #}
        #frame - 전처리 후 예측이 포함된 프레임
        #raw_frame - OAK의 원본 프레임
        #depth - raw_frame의 깊이 맵, 중앙 카메라에 맞춰 중심 보정됨
        
        # timing: 벤치마킹용
        t = time.time()-t0
        print("FPS ", 1/t)
        print("PREDICTIONS ", [p.json() for p in predictions])

        # 깊이 계산을 위한 매개변수 설정
        # Depth가 없는 OAK를 사용하는 경우 다음 2줄을 주석 처리하세요
        max_depth = np.amax(depth)
        cv2.imshow("depth", depth/max_depth)
        # 비디오 피드를 연속 프레임으로 표시하기
        cv2.imshow("frame", frame)
    
        # OAK 추론 창을 닫는 방법 / 추론 중지: CTRL+q 또는 CTRL+c
        if cv2.waitKey(1) == ord('q'):
            break
```

아래 코드를 입력하세요(자리표시자 텍스트를 Python 스크립트 경로로 바꾼 후)

```bash
# 창을 닫으려면(중단하거나 추론을 종료하려면) 키보드에서 CTRL+c를 입력하세요
python3 /path/to/[YOUR-PYTHON-FILE].py
```

호스트 장치로 Apple Macbook Air(M1)를 사용했을 때의 추론 속도(밀리초 기준)는 평균 약 15ms, 즉 66 FPS였습니다. ***참고**: OAK와 함께 사용하는 호스트 장치는 FPS에 큰 영향을 미칩니다. 시스템을 설계할 때 이를 고려하세요.*

#### 문제 해결

OAK 장치 설정에 문제가 있는 경우 Luxonis의 설치 안내를 확인하고, 다음에서 RGB 예제를 성공적으로 실행할 수 있는지 확인하세요 [Luxonis 설치](https://docs.luxonis.com/en/latest/#demo-script). 또한 다음에서 도움을 요청할 수 있습니다 [Roboflow 포럼](https://discuss.roboflow.com/).

### 함께 보기

* [단계별 Luxonis OAK 설정 가이드](https://blog.roboflow.com/opencv-ai-kit-deployment/)
* [M1 칩 사용 시 설치 문제 · Issue #299 · luxonis/depthai · GitHub](https://github.com/luxonis/depthai/issues/299) (depthai SDK)
