Sdílet prostřednictvím


Redact faces by using Azure AI Video Indexer API

K detekci a identifikaci tváří ve videu můžete použít Azure AI Video Indexer. Pokud chcete video upravit tak, aby rozostřily (redact) tváře konkrétních jednotlivců, můžete použít rozhraní API.

Několik minut záběrů, které obsahují více tváří, může trvat několik hodin, než se ručně zpracují, ale použití přednastavení v rozhraní API Video Indexeru vyžaduje proces redakce tváře jen několik jednoduchých kroků.

V tomto článku se dozvíte, jak redigovat tváře pomocí rozhraní API. Rozhraní API Video Indexeru obsahuje přednastavení face Redaction , která nabízí škálovatelné rozpoznávání tváře a redakci (rozostření) v cloudu. Tento článek ukazuje jednotlivé kroky, jak podrobně vyřadit tváře pomocí rozhraní API.

Následující video ukazuje, jak video redigovat pomocí rozhraní API služby Azure AI Video Indexer.

Dodržování předpisů, ochrana osobních údajů a zabezpečení

Jako důležité připomenutí musíte dodržovat všechny platné zákony při používání analýz nebo přehledů, které odvozujete pomocí Video Indexeru.

Přístup ke službě Rozpoznávání tváře je omezený na základě kritérií způsobilosti a používání, která podporují zásady zodpovědné umělé inteligence Microsoftu. Služba Rozpoznávání tváře je dostupná jenom pro zákazníky a partnery spravované Microsoftem. Pro přístup použijte formulář pro příjem rozpoznávání tváře. Další informace najdete na stránce s omezeným přístupem k tváři.

Terminologie a hierarchie redakce tváří

Reakce tváří ve Video Indexeru závisí na výstupu existujících výsledků detekce tváří Video Indexeru, které poskytujeme v předvolbách Video Standard a Advanced Analysis.

Pokud chcete video redigovat, musíte nejprve nahrát video do Video Indexeru a dokončit analýzu pomocí přednastavení standardního nebo rozšířeného videa. Můžete to provést pomocí webu nebo rozhraní API služby Azure AI Video Indexer. Pomocí rozhraní API pro redakci tváře pak můžete na toto video odkazovat pomocí videoId hodnoty. Vytvoříme nové video, ve kterém jsou označené tváře redakčně upraveny. Analýza videa i redakce tváří jsou samostatné fakturovatelné úlohy. Další informace najdete na naší stránce s cenami.

Typy rozostření

Můžete si vybrat z různých typů rozmazaní v redakci obličeje. Pokud chcete vybrat typ, použijte pro parametr v textu požadavku název nebo reprezentativní číslo blurringKind :

rozmazané ČísloKindu rozmazaný NázevKindu Příklad
0 MediumBlur Fotka rozostření médií video indexeru Azure AI
0 HighBlur Fotka vysokého rozostření video indexeru Azure AI
2 LowBlur Fotka nízkého rozostření video indexeru Azure AI
3 Ohraničujícíbox Fotka ohraničující rámečky video indexeru Azure AI
4 Černá Fotka typu černá pole Azure AI Video Indexeru

Pomocí parametru blurringKind můžete určit druh rozmazaní v textu požadavku.

Tady je příklad:

{
    "faces": {
        "blurringKind": "HighBlur"
    }
}

Nebo použijte číslo, které představuje typ rozmazaní popsaného v předchozí tabulce:

{
    "faces": {
        "blurringKind": 1
    }
}

Filtry

Filtry můžete použít k nastavení id tváře, která se mají rozostřit. ID tváří můžete zadat v poli odděleném čárkami v těle souboru JSON. Pomocí parametru scope vyloučíte nebo zahrnete tyto tváře k redakci. Zadáním ID můžete buď redactovat všechny tváře s výjimkou ID, která označujete, nebo redact pouze těchto ID. Příklady najdete v dalších částech.

Vyloučit obor

V následujícím příkladu použijte obor k redakci všech tváří kromě ID tváří 1001 a 1016 Exclude :

