
働き方を一変!Azure A Foundry Content Understanding によるビデオ分析で安全と生産性を両立
Microsoft community blog が良かったので翻訳してみた。
🚀この記事のポイント
サンプルのレポジトリが秀逸
GPT-4o を使用したビデオファイルやビデオ URL(例: YouTube)の分析とインサイトの抽出方法をサンプルコードで提供

職場の安全性と効率性をAIで劇的に向上
Azure AI Foundryの「Video Shot Analysis」は、生成AIを活用して、ビデオデータから労働者の動作、安全リスク、作業環境を分析し、データ駆動型の改善を可能にします。簡単かつカスタマイズ可能な分析ツール
ユーザー定義のスキーマに基づき、労働者の姿勢や行動、安全リスクを高精度で分類。JSON形式の出力により、既存の業務プロセスへの統合も簡単です。あらゆる業界で活用可能な汎用性
製造業、物流、医療、小売、建設業など、さまざまな業界での利用ケースに適応。特に効率化と安全性向上が求められる現場で有用です。未来を見据えたAI活用の第一歩
コンテンツ理解APIやGitHubリポジトリを通じて、開発者はさらに高度なカスタマイズが可能。業務プロセスをAIで進化させる具体的なソリューションを提案します。
Azure AI Foundry のコンテンツ理解による職場の安全性と効率性の向上
著者: John Carroll
投稿日: 2024年12月22日
現代のスピードが求められる産業において、労働者の効率性と安全性を維持することは、優先事項というよりも必須条件です。Azure AI Foundry のコンテンツ理解サービス、特に Video Shot Analysis テンプレートは、職場分析における大きな進歩を表しています。このサービスでは、生成 AI を活用してビデオデータを分析し、生産性の向上と労働者の福祉を実現するための業務変革を可能にします。
Azure AI Foundry のコンテンツ理解とは?
Azure AI Foundry のコンテンツ理解サービスは、テキスト、音声、画像、文書、ビデオなどのマルチモーダルなデータ形式を処理・分析できる最先端の AI プラットフォームです。この機能により、専門的な AI スキルがなくても、企業は多様なデータから実用的なインサイトを抽出できます。顧客のフィードバック分析、ワークフローの自動化、ビデオコンテンツの理解向上など、Azure AI Foundry は複雑なデータセットから価値を引き出すことを容易にします。詳細は Azure AI Foundry のコンテンツ理解サービス をご覧ください。
コンテンツ理解によるビデオ分析の変革
Azure AI Foundry のコンテンツ理解サービスは、Video Shot Analysis テンプレート(パブリックプレビュー)を使用してビデオから実用的なインサイトを抽出できます。このテンプレートは、ビデオ映像を1分単位などのセグメントに分割し、ユーザー定義のスキーマに基づいて分析します。このデータは構造化され、意思決定を支援します。また、環境音も分析し、安全性や生産性に影響を与える可能性のある騒音レベルに関するインサイトを提供します。さらに、音声の文字起こしを生成し、話された内容を実用的に理解することが可能です。
Video Shot Analysis の主な機能
スキーマカスタマイズ: ユーザーが特定のメトリック(例: 労働者の動作、姿勢、安全リスク)を収集するためのフィールドを定義可能。
高精度: 高度な AI モデルによる正確な検出と分類。
検証済み出力: ワークフローやアプリケーションと統合可能な構造化 JSON 出力。

Azure AI Foundry のスキーマ定義インターフェイスにより、職場ビデオデータのカスタム分析が可能です。詳細は コンテンツ理解のスキーマ定義 をご覧ください。
労働者の効率性と安全性を分析する: 詳細な解析
Video Shot Analysis テンプレートでは、詳細な分析のために最大10フィールドを定義可能です。職場の安全性と効率性を向上させるため、以下のようなスキーマを設定しました。
主要な動作: 各ビデオセグメントで最も頻繁に行われた活動を特定(例: 荷物の持ち上げ、歩行)。
労働者の姿勢分析: 腰を曲げる、直立するなどの動作を強調。
安全リスク: 不適切な荷物の持ち上げなどの危険を検出。
負荷重量: 労働者が扱う重量を追跡し、負荷分布を分析。
環境騒音レベル: 職場の騒音を監視し、安全基準を確保。
各フィールドは職場環境を評価するための重要なデータをキャプチャし、安全性とパフォーマンスを向上させます。
結果の視覚化: インサイトを実践へ

