(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-05
(45)【発行日】2024-04-15
(54)【発明の名称】ダンス断片認識方法、ダンス断片認識装置及び記憶媒体
(51)【国際特許分類】
G06T 7/20 20170101AFI20240408BHJP
G06N 3/045 20230101ALI20240408BHJP
G06N 3/084 20230101ALI20240408BHJP
G06T 7/00 20170101ALI20240408BHJP
G06V 10/82 20220101ALI20240408BHJP
H04N 5/93 20060101ALI20240408BHJP
【FI】
G06T7/20 300Z
G06N3/045
G06N3/084
G06T7/00 350C
G06V10/82
H04N5/93
(21)【出願番号】P 2023512778
(86)(22)【出願日】2021-09-28
(86)【国際出願番号】 CN2021121346
(87)【国際公開番号】W WO2022068823
(87)【国際公開日】2022-04-07
【審査請求日】2023-02-21
(31)【優先権主張番号】202011052113.8
(32)【優先日】2020-09-29
(33)【優先権主張国・地域又は機関】CN
【早期審査対象出願】
(73)【特許権者】
【識別番号】520016251
【氏名又は名称】新▲東▼方教育科技集▲団▼有限公司
(74)【代理人】
【識別番号】110000291
【氏名又は名称】弁理士法人コスモス国際特許商標事務所
(72)【発明者】
【氏名】周 黙
(72)【発明者】
【氏名】楊 翕▲ウェン▼
(72)【発明者】
【氏名】瞿 ▲ウェイ▼
(72)【発明者】
【氏名】王 麟銘
(72)【発明者】
【氏名】張 鵬▲シェン▼
(72)【発明者】
【氏名】同 亜龍
【審査官】鈴木 順三
(56)【参考文献】
【文献】特開2019-198074(JP,A)
【文献】米国特許出願公開第2016/0275355(US,A1)
【文献】国際公開第2019/124069(WO,A1)
【文献】特開2010-154342(JP,A)
【文献】特開2005-328329(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 5/76 - 5/956
G06T 7/00 - 7/90
G06V 10/00 - 20/90
G06N 3/00 - 99/00
(57)【特許請求の範囲】
【請求項1】
ダンス断片認識方法であって、
ビデオ断片におけるオーディオ断片を抽出することと、
前記オーディオ断片
の時間長が所定の時間長以上の音楽断片を含むことに応答して、前記ビデオ断片に含まれる前記音楽断片に対応するビデオサブ断片を候補ダンス断片とすることと、
前記候補ダンス断片のマルチフレーム画像のうちダンス動作を有する画像のフレーム数が第1の所定の閾値よりも大きいことに応答して、前記候補ダンス断片をダンス断片と判定することとを含む、ダンス断片認識方法。
【請求項2】
前記マルチフレーム画像のうちの少なくとも一部のフレームの画像における骨格情報を抽出することと、
前記少なくとも一部のフレームの画像における骨格情報に基づいて、前記少なくとも一部のフレームの画像のうちダンス動作を有する画像のフレーム数を取得することとをさらに含む、請求項1に記載のダンス断片認識方法。
【請求項3】
前記少なくとも一部のフレームの画像における骨格情報に基づいて、前記少なくとも一部のフレームの画像のうちダンス動作を有する画像のフレーム数を取得することは、
前記少なくとも一部のフレームの画像のうちの隣接する2フレームの画像の腿部骨格の変化幅が所定の変動閾値を超えることに応答して、前記隣接する2フレームの画像のうちの少なくとも1フレームをダンス動作を有する画像と判定することを含む、請求項2に記載のダンス断片認識方法。
【請求項4】
前記マルチフレーム画像のうちの少なくとも一部のフレームの画像のうち、立っている人体を含む画像のフレーム数を取得することと、
前記少なくとも一部のフレームの画像のうち、立っている人体を含む画像のフレーム数を前記少なくとも一部のフレームの画像のうちダンス動作を有する画像のフレーム数とすることとをさらに含む、請求項1~3のいずれか1項に記載のダンス断片認識方法。
【請求項5】
前記マルチフレーム画像の各フレームの画像は、情報ディスプレイ領域と、対象ビデオディスプレイ領域とを含み、
前記の、前記マルチフレーム画像のうちダンス動作を有する画像のフレーム数が前記第1の所定の閾値よりも大きいことに応答して、前記候補ダンス断片をダンス断片と判定することは、
前記マルチフレーム画像のうち、ダンス画像のディスプレイされた情報ディスプレイ領域を含む画像のフレーム数が前記第1の所定の閾値よりも大きいことに応答して、前記候補ダンス断片をダンス断片と判定することを含む、請求項1~4のいずれか1項に記載のダンス断片認識方法。
【請求項6】
前記マルチフレーム画像のうちの一部のフレームの画像のうちダンス動作を有する画像のフレーム数が前記第1の所定の閾値よりも大きいことに応答して、前記候補ダンス断片の検出を停止することをさらに含む、請求項1~4のいずれか1項に記載のダンス断片認識方法。
【請求項7】
前記オーディオ断片を複数のオーディオサブ断片に分割することと、
前記複数のオーディオサブ断片のうち順に接続された第1数のオーディオサブ断片がいずれも音楽サブ断片と判定されたことに応答して、前記順に接続される第1数のオーディオサブ断片の組み合わせを前記音楽断片の少なくとも一部と判定することとをさらに含み、
なお、前記第1数は、3以上の整数である、請求項1~4のいずれか1項に記載のダンス断片認識方法。
【請求項8】
第1音楽認識モデルを使用して、前記複数のオーディオサブ断片のうちの少なくとも一部のオーディオサブ断片の各オーディオサブ断片の第1特徴ベクトルを抽出することと、
前記複数のオーディオサブ断片のうちの少なくとも一部のオーディオサブ断片の各オーディオサブ断片を第2数のオーディオ子サブ断片に分割し、且つ第2音楽認識モデルを使用して前記第2数のオーディオ子サブ断片の各々の第2特徴ベクトルを抽出することと、
同じオーディオサブ断片に対応する前記第1特徴ベクトルを前記第2数の第2特徴ベクトルにコンキャティネイトして、前記同じオーディオサブ断片に対応するコンキャティネイト後の特徴ベクトルを取得することと、
前記同じオーディオサブ断片に対応する前記コンキャティネイト後の特徴ベクトルを第3音楽認識モデルに提供して、前記第3音楽認識モデルを使用して前記同じオーディオサブ断片が音楽サブ断片であるか否かを判定することとをさらに含む、請求項7に記載のダンス断片認識方法。
【請求項9】
前記第1音楽認識モデルは、第1ニューラルネットワークであり、且つ前記第1特徴ベクトルを出力するように構成されており、
前記第2音楽認識モデルは、第2ニューラルネットワークであり、且つ前記第2特徴ベクトルを出力するように構成されており、
前記第3音楽認識モデルは、前記コンキャティネイト後の特徴ベクトルを受信するように構成されている、請求項8に記載のダンス断片認識方法。
【請求項10】
前記第2特徴ベクトルの次元と前記第2数との積は、前記第1特徴ベクトルの次元に等しく、
前記コンキャティネイト後の特徴ベクトルの次元は、前記第1特徴ベクトルの次元の2倍に等しい、請求項8又は9に記載のダンス断片認識方法。
【請求項11】
第1組のオーディオ断片を使用して第1ニューラルネットワークをトレーニングし、且つトレーニング後の前記第1ニューラルネットワークを前記第1音楽認識モデルとすることと、
第2組のオーディオ断片を使用して第2ニューラルネットワークをトレーニングし、且つトレーニング後の前記第2ニューラルネットワークを前記第2音楽認識モデルとすることと、
第3組のオーディオ断片、前記第1音楽認識モデル及び前記第2音楽認識モデルに基づいて第3ニューラルネットワークをトレーニングし、且つトレーニング後の前記第3ニューラルネットワークを前記第3音楽認識モデルとすることとを含み、
なお、前記第1組のオーディオ断片及び前記第3組のオーディオ断片における各オーディオ断片の時間長は、いずれも第1時間長であり、前記第2組のオーディオ断片における各オーディオ断片の時間長は、第2時間長であり、前記第2時間長は、前記第1時間長よりも小さい、請求項8~10のいずれか1項に記載のダンス断片認識方法。
【請求項12】
前記第3組のオーディオ断片、前記第1音楽認識モデル及び前記第2音楽認識モデルに基づいて前記第3ニューラルネットワークをトレーニングすることは、
前記第1音楽認識モデルに基づいて前記第3組のオーディオ断片における各オーディオ断片の第1トレーニング特徴ベクトルを抽出することと、
前記第3組のオーディオ断片における各オーディオ断片を所定数のオーディオサブ断片に分割することと、
前記第2音楽認識モデルに基づいて前記所定数のオーディオサブ断片の各々の第2トレーニング特徴ベクトルを抽出することと、
前記第1トレーニング特徴ベクトルを前記第2トレーニング特徴ベクトルにコンキャティネイトして、コンキャティネイト後のトレーニング特徴ベクトルを取得することと、
前記コンキャティネイト後のトレーニング特徴ベクトルを前記第3ニューラルネットワークに提供し、且つ前記第3ニューラルネットワークの出力値に基づいて、前記第3ニューラルネットワークのパラメータを調整して損失関数を最小化させることとを含む、請求項11に記載のダンス断片認識方法。
【請求項13】
前記コンキャティネイト後のトレーニング特徴ベクトルを前記第3ニューラルネットワークに提供し、且つ前記第3ニューラルネットワークの出力値に基づいて、前記第3ニューラルネットワークのパラメータを調整して損失関数を最小化させることは、
前記コンキャティネイト後のトレーニング特徴ベクトルを前記第3ニューラルネットワークに提供することと、
前記第3ニューラルネットワークの出力値に基づいて、前記第3ニューラルネットワークのパラメータを調整して前記損失関数を最小化させることとを含む、請求項12に記載のダンス断片認識方法。
【請求項14】
オーディオ正サンプル及びオーディオ負サンプルを取得することと、
前記オーディオ正サンプルはミュージッククリップとしてマークされたサンプルで、前記オーディオ負サンプルは非ミュージッククリップとしてマークされたサンプルであり、
前記オーディオ正サンプルの少なくとも一部及び前記オーディオ負サンプルの少なくとも一部に基づいて、前記第1組のオーディオ断片、前記第2組のオーディオ断片及び前記第3組のオーディオ断片を構築することとをさらに含む、
請求項11に記載のダンス断片認識方法。
【請求項15】
前記オーディオ正サンプル及び前記オーディオ負サンプルを取得することは、
第4音楽認識モデルを使用して複数のサンプルオーディオ断片から候補正サンプル及び候補負サンプルを探すことと、
前記候補正サンプルの少なくとも一部をオーディオ正サンプルの少なくとも一部とし、前記候補負サンプルの少なくとも一部をオーディオ負サンプルの少なくとも一部とすることとを含む、請求項14に記載のダンス断片認識方法。
【請求項16】
前
記オーディオ正サンプル及び
前記オーディオ負サンプルを取得することは、
手動でキャリブレーションされた正サンプル及び負サンプルをそれぞれ前記取得したオーディオ正サンプルの少なくとも一部及び前記オーディオ負サンプルの少なくとも一部とすることをさらに含む、請求項15に記載のダンス断片認識方法。
【請求項17】
前
記オーディオ正サンプル及び
前記オーディオ負サンプルを取得することは、
電子雑音断片を前記オーディオ負サンプルの少なくとも一部とすることを含む、請求項14~16のいずれか1項に記載のダンス断片認識方法。
【請求項18】
コンピュータプログラム命令が記憶された記憶媒体であって、前記コンピュータプログラム命令がプロセッサにより実行されると、
ビデオ断片におけるオーディオ断片を抽出することと、
前記オーディオ断片
の時間長が所定の時間長以上の音楽断片を含むことに応答して、前記ビデオ断片に含まれる前記音楽断片に対応するビデオサブ断片を候補ダンス断片とすることと、
前記候補ダンス断片のマルチフレーム画像のうちダンス動作を有する画像のフレーム数が第1の所定の閾値よりも大きいことに応答して、前記候補ダンス断片をダンス断片と判定することとを含む方法をコンピュータに実行させる、記憶媒体。
【請求項19】
ダンス断片認識装置であって、
プロセッサとメモリとを含み、
なお、前記メモリには、前記プロセッサが実行するのに適するコンピュータプログラム命令が記憶されており、前記コンピュータプログラム命令が前記プロセッサにより実行されると、
ビデオ断片におけるオーディオ断片を抽出することと、
前記オーディオ断片
の時間長が所定の時間長以上の音楽断片を含むことに応答して、前記ビデオ断片に含まれる前記音楽断片に対応するビデオサブ断片を候補ダンス断片とすることと、
前記候補ダンス断片のマルチフレーム画像のうちダンス動作を有する画像のフレーム数が第1の所定の閾値よりも大きいことに応答して、前記候補ダンス断片をダンス断片と判定することとを含む方法を前記プロセッサに実行させる、ダンス断片認識装置。
【請求項20】
ダンス断片認識装置であって、
ビデオ断片におけるオーディオ断片を抽出するように構成されているオーディオ断片抽出モジュールと、
前記オーディオ断片
の時間長が所定の時間長以上の音楽断片を含むことに応答して、前記ビデオ断片に含まれる前記音楽断片に対応するビデオサブ断片を候補ダンス断片とするように構成されている候補ダンス断片判定モジュールと、
前記候補ダンス断片のマルチフレーム画像のうちダンス動作を有する画像のフレーム数が第1の所定の閾値よりも大きいことに応答して、前記候補ダンス断片をダンス断片と判定するように構成されているダンス断片判定モジュールとを含む、ダンス断片認識装置。
【発明の詳細な説明】
【技術分野】
【0001】
全ての目的のために、本願は、2020年9月29日に提出された、中国特許出願第202011052113.8号の優先権を主張し、上記中国特許出願に開示される全内容は援用によって本願の一部として組み込まれる。
【0002】
本開示の実施例は、ダンス断片認識方法、ダンス断片認識装置及び記憶媒体に関する。
【背景技術】
【0003】
現在、オンライン授業教学は、非常に一般的な教育方式となっており、児童オンライン授業では、先生は、よく学生たちを率いてレンズの前で音楽に合わせてダンスをし、授業中に学生たちを率いて体を動かしたり、教学のために使ったりしている。学生たちは、往々にして楽しんており、歓声を上げている。これらのビデオ断片(ダンス断片)は、児童が放つ活発な天性を体現しており、楽しみながら学ぶ理念を体現しているだけでなく、さらに前向きな感情に満ちているため、児童オンライン授業ビデオにおける学生が音楽とともにダンスする断片を見つけることは、重要な意義を持っている。例えば、上記学生が音楽とともにダンスする断片は、先生が学生を率いて踊る授業にすばらしい短いビデオダイジェストを提供することができるだけでなく、公式宣伝映画の素材として、授業を受ける学生の保護者に同期にプッシュすることができ、保護者たちに学生たちの楽しい授業を見せることができる。
【発明の概要】
【課題を解決するための手段】
【0004】
本開示の少なくとも1つの実施例は、ダンス断片認識方法を提供し、このダンス断片認識方法は、ビデオ断片におけるオーディオ断片を抽出することと、前記オーディオ断片が時間長が所定の時間長以上の音楽断片を含むことに応答して、前記ビデオ断片に含まれる前記音楽断片に対応するビデオサブ断片を候補ダンス断片とすることと、前記候補ダンス断片のマルチフレーム画像のうちダンス動作を有する画像のフレーム数が第1の所定の閾値よりも大きいことに応答して、前記候補ダンス断片をダンス断片と判定することとを含む。
【0005】
例えば、前記ダンス断片認識方法の少なくとも一例では、前記ダンス断片認識方法は、前記マルチフレーム画像のうちの少なくとも一部のフレームの画像における骨格情報を抽出することと、前記少なくとも一部のフレームの画像における骨格情報に基づいて、前記少なくとも一部のフレームの画像のうちダンス動作を有する画像のフレーム数を取得することとをさらに含む。
【0006】
例えば、前記ダンス断片認識方法の少なくとも一例では、前記の、前記少なくとも一部のフレームの画像における骨格情報に基づいて、前記少なくとも一部のフレームの画像のうちダンス動作を有する画像のフレーム数を取得することは、前記少なくとも一部のフレームの画像のうちの隣接する2フレームの画像の腿部骨格の変化幅が所定の変動閾値を超えることに応答して、前記隣接する2フレームの画像のうちの少なくとも1フレームをダンス動作を有する画像と判定することを含む。
【0007】
例えば、前記ダンス断片認識方法の少なくとも一例では、前記マルチフレーム画像のうちの少なくとも一部のフレームの画像における骨格情報に基づいて、前記少なくとも一部のフレームの画像のうち、立っている人体を含む画像のフレーム数を取得することと、前記少なくとも一部のフレームの画像のうち、立っている人体を含む画像のフレーム数を前記少なくとも一部のフレームの画像のうちダンス動作を有する画像のフレーム数とすることとをさらに含む。
【0008】
例えば、前記ダンス断片認識方法の少なくとも一例では、前記マルチフレーム画像の各フレームの画像は、情報ディスプレイ領域と、対象ビデオディスプレイ領域とを含む。前記の、前記マルチフレーム画像のうちダンス動作を有する画像のフレーム数が前記第1の所定の閾値よりも大きいことに応答して、前記候補ダンス断片をダンス断片と判定することは、前記マルチフレーム画像のうち、ダンス画像のディスプレイされた情報ディスプレイ領域を含む画像のフレーム数が前記第1の所定の閾値よりも大きいことに応答して、前記候補ダンス断片をダンス断片と判定することを含む。
【0009】
例えば、前記ダンス断片認識方法の少なくとも一例では、前記ダンス断片認識方法は、前記マルチフレーム画像のうちの一部のフレームの画像のうちダンス動作を有する画像のフレーム数が前記第1の所定の閾値よりも大きいことに応答して、前記候補ダンス断片に対応する検出を停止することをさらに含む。
【0010】
例えば、前記ダンス断片認識方法の少なくとも一例では、前記ダンス断片認識方法は、前記オーディオ断片を複数のオーディオサブ断片に分割することと、前記複数のオーディオサブ断片のうち順に接続された第1数のオーディオサブ断片がいずれも音楽サブ断片と判定されたことに応答して、前記順に接続される第1数のオーディオサブ断片の組み合わせを前記音楽断片の少なくとも一部と判定することとをさらに含む。前記第1数は、3以上の整数である。
【0011】
例えば、前記ダンス断片認識方法の少なくとも一例では、前記ダンス断片認識方法は、第1音楽認識モデルを使用して、前記複数のオーディオサブ断片のうちの少なくとも一部のオーディオサブ断片の各オーディオサブ断片の第1特徴ベクトルを抽出することと、前記複数のオーディオサブ断片のうちの少なくとも一部のオーディオサブ断片の各オーディオサブ断片を第2数のオーディオ子サブ断片に分割し、且つ第2音楽認識モデルを使用して前記第2数のオーディオ子サブ断片の各々の第2特徴ベクトルを抽出することと、同じオーディオサブ断片に対応する前記第1特徴ベクトルを前記第2数の第2特徴ベクトルにコンキャティネイトして、前記同じオーディオサブ断片に対応するコンキャティネイト後の特徴ベクトルを取得することと、前記同じオーディオサブ断片に対応する前記コンキャティネイト後の特徴ベクトルを第3音楽認識モデルに提供して、前記第3音楽認識モデルを使用して前記同じオーディオサブ断片が音楽サブ断片であるか否かを判定することとをさらに含む。
【0012】
例えば、前記ダンス断片認識方法の少なくとも一例では、前記第1音楽認識モデルは、第1ニューラルネットワークであり、且つ前記第1特徴ベクトルを出力するように構成されており、前記第2音楽認識モデルは、第2ニューラルネットワークであり、且つ前記第2特徴ベクトルを出力するように構成されており、前記第3音楽認識モデルは、前記コンキャティネイト後の特徴ベクトルを受信するように構成されている。
【0013】
例えば、前記ダンス断片認識方法の少なくとも一例では、前記第2特徴ベクトルの次元と前記第2数との積は、前記第1特徴ベクトルの次元に等しく、前記コンキャティネイト後の特徴ベクトルの次元は、前記第1特徴ベクトルの次元の2倍に等しい。
【0014】
例えば、前記ダンス断片認識方法の少なくとも一例では、前記ダンス断片認識方法は、第1組のオーディオ断片を使用して第1ニューラルネットワークをトレーニングし、且つトレーニング後の前記第1ニューラルネットワークを前記第1音楽認識モデルとすることと、第2組のオーディオ断片を使用して第2ニューラルネットワークをトレーニングし、且つトレーニング後の前記第2ニューラルネットワークを前記第2音楽認識モデルとすることと、第3組のオーディオ断片、前記第1音楽認識モデル及び前記第2音楽認識モデルに基づいて第3ニューラルネットワークをトレーニングし、且つトレーニング後の前記第3ニューラルネットワークを前記第3音楽認識モデルとすることとを含む。前記第1組のオーディオ断片及び前記第3組のオーディオ断片における各オーディオ断片の時間長は、いずれも第1時間長であり、前記第2組のオーディオ断片における各オーディオ断片の時間長は、第2時間長であり、前記第2時間長は、前記第1時間長よりも小さい。
【0015】
例えば、前記ダンス断片認識方法の少なくとも一例では、前記の、前記第3組のオーディオ断片、前記第1音楽認識モデル及び前記第2音楽認識モデルに基づいて前記第3ニューラルネットワークをトレーニングすることは、前記第1音楽認識モデルに基づいて前記第3組のオーディオ断片における各オーディオ断片の第1トレーニング特徴ベクトルを抽出することと、前記第3組のオーディオ断片における各オーディオ断片を所定数のオーディオサブ断片に分割することと、前記第2音楽認識モデルに基づいて前記所定数のオーディオサブ断片の各々の第2トレーニング特徴ベクトルを抽出することと、前記第1トレーニング特徴ベクトルを前記第2トレーニング特徴ベクトルにコンキャティネイトして、コンキャティネイト後のトレーニング特徴ベクトルを取得することと、前記コンキャティネイト後のトレーニング特徴ベクトルを前記第3ニューラルネットワークに提供し、且つ前記第3ニューラルネットワークの出力値に基づいて、前記第3ニューラルネットワークのパラメータを調整して損失関数を最小化させることとを含む。
【0016】
例えば、前記ダンス断片認識方法の少なくとも一例では、前記の、前記コンキャティネイト後のトレーニング特徴ベクトルを前記第3ニューラルネットワークに提供し、且つ前記第3ニューラルネットワークの出力値に基づいて、前記第3ニューラルネットワークのパラメータを調整して損失関数を最小化させることは、前記コンキャティネイト後のトレーニング特徴ベクトルを前記第3ニューラルネットワークに提供することと、前記第3ニューラルネットワークの出力値に基づいて、前記第3ニューラルネットワークのパラメータを調整して前記損失関数を最小化させることとを含む。
【0017】
例えば、前記ダンス断片認識方法の少なくとも一例では、前記ダンス断片認識方法は、オーディオ正サンプル及びオーディオ負サンプルを取得することと、前記オーディオ正サンプルの少なくとも一部及び前記オーディオ負サンプルの少なくとも一部に基づいて、前記第1組のオーディオ断片、前記第2組のオーディオ断片及び前記第3組のオーディオ断片を構築することとを含む。
【0018】
例えば、前記ダンス断片認識方法の少なくとも一例では、前記の、前記オーディオ正サンプル及び前記オーディオ負サンプルを取得することは、第4音楽認識モデルを使用して複数のサンプルオーディオ断片から候補正サンプル及び候補負サンプルを探すことと、前記候補正サンプルの少なくとも一部をオーディオ正サンプルの少なくとも一部とし、前記候補負サンプルの少なくとも一部をオーディオ負サンプルの少なくとも一部とすることとを含む。
【0019】
例えば、前記ダンス断片認識方法の少なくとも一例では、前記の、オーディオ正サンプル及びオーディオ負サンプルを取得することは、手動でキャリブレーションされた正サンプル及び負サンプルをそれぞれ前記取得したオーディオ正サンプルの少なくとも一部及び前記オーディオ負サンプルの少なくとも一部とすることをさらに含む。
【0020】
例えば、前記ダンス断片認識方法の少なくとも一例では、前記の、オーディオ正サンプル及びオーディオ負サンプルを取得することは、電子雑音断片を前記オーディオ負サンプルの少なくとも一部とすることを含む。
【0021】
本開示の少なくとも1つの実施例は、コンピュータプログラム命令が記憶された記憶媒体をさらに提供し、前記コンピュータプログラム命令がプロセッサにより実行されると、ビデオ断片におけるオーディオ断片を抽出することと、前記オーディオ断片が時間長が所定の時間長以上の音楽断片を含むことに応答して、前記ビデオ断片に含まれる前記音楽断片に対応するビデオサブ断片を候補ダンス断片とすることと、前記候補ダンス断片のマルチフレーム画像のうちダンス動作を有する画像のフレーム数が第1の所定の閾値よりも大きいことに応答して、前記候補ダンス断片をダンス断片と判定することとを含む方法をコンピュータに実行させる。
【0022】
本開示の少なくとも1つの実施例は、プロセッサとメモリとを含むダンス断片認識装置をさらに提供する。前記メモリには、前記プロセッサが実行するのに適するコンピュータプログラム命令が記憶されており、前記コンピュータプログラム命令が前記プロセッサにより実行されると、ビデオ断片におけるオーディオ断片を抽出することと、前記オーディオ断片が時間長が所定の時間長以上の音楽断片を含むことに応答して、前記ビデオ断片に含まれる前記音楽断片に対応するビデオサブ断片を候補ダンス断片とすることと、前記候補ダンス断片のマルチフレーム画像のうちダンス動作を有する画像のフレーム数が第1の所定の閾値よりも大きいことに応答して、前記候補ダンス断片をダンス断片と判定することとを含む方法を前記プロセッサに実行させる。
本開示の少なくとも1つの実施例は、オーディオ断片抽出モジュールと、候補ダンス断片判定モジュールと、ダンス断片判定モジュールとを含むダンス断片認識装置をさらに提供する。オーディオ断片抽出モジュールは、ビデオ断片におけるオーディオ断片を抽出するように構成されており、候補ダンス断片判定モジュールは、前記オーディオ断片が時間長が所定の時間長以上の音楽断片を含むことに応答して、前記ビデオ断片に含まれる前記音楽断片に対応するビデオサブ断片を候補ダンス断片とするように構成されており、ダンス断片判定モジュールは、前記候補ダンス断片のマルチフレーム画像のうちダンス動作を有する画像のフレーム数が第1の所定の閾値よりも大きいことに応答して、前記候補ダンス断片をダンス断片と判定するように構成されている。
【0023】
本開示の少なくとも1つの実施例は、音楽断片判定用のニューラルネットワークのトレーニング方法をさらに提供し、この音楽断片判定用のニューラルネットワークのトレーニング方法は、第1組のオーディオ断片を使用して第1ニューラルネットワークをトレーニングし、且つトレーニング後の前記第1ニューラルネットワークを第1音楽認識モデルとすることと、第2組のオーディオ断片を使用して第2ニューラルネットワークをトレーニングし、且つトレーニング後の前記第2ニューラルネットワークを第2音楽認識モデルとすることと、第3組のオーディオ断片、前記第1音楽認識モデル及び前記第2音楽認識モデルに基づいて第3ニューラルネットワークをトレーニングし、且つトレーニング後の前記第3ニューラルネットワークを第3音楽認識モデルとすることとを含む。前記第1組のオーディオ断片及び前記第3組のオーディオ断片における各オーディオ断片の時間長は、いずれも第1時間長であり、前記第2組のオーディオ断片における各オーディオ断片の時間長は、第2時間長であり、前記第2時間長は、前記第1時間長よりも小さい。
【0024】
例えば、前記トレーニング方法の少なくとも一例では、前記の、前記第3組のオーディオ断片、前記第1音楽認識モデル及び前記第2音楽認識モデルに基づいて前記第3ニューラルネットワークをトレーニングすることは、前記第1音楽認識モデルに基づいて前記第3組のオーディオ断片における各オーディオ断片の第1トレーニング特徴ベクトルを抽出することと、前記第3組のオーディオ断片における各オーディオ断片を所定数のオーディオサブ断片に分割することと、前記第2音楽認識モデルに基づいて前記所定数のオーディオサブ断片の各々の第2トレーニング特徴ベクトルを抽出することと、前記第1トレーニング特徴ベクトルを前記第2トレーニング特徴ベクトルにコンキャティネイトして、コンキャティネイト後のトレーニング特徴ベクトルを取得することと、前記コンキャティネイト後のトレーニング特徴ベクトルを前記第3ニューラルネットワークに提供し、且つ前記第3ニューラルネットワークの出力値に基づいて、前記第3ニューラルネットワークのパラメータを調整して損失関数を最小化させることとを含む。
【0025】
例えば、前記トレーニング方法の少なくとも一例では、前記の、前記コンキャティネイト後のトレーニング特徴ベクトルを前記第3ニューラルネットワークに提供し、且つ前記第3ニューラルネットワークの出力値に基づいて、前記第3ニューラルネットワークのパラメータを調整して損失関数を最小化させることは、前記コンキャティネイト後のトレーニング特徴ベクトルを前記第3ニューラルネットワークに提供することと、前記第3ニューラルネットワークの出力値に基づいて、前記第3ニューラルネットワークのパラメータを調整して前記損失関数を最小化させることとを含む。
【0026】
例えば、前記トレーニング方法の少なくとも一例では、前記トレーニング方法は、オーディオ正サンプル及びオーディオ負サンプルを取得することと、前記オーディオ正サンプルの少なくとも一部及び前記オーディオ負サンプルの少なくとも一部に基づいて、前記第1組のオーディオ断片、前記第2組のオーディオ断片及び前記第3組のオーディオ断片を構築することとをさらに含む。
【0027】
例えば、前記トレーニング方法の少なくとも一例では、前記の、前記オーディオ正サンプル及び前記オーディオ負サンプルを取得することは、第4音楽認識モデルを使用して複数のサンプルオーディオ断片から候補正サンプル及び候補負サンプルを探すことと、前記候補正サンプルの少なくとも一部をオーディオ正サンプルの少なくとも一部とし、前記候補負サンプルの少なくとも一部をオーディオ負サンプルの少なくとも一部とすることとを含む。
【0028】
例えば、前記トレーニング方法の少なくとも一例では、前記の、オーディオ正サンプル及びオーディオ負サンプルを取得することは、手動でキャリブレーションされた正サンプル及び負サンプルをそれぞれ前記取得したオーディオ正サンプルの少なくとも一部及び前記オーディオ負サンプルの少なくとも一部とすることをさらに含む。
【0029】
例えば、前記トレーニング方法の少なくとも一例では、前記の、オーディオ正サンプル及びオーディオ負サンプルを取得することは、電子雑音断片を前記オーディオ負サンプルの少なくとも一部とすることを含む。
【0030】
本開示の実施例の技術案をより明瞭に説明するために、以下、実施例の図面について簡単に紹介する。自明なことにて、以下の記述における図面は、本開示のいくつかの実施例に係るものであり、本開示に対する制限ではない。
【図面の簡単な説明】
【0031】
【
図1】畳み込みニューラルネットワークの構造概略図である。
【
図2】本開示の少なくとも1つの実施例によるダンス断片認識方法の例示的なフローチャートである。
【
図4】本開示の少なくとも1つの実施例によるビデオ断片の各フレームの画像の概略図である。
【
図5】本開示の少なくとも1つの実施例による音楽断片判定用のニューラルネットワークのトレーニング方法の例示的なフローチャートである。
【
図6A】本開示の少なくとも1つの実施例による音楽断片判定用のニューラルネットワークのトレーニング方法の第1部分の概略的なフローチャートである。
【
図6B】本開示の少なくとも1つの実施例による音楽断片判定用のニューラルネットワークのトレーニング方法の第2部分の概略的なフローチャートである。
【
図6C】本開示の少なくとも1つの実施例によるダンス断片認識方法を示す概略的なフローチャートである。
【
図7】本開示の少なくとも1つの実施例による記憶媒体の概略ブロック図である。
【
図8】本開示の少なくとも1つの実施例によるダンス断片認識装置の概略ブロック図である。
【
図9】本開示の少なくとも1つの実施例による別のダンス断片認識装置の概略ブロック図である。
【
図10】本開示の少なくとも1つの実施例によるダンス断片認識装置を示す例示的なシナリオ図である。
【
図11】本開示の少なくとも1つの実施例による計算機器を示すアーキテクチャである。
【発明を実施するための形態】
【0032】
本開示の実施例の目的、技術案及び利点をより明確にするために、以下に、本開示の実施例の図面を併せて、本開示の実施例の技術案を明確且つ完全に説明する。明らかに、記載された実施例は本開示の一部の実施例であり、すべての実施例ではない。記載された本開示の実施例に基づいて、当業者が創造的な労働を必要とせずに取得した他のすべての実施例は、本開示の保護の範囲に属する。
【0033】
別の定義がない限り、ここで使用される技術用語又は科学用語は、本開示が属する分野における当業者に理解される一般的な意味であるべきである。本開示で使用される「第1」、「第2」及び類似語は、いかなる順序、数、又は重要性を表すものではなく、異なる構成要素を区別するためのものにすぎない。同様に、「含む」又は「包含する」などの類似語は、その語の前に現れた要素又は物体が、他の要素又は物体を排除することなく、その語の後に列挙された要素又は物体及びそれらの同等物をカバーすることを意味する。「接続される」又は「つながる」などの類似語は、物理的又は機械的な接続に限定されるものではなく、直接的であれ間接的であれ、電気的な接続を含むことができる。「上」、「下」、「左」、「右」などは、相対位置関係を表すためにのみ使用され、記述されたオブジェクトの絶対位置が変化すると、その相対位置関係もそれに応じて変化することがある。
【0034】
畳み込みニューラルネットワーク(Convolutional Neural Network、CNN)は、主に局部受容野(感知野又は感知域とも呼ばれる)及びウェイト値共有によってニューラルネットワークモデルの複雑さを簡略化し、重みの数を減らす。CNNの応用範囲は、画像認識分野に限らず、オーディオ認識分野にも応用できる。
【0035】
畳み込みニューラルネットワークを利用してオーディオ処理を行う前、畳み込みニューラルネットワークをトレーニングする必要がある。トレーニング後、畳み込みニューラルネットワークの関連パラメータは、オーディオ処理期間中に変化しない。トレーニング中に、畳み込みニューラルネットワークの関連パラメータ(例えば、畳み込みコアの重み)を調整して、ニューラルネットワークの損失を最大限に減少させ(即ち、損失関数を最小化させ)、且つ最適化後のパラメータ(例えば、最適な重み)を取得することができる。
【0036】
図1は、畳み込みニューラルネットワークの構造概略図を示す。例えば、
図1に示すように、畳み込みニューラルネットワークは、第1階層、第2階層、第3階層、全結合層などを含む。例えば、
図1に示すように、入力オーディオを入力層を介して畳み込みニューラルネットワークに入力した後、順にいくつかの処理工程(例えば、
図1における第1階層、第2階層、第3階層)を経てからタイプ識別子(例えば、音楽断片又は非音楽断片)を出力する。
【0037】
説明すべきこととして、
図1は、畳み込みニューラルネットワークが3つの階層(即ち第1階層、第2階層及び第3階層)を含むことを示すが、本開示の実施例は、これに限らない。例えば、畳み込みニューラルネットワークは、2つの階層、4つの階層又は他の適用する数の階層をさらに含んでもよい。
【0038】
例えば、第1階層、第2階層、第3階層のそれぞれは、1つの畳み込みモジュールと、1つのサブサンプリング層とを含んでもよく、即ち、畳み込みニューラルネットワークの主な構成部分は、複数の畳み込み層と、複数のサブサンプリング層と、全結合層とを含んでもよい。例えば、各階層の処理工程は、入力オーディオに対する畳み込み(convolution)と、サブサンプリング(sub-sampling/down-sampling)とを含んでもよい。
【0039】
例えば、畳み込み層は、畳み込みニューラルネットワークのコア層である。畳み込みニューラルネットワークの畳み込み層では、1つのニューロンは、一部の隣接層のニューロンにのみ接続されている。例えば、畳み込み層は、入力オーディオにサイズ(kernelサイズ、感知野)が異なるいくつかの畳み込みコア(フィルタとも呼ばれる)を応用して、入力オーディオの複数のタイプの特徴を抽出することができる。例えば、各畳み込みコアは、1つのタイプの特徴を抽出することができる。畳み込みコアは、通常、ランダムな小数マトリクスの形式で初期化され、畳み込みニューラルネットワークのトレーニング中に、畳み込みコアは、学習することによって、合理的なウェイト値を得る。例えば、入力オーディオに1つの畳み込みコアを応用した後に得られた結果は、特徴マップ(feature map)とも呼ばれ、特徴マップの数は、畳み込みコアの数と等しい。同じ特徴マップのニューロンは、ウェイト値を共有し、ここで共有されるウェイト値は、畳み込みコアである。1つの階層の畳み込み層から出力された特徴マップは、隣接する次の階層の畳み込み層に入力し且つ再処理されて新たな特徴マップを得ることができる。例えば、第1階層の畳み込み層は、第1特徴マップを出力することができ、この第1特徴マップは、第2階層の畳み込み層に入力して再処理されて第2特徴マップを得ることができる。例えば、畳み込み層は、異なる畳み込みコアを使用して入力オーディオのある局部感知域のデータを畳み込むことができる。
【0040】
例えば、第1階層、第2階層、第3階層の少なくとも一部(例えば、各々)は、活性化層をさらに含んでもよい。例えば、活性化層は、勾配の消失を回避するように構成されている。例えば、活性化層は、同じ階層の畳み込み層から畳み込み結果を受信することができ、この活性化層は、該当する活性化関数に基づいて計算して入力オーディオの特徴情報を得る。
【0041】
例えば、サブサンプリング層は、隣接する畳み込み層の間に設置されてもよく、サブサンプリング層は、サブサンプリングの1つの形式である。一方では、サブサンプリング層は、入力オーディオの規模を縮小し、計算の複雑さを簡略化し、オーバーフィットの現象をある程度低減するために用いられる。他方では、サブサンプリング層は、特徴圧縮を行い、入力オーディオの主要特徴を抽出することができる。サブサンプリング層は、特徴マップの数を変更することなく、特徴マップのサイズを減らすことができる。例えば、サブサンプリング層は、サブサンプリング層と同じ階層に位置する畳み込み層(この同じ階層は、活性化層を含まない)又は活性化層(この同じ階層は、活性化層を含む)からデータを受信することができる。例えば、サブサンプリング層は、パラメータ量を減らし、より多くの階層の情報を抽出するために用いられる。例えば、感知野(kernelサイズ)が変化しない場合、サブサンプリング層を設定することで、より大域的な特徴を取得することができる。例えば、第1階層、第2階層、第3階層の少なくとも一部は、さらに、サブサンプリング層を含まなくてもよい。
【0042】
例えば、畳み込みニューラルネットワークの最後の1つのサブサンプリング層又は畳み込み層は、1つ又は複数の全結合層に接続されてもよく、全結合層は、全結合層の前の層から抽出された特徴に接続し、且つ全結合層の前の層から抽出された特徴を所定の次元に投影するために用いられ、畳み込みニューラルネットワークの最後層の全結合層は、1つの1次元マトリクスを出力するように構成されており、この1次元マトリクスの各エレメントは、あるサンプルが所定のタイプである確率を表すために用いられる。例えば、各オーディオサンプルについて、畳み込みニューラルネットワークの最後層の全結合層の出力は、[a,b]であってもよく、ここで、aは、このオーディオサンプルが音楽断片である確率で、bは、このオーディオサンプルが非音楽断片である確率である。
【0043】
例えば、Softmax関数を使用して畳み込みニューラルネットワークの最後層の全結合層の出力(例えば、1次元マトリクス)に対してSoftmax操作を実行して、各所定のタイプの予測確率を0と1との間にし、且つ各所定のタイプの予測確率の和を1にすることができる。例えば、Softmax関数によって畳み込みニューラルネットワークの最後層の全結合層の出力(例えば、[a,b])に対してSoftmax操作を実行した後、Softmax関数は、1次元マトリクス[a1,b1]を出力することができ、a1は、このオーディオサンプルが音楽断片である確率で、b1は、このオーディオサンプルが非音楽断片である確率で、且つa1とb1は、a1+b1=1、0≦a1≦1、0≦b1≦1を満たす。例えば、Softmax操作は、Softmax層と呼ばれてもよい。例えば、Softmax層は、分類工程に用いられる。
【0044】
例えば、ニューラルネットワークを構築又はトレーニングする時、ドロップアウトポリシー(drop outポリシー、即ち、全結合層における特徴の一部をランダムに捨てる)を採用して、オーバーフィットを回避することができ、さらにトレーニング後のニューラルネットワークがキャリブレーションするサンプルと同じ又は類似したタイプを有するサンプルを検出するためにのみ適用されることを回避することができる。例えば、ニューラルネットワークを構築又はトレーニングする時、学習率衰減ポリシー(即ち、ニューラルネットワークのトレーニング中に、ニューラルネットワークの学習率は、大きな値から小さな値に徐々に低下する)を採用して、グローバル最適なパラメータ(例えば、グローバル最適な重み)を最も早く見つけることができる。例えば、ニューラルネットワークを構築又はトレーニングする時、ラベル平滑化ポリシーを採用して、トレーニング後のニューラルネットワークの汎化性を高め、ニューラルネットワークをトレーニングするのに必要な時間を減少させ、又はトレーニング後のニューラルネットワークの正確性を高めることができる。
【0045】
本開示の発明者らは、検討によれば、現在、一般的には、ビデオ(例えば、児童オンライン授業ビデオ)におけるダンス断片(音楽及びダンスを含むビデオサブ断片、例えば、学生が音楽に従ってダンスを踊るビデオ断片)を手動検索し、且つビデオからダンス断片を手動取得することを発見した。しかしながら、この方法は、時間や手間がかかる(即ち、効率が低く、コストが高い)だけでなく、ビデオ量が比較的に大きい(例えば、大量の児童オンライン授業ビデオ)場合、全てのビデオを手動閲覧することが難しいため、検査漏れ(例えば、リコール率が低い)を引き起こす可能性がある。
【0046】
本開示の少なくとも1つの実施例は、ダンス断片認識方法、ダンス断片認識装置、音楽断片判定用のニューラルネットワークのトレーニング方法及び記憶媒体を提供する。このダンス断片認識方法は、ビデオ断片におけるオーディオ断片を抽出することと、オーディオ断片が時間長が所定の時間長以上の音楽断片を含むことに応答して、ビデオ断片に含まれる音楽断片に対応するビデオサブ断片を候補ダンス断片とすることと、候補ダンス断片のマルチフレーム画像のうちダンス動作を有する画像のフレーム数が第1の所定の閾値よりも大きいことに応答して、候補ダンス断片をダンス断片と判定することとを含む。
【0047】
例えば、このダンス断片認識方法は、オンライン授業ビデオにおけるダンス断片(例えば、音楽及びダンスを含むビデオサブ断片)を認識するために使用することができる。例えば、このダンス断片認識方法は、ビデオ断片におけるダンス断片の認識速度を高めることができるだけではない。
【0048】
説明すべきこととして、説明の便宜上、本開示の少なくとも1つの実施例は、ビデオ断片がオンライン授業ビデオに含まれるビデオ断片であることを例として説明するが、本開示の少なくとも1つの実施例は、これに限らない。例えば、ビデオ断片がオフライン授業ビデオに含まれるビデオ断片である場合、本開示の少なくとも1つの実施例によるダンス断片認識方法を採用すると、ビデオ断片におけるダンス断片の認識速度を高めることができる。
【0049】
例えば、このダンス断片認識方法、及びこの音楽断片判定用のニューラルネットワークのトレーニング方法は、サーバ(例えば、バックエンド)に基づいて実現することができる。
【0050】
以下、本開示の少なくとも1つの実施例によるダンス断片認識方法について、いくつかの例及び実施例によって非限定的に説明する。以下に説明するように、互いに抵触しない限り、これらの具体例及び実施例の異なる特徴を互いに組み合わせ、それによって新しい例及び実施例を得ることができ、これらの新しい例及び実施例も本開示の保護の範囲に属する。
【0051】
図2は、本開示の少なくとも1つの実施例によるダンス断片認識方法の例示的なフローチャートである。
図2に示すように、このダンス断片認識方法は、以下のステップS10~ステップS30を含む。
【0052】
ステップS10:ビデオ断片におけるオーディオ断片を抽出する。
【0053】
ステップS20:オーディオ断片が時間長が所定の時間長以上の音楽断片を含むことに応答して、ビデオ断片に含まれる音楽断片に対応するビデオサブ断片を候補ダンス断片とする。
【0054】
ステップS30:候補ダンス断片のマルチフレーム画像のうちダンス動作を有する画像のフレーム数が第1の所定の閾値よりも大きいことに応答して、候補ダンス断片をダンス断片と判定する。
【0055】
例えば、本開示の少なくとも1つの実施例では、ビデオ断片に含まれるオーディオ断片が時間長が所定の時間長以上の音楽断片を含むか否かを判断することによって、候補ダンス断片を取得し、そして候補ダンス断片のマルチフレーム画像のうちダンス動作を有する画像のフレーム数が第1の所定の閾値よりも大きいことに応答して、候補ダンス断片をダンス断片(時間長が所定の時間長以上の音楽断片を含むビデオサブ断片)と判定する。この場合、ダンス断片の認識速度及び正確度を高めることができ、具体的な理由は以下の通りである。まず、音楽断片の認識速度(音楽断片を直接認識する速度)は、ダンス断片の認識速度(ダンス断片を直接認識する速度)よりも大きく、音楽断片の認識正確度は、ダンス断片の正確度よりも大きい。そして、ビデオ断片に含まれるオーディオ断片が時間長が所定の時間長以上の音楽断片を含まないと判定することによって、このビデオ断片に含まれる画像がダンス動作を有するか否かを検出することなく、このビデオ断片がダンス断片を含まないと直接且つ迅速に判定することができる。
【0056】
例えば、本開示の少なくとも1つの実施例によるダンス断片認識方法は、特にオンライン授業ビデオに含まれるダンス断片の認識に適用され、これは、オンライン授業ビデオに含まれる複数のビデオ断片のうちの大部分のビデオ断片のオーディオ断片がいずれも音楽断片ではないためであり、従って、オンライン授業ビデオに含まれる複数のビデオ断片のうちの大部分のビデオ断片の各ビデオ断片に対して、ステップS20を実行した後、このビデオ断片に対する検出を停止することができ、このビデオ断片がダンス動作を有するか否かを検出する(例えば、ステップS30及び他の関連ステップを実行することによって検出する)必要がなく、これにより、認識速度及び正確度を高めることができる。
【0057】
例えば、ステップS10、ステップS20及びステップS3は、順次実行されてもよい。
【0058】
例えば、ステップS10において、ビデオ断片は、オンライン授業ビデオに含まれるビデオ断片であってもよい。例えば、複数のオンライン授業ビデオの各々(例えば、1つのコースに対応する授業ビデオであり、1つのコースは、例えば学習時間帯及び休憩時間帯を有することができる)は、複数のビデオ断片に分割することができ、各オンライン授業ビデオに含まれる複数のビデオ断片の各々に対して、本開示の少なくとも1つの実施例によるダンス断片認識方法を実行することができる。
【0059】
例えば、各オンライン授業ビデオを分割する時、各オンライン授業ビデオに含まれる複数のビデオ断片の少なくとも一部(例えば、各々)の時間長を第1時間長t1にすることができる。例えば、各オンライン授業ビデオに含まれる複数のビデオ断片の数がmの場合、m-1個又はm個のビデオ断片の時間長を第1時間長t1にすることができる。例えば、第1時間長t1の値は、実際の応用ニーズに応じて設定することができ、本開示の少なくとも1つの実施例では、これに対して具体的に限定されない。例えば、第1時間長t1は、60秒又は他の適用する数値(例えば、120秒、240秒)に等しくてもよい。例えば、各オンライン授業ビデオに含まれる複数のビデオ断片は、メッセージキューの形式で伝送することができる。例えば、各オンライン授業ビデオに含まれる複数のビデオ断片は、クラウドサーバ、データベースにアップロードすることができる。
【0060】
例えば、ステップS10において、ビデオ断片は、時間的に並べられる複数の画像(例えば、画像ストリーム)と、上記時間的に並べられる複数の画像に対応するオーディオ断片とを含み、上記時間的に並べられる複数の画像オーディオ断片は、互いに位置合わせされ、ここで、「上記時間的に並べられる複数の画像とオーディオ断片は、互いに位置合わせされ」とは、ビデオ断片を再生する任意の時刻に、表示された画像の録画時刻が再生された音声の録音時刻と同じであることである。例えば、ビデオ断片のフレームレート(frame rate)とは、各秒に表示されるビデオ断片の画像(例えば、静的画面)の数である。
【0061】
例えば、ステップS10において、ビデオ断片におけるオーディオ断片を抽出する方法は、関連技術を参照すればよく、ここではこれ以上説明しない。
【0062】
例えば、候補ダンス断片のマルチフレーム画像とは、候補ダンス断片に含まれるマルチフレームの検出すべき画像である。ステップS30において、例えば、候補ダンス断片のマルチフレーム画像は、候補ダンス断片に含まれる全ての画像であってもよく、また例えば、候補ダンス断片のマルチフレーム画像は、所定のタイムインターバル(例えば、1秒又は0.1秒)で候補ダンス断片から抽出されたマルチフレーム画像であってもよく、この場合、検出すべき画像の数及び検出に必要な時間を低減させることができる。例えば、候補ダンス断片から1フレームの画像を上記マルチフレーム画像の部分として1秒おきに抽出することができる。例えば、候補ダンス断片のフレームレート(Frame rate)が120HZdで、時間長が60秒の場合、候補ダンス断片から1フレームの画像を1秒おきに抽出する方法を用いてマルチフレーム画像を取得すれば、マルチフレーム画像の数nは、60である。
【0063】
例えば、ステップS30において、第1の所定の閾値は、実際の経験に基づいて設定することができる。例えば、ダンス断片の判定方法(例えば、画像がダンス動作を有するか否かを判断するための方法)を決定した後、第1の所定の閾値を調節することによって、ダンス断片の判定性能は、所定の要求(例えば、正確性は、所定の正確度閾値以上であり、判断時間は、所定の時間閾値以下である)を満たすことができる。例えば、第1の所定の閾値は、n以下n/4以上のいずれかの数値であってもよい。例えば、第1の所定の閾値は、n/3、n/2又は他の適用する数値であってもよい。本開示の発明者らは、実際のテストにより、第1の所定の閾値をn/3に設定することで、正確性が所定の正確度閾値以上の場合、ダンス断片の判断に必要な時間をできるだけ短縮することができることに気が付いた。
【0064】
例えば、ステップS30の具体的な実施形態は、実際の応用ニーズに応じて設定することができる。
【0065】
一例では、まず候補ダンス断片に含まれるマルチフレーム画像の各フレームの画像がダンス動作を有するか否かを判断し(即ち、候補ダンス断片に含まれるマルチフレームの検出すべき画像の各フレームの画像がダンス動作を有するか否かを判断し)て、マルチフレーム画像(即ち、マルチフレームの検出すべき画像)のうち、ダンス動作を有する画像の数を決定し、そしてマルチフレーム画像のうちダンス動作を有する画像の数が第1の所定の閾値よりも大きいか否かを判断し、且つマルチフレーム画像のうちダンス動作を有する画像の数が第1の所定の閾値よりも大きい場合、候補ダンス断片をダンス断片と判定し、これにより、ビデオ断片におけるダンス断片を認識且つ抽出することができる。
【0066】
別の例では、ダンス断片認識方法は、マルチフレーム画像(即ち、マルチフレームの検出すべき画像)のうちの一部のフレームの画像のうちダンス動作を有する画像のフレーム数が第1の所定の閾値よりも大きいことに応答して、候補ダンス断片に対する検出を停止することをさらに含む。例えば、マルチフレーム画像のうちの一部のフレームの画像のうちダンス動作を有する画像のフレーム数が第1の所定の閾値よりも大きい場合、マルチフレーム画像のうち検出されていない画像がダンス動作を有するか否かにかかわらず、マルチフレーム画像のうちダンス動作を有する画像のフレーム数が第1の所定の閾値よりも大きいと判定することができる。従って、候補ダンス断片に含まれるマルチフレーム画像のうちの一部のフレームの画像のうちダンス動作を有する画像の数が第1の所定の閾値よりも大きいと決定する場合、候補ダンス断片に対する検出を停止し、この場合、いくつかのビデオ断片に対して、候補ダンス断片に含まれるマルチフレーム画像のうちの一部のフレームの画像のみを検出すればよく、これにより、候補ダンス断片の判定効率を高め、ビデオ断片におけるダンス断片を認識するのに必要な時間を短縮することができる。
【0067】
例えば、マルチフレーム画像のうちの一部のフレームの画像のうちダンス動作を有する画像のフレーム数を取得する(例えば、ダンス検出を行う)方法は、実際の応用ニーズに応じて設定することができる。
【0068】
第1例では、抽出された人体骨格情報に基づいてマルチフレーム画像のうちの一部のフレームの画像のうちダンス動作を有する画像のフレーム数を取得することができる。
【0069】
例えば、ステップS10~ステップS30の他に、ダンス断片認識方法は、以下のステップS41及びステップS42をさらに含む。
【0070】
ステップS41:マルチフレーム画像のうちの少なくとも一部のフレームの画像における骨格情報を抽出する。
【0071】
ステップS42:少なくとも一部のフレームの画像における骨格情報に基づいて少なくとも一部のフレームの画像のうちダンス動作を有する画像のフレーム数を取得する。
【0072】
例えば、ステップS41及びステップS42は、順次実行されてもよい。例えば、ステップS41及びステップS42は、ステップS10及びステップS20を実行した後に実行されてもよく、ステップS30を実行する前に実行されてもよい。また例えば、ステップS41及びステップS42は、ステップS10及びステップS20を実行した後に実行されてもよく、ステップS30の実行中に実行されてもよい。
【0073】
例えば、ステップS41において、画像における骨格情報とは、画像における人体の骨格情報である。例えば、本開示の少なくとも1つの実施例における人体は、真の人体であってもよく、キャラクターであってもよい。例えば、本開示の少なくとも1つの実施例における人体は、頭、体幹、肩、上腕、前腕、手、太もも、ふくらはぎ及び足を有する。
【0074】
例えば、ステップS41において、マルチフレーム画像のうちの少なくとも一部のフレームの画像の各フレームの画像における人体のキーポイント(例えば、関節点)の座標を抽出することによって、マルチフレーム画像のうちの少なくとも一部のフレームの画像の各フレームの画像の骨格情報を取得することができる。
【0075】
例えば、実際の応用ニーズに応じて、抽出すべき人体のキーポイントを決定することができる。
図3は、人体のキーポイントの概略図を示す。例えば、
図3に示すように、人体のキーポイントは、関節点と、顔部キーポイントとの少なくとも1つを含む。例えば、
図3に示すように、人体の関節点は、肩関節(例えば、
図3における2及び5)、肘関節(例えば、
図3における3及び6)、腕関節(例えば、
図3における4及び7)、股関節(例えば、
図3における8及び11)、膝関節(例えば、
図3における9及び12)、足首関節(例えば、
図3における10及び13)及び首部(例えば、
図3における1、首部が体幹に接続されている位置)を含む。例えば、
図3に示すように、人体の顔部キーポイントは、鼻(例えば、
図3における0)、目(例えば、
図3における14及び15)及び耳(例えば、
図3における16及び17)を含んでもよい。いくつかの例では、人体のキーポイントは、関節点のみを含んでもよい。
【0076】
例えば、画像における人体のキーポイントの座標を取得した後、画像における人体の骨格情報を取得することができる。例えば、肩関節、肘関節及び腕関節の座標を取得した後、肩関節及び肘関節の座標に基づいて上腕の骨格情報を取得することができ、肘関節及び腕関節の座標に基づいて前腕の骨格情報を取得することができる。また例えば、股関節、膝関節及び足首関節の座標を取得した後、股関節及び膝関節の座標に基づいて太ももの骨格情報を取得することができ、膝関節及び足首関節の座標に基づいてふくらはぎの骨格情報を取得することができる。
【0077】
例えば、オープンソースソフトウェアopenpose又は他の適用する方法を利用してマルチフレーム画像のうちの少なくとも一部のフレームの画像の各フレームの画像の骨格情報を抽出することができる。
【0078】
例えば、ステップS42は、以下のステップS426を含む。
【0079】
ステップS426:少なくとも一部のフレームの画像のうちの隣接する2フレームの画像の腿部骨格の変化幅が所定の変動閾値を超えることに応答して、隣接する2フレームの画像のうちの少なくとも1フレームをダンス動作を有する画像と判定する。
【0080】
例えば、ステップS426において、少なくとも一部のフレームの画像のうちの隣接する2フレームの画像の腿部骨格の変化幅が所定の変動閾値を超えることに応答して、隣接する2フレームの画像のうち、時間的に前の1フレームの画像をダンス動作を有する画像と判定してもよく、時間的に後の1フレームの画像をダンス動作を有する画像と判定してもよく、又は隣接する2フレームの画像をいずれもダンス動作を有する画像と判定してもよい。
【0081】
例えば、隣接する2フレームの画像の腿部骨格(例えば、ふくらはぎ骨格及び太もも骨格のうちの少なくとも1つ)の変化幅は、位置変化幅及び角度変化幅のうちの少なくとも1つを含んでもよい。例えば、隣接する2フレームの画像の腿部骨格の変化幅が所定の変動閾値を超えることは、隣接する2フレームの画像の腿部骨格の位置変化幅が所定の位置変動閾値を超えることと、隣接する2フレームの画像の腿部骨格の角度変化幅が所定の角度変動閾値を超えることとのうちの少なくとも1つであってもよい。
【0082】
別の例では、ステップS42は、以下のステップS421及びステップS422を含む。例えば、ステップS421及びステップS422は、順次実行されてもよい。
【0083】
ステップS421:少なくとも一部のフレームの画像における骨格情報に基づいて、少なくとも一部のフレームの画像のうち、立っている人体を含む画像のフレーム数を取得する。
【0084】
ステップS422:少なくとも一部のフレームの画像のうち、立っている人体を含む画像のフレーム数を少なくとも一部のフレームの画像のうちダンス動作を有する画像のフレーム数とする。
【0085】
例えば、ステップS421において、人体の肩部の高さと肩部の幅との比値が第1数値範囲に位置するか否かに基づいて、画像が立っている人体を含むか否かを決定することができる。例えば、人体が立っている場合、肩部の高さは、実質に、人体の体幹の長さと下肢の長さ(ふくらはぎの長さ及び太ももの長さ)との和に等しい。例えば、第1数値範囲は、実際の応用ニーズに応じて設定することができ、例えば、第1数値範囲は、3~5(例えば、3.5~4.5)であってもよい。例えば、人体の肩部の高さと肩部の幅との比値に基づいて、画像が立っている人体を含むか否かを決定することによって、画像が立っている人体を含むか否かを判定する演算量及び判断時間を低減させることができ、これにより、ダンス断片認識方法の効率を高めることができる。
【0086】
第2例では、候補ダンス断片のマルチフレーム画像のうちの少なくとも一部のフレームの画像のうち、立っている人体を含む画像のフレーム数を少なくとも一部のフレームの画像のうちダンス動作を有する画像のフレーム数とし、この場合、ステップS10~ステップS30の他に、ダンス断片認識方法は、以下のステップS46及びステップS47をさらに含む。
【0087】
ステップS46:少なくとも一部のフレームの画像のうち、立っている人体を含む画像のフレーム数を取得する。
【0088】
ステップS47:少なくとも一部のフレームの画像のうち、立っている人体を含む画像のフレーム数を少なくとも一部のフレームの画像のうちダンス動作を有する画像のフレーム数とする。
【0089】
例えば、ステップS46とステップS47は、順次実行されてもよい。例えば、ステップS46とステップS47は、順次実行されてもよい。例えば、ステップS46とステップS47は、ステップS10とステップS20を実行した後に実行されてもよく、ステップS30を実行する前に実行されてもよい。また例えば、ステップS46とステップS47は、ステップS10とステップS20を実行した後に実行されてもよく、ステップS30の実行中に実行されてもよい。
【0090】
例えば、ステップS46において、少なくとも一部のフレームの画像のうち、立っている人体を含む画像のフレーム数を取得することは、候補ダンス断片のマルチフレーム画像のうちの少なくとも一部のフレームの画像の各フレームの画像に対して、以下のステップS461~ステップS463を実行することを含む。例えば、ステップS461~ステップS463は、ステップS461、ステップS462、ステップS463及びステップS464の順に実行されてもよい。
【0091】
ステップS461:人物(例えば、人体)検出モデル(ヒト検出モデル)に基づいて、候補ダンス断片のマルチフレーム画像のうちの少なくとも一部のフレームの画像のうちの各フレームの画像が人物を含むか否かを検出し、且つ候補ダンス断片のマルチフレーム画像のうちの少なくとも一部のフレームの画像のうちの各フレームの画像が人物を含む場合、候補ダンス断片のマルチフレーム画像のうちの少なくとも一部のフレームの画像のうちの各フレームの画像の人物を囲むためのヒト検出ブロック(画像が人物を含む場合)を生成する。例えば、画像が人物を含まない場合、このフレームの画像が立っている人体を含まないと判断する。
【0092】
例えば、ステップS461において、人物検出モデル(ヒト検出モデル)に基づいて、画像が人物を含むか否かを検出し、画像の人物を囲むためのヒト検出ブロックを生成する方法は、関連技術を参照すればよく、ここではこれ以上説明しない。
【0093】
例えば、ヒト検出ブロックは、矩形である。例えば、ヒト検出ブロックは、対応する人物を囲むことができるサイズが最も小さい矩形(矩形の長さ及び幅は、いずれも最も小さい)である。
【0094】
ステップS462:ヒト検出ブロックのアスペクト比を計算する。
【0095】
ステップS463:ヒト検出ブロックのアスペクト比に基づいて、候補ダンス断片のマルチフレーム画像のうちの少なくとも一部のフレームの画像の各フレームの画像が立っている人体を含むか否かを判定する。
【0096】
例えば、ステップS463において、ヒト検出ブロックのアスペクト比に基づいて、候補ダンス断片のマルチフレーム画像のうちの少なくとも一部のフレームの画像の各フレームの画像が立っている人体を含むか否かを判定することは、あるフレームの画像に位置する最大アスペクト比を有するヒト検出ブロックのアスペクト比が第1閾値よりも大きければ、最大アスペクト比を有するこのヒト検出ブロックの位置する画像が立っている人体を含むと判断することと、最大アスペクト比を有するこのヒト検出ブロックのアスペクト比が第1閾値以下であれば、このヒト検出ブロックの位置する画像が立っている人体を含まないと判断することとを含む。
【0097】
例えば、第1閾値は、実際の応用ニーズに応じて設定することができる。例えば、第1閾値は、1.5~1.9(例えば、1.65、1.7又は1.75)であってもよい。
【0098】
例えば、ヒト検出ブロックのアスペクト比を利用して、候補ダンス断片のマルチフレーム画像のうちの少なくとも一部のフレームの画像の各フレームの画像が立っている人体を含むか否かを判定することによって、関連技術における人物検出モデル及び人物検出方法を利用することができ、これにより、開発量を低減させ、検出速度を高めることができる。
【0099】
また例えば、ステップS46において、少なくとも一部のフレームの画像のうち、立っている人体を含む画像のフレーム数を取得することは、候補ダンス断片のマルチフレーム画像(例えば、マルチフレームの検出すべき画像)のうちの少なくとも一部のフレームの画像の各フレームの画像に対して、マルチフレーム画像のうちの少なくとも一部のフレームの画像の骨格情報を抽出し、且つマルチフレーム画像のうちの少なくとも一部のフレームの画像の骨格情報に基づいて、少なくとも一部のフレームの画像の各フレームの画像が立っている人体を含むか否かを判定することを含み、具体的な方法は、ステップS421及びステップS422と同様であり、ここではこれ以上説明しない。
【0100】
例えば、マルチフレーム画像の各フレームの画像は、情報ディスプレイ領域101と、対象ビデオディスプレイ領域102とを含む。
図4は、本開示の少なくとも1つの実施例によるビデオ断片の各フレームの画像の概略図である。例えば、
図4に示すように、ビデオ断片の各フレームの画像は、情報ディスプレイ領域101と、対象ビデオディスプレイ領域102と、を含む。例えば、対象ビデオディスプレイ領域102は、オンライン授業にいる学生(例えば、複数の学生)のビデオをディスプレイするために用いられる。例えば、
図4に示すように、対象ビデオディスプレイ領域102は、複数の対象ビデオディスプレイサブ領域を含んでもよく、対象ビデオディスプレイ領域102は、オンライン授業にいる複数の学生のビデオをディスプレイすることができる。例えば、情報ディスプレイ領域101は、オンライン授業にいる学生にオンライン授業に関連する情報をディスプレイするために用いられる。例えば、オンライン授業に関連する情報は、授業教学用のPPTと、授業間の休憩時にダンスをリードするためのビデオとを含む。例えば、
図4に示すように、マルチフレーム画像の各フレームの画像は、第2対象ビデオディスプレイ領域103をさらに含んでもよい。例えば、第2対象ビデオディスプレイ領域103は、オンライン授業中に授業を行う教師のビデオをディスプレイするために用いられる。
【0101】
例えば、ステップS30において、マルチフレーム画像のうちダンス動作を有する画像のフレーム数が第1の所定の閾値よりも大きいことに応答して、候補ダンス断片をダンス断片と判定することは、マルチフレーム画像のうち、ダンス画像のディスプレイされた情報ディスプレイ領域101を含む画像のフレーム数が第1の所定の閾値よりも大きいことに応答して、候補ダンス断片をダンス断片と判定することを含む。
【0102】
例えば、候補ダンス断片のマルチフレーム画像のうちの少なくとも一部のフレームの画像の情報ディスプレイ領域101にダンス画像がディスプレイされているか否かに基づいて、候補ダンス断片をダンス断片と判定することによって、(対象ビデオディスプレイ領域102がダンス動作を有するか否かを検出することに比べて)検出速度を早め、検出精度を高めることができる。これは、ビデオの画像フレームの情報ディスプレイ領域がほとんどの時間に授業教学用のPPTなどを再生するために用いられ、且つ授業教学用のPPTが一般的に人体を有さない文字であるためであり、従って、ビデオの画像フレームの情報ディスプレイ領域101が授業教学用のPPTを再生するために用いられる場合、情報ディスプレイ領域101が人体を含まないと判定することができ、この場合、(対象ビデオディスプレイ領域102を検出することに比べて)人体がダンス動作をディスプレイしているか否かを判断することなく、再生中の授業教学用のPPTに対応するビデオ断片に含まれる画像にダンス画像がディスプレイされていないと直接判定することができる。
【0103】
例えば、マルチフレーム画像のうち、ダンス画像のディスプレイされた情報ディスプレイ領域101を含む画像のフレーム数が第1の所定の閾値よりも大きいことに応答して、候補ダンス断片をダンス断片と判定することは、候補ダンス断片のマルチフレーム画像のうちの少なくとも一部のフレームの画像の各フレームの画像の情報ディスプレイ領域101が立っている人体を含むか否かを判定し、この情報ディスプレイ領域101が立っている人体を含む場合、この情報ディスプレイ領域101の位置する画像がダンス画像のディスプレイされた情報ディスプレイ領域101を含む画像であると判定することを含む。例えば、候補ダンス断片のマルチフレーム画像のうちの少なくとも一部のフレームの画像の各フレームの画像の情報ディスプレイ領域101が立っている人体を含むか否かを判定することによって、候補ダンス断片がダンス断片であるか否かを判定することによって、検出速度をさらに速めることができる。
【0104】
以下、オーディオ断片が時間長が所定の時間長以上の音楽断片を含むか否かを判断する方法について例示的に説明する。
【0105】
例えば、ステップS20において、ビデオ断片に含まれる音楽断片に対応するビデオサブ断片(即ち、候補ダンス断片)は、音楽断片と、音楽断片と時間的に位置合わせされた複数の画像(音楽断片と同じ時間帯に録画された複数の画像)とを含む。
【0106】
例えば、ステップS10~ステップS30の他に、ダンス断片認識方法は、以下のステップS51及びステップS52をさらに含む。
【0107】
ステップS51:オーディオ断片を複数のオーディオサブ断片に分割する。
【0108】
ステップS52:複数のオーディオサブ断片のうち順に接続された第1数のオーディオサブ断片がいずれも音楽サブ断片と判定されたことに応答して、順に接続される第1数のオーディオサブ断片の組み合わせを音楽断片の少なくとも一部と判定する。第1数は、3以上の整数である。
【0109】
例えば、ステップS51及びステップS52は、ステップS10を実行した後であって、ステップS20を実行する前に実行されてもよい。例えば、ステップS51及びステップS52は、順次実行されてもよい。
【0110】
例えば、オーディオ断片を複数のオーディオサブ断片に分割し、且つ順に接続される第1数のオーディオサブ断片の組み合わせを音楽断片の少なくとも一部と判定することによって、移動窓ルールを利用して、オーディオ断片における音楽断片を認識する正確性を高めることができる。
【0111】
例えば、ステップS51において、オーディオ断片に含まれる複数のオーディオサブ断片の時間長を第2時間長t2にすることができる。例えば、第2時間長t2の値は、実際の応用ニーズに応じて設定することができ、本開示の少なくとも1つの実施例は、これについて具体的に限定しない。例えば、第1時間長t1は、第2時間長t2の整数倍であってもよい。例えば、第2時間長t2は、5秒又は他の適用する数値に等しくてもよい。
【0112】
例えば、第1数と第2時間長t2との積は、所定の時間長以上であり、この場合、ステップS52で判定された順に接続される第1数のオーディオサブ断片の組み合わせをステップS20で時間長が所定の時間長以上の音楽断片の少なくとも一部とすることができる。
【0113】
例えば、オーディオ断片に含まれる複数のオーディオサブ断片のうち順に接続される全てのオーディオサブ断片(第1数以上)の組み合わせをステップS20で時間長が所定の時間長以上の音楽断片とすることができ、これに対応して、音楽断片の長さは、第1数と第2時間長t2との積以上であり、この場合、ステップS51によって取得された複数のオーディオサブ断片の各々が音楽サブ断片であるか否かを判断する(例えば、以下のステップS61~ステップS64又は他の適用する方法を採用して判断する)ことができる。また例えば、オーディオ断片に含まれる複数のオーディオサブ断片のうち順に接続された第1数のオーディオサブ断片の組み合わせをステップS20で時間長が所定の時間長以上の音楽断片とすることができ、これに対応して、音楽断片の長さは、第1数と第2時間長t2との積に等しく、この場合、いくつかのオーディオ断片に対して、オーディオ断片に含まれる一部のオーディオサブ断片のみを判断すればよく(例えば、以下のステップS61~ステップS64又は他の適用する方法を採用して判断する)、これにより、オーディオ断片における音楽断片を認識する速度を速めることができる。
【0114】
いくつかの例では、ステップS52において、第1数の値は、実際の経験に基づいて設定することができる。例えば、第1数は、3~15(例えば、3~12)に位置するいずれかの正の整数であってもよく、これに対応して、所定の時間長は、例えば15秒~75秒(15秒~60秒)であってもよい。別の例では、非音楽サブ断片(即ち、音楽サブ断片を含まないオーディオサブ断片)は、音楽サブ断片と誤判定される可能性があり、且つ非音楽サブ断片が音楽サブ断片と誤判定される確率は、Mwであり(例えば、第3音楽認識モデルが非音楽サブ断片を音楽サブ断片と誤判定する確率は、Mwであり)、この場合、第1数num_1の値は、(Mw)num_1≦Wmaxに基づいて計算して得ることができ、ここで、Wmaxは、許可される(ユーザによって許可される)音楽断片の認識誤差の上限である。例えば、上記式を使用して第1数num_1の値を決定することによって、オーディオサブ断片が音楽サブ断片であるか否かを判定するための方法が更新される(これに対応して、非音楽サブ断片が音楽サブ断片と誤判定される確率は、変化する可能性がある)及び/又は音楽断片の認識誤差に対するユーザの許容度が変化すると、更新後の判定方法及び/又は変更後の誤差許容度とマッチングする第1数num_1を自動的に設定することができ、これにより、本開示の少なくとも1つの実施例によるダンス断片認識方法の適用性、ロバスト性などを高めることができる。
【0115】
本開示の発明者らは、検討によれば、オンライン授業ビデオに含まれるオーディオ断片がノイズ及び電子音(電子雑音)を含むため、オフラインシナリオ用の音楽認識モデルを使用して、オンライン授業ビデオに含まれるオーディオ断片における音楽断片を認識する認識効果が比較的に低い(例えば、正確度が低い及び/又は検査漏れ率が高い)ことを発見した。
【0116】
例えば、ステップS10~ステップS30、ステップS51及びステップS52の他に、ダンス断片認識方法は、以下のステップS61~ステップS64をさらに含む。
【0117】
ステップS61:第1音楽認識モデルを使用して、複数のオーディオサブ断片のうちの少なくとも一部のオーディオサブ断片の各オーディオサブ断片の第1特徴ベクトルを抽出する。
【0118】
ステップS62:複数のオーディオサブ断片のうちの少なくとも一部のオーディオサブ断片の各オーディオサブ断片を第2数のオーディオ子サブ断片に分割し、且つ第2音楽認識モデルを使用して第2数のオーディオ子サブ断片の各々の第2特徴ベクトルを抽出する。
【0119】
ステップS63:同じオーディオサブ断片に対応する第1特徴ベクトルを第2数の第2特徴ベクトルにコンキャティネイトして、同じオーディオサブ断片に対応するコンキャティネイト後の特徴ベクトルを取得する。
【0120】
ステップS64:同じオーディオサブ断片に対応するコンキャティネイト後の特徴ベクトルを第3音楽認識モデルに提供して、第3音楽認識モデルを使用して、同じオーディオサブ断片が音楽サブ断片であるか否かを判定する。
【0121】
例えば、ステップS61~ステップS64は、ステップS51を実行した後であって、ステップS52を実行する前に実行されてもよい。例えば、ステップS61~ステップS64は、ステップS61、ステップS62、ステップS63及びステップS64の順序で実行されてもよい。また例えば、ステップS61~ステップS64は、ステップS61+ステップS62(即ち、ステップS61及びステップS62が同時に実行される)、ステップS63及びステップS64が順次実行されるように実行されてもよい。また例えば、ステップS61~ステップS64は、ステップS62、ステップS61、ステップS63及びステップS64の順序で実行されてもよい。
【0122】
例えば、本開示の少なくとも1つの実施例では、第1音楽認識モデルを使用して、オーディオサブ断片の第1特徴ベクトルを抽出し、第2音楽認識モデルを使用して、上記オーディオサブ断片に含まれる第2数のオーディオ子サブ断片の各々の第2特徴ベクトルを抽出し、第1特徴ベクトルを第2数の第2特徴ベクトルにコンキャティネイトすることによって、上記オーディオサブ断片に対応するコンキャティネイト後の特徴ベクトルを取得し、且つ上記コンキャティネイト後の特徴ベクトルを第3音楽認識モデルに提供して、第3音楽認識モデルを使用して、同じオーディオサブ断片が音楽サブ断片であるか否かを判定し、この場合、オーディオサブ断片のグローバル特徴(例えば、低周波数特徴)及びローカル特徴(例えば、高周波数特徴)を同時に利用して、このオーディオサブ断片が音楽サブ断片であるか否かを判定することができ、これにより、判定の正確性を高め、本開示の少なくとも1つの実施例によるオーディオサブ断片が音楽サブ断片であるか否かを判定する方法の適用範囲を広げることができる。例えば、本開示の少なくとも1つの実施例によるオーディオサブ断片が音楽サブ断片であるか否かを判定する方法を特定のオーディオサブ断片(例えば、2sの音楽、1sの雑音、2sの音楽の順序の組み合わせ断片)が音楽サブ断片であるか否かを判定することに用いることができる。
【0123】
例えば、本開示の少なくとも1つの実施例では、第1ニューラルネットワーク、第2ニューラルネットワーク及び第3ニューラルネットワークは、3つの独立したニューラルネットワークであり、それぞれ入力及び出力を有する。
【0124】
例えば、本開示の少なくとも1つの実施例では、上記のステップS61-ステップS63に係る第1ニューラルネットワーク及び第2ニューラルネットワークを採用して、同じオーディオサブ断片に対応する第1特徴ベクトル及び第2数の第2特徴ベクトルを抽出して、同じオーディオサブ断片に対応するコンキャティネイト後の特徴ベクトルを取得し、且つ第1ニューラルネットワーク及び第2ニューラルネットワークと独立した第3ニューラルネットワークは、コンキャティネイト後の特徴ベクトルに基づいて、上記同じオーディオサブ断片が音楽サブ断片であるか否かを判定する。複数種のkernel size(複数種の感知野)を有する単一のモデル(例えば、単一の畳み込みモデル、単一の畳み込みニューラルネットワーク)を採用して特徴ベクトルを抽出することに比べて、本開示の少なくとも1つの実施例によるオーディオサブ断片が音楽サブ断片であるか否かを判定する方法は、音楽と雑音の複合断片に対してより耐性があり、ロバスト性がより強く、且つ本開示の少なくとも1つの実施例によるオーディオサブ断片が音楽サブ断片であるか否かを判定する方法は、より高い正確率を有する。
【0125】
一例では、複数のオーディオサブ断片に含まれる複数のオーディオサブ断片の各オーディオサブ断片に対して、ステップS61-ステップS64を実行して、複数のオーディオサブ断片に含まれる複数のオーディオサブ断片の各オーディオサブ断片が音楽サブ断片であるか否かを判断することができる。例えば、上記一例では、ステップS52について、複数のオーディオサブ断片のうち順に接続された第1数のオーディオサブ断片がいずれも音楽サブ断片と判定された場合、順に接続される第1数のオーディオサブ断片の組み合わせを音楽断片と判定することができる。また例えば、上記一例では、ステップS52について、順に接続される全ての音楽サブ断片の組み合わせを音楽断片と判定することができ(ここで、順に接続される全ての音楽サブ断片の数は、第1数よりも大きい)、この場合、オーディオ断片から、時間長がより長い音楽断片(例えば、完全な音楽断片)を検出することができ、これにより、ビデオ断片の一部のダンスサブ断片の判断を漏れる可能性を低減させることができる。
【0126】
別の例では、いくつかのオーディオ断片について、複数のオーディオサブ断片に含まれる複数のオーディオサブ断片のうちの一部のオーディオサブ断片に対してステップS61~ステップS64を実行することができ、例えば、このオーディオ断片に含まれる複数のオーディオサブ断片のうちの一部のオーディオサブ断片のうち順に接続された第1数のオーディオサブ断片がいずれも音楽サブ断片と判定された場合、順に接続される第1数のオーディオサブ断片の組み合わせを音楽断片と判定し、且つこのオーディオ断片に含まれる複数のオーディオサブ断片に含まれる残りの検出されていないオーディオサブ断片が音楽サブ断片であるか否かの判定を停止することができ、この場合、オーディオ断片における音楽断片の認識効率を高めることができる。
【0127】
例えば、ステップS61において、第1音楽認識モデルは、第1ニューラルネットワークであり、且つ第1特徴ベクトルを出力するように構成されている。例えば、第1ニューラルネットワークは、オーディオサブ断片から第1特徴ベクトル(例えば、オーディオサブ断片のグローバル特徴)を抽出するように構成されている。例えば、第1ニューラルネットワークは、少なくとも2層の全結合層を含み、第1ニューラルネットワークに含まれる最後から2層目の全結合層(第1ニューラルネットワークに含まれる最後層の全結合層の前の層に位置する全結合層)は、第1特徴ベクトルを出力するように構成されている。
【0128】
例えば、ステップS62において、第2音楽認識モデルは、第2ニューラルネットワークであり、且つ第2特徴ベクトルを出力するように構成されている。例えば、第2ニューラルネットワークは、オーディオサブ断片に含まれる第2数のオーディオ子サブ断片から第2数の第2特徴ベクトル(例えば、オーディオサブ断片のローカル特徴)を抽出するために用いられる。例えば、第2ニューラルネットワークは、少なくとも2層の全結合層を含み、第2ニューラルネットワークに含まれる最後から2層目の全結合層(第2ニューラルネットワークに含まれる最後層の全結合層の前の層に位置する全結合層)は、第2特徴ベクトルを出力するように構成されている。
【0129】
例えば、第2特徴ベクトルの次元dと第2数num_2との積は、第1特徴ベクトルの次元に等しい(即ち、num_2×dである)。例えば、第2特徴ベクトルの次元dは、60又は他の適用する数値であってもよく、num_2は、5又は他の適用する数値である。
【0130】
例えば、ステップS63において、同じオーディオサブ断片に対応する第1特徴ベクトル及び第2数の第2特徴ベクトルに対してコンキャティネイト(concatenate)操作を実行して、同じオーディオサブ断片に対応するコンキャティネイト後の特徴ベクトルを取得することができる。例えば、コンキャティネイト後の特徴ベクトルの次元は、第1特徴ベクトルの次元の2倍に等しく、即ち、2×num_2×dである。例えば、コンキャティネイト後の特徴ベクトルの次元は、10×dに等しい。
【0131】
例えば、ステップS64において、第3音楽認識モデルは、上記コンキャティネイト後の特徴ベクトルを受信し、上記コンキャティネイト後の特徴ベクトルに基づいて、上記同じオーディオサブ断片が音楽サブ断片であるか否かを判定するように構成されている。
【0132】
例えば、第1ニューラルネットワーク及び第2ニューラルネットワークは、1次元畳み込みニューラルネットワーク(CNN)又は他の適用するニューラルネットワークであってもよく、第3ニューラルネットワークは、多層ニューラルネットワーク(深さニューラルネットワークとも呼ばれる)又は他の適用するニューラルネットワークであってもよい。
【0133】
例えば、多層ニューラルネットワークは、多層の全結合層を含むが、畳み込み層を有さない。例えば、多層ニューラルネットワークは、上記コンキャティネイト後の特徴ベクトルを受信するように構成されている。例えば、多層ニューラルネットワークにおける最後層の全結合層は、1つの1次元マトリクス[a3,b3]を出力するように構成されており、この1次元マトリクスのエレメントa3及びb3は、それぞれ、上記同じオーディオサブ断片が音楽サブ断片である確率、及び上記同じオーディオサブ断片が非音楽断片である確率を表すために用いられる。例えば、Softmax関数を使用して多層ニューラルネットワークにおける最後層の全結合層の出力(例えば、1次元マトリクス)に対してSoftmax操作を実行して、1次元マトリクス[a4,b4]を取得することができ、a4は、上記同じオーディオサブ断片が音楽サブ断片である確率であり、b4は、上記同じオーディオサブ断片が非音楽断片である確率であり、且つa4とb4は、a4+b4=1、0≦a4≦1、0≦b4≦1を満たす。
【0134】
例えば、本開示の少なくとも1つの実施例による音楽断片判定用のニューラルネットワークのトレーニング方法を採用して第1ニューラルネットワーク、第2ニューラルネットワーク及び第3ニューラルネットワークをトレーニングすることができる。
【0135】
例えば、本開示の少なくとも1つの実施例によるダンス断片認識方法は、本開示の少なくとも1つの実施例による音楽断片判定用のニューラルネットワークのトレーニング方法に基づいて、第1ニューラルネットワーク、第2ニューラルネットワーク及び第3ニューラルネットワークをトレーニングすることをさらに含む。例えば、第1ニューラルネットワーク、第2ニューラルネットワーク及び第3ニューラルネットワークの具体的なトレーニング方法は、本開示の少なくとも1つの実施例による音楽断片判定用のニューラルネットワークのトレーニング方法を参照すればよく、ここではこれ以上説明しない。
【0136】
本開示の少なくとも1つの実施例は、音楽断片判定用のニューラルネットワークのトレーニング方法をさらに提供する。
図5は、本開示の少なくとも1つの実施例による音楽断片判定用のニューラルネットワークのトレーニング方法の例示的なフローチャートである。
図5に示すように、この音楽断片判定用のニューラルネットワークのトレーニング方法は、以下のステップS810~ステップS830を含む。
【0137】
ステップS810:第1組のオーディオ断片を使用して第1ニューラルネットワークをトレーニングし、且つトレーニング後の第1ニューラルネットワークを第1音楽認識モデルとする。
【0138】
ステップS820:第2組のオーディオ断片を使用して第2ニューラルネットワークをトレーニングし、且つトレーニング後の第2ニューラルネットワークを第2音楽認識モデルとする。
【0139】
ステップS830:第3組のオーディオ断片、第1音楽認識モデル及び第2音楽認識モデルに基づいて第3ニューラルネットワークをトレーニングし、且つトレーニング後の第3ニューラルネットワークを第3音楽認識モデルとする。
【0140】
例えば、第1組のオーディオ断片及び第3組のオーディオ断片における各オーディオ断片の時間長は、いずれも第1時間長であり、第2組のオーディオ断片における各オーディオ断片の時間長は、第2時間長であり、第2時間長は、第1時間長よりも小さく。例えば、第2時間長と第2数との積は、第1時間長に等しい。
【0141】
例えば、ステップS810~ステップS830は、ダンス断片認識方法を実行する前に実行されてもよく、これにより、ダンス断片認識方法の実行中に、本開示の少なくとも1つの実施例による音楽断片判定用のニューラルネットワークのトレーニング方法でトレーニングして得られた第1音楽認識モデル、第2音楽認識モデル及び第3音楽認識モデルを採用して、オーディオサブ断片が音楽サブ断片であるか否かを判定することができる。
例えば、ステップS810、ステップS820及びステップS830は、順に実行されてもよく、また例えば、ステップS820、ステップS810及びステップS830は、順に実行されてもよく、また例えば、ステップS810+ステップS820(即ち、ステップS810及びステップS820が同時に実行される)及びステップS830は、順に実行されてもよい。
【0142】
例えば、ステップS810~ステップS830を採用して第1音楽認識モデル、第2音楽認識モデル及び第3音楽認識モデルを取得することによって、オーディオサブ断片が音楽サブ断片であるか否かを判定する過程に、それぞれ第1音楽認識モデル及び第2音楽認識モデルを利用してオーディオサブ断片のグローバル特徴及びローカル特徴を取得し、上記オーディオサブ断片のグローバル特徴及びローカル特徴を利用して取得したコンキャティネイト後の特徴ベクトルを第3音楽認識モデルに提供し、且つ第3音楽認識モデルを使用して、このオーディオサブ断片が音楽サブ断片であるか否かを判定することができ、これにより、オーディオサブ断片が音楽サブ断片であるか否かを判定する過程に、オーディオサブ断片のグローバル特徴及びローカル特徴をより良く利用することができ、さらにオーディオサブ断片が音楽サブ断片であるか否かを判定する正確性を高めることができる。
【0143】
例えば、ステップS810において、第1組のオーディオ断片における各オーディオ断片の時間長は、ステップS10でのオーディオ断片の時間長に等しくてもよく、即ち、第1組のオーディオ断片における各オーディオ断片の時間長は、第1時間長t1(例えば、60秒)に等しくてもよく、これにより、ステップS810によって取得された第1音楽認識モデル(即ち、トレーニング後の第1ニューラルネットワーク)は、ステップS61で複数のオーディオサブ断片のうちの少なくとも一部のオーディオサブ断片の各オーディオサブ断片の第1特徴ベクトルを抽出することに適する。
【0144】
例えば、ステップS810において、第1組のオーディオ断片を使用して第1ニューラルネットワークをトレーニングすることは、第1組のオーディオ断片における各オーディオ断片のオーディオ特徴を抽出することと、第1組のオーディオ断片における各オーディオ断片のオーディオ特徴を採用して第1ニューラルネットワークをトレーニングすることとを含む。
【0145】
例えば、オーディオ断片のオーディオ特徴とは、オーディオ断片の周波数領域特徴(周波数領域パラメータ)であり、例えば、オーディオ断片から抽出されたオーディオ特徴は、オーディオの内容の差と音色の差をよりよく具現化することができる。例えば、オーディオ断片のスペクトル特徴は、オーディオ断片のメル周波数ケプストラム係数(Mel-scale Frequency Cepstral Coefficients、MFCC)及びガンマトーン周波数ケプストラム係数(Gammatone Frequency Cepstral Coefficients、GFCC)の少なくとも1つであってもよい。
【0146】
例えば、第1組のオーディオ断片における各オーディオ断片のMFCCオーディオ特徴及びGFCCオーディオ特徴を抽出し、且つ第1組のオーディオ断片における各オーディオ断片のMFCCオーディオ特徴とGFCCオーディオ特徴をコンキャティネイト後のオーディオ特徴(例えば、38次元のオーディオ特徴)にコンキャティネイトし、且つこのコンキャティネイト後のオーディオ特徴(例えば、38次元のオーディオ特徴)を第1組のオーディオ断片における各オーディオ断片のオーディオ特徴とすることができる。例えば、第1組のオーディオ断片における各オーディオ断片のMFCCオーディオ特徴をGFCCオーディオ特徴にコンキャティネイトして取得されたコンキャティネイト後のオーディオ特徴を第1組のオーディオ断片における各オーディオ断片のオーディオ特徴とすることによって、トレーニング後の第1ニューラルネットワークの品質を高めることができ、例えば、トレーニング後の第1ニューラルネットワークに基づいて抽出されたオーディオ断片の第1特徴ベクトルの品質を高めることができる。
【0147】
例えば、ステップS810において、第1ニューラルネットワークに含まれる最後層の全結合層は、1つの1次元マトリクス[c1,d1]を出力するように構成されており、この1次元マトリクスのエレメントc1及びd1は、それぞれ第1組のオーディオ断片における各オーディオ断片が音楽サブ断片である確率、及び第1組のオーディオ断片における各オーディオ断片が非音楽断片である確率を表すために用いられる。例えば、Softmax関数を使用して第1ニューラルネットワークにおける最後層の全結合層の出力(例えば、1次元マトリクス)に対してSoftmax操作を実行して(これに対応して、第1ニューラルネットワークは、Softmax層を含む)、1次元マトリクス[c2,d2]を取得することができ、c2は、第1組のオーディオ断片における各オーディオ断片が音楽サブ断片である確率であり、d2は、第1組のオーディオ断片における各オーディオ断片が非音楽断片である確率であり、且つc2とd2は、c2+d2=1、0≦c2≦1、0≦d2≦1を満たす。例えば、第1ニューラルネットワークのパラメータを調整することによって、第1ニューラルネットワークの損失関数を最小化させ(第1組のオーディオ断片のオーディオ断片に対して)、第1ニューラルネットワークの最適化後のパラメータ、及びトレーニング後の第1ニューラルネットワークを取得することができる。例えば、第1組のオーディオ断片の複数のオーディオ断片に対して、実際の値と第1ニューラルネットワークの予測値との間の二乗差の平均値を第1ニューラルネットワーク損失関数とすることができる。
【0148】
例えば、第1ニューラルネットワークは、1次元畳み込みニューラルネットワーク(CNN)であってもよく、この場合、第1音楽認識モデルは、CNN1次元畳み込みモデルであってもよい。例えば、第1ニューラルネットワークを1次元畳み込みニューラルネットワークにすることによって、畳み込みの不変性を利用して、ボイス信号そのものの多様性を克服することができるだけでなく、並列演算(例えば、大規模の並列化演算)の実現にも有利であり、これにより、ステップS61の実行速度を高めることができ、即ち、複数のオーディオサブ断片のうちの少なくとも一部のオーディオサブ断片の各オーディオサブ断片から第1特徴ベクトルを抽出する速度を高めることができる。
【0149】
例えば、第1音楽認識モデル(第1ニューラルネットワーク)を構築する過程に、ラベル平滑化ポリシー、学習率衰減ポリシー及びドロップアウトポリシー(drop outポリシー)の少なくとも1つを採用することができる。
【0150】
例えば、ステップS820において、第2組のオーディオ断片における各オーディオ断片の時間長は、ステップS51でのオーディオサブ断片の時間長に等しくてもよく、即ち、第2組のオーディオ断片における各オーディオ断片の時間長は、第2時間長t2(例えば、5秒)に等しくてもよく、これにより、ステップS820で取得された第2音楽認識モデル(即ち、トレーニング後の第2ニューラルネットワーク)は、ステップS62で第2数のオーディオ子サブ断片の各々の第2特徴ベクトルを抽出することに適する。
【0151】
例えば、第1組のオーディオ断片における各オーディオ断片を分割することによって、第2組のオーディオ断片を取得することができる。例えば、第1組のオーディオ断片における各オーディオ断片を第2数のオーディオサブ断片に分割し、且つ第1組のオーディオ断片における各オーディオ断片を分割して取得された複数のオーディオサブ断片の少なくとも一部を第2組のオーディオ断片とすることができる。
【0152】
例えば、ステップS820において、第2組のオーディオ断片を使用して第2ニューラルネットワークをトレーニングすることは、第2組のオーディオ断片における各オーディオ断片のオーディオ特徴を抽出することを含む。例えば、第2組のオーディオ断片における各オーディオ断片のMFCCオーディオ特徴及びGFCCオーディオ特徴を抽出し、且つ第2組のオーディオ断片における各オーディオ断片のMFCCオーディオ特徴とGFCCオーディオ特徴をコンキャティネイト後のオーディオ特徴(例えば、38次元のオーディオ特徴)にコンキャティネイトし、且つこのコンキャティネイト後のオーディオ特徴(例えば、38次元のオーディオ特徴)を第2組のオーディオ断片における各オーディオ断片のオーディオ特徴とすることができる。例えば、第2組のオーディオ断片における各オーディオ断片のMFCCオーディオ特徴をGFCCオーディオ特徴にコンキャティネイトして取得されたコンキャティネイト後のオーディオ特徴を第2組のオーディオ断片における各オーディオ断片のオーディオ特徴とすることによって、トレーニング後の第2ニューラルネットワークの品質を高めることができ、例えば、トレーニング後の第2ニューラルネットワークに基づいて抽出されたオーディオ断片の特徴ベクトルの品質を高めることができる。
【0153】
例えば、第2ニューラルネットワークは、1次元畳み込みニューラルネットワーク(CNN)であってもよく、この場合、第2音楽認識モデルは、CNN1次元畳み込みモデルであってもよい。例えば、第2ニューラルネットワークを1次元畳み込みニューラルネットワークにすることによって、畳み込みの不変性を利用して、ボイス信号そのものの多様性を克服することができるだけでなく、並列演算(例えば、大規模の並列化演算)の実現にも有利であり、これにより、ステップS62の実行速度を高めることができ、即ち、第2数のオーディオ子サブ断片の各々から第2特徴ベクトルを抽出する速度を高めることができる。例えば、第2音楽認識モデル(第2ニューラルネットワーク)を構築する過程に、ラベル平滑化ポリシー、学習率衰減ポリシー及びドロップアウトポリシー(drop outポリシー)の少なくとも1つを採用することができる。
【0154】
例えば、第2ニューラルネットワークに含まれる最後層の全結合層は、1つの1次元マトリクス[c3,d3]を出力するように構成されており、この1次元マトリクスのエレメントc3及びd3は、それぞれ第2組のオーディオ断片における各オーディオ断片が音楽サブ断片である確率、及び第2組のオーディオ断片における各オーディオ断片が非音楽断片である確率を表すために用いられる。例えば、Softmax関数を使用して第2ニューラルネットワークの最後層の全結合層の出力(例えば、1次元マトリクス)に対してSoftmax操作を実行して、1次元マトリクス[c4,d4]を取得することができ、c4は、第2組のオーディオ断片における各オーディオ断片が音楽サブ断片である確率であり、d4は、第2組のオーディオ断片における各オーディオ断片が非音楽断片である確率であり、且つc4とd4は、c4+d4=1、0≦c4≦1、0≦d4≦1を満たす。例えば、第2ニューラルネットワークのパラメータを調整することによって、第2ニューラルネットワークの損失関数を最小化させ(第2組のオーディオ断片のオーディオ断片に対して)、第2ニューラルネットワークの最適化後のパラメータ、及びトレーニング後の第2ニューラルネットワークを取得することができる。
【0155】
例えば、ステップS830において、第3組のオーディオ断片、第1音楽認識モデル及び第2音楽認識モデルに基づいて第3ニューラルネットワークをトレーニングし、且つトレーニング後の第3ニューラルネットワークを第3音楽認識モデルとすることは、以下のステップS831~ステップS835を含む。
【0156】
ステップS831:第1音楽認識モデルに基づいて第3組のオーディオ断片における各オーディオ断片の第1トレーニング特徴ベクトルを抽出する。
【0157】
ステップS832:第3組のオーディオ断片における各オーディオ断片を所定数のオーディオサブ断片に分割する。
【0158】
ステップS833:第2音楽認識モデルに基づいて、所定数のオーディオサブ断片の各々の第2トレーニング特徴ベクトルを抽出する。
【0159】
ステップS834:第1トレーニング特徴ベクトルを第2トレーニング特徴ベクトルにコンキャティネイトして、コンキャティネイト後のトレーニング特徴ベクトルを取得する。
【0160】
ステップS835:コンキャティネイト後のトレーニング特徴ベクトルを第3ニューラルネットワークに提供し、且つ第3ニューラルネットワークの出力値に基づいて、第3ニューラルネットワークのパラメータを調整し、損失関数を最小化させる。
【0161】
例えば、ステップS831-ステップS835は、ステップS831、ステップS832、ステップS833、ステップS834及びステップS835の順序で実行されてもよい。また例えば、ステップS831-ステップS835は、ステップS832、ステップS833、ステップS831、ステップS834及びステップS835の順序で実行されてもよい。また例えば、ステップS831は、ステップS832及びステップS833の少なくとも1つの実行中に実行されてもよい。
【0162】
例えば、ステップS830において、第3組のオーディオ断片における各オーディオ断片の時間長は、ステップS10でのオーディオ断片の時間長に等しくてもよく、即ち、第3組のオーディオ断片における各オーディオ断片の時間長は、第1時間長t1(例えば、60秒)に等しくてもよく、これにより、ステップS830によって取得された第3音楽認識モデル(即ち、トレーニング後の第3ニューラルネットワーク)は、ステップS63でオーディオサブ断片が音楽サブ断片であるか否かを判定することに適する。例えば、第3ニューラルネットワークは、深さニューラルネットワークであってもよく、例えば、第3音楽認識モデルは、多層パーセプトロンモデルであってもよい。
【0163】
例えば、ステップS830では(即ち、第3ニューラルネットワークのトレーニングでは)、第1音楽認識モデル及び第2音楽認識モデルのパラメータは、変化しないままであり、即ち、ステップS830において、第1音楽認識モデル及び第2音楽認識モデルをいずれも特徴抽出器とする。例えば、第3組のオーディオ断片は、第1組のオーディオ断片と同じであっても異なっていてもよい。
【0164】
例えば、ステップS831において、トレーニング後の第1ニューラルネットワーク(即ち、第1音楽認識モデル)は、第3組のオーディオ断片における各オーディオ断片のオーディオ特徴から第1トレーニング特徴ベクトルを抽出することができ、例えば、トレーニング後の第1ニューラルネットワークは、少なくとも2層の全結合層を含み、トレーニング後の第1ニューラルネットワークに含まれる最後から2層目の全結合層(トレーニング後の第1ニューラルネットワークに含まれる最後層の全結合層の前の層に位置する全結合層)は、第1レーニング特徴ベクトルを出力するように構成されている。例えば、第1トレーニング特徴ベクトルの次元は、num_2×d(例えば、5×d)であり、ただし、dは、第2トレーニング特徴ベクトルの次元で、num_2は、第2数である。
【0165】
例えば、ステップS832において、所定の数は、第2数num_2であってもよく、所定数のオーディオサブ断片の各オーディオサブ断片の時間長は第2時間長t2(例えば、5秒)であってもよい。
【0166】
例えば、ステップS833において、トレーニング後の第2ニューラルネットワーク(即ち、第2音楽認識モデル)は、第3組のオーディオ断片における各オーディオ断片のオーディオ特徴から第2トレーニング特徴ベクトルを抽出することができ、例えば、トレーニング後の第2ニューラルネットワークは、少なくとも2層の全結合層を含み、トレーニング後の第2ニューラルネットワークに含まれる最後から2層目の全結合層(トレーニング後の第2ニューラルネットワークに含まれる最後層の全結合層の前の層に位置する全結合層)は、第2トレーニング特徴ベクトルを出力するように構成されている。例えば、各第2トレーニング特徴ベクトルの次元は、dであってもよい。
【0167】
例えば、ステップS834において、第3組のオーディオ断片における同じオーディオサブ断片に対応する第1トレーニング特徴ベクトル及び第2数の第2トレーニング特徴ベクトルに対してコンキャティネイト(concatenate)操作を実行して、コンキャティネイト後のトレーニング特徴ベクトルを取得することができ、コンキャティネイト後のトレーニング特徴ベクトルの次元は、2×num_2×d(例えば、10d)であってもよい。例えば、ステップS834において、コンキャティネイト用の第1トレーニング特徴ベクトル及び第2トレーニング特徴ベクトルは、第3組のオーディオ断片における同じオーディオ断片に対応する。
【0168】
例えば、ステップS835において、コンキャティネイト後のトレーニング特徴ベクトルを第3ニューラルネットワークに提供し、且つ第3ニューラルネットワークの出力値に基づいて、第3ニューラルネットワークのパラメータを調整して損失関数を最小化させることは、以下のステップS835a及びステップS835bを含む。
【0169】
ステップS835a:コンキャティネイト後のトレーニング特徴ベクトルを第3ニューラルネットワークに提供する。
【0170】
ステップS835b:第3ニューラルネットワークの出力値に基づいて、第3ニューラルネットワークのパラメータを調整して損失関数を最小化させる。
【0171】
例えば、損失関数の具体的な設定方法は、関連技術を参照すればよい。例えば、複数のサンプルに対して、実際の(ターゲット)値と予測値との間の二乗差の平均値を損失関数とし、且つステップS835bにおいて、第3ニューラルネットワークのパラメータを調整して損失関数を最小化させることができる。
【0172】
例えば、ステップS835において、第3ニューラルネットワークは、多層ニューラルネットワークであってもよく、多層ニューラルネットワークは、多層の全結合層を含むが、畳み込み層を有さない。例えば、多層ニューラルネットワーク(例えば、多層ニューラルネットワークの第1層の全結合層)は、上記コンキャティネイト後のトレーニング特徴ベクトルを受信するように構成されており、Softmax関数を使用して多層ニューラルネットワークにおける最後層の全結合層の出力に対してSoftmax操作を実行し、且つSoftmax操作を実行した後に取得されたデータ(予測値とする)及び実際の(ターゲット)値に基づいて第3ニューラルネットワークのパラメータを調整して第3ニューラルネットワークの損失関数を最小化させ、これにより、第3ニューラルネットワークの最適化後のパラメータ、及びトレーニング後の第3ニューラルネットワークを取得することができる。
【0173】
例えば、ステップS810~ステップS830の他に、本開示の少なくとも1つの実施例によるトレーニング方法は、ステップS840をさらに含む。
【0174】
ステップS840:オーディオ正サンプル及びオーディオ負サンプルを取得する。例えば、本開示の少なくとも1つの実施例によるトレーニング方法は、ステップS840で取得されたオーディオ正サンプルの少なくとも一部(少なくとも一部のオーディオ正サンプル)及びオーディオ負サンプルの少なくとも一部の(少なくとも一部のオーディオ負サンプル)に基づいて、第1組のオーディオ断片、第2組のオーディオ断片及び第3組のオーディオ断片を構築することをさらに含む。
【0175】
例えば、ステップS840は、以下のステップS841及びステップS842を含む。
【0176】
ステップS841:第4音楽認識モデルを使用して複数のサンプルオーディオ断片から候補正サンプル及び候補負サンプルを探す。
【0177】
ステップS842:候補正サンプルの少なくとも一部をオーディオ正サンプルの少なくとも一部とし、候補負サンプルの少なくとも一部をオーディオ負サンプルの少なくとも一部とする。
【0178】
例えば、ステップS841において、サンプルオーディオ断片の時間長はステップS10でのオーディオ断片の時間長に等しくてもよく、即ち、サンプルオーディオ断片の時間長は、第1時間長t1(例えば、60秒)に等しくてもよく、これにより、ステップS841で探された候補正サンプル及び候補負サンプルは、第1ニューラルネットワーク、第2ニューラルネットワーク及び第3ニューラルネットワークをトレーニングすることに適する。
【0179】
例えば、第4音楽認識モデルは、オフラインシナリオ用の音楽認識モデルであってもよい。例えば、サンプルオーディオ断片のオーディオ特徴を第4音楽認識モデルの入力とすることができる。例えば、サンプルオーディオ断片のMFCCオーディオ特徴(例えば、42次元の3次MFCCオーディオ特徴)を第4音楽認識モデルの入力とすることができる。
【0180】
例えば、第4音楽認識モデルは、複数のサンプルオーディオ断片に含まれる音楽断片を認識し、且つ出力することができる。例えば、第4音楽認識モデルによって音楽断片として認識されたオーディオサブ断片を候補正サンプルとしてマークすることができる。
【0181】
例えば、第4音楽認識モデルは、複数のサンプルオーディオ断片に含まれる非音楽断片を認識し、且つ出力することができ、例えば、第4音楽認識モデルによって非音楽断片として認識されたオーディオサブ断片を候補負サンプルとしてマークすることができる。また例えば、複数のサンプルオーディオ断片のうち、候補正サンプルとしてマークされていないオーディオサブ断片を候補負サンプルとしてマークすることができる。
【0182】
例えば、上記候補正サンプル及び候補負サンプルの少なくとも1タイプ(例えば、すべて)に対して手動再検査を行うことができる。例えば、手動再検査によって、候補正サンプルと誤認識された候補正サンプルを候補負サンプルとしてマークし、且つ候補負サンプルと誤認識された候補正サンプルを候補正サンプルとしてマークし、且つステップS842において、更新後の候補正サンプルの少なくとも一部(例えば、全て)をオーディオ正サンプルの少なくとも一部とし、更新後の候補負サンプルの少なくとも一部(例えば、全て)をオーディオ負サンプルの少なくとも一部とすることができる。例えば、手動再検査によって、候補正サンプルと誤認識された候補負サンプルとしてマークし、候補負サンプルと誤認識された候補正サンプルとしてマークすることを除去し、且つステップS842において、残りの候補正サンプル(即ち、第4音楽認識モデルによって探された候補正サンプルから、候補正サンプルと誤認識されたオーディオ負サンプルを除去して得られた全ての候補正サンプル)の少なくとも一部(例えば、全て)をオーディオ正サンプルの少なくとも一部とし、残りの候補負サンプル(即ち、第4音楽認識モデルによって探された候補負サンプルから、候補負サンプルと誤認識されたオーディオ正サンプルを除去して得られた全ての候補負サンプル)の少なくとも一部(例えば、全て)をオーディオ負サンプルの少なくとも一部とする。
【0183】
例えば、本開示の少なくとも1つの実施例では、オーディオ正サンプル及びオーディオ負サンプルを取得することは、第4音楽認識モデルを利用して複数のサンプルオーディオ断片から候補正サンプル及び候補負サンプルを探し、且つ候補正サンプルの少なくとも一部をオーディオ正サンプルの少なくとも一部とし、候補負サンプルの少なくとも一部をオーディオ負サンプルの少なくとも一部とすることを含み、この場合、オーディオ正サンプル及びオーディオ負サンプルを取得する効率を高めることができ、音楽断片判定用のニューラルネットワークをトレーニングする時間を縮むことができる。
【0184】
例えば、本開示の少なくとも1つの実施例では、オーディオ正サンプル及びオーディオ負サンプルを取得することは、第4音楽認識モデルを利用して複数のサンプルオーディオ断片から候補正サンプル及び候補負サンプルを探した後であって、候補正サンプルの少なくとも一部をオーディオ正サンプルの少なくとも一部とし、候補負サンプルの少なくとも一部をオーディオ負サンプルの少なくとも一部とする前、第4音楽認識モデルを利用して探された複数のサンプルオーディオ断片から候補正サンプル及び候補負サンプルに対して手動再検査を行うことをさらに含み、この場合、オーディオ正サンプル及びオーディオ負サンプルを取得する正確性を高め、オーディオ正サンプル及び/又はオーディオ負サンプルの検査漏れ率を低減させることができる。
【0185】
本開示の発明者らは、検討によれば、第4音楽認識モデルによって探された候補正サンプル及び候補負サンプル(例えば、オーディオ正サンプル及びオーディオ負サンプルのデータ分布)が、所定の規則を含む可能性があることに気が付いた。例えば、第4音楽認識モデルによって探された候補正サンプルは、特定のタイプの音楽に傾く可能性があり、これにより、第4音楽認識モデルは、いくつかのタイプの音楽を検査漏れする可能性があるため、第4音楽認識モデルによって探された候補正サンプル及び候補負サンプルの少なくとも一部のみをオーディオ正サンプル及びオーディオ負サンプルの少なくとも一部として使用すれば、第1音楽認識モデル、第2音楽認識モデル及び第3音楽認識モデルの少なくとも1つ(例えば、全て)にモデル偏りの問題が存在する(即ち、トレーニング後の第1ニューラルネットワーク、第2ニューラルネットワーク及び第3ニューラルネットワークの少なくとも1つに偏りの問題が存在する)可能性がある。
【0186】
例えば、ステップS841及びステップS842の他、ステップS840は、以下のステップS843をさらに含む。
【0187】
ステップS843:手動でキャリブレーションされた正サンプル及び負サンプルをそれぞれ取得されたオーディオ正サンプルの少なくとも一部及びオーディオ負サンプルの少なくとも一部とする。例えば、ステップS843において手動でキャリブレーションされた正サンプル及び負サンプルとは、完全に手動でキャリブレーションされた正サンプル及び負サンプルである。例えば、人工を使用してサンプルオーディオ断片から正サンプル(即ち、音楽断片)及び負サンプル(即ち、非音楽断片)を直接探すことができる。
【0188】
例えば、手動でキャリブレーションされた正サンプル及び負サンプルをそれぞれ取得されたオーディオ正サンプルの少なくとも一部及びオーディオ負サンプルの少なくとも一部とすることによって、第1音楽認識モデル、第2音楽認識モデル及び第3音楽認識モデルの少なくとも1つ(例えば、全て)にモデル偏りの問題が存在する可能性を低減させることができ、即ち、トレーニング後の第1ニューラルネットワーク、第2ニューラルネットワーク及び第3ニューラルネットワークの少なくとも1つの(例えば、全て)に偏りの問題が存在する可能性を低減させることができる。
【0189】
本開示の発明者らは、検討によれば、いくつかの電子音の特徴が音楽特徴と類似している可能性があることに気が付いた。これにより、第3音楽認識モデルは、電子音を含むが、音楽を含まないいくつかのオーディオサブ断片を音楽断片と誤認識する可能性があることによって、第3音楽認識モデルの認識正確率を低減させる可能性がある。
【0190】
例えば、ステップS841及びステップS842の他、ステップS840は、以下のステップS844をさらに含む。
【0191】
ステップS844:トレーニング方法の少なくとも一例では、オーディオ正サンプル及びオーディオ負サンプルを取得することは、電子雑音断片をオーディオ負サンプルの少なくとも一部とすることを含む。
【0192】
例えば、電子雑音断片をオーディオ負サンプルの少なくとも一部とすることによって、第3音楽認識モデルの認識正確率及びロバスト性(例えば、電子雑音に対するロバスト性)を高めることができ、トレーニング後の第3ニューラルネットワークの認識正確率及びロバスト性を高めることができる。
【0193】
例えば、音楽断片判定用のニューラルネットワークのトレーニング方法は、以上のステップS810~ステップS830及びステップS840を含む。例えば、ステップS840は、以上のステップS841、ステップS842、ステップS843及びステップS844を含む。
【0194】
例えば、第1ニューラルネットワーク、第2ニューラルネットワーク及び第3ニューラルネットワークをトレーニングする時、採用されるオーディオ正サンプルの全時間長は、3時間ほどであり(例えば、に等しく)、採用されるオーディオ負サンプルの全時間長は、3時間よりも大きく(例えば、はるかに大きく)、採用される電子雑音の全時間長は、10分ほどである(例えば、に等しい)。
【0195】
図6Aは、本開示の少なくとも1つの実施例による音楽断片判定用のニューラルネットワークのトレーニング方法の第1部分の概略的なフローチャートであり、
図6Bは、本開示の少なくとも1つの実施例による音楽断片判定用のニューラルネットワークのトレーニング方法の第2部分の概略的なフローチャートであり、
図6Cは、本開示の少なくとも1つの実施例によるダンス断片認識方法を示す概略的なフローチャートであり、
図6Cは、さらに本開示の少なくとも1つの実施例による第3ニューラルネットワークをトレーニングする部分を示す概略図である。
【0196】
以下、
図6A~
図6Cを結び付けながら、本開示の少なくとも1つの実施例によるダンス断片認識方法及び音楽断片判定用のニューラルネットワークのトレーニング方法について例示的に説明する。説明すべきこととして、
図6A~
図6Cは、オンライン授業ビデオ(オンラインコースとも呼ばれる)に含まれるビデオ断片がダンス断片を含むか否かを検出することを例にして、本開示の少なくとも1つの実施例による音楽断片判定用のニューラルネットワークのトレーニング方法及びダンス断片認識方法について例示的に説明するが、本開示の少なくとも1つの実施例は、これに限らない。
【0197】
例えば、
図6Aに示すように、以下の方法を使用して、第1ニューラルネットワーク及び第2ニューラルネットワークをトレーニングするための正サンプル及び負サンプル(即ち、オーディオ正サンプル及びオーディオ負サンプル)を取得することができる。
【0198】
まず、大量のオンラインコースの長いビデオを分割して、複数の(例えば、大量の)ビデオ断片(ビデオストリーム)を取得し、ここで、ビデオ断片の時間長は、1分である。
【0199】
次に、Redisキュー(Redisに基づくメッセージキュー)を利用して上記複数のビデオ断片(ビデオストリーム)を伝送し、ここで、Redisは、データベースである。例えば、さらに上記複数のビデオ断片をクラウドメモリ(例えば、アリクラウドオブジェクトストレージサービス、OSS)及びデータベースにアップロードしてもよい。
【0200】
そして、複数の(例えば、大量の)ビデオ断片から複数のオーディオ断片を抽出し、且つ上記抽出されたオーディオ断片から正サンプル及び負サンプルを取得する。以下の2つの方法のうちの少なくとも1つに基づいて、上記抽出された複数のオーディオ断片から正サンプル及び負サンプルを取得することができる。
【0201】
第1方法では、抽出されたオーディオ断片をオフライン音楽モデル(例えば、オフラインシナリオ用の音楽認識モデル)に提供し、抽出されたオーディオ断片をオフライン音楽モデルの入力データとすることができる。オフライン音楽モデルは、オフライン音楽モデルによって正サンプルと認識されたオーディオサブ断片を出力することができる。例えば、オフライン音楽モデルによって正サンプルと認識されたオーディオサブ断片に対して手動再検査を行って、オフライン音楽モデルによって正サンプルと認識されたオーディオサブ断片から、真の音楽断片をオーディオ正サンプルとして探し、正サンプルと誤認識されたオーディオサブ断片をオーディオ負サンプルとしてマークすることができる。第2方法では、オフライン音楽モデルを介せずに、手動だけでいくつかの真のオンラインシナリオの音楽データ(音楽断片)をオーディオ正サンプルとしてマークし、真のオンラインシナリオの非音楽断片をオーディオ負サンプルとしてマークする。
【0202】
例えば、第1方法を採用して複数のオーディオ断片から正サンプル及び負サンプルを取得することによって、正サンプル及び負サンプルを取得する効率を高めることができ、第
2方法を採用して複数のオーディオ断片から正サンプル及び負サンプルを取得することによって、モデル(第1音楽認識モデル、第2音楽認識モデル及び第3音楽認識モデルの少なくとも1つ)に偏りの問題が存在する可能性を低減させることができる。例えば、第1方法と第2方法を組み合わせることによって、正サンプル及び負サンプルを取得する効率を高めることができるだけではなく、さらにモデル(第1音楽認識モデル、第2音楽認識モデル及び第3音楽認識モデルの少なくとも1つ)に偏りの問題が存在する可能性を低減させることができる。
例えば、
図6Bに示すように、正負サンプルのセット(例えば、同時に第1方法及び第2方法を採用して取得された正負サンプルのセット)をラベル付きのオンラインシナリオ断片ライブラリとし、且つ第1音楽認識モデル、第2音楽認識モデル及び第3音楽認識モデルの少なくとも1つ(例えば、全て)のトレーニングに用いることができる。
【0203】
例えば、
図6Bに示すように、第1ニューラルネットワークをトレーニングして第1音楽認識モデルを取得する過程において(即ち、
図6Bに示すCNN音楽モデルのトレーニング過程において)、第1ニューラルネットワークが受信したオーディオ断片の時間長を5秒にする(即ち、
図6Bに示す5秒単位でCNN音楽モデルをトレーニングする)ことができ、例えば、第1ニューラルネットワークに含まれる最後から2番目の全結合層に300個のニューラルユニットを設置することができ、これに対応して、第1ニューラルネットワークを使用して、時間長が5秒のオーディオ断片に基づいて300次元の特徴ベクトルを取得することができる(即ち、
図6Bに示す5秒のオーディオ断片を300次元の特徴ベクトルにコーディングすることができる)。
【0204】
例えば、
図6Bに示すように、第2ニューラルネットワークをトレーニングして第2音楽認識モデルを取得する過程において(即ち、
図6Bに示すCNN音楽モデルのトレーニング過程において)、第2ニューラルネットワークの受信したオーディオ断片の時間長を1秒にする(即ち、
図6Bに示す1秒単位でCNN音楽モデルをトレーニングする)ことができ、例えば、第2ニューラルネットワークに含まれる最後からの2番目の全結合層に60個のニューラルユニットを設置することができ、これに対応して、第2ニューラルネットワークを使用して、時間長が1秒のオーディオ断片に基づいて60次元の特徴ベクトルを取得することができる(即ち、
図6Bに示す1秒のオーディオ断片を60次元の特徴ベクトルにコーディングすることができる)。例えば、時間長が5秒のオーディオ断片を5つの1秒のオーディオ断片に分割できるため、上記5つの1秒のオーディオ断片に対応する5つの60次元の特徴ベクトルを300次元(5×60次元)の特徴ベクトルにコンキャティネイトすることができ、上記300次元(5×60次元)の特徴ベクトルは、上記時間長が5秒のオーディオ断片を表すために用いられてもよい。
【0205】
例えば、
図6Bに示すように、時間長が5秒の同じオーディオ断片に対して、第1ニューラルネットワークを使用して300次元の特徴ベクトルを取得し、上記時間長が5秒の同じオーディオ断片を表し、且つ第2ニューラルネットワークを使用して300次元(5×60次元)の特徴ベクトルを取得することができ、そして、上記2つの300次元の特徴ベクトルに対してコンキャティネイト(concatenate)操作を実行することで、上記時間長が5秒の同じオーディオ断片を表して、時間長が5秒の同じオーディオ断片に対応する600次元の特徴ベクトルを取得することができ、この600次元の特徴ベクトルは、上記時間長が5秒の同じオーディオ断片を表すために用いられる。
図6Cに示すように、上記時間長が5秒のオーディオ断片から抽出された600次元の特徴ベクトルは、コンキャティネイト後の特徴として、基準多層パーセプトロンモデルの構築に用いられる。例えば、上記構築済みの基準多層パーセプトロンモデルは、音楽認識器として、本開示の少なくとも1つの実施例によるダンス断片認識方法に用いられる。
【0206】
例えば、
図6Cに示すように、上記の音楽認識器に基づいて、以下の方法を採用してダンス断片認識を行うことができる。
【0207】
まず、
図6Cに示すように、予測すべき(認識すべき)1分のビデオストリーム(ビデオ断片)からオーディオ(オーディオ断片)を抽出し、且つオーディオ(オーディオ断片)を12個の5秒の短いオーディオ(オーディオサブ断片)に分割する。
【0208】
そして、
図6Cに示すように、上記12個の5秒の短いオーディオ(オーディオサブ断片)の各々に対して、上記第1ニューラルネットワーク及び第2ニューラルネットワークを使用して600次元の特徴ベクトル(コンキャティネイト後の特徴ベクトル)を取得し、且つ上記600次元の特徴ベクトル(コンキャティネイト後の特徴ベクトル)を音楽認識器に入力し、上記12個の5秒の短いオーディオ(オーディオサブ断片)の各々が音楽サブ断片であるか、非音楽サブ断片であるかを判定する。
【0209】
次に、
図6Cに示すように、上記1分のビデオに含まれる12個の5秒のオーディオサブ断片のうち、連続した3~12個の5秒のオーディオサブ断片が音楽サブ断片と認識されか否かを判定し、上記1分のビデオに含まれる12個の5秒のオーディオサブ断片のうち、連続した3~12個の5秒のオーディオサブ断片が音楽サブ断片と認識された場合、上記連続した3~12個の5秒のオーディオサブ断片に対応するビデオ断片を候補ダンス断片とする。
【0210】
例えば、
図6Cに示すように、候補ダンス断片から1秒1フレームで画像を抽出し、且つ抽出された画像の各フレームに対して、openposeに基づいて候補ダンス断片に含まれるこのフレームの画像の骨格情報を抽出して、候補ダンス断片に含まれるマルチフレーム画像の骨格情報に基づいて、候補ダンス断片に含まれるダンスのフレーム数が第1の所定の閾値を超えるか否かを判断し、候補ダンス断片に含まれるダンスのフレーム数が第1の所定の閾値を超えると判定する場合、候補ダンス断片を音楽及びダンス断片と判定し、候補ダンス断片に含まれるダンスのフレーム数が第1の所定の閾値を超えないと判定する場合、候補ダンス断片を非ダンス断片と判定する。
【0211】
本開示の少なくとも1つの実施例は、記憶媒体(例えば、非一時的記憶媒体)をさらに提供する。
図7は、本開示の少なくとも1つの実施例による記憶媒体の概略ブロック図である。
図7に示すように、この記憶媒体にコンピュータプログラム命令が記憶されており、コンピュータプログラム命令がプロセッサにより実行されると、ビデオ断片におけるオーディオ断片を抽出することと、オーディオ断片が時間長が所定の時間長以上の音楽断片を含むことに応答して、ビデオ断片に含まれる音楽断片に対応するビデオサブ断片を候補ダンス断片とすることと、候補ダンス断片のマルチフレーム画像のうちダンス動作を有する画像のフレーム数が第1の所定の閾値よりも大きいことに応答して、候補ダンス断片をダンス断片と判定することとを含む方法をコンピュータに実行させる。例えば、この記憶媒体は、ビデオ断片におけるダンス断片を認識する速度を高めることができる。
【0212】
例えば、この記憶媒体に記憶されたコンピュータプログラム命令がプロセッサにより実行されると、以上のいずれかの実施例によるダンス断片認識方法をコンピュータに実行させることができ、ここでこれ以上説明しない。
【0213】
例えば、記憶媒体は、有形の記憶媒体、キャリア媒体又は物理伝送媒体などを含む様々な形態を有することができる。安定した記憶媒体は、光ディスク又は磁気ディスク、及び他のコンピュータ又は類似している機器で使用される、図面に記述されているシステムコンポーネントを実現できる記憶システムを含んでもよい。安定しない記憶媒体は、動的メモリ、例えばコンピュータプラットフォームのメインメモリなどを含んでもよい。有形の伝送媒体は、同軸ケーブル、銅ケーブル及び光ファイバ、例えばコンピュータシステムの内部にバスを形成する回線を含んでもよい。キャリア伝送媒体は、電気信号、電磁信号、音波信号、又は光波信号などを伝送することができる。これらの信号は、無線周波数又は赤外線データ通信の方法によって生成することができる。一般的な記憶媒体(例えば、コンピュータ可読媒体)は、ハードディスク、フロッピーディスク、磁気テープ、その他の任意の磁気媒体;CD-ROM、DVD、DVD-ROM、任意の他の光学媒体;パンチカード、孔パターンを含む任意の他の物理記憶媒体;RAM、PROM、EPROM、FLASH-EPROM、任意の他のメモリチップ又は磁気テープ;データ又は命令を伝送するキャリア、ケーブル又はキャリアを伝送する接続装置、コンピュータプログラム命令(例えば、プログラムコード)及び/又はコンピュータを利用して読み取ることができる任意の他のデータを含む。
【0214】
本開示の操作を実行するためのコンピュータプログラム命令(例えば、プログラムコード)を1つ又は複数のプログラミング言語又はそれらの組み合わせで記述することができ、上記プログラミング言語は、オブジェクト指向プログラミング言語、例えばJava、Smalltalk、C++を含むが、これに限らず、従来の手続き型プログラミング言語、例えば「C」言語又は類似しているプログラミング言語をさらに含む。プログラムコードは、完全にユーザコンピュータ上で実行してもよく、部分的にユーザコンピュータ上で実行してもよく、独立したソフトウェアパッケージとして実行してもよく、部分的にユーザコンピュータ上で部分的にリモートコンピュータ上で実行してもよく、又は完全にリモートコンピュータ又はサーバ上で実行してもよい。リモートコンピュータに係る場合、リモートコンピュータは、ローカルエリアネットワーク(LAN)又は広域ネットワーク(WAN)を含む任意の種類のネットワークを介してユーザコンピュータに接続されてもよく、又は、外部コンピュータに接続されてもよい(例えばインターネットサービスプロバイダを用いてインターネットを介して接続される)。
【0215】
本開示の少なくとも1つの実施例は、ダンス断片認識装置をさらに提供する。
図8は、本開示の少なくとも1つの実施例によるダンス断片認識装置の概略ブロック図である。
図8に示すように、このダンス断片認識装置は、プロセッサとメモリとを含む。メモリには、プロセッサが実行するのに適するコンピュータプログラム命令が記憶されており、コンピュータプログラム命令がプロセッサにより実行されると、ビデオ断片におけるオーディオ断片を抽出することと、オーディオ断片が時間長が所定の時間長以上の音楽断片を含むことに応答して、ビデオ断片に含まれる音楽断片に対応するビデオサブ断片を候補ダンス断片とすることと、候補ダンス断片のマルチフレーム画像のうちダンス動作を有する画像のフレーム数が第1の所定の閾値よりも大きいことに応答して、候補ダンス断片をダンス断片と判定することとを含む方法をプロセッサに実行させる。例えば、このダンス断片認識装置は、ビデオ断片におけるダンス断片を認識する速度を高めることができる。
【0216】
例えば、このプロセッサは、例えば、中央処理ユニット(CPU)、グラフィックスプロセッサGPU、テンソルプロセッサ(TPU)又はデータ処理能力及び/又は命令実行能力を有する他の形態の処理ユニットであり、例えば、このプロセッサは、汎用プロセッとして実現されてもよく、シングルチップコンピューター、マイクロプロセッサ、デジタルシグナルプロセッサ、専用の画像処理チップ、又はフィールドプログラマブル論理アレイなどであってもよい。例えば、メモリは、揮発性メモリ及び非揮発性メモリの少なくとも1つを含んでもよく、例えばメモリは、リードオンリーメモリ(ROM)、ハードディスク、フラッシュなどを含んでもよい。それに応じて、このメモリは、1つ又は複数のコンピュータプログラム製品として実現されてもよく、前記コンピュータプログラム製品は、様々な形態のコンピュータ可読記憶媒体を含んでもよく、前記コンピュータ可読記憶媒体は、1つ又は複数のコンピュータプログラム命令を記憶することができる。プロセッサは、前記プログラム命令を実行して、本開示の少なくとも1つの実施例によるいずれかのダンス断片認識方法を実行することができる。このメモリは、さらに、その他の様々なアプリケーションプログラム及び様々なデータ、例えば、前記アプリケーションプログラムが使用及び/又は生成した様々なデータなどを記憶することができる。
【0217】
本開示の少なくとも1つの実施例は、別のダンス断片認識装置をさらに提供する
図9は、本開示の少なくとも1つの実施例による別のダンス断片認識装置の概略ブロック図である。
図9に示すように、上記別のダンス断片認識装置は、オーディオ断片抽出モジュールと、候補ダンス断片判定モジュールと、ダンス断片判定モジュールとを含む。オーディオ断片抽出モジュールは、ビデオ断片におけるオーディオ断片を抽出するように構成されており、候補ダンス断片判定モジュールは、オーディオ断片が時間長が所定の時間長以上の音楽断片を含むことに応答して、ビデオ断片に含まれる音楽断片に対応するビデオサブ断片を候補ダンス断片とするように構成されており、ダンス断片判定モジュールは、候補ダンス断片のマルチフレーム画像のうちダンス動作を有する画像のフレーム数が第1の所定の閾値よりも大きいことに応答して、候補ダンス断片をダンス断片と判定するように構成されている。例えば、このダンス断片認識装置は、ビデオ断片におけるダンス断片を認識する速度を高めることができる。
【0218】
例えば、本開示の少なくとも1つの実施例によるオーディオ断片抽出モジュール、候補ダンス断片判定モジュール及びダンス断片判定モジュール並びに本開示の少なくとも1つの実施例に記述された機能は、ソフトウェア、ファームウェア、ハードウェア(例えば、ハードウェア論理部品)及びそれらの任意の組み合わせによって実現されてもよく、いくつかの例では、本開示の少なくとも1つの実施例によるオーディオ断片抽出モジュール、候補ダンス断片判定モジュール及びダンス断片判定モジュールは、少なくとも部分的に1つ又は複数のハードウェア論理部品によって実行されてもよい。例えば、非限定的には、使用できる例示的なタイプのハードウェア論理部品は、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、専用仕様製品(ASSP)オンチップシステム(SOC)、複雑プログラマブル論理デバイス(CPLD)などなどを含む。
【0219】
例えば、本開示の少なくとも1つの実施例の別のダンス断片認識装置は、オーディオサブ断片分割モジュールと音楽断片判定モジュールとをさらに含む。オーディオサブ断片分割モジュールは、オーディオ断片を複数のオーディオサブ断片に分割するように構成されている。音楽断片判定モジュールは、複数のオーディオサブ断片のうち順に接続された第1数のオーディオサブ断片がいずれも音楽サブ断片と判定されたことに応答して、順に接続される第1数のオーディオサブ断片の組み合わせを音楽断片の少なくとも一部と判定するように構成されている。
【0220】
例えば、この第1数は、3以上の整数である。
【0221】
例えば、本開示の少なくとも1つの実施例の別のダンス断片認識装置は、第1音楽認識モデルモジュールと、第2音楽認識モデルモジュールと、コンキャティネイトモジュールと、第3音楽認識モデルモジュールとをさらに含む。第1音楽認識モデルモジュールは、複数のオーディオサブ断片のうちの少なくとも一部のオーディオサブ断片の各オーディオサブ断片の第1特徴ベクトルを抽出するように構成されている。第2音楽認識モデルモジュールは、複数のオーディオサブ断片のうちの少なくとも一部のオーディオサブ断片の各オーディオサブ断片を第2数のオーディオ子サブ断片に分割することに応答して、第2数のオーディオ子サブ断片の各々の第2特徴ベクトルを抽出するように構成されている。コンキャティネイトモジュールは、同じオーディオサブ断片に対応する第1特徴ベクトルを第2数の第2特徴ベクトルにコンキャティネイトして、同じオーディオサブ断片に対応するコンキャティネイト後の特徴ベクトルを取得するように構成されている。第3音楽認識モデルモジュールは、同じオーディオサブ断片に対応するコンキャティネイト後の特徴ベクトルを取得し、且つ同じオーディオサブ断片が音楽サブ断片であるか否かを判定するように構成されている。
【0222】
説明すべきこととして、明確かつ簡潔に示すために、本開示の実施例は、上記別のダンス断片認識装置の全ての構成ユニットを与えていない。当業者は、特に必要に応じて、他の図示しない構成ユニットを提供し、設置することができ、本開示は、これについて限定しない。
【0223】
図10は、本開示の少なくとも1つの実施例によるダンス断片認識装置の例示的なシナリオ図を示す。
図10に示すように、このダンス断片認識装置300は、端末310と、ネットワーク320と、サーバ330と、データベース340とを含んでもよい。例えば、
図10に示すダンス断片認識装置は、本開示の少なくとも1つの実施例によるダンス断片認識方法に基づいて実現されてもよい。
【0224】
例えば、端末310は、
図10に示すコンピュータ310-1、携帯型端末310-2であってもよいが、本開示の少なくとも1つの実施例は、これに限らない。理解できるように、端末は、さらに、データの受信、処理及び表示を実行できる任意の他のタイプの電子機器であってもよく、それは、デスクトップ、ノートパソコン、タブレットコンピュータ、携帯電話のいずれか1つ又は任意の組み合わせを含んでもよい。
【0225】
例えば、前記ネットワーク320は、単一のネットワーク、又は少なくとも2つの異なるネットワークの組み合わせであってもよい。例えば、ネットワーク320は、ローカルエリアネットワーク、広域ネットワーク、パブリックネットワーク、プライベートネットワーク、インターネット、モビリティ通信ネットワークなどのうちの1つ又は複数の組み合わせを含んでもよいが、それらに限られない。
【0226】
例えば、このサーバ330は、独立したサーバ、又は、サーバグループであってもよく、サーバグループ内の各サーバは、有線ネットワーク又は無線ネットワークを介して接続される。有線ネットワークは、例えば、ツイストペア、同軸ケーブル、又は光ファイバ伝送などの方式で通信することができ、無線ネットワークは、例えば3G/4G/5Gモビリティ通信ネットワーク、ブルートゥース、Zigbee又はWiFiなどの通信方式を採用することができる。本開示は、ここでネットワークのタイプ及び機能について制限しない。このサーバグループは、例えばデータセンターの集中型サーバグループであってもよく、分散型サーバグループであってもよい。サーバは、ローカル又はリモートであってもよい。例えば、このサーバ330は、汎用型サーバ又は専用型サーバであってもよく、仮想サーバ又はクラウドサーバなどであってもよい。
【0227】
例えば、データベース340は、端末310及びサーバ330の作動中に利用され、生成され、出力された様々なデータを記憶するために使用されてもよい。データベース340は、ネットワーク320を介してサーバ330又はサーバ330の一部と相互に接続又は通信してもよく、又はサーバ330と直接互いに接続又は通信してもよく、又は上記2つの方式の組み合わせを介してサーバ330と互いに接続又は通信することを実現してもよい。いくつかの実施例では、データベース340は、独立した機器であってもよい。別の実施例では、データベース340は、端末310及びサーバ330の少なくとも1つに集積されてもよい。例えば、データベース340は、端末310に設置されてもよく、サーバ330に設置されてもよい。また例えば、データベース340は、端末310に一部が設置され、サーバ330に他の一部が設置された分散型であってもよい。
【0228】
例えば、サーバ330は、複数のビデオ断片を受信し(例えば、データベース340又はメッセージシステムから受信し)、且つ複数のビデオ断片の各々に対して本開示の少なくとも1つの実施例によるダンス断片認識方法を実行することができる。例えば、本開示の少なくとも1つの実施例によるダンス断片認識方法を実行して認識されたダンス断片をデータベース(例えば、専用データベース)に記憶することができ、認識されたダンス断片を端末310(例えば、コンピュータ)に記憶することに比べて、必要があれば、認識されたダンス断片を容易に利用することができる。例えば、認識されたダンス断片を利用して例えば短いビデオダイジェストを製作すると、端末310は、データベース340から認識されたダンス断片を読み取ることができる。
【0229】
例えば、サーバ330は、第1組のオーディオ断片、第2組のオーディオ断片及び第3組のオーディオ断片を受信することができる。また例えば、サーバ330は、オンラインコースビデオを受信し、且つ音楽断片判定用のニューラルネットワークのトレーニング方法に基づいて、第1組のオーディオ断片、第2組のオーディオ断片及び第3組のオーディオ断片の少なくとも一部を取得することができる。
【0230】
例えば、サーバ330は、音楽断片判定用のニューラルネットワークのトレーニング方法に基づいて、第1組のオーディオ断片、第2組のオーディオ断片及び第3組のオーディオ断片を利用して第1音楽認識モデル、第2音楽認識モデル及び第3音楽認識モデルを構築することができる。この第1音楽認識モデル、第2音楽認識モデル及び第3音楽認識モデルは、本開示の少なくとも1つの実施例によるダンス断片認識方法に用いられてもよい。
【0231】
本願の実施例による方法は、
図11に示す計算機器400のアーキテクチャによって実現されてもよい。
【0232】
図11は、本開示の少なくとも1つの実施例による計算機器400のアーキテクチャを示す。
図11に示すように、計算機器400は、バス410、1つ又は少なくとも2つのCPU 420、リードオンリーメモリ(ROM)430、ランダムアクセスメモリ(RAM)440、ネットワークに接続された通信ポート450、入力/出力コンポーネント460、ハードディスク470などを含んでもよい。計算機器400における記憶機器(例えば、ROM 430又はハードディスク470)は、本開示の少なくとも1つの実施例によるダンス断片認識方法に対応する命令及び様々な関連するデータ又はファイルを記憶することができる。計算機器400は、ヒューマンマシンユーザインタフェース480をさらに含んでもよい。無論、
図11に示すアーキテクチャは、例示的なものに過ぎず、異なる機器を実現する時、実際のニーズに応じて、
図11に示す計算機器のうちの1つ又は少なくとも2つのコンポーネントを省略することができる。
【0233】
例えば、本開示の少なくとも1つの実施例によるダンス断片認識方法の装置又はプログラムモジュールは、様々なオペレーティングシステム(例えば、オペレーティングシステムは、Windows、Linux、IOS又はAndroidを含むが、それらに限らない)において動作することができ、これにより、本開示の少なくとも1つの実施例によるダンス断片認識方法、ダンス断片認識装置及び記憶媒体の応用範囲を広げる。
【0234】
例えば、本開示の少なくとも1つの実施例によるダンス断片認識方法は、人件費及びハードウェア機器コストを低減させることができる(例えば、複数のコンピュータを使用することなくサーバで実現することができる)。
【0235】
例えば、本開示の少なくとも1つの実施例によるダンス断片認識方法は、速度が速く、オンライン授業ビデオをリアルタイムに処理することができ(オンライン授業ビデオストリームの速度に追従することができ)、この場合、保護者は、子供がいる授業のダンス断片をリアルタイムで見ることができる。
【0236】
例えば、本開示の少なくとも1つの実施例によるダンス断片認識方法は、人工知能深さ学習技術及び移動窓ルールに基づいて、独自の大量の真のデータセットをトレーニングすることによって、モデルの指向性が強く、認識効果が大幅に高まる。
【0237】
例えば、本開示の少なくとも1つの実施例によるダンス断片認識方法は、技術拡張性が強く、この技術フレームワークは、他の新たに開発された行為認識インターフェースを受け入れることによって、他の行為を同期に検出することができる。
【0238】
以上に一般的な説明及び具体的な実施形態を用いて、本開示について詳細に説明したが、本開示の実施例に基づいて、いくつかの修正又は改善を行うことができ、これは、当業者にとって自明なものである。したがって、本開示の精神から逸脱することなくなされたこれらの修正又は改良は、すべて本開示が保護を要求する範囲に属する。
【0239】
上記は本開示の例示的な実施形態にすぎず、本開示の保護範囲を制限するためのものではなく、本開示の保護範囲は、添付の請求項によって決定される。