「OpenAI WhisperとHugging Chat APIを使用したビデオの要約」

Video summarization using OpenAI Whisper and Hugging Chat API.

イントロダクション

建築家ルートヴィヒ・ミース・ファン・デル・ローエが有名になったように、「少ないことがより多い」ということは、要約の意味です。要約は、膨大なテキストコンテンツを簡潔で関連性のある要素にまとめるための重要なツールであり、現代の情報消費スピードに適したものです。テキストアプリケーションでは、要約は情報の検索を支援し、意思決定をサポートします。Generative AI(OpenAI GPT-3ベースのモデルなど)の統合により、テキストから重要な要素を抽出し、ソースの本質を保持したまま意味のある要約を生成するというプロセスが革新されました。興味深いことに、Generative AIの機能は、テキストにとどまらず、ビデオ要約にも広がっています。これには、ビデオから重要なシーン、対話、概念を抽出し、コンテンツの要約を作成することが含まれます。ビデオ要約は、短い要約ビデオを生成したり、ビデオコンテンツの分析を行ったり、ビデオのキーセクションを強調表示したり、ビデオのテキスト要約を作成するなど、さまざまな方法で実現できます。

Open AI Whisper APIは、自動音声認識技術を活用して話された言語を書かれたテキストに変換することで、テキストの要約の正確さと効率性を向上させます。一方、Hugging Face Chat APIは、GPT-3などの最先端の言語モデルを提供します。

学習目標

この記事では、以下のことを学びます:

  • ビデオ要約の技術について学ぶ
  • ビデオ要約の応用について理解する
  • Open AI Whisperモデルのアーキテクチャを探索する
  • Open AI WhisperとHugging Chat APIを使用してビデオテキスト要約を実装する方法を学ぶ

この記事は、Data Science Blogathonの一環として公開されました。

ビデオ要約の技術

ビデオ分析

これは、ビデオから意味のある情報を抽出するプロセスです。深層学習を使用して、ビデオ内のオブジェクトとアクションを追跡・識別し、シーンを特定します。ビデオ要約のための一部の人気のある技術は次のとおりです:

キーフレームの抽出とショット境界の検出

このプロセスは、ビデオを限られた数の静止画に変換することを含みます。キーショットの短いビデオとも呼ばれます。

ビデオショットとは、中断されない連続するフレームのシリーズです。ショット境界の認識では、カット、フェード、ディゾルブなどのショット間のトランジションを検出し、要約を構築するために各ショットからフレームを選択します。以下は、長いビデオから連続した短いビデオ要約を抽出するための主要な手順です:

  • フレームの抽出: ビデオからスナップショットを抽出します。30fpsのビデオでは1fpsを取ることができます。
  • 顔と感情の検出: 次に、ビデオから顔を抽出し、顔の感情スコアをスコアリングして感情スコアを検出します。SSD(シングルショットマルチボックスディテクター)を使用した顔検出。
  • フレームのランキングと選択: 高い感情スコアを持つフレームを選択し、ランク付けします。
  • 最終的な抽出: ビデオから字幕を抽出し、タイムスタンプとともに抽出されたフレームに対応する文を抽出します。最後に、これらのインターバルに対応するビデオパーツをマージして最終的な要約ビデオを生成します。

アクション認識と時間的サブサンプリング

この手法では、ビデオ内で行われる人間のアクションを特定しようとします。これは、ビデオ分析の広く使用されるアプリケーションです。フレームではなく、小さなサブシーケンスにビデオを分割し、分類やパターン認識技術(Hidden Markov Chain Analysisなど)を用いてセグメントで行われるアクションを推定します。

シングルモーダルとマルチモーダルのアプローチ

この記事では、シングルモーダルのアプローチを使用しました。ビデオの音声を使用してテキストの要約を作成するためのアプローチです。ビデオの1つの側面である音声を使用し、それをテキストに変換して要約を取得します。

マルチモーダルアプローチでは、音声、映像、テキストなど、多くのモダリティからの情報を組み合わせて、より正確な要約のためのビデオコンテンツの包括的な知識を提供します。

ビデオ要約の応用

ビデオ要約の実装に入る前に、ビデオ要約の応用について知っておく必要があります。以下に、さまざまな分野やドメインでのビデオ要約の例をいくつかリストアップしました:

  • セキュリティと監視:ビデオ要約は、ビデオを手動でレビューすることなく、重要なイベントのハイライトを抽出するために、大量の監視ビデオを分析することができます。
  • 教育とトレーニング:キーノートやトレーニングビデオを配信することで、学生はビデオの内容を全体を通して見ることなく復習することができます。
  • コンテンツの閲覧:YouTubeは、ユーザーの検索に関連するビデオの重要な部分をハイライト表示するためにこれを使用し、ユーザーがその特定のビデオを視聴するかどうかを検索要件に基づいて決定できるようにします。
  • 災害管理:緊急事態や危機の場合、ビデオ要約はビデオの要約にハイライトされた状況に基づいて行動を起こすことを可能にします。

Open AI Whisper モデルの概要

Open AI の Whisper モデルは、自動音声認識(ASR)です。音声オーディオをテキストに変換するために使用されます。

Open AI Whisper モデルのアーキテクチャ

これは、エンコーダとデコーダのブロックを重ねたトランスフォーマーアーキテクチャに基づいています。アテンションメカニズムを介して情報を伝えます。音声録音を取り、30秒のピースに分割し、それぞれを個別に処理します。各30秒の録音に対して、エンコーダは音声をエンコードし、各単語の位置を保存し、デコーダはこのエンコードされた情報を使用して、何が言われたのかを判断します。

