تحلیل تصاویر با Mediapipe Blendshape Labeler و Replicate AI

تحلیل تصاویر با Mediapipe Blendshape Labeler و Replicate AI

8 دقیقه مطالعه · منتشر شده ۱۴۰۵/۴/۳۰

دانلود workflow

فایل JSON آماده import در n8n — credentialها باید در n8n شما تنظیم شوند.

  1. فایل JSON را دانلود کنید.
  2. در n8n: Workflows → Import from File.
  3. Credentialهای هر node را متصل کنید.
  4. workflow را فعال کنید.

شناسه workflow: 6881 · منبع: کاتالوگ Axeto

تحلیل تصاویر با استفاده از Mediapipe Blendshape Labeler از طریق API Replicate

این گردش کار، تحلیل تصاویر را با استفاده از مدل fire/v-sekai.mediapipe-labeler از طریق API Replicate خودکار می‌کند. این گردش کار برای ارسال یک URL تصویر برای تحلیل، بررسی وضعیت API برای تکمیل، و سپس ساختاردهی نتایج طراحی شده است.

ویژگی‌های کلیدی:

  • برچسب‌گذاری خودکار blendshape برای تصاویر.
  • ادغام یکپارچه با API پیش‌بینی Replicate AI.
  • مکانیزم بررسی وضعیت قوی برای پاسخ‌های ناهمزمان API.

موارد استفاده:

  • تحلیل تصویر با هوش مصنوعی برای حالات چهره یا ژست‌های بدن.
  • ادغام تحلیل تصویر در زمان واقعی در خطوط لوله اتوماسیون بزرگتر.
  • پردازش دسته‌ای تصاویر برای استخراج داده‌های blendshape.

ساختار گردش کار:

1. تنظیم ورودی و کلید API: گردش کار را به صورت دستی راه‌اندازی کرده و کلید API Replicate خود را پیکربندی کنید.

2. درخواست پیش‌بینی: یک URL تصویر را به API Replicate ارسال کنید تا تحلیل آغاز شود.

3. استخراج شناسه و وضعیت: شناسه پیش‌بینی منحصر به فرد و وضعیت اولیه را از پاسخ API دریافت کنید.

4. حلقه بررسی وضعیت: وضعیت پیش‌بینی را به طور مکرر بررسی کنید تا زمانی که تحلیل کامل شود.

5. پردازش نتایج: داده‌های نهایی blendshape و فراداده‌های مرتبط را قالب‌بندی و استخراج کنید.

---

۱. تنظیم ورودی و کلید API

این بخش گردش کار را راه‌اندازی کرده و کلید API Replicate شما را به صورت امن ذخیره می‌کند.

۱.۱ راه‌اندازی دستی

  • نوع Node: manualTrigger
  • هدف: اجرای گردش کار را به صورت دستی آغاز می‌کند.
  • پیکربندی: هیچ پارامتر خاصی لازم نیست.
  • خروجی: به Node Set API Key متصل می‌شود.

۱.۲ تنظیم کلید API

  • نوع Node: set
  • هدف: کلید API Replicate شما را به عنوان یک متغیر گردش کار برای استفاده در درخواست‌های HTTP بعدی ذخیره می‌کند.
  • پیکربندی:

* یک جفت کلید-مقدار جدید ایجاد کنید:

* کلید: replicate_api_key

* مقدار: "YOUR_REPLICATE_API_KEY" (کلید API Replicate واقعی خود را جایگزین کنید).

  • ورودی: سیگنال را از Node manualTrigger دریافت می‌کند.
  • خروجی: به Node Create Prediction متصل می‌شود.
  • نکته: اطمینان حاصل کنید که کلید API خود را محرمانه نگه دارید.

---

۲. درخواست پیش‌بینی

این بخش درخواست تحلیل تصویر را به API Replicate ارسال می‌کند.

۲.۱ ایجاد پیش‌بینی

  • نوع Node: httpRequest
  • هدف: یک درخواست POST به API Replicate برای شروع فرآیند برچسب‌گذاری blendshape ارسال می‌کند.
  • پیکربندی:

* URL: https://api.replicate.com/v1/predictions

* متد HTTP: POST

* Headers:

* Authorization: ={{ 'Bearer ' + $('Set API Key').item.json.replicate_api_key }} (کلید API شما را به صورت پویا درج می‌کند)

* Content-Type: application/json

* پارامترهای بدنه (JSON):

```json

{

"version": "f6cda62f5bdf02558ef9f9d23512a296db9927b2b93b6c57295f3e9d6ae696fa",

"input": {

"media_path": "https://example.com/input.image",

"max_people": 100,

"export_train": true,

"frame_sample_rate": 1

}

}

```