{
    "faces": {
        "blurringKind": "HighBlur",
        "filter": {
            "ids": [1001, 1016],
            "scope": "Exclude"
        }
    }
}

Zahrnout obor

Pokud chcete v následujícím příkladu redigovat pouze ID tváří 1001 a 1016, použijte Include obor:

{
    "faces": {
        "blurringKind": "HighBlur",
        "filter": {
            "ids": [1001, 1016],
            "scope": "Include"
        }
    }
}

Redact all faces

Pokud chcete všechny tváře znovu upravit, odeberte filtr oboru:

{
    "faces": {
        "blurringKind": "HighBlur",
    }
}

Pokud chcete načíst ID tváře, můžete přejít na indexované video a načíst soubor artefaktů. Artefakt obsahuje soubor faces.json a miniaturu .zip souboru, který obsahuje všechny tváře zjištěné ve videu. Můžete se shodovat s ID tváře a rozhodnout, která ID tváře se mají znovu provést.

Vytvoření úlohy redakce

Pokud chcete vytvořit úlohu redakce, můžete vyvolat následující volání rozhraní API:

POST https://api.videoindexer.ai/{location}/Accounts/{accountId}/Videos/{videoId}/redact[?name][&priority][&privacy][&externalId][&streamingPreset][&callbackUrl][&accessToken]

Jsou vyžadovány následující hodnoty:

Jméno Hodnota Popis
Accountid {accountId} ID vašeho účtu Video Indexeru.
Location {location} Oblast Azure, ve které se nachází váš účet Video Indexeru. Například westus.
AccessToken {token} Token, který má práva přispěvatele účtu vygenerovaná prostřednictvím rozhraní REST API Azure Resource Manageru.
Videoid {videoId} ID videa zdrojového videa, které se má znovu provést. ID videa můžete načíst pomocí rozhraní API seznamu videí .
Name {name} Název nového, redaktovaného videa.

Tady je příklad požadavku:

https://api.videoindexer.ai/westeurope/Accounts/{id}/Videos/{id}/redact?priority=Low&name=testredaction&privacy=Private&streamingPreset=Default 

Token můžete zadat jako autorizační hlavičku, která má typ bearertoken:{token}hodnoty klíče , nebo ho můžete zadat jako parametr dotazu pomocí ?token={token}.

Musíte také přidat text požadavku ve formátu JSON s možnostmi úlohy redaction, které se mají použít. Tady je příklad:

{
    "faces": {
        "blurringKind": "HighBlur"
    }
}

Po úspěšném dokončení požadavku obdržíte odpověď HTTP 202 ACCEPTED.

Monitorování stavu úlohy

V odpovědi požadavku na vytvoření úlohy obdržíte hlavičku Location HTTP, která má adresu URL úlohy. Stejný token můžete použít k vytvoření požadavku GET na tuto adresu URL, abyste viděli stav úlohy redakce.

Tady je příklad adresy URL:

https://api.videoindexer.ai/westeurope/Accounts/<id>/Jobs/<id>

Zde je příklad odpovědi:

{
    "creationTime": "2023-05-11T11:22:57.6114155Z",
    "lastUpdateTime": "2023-05-11T11:23:01.7993563Z",
    "progress": 20,
    "jobType": "Redaction",
    "state": "Processing"
}

Pokud při dokončení úlohy redakce zavoláte stejnou adresu URL, v Location hlavičce získáte adresu URL sdíleného přístupového podpisu úložiště (SAS) k redacted videu. Příklad:

https://api.videoindexer.ai/westeurope/Accounts/<id>/Videos/<id>/SourceFile/DownloadUrl 

Tato adresa URL se přesměruje na soubor .mp4, který je uložený v účtu azure Storage.

Nejčastější dotazy

