(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023166195
(43)【公開日】2023-11-21
(54)【発明の名称】コンピュータプログラム、画像処理装置、画像処理方法及び学習モデル生成方法
(51)【国際特許分類】
G06T 7/00 20170101AFI20231114BHJP
G06V 20/40 20220101ALI20231114BHJP
G06F 16/73 20190101ALI20231114BHJP
H04N 5/91 20060101ALI20231114BHJP
H04N 21/8549 20110101ALI20231114BHJP
【FI】
G06T7/00 350B
G06T7/00 660
G06V20/40
G06F16/73
H04N5/91
H04N21/8549
【審査請求】未請求
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2022077073
(22)【出願日】2022-05-09
【新規性喪失の例外の表示】特許法第30条第2項適用申請有り 令和 4年 2月22日にアポロ株式会社のウェブサイトにて公開 https://apol.co.jp/solution/motioncap
(71)【出願人】
【識別番号】521463089
【氏名又は名称】アポロ株式会社
(74)【代理人】
【識別番号】100114557
【弁理士】
【氏名又は名称】河野 英仁
(74)【代理人】
【識別番号】100078868
【弁理士】
【氏名又は名称】河野 登夫
(72)【発明者】
【氏名】山本 俊介
(72)【発明者】
【氏名】小川 祐樹
【テーマコード(参考)】
5B175
5C053
5C164
5L096
【Fターム(参考)】
5B175DA04
5B175HB03
5C053FA14
5C053GB06
5C053JA21
5C053LA11
5C053LA14
5C164FA29
5C164MC03P
5C164UB01S
5L096CA04
5L096DA02
5L096EA39
5L096FA32
5L096FA35
5L096FA39
5L096FA59
5L096GA04
5L096HA08
5L096HA11
5L096JA03
5L096KA04
(57)【要約】
【課題】複数の人物が撮影された動画から対象人物を特定できるコンピュータプログラム、画像処理装置、画像処理方法及び学習モデル生成方法を提供する。
【解決手段】コンピュータプログラムは、コンピュータに、スポーツをする複数の人物を撮影した第1動画を取得し、対象人物を撮影した第2動画を取得し、取得した第1動画内の各人物、及び取得した第2動画内の対象人物を検出し、検出した対象人物と各人物との類似度を算出し、算出した類似度に基づいて、各人物の中から対象人物を特定する、処理を実行させる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
コンピュータに、
スポーツをする複数の人物を撮影した第1動画を取得し、
対象人物を撮影した第2動画を取得し、
取得した第1動画内の各人物、及び取得した第2動画内の対象人物を検出し、
検出した対象人物と各人物との類似度を算出し、
算出した類似度に基づいて、各人物の中から対象人物を特定する、
処理を実行させるコンピュータプログラム。
【請求項2】
コンピュータに、
検出した対象人物と各人物との身体類似度を算出し、
算出した身体類似度に基づいて、各人物の中から対象人物を特定する、
処理を実行させる請求項1に記載のコンピュータプログラム。
【請求項3】
コンピュータに、
検出した対象人物と各人物との顔類似度を算出し、
算出した顔類似度に基づいて、各人物の中から対象人物を特定する、
処理を実行させる請求項1に記載のコンピュータプログラム。
【請求項4】
コンピュータに、
検出した対象人物の背番号と各人物の背番号との一致度を算出し、
算出した一致度に基づいて、各人物の中から対象人物を特定する、
処理を実行させる請求項1に記載のコンピュータプログラム。
【請求項5】
コンピュータに、
検出した対象人物と各人物との身体類似度及び顔類似度を算出し、
検出した対象人物の背番号と各人物の背番号との一致度を算出し、
算出した身体類似度、顔類似度及び背番号の一致度に基づいて、各人物の中から対象人物を特定する、
処理を実行させる請求項1に記載のコンピュータプログラム。
【請求項6】
コンピュータに、
対象人物と各人物との身体類似度、顔類似度、及び前記対象人物の背番号と前記各人物の背番号との一致度を入力した場合に、前記対象人物と各人物との間のマッチング結果を出力する学習モデルに、検出した対象人物と各人物との身体類似度、顔類似度及び前記対象人物の背番号と前記各人物の背番号との一致度を入力して、対象人物と各人物との間のマッチング結果を取得し、
取得したマッチング結果に基づいて各人物の中から対象人物を特定する、
処理を実行させる請求項1に記載のコンピュータプログラム。
【請求項7】
コンピュータに、
取得した第1動画及び第2動画それぞれの動画特徴量を抽出し、
第1動画及び第2動画それぞれの動画特徴量をさらに入力した場合に、対象人物と各人物との間のマッチング結果を出力する前記学習モデルに、抽出した動画特徴量を入力して、対象人物と各人物との間のマッチング結果を取得する、
処理を実行させる請求項6に記載のコンピュータプログラム。
【請求項8】
前記動画特徴量は、明るさ及びコントラストの少なくとも一つを含む、
請求項7に記載のコンピュータプログラム。
【請求項9】
コンピュータに、
検出した対象人物を含む対象人物画像及び各人物を含む人物画像それぞれの画像特徴量を抽出し、
対象人物画像及び人物画像それぞれの画像特徴量をさらに入力した場合に、対象人物と各人物との間のマッチング結果を出力する前記学習モデルに、抽出した画像特徴量を入力して、対象人物と各人物との間のマッチング結果を取得する、
処理を実行させる請求項6に記載のコンピュータプログラム。
【請求項10】
前記画像特徴量は、画角、対象人物のサイズ及び各人物のサイズの少なくとも一つを含む、
請求項9に記載のコンピュータプログラム。
【請求項11】
コンピュータに、
特定した対象人物を含むフレーム画像を前記第1動画から抽出して対象人物の動画を生成する、
処理を実行させる請求項1から請求項10のいずれか一項に記載のコンピュータプログラム。
【請求項12】
スポーツをする複数の人物を撮影した第1動画を取得する第1取得部と、
対象人物を撮影した第2動画を取得する第2取得部と、
取得した第1動画内の各人物、及び取得した第2動画内の対象人物を検出する検出部と、
検出した対象人物と各人物との類似度を算出する算出部と、
算出した類似度に基づいて、各人物の中から対象人物を特定する特定部と
を備える、
画像処理装置。
【請求項13】
スポーツをする複数の人物を撮影した第1動画を取得し、
対象人物を撮影した第2動画を取得し、
取得した第1動画内の各人物、及び取得した第2動画内の対象人物を検出し、
検出した対象人物と各人物との類似度を算出し、
算出した類似度に基づいて、各人物の中から対象人物を特定する、
画像処理方法。
【請求項14】
スポーツをする複数の人物を撮影した第1動画に含まれる各人物と第2動画に含まれる対象人物との身体類似度、顔類似度、及び前記対象人物の背番号と前記各人物の背番号との一致度並びに前記対象人物と各人物との間のマッチング結果を含む訓練データを取得し、
取得した訓練データに基づいて、対象人物と各人物との身体類似度、顔類似度、及び前記対象人物の背番号と前記各人物の背番号との一致度を入力した場合に、前記対象人物と各人物との間のマッチング結果を出力するように学習モデルを生成する、
学習モデル生成方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータプログラム、画像処理装置、画像処理方法及び学習モデル生成方法に関する。
【背景技術】
【0002】
近年、インターネット技術の進展や多様化する映像番組の発信により、映像番組やユーザが独自に撮影した動画などから、目立つシーンをハイライト映像として抽出し、あるいはストーリーに沿って重要なシーンをダイジェスト映像として抽出する自動要約技術の有用性が高まっている。
【0003】
特許文献1には、スポーツ競技で発生したイベントをログ情報として順次記録し、ユーザによって入力されたキーワードによってログ情報を検索し、検索されたログ情報に対応するフレームを組み合わせてハイライト動画を自動的に生成する装置が記載されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
一方で、複数の選手や参加者が撮影されるスポーツ動画のように、多数の人物(群衆)が撮影された動画(映像)から特定の人物を抽出する技術が望まれている。
【0006】
本発明は、斯かる事情に鑑みてなされたものであり、複数の人物が撮影された動画から対象人物を特定できるコンピュータプログラム、画像処理装置、画像処理方法及び学習モデル生成方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
本願は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、コンピュータプログラムは、コンピュータに、スポーツをする複数の人物を撮影した第1動画を取得し、対象人物を撮影した第2動画を取得し、取得した第1動画内の各人物、及び取得した第2動画内の対象人物を検出し、検出した対象人物と各人物との類似度を算出し、算出した類似度に基づいて、各人物の中から対象人物を特定する、処理を実行させる。
【発明の効果】
【0008】
本発明によれば、複数の人物が撮影された動画から対象人物を特定できる。
【図面の簡単な説明】
【0009】
【
図1】本実施形態の画像処理装置の構成の一例を示す図である。
【
図11】マッチング部(学習モデル)の生成方法の一例を示す図である。
【
図12】対象人物の動画の生成の一例を示す図である。
【
図13】画像処理装置による処理の手順の一例を示す図である。
【
図14】学習モデル(マッチング部)の生成方法の一例を示す図である。
【発明を実施するための形態】
【0010】
以下、本発明の実施の形態について説明する。
図1は本実施形態の画像処理装置50の構成の一例を示す図である。画像処理装置50は、通信ネットワーク1を介して端末装置10と接続される。端末装置10は、例えば、カメラ、マイク、スピーカ、表示パネル、操作パネルやキーボードなどを備えるスマートフォン、タブレット端末、パーソナルコンピュータ等で構成することができる。なお、端末装置10の数は1台に限定されない。
【0011】
端末装置10は、ユーザが携帯または保有する。ユーザは端末装置10を使って、家族や知人が参加するスポーツの試合や練習を撮影することができる。撮影された動画を、本明細書では、便宜上、試合動画(第1動画)と称するが、試合に限定されるものではなく、多数の人物(群衆)が撮影された動画(映像)であれば種類は問わない。
【0012】
また、ユーザは、試合動画に映っている家族、知人または自身だけを切り抜いた動画を作成するために、家族、知人または自身を撮影することができる。撮影された動画を、本明細書では、便宜上、自己紹介動画(第2動画)と称し、試合動画から切り出される家族、知人または自身などを対象人物と称する。自己紹介動画は、写真などの画像(静止画像)であってもよい。
【0013】
ユーザは、端末装置10から試合動画及び自己紹介動画を画像処理装置50に送信(アップロード)すると、画像処理装置50は、試合動画の中から、自己紹介動画に映っている対象人物が写った動画を切り出して生成し、生成した対象人物の動画を端末装置10へ送信する。
【0014】
画像処理装置50は、装置全体を制御する制御部51、通信部52、メモリ53、検出・トラッキング部54、特徴抽出部55、類似度算出部60、一致度算出部61、マッチング部62、動画生成部63、記憶部64、及び記録媒体読取部67を備える。特徴抽出部55は、身体特徴抽出部56、顔特徴抽出部57、背番号認識部58、及び画像特徴抽出部59を備える。記憶部64は、例えば、ハードディスク又は半導体メモリ等で構成することができ、コンピュータプログラム65、学習モデル部66、所要の情報を記憶する。なお、画像処理装置50は、処理機能を分散させて、複数の装置で構成してもよい。
【0015】
制御部51は、CPU(Central Processing Unit)、MPU(Micro-Processing Unit)、GPU(Graphics Processing Unit)等が所要数組み込まれて構成されている。制御部51は、コンピュータプログラム65で定められた処理を実行することができる。すなわち、制御部51による処理は、コンピュータプログラム65による処理でもある。制御部51は、コンピュータプログラム65を実行することにより、検出・トラッキング部54、特徴抽出部55、類似度算出部60、一致度算出部61、マッチング部62、動画生成部63の少なくとも1つの機能をハードウエアに代えてソフトウエアで実現することができる。制御部51は、学習モデル部66を用いた処理を行う。
【0016】
通信部52は、例えば、通信モジュールを備え、通信ネットワーク1を介して端末装置10との間で通信を行うことができる。通信部52は、第1取得部及び第2取得部としての機能を有し、端末装置10から試合動画及び自己紹介動画を受信(取得)する。
【0017】
メモリ53は、SRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)、フラッシュメモリ等の半導体メモリで構成することができる。コンピュータプログラム65をメモリ53に展開することにより、制御部51は、コンピュータプログラム65を実行することができる。
【0018】
コンピュータプログラム65を記録した記録媒体68、記録媒体読取部67によって読み取ることができる。なお、コンピュータプログラム65は、通信部52を介して、外部の装置からダウンロードして記憶部64に格納してもよい。
【0019】
検出・トラッキング部54は、検出部としての機能を有し、通信部52を介して取得した試合動画に写っている人物及び自己紹介動画に写っている対象人物それぞれを、動画のフレーム毎に検出してトラッキングを行う。
【0020】
図2は検出・トラッキングの一例を示す図である。
図2に示すように、自己紹介動画のフレーム数をmとして、各フレームをフレームP1、P2、…、Pi、…、Pmとする。また、試合動画のフレーム数をnとして、各フレームをフレームS1、S2、…、Sk、…、Snとする。一般的には、試合動画の方が自己紹介動画よりも撮影時間が長いので、n>mとなる。自己紹介動画内の対象人物をAとすると、検出・トラッキング部54は、自己紹介動画のフレーム毎に対象人物を検出してトラッキングを行う。図の例では、矩形の枠で対象人物Aを表現している。また、フレームPiのように対象人物を検出できないフレームも存在し得る。自己紹介動画内に複数の対象人物が写っている場合には、対象人物毎に検出・トラッキングを行う。
【0021】
試合動画内の人物をX1、X2、…、X15、…とすると、検出・トラッキング部54は、試合動画のフレーム毎に人物を検出してトラッキングを行う。図の例では、矩形の枠で人物Xを表現している。フレームS1では、人物X1、X2、X3、X4、X5、X6、X7が検出され、フレームSkでは、人物X2、X3、X8、X10、X11、X12、X15が検出されている。このように、フレームによって写っている人物は異なる場合がある。人物を表現する矩形の枠は、人物が近くにいるか遠くにいるかで枠のサイズが異なっている。
【0022】
身体特徴抽出部56は、検出・トラッキング部54で検出されたフレーム毎の対象人物が写った対象人物画像に基づいて、対象人物の身体特徴量を抽出して出力する。同様に、身体特徴抽出部56は、検出・トラッキング部54で検出されたフレーム毎の人物が写った人物画像に基づいて、人物の身体特徴量を抽出して出力する。身体特徴抽出部56は、学習モデル部66内の学習モデルを用いることができ、例えば、CNN(Convolutional Neural Network:畳み込みニューラルネットワーク)などのニューラルネットワークを用いることができる。身体特徴抽出部56は、さらに、抽出した身体特徴量に対して一義的なベクトルを生成するベクトル化演算を行って身体特徴ベクトルを生成できる。身体特徴抽出は、CNNに限定されるものではなく、HOG(Histogram of Oriented Gradients)、SVM(Support Vector Machine)、YOLO(You Look Only Once)などのアルゴリズムを用いるものでもよい。
【0023】
図3は身体特徴量の抽出の一例を示す図である。
図3Aは、身体特徴抽出部56に対象人物画像及び人物画像が入力されると、対象人物の身体特徴量及び人物の身体特徴量が出力される。身体特徴量は、たとえば、1280次元に圧縮された身体特徴データであるが、データの次元数は1280に限定されるものでない。
【0024】
図3Bは、自己紹介動画内の対象人物Aの身体特徴量を表す。フレーム1、2、…、m毎に対象人物Aは検出又は未検出となる。対象人物Aが検出されたフレーム分だけ身体特徴量が抽出される。図では、Aの身体特徴量をAB(1)、AB(2)、…、AB(l)で表す。
【0025】
図3Cは、試合動画内の人物X1、X2、X3、…の身体特徴量を表す。フレーム1、2、…、n毎に人物は検出又は未検出となる。人物が検出されたフレーム分だけ身体特徴量が抽出される。図では、X1の身体特徴量をX1B(1)、X1B(2)、…、X1B(q)で表す。X2の身体特徴量をX2B(1)、X2B(2)、…、X2B(s)で表す。X3の身体特徴量をX3B(1)、X3B(2)、…、X3B(t)で表す。人物X1、X2、X3、…それぞれの身体特徴量の数は、人物が検出されたフレームの数に応じて異なる。
【0026】
顔特徴抽出部57は、検出・トラッキング部54で検出されたフレーム毎の対象人物の顔が写った対象人物顔画像に基づいて、対象人物の顔特徴量を抽出して出力する。同様に、顔特徴抽出部57は、検出・トラッキング部54で検出されたフレーム毎の人物の顔が写った人物顔画像に基づいて、人物の顔特徴量を抽出して出力する。顔特徴抽出部57は、学習モデル部66内の学習モデルを用いることができ、例えば、CNN(Convolutional Neural Network:畳み込みニューラルネットワーク)などのニューラルネットワークを用いることができる。顔特徴抽出部57は、さらに、抽出した顔特徴量に対して一義的なベクトルを生成するベクトル化演算を行って顔特徴ベクトルを生成できる。顔特徴抽出は、CNNに限定されるものではなく、HOG(Histogram of Oriented Gradients)、SVM(Support Vector Machine)、YOLO(You Look Only Once)などのアルゴリズムを用いるものでもよい。
【0027】
図4は顔特徴量の抽出の一例を示す図である。
図4Aは、顔特徴抽出部57に対象人物顔画像及び人物顔画像が入力されると、対象人物の顔特徴量及び人物の顔特徴量が出力される。顔特徴量は、たとえば、512次元に圧縮された顔特徴データであるが、データの次元数は512に限定されるものでない。
【0028】
図4Bは、自己紹介動画内の対象人物Aの顔特徴量を表す。フレーム1、2、…、m毎に対象人物Aの顔は検出又は未検出となる。対象人物Aの顔が検出されたフレーム分だけ顔特徴量が抽出される。図では、Aの顔特徴量をAF(1)、AF(2)、…、AF(l′)で表す。
【0029】
図4Cは、試合動画内の人物X1、X2、X3、…の顔特徴量を表す。フレーム1、2、…、n毎に人物の顔は検出又は未検出となる。人物の顔が検出されたフレーム分だけ顔特徴量が抽出される。図では、X1の顔特徴量をX1F(1)、X1F(2)、…、X1F(q′)で表す。X2の顔特徴量をX2F(1)、X2F(2)、…、X2F(s′)で表す。X3の顔特徴量をX3F(1)、X3F(2)、…、XFB(t′)で表す。人物X1、X2、X3、…それぞれの顔特徴量の数は、顔が検出されたフレームの数に応じて異なる。
【0030】
背番号認識部58は、検出・トラッキング部54で検出されたフレーム毎の対象人物のユニホームの背番号が写った対象人物背番号画像に基づいて、対象人物の背番号を認識して出力する。同様に、背番号認識部58は、検出・トラッキング部54で検出されたフレーム毎の人物のユニホームが写った人物背番号画像に基づいて、人物の背番号を認識して出力する。背番号認識部58は、OCR(Optical Character Recognition)を備える。背番号認識部58は、さらに、抽出(認識)した背番号に対して一義的なベクトルを生成するベクトル化演算を行って背番号特徴ベクトルを生成できる。
【0031】
図5は背番号の認識の一例を示す図である。
図5Aは、背番号認識部58に対象人物背番号画像及び人物背番号画像が入力されると、対象人物の背番号及び人物の背番号が出力される。
【0032】
図5Bは、自己紹介動画内の対象人物Aの背番号を表す。フレーム1、2、…、m毎に対象人物Aの背番号は検出又は未検出となる。対象人物Aの背番号が検出されたフレーム分だけ背番号が抽出される。図では、Aの背番号をAT(1)、AT(2)、…、AT(l′′)で表す。
【0033】
図5Cは、試合動画内の人物X1、X2、X3、…の背番号を表す。フレーム1、2、…、n毎に各人物の背番号は検出又は未検出となる。人物の背番号が検出されたフレーム分だけ背番号が抽出される。図では、X1の背番号をX1T(1)、X1T(2)、…、X1T(q′′)で表す。X2の背番号をX2T(1)、X2T(2)、…、X2T(s′′)で表す。X3の背番号をX3T(1)、X3T(2)、…、X3T(t′′)で表す。人物X1、X2、X3、…それぞれの背番号の数は、背番号が検出されたフレームの数に応じて異なる。また、OCRによる数字認識であるため、数字を誤認識する可能性もあるため、例えば、同じ人物について認識した背番号が異なる場合もある。
【0034】
画像特徴抽出部59は、自己紹介動画及び試合動画それぞれの動画特徴量を抽出する。また、画像特徴抽出部59は、自己紹介動画に基づいて検出された対象人物が写った対象人物画像、対象人物の顔が写った対象人物顔画像の画像特徴量を抽出するとともに、試合動画に基づいて検出された人物が写った人物画像、人物の顔が写った人物顔画像の画像特徴量を抽出する。動画特徴量と画像特徴量をまとめて画像特徴量とも称する。
【0035】
図6は画像特徴量の抽出の一例を示す図である。
図6Aに示すように、画像特徴抽出部59は、自己紹介動画及び試合動画に基づいて、自己紹介動画の動画特徴量、試合動画の動画特徴量、両動画のコントラスト比を出力する。動画特徴量は、動画自体の特徴を表すことができる指標であればよく、例えば、動画(映像)の輝度値の最大値、平均値、中央値、分散、4分位範囲などであってもよい。コントラストは、両動画の最大輝度値の差分である。動画特徴量は、自己紹介動画及び試合動画それぞれに対して1つの値を抽出することができる。
【0036】
図6Bに示すように、画像特徴抽出部59は、フレーム毎に特定される対象人物画像、人物画像、対象人物顔画像、及び人物顔画像それぞれの画像特徴量を出力する。画像特徴量は、例えば、各画像の画角でもよく、人物又は顔のサイズでもよい。例えば、試合動画に写っている人物は、近くにいれば人物や顔のサイズは大きくなり、身体特徴量や顔特徴量は精度よく抽出できる傾向がある。一方、試合動画に写っている人物が、遠くにいれば人物や顔のサイズは小さくなり、身体特徴量や顔特徴量は精度よく抽出できない傾向がある。画角は、例えば、端末装置10から動画をアップロードする際にカメラ情報も一緒に取得し、カメラ情報から求めることができる。また画角は、動画のサイズと画像内の人物又は顔のサイズの相対的な大小関係により求めてもよい。
【0037】
具体的には、画像特徴抽出部59は、対象人物Aの対象人物画像及び対象人物顔画像それぞれで抽出された画像特徴量(画角、サイズなど)の統計値(例えば、平均値、中央値、最頻値、最大値または最小値など)を出力するとともに、各人物X1、X2、…それぞれの人物画像及び人物顔画像それぞれで抽出された画像特徴量(画角、サイズなど)の統計値を出力することができる。画像特徴量を考慮することにより、抽出される身体特徴量や顔特徴量の確度(あるいは重み付け)を考慮できる。なお、画像特徴量を付帯情報(例えば、特徴量の重み付け係数)として身体特徴ベクトルや顔特徴ベクトルに組み込んでもよい。
【0038】
類似度算出部60は、算出部としての機能を有し、検出した対象人物と各人物との類似度を算出する。具体的には、類似度算出部60は、検出した対象人物と各人物との身体類似度及び顔類似度を算出する。
【0039】
図7は身体類似度の算出の一例を示す図である。類似度算出部60は、身体特徴抽出部56が抽出した身体特徴量である、対象人物Aの身体特徴ベクトル{AB(1)、AB(2)、…}と、人物X1の身体特徴ベクトル{X1B(1)、X1B(2)、…}、人物X2の身体特徴ベクトル{X2B(1)、X2B(2)、…}、人物X3の身体特徴ベクトル{X3B(1)、X3B(2)、…}、…それぞれとの類似度を算出して、対象人物Aと人物X1との身体類似度、対象人物Aと人物X2との身体類似度、対象人物Aと人物X3との身体類似度、…を算出する。類似度の算出は、例えば、コサイン類似度を用いればよい。なお、類似度の算出は、コサイン類似度に限定されるものではなく、ユークリッド距離などを用いてもよい。なお、図示していないが、自己紹介動画に対象人物A以外に他の対象人物(例えば、対象人物B、Cなど)が写っている場合には、類似度算出部60は、対象人物Aの場合と同様に、対象人物Bと人物X1との身体類似度、対象人物Bと人物X2との身体類似度、対象人物Bと人物X3との身体類似度、…を算出する。
【0040】
図8は顔類似度の算出の一例を示す図である。類似度算出部60は、顔特徴抽出部57が抽出した顔特徴量である、対象人物Aの顔特徴ベクトル{AF(1)、AF(2)、…}と、人物X1の顔特徴ベクトル{X1F(1)、X1F(2)、…}、人物X2の顔特徴ベクトル{X2F(1)、X2F(2)、…}、人物X3の顔特徴ベクトル{X3F(1)、X3F(2)、…}、…それぞれとの類似度を算出して、対象人物Aと人物X1との顔類似度、対象人物Aと人物X2との顔類似度、対象人物Aと人物X3との顔類似度、…を算出する。類似度の算出は、例えば、コサイン類似度を用いればよい。なお、類似度の算出は、コサイン類似度に限定されるものではなく、ユークリッド距離などを用いてもよい。なお、図示していないが、自己紹介動画に対象人物A以外に他の対象人物(例えば、対象人物B、Cなど)が写っている場合には、類似度算出部60は、対象人物Aの場合と同様に、対象人物Bと人物X1との顔類似度、対象人物Bと人物X2との顔類似度、対象人物Bと人物X3との顔類似度、…を算出する。
【0041】
一致度算出部61は、検出した対象人物の背番号と各人物の背番号との一致度を算出する。本実施形態では、一致度は、一致する(例えば、「1」、「True」)か、一致しない(「0」、「False」)かの別を表すが、これに限定されるものではなく、例えば、0%~100%の間の数値で一致度合いを表してもよい。
【0042】
図9は一致度算出の一例を示す図である。
図9Aに示すように、一致度算出部61は、対象人物Aの背番号ベクトル{AT(1)、AT(2)、…}と、人物X1の背番号ベクトル{X1T(1)、X1T(2)、…}、人物X2の背番号ベクトル{X2T(1)、X2T(2)、…}、人物X3の背番号ベクトル{X3T(1)、X3T(2)、…}、…それぞれとの一致度を算出して、対象人物Aと人物X1との背番号の一致度、対象人物Aと人物X2との背番号の一致度、対象人物Aと人物X3との背番号の一致度、…を算出する。
【0043】
具体的には、
図9Bに示すように、対象人物Aの背番号ベクトルを{5、5、5、6、5、5、3}とする。対象人物Aの背番号ベクトルは、対象人物Aの背番号を認識できたフレームが全部で7フレームあり、認識した背番号は、順番に5、5、5、6、5、5、3であることを示す。対象人物Aの背番号を「5」とすると、「6」、「3」は誤認識を表す。この場合、対象人物Aの背番号最頻値は5回認識された「5」である。一方、対象人物X1の背番号ベクトルを{5、5、2、5、3}とする。人物X1の背番号ベクトルは、人物X1の背番号を認識できたフレームが全部で5フレームあり、認識した背番号は、順番に5、5、2、5、3であることを示す。この場合、人物X1の背番号最頻値は3回認識された「5」である。対象人物Aの背番号最頻値と人物X1の背番号最頻値はいずれも「5」で一致するので、対象人物Aの背番号と人物X1の背番号は一致すると判定できる。
【0044】
また、
図9Cに示すように、対象人物Aの背番号ベクトルを{5、5、5、6、5、5、3}とする。この場合、対象人物Aの背番号最頻値は5回認識された「5」である。一方、対象人物X2の背番号ベクトルを{8、8、7、3}とする。人物X2の背番号ベクトルは、人物X2の背番号を認識できたフレームが全部で4フレームあり、認識した背番号は、順番に8、8、7、3であることを示す。この場合、人物X2の背番号最頻値は2回認識された「8」である。対象人物Aの背番号最頻値と人物X2の背番号最頻値は一致しないので、対象人物Aの背番号と人物X2の背番号は一致しないと判定できる。
【0045】
マッチング部62は、特定部としての機能を有し、類似度算出部60で算出した類似度に基づいて、各人物の中から対象人物を特定する。具体的には、マッチング部62は、身体類似度、顔類似度、及び背番号一致度の少なくとも1つに基づいて、試合動画内の各人物の中から対象人物を特定する。マッチング部62は、さらに画像特徴量(動画・画像特徴量)に基づいて、試合動画内の各人物の中から対象人物を特定してもよい。画像特徴量(動画・画像特徴量)は必須ではない。
【0046】
図10はマッチング処理の一例を示す図である。マッチング部62は、学習モデル部66内の学習モデルを用いることができ、例えば、XGBoost、決定木、ランダムフォレストなどの分類アルゴリズムを用いることができる。マッチング部62に入力される入力データを、便宜上、縦(下)方向にサンプル、横(右)方向にデータの属性(類似度など)で構成されるデータ構造として表す。サンプルは、例えば、対象人物Aと人物X1のデータ、対象人物Aと人物X2のデータ、…、対象人物Bと人物X1のデータ、対象人物Bと人物X2のデータ、…、対象人物Cと人物X1のデータ、対象人物Cと人物X2のデータ、…である。対象人物A、B、C、…は自己紹介画像に写っている対象人物であり、人物X1、X2、X3、…は、試合画像に写っている各人物である。入力データの属性は、類似度算出部60で算出した身体類似度及び顔類似度、一致度算出部61で算出した背番号一致度、画像特徴抽出部59で抽出した動画・画像特徴量を含む。マッチング部62に入力される入力データの属性は、身体類似度、顔類似度及び背番号一致度の少なくとも1つでもよく、身体類似度、顔類似度及び背番号一致度の全てを含んでもよい。また、マッチング部62に入力される入力データの属性に、動画・画像特徴量を含めてもよい。
【0047】
マッチング部62は、対象人物と各人物との間のマッチング結果を出力する。具体的には、
図10に示すように、対象人物A、B、C、…毎に、人物X1、X2、X3、X4、X5、X6、…とのマッチング度(例えば、0%~100%の範囲内の数値)を出力する。人物X1、X2、X3、X4、X5、X6、…とのマッチング度のうち、マッチング度が最も大きい人物が対象人物であると特定できる。
図10の例では、人物X5が対象人物Aであると特定され、人物X2が対象人物Bであると特定され、人物X4が対象人物Cであると特定されている。
【0048】
上述のように、身体特徴(身体類似度)だけでなく、顔特徴(顔類似度)及び背番号(背番号一致度)の少なくとも一つを含む特徴を抽出することにより、多数の人物が写っている動画の中から特定の個人(対象人物)を容易に特定することができる。特に、多数の人物で密集するような場面が多い動画であっても、対象人物が写っているフレームを逃すことなく抽出できる。また、動画・画像特徴量を抽出することにより、撮影デバイス(端末装置10)や天候、撮影環境などの影響も考慮して対象人物を特定することができ、精度よく所要の個人を特定できる。また、スマートフォンなどの端末装置10で動画を撮ってアップロードするだけで、複数の人物が撮影された動画から所要の個人だけが写った動画を得ることができる。
【0049】
図11はマッチング部62(学習モデル)の生成方法の一例を示す図である。学習用の入力データは、対象人物と試合動画(切り抜き対象動画)内の人物との間のデータであり、データの属性は、例えば、身体類似度、顔類似度、背番号一致度、動画・画像特徴量を含む。教師データは、学習用の入力データを学習モデルに入力した場合に、学習モデルが出力する出力データの真値y′である。学習モデルの学習は、学習用の入力データを学習モデルに入力した場合に、学習モデルが出力する出力データ(予測値y)が教師データy′に近づくように、学習モデルのパラメータを調整する。
【0050】
制御部51は、試合動画(第1動画)に含まれる各人物と自己紹介動画(第2動画)に含まれる対象人物との身体類似度、顔類似度、及び対象人物の背番号と各人物の背番号との一致度並びに対象人物と各人物との間のマッチング結果を含む訓練データを取得し、取得した訓練データに基づいて、対象人物と各人物との身体類似度、顔類似度、及び対象人物の背番号と各人物の背番号との一致度を入力した場合に、対象人物と各人物との間のマッチング結果を出力するように学習モデル(マッチング部62)を生成できる。
【0051】
制御部51は、試合動画及び自己紹介動画それぞれの動画特徴量をさらに入力した場合に、対象人物と各人物との間のマッチング結果を出力するように学習モデルを生成できる。また、制御部51は、対象人物画像及び人物画像それぞれの画像特徴量をさらに入力した場合に、対象人物と各人物との間のマッチング結果を出力するように学習モデルを生成してもよく、あるいは、対象人物顔画像及び人物顔画像それぞれの画像特徴量をさらに入力した場合に、対象人物と各人物との間のマッチング結果を出力するように学習モデルを生成してもよい。
【0052】
動画生成部63は、マッチング部62で特定した対象人物を含むフレーム画像を試合動画から抽出して対象人物の動画を生成する。
【0053】
図12は対象人物の動画の生成の一例を示す図である。自己紹介動画内の対象人物Aが試合動画内の人物X5であるとすると、動画生成部63は、試合動画の中から人物X5が写っているフレームを特定し、特定したフレームを繋げることによりAさんの動画を生成することができる。なお、動画を魅力的にするため各種のエフェクトを使用してもよい。同様に、自己紹介動画内の対象人物Bが試合動画内の人物X2であるとすると、動画生成部63は、試合動画の中から人物X2が写っているフレームを特定し、特定したフレームを繋げることによりBさんの動画を生成することができる。他の対象人物についても同様である。
【0054】
図13は画像処理装置50による処理の手順の一例を示す図である。以下では便宜上、処理の主体を制御部51として説明する。制御部51は、試合動画を端末装置10から取得し(S11)、自己紹介動画を端末装置10から取得する(S12)。制御部51は、自己紹介動画内の対象人物を検出・トラッキングする(S13)。
【0055】
制御部51は、自己紹介動画のフレーム毎に対象人物の身体特徴量、顔特徴量を抽出し、対象人物の背番号を認識する(S14)。なお、身体特徴量、顔特徴量を抽出できないフレーム、背番号を認識できないフレームが存在する場合がある。制御部51は、自己紹介動画の動画・画像特徴量を抽出する(S15)。ここで、動画特徴量は、例えば、輝度(明るさ)を含む。画像特徴量は、画角、対象人物のサイズを含む。
【0056】
制御部51は、対象人物の身体特徴量、顔特徴量、背番号、動画・画像特徴量を記憶部64に記憶する(S16)。
【0057】
制御部51は、試合動画内の各人物を検出・トラッキングする(S17)。制御部51は、試合動画のフレーム毎に各人物の身体特徴量、顔特徴量を抽出し、各人物の背番号を認識する(S18)。なお、身体特徴量、顔特徴量を抽出できないフレーム、背番号を認識できないフレームが存在する場合がある。制御部51は、試合動画の動画・画像特徴量を抽出する(S19)。ここで、動画特徴量は、例えば、輝度(明るさ)、両動画のコントラスを含む。画像特徴量は、画角、各人物のサイズを含む。
【0058】
制御部51は、各人物の身体特徴量、顔特徴量、背番号、動画・画像特徴量を記憶部64に記憶する(S20)。
【0059】
制御部51は、対象人物と各人物との間の身体類似度、顔類似度、背番号一致度(背番号最頻値一致)を算出し(S21)、対象人物と各人物とのマッチング処理を行う(S22)。制御部51は、マッチング結果に基づいて試合動画内の各人物から対象人物を特定し(S23)、特定した対象人物の動画を生成し(S24)、処理を終了する。
【0060】
図14は学習モデル(マッチング部62)の生成方法の一例を示す図である。制御部51は、対象人物と被特定人物(試合動画内の各人物)との間の身体類似度、顔類似度、背番号一致度、動画・画像特徴量、及び対象人物と被特定人物とのマッチング度(マッチング結果)を含む訓練データを取得する(S31)。
【0061】
制御部51は、取得した訓練データに基づいて、対象人物と被特定人物との間の身体類似度、顔類似度、背番号一致度、動画・画像特徴量を入力した場合に、対象人物と被特定人物とのマッチング度(マッチング結果)を出力するように学習モデルを生成する(S32)。制御部51は、生成した学習モデルを記憶部64に記憶し(S33)、処理を終了する。
【0062】
上述の実施形態では、多数の人物(群衆)が撮影された動画として試合動画を例に挙げて説明した。試合動画は、多数の人物が競技するスポーツであれば、サッカー、ラグビー、アメリカンフットボール、バレーボール、バスケットボール、アイスホッケーなど、どのようなスポーツであってもよい。また、群衆が撮影された動画は試合動画に限定されるものではない。例えば、イベントに参加する多数の人物を撮影した動画、不特定多数の人物を監視するために撮影した動画など、種々の動画を含む。
【0063】
上述の実施形態において、対象人物(特定の個人)が写っている動画を作成する際に、作成された動画に写り込むことを希望しない人物に対しては、予めその旨を設定しておき、作成した動画に当該人物が写っている場合には、当該人物の顔や体にモザイクをかけるようにしてもよい。
【0064】
上述の実施形態では、端末装置10からアップロードされた動画(試合動画及び自己紹介動画)を、画像処理装置50で処理して、対象人物が写っている動画を生成して端末装置10に配信する構成であるが、これに限定されるものではなく、画像処理装置50の処理機能を端末装置10側に設けるようにして、端末装置10だけで対象人物が写っている動画を生成するようにしてもよい。
【0065】
(付記1)本実施形態のコンピュータプログラムは、コンピュータに、スポーツをする複数の人物を撮影した第1動画を取得し、対象人物を撮影した第2動画を取得し、取得した第1動画内の各人物、及び取得した第2動画内の対象人物を検出し、検出した対象人物と各人物との類似度を算出し、算出した類似度に基づいて、各人物の中から対象人物を特定する、処理を実行させる。
【0066】
(付記2)本実施形態のコンピュータプログラムは、付記1のコンピュータプログラムにおいて、コンピュータに、検出した対象人物と各人物との身体類似度を算出し、算出した身体類似度に基づいて、各人物の中から対象人物を特定する、処理を実行させる。
【0067】
(付記3)本実施形態のコンピュータプログラムは、付記1又は付記2のコンピュータプログラムにおいて、コンピュータに、検出した対象人物と各人物との顔類似度を算出し、算出した顔類似度に基づいて、各人物の中から対象人物を特定する、処理を実行させる。
【0068】
(付記4)本実施形態のコンピュータプログラムは、付記1から付記3のいずれか一つのコンピュータプログラムにおいて、コンピュータに、検出した対象人物の背番号と各人物の背番号との一致度を算出し、算出した一致度に基づいて、各人物の中から対象人物を特定する、処理を実行させる。
【0069】
(付記5)本実施形態のコンピュータプログラムは、付記1のコンピュータプログラムにおいて、コンピュータに、検出した対象人物と各人物との身体類似度及び顔類似度を算出し、検出した対象人物の背番号と各人物の背番号との一致度を算出し、算出した身体類似度、顔類似度及び背番号の一致度に基づいて、各人物の中から対象人物を特定する、処理を実行させる。
【0070】
(付記6)本実施形態のコンピュータプログラムは、付記1から付記5のいずれか一つのコンピュータプログラムにおいて、コンピュータに、対象人物と各人物との身体類似度、顔類似度、及び前記対象人物の背番号と前記各人物の背番号との一致度を入力した場合に、前記対象人物と各人物との間のマッチング結果を出力する学習モデルに、検出した対象人物と各人物との身体類似度、顔類似度及び前記対象人物の背番号と前記各人物の背番号との一致度を入力して、対象人物と各人物との間のマッチング結果を取得し、取得したマッチング結果に基づいて各人物の中から対象人物を特定する、処理を実行させる。
【0071】
(付記7)本実施形態のコンピュータプログラムは、付記1から付記6のいずれか一つのコンピュータプログラムにおいて、コンピュータに、取得した第1動画及び第2動画それぞれの動画特徴量を抽出し、第1動画及び第2動画それぞれの動画特徴量をさらに入力した場合に、対象人物と各人物との間のマッチング結果を出力する前記学習モデルに、抽出した動画特徴量を入力して、対象人物と各人物との間のマッチング結果を取得する、処理を実行させる。
【0072】
(付記8)本実施形態のコンピュータプログラムは、付記7のコンピュータプログラムにおいて、前記動画特徴量は、明るさ及びコントラストの少なくとも一つを含む。
【0073】
(付記9)本実施形態のコンピュータプログラムは、付記1から付記8のいずれか一つのコンピュータプログラムにおいて、コンピュータに、検出した対象人物を含む対象人物画像及び各人物を含む人物画像それぞれの画像特徴量を抽出し、対象人物画像及び人物画像それぞれの画像特徴量をさらに入力した場合に、対象人物と各人物との間のマッチング結果を出力する前記学習モデルに、抽出した画像特徴量を入力して、対象人物と各人物との間のマッチング結果を取得する、処理を実行させる。
【0074】
(付記10)本実施形態のコンピュータプログラムは、付記9のコンピュータプログラムにおいて、前記画像特徴量は、画角、対象人物のサイズ及び各人物のサイズの少なくとも一つを含む。
【0075】
(付記11)本実施形態のコンピュータプログラムは、付記1から付記10のいずれか一つのコンピュータプログラムにおいて、コンピュータに、特定した対象人物を含むフレーム画像を前記第1動画から抽出して対象人物の動画を生成する、処理を実行させる。
【0076】
(付記12)本実施形態の画像処理装置は、スポーツをする複数の人物を撮影した第1動画を取得する第1取得部と、対象人物を撮影した第2動画を取得する第2取得部と、取得した第1動画内の各人物、及び取得した第2動画内の対象人物を検出する検出部と、検出した対象人物と各人物との類似度を算出する算出部と、算出した類似度に基づいて、各人物の中から対象人物を特定する特定部とを備える。
【0077】
(付記13)本実施形態の画像処理方法は、スポーツをする複数の人物を撮影した第1動画を取得し、対象人物を撮影した第2動画を取得し、取得した第1動画内の各人物、及び取得した第2動画内の対象人物を検出し、検出した対象人物と各人物との類似度を算出し、算出した類似度に基づいて、各人物の中から対象人物を特定する。
【0078】
(付記14)本実施形態の学習モデル生成方法は、スポーツをする複数の人物を撮影した第1動画に含まれる各人物と第2動画に含まれる対象人物との身体類似度、顔類似度、及び前記対象人物の背番号と前記各人物の背番号との一致度並びに前記対象人物と各人物との間のマッチング結果を含む訓練データを取得し、取得した訓練データに基づいて、対象人物と各人物との身体類似度、顔類似度、及び前記対象人物の背番号と前記各人物の背番号との一致度を入力した場合に、前記対象人物と各人物との間のマッチング結果を出力するように学習モデルを生成する。
【0079】
各実施形態に記載した事項は相互に組み合わせることが可能である。また、特許請求の範囲に記載した独立請求項及び従属請求項は、引用形式に関わらず全てのあらゆる組み合わせにおいて、相互に組み合わせることが可能である。さらに、特許請求の範囲には他の2以上のクレームを引用するクレームを記載する形式(マルチクレーム形式)を用いているが、これに限るものではない。マルチクレームを少なくとも一つ引用するマルチクレーム(マルチマルチクレーム)を記載する形式を用いて記載してもよい。
【符号の説明】
【0080】
1 通信ネットワーク
10 端末装置
50 画像処理装置
51 制御部
52 通信部
53 メモリ
54 検出・トラッキング部
55 特徴抽出部
56 身体特徴抽出部
57 顔特徴抽出部
58 背番号認識部
59 画像特徴抽出部
60 類似度算出部
61 一致度算出部
62 マッチング部
63 動画生成部
64 記憶部
65 コンピュータプログラム
66 学習モデル部
67 記録媒体読取部
68 記録媒体