* "https://example.com/input.image" را با URL واقعی تصویری که می‌خواهید تحلیل کنید جایگزین کنید.

* max_people، export_train و frame_sample_rate را در صورت نیاز تنظیم کنید.

* مهلت زمانی (Timeout): 60000 میلی‌ثانیه (۶۰ ثانیه) برای در نظر گرفتن تأخیر شبکه.

  • ورودی: کلید API را از Node Set API Key دریافت می‌کند.
  • خروجی: به Node Extract Prediction ID متصل می‌شود.

---

۳. استخراج شناسه و وضعیت

این بخش پاسخ اولیه API را تجزیه می‌کند تا اطلاعات لازم برای بررسی وضعیت را دریافت کند.

۳.۱ استخراج شناسه پیش‌بینی

  • نوع Node: code
  • هدف: id و status پیش‌بینی را از پاسخ API استخراج کرده و URL را برای بررسی وضعیت ایجاد می‌کند.
  • پیکربندی (کد جاوا اسکریپت):

```javascript

const prediction = $input.item.json;

const predictionId = prediction.id;

const initialStatus = prediction.status;

return {

predictionId: predictionId,

status: initialStatus,

predictionUrl: https://api.replicate.com/v1/predictions/${predictionId}

};

```

  • ورودی: پاسخ را از Node Create Prediction دریافت می‌کند.
  • خروجی: به Node Wait متصل می‌شود.

---

۴. حلقه بررسی وضعیت

این بخش حلقه‌ای را برای بررسی مکرر وضعیت پیش‌بینی تا زمان تکمیل آن پیاده‌سازی می‌کند.

۴.۱ انتظار

  • نوع Node: wait
  • هدف: تاخیری بین بررسی‌های وضعیت برای جلوگیری از بارگذاری بیش از حد API و مدیریت مصرف منابع ایجاد می‌کند.
  • پیکربندی:

* تأخیر (Delay): ۲ ثانیه.

  • ورودی: سیگنال تأخیر را از Extract Prediction ID (در ابتدا) یا از Node Check If Complete (در حلقه) دریافت می‌کند.
  • خروجی: به Node Check Prediction Status متصل می‌شود.

۴.۲ بررسی وضعیت پیش‌بینی

  • نوع Node: httpRequest
  • هدف: API Replicate را برای دریافت وضعیت فعلی کار پیش‌بینی، پرس و جو می‌کند.
  • پیکربندی:

* URL: ={{ $json.predictionUrl }} (URL تولید شده در Extract Prediction ID را به صورت پویا استفاده می‌کند)

* متد HTTP: GET

* Headers:

* Authorization: ={{ 'Bearer ' + $('Set API Key').item.json.replicate_api_key }}

  • ورودی: سیگنال تأخیر را از Node Wait دریافت می‌کند.
  • خروجی: به Node Check If Complete متصل می‌شود.

۴.۳ بررسی تکمیل بودن

  • نوع Node: if
  • هدف: وضعیت پیش‌بینی را ارزیابی می‌کند. اگر succeeded باشد، گردش کار به پردازش نتایج ادامه می‌دهد. در غیر این صورت، به Node Wait بازمی‌گردد.
  • پیکربندی:

* شرط (Condition): ={{ $json.status === "succeeded" }}

  • ورودی: به‌روزرسانی وضعیت را از Node Check Prediction Status دریافت می‌کند.
  • خروجی‌ها:

* شاخه True: به Node Process Result متصل می‌شود.

* شاخه False: برای ادامه بررسی وضعیت، به Node Wait بازمی‌گردد.

---

۵. پردازش نتایج

این بخش خروجی نهایی را از پیش‌بینی تکمیل شده قالب‌بندی می‌کند.

۵.۱ پردازش نتیجه

  • نوع Node: code
  • هدف: داده‌های خروجی مرتبط را از پیش‌بینی موفق، از جمله وضعیت، URLهای خروجی، معیارها و مُهرهای زمانی، ساختاردهی می‌کند.
  • پیکربندی (کد جاوا اسکریپت):

```javascript

const result = $input.item.json;

return {

status: result.status,

output: result.output,

metrics: result.metrics,

created_at: result.created_at,

completed_at: result.completed_at,

model: 'fire/v-sekai.mediapipe-labeler',

image_url: result.output // فرض بر این است که خروجی حاوی URL تصویر پردازش شده یا داده‌های blendshape است

};

```

  • ورودی: داده‌های پیش‌بینی موفق را از Node Check If Complete (شاخه True) دریافت می‌کند.
  • خروجی: این خروجی نهایی گردش کار است.

---

جدول خلاصه گردش کار

