JP2019212312A - ビデオシーケンスのフレームを選択する方法、システム及び装置 - Google Patents

ビデオシーケンスのフレームを選択する方法、システム及び装置 Download PDF

Info

Publication number
JP2019212312A
JP2019212312A JP2019106503A JP2019106503A JP2019212312A JP 2019212312 A JP2019212312 A JP 2019212312A JP 2019106503 A JP2019106503 A JP 2019106503A JP 2019106503 A JP2019106503 A JP 2019106503A JP 2019212312 A JP2019212312 A JP 2019212312A
Authority
JP
Japan
Prior art keywords
frame
frames
video
sampling rate
short
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2019106503A
Other languages
English (en)
Other versions
JP6790177B2 (ja
Inventor
イアン ジョンソン ディビット
Ian Johnston David
イアン ジョンソン ディビット
ロナルド テインシュ マーク
Ronald Tainsh Mark
ロナルド テインシュ マーク
チャン サミー
Sammy Chan
チャン サミー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Publication of JP2019212312A publication Critical patent/JP2019212312A/ja
Application granted granted Critical
Publication of JP6790177B2 publication Critical patent/JP6790177B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/147Scene change detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/2431Multiple classes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/41Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/49Segmenting video sequences, i.e. computational techniques such as parsing or cutting the sequence, low-level clustering or determining units such as shots or scenes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/44Event detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Molecular Biology (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Image Analysis (AREA)
  • Television Systems (AREA)
  • Studio Devices (AREA)

Abstract

【課題】ビデオから短期間動作を撮像したフレームを選択するシステム及び方法を提供する。【解決手段】この方法は、ビデオのフレームシーケンスを受け取ること310と、それらから第1の複数のフレームのうちの1つに撮像された所定の動作を検出することで基準フレームを判定すること325を有する。ここで、第1の複数のフレームは、所定の動作の継続時間に従って判定される第1のサンプリングレートでサンプリングされるものである。さらに、フレームシーケンスから第2の複数のフレームを選択することと330、短期間動作を撮像したフレームを第2の複数のフレームから選択すること345とを更に有する。第2の複数のフレームはシーケンスにおける基準フレームに関連する場所を有し、第1のサンプリングレートより高い第2のサンプリングレートで選択され、且つ、短期間動作の継続期間に基づいて判定されるものである。【選択図】図3

Description

本発明は、一般にデジタルビデオ処理に関し、特に、被写体検出に基づいてビデオシーケンスのフレームを選択する方法、システム及び装置に関する。また、本発明は、被写体検出に基づいてビデオシーケンスのフレームを選択するためのコンピュータプログラムを記録したコンピュータ可読媒体を含むコンピュータプログラム製品に関する。
ビデオは、シーン又は展開中のイベントを撮像する効果的な方法である。誕生日パーティ、結婚式、旅行及びスポーツイベントの際にビデオが撮像されることが多い。静止画像と異なり、ビデオ画像は、特定の自然な表情、人間の交流及び人間の動作(例えば、演技、演奏活動、スポーツ活動)等の展開中の構造化されていないイベントを撮像するという利点を有する。多くの場合、ビデオハイライトを生成するためにビデオシーケンスのセグメントを選択すること、あるいは、サムネイル画像の形態で表示する(例えば、複数のサムネイル画像を組み合わせてアニメーションGIFにする)ために又は選択したフレームを印刷本のコンテンツとして使用するために、一連のビデオフレームから個々のフレームを選択することが望ましい。更に、これらの出力を自動的に選択することが望ましい。
カメラ及び携帯電話等のパーソナル電子機器の需要及び入手可能性が増すにつれて、益々多くのビデオデータが撮像され且つ格納されている。ビデオは、印刷又は表示するために選択される候補であるビデオシーケンスのフレーム数が多いため、問題が生じる。10分間のビデオは、18,000個のフレームを有する場合がある。
フレームを選択するために一般に使われる方法は、ユーザが多くのビデオシーケンスを選択し、選択されたビデオシーケンスを処理して印刷又は表示用のフレーム又はビデオシーケンスを選択するように選択システムに要求することである。一例としては、ユーザが特定の年に撮像されたビデオシーケンスのセットを提供し、選択されたビデオシーケンスから選択されたフレームで構成されるその年のフォトブックを要求することである。ユーザは、選択システムが時間的に適切に動作することを期待する。例えばユーザは、選択システムが1時間の長さのビデオシーケンスのセットを10分以内に処理できることを期待する場合がある。処理がパーソナルコンピュータ、特にカメラ又は他の移動装置等の装置上で実行される場合、そのような期待は課題を提示する。
選択において重み付けが高い所望の動作を検出するために機械学習アルゴリズムを使用することは、性能コストを増大させる。機械学習アルゴリズム、特にディープニューラルネットワークは、大量の計算を伴い、実行するのに相対的に長い時間がかかる。これは、処理にとって更なる負担である。
本発明の目的は、既存の構成の1つ以上の欠点を実質的に克服し又は少なくとも改善することである。
本発明の一態様は、ビデオから短期間動作(short duration action)を撮像したフレームを選択する方法であって、前記ビデオのフレームシーケンスを受け取ることと、前記ビデオフレームのシーケンスから第1の複数のフレームのうちの1つに撮像された所定の動作を検出することで前記フレームシーケンス内の基準フレームを判定することと、ここで、前記第1の複数のフレームは、前記所定の動作の継続時間に従って判定される第1のサンプリングレートで前記フレームシーケンスからサンプリングされるものである;前記フレームシーケンスから第2の複数のフレームを選択することと、ここで、前記第2の複数のフレームは前記シーケンスにおける前記基準フレームに関連する場所を有し、第2のサンプリングレートで選択されたものである;前記第2のサンプリングレートは前記第1のサンプリングレートより高く、且つ、前記短期間動作の継続期間に基づいて判定されるものである;前記短期間動作を撮像した前記フレームを前記第2の複数のフレームから選択することとを備える。
別の態様において、方法は、前記ビデオデータシーケンスに対する処理バジェット及び複数の所定の動作を受け取ることと、ここで、前記動作の各々は、対応する第1のサンプリングレートを有する;前記処理バジェットと前記フレームシーケンスの処理時間の推定値との比較に従って、前記複数の所定の動作から1つ以上の所定の動作を選択することと、ここで、前記処理時間は、選択される1つ以上の所定の動作に対応する第1のサンプリングレートを使用して判定される;を更に備える。
別の態様において、方法は、前記基準フレーム内の前記所定の動作を、複数の所定の動作のうちの1つとマッチングすることと、ここで、所定の動作の各々は、探索方向及び第2のサンプリングレートを有する;前記マッチングした所定の動作の前記対応する探索方向及び前記第2のサンプリングレートを使用して、前記ビデオフレームシーケンスから前記第2の複数のフレームを選択することとを更に備える。
別の態様において、前記基準フレーム、及び、前記短期間動作を撮像した前記フレームは、異なる閾値を使用して分類される、ここで、前記基準フレームに対する前記閾値は、前記短期間動作を撮像した前記フレームに対する前記閾値より低い;前記基準フレームを判定することは、前記所定の動作の検出に関連する信頼度スコアが閾値を満たすかを判定することを含む。
別の態様において、前記基準フレームに隣接するフレームは、前記基準フレームの分類を判定するために使用され、前記基準フレームに対する分類マッチング閾値は、前記隣接するフレームに対する分類に従って変化する。
別の態様において、前記短期間動作を撮像した前記フレームを選択することは、画質に基づいて及び重複を回避するために、前記第2の複数のフレームに優先順位を付けること及びそれらをフィルタリングすることを含む。
別の態様において、前記基準フレームは第1の畳み込みニューラルネットワークを使用して位置を特定され、前記短期間動作を撮像した前記フレームは第2の畳み込みニューラルネットワークを使用して選択される。ここで、前記第2の畳み込みニューラルネットワークは前記第1の畳み込みニューラルネットワークより高い精度を有する。
別の態様において、前記基準フレーム及び前記短期間動作を撮像した前記フレームはそれぞれ、第1の畳み込みニューラルネットワーク及び第2の畳み込みニューラルネットワークの入力次元とマッチングする解像度で復号される。
別の態様において、前記第2のサンプリングレートは、基準フレームにおいて検出された所定の動作の種類に基づいて判定される。
別の態様において、前記基準フレームを判定するステップ、前記第2の複数のフレームを選択するステップ及び前記短期間動作を撮像した前記フレームを選択するステップは、前記ビデオの撮像時にリアルタイムで実現される。
別の態様において、方法は、電子機器のインタフェースを介して前記ビデオに対する所要の処理時間を受け取ることを更に備える。ここで、前記第1のサンプリングレートは、前記所定の動作の前記継続時間及び前記所要の処理時間に従って判定される。
別の態様において、方法は、前記ビデオを再生する電子機器のインタフェースとユーザが対話している場合に、前記ビデオの長さに対する割合である前記ビデオに対する所要の処理時間を判定することを更に備える。
別の態様において、方法は、当該方法の動作により検出される可能性が低い短期間動作を判定することと、前記ビデオを撮像又は再生する電子機器上に前記短期間動作が検出される可能性が低いという指示を表示することを更に備える。
別の態様において、前記方法の動作により検出される可能性が低い短期間動作は、処理バジェットと短期間動作に関連する所定の動作に対応する第1のサンプリングレートとに基づいて判定される。
別の態様において、方法は、ビデオシーケンスに関連するテーマの指示を受け取ることを更に備える。ここで第1のサンプリングレートは、テーマに関連する所定の動作の継続時間に基づいて判定される。
別の態様において、テーマは、方法を実行する電子機器のインタフェースにおけるユーザ入力により受け取られる。
別の態様において、テーマは、ビデオを分類器に入力することにより判定される。
本発明の別の態様は、ビデオから短期間動作を撮像したフレームを選択する方法を実現するプログラムを格納した非一時的コンピュータ可読媒体を提供する。このプログラムは、前記ビデオのフレームシーケンスを受け取るためのコードと、前記ビデオフレームのシーケンスから第1の複数のフレームのうちの1つに撮像された所定の動作を検出することで前記フレームシーケンス内の基準フレームを判定するためのコードと、ここで、前記第1の複数のフレームは、前記所定の動作の継続時間に従って判定される第1のサンプリングレートで前記フレームシーケンスからサンプリングされるものである;前記フレームシーケンスから第2の複数のフレームを選択するためのコードと、ここで、前記第2の複数のフレームは前記シーケンスにおける前記基準フレームに関連する場所を有し、第2のサンプリングレートで選択されたものである;前記第2のサンプリングレートは前記第1のサンプリングレートより高く、且つ、前記短期間動作の継続期間に基づいて判定されるものである;前記短期間動作を撮像した前記フレームを前記第2の複数のフレームから選択するためのコードとを備える。
本発明の別の態様は、撮像装置を提供する。この撮像装置は、ビデオのフレームシーケンスを撮像し、ソフトウェアプログラムをグラフィックスプロセッシングユニット上で実行するように構成される。このプログラムは、ビデオのフレームシーケンスを受け取ることと、前記フレームシーケンスから第1の複数のフレームのうちの1つに撮像された所定の動作を検出することで前記フレームシーケンス内の基準フレームを判定することと、ここで、前記第1の複数のフレームは、前記所定の動作の継続時間に従って判定される第1のサンプリングレートで前記フレームシーケンスからサンプリングされるものである;前記フレームシーケンスから第2の複数のフレームを選択することと、ここで、前記第2の複数のフレームは前記シーケンスにおける前記基準フレームに関連する場所を有し、第2のサンプリングレートで選択されたものである;前記第2のサンプリングレートは前記第1のサンプリングレートより高く、且つ、前記短期間動作の継続期間に基づいて判定されるものである;前記短期間動作を撮像した前記フレームを前記第2の複数のフレームから選択することを有する方法を実行するように構成される。
本発明の別の態様は、プロセッサと、前記プロセッサに指示するソフトウェアプログラムを格納するメモリとを有するシステムを提供する。ここで、前記プログラムは、ビデオのフレームシーケンスを受け取ることと、前記フレームシーケンスから第1の複数のフレームのうちの1つに撮像された所定の動作を検出することで前記フレームシーケンス内の基準フレームを判定することと、ここで、前記第1の複数のフレームは、前記所定の動作の継続時間に従って判定される第1のサンプリングレートで前記フレームシーケンスからサンプリングされるものである;前記フレームシーケンスから第2の複数のフレームを選択することと、ここで、前記第2の複数のフレームは前記シーケンスにおける前記基準フレームに関連する場所を有し、第2のサンプリングレートで選択されたものである;前記第2のサンプリングレートは前記第1のサンプリングレートより高く、且つ、前記短期間動作の継続期間に基づいて判定されるものである;前記短期間動作を撮像した前記フレームを前記第2の複数のフレームから選択することの工程を有する方法を実行させるように構成される。
他の態様が更に開示される。
以下の図面を参照して、本発明の1つ以上の実施形態を以下に説明する。
図1Aは、静止画像及びビデオシーケンスの双方を撮影できる撮像システムを示す図である。 図1Bは、図1Aの撮像システムの制御部を概略的に示すブロック図である。 図1Cは、グラフィックスプロセッシングユニットを含む図1Bの制御部を示す図である。 図2Aは、内容を分類するためにフレームを処理する検出/分類アルゴリズムを示す図である。 図2Bは、所定の動作に短期間動作が後続するシーケンスを示す図である。 図3は、ビデオから少なくとも1つのフレームを選択する方法を概略的に示すフローチャートである。 図4は、バッチ処理のためにセグメントに分割されたビデオのフレームの一例を示す図である。 図5A,図5Bはビデオフレームのサンプリング及びサンプルの処理の例を示す図である。 図6A,図6Bは、方法300において実現される2つのサンプリングパスにおいて異なる検出/分類アルゴリズムを使用する一例を示す図である。 図7は、図3の方法において使用される処理パラメータを判定する方法を概略的に示すフローチャートである。
いずれか1つ以上の添付の図面において同一の図中符号を有するステップ及び/又は特徴を参照する場合、特に指示のない限り、それらのステップ及び/又は特徴は、説明の便宜上、同一の機能又は動作を有する。
説明される方法は、所望の動作を含むフレームをビデオシーケンスから選択することに関する。適切なフレームの選択は、ビデオハイライトの選択及びビデオライブラリの分類等に使用することができる。
図1Aは、説明される方法を実施できる静止画像及びビデオシーケンスの双方を撮影できる撮像システム100の断面図である。一般に、撮像システム100は、デジタルビデオカメラ(カムコーダとも呼ばれる)等の撮像装置、あるいは例えばスマートフォン又はタブレット装置等の一体型カメラを有するパーソナル電子機器であってもよい。しかし、説明される方法は、デスクトップコンピュータ、サーバコンピュータ、並びに非常に大きい処理リソースを有する他のそのような装置等の、より高レベルの装置上で実行されてもよい。
以下、撮像システム100を「カメラシステム100」、「カメラ100」又は「ビデオ撮像装置100」と呼ぶ。また以下の説明において、用語「画像」及び「フレーム」も適宜切り替えて使用する。
図1Aに示すように、カメラシステム100は、シーン101から受光してセンサ121上に画像を形成する光学系102を備える。センサ121は、光学系により形成された画像の強度を位置の関数として測定する画素センサの2次元アレイを備える。ユーザ対話とセンサ121からの画像データの読み出し、処理及び格納の全ての態様とを含むカメラ100の動作は、専用コンピュータシステムを備える主制御部122により調整される。システム100を以下で詳細に考察する。ユーザは、焦点調節及び画像データの撮像を開始するために使用されるシャッタボタン128と、他の汎用ボタン及び専用ボタン124、125、126とを含むボタンのセットを介して制御部122に意思を伝達できる。ボタン124〜126は、フラッシュ操作等の特定のカメラ機能の直接制御を提供してもよく、あるいは表示装置123上に提示されたグラフィカルユーザインタフェースとの対話を支援してもよい。表示装置123は、ユーザ対話を更に容易にするためにタッチスクリーン機能を更に有してもよい。ボタン及び制御装置を使用することにより、カメラ100の挙動を制御又は変更することができる。通常、必要な露出レベルを達成する時のシャッタ速度又はアパーチャサイズの優先度、測光に使用される領域、フラッシュの使用、ISO感度、自動焦点調節のオプション、その他の多くの写真制御機能等の撮像設定を制御することができる。更に、色バランス又は圧縮品質等の処理オプションを制御することができる。ディスプレイ123は通常、撮像した画像又はビデオデータを確認するためにも使用される。静止画像カメラがシーンのライブプレビューを提供するためにディスプレイ123を使用することにより、静止画像の撮像前及びビデオの撮像中に構図するための光学ビューファインダ127の代替となるものを提供することは一般的である。
光学系102は、センサ121に形成された画像に対するある範囲の倍率レベル及び焦点距離を達成するためにレンズ制御部118の制御下で光軸103に平行な線131に沿って互いに対して移動可能なレンズ群110、112、113及び117の構成を備える。また、レンズ制御部118は、光学系102によりセンサ121上に形成された画像の位置をシフトするために、1つ以上の動きセンサ115、116又は制御部122からの入力に応答して、機構111を制御して光軸103に対して垂直な平面内の何らかの線132上での補正レンズ群112の位置を変更してもよい。通常、補正光学要素112は、手ぶれにより生じるようなカメラ100の小さな動きに対してセンサ121上の画像の位置を補正することにより光学像の安定化を達成するために使用される。光学系102は、光学系102を通る光の通路を制限するための調節可能なアパーチャ114及びシャッタ機構120を更に備えてもよい。アパーチャ及びシャッタの双方は通常は機械装置として実現されるが、電気制御信号の制御下で光学的特性を変更できる液晶等の材料を使用して構成されてもよい。そのような電気光学装置は、アパーチャの形状及び不透過度の双方を制御部122の制御下で連続的に変更できるという利点を有する。
図1Bは、図1Aの制御部122を概略的に示すブロック図であり、制御部122と通信するカメラ100の他の構成要素を機能ブロックとして示す。特に、画像センサ121、レンズ制御部118及びジャイロセンサ199は、それらの物理的機構又は画像形成処理を参照せずに示され、特定の事前に定義されたタスクを実行し、データ及び制御信号を渡すことができる装置としてのみ扱われる。
図1Bは、薄暗い場所での撮像中に使用できるストロボの動作に対する責任を有するフラッシュ制御部197を更に示す。補助センサ196は、撮像中にカメラ100が縦向きか又は横向きかを検出する姿勢センサと、周囲の照明の色の検出又は自動焦点調節等の補助を行う他のセンサとを含んでもよい。補助センサ196は制御部122の一部として示されるが、いくつかの実現例において、補助センサ196はカメラシステム100内の別個の構成要素として実現されてもよい。ジャイロセンサ199は、カメラ100の角運動を検出する。ジャイロセンサ199は、ピッチ運動及びヨー運動の角運動を報告してもよい。ジャイロセンサ199は、図1Aに示すセンサ115及び/又は116の一部を形成してもよく、あるいはジャイロセンサ199は別個のセンサであってもよい。ロール軸におけるカメラ100の角度位置を検出するために、姿勢センサ(不図示)が使用されてもよい。姿勢センサ情報はジャイロセンサ199から導出されてもよく、あるいは姿勢センサは別個のセンサであってもよい。姿勢センサは、カメラの姿勢を90°刻みで報告してもよい。
制御部122は、プログラムコードを実行する処理装置(又はプロセッサ)150と、読み出し専用メモリ(ROM)160及びランダムアクセスメモリ(RAM)170と、不揮発性大容量データ記憶装置191とを備える。制御部122は、専用輝度モジュール180を更に備えてもよい。更に、プリンタ、ディスプレイ及び汎用コンピュータ等の他の電子機器と通信のために、少なくとも1つの通信インタフェース(I/F)192が提供される。通信インタフェースの例は、USB、IEEE1394、HDMI(登録商標)及びイーサネット(登録商標)を含む。オーディオインタフェース193は、デジタルオーディオデータの取り込み及び再生のための1つ以上のマイク及びスピーカを備える。制御部122をディスプレイ123及びカメラ100の本体上に存在する制御装置とインタフェースさせるために、ディスプレイ制御部194及びボタンインタフェース195が更に提供される。制御部122の構成要素は、データバス181及び制御バス182により相互接続される。
撮像モードにおいて、制御部122は、画像センサ121及びオーディオインタフェース193からデータを読み出し、当該データを操作して、不揮発性大容量データ記憶装置191に格納できるシーンのデジタル表現を形成するように動作する。静止画像カメラの場合、画像データは、JPEG又はTIFF等の標準的な画像ファイル形式を使用して格納されてもよく、あるいは画像データは、生データ形式から標準的な画像ファイル形式への変換を提供する無料ソフトウェア製品と共に使用するように設計される独自の生データ形式を使用して符号化されてもよい。そのようなソフトウェアは通常、汎用コンピュータ上で実行する。ビデオカメラの場合、撮像されたビデオを含む画像シーケンスは、DV、MPEG、H.264等の標準形式を使用して格納される。これらの標準形式は、コンテナファイルと呼ばれるAVI又はQuicktime等のファイルに編成されるものもあるが、テープストレージで一般的に使用されるDV等の他の形式はデータストリームとして書き込まれる。不揮発性大容量データ記憶装置191は、カメラシステム100により撮像された画像又はビデオデータを格納するために使用され、コンパクトフラッシュ(登録商標)(CF)又はセキュアデジタル(SD)カード、メモリスティック、マルチメディアカード、miniSD又はmicroSDカード等の取り外し可能フラッシュメモリ、書き込み可能なCD、DVD、Blu‐ray(登録商標)ディスク等の光記憶媒体、あるいは、磁気テープ又はマイクロドライブ等の超小径HDDを含むハードディスクドライブ(HDD)等の磁気媒体を含むがそれらに限定されない多くの実現例を有する。大容量記憶装置の選択は、特定のカメラシステム100の容量、速度、有用性、電力及び物理的サイズの要件に依存する。
シーンの輝度情報は、輝度モジュール180により提供される。輝度モジュール180は画像センサ121から情報を取得してもよく、あるいは輝度モジュール180は別個のセンサであってもよい。輝度モジュール180は、ビデオシーケンス又は静止画像の撮像時に正しい露出を判定するように構成される。輝度モジュール180は通常、シーンの輝度を表す単一の輝度値を記録する。これは、多くの場合、写真業界標準のAPEXシステムにより定義されるように判定される。輝度値は、撮像した静止画像又はビデオシーケンスと共にメタデータとして格納されてもよい。カメラシステム100においてジャイロセンサ199及び姿勢センサが使用される場合、ジャイロセンサ199からのカメラ動き情報及び姿勢センサからの姿勢情報が静止画像又はビデオシーケンスと共にメタデータとして更に格納されてもよい。ビデオシーケンスが撮像されている場合、メタデータはビデオシーケンス内のフレームに関連付けられる。従って、ビデオシーケンス内のフレーム毎に、当該フレームに特有のメタデータにシーン輝度情報及びカメラ動き情報が格納される。
制御部122は、例えば以下に説明するシステムプログラムコードの一部として、センサ121に形成された画像内の顔を検出するように構成された顔検出モジュールを更に含んでもよい。
再生モード又はプレビューモードにおいて、制御部122は、大容量記憶装置191からデータを読み出し、ディスプレイ194及びオーディオインタフェース193を使用して当該データを提示又は再生するように動作する。
プロセッサ150は、接続されたメモリ160及び170の一方又は双方に格納されたプログラムを実行できる。カメラシステム100が最初に起動されると、ROMメモリ160に常駐するシステムプログラムコード161が実行される。ROM160に恒久的に格納されるシステムプログラムをファームウェアと呼ぶ場合がある。プロセッサ150によるファームウェアの実行は、プロセッサ管理、メモリ管理、装置管理、ストレージ管理及びユーザインタフェースを含む種々の高次機能を実行する。
システムプログラムコード161は、例えば以下に説明する記憶装置を含むコンピュータ可読媒体に格納されてもよい。システムプログラムコード161は、コンピュータ可読媒体からシステム100にロードされ、システム100により実行される。そのようなソフトウェア又はコンピュータプログラムが記録されたコンピュータ可読媒体はコンピュータプログラム製品である。
場合によっては、システムプログラムコード161は、1つ以上のCD−ROM上に符号化され、対応するドライブを介して読み出されてユーザに供給されてもよく、あるいはユーザによりネットワークから読み出されてもよい。更に、ソフトウェアは、他のコンピュータ可読媒体からシステム100にロードすることもできる。コンピュータ可読記憶媒体は、記録された命令及び/又はデータを実行及び/又は処理のためにシステム100に提供する何らかの非一時的有形記憶媒体を示す。そのような記憶媒体の例は、システム100の内部にあるか外部にあるかに関係なく、フロッピディスク、磁気テープ、CD−ROM、DVD、Blu−ray(登録商標)ディスク、ハードディスクドライブ、ROM又は集積回路、USBメモリ、光磁気ディスク、あるいはPCMCIAカード等のコンピュータ可読カードを含む。システム100へのソフトウェア、アプリケーションプログラム、命令及び/又はデータの提供に同様に関係してもよい一時的又は非有形のコンピュータ可読伝送媒体の例は、無線又は赤外線伝送チャネル、別のコンピュータ又はネットワーク装置へのネットワーク接続、並びに電子メールの送信及びウェブサイト等に記録された情報を含むインターネット又はイントラネットを含む。プロセッサ150は、制御部(CU)151と、演算論理部(ALU)152と、デジタル信号処理エンジン(DSP)153と、通常はアトミックデータ要素156、157を含むレジスタ154のセットを含むローカル又は内部メモリと、内部バッファ又はキャッシュメモリ155とを含む多くの機能モジュールを含む。1つ以上の内部バス159がこれらの機能モジュールを相互接続する。プロセッサ150は通常、システムデータバス181及び制御バス182を介して外部装置と通信するための1つ以上のインタフェース158を更に有する。
システムプログラム161は、条件付き分岐命令及び条件付きループ命令を含んでもよい一連の命令162〜163を含む。プログラム161は、プログラム161の実行時に使用されるデータを更に含んでもよい。プログラム161の実行時に使用されるデータは、命令の一部として格納されてもよく、あるいはROM160内の別個の場所164又はRAM170に格納されてもよい。
一般に、プロセッサ150は、そこで実行される命令のセットを与えられる。プロセッサ150に与えられる命令のセットは、特定のタスクを実行するか又はカメラシステム100において発生する特定のイベントを処理するブロックに編成されてもよい。通常、システムプログラム161はイベントを待ち、その後、当該イベントに関連するコードブロックを実行する。イベントに関連するコードブロックの実行は、後にプロセッサ150上で実行するプログラムと並列に実行するレンズ制御部118等のカメラシステム100内の独立したプロセッサ上で実行する別個の実行スレッドを実行することを含んでもよい。イベントは、ボタンインタフェース195により検出されるユーザからの入力に応答してトリガされてもよい。イベントは更に、カメラシステム100内の他のセンサ及びインタフェースに応答してトリガされてもよい。
命令のセットの実行は、数値変数の読み出し及び変更を必要とする場合がある。そのような数値変数はRAM170に格納される。以下に開示する方法は、メモリ170内の既知の場所172、173に格納される入力変数171を使用してもよい。入力変数が処理されて出力変数177が生成され、出力変数177はメモリ170内の既知の位置178、179に格納される。中間変数174は、メモリ170の場所175、176内の更なる記憶場所に格納されてもよい。あるいは、いくつかの中間変数は、プロセッサ150のレジスタ154のみに存在してもよい。
一連の命令の実行は、フェッチ実行サイクルを繰り返し適用することにより、プロセッサ150において達成される。プロセッサ150の制御部151は、実行される次の命令のメモリ160におけるアドレスを含むプログラムカウンタと呼ばれるレジスタを保持する。フェッチ実行サイクルの最初に、プログラムカウンタにより指標を付与されたメモリアドレスの内容が制御部151にロードされる。このようにしてロードされた命令は、プロセッサ150の次の動作を制御し、例えばデータをメモリ170からプロセッサのレジスタにロードし、レジスタの内容を別のレジスタの内容と算術的に組み合わせ、レジスタの内容を別のレジスタに格納された場所に書き込む。フェッチ実行サイクルの最後に、プログラムカウンタはプログラム161内の次の命令を指すように更新される。著従前に実行された命令に依存して、プログラムカウンタを更新することは、プログラムカウンタに含まれるアドレスを増分すること又は分岐動作を達成するためにプログラムカウンタに新しいアドレスをロードすることを含んでもよい。
フローチャートの処理における各ステップ又はサブ処理は、プログラム161の1つ以上のセグメントに関連し、プロセッサ150においてフェッチ実行サイクルを繰り返し実行することにより又はカメラシステム100内の他の独立したプロセッサブロックの同様のプログラム動作により実行される。
近年、ビデオフレーム及びビデオハイライトの選択は、ビデオフレーム内の特定の物体及び動作を識別できる機械学習アルゴリズムの使用の増加と共に向上した。所望の動作がビデオフレームにおいて検出される場合、フレーム又はフレーム及び周囲のフレームが選択の候補となる。他の要因もフレーム又はビデオハイライトの選択に寄与し得る。例えば、フレームのぶれ及び識別された顔の双方がフレームのフィルタリング又は選択に使用される。本開示の文脈において、用語「フレーム選択」は、「フレーム選択」及び「ハイライト選択」の双方に関する。更に、本明細書中、選択されるフレームを「撮像フレーム」と呼ぶ場合がある。
動作認識において普及している機械学習に基づくアルゴリズムは、ディープニューラルネットワークを含み、特に、高い検出精度を有することが示されている畳み込みニューラルネットワーク(CNN)を含む。畳み込みニューラルネットワークは、一連の畳み込み層からなるモデルアーキテクチャを有する。各畳み込み層は、色、線、形状、テクスチャ等の入力画像の特定の視覚的特徴を識別できる特徴マップを生成するためのフィルタとして機能するように設計される。アーキテクチャ内の多くのパラメータを有する更なる層は、特徴の組み合わせを検出の対象である人間、犬等の物体クラス又は蹴る等の動作姿勢に分類するように訓練される。異なる畳み込みニューラルネットワークは、アーキテクチャの形状及びサイズが異なる。一般に、アーキテクチャが大きいほど、高い分類精度が達成されるが、処理時間及び計算リソースが増大する。また、同じ種類の畳み込みニューラルネットワークでは、最初の畳み込み層の次元とマッチングするように異なる入力画像解像度を用いることができる。アーキテクチャのサイズの効果と同様に、入力画像の解像度が高いほど、高い分類精度が達成されるが、余分な画素のため、更に多くのデータを処理することになる。畳み込みニューラルネットワークのサイズはパラメータの数が数百〜1億個以上と様々であることができるため、特定のアプリケーションに対する精度と計算要件とのバランスを適切にとって畳み込みニューラルネットワークを設計することが重要である。それに加えて、説明される方法は更に、精度に悪影響を及ぼすことなく計算要件を減少させる。
図2Aは、野球の準備姿勢の打者211を含むフレーム210を処理するニューラルネットワークに基づくアルゴリズム220を示す。アルゴリズム220は動作(action)を検出し、フレーム動作分類230を出力する。図2Aの例では、フレーム動作分類230は、「野球の打撃準備」分類とマッチングする。ニューラルネットワークに基づくアルゴリズム220は更に、本明細書において説明する方法により使用される分類信頼度図(不図示)を提供する。アルゴリズムは大量の計算も必要とする。小さいコンピューティング環境で動作することを意図しているため他の畳み込みニューラルネットワークモデルと比較して相対的に小さい「Mobilenet」畳み込みニューラルネットワークは、単一の画像を処理するために5億個を超える乗算加算を必要とする。畳み込みニューラルネットワークアルゴリズムに対して最適化されていないシステム(例えば、カメラ又はパーソナル電子機器)では、乗算加算の数はかなりの時間/処理負荷を表す。
畳み込みニューラルネットワークアルゴリズムは、サポートするプロセッサ及びモジュールを有するハードウェア上で実行する場合に非常に有益である。nVidia GeForce GTX1080Ti等のグラフィックスプロセッシングユニット(GPU)カードは、畳み込みニューラルネットワークの処理に適しており、カードを有さない同様のシステムと比較して最大10倍の速度向上が可能である。図1Cは制御部122Cを示す。制御部122Cは、図1Bの制御部122と同様の方法で、バス181及び182を介して画像センサ121、レンズ制御部118及びジャイロセンサ199と通信及び対話する。制御部122Cは、プロセッサ150、ROM160、RAM170、輝度モジュール180及び構成要素191〜196を備えるという点で制御部122と同様であり、それらの各々は図1Bに関して説明したのと同様に動作する。しかし、制御部122CはGPUカード150Gを更に含む。いくつかの実現例において、GPUカード150Gは、プロセッサ150の一部を形成することができる。移動装置の場合、移動装置でも性能の向上を達成するために、畳み込みニューラルネットワークの処理を高速化するための特定用途向け集積回路(ASIC)コプロセッサが例えばApple社のNEURAL ENGINE、QUALCOMM社のHEXAGON685DSPコア等の装置に組み込まれることが多い。
非機械学習技術を使用して動作を検出及び分類することもでき、本明細書において説明する方法は、機械学習技術以外のアルゴリズムが使用される場合にも同様に適用される。
本明細書中、用語「アルゴリズムネットワーク」は、説明される方法で動作を検出及び分類するために使用される何らかのアルゴリズムに関連して使用される。アルゴリズムは、畳み込みニューラルネットワークであってもよく、あるいは、検出された手足の位置及び動きに基づいて動作を分類するための人間の姿勢推定用アルゴリズム等の別の種類のアルゴリズムであってもよい。
ビデオを処理する場合、畳み込みニューラルネットワークの処理時間がフレーム当たりの処理バジェットを超えることは一般的である。例えば、通常は毎秒30フレーム(fps)の処理であるビデオのリアルタイム処理というアプリケーション要件がある場合、最大15fpsを処理できる畳み込みニューラルネットワークアルゴリズムは要件を満たすことができない。そのため、「リアルタイム」処理は、入力データが到着するのと少なくとも同じフレームレートで入力データを処理することを示す。例えばビデオシーケンスが毎秒30フレームで記録される場合、「リアルタイム」処理は、ビデオデータの撮像時に少なくとも毎秒30フレームの速度で処理することを必要とする。多くのアプリケーションはリアルタイムより数倍速い処理速度を必要とし、毎秒数百フレーム(fps)を達成するという処理フレームレートを必要とする場合がある。リアルタイムより速い速度で処理する状況では、フレームのサブセットのみが処理されるようにサンプリングが必要とされ、精度への影響はサンプリングアルゴリズムに大きく依存する。本明細書において説明する方法は、動作検出アルゴリズムと両立し得るサンプリングシステムを提供する。
ビデオの一部分をフレーム選択に対するフレームとして望ましいものにするビデオに撮像され得る短期間動作(short duration action)の多くの例がある。本開示の文脈では、短期間動作は、通常は長さが1秒未満又は数フレームほどである。短期間動作の例は、スポーツにおいてボールを打つこと、スポーツにおいてボールを蹴ること、誕生日ケーキのろうそくを吹き消すこと、結婚式においてケーキを切ることを含むことができるが、それらに限定されない。多くの望ましい動作は、機械学習アルゴリズムにより同様に検出され得る「所定の動作」と呼ばれる長い準備動作が先行する場合がある。例えば、図2Bはシーケンス280を示す。図2Bに示すように、野球のボールを打つ場合、野球打者250は準備スタンス及び結果として生じるスタンス270をとる。打撃動作を「短期間動作」と呼ぶ。打者が準備姿勢をしている時間の長さをフレーム範囲240と示し、打者がボールを打つ過程にいる時間の長さを範囲260と示す。準備の長さ(240)は、ボールを打つのにかかる時間の長さ(260)より長い。
別の例はサッカーでペナルティキックを行うための準備であり、これは助走、キックの短い瞬間及びゴールキーパーが跳びつく短い瞬間を含む。同様のスポーツの例は、ゴルフのショットのための準備(所定の動作)及び短時間のショット(短期間動作)、テニスにおけるショットのためのストローク準備(所定の動作)及び短時間のショット自体(短期間動作)を含む。他のスポーツ以外の例は、新郎新婦がウエディングケーキの周りに集まる準備段階(所定の動作)及び短時間のケーキカット(短期間動作)、並びに誕生日ケーキの周りに集まる準備(所定の動作)及び短時間のろうそくの吹き消し(短期間動作)を含む。用語「所定の動作の種類」は、検出された所定の動作を示すために使用される。例えば、「ゴルフのショット準備」は所定の動作の種類である。
図3は、一連のビデオフレーム内の所望の動作を示す少なくとも1つのフレームを選択する方法300を示す。所望の動作は短期間動作に関する。方法300は、ビデオの撮像時にリアルタイムで又はビデオが撮像された後に実現されてもよい。いくつかの実現例において、方法300は、ユーザコマンドに応答して実現されてもよく、あるいはユーザコマンドを予想して前処理として実現されてもよい。
方法300は、短期間動作を含むフレームの検出に基づいて、ビデオからフレームを判定又は選択する。方法300は、重要動作検出に適したマルチパスサンプリングを使用する。ビデオの所望のフレームを選択する際には、重要動作を用いる以外の他のステップが存在してもよい。一例は、重要な人物又は被写体の顔を有するフレームを選択することを含む。重要な被写体は、例えばユーザのビデオの集合に頻繁に登場する人物であってもよく、例えば移動装置を使用して人物の顔を登録することによりグラフィカルユーザインタフェースを使用してユーザによって選択された人物であってもよい。重要な被写体を含むフレームに関するステップは方法300に示されない。更に、所望のフレーム(撮像フレーム)を選択する際の他のステップは、例えば被写体ぶれを有するフレームである欠陥のあるフレームをフィルタリングすることを含む。重複するフレームをフィルタリングすることもできる。重複するフレーム又はぶれを有するフレームを除去するためのステップは既知である。
方法300の動作を説明する前に、図5Aを使用して方法300のいくつかの概念を紹介する。図5A及び図5Bは、方法300のステップ325及びステップ330に関連して以下で更に詳細に説明する。図5Aにおいて、ビデオのフレームシーケンス510は、所定の動作(例えば、野球の打撃準備)を含むフレームのサブセット又はセグメント520と、短期間動作(例えば野球の打撃)を含むフレームのセグメント525とを含む。他のフレーム530は、所定の動作及び短期間動作を含まない。矢印540の範囲は、第1のサンプリングレートでサンプリングされた6つのフレームを示す。図5Aの例において、第1のサンプリングレートでは6ビデオフレーム毎に1つのフレームがサンプリングされる。矢印550の範囲は、第1のサンプリングレートより高い第2のサンプリングレートでサンプリングされた2組のサンプリングフレームを示し、各組において2つのフレームがサンプリングされている。図5Aの例において、第2のサンプリングレートでは2ビデオフレーム毎に1つのフレームがサンプリングされる。
方法300は、カメラ100のROM160に常駐し且つプロセッサ150(又は制御部122Cの場合はGPU150G)の実行下で制御されるシステムプログラム161の1つ以上のソフトウェアコードモジュールとして実現されてもよい。あるいは、方法300は、入力ビデオシーケンスがデスクトップコンピュータにダウンロードされた後にデスクトップコンピュータ等で実現されてもよい。
方法300は、処理パラメータ設定ステップ310から開始する。ステップ310において、ビデオのフレームを受け取る。フレームシーケンスは、カメラ100によりリアルタイムで撮像されるか又は大容量記憶装置191等のメモリから検索されてもよい。他の構成において、例えばカメラ100がスマートフォンである場合、ビデオフレームは、ネットワークを介してリモート装置から受け取られてもよい。ビデオは、撮像中又は撮像後にカメラ100のユーザが確認するためにディスプレイ123上で再生されてもよい。ステップ310は、処理バジェット、コンピューティング環境122の能力及びハイライトフレームが選択されるビデオの特徴に基づいて、方法300により適用される処理パラメータを判定するように動作する。処理バジェットは、ユーザが出力を受け取ることを期待する所要の応答時間に基づいてアプリケーションにより例えば分単位で設定されてもよい。処理時間は、ディスプレイ123に表示されたインタフェースと対話するためにボタン124〜126等の入力装置を使用してユーザにより入力されてもよい。通常、所要の応答時間は適切なフレームを選択するための処理を完了するための時間バジェットであり、応答性のよいユーザ経験及び許容可能な精度を提供するのに十分な短い期間に設定される。説明される構成は、ユーザがアプリケーション161と対話している場合の使用例に特に適しており、そのため、例えば10分間のビデオシーケンスに対して約1分という相対的に速い応答がアプリケーション161から期待される。応答時間はビデオの時間に対する割合として設定されてもよい。処理は、ビデオデータの所定の閾値に関連するように制限されてもよい。通常、所要の応答時間は、ビデオシーケンスの継続時間の10分の1に設定され、例えば2分である所定の閾値を上限とする。あるいは、ユーザは、特定のビデオシーケンス又はビデオシーケンスの集合を処理するために許容される時間を指定するオプションを有することができる。
他のアプリケーションは、撮像したビデオをカメラ100が待機中に前処理するバックグラウンドタスクとして、所望の動作を含むフレームを選択する処理をスケジューリングしてもよく、そのため、カメラ及び/又はアプリケーションとの対話は検出されない。ビデオデータを前処理するアプリケーションは、過度のバッテリ電力を消費せずに高い精度を達成するために、長い時間バジェットを設定してもよい。移動装置が充電中である場合、更に長い時間バジェットが設定されてもよい。前述したように、方法が実行されるカメラ100の能力は処理時間に大きな影響を与える。また、機械の能力により、使用できる機械学習モデルを判定でき、それにより、予想される精度も判定できる。バジェットの判定は、図7を参照して、ステップ310で実行される処理バジェットを判定する方法700により更に詳細に説明する。
ステップ310で判定されるパラメータは、所定の準備動作を判定するための第1のサンプリングレート、指定された処理バジェット内でアプリケーションが検出できない動作の種類、並びに指定された処理バジェット内でビデオシーケンスを処理するのに適した畳み込みニューラルネットワークモデルアーキテクチャを含む。畳み込みニューラルネットワークモデルアーキテクチャは、入力画像の解像度及び畳み込みニューラルネットワークにより使用される層の数を使用して定義される。指定された処理バジェット内でアプリケーションが検出できない動作の種類はグラフィカルユーザインタフェースを使用して表示可能であり、それにより、ユーザは、判定された処理バジェットではいくつかの短期間イベントが検出されない可能性があることを認識する。検出されない可能性がある動作の種類は、図7に関連して以下に説明するように、例えば所要の処理時間に基づいて判定され得る。
復号フレームの画素寸法は、選択されたアルゴリズムに必要な入力により判定される。畳み込みニューラルネットワークモデルの場合、モデルが小さいほど、より小さいサイズのフレームビットマップを入力してもよい。一例は、各モデル構成が異なるサイズの画像ビットマップ入力を使用できる多くの異なるモデル構成を有するMobileNet分類畳み込みニューラルネットワークである。例としては、224×224画素、192×192画素、128×128画素のビットマップを使用できる異なるMobileNetモデルである。上述したように、モデルが小さいほど処理は速くなるが、検出精度は低下する。画素寸法又はビットマップサイズは、選択されたアルゴリズムの特徴である。
ステップ310を実行した後、方法300は復号ステップ320に進む。ステップ320において、ビデオからのフレームのセグメントは適切な既存の復号方法を使用してバッチとして復号される。バッチサイズは、検出/分類アルゴリズム220に提供される画像ビットマップのサイズ及びビットマップを保持するために使用可能なカメラ100のメモリにより判定される。ビットマップは通常、フルビデオフレームより解像度がはるかに低いが、依然としてメモリを消費する。いくつかのシステム、特に組み込みシステムでは、全てのビデオフレームをビットマップとしてメモリに格納することは不可能である。ビデオが短時間であり且つ/又は使用可能なメモリが十分である他の場合、バッチは単にビデオの全フレームであり得る。バッチサイズは、フレームビットマップに使用可能なメモリのサイズを各フレームビットマップのメモリサイズで除算したものである。ビットマップサイズはステップ310で判定され、上述したMobileNet等の畳み込みニューラルネットワークモデルの場合と同様に、畳み込みニューラルネットワークモデルアーキテクチャのサイズ(入力画像の解像度及び畳み込みニューラルネットワークの層の数)に関係し得る。使用可能なメモリに応じて、ウィンドウを使用するシングルパスを使用してフレームシーケンスを復号できる。
図4は、フレームシーケンスからなるビデオ400を示す。ビデオ400は、フレームの第1のセグメント410を含む。フレームの第1のセグメント410は、ステップ320で処理されるセグメント420になり、フレームのセグメント430は、ステップ320で処理される次のセグメント440になる。
方法300は、ステップ320から疎サンプリングステップ325に進む。ステップ325において、方法300は、処理バジェットに適した畳み込みニューラルネットワークを使用してフレームのサンプル内の所定の動作を検出するため、ビデオのセグメントに所定の動作が撮像されている場合、少なくとも1つのサンプリングフレームが所定の動作を撮像している可能性が高い。ステップ325を第1のサンプリングと呼ぶ。アルゴリズムネットワーク220が所定の動作を検出するサンプルフレームを「基準フレーム」と呼ぶ。短期間動作を撮像したフレームは、基準フレームに対して短期間動作に依存する一定の距離内に見つかることが予想される。短期間動作を撮像したフレームは、方法300による選択の候補である。短期間動作フレームの識別は、以下に説明するステップ330で実現される。ステップ325におけるサンプリングレートはステップ310で判定され、許容される処理バジェット及び所定の動作の予想される継続時間に基づくことができる。
ステップ325でサンプリングされた各フレームは、所定の動作が当該フレームに存在するかを検出するために、選択されたアルゴリズムに入力される。所定の動作は、例えば図2Aに示す多くの所定の動作のうちの1つとマッチングされる。
図5Aは、矢印540が指すフレームとして示される所定の動作を検出するための第1のサンプリングと、矢印550が指す第2のサンプルフレームとの双方を示す。第1のサンプリングレートは、ステップ310において1秒当たりのサンプル数として判定され、最も近いフレームに量子化される。図5Aにおいて、第1のサンプリングは6フレーム毎のレートで行われる。530と示すフレームの範囲は、フレームが所定の動作を含まず、従って短期間動作に関係しないため、方法300の後続のステップの対象でない。アルゴリズムネットワーク220は、フレーム530に対して所定の動作及び短期間動作のいずれも検出しない。アルゴリズムネットワーク220は、サンプル560及び570のフレームにおいて所定の動作を検出する。所定の動作が検出されたフレームは、基準フレームとして識別される。また、検出により、可能な所定の動作の種類のうち検出される種類が分類される。例えば分類は、野球の打撃準備又はゴルフのショット準備であり得る。通常、既知のアルゴリズムネットワークは、検出及び分類のための信頼度スコアを更に提供する。
1つの構成において、第1のサンプリング閾値が使用され、フレームが基準フレームとしてマーク付けされるためには信頼度スコアが第1のサンプリング閾値を超える必要がある。別の構成において、分類を判定するために、基準フレームに隣接するフレームが使用される。閾値が満たされない場合、隣接するフレームもサンプリングされる。図5Bにおいて、フレーム585がサンプリングされるが、信頼度が第1のサンプリング閾値583をわずかに下回り、例えば閾値583を10%下回る場合、アルゴリズムネットワークを使用して隣接フレーム590及び595がサンプリングされて分類される。隣接フレーム590及び595において一貫した所定の動作の種類が検出される場合、フレーム585は所定の動作を含むと分類され、基準フレームとしてマーク付けされる。真陰性の結果では隣接フレームが閾値をわずかに下回る一貫して高い信頼度スコアを有する可能性が低いため、フレーム585にマーク付けすることは、偽陰性の可能性を識別し且つ偽陰性を補正するのに有用であり得る。基準フレームに対する分類マッチング閾値は、隣接フレームに対する分類に従って効果的に変更される。隣接フレームに基づいてフレーム585にマーク付けする技術は、閾値を低くすることと比較して、偽陽性率に影響を及ぼすことなく偽陰性率を低下させる。
方法300は、ステップ325から密サンプリングステップ330に進む。ステップ330において、短期間動作フレームを検出するために、ステップ325で判定された基準フレームに対するフレームがサンプリングされる。ステップ330で実行されるサンプリングを第2のサンプリングと呼ぶ。基準フレームに対してサンプリングされるフレームは、検出された(マッチングした)所定の動作に対応する探索方向(例えば、基準フレームの後ろ)でサンプリング可能である。ステップ330で使用されるサンプリング頻度は、ステップ325で使用されるサンプリング頻度より高い。高いサンプリング頻度は、短期間動作の長さが関係する所定の動作の長さより短いことを反映する。図5Aにおいて、基準フレーム560及び570が第1のサンプリングステップ325において検出される。ステップ330では、矢印550で示すフレームにおいてサンプルの更なる第2のサンプリングが行われる。特に、サンプリングフレーム565及び568のセットは基準フレーム560に対応してサンプリングされ、フレーム575及び580のセットは基準フレーム570に対応してサンプリングされる。第2のパスのサンプリングフレームのセットの各々は、基準フレームに対して得られる。サンプルは、第1のサンプリングより高いサンプリングレートで得られる。高いレートで第2のパスをサンプリングすることは、短期間動作が所定の動作より短いという事実を反映する。
一実現例において、第2のサンプリングレートは、第1のサンプリングで検出された所定の動作の種類に基づいて判定される。一例として、野球の打撃である短期間動作は通常は「ろうそくを吹き消す」という短期間動作より長く、「野球の打撃準備姿勢」という所定の動作が検出された場合、サンプリングレートは前者の野球の例において高く設定される。好適な実現例において、第2のサンプリングレートは、短期間動作の予想される長さの間に少なくとも2つのフレームがサンプリングされるという結果が得られるように設定される。例えば「野球の打撃」という短期間動作は、「野球の準備」という所定の動作の直後に行われると予想され、短期間動作は通常は4フレームの継続時間を有する。第2のサンプリングが短期間動作の間に少なくとも2つのフレームをサンプリングすることを目的とする場合、ステップ330は、「野球の準備」という所定の動作を含むと検出された基準フレームの直後の短期間動作の継続時間に間の少なくとも2フレーム毎にサンプリングする必要がある。異なる所定の動作の種類の場合、関連する短期間動作は異なる第2のサンプリングレートを必要とする異なる継続時間を有してもよい。例えば誕生日ケーキの後方に集まる人間が基準フレームにおいて検出され、「ろうそくを吹き消す」という短期間動作が検出される場合、「ろうそくを吹き消す」という短期間動作が約2秒かかると仮定すると、「ろうそくを吹き消す」という短期間動作の継続時間に対応する60フレーム内で少なくとも2つのフレームをサンプリングするためには、第2のサンプリングレートは10〜30フレーム毎に設定される。そのため、ステップ325において基準フレーム内で検出された所定の動作の種類により、短期間動作を検出するための第2のサンプリングレートを判定できる。別の一実現例において、第2のサンプリングレートは第1のサンプリングレートより高い固定レートである。従って、第2のサンプリングレートは、基準フレーム内で検出された所定の動作に対応することができる。更に別の実現例において、第2のサンプリングレートは、基準フレームの前及び/又は後の所定の数のフレーム内の全フレームをサンプリングすることに関することができる。
上述したように、第2のサンプリングステップ330におけるサンプリングは、基準フレームの後ろで行われる。所定の動作の中には、短期間動作が所定の動作の前に生じるものがある。所定の動作の前に生じる短期間動作は、スポーツにおける祝福という所定の動作の場合に当てはまる。例としては、短期間のゴールが決まった後のチームメイトとの抱擁及び短期間のゴルフパットの後の「ハイタッチ」での祝福等である。例はスポーツに限定されない。別の例は、短期間のろうそくの吹き消しの後に行われることが多い抱擁又は他の交流を含む。通常は短期間動作が先行して生じる所定の動作が検出された場合、第2のサンプリングの探索「方向」は基準フレームの前で行われるように逆向きにされる。
ステップ330における第2のサンプリングで検出された撮像フレームが高精度で分類されることが重要である。同レベルの精度は第1のサンプリングにおいて不要である。図6A及び図6Bは、ステップ325での第1のサンプリング及びステップ330での第2のサンプリングにおける2つの異なる精度要件を解決するために使用可能ないくつかの方法を示す。
図6Aは、構成600を示す。図6Aに示すように、第1の(疎な)サンプリング及び第2の(密な)サンプリングにおいて2つの異なるアルゴリズムネットワーク610及び615を使用できる。大きいネットワーク615は、大きいモデルアーキテクチャが有する学習用パラメータが多く且つ入力される高解像度画像の画素データが多いため、小さいネットワーク610と比較して速度は遅いが高い精度を得られる。通常のビデオにおいて検出される所定の動作は相対的に少ないため、第2のサンプリングステップ330で使用されるアルゴリズムネットワーク615の相対的な遅さは問題ではない。従って、ネットワーク610により処理される第1のサンプリングのサンプル数と比較して、ネットワーク615により処理される第2のサンプリングのサンプル数は相対的に少ない。
図6Bにおいて、第1のサンプリング(ステップ325)及び第2のサンプリング(ステップ330)で動作を分類するために2つの異なる信頼度閾値が使用され、第2のサンプリング閾値の方が高い。異なる閾値が示され、第1のサンプリングステップ325は閾値630を使用してフレーム645においてサンプルを検出し、第2のサンプリングステップ330は高い閾値640を使用して650及び655においてサンプルを検出する。図6Bにおいて620と示されるフレームは所定の動作を有するフレームであり、625と示されるフレームは短期間動作のフレームである。図6Bの例では、第1のサンプリングのサンプル650において、アルゴリズムネットワーク610は閾値630を上回るが閾値640を下回る信頼度レベルを有する所定の動作を検出する。サンプル650は第1のサンプリング(ステップ325)においてサンプリングされるため、信頼度レベルは許容される。第2のサンプリングにおいてサンプリングされるフレーム655の場合、アルゴリズムネットワーク615は閾値640より高い信頼度を有するため、フレーム655は撮像フレームとして正確にマーク付けされる。低い閾値630は、第1のサンプリングにおいて偽陰性にされる可能性のある所定の動作の分類の数を減少する効果を有する。従って、低い閾値630は、第1のサンプリングにおいて偽陽性であるため第2のサンプリングが実行されない結果として短期間動作フレームを見逃すリスクを最小限にするのに役立つ。低い閾値630は、第1のサンプリングにおける偽陽性の数を潜在的に増加させる可能性もある。しかし、処理量が増加したとしても、偽陽性の所定の動作のフレームの分類により行われる不必要な第2のサンプリングの結果として短期間動作のフレームが生じないため、偽陽性の増加が精度に及ぼす影響は大きくない。図6Bにより示すように、基準フレーム及び第2のサンプリングレートを使用してサンプリングされたフレームは異なる閾値を使用して分類可能であり、基準フレームに対する閾値は通常は低い閾値である。
ステップ330を実行した結果、検出されたあらゆる短期間動作フレーム(撮像フレーム)が短期間フレームの累積リストに追加される。上述したように、畳み込みニューラルネットワークは、各々が異なるサイズの画像ビットマップ入力を使用できる多くの異なるモデル構成を有してもよい。従って、異なるフレーム(例えば、基準フレーム及び短期間動作を撮像したフレーム)は、第1の畳み込みニューラルネットワーク(ステップ325)及び第2の畳み込みニューラルネットワーク(ステップ330)の入力次元とそれぞれマッチングする解像度で復号又は解析可能である。
方法300は、ステップ330から破棄ステップ335に進む。ステップ335は、ステップ320で割り当てられたセグメントフレームリソースを解放するように動作する。割り当てられたセグメントフレームリソースは、ステップ325及び330で行われる動作の検出及び分類に利用可能であったビットマップである。ステップ335は、割り当てられたフレームリソースに対する画像データを破棄するように動作する。
方法300は、ステップ335から判断ステップ340に進む。ステップ340は、分類のために解析又は処理される更なるフレームが存在するかを判定するために実行される。処理される更なるフレームが存在する場合(ステップ340で「YES」)、方法300はステップ320に進み、ステップ320、325、330及び335の実行が繰り返される。使用できる更なるフレームが存在しない場合(判断ステップ340で「NO」)、方法300はステップ345に進む。
ステップ345において、ステップ330で累積されたフレームが優先され、方法300は累積されたフレームのうちのいくつか又は全てを選択して出力する。ステップ330で出力されたリスト化されたフレームが優先され、ステップ345において、リスト化されたフレームの最上位(「最善」)のフレームが選択される。アプリケーションによるフレームの使用状況に応じて、最善のフレーム又は種々の適切なフレームを出力するために選択するために、異なる優先順位付け方法が使用されてもよい。例えば、撮像されたビデオを表すためにアプリケーションが単一のフレームしか必要としない場合、全ての撮像フレームがリストに追加された後に動作検出の信頼度と画質の組み合わせに基づいて撮像フレームに優先順位が付けられてもよく、最上位フレームが選択される。別の例として、アプリケーションがスライドショーを作成するために多くのフレームを使用する必要がある場合、単一の動作からの撮像フレームに局所的に優先順位が付けられ、各動作の最上位フレームが選択されてもよい。局所的な優先順位付けにより、ビデオを処理中に各動作からのフレームを選択して出力できる。
場合によっては、出力フレームの画質が十分であることを保証し且つ重複が生じないことを保証するために、ステップ345においてフィルタリングを実行できる。ステップ330におけるフレームサンプルは、画質に基づいて、重複又は略重複を回避するために優先順位付け及びフィルタリングが行われる。画質のためのフィルタリング又は重複を回避するためのフィルタリングは、既知の技術を使用して実現される。鮮明度、色彩度及び構図は、知覚される画質の尺度を提供できる基本的な技術的メトリックである。既知のフィルタリング技術は、鮮明度の尺度として検出された短期間動作の領域内の十分に鮮明なエッジの存在を検出すること、色彩度の尺度としてフレーム全体の色ヒストグラムの広い分布を判定すること、並びに良好な画像構図のためにフレーム内の検出された短期間動作の領域の位置及びサイズを評価すること等を含む。フレームの色ヒストグラムを比較することにより、画像の略重複を検出できる。例えば90%である特定の閾値を超えて重複する2つの色ヒストグラムの割合に基づいて計算された距離メトリックは、2つのフレームが略重複であると判定するために使用可能であり、画質の尺度が低いフレームが選択のためにフィルタリングされてもよい。
方法300により選択された撮像フレームはフォトブックに含めるのに適しており、選択されたフレームを含むフレームシーケンスはビデオハイライトとして使用できる。方法300を実行することにより識別された所望のフレームから他のメディア項目を作成することもできる。ステップ345は、選択されたフレームをフォトブックに関連付けて格納すること、ハイライトを示すためにフレームに注釈を付けること、フレーム又はフレームのサムネイルをユーザに対して表示することを含むことができる。図7を参照して、ステップ310で実行される処理パラメータを設定する方法700を一例として説明する。方法700は、カメラ100のROM160に常駐し且つプロセッサ150(又は制御部122Cの場合はGPU150G)の実行下で制御されるシステムプログラム161の1つ以上のソフトウェアコードモジュールとして実現されてもよい。
方法700は、レート判定ステップ710から開始する。ステップ710は、選択方法300のサンプリングステップ325及び330に対する全体的な時間バジェットを判定するように動作する。方法300は通常、設定された期間内に選択を実行することが必要とされる。状況によっては、期間は「リアルタイム」であり、これは、ビデオが毎秒30フレームで記録されている場合にアルゴリズムのフレーム当たりのバジェットが30分の1秒であることを意味する。殆どの場合、最大処理期間が設定されるが、方法300は、選択処理を効果的に実行するのに必要な時間のみを消費することが期待される。時間バジェットを消費するステップは、全ビデオフレームの復号、第1のサンプリングステップ325及び第2のサンプリングステップ330である。判定されるサンプリングステップに対する時間バジェットは、最大処理期間から全ビデオフレームの復号時間を減算したものであり得る。
方法700は、以下の3つの動作パラメータを判定するように実行する。
・ 第1のサンプリングレート
・ 使用されるアルゴリズムネットワーク
・ 対象とされる所定の動作のセット
ステップ710において、デフォルトのアルゴリズムネットワーク及び所定の動作のセットが仮定される。ステップ710は、第1のサンプリングレートを判定する。一実施形態において、第1のサンプリングレートは、所定の動作の間に少なくとも2つのサンプルが得られることが予想されるように設定される。従って、所定の動作の各々は対応する第1のサンプリングレートを有する。通常、所定の動作の種類の各々の継続時間は事前に認識される。例えば野球の打撃準備姿勢の通常の時間は、打者がボールを打つ前の約5秒以上であることが知られている。従って、初期の第1のサンプリングレート(所定の動作の間に2つのサンプルを撮像するのに十分である)は、所定の動作の各々に関連付けられている。
図5Aは、所定の動作520において得られる第1のサンプリングレートの2つのサンプル560及び570を示す。アルゴリズムネットワークにより検出及び分類が可能である多くの異なる所定の動作が存在する場合、秒数が最小予想時間長(PEmin)である所定の動作を使用して、1秒当たりのサンプル数である第1のサンプリングレート(FSR)を判定する。FRSを判定するための式(1)を使用できる。
FSR=2/(PEminの予想時間長) …(1)
FSRを式(1)に設定する代替の方法が使用されてもよい。代替の方法の例は、平均PEminと、PEminの時間分散の標準偏差とを計算において判定することを含む。別の実施形態において、統計的に十分な数の所定の動作がサンプリングにおいて検出されると仮定して、PEminの予想長より短い期間が結果として得られるFSRを使用することができる。
ステップ710は、デフォルトのアルゴリズムネットワーク及びデフォルトの所定の動作のセットを用いて、ビデオシーケンスの予想処理時間の推定値を判定する。方法300が完了するまでにかかる時間を判定する際、式(2)を使用できる。
処理時間=ビデオの長さ(秒)*FSR*アルゴリズムネットワークの処理時間+第2のサンプリング処理のための時間+フレーム復号時間 …(2)
式(2)において、上述したアルゴリズムネットワークの処理時間は方法が実行されているハードウェアシステム122に非常に依存する。例えばGPU150G等のGPUが使用可能である場合、畳み込みニューラルネットワークの処理は大幅に高速化される。アルゴリズムネットワークは、一般に、方法300が実行されるシステム122に対するアルゴリズムネットワークの処理時間を推定するために使用できる記載される数の乗算加算を有する。あるいは、時間はいくつかの基準システムで測定可能であり、方法300が実行されるシステム122に対する時間を推定するために基準図が使用される。
式(2)において、第2のサンプリング処理のための時間は、検出される所定の動作の数に依存する。図5Aにおいて、第2のサンプリングは2つのフレーム565及び575から開始する。第2のサンプリングは、所定の動作がフレーム560及び570において検出された場合のみ行われる。一実施形態において、第2のサンプリング処理のための時間が考慮される。この場合、検出され得る基準フレームの最大数(RFmax)に対する制限が式(3)に基づいて設定される。
第2のサンプリング処理のための時間=RFmax*アルゴリズムネットワークの処理時間*Exp2ndSamples …(3)
式(3)において、Exp2ndSamplesは、基準フレーム当たりの第2のサンプルの期待数である。(FSR)と同一の式が第2のサンプリングレートに適用される場合、Exp2ndSamplesは2である。あるいは、後の選択のために多くの撮像フレームが検出されることを保証するために、相対的に多い数が使用されてもよい。あるいは、第2のサンプリング処理のための時間は、処理時間を判定する際に無視されてもよい。
式(3)において、フレーム復号時間は、単一のビデオフレームを復号するのにかかる時間にビデオフレームの数を乗算した時間である。単一のフレームを復号するのにかかる時間は多くの異なる基準システムで測定可能であるため、方法が実行されるシステム上でのフレーム復号時間について合理的な推定を行うことができる。
方法700は、ステップ710から判断ステップ720に進む。判断ステップ720において、デフォルトのアルゴリズムネットワーク及びデフォルトの所定の動作を使用して式(2)を用いて判定された処理時間が許容可能なバジェットと比較される。処理時間がバジェットより大きい場合(ステップ720で「NO」)、方法700は判断ステップ740に進む。処理時間がバジェット内である場合(ステップ720で「YES」)、方法700は設定ステップ730に進む。処理時間がバジェット内である場合、第1のサンプリングレートは所定の動作の継続時間に従って効果的に判定される。
ステップ730において、FSRに対する式(1)により判定される第1のサンプリングレートが設定され、アルゴリズムネットワークはデフォルトのアルゴリズムネットワークに設定され、所定の動作はデフォルトの所定の動作のセットに設定される。
ステップ740において、処理時間が相対的に短い代替のアルゴリズムネットワークが考慮される。ステップ710で使用されたデフォルトのアルゴリズムネットワークは、代替のアルゴリズムネットワークのセットの中で精度が最も高いアルゴリズムであると選択される。代替のアルゴリズムネットワークは速度が速いが精度が低い。ステップ740において、処理時間に対する式(2)は代替のアルゴリズムネットワークを用いて使用され、許容可能なバジェット内に収まる処理時間が結果として得られる最も高精度のアルゴリズムネットワークが選択される。
方法700は、ステップ740から判断ステップ750に進む。判断ステップ750において、プログラム161を実行して、許容可能なアルゴリズムネットワークが見つかったかを判定する。換言すると、ステップ750は、現在のアルゴリズムネットワークが処理時間に収まるかを判定する。許容可能なアルゴリズムネットワークが見つからない場合(ステップ750で「NO」)、方法700は以下に説明する検出ステップ770に進む。許容可能なアルゴリズムネットワークが見つかった場合(ステップ750で「YES」)、方法700は選択ステップ760に進む。ステップ760において、FSRに対する式(1)により計算された第1のサンプリングレートが設定され、アルゴリズムネットワークはステップ740で判定された許容可能なアルゴリズムネットワークに設定され、所定の動作はデフォルトの所定の動作のセットに設定される。
ステップ770において、予想期間が最短である所定の動作から開始して所定の動作が除去され、FSR及び処理時間に対する式が再度実行され、処理時間が許容可能なバジェット内であるか判定される。処理時間が許容可能なバジェット内になるまで、ステップ770が繰り返される。処理時間が許容可能なバジェット内になると、方法700は残りの所定の動作のセットが許容可能かを考慮する。ステップ770は、関連する第1のサンプリングレートに基づいて1つ以上の所定の動作を選択するように効果的に動作し、関連する第1のサンプリングレートを使用して処理バジェットと推定時間とを比較する。いくつかの実現例において、ステップ770は、除去された所定の動作に基づいて、検出される可能性が低い所定の動作をカメラ100のユーザに通知するように動作できる。
方法700は、ステップ770から判断ステップ780に進む。判断ステップ780において、許容可能な所定の動作のセットが残っていない場合(ステップ780で「NO」)、方法700は設定ステップ795に進む。ステップ795において、許容可能なバジェットに収まる最大サンプリングレートが設定される。ステップ795で設定されたサンプリングレートでは、全ての所定の動作は検出されない場合がある。FSRは、式(3)を用いて処理時間が許容可能なバジェットに収まるような値に設定することができる。
ステップ780で許容可能な所定の動作のセットが見つかった場合(ステップ780で「YES」)、方法700は制限ステップ790に進む。ステップ790において、式(1)で計算された第1のサンプリングレートが設定され、アルゴリズムネットワークはデフォルトのアルゴリズムネットワークに設定され、所定の動作はステップ770から返された動作に設定される。
ユーザが誕生日というテーマを選択したスライドショーアプリケーション等、アプリケーションがビデオから予想される動作の限定されたサブセット等のヒントを提供できる場合、方法700は事前に(すなわち、ユーザに要求される前に)実行できる。ヒントは、カメラ100のボタン124〜126及びディスプレイ123等の電子機器のインタフェースを使用してユーザによりビデオのメインテーマを指定することにより与えられてもよい。ヒントは、例えばディスプレイ123上に再生されたメニューのオプションをユーザが選択することにより入力されてもよく、あるいは、テーマに基づいて又はビデオを分類器に入力する等の他の何らかの方法でプログラム161がビデオの簡単な分類を使用してテーマを判定することにより入力されてもよい。ヒントは、精度を低下させることなく最大速度を達成するように方法300のステップ310でパラメータを判定するために、処理パラメータ判定方法700により使用されてもよい。ヒントを使用することにより、判定ステップ770はビデオ内で予想される動作のみを考慮することができ、従って、高いサンプリングレートを必要とする短時間の動作を潜在的に無視できる。
特定のアプリケーションに対して、処理バジェットが常に固定されており且つビデオ内に予想される動作の事前知識がない場合、処理パラメータ判定方法700は事前に一度判定され(方法300を実行するためのユーザコマンドを受け取る前に実行され)、全てのビデオに対して使用されてもよい。
説明した構成は、コンピュータ/データ処理産業に適用可能であり、特にビデオ処理産業に適用可能である。上述したように、説明した構成は、フォトブック、ハイライトの識別及び/又は注釈付け等の画像又はビデオに関連するアプリケーションに使用可能である。
基準フレームを検出するためにステップ325で第1のサンプリングレートを使用する場合、所定の動作の継続時間に従うレートでサンプリングされたフレームを使用することにより、全てのフレームを解析することなく所定の動作を検出できる。しかし、所定の動作は精度を低下させることなく検出可能である。ステップ330で高いサンプリングレートを使用して基準フレームに関連する場所を有するフレームを更にサンプリングすることは、精度を低下させることなく、向上した検出時間で短期間動作を検出できるようにするように動作する。上述のように、第1のサンプリングレート及び第2のサンプリングレートの判定は、処理時間バジェットを守るためにも使用可能である。従って、説明した構成は、ビデオカメラ又はスマートフォン等の計算リソースが制限される装置及び/又はGPU150G等のGPUを含む装置上での実現に特に適している。説明した方法は、計算の輻輳及び処理時間を減少するために、デスクトップコンピュータ等の他の装置の実現にも適している。
以上、本発明のいくつかの実施形態のみを説明したが、本発明の主旨の範囲から逸脱することなく変更及び/又は変形を行うことでき、実施形態は例示するものであって限定するものではない。
本明細書の文脈において、「備える」という用語は、「主に含むが必ずしもそれのみ含むものではない」又は「有する」又は「含む」ことを意味し、「それのみで構成される」という意味ではない。「備える」という単語の変形は、それに対応する種々の意味を有する。

Claims (20)

  1. ビデオから短期間動作を撮像したフレームを選択する方法であって、
    前記ビデオのフレームシーケンスを受け取ることと、
    前記ビデオフレームのシーケンスから第1の複数のフレームのうちの1つに撮像された所定の動作を検出することで前記フレームシーケンス内の基準フレームを判定することと、
    ここで、前記第1の複数のフレームは、前記所定の動作の継続時間に従って判定される第1のサンプリングレートで前記フレームシーケンスからサンプリングされるものである;
    前記フレームシーケンスから第2の複数のフレームを選択することと、
    ここで、前記第2の複数のフレームは前記シーケンスにおける前記基準フレームに関連する場所を有し、第2のサンプリングレートで選択されたものである;
    前記第2のサンプリングレートは前記第1のサンプリングレートより高く、且つ、前記短期間動作の継続期間に基づいて判定されるものである;
    前記短期間動作を撮像した前記フレームを前記第2の複数のフレームから選択することと、
    を備えることを特徴とする方法。
  2. 前記ビデオデータシーケンスに対する処理バジェット及び複数の所定の動作を受け取ることと、
    ここで、前記動作の各々は、対応する第1のサンプリングレートを有する;
    前記処理バジェットと前記フレームシーケンスの処理時間の推定値との比較に従って、前記複数の所定の動作から1つ以上の所定の動作を選択することと、
    ここで、前記処理時間は、選択される1つ以上の所定の動作に対応する第1のサンプリングレートを使用して判定される;
    を更に備えることを特徴とする請求項1に記載の方法。
  3. 前記基準フレーム内の前記所定の動作を、複数の所定の動作のうちの1つとマッチングすることと、
    ここで、所定の動作の各々は、探索方向及び第2のサンプリングレートを有する;
    前記マッチングした所定の動作の前記対応する探索方向及び前記第2のサンプリングレートを使用して、前記ビデオフレームシーケンスから前記第2の複数のフレームを選択することと、
    を更に備えることを特徴とする請求項1に記載の方法。
  4. 前記基準フレーム、及び、前記短期間動作を撮像した前記フレームは、異なる閾値を使用して分類される、
    ここで、前記基準フレームに対する前記閾値は、前記短期間動作を撮像した前記フレームに対する前記閾値より低い;
    前記基準フレームを判定することは、前記所定の動作の検出に関連する信頼度スコアが閾値を満たすかを判定することを含む
    ことを特徴とする請求項1の記載の方法。
  5. 前記基準フレームに隣接するフレームは、前記基準フレームの分類を判定するために使用され、
    前記基準フレームに対する分類マッチング閾値は、前記隣接するフレームに対する分類に従って変化することを特徴とする請求項1記載の方法。
  6. 前記短期間動作を撮像した前記フレームを選択することは、画質に基づいて及び重複を回避するために、前記第2の複数のフレームに優先順位を付けること及びそれらをフィルタリングすることを含むことを特徴とする請求項1に記載の方法。
  7. 前記基準フレームは第1の畳み込みニューラルネットワークを使用して位置を特定され、前記短期間動作を撮像した前記フレームは第2の畳み込みニューラルネットワークを使用して選択される、
    ここで、前記第2の畳み込みニューラルネットワークは前記第1の畳み込みニューラルネットワークより高い精度を有する;
    ことを特徴とする請求項1記載の方法。
  8. 前記基準フレーム及び前記短期間動作を撮像した前記フレームはそれぞれ、第1の畳み込みニューラルネットワーク及び第2の畳み込みニューラルネットワークの入力次元とマッチングする解像度で復号されることを特徴とする請求項7に記載の方法。
  9. 前記第2のサンプリングレートは、前記基準フレームにおいて検出された前記所定の動作の種類に基づいて判定されることを特徴とする請求項1に記載の方法。
  10. 前記基準フレームを判定するステップ、前記第2の複数のフレームを選択するステップ及び前記短期間動作を撮像した前記フレームを選択するステップは、前記ビデオの撮像時にリアルタイムで実現されることを特徴とする請求項1に記載の方法。
  11. 電子機器のインタフェースを介して前記ビデオに対する所要の処理時間を受け取ることを更に備え、
    ここで前記第1のサンプリングレートは、前記所定の動作の前記継続時間及び前記所要の処理時間に従って判定される
    ことを特徴とする請求項1に記載の方法。
  12. 前記ビデオを再生する電子機器のインタフェースとユーザが対話している場合に、前記ビデオの長さに対する割合である前記ビデオに対する所要の処理時間を判定することを更に備えることを特徴とする請求項1記載の方法。
  13. 前記方法の動作により検出される可能性が低い短期間動作を判定することと、
    前記ビデオを撮像又は再生する電子機器上に前記短期間動作が検出される可能性が低いという指示を表示すること
    を更に備えることを特徴とする請求項1に記載の方法。
  14. 前記方法の動作により検出される可能性が低い前記短期間動作は、処理バジェットと前記短期間動作に関連する所定の動作に対応する第1のサンプリングレートとに基づいて判定されることを特徴とする請求項13に記載の方法。
  15. 前記ビデオシーケンスに関連するテーマの指示を受け取ることを更に備え、
    前記第1のサンプリングレートは、前記テーマに関連する所定の動作の継続時間に基づいて判定されることを特徴とする請求項1に記載の方法。
  16. 前記テーマは、前記方法を実行する電子機器のインタフェースにおけるユーザ入力により受け取られることを特徴とする請求項15に記載の方法。
  17. 前記テーマは、前記ビデオを分類器に入力することにより判定されることを特徴とする請求項15に記載の方法。
  18. コンピュータが読み込み実行することで、前記コンピュータに、ビデオから短期間動作を撮像したフレームを選択する方法を実現させるためのコンピュータプログラムであって、前記コンピュータに、
    前記ビデオのフレームシーケンスを受け取らせ、
    前記ビデオフレームのシーケンスから第1の複数のフレームのうちの1つに撮像された所定の動作を検出することで前記フレームシーケンス内の基準フレームを判定させ、
    ここで、前記第1の複数のフレームは、前記所定の動作の継続時間に従って判定される第1のサンプリングレートで前記フレームシーケンスからサンプリングされるものである;
    前記フレームシーケンスから第2の複数のフレームを選択させ、
    ここで、前記第2の複数のフレームは前記シーケンスにおける前記基準フレームに関連する場所を有し、第2のサンプリングレートで選択されたものである;
    前記第2のサンプリングレートは前記第1のサンプリングレートより高く、且つ、前記短期間動作の継続期間に基づいて判定されるものである;
    前記短期間動作を撮像した前記フレームを前記第2の複数のフレームから選択させる
    ことを特徴とするコンピュータプログラム。
  19. 撮像装置であって、
    ビデオのフレームシーケンスを撮像する手段と、
    ソフトウェアプログラムをグラフィックスプロセッシングユニット上で実行するように構成する手段と、当該手段は、
    ビデオのフレームシーケンスを受け取る手段と、
    前記フレームシーケンスから第1の複数のフレームのうちの1つに撮像された所定の動作を検出することで前記フレームシーケンス内の基準フレームを判定する手段と、
    ここで、前記第1の複数のフレームは、前記所定の動作の継続時間に従って判定される第1のサンプリングレートで前記フレームシーケンスからサンプリングされるものである;
    前記フレームシーケンスから第2の複数のフレームを選択する手段と、
    ここで、前記第2の複数のフレームは前記シーケンスにおける前記基準フレームに関連する場所を有し、第2のサンプリングレートで選択されたものである;
    前記第2のサンプリングレートは前記第1のサンプリングレートより高く、且つ、前記短期間動作の継続期間に基づいて判定されるものである;
    前記短期間動作を撮像した前記フレームを前記第2の複数のフレームから選択する手段と
    を含むことを特徴とする撮像装置。
  20. システムであって、
    プロセッサと、
    前記プロセッサに指示するソフトウェアプログラムを格納するメモリとを有し、
    前記プロセッサは、前記ソフトウェアプログラムを実行することで、
    ビデオのフレームシーケンスを受け取る手段と、
    前記フレームシーケンスから第1の複数のフレームのうちの1つに撮像された所定の動作を検出することで前記フレームシーケンス内の基準フレームを判定する手段と、
    ここで、前記第1の複数のフレームは、前記所定の動作の継続時間に従って判定される第1のサンプリングレートで前記フレームシーケンスからサンプリングされるものである;
    前記フレームシーケンスから第2の複数のフレームを選択する手段と、
    ここで、前記第2の複数のフレームは前記シーケンスにおける前記基準フレームに関連する場所を有し、第2のサンプリングレートで選択されたものである;
    前記第2のサンプリングレートは前記第1のサンプリングレートより高く、且つ、前記短期間動作の継続期間に基づいて判定されるものである;
    前記短期間動作を撮像した前記フレームを前記第2の複数のフレームから選択する手段と
    を有することを特徴とするシステム。
JP2019106503A 2018-06-06 2019-06-06 ビデオシーケンスのフレームを選択する方法、システム及び装置 Active JP6790177B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
AU2018204004 2018-06-06
AU2018204004A AU2018204004A1 (en) 2018-06-06 2018-06-06 Method, system and apparatus for selecting frames of a video sequence

Publications (2)

Publication Number Publication Date
JP2019212312A true JP2019212312A (ja) 2019-12-12
JP6790177B2 JP6790177B2 (ja) 2020-11-25

Family

ID=68765088

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019106503A Active JP6790177B2 (ja) 2018-06-06 2019-06-06 ビデオシーケンスのフレームを選択する方法、システム及び装置

Country Status (3)

Country Link
US (1) US11093754B2 (ja)
JP (1) JP6790177B2 (ja)
AU (1) AU2018204004A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112188215A (zh) * 2020-09-23 2021-01-05 腾讯科技(深圳)有限公司 视频解码方法、装置、设备及存储介质

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2560177A (en) 2017-03-01 2018-09-05 Thirdeye Labs Ltd Training a computational neural network
GB2560387B (en) * 2017-03-10 2022-03-09 Standard Cognition Corp Action identification using neural networks
US11200692B2 (en) 2017-08-07 2021-12-14 Standard Cognition, Corp Systems and methods to check-in shoppers in a cashier-less store
US10474988B2 (en) 2017-08-07 2019-11-12 Standard Cognition, Corp. Predicting inventory events using foreground/background processing
US10853965B2 (en) 2017-08-07 2020-12-01 Standard Cognition, Corp Directional impression analysis using deep learning
US10650545B2 (en) 2017-08-07 2020-05-12 Standard Cognition, Corp. Systems and methods to check-in shoppers in a cashier-less store
US11232687B2 (en) 2017-08-07 2022-01-25 Standard Cognition, Corp Deep learning-based shopper statuses in a cashier-less store
US11250376B2 (en) 2017-08-07 2022-02-15 Standard Cognition, Corp Product correlation analysis using deep learning
US10474991B2 (en) 2017-08-07 2019-11-12 Standard Cognition, Corp. Deep learning-based store realograms
US11232575B2 (en) 2019-04-18 2022-01-25 Standard Cognition, Corp Systems and methods for deep learning-based subject persistence
JP7281951B2 (ja) * 2019-04-22 2023-05-26 シャープ株式会社 電子機器、制御装置、制御プログラムおよび制御方法
IT201900011403A1 (it) * 2019-07-10 2021-01-10 Ambarella Int Lp Detecting illegal use of phone to prevent the driver from getting a fine
CN111001161B (zh) * 2019-12-24 2023-04-07 哈尔滨工程大学 一种基于二阶反向传播优先级的游戏策略获得方法
US11687778B2 (en) 2020-01-06 2023-06-27 The Research Foundation For The State University Of New York Fakecatcher: detection of synthetic portrait videos using biological signals
US11361468B2 (en) 2020-06-26 2022-06-14 Standard Cognition, Corp. Systems and methods for automated recalibration of sensors for autonomous checkout
US11303853B2 (en) 2020-06-26 2022-04-12 Standard Cognition, Corp. Systems and methods for automated design of camera placement and cameras arrangements for autonomous checkout
CN114827443A (zh) * 2021-01-29 2022-07-29 深圳市万普拉斯科技有限公司 视频帧选取方法、视频延时处理方法、装置及计算机设备
CN113052609B (zh) * 2021-04-20 2024-03-22 中国工商银行股份有限公司 用于自动取款机的安全防控方法、装置、电子设备和介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016067408A (ja) * 2014-09-26 2016-05-09 セイコーエプソン株式会社 センサー、演算装置、運動計測方法、運動計測システム及びプログラム
JP2017108325A (ja) * 2015-12-11 2017-06-15 カシオ計算機株式会社 画像処理装置、画像処理方法及びプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8165405B2 (en) 2006-12-18 2012-04-24 Honda Motor Co., Ltd. Leveraging temporal, contextual and ordering constraints for recognizing complex activities in video
US9767363B2 (en) * 2015-10-30 2017-09-19 Google Inc. System and method for automatic detection of spherical video content
US9818451B1 (en) * 2015-12-21 2017-11-14 Amazon Technologies, Inc. Frame selection of video data
US9600717B1 (en) 2016-02-25 2017-03-21 Zepp Labs, Inc. Real-time single-view action recognition based on key pose analysis for sports videos
US20190108400A1 (en) * 2017-10-05 2019-04-11 Qualcomm Incorporated Actor-deformation-invariant action proposals

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016067408A (ja) * 2014-09-26 2016-05-09 セイコーエプソン株式会社 センサー、演算装置、運動計測方法、運動計測システム及びプログラム
JP2017108325A (ja) * 2015-12-11 2017-06-15 カシオ計算機株式会社 画像処理装置、画像処理方法及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112188215A (zh) * 2020-09-23 2021-01-05 腾讯科技(深圳)有限公司 视频解码方法、装置、设备及存储介质

Also Published As

Publication number Publication date
AU2018204004A1 (en) 2020-01-02
US11093754B2 (en) 2021-08-17
JP6790177B2 (ja) 2020-11-25
US20190377957A1 (en) 2019-12-12

Similar Documents

Publication Publication Date Title
JP6790177B2 (ja) ビデオシーケンスのフレームを選択する方法、システム及び装置
KR101731771B1 (ko) 버스트 포토 캡처된 세트로부터 키퍼 이미지의 자동 선택
US10917571B2 (en) Image capture device control based on determination of blur value of objects in images
CN106375674B (zh) 寻找和使用与相邻静态图像相关的视频部分的方法和装置
JP2011010275A (ja) 画像再生装置及び撮像装置
US10657657B2 (en) Method, system and apparatus for detecting a change in angular position of a camera
JP5754458B2 (ja) 動画像抽出装置、動画像抽出方法及びプログラム
JP6892524B2 (ja) 対象追跡に基づくスローモーションビデオキャプチャ
JP5137622B2 (ja) 撮影装置及びその制御方法、並びに画像処理装置及びその制御方法
WO2019084756A1 (zh) 一种图像处理方法、装置及飞行器
JP2015008385A (ja) 画像選択装置、撮像装置および画像選択プログラム
EP3304551B1 (en) Adjusting length of living images
JP5157704B2 (ja) 電子スチルカメラ
US20170142335A1 (en) Image evaluation apparatus that evaluates continuously photographed images
US10885346B2 (en) Method, system and apparatus for selecting frames of a video sequence
AU2016277643A1 (en) Using face detection metadata to select video segments
JP5761323B2 (ja) 撮像装置、撮像方法、及びプログラム
JP5374612B2 (ja) 画像データの識別方法及び撮像装置、プログラム、及び記憶媒体
US20220277547A1 (en) Method and electronic device for detecting candid moment in image frame
JP2011166391A (ja) 撮像装置
JP2008262305A (ja) 撮像装置、撮像装置の制御方法、プログラム、及び記憶媒体
JP2010004357A (ja) 撮像装置及び撮像方法
JP2010034686A (ja) デジタルカメラ
JP5846420B2 (ja) 画像処理装置、画像管理方法、及びプログラム
JP2010093636A (ja) 撮像装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190606

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200713

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200807

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200909

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20201005

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201104

R151 Written notification of patent or utility model registration

Ref document number: 6790177

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151