Otázka Odpověď
Můžu nahrát video a redakci v jedné operaci? Ne. Nejprve je potřeba nahrát a analyzovat video pomocí rozhraní API Video Indexeru. Pak v úloze redakce odkazujte na indexované video.
Můžu k redakci videa použít web Azure AI Video Indexer? Ne. V současné době můžete k vytvoření úlohy redakce použít pouze rozhraní API.
Můžu přehrát redakčně upravená videa pomocí webu Video Indexer? Ano. Redacted video je viditelné na webu Video Indexer jako jakékoli jiné indexované video, ale neobsahuje žádné přehledy.
Návody odstranit upravená videa? Můžete použít rozhraní API pro odstranění videa a zadat Videoid hodnotu pro redactované video.
Musím předat identifikaci obličeje, aby bylo možné použít redakci obličeje? Pokud nepředstavíte policejní oddělení v USA, ne. I když jste v bráně, budeme dál nabízet detekci tváří. Pokud jste v bráně, nenabízíme identifikaci obličeje. Všechny tváře ve videu ale můžete redigovat pouze pomocí detekce tváří.
Přepíše mi původní video redakce? Ne. Úloha redaction tváře vytvoří nový výstupní soubor videa.
Ne všechny tváře jsou správně upraveny. Co mám dělat? Redaction spoléhá na počáteční detekci tváří a výstup detekce kanálu analýzy. Přestože většinu času rozpoznáme všechny tváře, existují okolnosti, ve kterých nemůžeme rozpoznat tvář. Faktory, jako je úhel tváře, počet snímků, které tvář obsahuje, a kvalita zdrojového videa ovlivňuje kvalitu redakce tváře. Další informace najdete v tématu Přehledy tváře.
Můžu objekty, které jsou jiné než tváře, redigovat? Ne. V současné době nabízíme pouze redakci tváře. Pokud potřebujete redigovat další objekty, můžete nám poskytnout zpětnou vazbu k našemu produktu v kanálu Azure User Voice .
Jak dlouho je adresa URL SAS platná pro stažení redactovaného videa? Pokud chcete po vypršení platnosti adresy URL SAS stáhnout redacted video, musíte zavolat počáteční adresu URL stavu úlohy. Nejlepší je zachovat tyto Jobstatus adresy URL v databázi v back-endu pro budoucí referenci.

Kódy chyb

Následující části popisují chyby, ke kterým může dojít při použití opakování tváře.

Odpověď: 404 Nenalezena

Účet nebyl nalezen nebo se video nenašlo.

Hlavičky odpovědi

Název Požadováno Type Popis
x-ms-request-id false (nepravda) string Server mu přiřadí globálně jedinečný identifikátor (GUID) pro účely instrumentace. Server zajistí, aby všechny protokoly přidružené ke zpracování požadavku mohly být propojeny s ID požadavku serveru. Klient může toto ID žádosti poskytnout v lístku podpory, aby technici podpory mohli najít protokoly, které jsou propojeny s tímto konkrétním požadavkem. Server zajistí, aby ID požadavku bylo pro každou úlohu jedinečné.

Text odpovědi

Název Požadováno Typ
ErrorType false (nepravda) ErrorType
Message false (nepravda) string

Výchozí JSON

{
    "ErrorType": "GENERAL",
    "Message": "string"
}

Odpověď: 400 Chybný požadavek

Neplatný vstup nebo video nejde znovu odeslat, protože původní nahrání se nezdařilo. Nahrajte video znovu.

Neplatný vstup nebo video nejde znovu odeslat, protože původní nahrání se nezdařilo. Nahrajte video znovu.

Hlavičky odpovědi

Název Požadováno Type Popis
x-ms-request-id false (nepravda) string Pro účely instrumentace je serverem přiřazen identifikátor GUID pro požadavek. Server zajistí, aby všechny protokoly přidružené ke zpracování požadavku mohly být propojeny s ID požadavku serveru. Klient může toto ID žádosti poskytnout v lístku podpory, aby technici podpory mohli najít protokoly, které jsou propojeny s tímto konkrétním požadavkem. Server zajistí, aby ID požadavku bylo pro každou úlohu jedinečné.

Text odpovědi

Název Požadováno Typ
ErrorType false (nepravda) ErrorType
Message false (nepravda) string