分析結果は、支配的な動作、安全リスク、環境に関するインサイトを示します。例えば、倉庫環境では以下のような結果が得られました。
支配的な動作: 荷物の持ち上げ(60%)、歩行(30%)。
負荷重量: 約30ポンド。
疲労指標: 重大な兆候は検出されず、騒音レベルは通常範囲内。
詳細は Video Shot Analysis テンプレート をご覧ください。
JSON 出力: シームレスな統合のための構造化データ
Video Shot Analysis によって生成される JSON 出力は、構造化された機械読み取り可能なデータを提供します。
{
"id": "b45c3ee9-c239-4df5-b1dc-fc8d7c3ecffa",
"status": "Succeeded",
"result": {
"analyzerId": "auto-labeling-model-1734748393327-893",
"apiVersion": "2024-12-01-preview",
"createdAt": "2024-12-21T02:34:07Z",
"warnings": [],
"contents": [
{
"markdown": "# Shot 0:0.0 => 1:1.772\n## Transcript\n```\nWEBVTT\n\n```\n## Key Frames\n- 0:2.934 \n- 0:5.867 \n- 0:8.801 \n- 0:11.734 \n- 0:14.668 \n- 0:17.602 \n- 0:20.535 \n- 0:23.469 \n- 0:26.402 \n- 0:29.336 \n- 0:32.270 \n- 0:35.203 \n- 0:38.137 \n- 0:41.71 \n- 0:44.4 \n- 0:46.938 \n- 0:49.871 \n- 0:52.805 \n- 0:55.739 \n- 0:58.672 ",
"fields": {
"dominantAction": {
"type": "array",
"valueArray": [
{
"type": "string",
"valueString": "lifting box (60%)"
},
{
"type": "string",
"valueString": "scanning items (20%)"
},
{
"type": "string",
"valueString": "walking (20%)"
}
]
},
"workerPostureAnalysis": {
"type": "array",
"valueArray": [
{
"type": "string",
"valueString": "Worker maintained upright posture for 70% of the time, with 30% observed bending while lifting."
}
]
},
"actionScore": {
"type": "number",
"valueNumber": 85
},
"equipmentUsage": {
"type": "array",
"valueArray": [
{
"type": "string",
"valueString": "Equipment_Used_Properly: Handheld scanner used for logging items."
},
{
"type": "string",
"valueString": "Manual_Handling_Detected: Lifting boxes manually."
}
]
},
"actionContext": {
"type": "string",
"valueString": "The worker operated in a warehouse environment with shelves nearby, handling medium-sized boxes. Lighting was adequate, and the floor appeared clean and unobstructed. The worker used a handheld scanner to log items, occasionally bending to lift boxes from a pallet."
},
"loadWeights": {
"type": "array",
"valueArray": [
{
"type": "string",
"valueString": "30 lbs"
},
{
"type": "string",
"valueString": "30 lbs"
},
{
"type": "string",
"valueString": "30 lbs"
},
{
"type": "string",
"valueString": "30 lbs"
}
]
},
"safetyRisks": {
"type": "array",
"valueArray": [
{
"type": "string",
"valueString": "Improper_Lifting: Observed bending without knee support."
}
]
},
"workerActionsSummary": {
"type": "array",
"valueArray": [
{
"type": "string",
"valueString": "lifting box: { \"instances\": [ { \"duration\": 5, \"efficiency\": \"Within_Benchmark\" }, { \"duration\": 7, \"efficiency\": \"Within_Benchmark\" }, { \"duration\": 6, \"efficiency\": \"Within_Benchmark\" }, { \"duration\": 5, \"efficiency\": \"Within_Benchmark\" } ], \"total_duration\": 23, \"count\": 4, \"efficiency\": \"Within_Benchmark\" }"
},
{
"type": "string",
"valueString": "scanning items: { \"instances\": [ { \"duration\": 3, \"efficiency\": \"Within_Benchmark\" }, { \"duration\": 3, \"efficiency\": \"Within_Benchmark\" } ], \"total_duration\": 6, \"count\": 2, \"efficiency\": \"Within_Benchmark\" }"
},
{
"type": "string",
"valueString": "walking: { \"instances\": [ { \"duration\": 4, \"efficiency\": \"Within_Benchmark\" }, { \"duration\": 5, \"efficiency\": \"Within_Benchmark\" } ], \"total_duration\": 9, \"count\": 2, \"efficiency\": \"Within_Benchmark\" }"
}
]
},
"environmentalNoiseLevel": {
"type": "string",
"valueString": "Average noise level: 70 dB, typical for warehouse operations with occasional peaks due to equipment use."
},
"workerFatigueIndicators": {
"type": "string",
"valueString": "No significant signs of fatigue detected. Actions maintained consistent speed and efficiency."
}
},
"kind": "audioVisual",
"startTimeMs": 0,
"endTimeMs": 61772,
"width": 1920,
"height": 1080
}
]
}
}
Video Shot Analysis によって生成された JSON 出力は、構造化され、機械が読み取り可能なデータを提供します。例えば以下のような形式です。
{
"dominantAction": ["Lifting (60%)", "Walking (30%)"],
"workerPostureAnalysis": ["Upright posture: 70%"],
"actionScore": 85,
"loadWeights": ["Approx. 30 lbs", "Approx. 25 lbs"],
"safetyRisks": ["None"],
"environmentalNoiseLevel": "Moderate",
"workerFatigueIndicators": "No significant fatigue detected"
}
産業を超えたビデオ分析の応用