نام Nodeنوع NodeنقشNode(های) ورودیNode(های) خروجی
On clicking 'execute'manualTriggerراه‌انداز شروع گردش کارNoneSet API Key
Set API Keysetذخیره کلید API ReplicateOn clicking 'execute'Create Prediction
Create PredictionhttpRequestارسال درخواست پیش‌بینی به ReplicateSet API KeyExtract Prediction ID
Extract Prediction IDcodeدریافت شناسه و وضعیت پیش‌بینیCreate PredictionWait
Waitwaitتأخیر بین درخواست‌های بررسی وضعیتExtract Prediction ID, Check If CompleteCheck Prediction Status
Check Prediction StatushttpRequestبررسی وضعیت پیش‌بینی از ReplicateWaitCheck If Complete
Check If Completeifبررسی اینکه آیا وضعیت پیش‌بینی 'succeeded' استCheck Prediction StatusProcess Result (True), Wait (False)
Process Resultcodeقالب‌بندی و ساختاردهی خروجی نهاییCheck If Complete (True)پایان گردش کار

---

بازسازی گردش کار

برای ساخت این گردش کار از ابتدا در Axeto.ai، مراحل زیر را دنبال کنید:

1. افزودن Node manualTrigger: نام آن را On clicking 'execute' بگذارید.

2. افزودن Node set: نام آن را Set API Key بگذارید. آن را برای تنظیم replicate_api_key با کلید API Replicate خود پیکربندی کنید. On clicking 'execute' را به این Node متصل کنید.

3. افزودن Node httpRequest: نام آن را Create Prediction بگذارید. آن را همانطور که در بخش ۲.۱ توضیح داده شده است، پیکربندی کنید. Set API Key را به این Node متصل کنید.

4. افزودن Node code: نام آن را Extract Prediction ID بگذارید. کد جاوا اسکریپت را از بخش ۳.۱ جای‌گذاری کنید. Create Prediction را به این Node متصل کنید.

5. افزودن Node wait: نام آن را Wait بگذارید. تأخیر را روی ۲ ثانیه تنظیم کنید. Extract Prediction ID را به این Node متصل کنید.

6. افزودن Node httpRequest: نام آن را Check Prediction Status بگذارید. آن را همانطور که در بخش ۴.۲ توضیح داده شده است، پیکربندی کنید. Wait را به این Node متصل کنید.

7. افزودن Node if: نام آن را Check If Complete بگذارید. شرط را همانطور که در بخش ۴.۳ توضیح داده شده است، تنظیم کنید. Check Prediction Status را به این Node متصل کنید.

8. افزودن Node code: نام آن را Process Result بگذارید. کد جاوا اسکریپت را از بخش ۵.۱ جای‌گذاری کنید. شاخه True از Check If Complete را به این Node متصل کنید.

9. ایجاد حلقه: شاخه False از Check If Complete را به Node Wait بازگردانید.

شما می‌توانید این گردش کار و بسیاری دیگر را در کاتالوگ n8n در Axeto.ai پیدا کنید.

Nodeهای استفاده‌شده

سوالات متداول

Mediapipe Blendshape Labeler چیست؟

Mediapipe Blendshape Labeler یک مدل هوش مصنوعی است که می‌تواند ویژگی‌های صورت مانند حالت‌ها و احساسات را در تصاویر تشخیص دهد و آن‌ها را به صورت داده‌های blendshape برچسب‌گذاری کند.

چگونه می‌توانم از Replicate AI برای تحلیل تصاویر استفاده کنم؟

شما می‌توانید با استفاده از API Replicate، مدل‌های هوش مصنوعی مانند Mediapipe Blendshape Labeler را فراخوانی کنید. گردش کار n8n این فرآیند را با ارسال URL تصویر و دریافت نتایج خودکار می‌کند.

این گردش کار n8n چه کاری انجام می‌دهد؟

این گردش کار، تحلیل تصاویر را با استفاده از Mediapipe Blendshape Labeler از طریق API Replicate خودکار می‌کند. این شامل ارسال تصویر، بررسی وضعیت پیش‌بینی و استخراج داده‌های blendshape نهایی است.

موارد استفاده اصلی این گردش کار چیست؟

موارد استفاده شامل تحلیل خودکار حالات چهره برای برنامه‌های محتوای خلاقانه، ادغام تحلیل تصویر در زمان واقعی در خطوط لوله اتوماسیون، و پردازش دسته‌ای تصاویر برای استخراج داده‌های blendshape است.

workflowهای مرتبط

این workflow در کاتالوگ Axeto.ai بایگانی شده است. لایسنس اصلی متعلق به سازنده workflow است.