Výchozí JSON

{
    "ErrorType": "GENERAL",
    "Message": "string"
}

Odpověď: Konflikt 409

Video se už indexuje.

Hlavičky odpovědi

Název Požadováno Type Popis
x-ms-request-id false (nepravda) string Pro účely instrumentace je serverem přiřazen identifikátor GUID pro požadavek. Server zajistí, aby všechny protokoly přidružené ke zpracování požadavku mohly být propojeny s ID požadavku serveru. Klient může toto ID žádosti poskytnout v lístku podpory, aby technici podpory mohli najít protokoly, které jsou propojeny s tímto konkrétním požadavkem. Server zajistí, aby ID požadavku bylo pro každou úlohu jedinečné.

Text odpovědi

Název Požadováno Typ
ErrorType false (nepravda) ErrorType
Message false (nepravda) string

Výchozí JSON

{
    "ErrorType": "GENERAL",
    "Message": "string"
}

Odpověď: 401 Neautorizováno

Přístupový token nemá oprávnění pro přístup k účtu.

Hlavičky odpovědi

Název Požadováno Type Popis
x-ms-request-id false (nepravda) string Pro účely instrumentace je serverem přiřazen identifikátor GUID pro požadavek. Server zajistí, aby všechny protokoly přidružené ke zpracování požadavku mohly být propojeny s ID požadavku serveru. Klient může toto ID žádosti poskytnout v lístku podpory, aby technici podpory mohli najít protokoly, které jsou propojeny s tímto konkrétním požadavkem. Server zajistí, aby ID požadavku bylo pro každou úlohu jedinečné.

Text odpovědi

Název Požadováno Typ
ErrorType false (nepravda) ErrorType
Message false (nepravda) string

Výchozí JSON

{
    "ErrorType": "USER_NOT_ALLOWED",
    "Message": "Access token is not authorized to access account 'SampleAccountId'."
}

Odpověď: 500 Vnitřní chyba serveru

Na serveru došlo k chybě.

Hlavičky odpovědi

Název Požadováno Type Popis
x-ms-request-id false (nepravda) string Pro účely instrumentace je serverem přiřazen identifikátor GUID pro požadavek. Server zajistí, aby všechny protokoly přidružené ke zpracování požadavku mohly být propojeny s ID požadavku serveru. Klient může toto ID žádosti poskytnout v lístku podpory, aby technici podpory mohli najít protokoly, které jsou propojeny s tímto konkrétním požadavkem. Server zajistí, aby ID požadavku bylo pro každou úlohu jedinečné.

Text odpovědi

Název Požadováno Typ
ErrorType false (nepravda) ErrorType
Message false (nepravda) string

Výchozí JSON

{
    "ErrorType": "GENERAL",
    "Message": "There was an error."
}

Odpověď: 429 Příliš mnoho požadavků

Bylo odesláno příliš mnoho požadavků. Pomocí hlavičky Retry-After odpovědi se můžete rozhodnout, kdy odeslat další požadavek.

Hlavičky odpovědi

Název Požadováno Type Popis
Retry-After false (nepravda) integer Nezáporné desetinné číslo označující počet sekund, které se mají odložit po přijetí odpovědi.

Odpověď: 504 Vypršení časového limitu brány

Server neodpověděl na bránu v očekávaném čase.

Hlavičky odpovědi

Název Požadováno Type Popis
x-ms-request-id false (nepravda) string Pro účely instrumentace je serverem přiřazen identifikátor GUID pro požadavek. Server zajistí, aby všechny protokoly přidružené ke zpracování požadavku mohly být propojeny s ID požadavku serveru. Klient může toto ID žádosti poskytnout v lístku podpory, aby technici podpory mohli najít protokoly, které jsou propojeny s tímto konkrétním požadavkem. Server zajistí, aby ID požadavku bylo pro každou úlohu jedinečné.

Výchozí JSON

{
    "ErrorType": "SERVER_TIMEOUT",
    "Message": "Server did not respond to gateway within expected time"
}