デコーダは、基本的には発音された各単語であるトークンをこの情報から期待します。次の単語を特定するのに役立つ同じ情報をすべて利用して、このプロセスを繰り返します。

Whisper モデルのタスクフローチャート

ビデオテキスト要約のコーディング例

テキストビデオ要約のフローチャート

1 – ライブラリのインストールと読み込み

!pip install yt-dlp openai-whisper hugchat
import yt_dlp
import whisper
from hugchat import hugchat
# YouTube のビデオ ID からオーディオを保存するための関数
def download(video_id: str) -> str:
    video_url = f'https://www.youtube.com/watch?v={video_id}'
    ydl_opts = {
        'format': 'm4a/bestaudio/best',
        'paths': {'home': 'audio/'},
        'outtmpl': {'default': '%(id)s.%(ext)s'},
        'postprocessors': [{
            'key': 'FFmpegExtractAudio',
            'preferredcodec': 'm4a',
        }]
    }
    with yt_dlp.YoutubeDL(ydl_opts) as ydl:
        error_code = ydl.download([video_url])
        if error_code != 0:
            raise Exception('ビデオのダウンロードに失敗しました')

    return f'audio/{video_id}.m4a'


# ビデオ ID を指定して関数を呼び出す
file_path = download('A_JQK_k4Kyc&t=99s')

3 – Whisper を使用して音声をテキストに変換

# Whisper モデルをロード
whisper_model = whisper.load_model("tiny")

# 音声をテキストに変換する関数
def transcribe(file_path: str) -> str:
  # `fp16` はデフォルトで `True` になっており、モデルを GPU で実行しようとすることを示します。
  transcription = whisper_model.transcribe(file_path, fp16=False)
  return transcription['text']
  

# 音声ファイルのパスを指定してトランスクライバー関数を呼び出す
transcript = transcribe('/content/audio/A_JQK_k4Kyc.m4a')
print(transcript)

4 – Hugging Chat を使用して転写されたテキストを要約する

Hugging Chat API を使用するには、Hugging Face プラットフォームでログインまたはサインアップする必要があります。その後、”username” と “password” の代わりに Hugging Face の認証情報を渡す必要があります。

from hugchat.login import Login

# ログイン
sign = Login("username", "password")
cookies = sign.login()
sign.saveCookiesToDir("/content")

# usercookies からクッキーを読み込む
cookies = sign.loadCookiesFromDir("/content") # これは JSON ファイルが存在するかどうかを検出し、存在する場合はクッキーを返し、存在しない場合は例外を発生します。

# チャットボットを作成する
chatbot = hugchat.ChatBot(cookies=cookies.get_dict())  # または cookie_path="usercookies/<email>.json"
print(chatbot.chat("こんにちは!"))

# 転写を要約する
print(chatbot.chat('''以下を要約してください:'''+transcript))

結論

要約の概念は情報管理において変革的な力です。これは、大量のコンテンツを短い意味のある形式にまとめる強力なツールであり、現代の速い情報消費に合わせてカスタマイズされています。

OpenAI の GPT-3 などの生成型 AI モデルの統合により、要約は従来の境界を超え、一貫した文脈に基づいた要約を抽出するだけでなく、生成するプロセスへと進化しました。

ビデオの要約化における旅は、さまざまなセクターでのその重要性を明らかにします。Whisper を使用した音声抽出、転写、Hugging Face Chat を使用した要約の統合により、ビデオのテキスト要約をシームレスに作成することができます。

キーポイント

1. 生成型 AI: LLMs や ASR のような生成型 AI テクノロジーを使用することで、ビデオの要約を実現することができます。

2. フィールドへの応用: ビデオの要約は、重要な情報を採掘するために大量のビデオを分析する必要がある多くの重要な分野で実際に役立ちます。

3. 基本的な実装: この記事では、音声次元に基づいたビデオの要約の基本的なコード実装を探索しました。

4. モデルのアーキテクチャ: Open AI Whisper モデルの基本的なアーキテクチャとそのプロセスフローについても学びました。

よくある質問

この記事に表示されているメディアは Analytics Vidhya の所有物ではなく、著者の裁量により使用されています。

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

AIニュース

2023年のビデオ作成と編集のための40以上のAIツール

Adobe Premiere Pro Adobe Premiere Proは、AIの機能を備えたビデオ編集ソフトウェアで、ユーザーは素早く素晴らしいビデオを...

データサイエンス

AI、デジタルツインが次世代の気候研究イノベーションを解き放つ

AIと高速計算は、気候研究者が気候研究のブレークスルーを達成するために必要な奇跡を実現するのに役立つだろう、とNVIDIAの...

AI研究

Salesforce AIは、既存の拡散モデルを与えられた場合に、テキストから画像への拡散生成を行う新しい編集アルゴリズム「EDICT」を開発しました

最近のテクノロジーと人工知能の分野における進歩により、多くのイノベーションが生まれています。超トレンディなChatGPTモデ...

データサイエンス

「アメリカと欧州連合、データ共有に関する長らく待ち望まれた合意を完了」

「この合意により、MetaやGoogle、そして多くの企業にとって、今のところは法的な不確定性が解消されることになります」

AI研究

マイクロソフトの研究者がKOSMOS-2を紹介:視覚世界に根付くことができるマルチモーダルな大規模言語モデル

マルチモーダル大規模言語モデル(MLLMs)は、言語、ビジョン、ビジョン言語のタスクを含むさまざまな活動で一般的なインター...

データサイエンス

「グーグルのAI研究によると、グラフデータのエンコーディングが言語モデルのパフォーマンスを複雑なタスクに向上させることが明らかになりました」

近年、大型言語モデル(LLM)の研究と応用は著しく進歩しています。これらの生成モデルは人工知能コミュニティを魅了し、様々...