Video Shot Analysis の多様性は倉庫業務を超え、以下のようなさまざまな業界での活用が期待されています。
製造業: 作業員の効率を分析し、人間工学的リスクを特定して組立ラインを最適化。
物流と倉庫: 作業パフォーマンスや荷物の取り扱いを監視して安全性を向上し、業務を効率化。
医療: 医療スタッフの動きを評価し、患者ケアを強化し、疲労リスクを最小化。
小売: 在庫管理作業を監視し、安全プロトコルの遵守を確保。
建設業: 作業員の姿勢や動作を評価し、肉体的に負荷の高いタスクにおけるリスクを軽減。
詳細は Azure AI Foundry の応用例 をご覧ください。
業界の変革を推進
Azure AI Foundry の Video Shot Analysis を活用することで、組織は次のことを実現できます。
安全性の向上: 不適切な荷物の持ち上げや過剰な疲労などのリスクを事前に特定。
生産性の向上: 効率性のベンチマークを監視し、作業パフォーマンスを改善。
トレーニングの効率化: AI によるインサイトを活用してカスタムトレーニングプログラムを作成。
Azure AI Foundry の価値を最大限に活用
Azure AI Foundry のコンテンツ理解サービスは、データ駆動型のインサイトを通じてより多くを達成しようとする組織にとって強力なツールです。Video Shot Analysis テンプレート(パブリックプレビュー版)は、生成 AI を活用してビデオコンテンツを実用的なインテリジェンスに変換し、業務の卓越性を向上させる方法を示しています。
コンテンツ理解 API: スケールでの自動化を実現
Azure AI Foundry のコンテンツ理解 API は、開発者がその機能をプログラム的に活用し、既存のアプリケーションやワークフローにシームレスに統合できるようにします。この API を使用すると、以下のようなコンテンツ分析タスクを自動化できます。
Video Shot Analysis: ビデオセグメントから実用的なインサイトを抽出。
音声文字起こしと分析: 音声環境を評価し、文字起こしを生成。
画像および文書インサイト: 幅広いメディア形式から価値を抽出。
開発者はカスタムパラメータを定義し、REST エンドポイントを介して API とやり取りすることで、インサイトの生成と活用に関する完全な制御を得られます。リアルタイムモニタリング向けやバッチ分析向けのソリューション構築において、この API は柔軟性と拡張性を提供します。
コンテンツ理解 API クイックスタートガイド で始めましょう。
完全にカスタマイズ可能なビデオ分析ソリューションの構築
Azure AI Foundry のポータルやコンテンツ理解サービスを超えて、さらに柔軟でカスタマイズされたソリューションを求めるユーザー向けに、Microsoft は Azure Samples GitHub リポジトリを提供しています。このリポジトリでは、GPT-4o を使用したビデオファイルやビデオ URL(例: YouTube)の分析とインサイトの抽出方法をデモしています。
ビデオ処理の主要ステップ:
指定された期間でビデオをセグメントに分割。
1秒間に1フレームの割合でビデオフレームを抽出。
必要に応じて Whisper を使用して音声を文字起こし。
フレームと音声を分析し(オプション)、与えられたプロンプトに基づいて記述、要約、またはカスタムインサイトを生成。
このアプローチは、アプリケーション開発の専門知識を持つユーザー向けに、完全にカスタマイズされたソリューションを提供します。GitHub リポジトリ: Video Analysis with GPT-4o をご覧ください。

結論
Azure AI Foundry の Video Shot Analysis は、職場の安全性と効率性の課題に比類のない精度で対応します。リアルタイムモニタリングから詳細な事後分析まで、この革新的なサービスにより、産業界は業務を最適化し、安全な職場環境を促進できます。
柔軟なスキーマ設計、検証済みの JSON 出力、強力な分析機能により、Azure AI Foundry は職場インテリジェンスの新基準を確立しています。AI 駆動型の変革を受け入れる産業が増える中で、Video Shot Analysis の可能性は無限大です。
Azure AI Foundry のコンテンツ理解 を使用して、今日から始めましょう。
更新日: 2024年12月23日
バージョン: 3.0
※本ブログは、 “Enhancing Workplace Safety and Efficiency with Azure AI Foundry's Content Understanding | Microsoft Community Hub” を翻訳してます。気になる箇所があれば、原文を確認ください。