> 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/models/hi/supported-models/l2cs-net.md).

# L2CS-Net

L2CS-Net एक दृष्टि दिशा अनुमान मॉडल है जो चेहरों का पता लगाता है और प्रत्येक चेहरे के yaw और pitch कोणों की भविष्यवाणी करता है। आप इसे हमारे माध्यम से चला सकते हैं [सर्वरलेस क्लाउड API](https://docs.roboflow.com/deployment/roboflow-cloud/serverless-api).

{% hint style="warning" %}
**स्व-होस्टेड Inference में यह अप्रचलित है।** में इसे अप्रचलित कर दिया गया था [Roboflow Inference](https://docs.roboflow.com/deployment/self-hosted/self-hosted) जब MediaPipe निर्भरता हटा दी गई थी। प्रभावित संस्करणों में, `/gaze/gaze_detection` एंडपॉइंट और `Gaze` मॉडल क्लास उत्पन्न करता है `FeatureDeprecatedError` (HTTP 410 Gone), और stub endpoint को हटाया जाना निर्धारित है। सेट करें `CORE_MODEL_GAZE_ENABLED=False` इसे पूरी तरह अक्षम करने के लिए। यदि आपको इस क्षमता की आवश्यकता है, तो Roboflow से संपर्क करें।
{% endhint %}

## L2CS-Net API

L2CS-Net को HTTP endpoint के माध्यम से सीधे चलाएँ `curl`या साथ में [`inference-sdk`](https://docs.roboflow.com/reference/inference/inference-sdk) रैपर।

{% tabs %}
{% tab title="HTTP (curl)" icon="webhook" %}
{% stepper %}
{% step %}

### अपनी API कुंजी प्राप्त करें

एक Roboflow खाता बनाएँ, अपनी कुंजी यहाँ खोजें [Roboflow API सेटिंग्स पेज](https://app.roboflow.com/settings/api) और इसे अपने शेल में उपलब्ध कराएँ:

```bash
export ROBOFLOW_API_KEY="your-key-here"
```

{% endstep %}

{% step %}

### मॉडल चलाएँ

कॉल करें `/gaze/gaze_detection` एंडपॉइंट के साथ `curl`:

```bash
curl --location 'https://serverless.roboflow.com/gaze/gaze_detection' \\
  --header 'Content-Type: application/json' \\
  --header "Authorization: Bearer $ROBOFLOW_API_KEY" \\
  --data '{
    "image": {"type": "url", "value": "https://media.roboflow.com/inference/man.jpg"}
  }'
```

{% endstep %}
{% endstepper %}
{% endtab %}

{% tab title="SDK (Python)" icon="python" %}
{% stepper %}
{% step %}

### अपनी API कुंजी प्राप्त करें

एक Roboflow खाता बनाएँ, अपनी कुंजी यहाँ खोजें [Roboflow API सेटिंग्स पेज](https://app.roboflow.com/settings/api) और इसे अपने शेल में उपलब्ध कराएँ:

```bash
export ROBOFLOW_API_KEY="your-key-here"
```

{% endstep %}

{% step %}

### निर्भरताएँ इंस्टॉल करें

यह पैकेज मॉडल को कॉल करता है:

```bash
pip install -U inference-sdk supervision
```

{% endstep %}

{% step %}

### मॉडल चलाएँ

नीचे दिया गया कोड नमूना कॉल करता है `detect_gazes`जो वही `/gaze/gaze_detection` endpoint:

```python
import os
import supervision as sv
from inference_sdk import InferenceHTTPClient, InferenceConfiguration

image = sv.load_image_from_url("https://media.roboflow.com/inference/man.jpg")

client = InferenceHTTPClient(
    api_url="https://serverless.roboflow.com",
    api_key=os.environ["ROBOFLOW_API_KEY"],
).select_api_v1().configure(InferenceConfiguration(api_key_transport="header"))

result = client.detect_gazes(image)

for prediction in result[0]["predictions"]:
    face = prediction["face"]
    yaw = prediction["yaw"]
    pitch = prediction["pitch"]
    print(f"चेहरा ({face['x']}, {face['y']}) पर - yaw: {yaw:.3f}, pitch: {pitch:.3f}")
```

{% endstep %}
{% endstepper %}
{% endtab %}
{% endtabs %}

## L2CS-Net की अनुमान गति

लेटेंसी मापी गई [Roboflow Inference](https://docs.roboflow.com/deployment/self-hosted/self-hosted) 1x NVIDIA L4 पर, बैच आकार 1 के साथ, वार्मअप के बाद औसत।

<table data-search="false"><thead><tr><th>मॉडल</th><th>लेटेंसी (ms)</th></tr></thead><tbody><tr><td><code>l2cs-net</code></td><td>6.0</td></tr></tbody></table>

एकल face crop पर मापा गया, जो मॉडल इनपुट के रूप में अपेक्षा करता है।

{% hint style="info" %}
सेट करें `api_url` को अपने परिनियोजन लक्ष्य से मिलाएँ:

* `https://serverless.roboflow.com` सर्वरलेस क्लाउड API के लिए।
* `http://localhost:9001` एक स्थानीय [इन्फ़रेंस](https://docs.roboflow.com/deployment/self-hosted/self-hosted) सर्वर।
* आपका [समर्पित परिनियोजन](https://docs.roboflow.com/deployment/roboflow-cloud/dedicated-deployments) एक निजी एंडपॉइंट के लिए URL.
  {% endhint %}

प्रतिक्रिया में एक सूची शामिल है जिसमें `पूर्वानुमान` (प्रत्येक के साथ `face` bounding box, `landmarks`, `yaw`, और `pitch` रेडियन में), `समय`, `time_face_det`, और `time_gaze_det`.

स्व-होस्टेड परिनियोजन और अतिरिक्त उदाहरणों के लिए, देखें [Roboflow Inference दस्तावेज़](https://docs.roboflow.com/deployment/self-hosted/self-hosted).

## स्व-होस्टेड Inference के साथ L2CS-Net चलाएँ

L2CS-Net को एक स्थानीय [इन्फ़रेंस](https://docs.roboflow.com/deployment/self-hosted/self-hosted) सर्वर पर भी परोसा जा सकता है:

```bash
pip install inference inference-cli inference-sdk
inference server start  # http://localhost:9001 प्रदान करता है
```

```python
import os
from inference_sdk import InferenceHTTPClient

client = InferenceHTTPClient(
    api_url="http://localhost:9001",
    api_key=os.environ["ROBOFLOW_API_KEY"],
)

client.detect_gazes(inference_input="./image.jpg")
```

मॉडल प्रत्येक detected face के लिए एक प्रविष्टि लौटाता है, जिसमें face box और landmarks के साथ `yaw` और `pitch` रेडियन में:

```python
[{'face': {'x': 1107.0, 'y': 1695.5, 'width': 1056.0, 'height': 1055.0,
           'confidence': 0.9356, 'class': 'face', 'class_id': 0,
           'landmarks': [{'x': 902.0, 'y': 1441.0}, {'x': 1350.0, 'y': 1449.0},
                         {'x': 1137.0, 'y': 1692.0}, {'x': 1124.0, 'y': 1915.0},
                         {'x': 625.0, 'y': 1551.0}, {'x': 1565.0, 'y': 1571.0}]},
  'pitch': 0.0295,
  'yaw': -0.0410}]
```

yaw और pitch को अंतरिक्ष में एक बिंदु में बदलना यह मानता है कि चेहरे कैमरे से लगभग एक मीटर दूर और लगभग 250 मिमी ऊँचे हैं, जो वेबकैम सेटअप के लिए एक उचित शुरुआती बिंदु है।

यह [दृष्टि पहचान उदाहरण](https://github.com/roboflow/inference) Inference repository में यह दिखाता है कि वेबकैम पर L2CS-Net कैसे चलाएँ, व्यक्ति कहाँ देख रहा है यह कैसे गणना करें, और फ्रेम को एनोटेट करें।

### Workflows में निष्पादन मोड

जब इसे किसी [Workflow](https://docs.roboflow.com/workflows)दृष्टि पहचान दो में से एक मोड में चलती है:

* **स्थानीय निष्पादन**: मॉडल आपके Inference सर्वर पर चलता है।
* **दूरस्थ निष्पादन**: मॉडल को दूरस्थ Inference सर्वर पर HTTP के माध्यम से `detect_gazes()` क्लाइंट मेथड।

## अधिक पढ़ें

* [दृष्टि पहचान और आँख ट्रैकिंग: एक कैसे-करें मार्गदर्शिका](https://blog.roboflow.com/gaze-direction-position/)
