(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-05-26
(54)【発明の名称】オブジェクト追跡方法、オブジェクト追跡装置、コンピュータプログラム、及び電子機器
(51)【国際特許分類】
G06T 7/20 20170101AFI20220519BHJP
【FI】
G06T7/20 300Z
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2021556570
(86)(22)【出願日】2020-08-14
(85)【翻訳文提出日】2021-09-17
(86)【国際出願番号】 CN2020109272
(87)【国際公開番号】W WO2021036828
(87)【国際公開日】2021-03-04
(31)【優先権主張番号】201910810167.7
(32)【優先日】2019-08-29
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】517392436
【氏名又は名称】▲騰▼▲訊▼科技(深▲セン▼)有限公司
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】唐 梦云
(72)【発明者】
【氏名】周 文
(72)【発明者】
【氏名】▲陳▼ 泳君
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096FA02
5L096FA18
5L096FA67
5L096FA69
5L096HA04
5L096HA08
5L096HA11
5L096JA22
5L096KA04
5L096KA15
(57)【要約】
オブジェクト追跡方法、装置、記憶媒体、及び電子機器に関する。方法は、カメラによって収集されたビデオストリームを取得し、ビデオストリームを復号することにより、複数のフレームの画像を取得するステップ(1201)と、処理対象の現在のフレームの画像について、現在のフレームの画像が第1タイプの画像であることに応答して、現在のフレームの画像に対してオブジェクト検出を行うことにより、被検出オブジェクトの現在のフレームの画像における位置情報を取得するステップ(1202)と、現在のフレームの画像が第2タイプの画像であることに応答して、1つ前のフレームの画像の動きベクトルに基づいて、1つ前のフレームの画像における被検出オブジェクトの、現在のフレームの画像における位置情報を予測するステップ(1203)と、を含む。該方法によれば、リアルタイムな追跡速度が確保されるだけでなく、取得された追跡結果の精度が確保される。
【特許請求の範囲】
【請求項1】
オブジェクト追跡方法であって、電子機器に適用され、
カメラによって収集されたビデオストリームを取得し、前記ビデオストリームを復号することにより、複数のフレームの画像を取得するステップと、
処理対象の現在のフレームの画像について、前記現在のフレームの画像が第1タイプの画像であることに応答して、前記現在のフレームの画像に対してオブジェクト検出を行うことにより、被検出オブジェクトの前記現在のフレームの画像における位置情報を取得するステップと、
前記現在のフレームの画像が第2タイプの画像であることに応答して、1つ前のフレームの画像の動きベクトルに基づいて、前記1つ前のフレームの画像における被検出オブジェクトの、前記現在のフレームの画像における位置情報を予測するステップと、
を含むことを特徴とするオブジェクト追跡方法。
【請求項2】
前記第1タイプの画像は、前記複数のフレームの画像のうちの検出フレームであり、前記第2タイプの画像は、前記複数のフレームの画像のうちの追跡フレームであり、
前記複数のフレームの画像のうち、復号された1番目のフレームの画像は前記検出フレームであり、2つずつの前記検出フレームの間に1つ又は複数の前記追跡フレームが置かれる、
ことを特徴とする請求項1に記載の方法。
【請求項3】
前記現在のフレームの画像が前記第1タイプの画像であることに応答して、
前記現在のフレームの画像に対してオブジェクト検出を行った後、前記現在のフレームの画像における被検出オブジェクトに対してキーポイント検出を行うステップと、
取得されたキーポイント検出結果と、前記現在のフレームの画像の動きベクトルとに基づいて、前記現在のフレームの画像における被検出オブジェクトの、次のフレームの画像における位置情報を予測するステップと、をさらに含む、
ことを特徴とする請求項1に記載の方法。
【請求項4】
前記現在のフレームの画像における被検出オブジェクトは、1つ又は複数であり、取得されたキーポイント検出結果と、前記現在のフレームの画像の動きベクトルとに基づいて、前記現在のフレームの画像における被検出オブジェクトの、次のフレームの画像における位置情報を予測する前記ステップは、
被検出オブジェクトごとに、前記被検出オブジェクトのキーポイント検出結果に基づいて、前記被検出オブジェクトを複数の領域に分割するステップと、
前記現在のフレームの画像の動きベクトルに基づいて、前記被検出オブジェクトの各領域の動きベクトルオフセットを取得するステップと、
前記各領域の動きベクトルオフセットに基づいて、前記被検出オブジェクトの前記次のフレームの画像における位置情報を予測するステップと、を含む、
ことを特徴とする請求項3に記載の方法。
【請求項5】
前記現在のフレームの画像が第2タイプの画像であることに応答して、
次のフレームの画像が前記追跡フレームであることに応答して、前記現在のフレームの画像の動きベクトルに基づいて、前記現在のフレームの画像における被検出オブジェクトの、前記次のフレームの画像における位置情報を予測するステップをさらに含む、
ことを特徴とする請求項1に記載の方法。
【請求項6】
前記現在のフレームの画像の動きベクトルに基づいて、前記現在のフレームの画像における被検出オブジェクトの、前記次のフレームの画像における位置情報を予測する前記ステップは、
前記現在のフレームの画像の動きベクトルに基づいて、前記被検出オブジェクトの各領域の動きベクトルオフセットを取得するステップと、
前記各領域の動きベクトルオフセットに基づいて、前記被検出オブジェクトの前記次のフレームの画像における位置情報を予測するステップと、を含む、
ことを特徴とする請求項5に記載の方法。
【請求項7】
前記現在のフレームの画像の動きベクトルに基づいて、前記被検出オブジェクトの各領域の動きベクトルオフセットを取得する前記ステップは、
前記被検出オブジェクトの領域ごとに、前記現在のフレームの画像の動きベクトルに基づいて、前記領域における各画素点の動きベクトルを取得するステップと、
前記領域に含まれる画素点の総数と、前記領域における各画素点の動きベクトルとに基づいて、前記領域の動きベクトルオフセットを取得するステップと、を含む、
ことを特徴とする請求項4又は6に記載の方法。
【請求項8】
前記各領域の動きベクトルオフセットに基づいて、前記被検出オブジェクトの前記次のフレームの画像における位置情報を予測する前記ステップは、
前記各領域の動きベクトルオフセットに基づいて、前記各領域を平行移動させることにより、前記各領域の前記次のフレームの画像における位置情報を取得するステップと、
予測した前記各領域の前記次のフレームの画像における位置情報に基づいて、前記次のフレームの画像において、前記各領域を囲む1つの境界ボックスを生成することにより、前記被検出オブジェクトの前記次のフレームの画像における位置情報を取得するステップと、を含む、
ことを特徴とする請求項4又は6に記載の方法。
【請求項9】
カメラによって収集されたビデオストリームを取得する前記ステップは、
端末から送信された、前記カメラに対するオブジェクト追跡要求を受信すると、前記カメラによって収集されたビデオストリームを取得するステップを含む、
ことを特徴とする請求項1に記載の方法。
【請求項10】
前記被検出オブジェクトの前記現在のフレームの画像における位置情報を前記端末に送信し、前記端末によって、前記被検出オブジェクトの前記現在のフレームの画像における位置情報を表示するステップをさらに含む、
ことを特徴とする請求項9に記載の方法。
【請求項11】
前記被検出オブジェクトが歩行者であることに応答して、前記現在のフレームの画像における被検出オブジェクトに対してキーポイント検出を行う前記ステップは、
前記現在のフレームの画像における歩行者に対して人体骨格のキーポイント検出を行うステップを含み、
前記被検出オブジェクトのキーポイント検出結果に基づいて、前記被検出オブジェクトを複数の領域に分割する前記ステップは、
前記歩行者の人体骨格のキーポイント検出の結果に基づいて、前記歩行者を複数の人体領域に分割するステップを含む、
ことを特徴とする請求項4に記載の方法。
【請求項12】
オブジェクト追跡装置であって、
カメラによって収集されたビデオストリームを取得する取得モジュールと、
前記ビデオストリームを復号することにより、複数のフレームの画像を取得する復号モジュールと、
処理対象の現在のフレームの画像について、前記現在のフレームの画像が第1タイプの画像であることに応答して、前記現在のフレームの画像に対してオブジェクト検出を行うことにより、被検出オブジェクトの前記現在のフレームの画像における位置情報を取得し、前記現在のフレームの画像が第2タイプの画像であることに応答して、1つ前のフレームの画像の動きベクトルに基づいて、前記1つ前のフレームの画像における被検出オブジェクトの、前記現在のフレームの画像における位置情報を予測する処理モジュールと、
を含むことを特徴とするオブジェクト追跡装置。
【請求項13】
記憶媒体であって、
少なくとも1つの命令が記憶され、前記少なくとも1つの命令は、プロセッサによってロードされて実行されると、
カメラによって収集されたビデオストリームを取得し、前記ビデオストリームを復号することにより、複数のフレームの画像を取得するステップと、
処理対象の現在のフレームの画像について、前記現在のフレームの画像が第1タイプの画像であることに応答して、前記現在のフレームの画像に対してオブジェクト検出を行うことにより、被検出オブジェクトの前記現在のフレームの画像における位置情報を取得するステップと、
前記現在のフレームの画像が第2タイプの画像であることに応答して、1つ前のフレームの画像の動きベクトルに基づいて、前記1つ前のフレームの画像における被検出オブジェクトの、前記現在のフレームの画像における位置情報を予測するステップと、
を実現させることを特徴とする記憶媒体。
【請求項14】
電子機器であって、プロセッサとメモリとを備え、前記メモリには、少なくとも1つの命令が記憶され、前記少なくとも1つの命令は、前記プロセッサによってロードされて実行されると、
カメラによって収集されたビデオストリームを取得し、前記ビデオストリームを復号することにより、複数のフレームの画像を取得するステップと、
処理対象の現在のフレームの画像について、前記現在のフレームの画像が第1タイプの画像であることに応答して、前記現在のフレームの画像に対してオブジェクト検出を行うことにより、被検出オブジェクトの前記現在のフレームの画像における位置情報を取得するステップと、
前記現在のフレームの画像が第2タイプの画像であることに応答して、1つ前のフレームの画像の動きベクトルに基づいて、前記1つ前のフレームの画像における被検出オブジェクトの、前記現在のフレームの画像における位置情報を予測するステップと、を実現させる、
ことを特徴とする機器。
【請求項15】
前記第1タイプの画像は、前記複数のフレームの画像のうちの検出フレームであり、前記第2タイプの画像は、前記複数のフレームの画像のうちの追跡フレームであり、
前記複数のフレームの画像のうち、復号された1番目のフレームの画像は前記検出フレームであり、2つずつの前記検出フレームの間に1つ又は複数の前記追跡フレームが置かれる、
ことを特徴とする請求項14に記載の機器。
【請求項16】
前記現在のフレームの画像が前記第1タイプの画像であることに応答して、前記少なくとも1つの命令は、前記プロセッサによってロードされて実行されると、
前記現在のフレームの画像に対してオブジェクト検出を行った後、前記現在のフレームの画像における被検出オブジェクトに対してキーポイント検出を行うステップと、
取得されたキーポイント検出結果と、前記現在のフレームの画像の動きベクトルとに基づいて、前記現在のフレームの画像における被検出オブジェクトの、次のフレームの画像における位置情報を予測するステップと、を実現させる、
ことを特徴とする請求項14に記載の機器。
【請求項17】
前記現在のフレームの画像における被検出オブジェクトは、1つ又は複数であり、
前記少なくとも1つの命令は、前記プロセッサによってロードされて実行されると、
被検出オブジェクトごとに、前記被検出オブジェクトのキーポイント検出結果に基づいて、前記被検出オブジェクトを複数の領域に分割するステップと、
前記現在のフレームの画像の動きベクトルに基づいて、前記被検出オブジェクトの各領域の動きベクトルオフセットを取得するステップと、
前記各領域の動きベクトルオフセットに基づいて、前記被検出オブジェクトの前記次のフレームの画像における位置情報を予測するステップと、を実現させる、
ことを特徴とする請求項16に記載の機器。
【請求項18】
前記現在のフレームの画像が第2タイプの画像であることに応答して、前記少なくとも1つの命令は、前記プロセッサによってロードされて実行されると、
次のフレームの画像が前記追跡フレームであることに応答して、前記現在のフレームの画像の動きベクトルに基づいて、前記現在のフレームの画像における被検出オブジェクトの、前記次のフレームの画像における位置情報を予測するステップを実現させる、
ことを特徴とする請求項14に記載の機器。
【請求項19】
前記少なくとも1つの命令は、前記プロセッサによってロードされて実行されると、
前記現在のフレームの画像の動きベクトルに基づいて、前記被検出オブジェクトの各領域の動きベクトルオフセットを取得するステップと、
前記各領域の動きベクトルオフセットに基づいて、前記被検出オブジェクトの前記次のフレームの画像における位置情報を予測するステップと、を実現させる、
ことを特徴とする請求項18に記載の機器。
【請求項20】
前記少なくとも1つの命令は、前記プロセッサによってロードされて実行されると、
前記被検出オブジェクトの領域ごとに、前記現在のフレームの画像の動きベクトルに基づいて、前記領域における各画素点の動きベクトルを取得するステップと、
前記領域に含まれる画素点の総数と、前記領域における各画素点の動きベクトルとに基づいて、前記領域の動きベクトルオフセットを取得するステップと、を実現させる、
ことを特徴とする請求項17又は19に記載の機器。
【請求項21】
前記少なくとも1つの命令は、前記プロセッサによってロードされて実行されると、
前記各領域の動きベクトルオフセットに基づいて、前記各領域を平行移動させることにより、前記各領域の前記次のフレームの画像における位置情報を取得するステップと、
予測した前記各領域の前記次のフレームの画像における位置情報に基づいて、前記次のフレームの画像において、前記各領域を囲む1つの境界ボックスを生成することにより、前記被検出オブジェクトの前記次のフレームの画像における位置情報を取得するステップと、を実現させる、
ことを特徴とする請求項17又は19に記載の機器。
【請求項22】
前記少なくとも1つの命令は、前記プロセッサによってロードされて実行されると、
端末から送信された、前記カメラに対するオブジェクト追跡要求を受信すると、前記カメラによって収集されたビデオストリームを取得するステップを実現させる、
ことを特徴とする請求項14に記載の機器。
【請求項23】
前記少なくとも1つの命令は、前記プロセッサによってロードされて実行されると、
前記被検出オブジェクトの前記現在のフレームの画像における位置情報を前記端末に送信し、前記端末によって、前記被検出オブジェクトの前記現在のフレームの画像における位置情報を表示するステップを実現させる、
ことを特徴とする請求項22に記載の機器。
【請求項24】
前記被検出オブジェクトが歩行者であることに応答して、前記少なくとも1つの命令は、前記プロセッサによってロードされて実行されると、
前記現在のフレームの画像における歩行者に対して人体骨格のキーポイント検出を行うステップを実現させ、
前記被検出オブジェクトのキーポイント検出結果に基づいて、前記被検出オブジェクトを複数の領域に分割する前記ステップは、
前記歩行者の人体骨格のキーポイント検出の結果に基づいて、前記歩行者を複数の人体領域に分割するステップを含む、
ことを特徴とする請求項18に記載の機器。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、2019年8月29日に提出された、出願番号が第201910810167.7号であり、発明の名称が「オブジェクト追跡方法、装置、記憶媒体、及び電子機器」である、中国特許出願に基づく優先権を主張し、その全ての内容が、参照することにより本願に組み込まれている。
【0002】
本願は人工知能の技術分野に関し、特にオブジェクト追跡方法、装置、記憶媒体、及び電子機器に関する。
【背景技術】
【0003】
人工知能のコアとしてのコンピュータビジョン技術は、現在、その適用範囲が複数の分野に及んでいる。例えば、オブジェクト追跡は、コンピュータビジョン技術の重要な研究方向として、現在、幅広く適用されており、例えば、ビデオ監視、ヒューマンコンピュータインタラクション、無人運転などのシナリオに適用できる。
【0004】
シングルカメラによるマルチオブジェクト追跡を例として、関連技術では、オブジェクト追跡を行う際に、まず、カメラによって収集されたビデオストリームを複数のフレームの画像として復号し、次に、オブジェクト検出アルゴリズムに基づいて、復号された各フレームの画像に対してオブジェクト検出を行い、さらに、各フレームの画像に対するオブジェクト検出結果に基づいて、オブジェクト追跡を実現する。
【0005】
各フレームの画像に対してオブジェクト検出を行う必要があるため、時間がかかる。特に高解像度画像の場合、オブジェクト検出対象となる画像が大きいほど、検出速度が遅くなる。これは、オブジェクト追跡の性能に深刻な影響を及ぼし、リアルタイム追跡が困難になる。リアルタイム追跡の効果を達成させるために、関連技術では、復号された全ての画像から少数の画像を抽出してオブジェクト検出を行い、残りの画像について何の処理もしない。全ての画像の情報が利用されるのではないため、追跡結果の正確性が深刻に制限されてしまう。
【0006】
以上に基づき、追跡速度を向上させるとともに追跡の精度を確保するために、如何にオブジェクト追跡を行うかは、当業者にとって解決すべき課題となっている。
【発明の概要】
【発明が解決しようとする課題】
【0007】
本願の実施例は、追跡速度を向上させるとともに追跡の精度を確保できるオブジェクト追跡方法、装置、記憶媒体、及び電子機器を提供する。その解決手段は、以下の通りである。
【課題を解決するための手段】
【0008】
一態様では、電子機器に適用されるオブジェクト追跡方法を提供している。前記方法は、
カメラによって収集されたビデオストリームを取得し、前記ビデオストリームを復号することにより、複数のフレームの画像を取得するステップと、
処理対象の現在のフレームの画像について、前記現在のフレームの画像が第1タイプの画像であることに応答して、前記現在のフレームの画像に対してオブジェクト検出を行うことにより、被検出オブジェクトの前記現在のフレームの画像における位置情報を取得するステップと、
前記現在のフレームの画像が第2タイプの画像であることに応答して、1つ前のフレームの画像の動きベクトルに基づいて、前記1つ前のフレームの画像における被検出オブジェクトの、前記現在のフレームの画像における位置情報を予測するステップと、を含む。
【0009】
他の態様では、オブジェクト追跡装置を提供している。前記装置は、
カメラによって収集されたビデオストリームを取得する取得モジュールと、
前記ビデオストリームを復号することにより、複数のフレームの画像を取得する復号モジュールと、
処理対象の現在のフレームの画像について、前記現在のフレームの画像が第1タイプの画像であることに応答して、前記現在のフレームの画像に対してオブジェクト検出を行うことにより、被検出オブジェクトの前記現在のフレームの画像における位置情報を取得し、前記現在のフレームの画像が第2タイプの画像であることに応答して、1つ前のフレームの画像の動きベクトルに基づいて、前記1つ前のフレームの画像における被検出オブジェクトの、前記現在のフレームの画像における位置情報を予測する処理モジュールと、を含む。
【0010】
1つの可能な実現形態において、前記現在のフレームの画像が第1タイプの画像であることに応答して、前記処理モジュールは、さらに、前記現在のフレームの画像に対してオブジェクト検出を行った後、前記現在のフレームの画像における被検出オブジェクトに対してキーポイント検出を行い、取得されたキーポイント検出結果と、前記現在のフレームの画像の動きベクトルとに基づいて、前記現在のフレームの画像における被検出オブジェクトの、次のフレームの画像における位置情報を予測する。
【0011】
1つの可能な実現形態において、前記現在のフレームの画像における被検出オブジェクトは、1つ又は複数であり、前記処理モジュールは、さらに、被検出オブジェクトごとに、前記被検出オブジェクトのキーポイント検出結果に基づいて、前記被検出オブジェクトを複数の領域に分割し、前記現在のフレームの画像の動きベクトルに基づいて、前記被検出オブジェクトの各領域の動きベクトルオフセットを取得し、前記各領域の動きベクトルオフセットに基づいて、前記被検出オブジェクトの前記次のフレームの画像における位置情報を予測する。
【0012】
1つの可能な実現形態において、前記現在のフレームの画像が第2タイプの画像であることに応答して、前記処理モジュールは、さらに、次のフレームの画像が前記追跡フレームであることに応答して、前記現在のフレームの画像の動きベクトルに基づいて、前記現在のフレームの画像における被検出オブジェクトの、前記次のフレームの画像における位置情報を予測する。
【0013】
1つの可能な実現形態において、前記処理モジュールは、さらに、前記現在のフレームの画像の動きベクトルに基づいて、前記被検出オブジェクトの各領域の動きベクトルオフセットを取得し、前記各領域の動きベクトルオフセットに基づいて、前記被検出オブジェクトの前記次のフレームの画像における位置情報を予測する。
【0014】
1つの可能な実現形態において、前記処理モジュールは、さらに、前記被検出オブジェクトの各領域について、前記現在のフレームの画像の動きベクトルに基づいて、前記領域における各画素点の動きベクトルを取得し、前記領域に含まれる画素点の総数と、前記領域における各画素点の動きベクトルとに基づいて、前記領域の動きベクトルオフセットを取得する。
【0015】
1つの可能な実現形態において、前記処理モジュールは、さらに、前記各領域の動きベクトルオフセットに基づいて、前記各領域を平行移動させることにより、前記各領域の前記次のフレームの画像における位置情報を取得し、予測した前記各領域の前記次のフレームの画像における位置情報に基づいて、前記次のフレームの画像において、前記各領域を囲む1つの境界ボックスを生成することにより、前記被検出オブジェクトの前記次のフレームの画像における位置情報を取得する。
【0016】
1つの可能な実現形態において、前記処理モジュールは、さらに、端末から送信された、前記カメラに対するオブジェクト追跡要求を受信すると、前記カメラによって収集されたビデオストリームを取得する。
【0017】
1つの可能な実現形態において、前記装置は、
前記被検出オブジェクトの前記現在のフレームの画像における位置情報を前記端末に送信し、前記端末によって、前記被検出オブジェクトの前記現在のフレームの画像における位置情報を表示する送信モジュールをさらに含む。
【0018】
1つの可能な実現形態において、前記被検出オブジェクトが歩行者であることに応答して、前記処理モジュールは、さらに、前記現在のフレームの画像における歩行者に対して人体骨格のキーポイント検出を行い、前記歩行者の人体骨格のキーポイント検出の結果に基づいて、前記歩行者を複数の人体領域に分割する。
【0019】
他の態様では、記憶媒体を提供している。前記記憶媒体には、少なくとも1つの命令が記憶され、前記少なくとも1つの命令は、プロセッサによってロードされて実行されると、
カメラによって収集されたビデオストリームを取得し、前記ビデオストリームを復号することにより、複数のフレームの画像を取得するステップと、
処理対象の現在のフレームの画像について、前記現在のフレームの画像が第1タイプの画像であることに応答して、前記現在のフレームの画像に対してオブジェクト検出を行うことにより、被検出オブジェクトの前記現在のフレームの画像における位置情報を取得するステップと、
前記現在のフレームの画像が第2タイプの画像であることに応答して、1つ前のフレームの画像の動きベクトルに基づいて、前記1つ前のフレームの画像における被検出オブジェクトの、前記現在のフレームの画像における位置情報を予測するステップと、を実現させる。
【0020】
他の態様では、電子機器を提供している。前記機器は、プロセッサとメモリとを備え、前記メモリには、少なくとも1つの命令が記憶され、前記少なくとも1つの命令は、前記プロセッサによってロードされて実行されると、
カメラによって収集されたビデオストリームを取得し、前記ビデオストリームを復号することにより、複数のフレームの画像を取得するステップと、
処理対象の現在のフレームの画像について、前記現在のフレームの画像が第1タイプの画像であることに応答して、前記現在のフレームの画像に対してオブジェクト検出を行うことにより、被検出オブジェクトの前記現在のフレームの画像における位置情報を取得するステップと、
前記現在のフレームの画像が第2タイプの画像であることに応答して、1つ前のフレームの画像の動きベクトルに基づいて、前記1つ前のフレームの画像における被検出オブジェクトの、前記現在のフレームの画像における位置情報を予測するステップと、を実現させる。
【発明の効果】
【0021】
本願の実施例で提供される解決手段による有益な効果は、以下の通りである。
【0022】
カメラによって収集されたビデオストリームを取得した後、まず、ビデオストリームを復号することにより、複数のフレームの画像を取得し、次に、復号された各フレームの画像に対して下記の処理を順次に行う。処理対象の現在のフレームの画像について、現在のフレームの画像が第1タイプの画像であるか、それとも第2タイプの画像であるかを判断し、現在のフレームの画像が第1タイプの画像であることに応答して、現在のフレームの画像に対してオブジェクト検出を行うことにより、被検出オブジェクトの現在のフレームの画像における位置情報を取得し、現在のフレームの画像が第2タイプの画像であることに応答して、1つ前のフレームの画像の動きベクトルに基づいて、1つ前のフレームの画像における被検出オブジェクトの、現在のフレームの画像における位置情報を予測する。上記の説明から分かるように、本願の実施例では、復号された複数のフレームの画像を2つのタイプに分け、第1タイプの画像に対してオブジェクト検出を実行し、第2タイプの画像に対して、動きベクトルに基づいて動き検出を実行し、即ち、動きベクトルによって、追跡するオブジェクトの空間動き情報を取得する。このようなオブジェクト追跡方法によれば、復号された全ての画像の情報が利用されるとともに、画像のオブジェクト検出を1フレームずつ行うことにより検出速度が遅いという問題が回避され、リアルタイムな追跡速度が確保されるだけでなく、取得された追跡結果の精度が確保され、したがって、オブジェクト追跡の効率を大幅に向上させ、時間やリソースの消費を減少させる。
【図面の簡単な説明】
【0023】
本願の実施例の構成をより明確に説明するために、以下に、実施例の説明に必要な図面を簡単に紹介する。明らかに、以下の説明における図面は本願のいくつかの実施例を示しているに過ぎず、当業者であれば、創造的な労働をすることなく、これらの図面から他の図面を得ることもできる。
【0024】
【
図1】本願の実施例で提供されるオブジェクト追跡方法に係る実施環境の模式図である。
【
図2】本願の実施例で提供されるオブジェクト追跡方法に係るシステムアーキテクチャ図である。
【
図3】本願の実施例で提供されるオブジェクト追跡方法のフローチャートである。
【
図4】本願の実施例で提供されるオブジェクト検出の効果図である。
【
図5】本願の実施例で提供される人体キーポイント検出のキーポイントの模式図である。
【
図6】本願の実施例で提供される人体キーポイント検出の効果図である。
【
図7】本願の実施例で提供される人体領域分割の領域模式図である。
【
図8】本願の実施例で提供される人体領域分割の効果図である。
【
図9】本願の実施例で提供される被検出オブジェクトの各領域の、次のフレームの画像における推定位置の効果図である。
【
図10】本願の実施例で提供される被検出オブジェクトの次のフレームの画像における位置の決定の効果図である。
【
図11】本願の実施例で提供されるオブジェクト追跡方法全体の実行のフローチャートである。
【
図12】本願の実施例で提供されるオブジェクト追跡方法のフローチャートである。
【
図13】本願の実施例で提供されるオブジェクト追跡装置の構成の模式図である。
【
図14】本願の実施例で提供される電子機器の構成の模式図である。
【発明を実施するための形態】
【0025】
本願の目的、構成、及びメリットをより明確にするために、以下、図面を参照しながら、本願の実施形態をさらに詳しく説明する。
【0026】
理解できるものとして、少なくとも1つとは、1つ又は1つ以上を指す。例えば、少なくとも1人の歩行者は、1人の歩行者、2人の歩行者、3人の歩行者など、1よりも大きい任意の整数の人数の歩行者であってもよい。複数とは、2つ又は2つ以上を指す。例えば、複数の歩行者は、2人の歩行者、3人の歩行者など、2よりも大きい任意の整数の人数の歩行者であってもよい。
【0027】
人工知能技術の研究や進歩に伴い、人工知能技術は、例えば、一般的なスマートホーム、スマートウェアラブルデバイス、仮想アシスタント、スマートスピーカー、スマートマーケティング、無人運転、自動運転、ドローン、ロボット、スマート医療、スマートカスタマーサービス、ビデオ監視などの複数の分野で研究・適用されている。技術の発展に伴い、人工知能技術は、より多くの分野で適用され、ますます重要な価値を発揮することが信じられる。
【0028】
本願の実施例で提供されるオブジェクト追跡方式は、例えば、ビデオ監視、無人運転などの分野に適用でき、人工知能のコンピュータビジョン技術や深層学習技術などに関するものである。
【0029】
これらのうち、コンピュータビジョン技術は、如何に機械が「見る」ようにするかを研究する科学であり、さらに言えば、人間の目の代わりに、カメラやコンピュータを用いて、オブジェクトに対して認識、追跡や測定などのマシンビジョンを行い、さらに図形処理を行い、コンピュータの処理によって、人間の目の観察や、器械に伝送して測定することにより適する画像を形成することを指す。科学の学科として、コンピュータビジョンは、関連する理論や技術を研究し、画像や多次元データから情報を取得することができる人工知能システムの構築を図る。コンピュータビジョン技術は、通常、画像処理、画像認識、画像意味理解、画像検索、光学文字認識(OCR:Optical Character Recognition)、ビデオ処理、ビデオ意味理解、ビデオコンテンツ/行動認識、3次元物体の再構成、3次元(3D:3-Dimensions)技術、仮想現実、拡張現実、同期測位及び地図構築などの技術を含み、一般的な顔認識、指紋認識などの生体特徴認識技術も含む。
【0030】
これらのうち、深層学習は機械学習のサブカテゴリであり、ディープニューラルネットワークは文字通り、深層ニューラルネットワークである。一例として、簡単な単層ニューラルネットワークの隠し層を複数層に拡張すると、ディープニューラルネットワークが得られる。機械学習は、分野を横断した学際的な学科であり、確率論、統計学、近似理論、凸解析、アルゴリズム複雑性理論などの複数の学科に関し、コンピュータがどのように人間の学習行動を模倣又は実現して、新しい知識やスキルを取得し、既存の知識構造を改めて組織して自体の性能を持続的に改善するかを専門に研究する。機械学習は、人工知能のコアであり、コンピュータに知能を付与する根本的な手段であり、人工知能の各分野にわたって適用されている。機械学習及び深層学習は、通常、人工ニューラルネットワーク、信念ネットワーク、強化学習、転移学習、帰納学習、教師あり学習などの技術を含む。
【0031】
また、本願の実施例で提供されるオブジェクト追跡方式は、クラウド技術(Cloud technology)分野にも関する。ここで、クラウド技術とは、ワイドエリアネットワーク又はローカルエリアネットワーク内で、ハードウェア、ソフトウェア、ネットワークなどの一連のリソースを統合して、データの計算、記憶、処理や共有を実現するホスティング技術である。
【0032】
クラウド技術は、クラウドコンピューティングのビジネスモデルに基づいて適用されるネットワーク技術、情報技術、統合技術、管理プラットフォーム技術、アプリケーション技術などの総称であり、リソースプールを構成して必要に応じて使用することができ、柔軟で便利である。クラウドコンピューティング技術は、重要なサポートとなる。テクニカルネットワークシステムのバックエンドサービス、例えば、ビデオサイト、画像系サイトやより多くのポータルサイトは、大量の計算、リソース記憶を必要とする。インターネット業界の高度発展や適用に伴い、将来的には、いずれの物品にも自体の識別マークがあり得、それらをバックエンドシステムに伝送してロジック処理を行う必要があり、異なるレベルのデータが個別に処理され、様々な業界のデータは、全て強力なシステムに裏打ちされる必要がある。これらは、クラウドコンピューティングでしか実現できない。例示的に、本願の実施例は、クラウド技術分野の人工知能クラウドサービスに関する。
【0033】
下記の実施例によって、本願で提供されるオブジェクト追跡方法を紹介して説明する。
【0034】
本願の実施例を詳細に解釈して説明する前に、本願の実施例に係るいくつかの用語を解釈して説明する。
【0035】
オブジェクト検出(Object Detection):画像における人、車、動物、植物などのオブジェクトの位置やカテゴリを検出・認識することに用いられる。
【0036】
オブジェクト検出は、検出及び認識の2つのタスクを含む。検出タスクは、検出対象オブジェクトの画像における具体的な位置を特定することに用いられ、認識タスクは、検出されたオブジェクトについてカテゴリを判断することに用いられる。
【0037】
言い換えれば、オブジェクト検出は、通常2つの過程を含む。1つの過程は、オブジェクトのカテゴリを予測するものであり、もう1つの過程は、該オブジェクトの周囲に境界ボックス(bounding box)を描画するものである。
【0038】
ここで、オブジェクト検出は、例えば、インスタンスセグメンテーション、キーポイント検出、顔認識などの多くのコンピュータビジョンアプリケーションの基礎である。また、オブジェクト検出は、ビデオ監視、無人運転自動車、人体追跡などの分野においても広く適用されている。
【0039】
人体骨格のキーポイント検出(Pose Estimation):人体が既に検出された画像を入力として、人体のキーとなる部位の位置、例えば、両目、両耳、鼻、口、肩、肘、股、膝などを検出する。
【0040】
ここで、人体骨格のキーポイント検出は、例えば、行動認識、人物追跡、歩容認識などの多くのコンピュータビジョンタスクの基礎である。
【0041】
オブジェクト追跡(Object Tracking):ビデオシーケンスから関心のある動きオブジェクトの位置、サイズ、又は動き軌跡を特定することを指す。オブジェクト追跡は、コンピュータビジョン分野におけるビデオ分析の基本的な機能の1つである。
【0042】
これらのうち、オブジェクトの動き軌跡は、ビデオシーケンスから特定されたオブジェクトの位置を結んでなるものである。オブジェクトを囲む境界ボックスのサイズは、オブジェクト自体のサイズを反映できる。
【0043】
シングルカメラによるマルチオブジェクト追跡:単一カメラで撮影されたビデオシーケンスから、関心のある複数のオブジェクトの位置、サイズ、又は動き軌跡を取得することを指す。
【0044】
動きベクトル(Motion Vector):動きベクトルは2次元データであり、一般的に、直交座標系において(MVx,MVy)として表される。
【0045】
本願の実施例では、隣接する2フレームの画像から、各フレームの画像の動きベクトルを抽出する。ここで、動きベクトルは、隣接する2フレームの画像の間での各画素点の相対変位を示す。つまり、隣接する2フレームの画像の間に画素点の動きが存在する。言い換えれば、1つ前のフレームの画像における画素点は、その次のフレームの画像において位置の変動が発生する。この変動は、該画素点の動きベクトルとなる。一例として、本願の実施例では、カメラによって収集されたビデオストリームから復号された各フレームの画像について、該フレーム画像における座標位置(x,y)の画素点の動きベクトルは(dx,dy)である。
【0046】
以下、本願の実施例で提供されるオブジェクト追跡方法に係る実施環境を紹介する。
【0047】
図1を参照すると、該実施環境は、カメラ101と、端末102と、サーバ103とを含む。
【0048】
一例として、本願の実施例で提供されるオブジェクト追跡方法は、シングルカメラによるマルチオブジェクト追跡のシナリオに適用できる。即ち、カメラ101の個数は1つである。このシナリオにおいて、カメラ101は、固定カメラであってもよいし、可動カメラであってもよい。本願の実施例はこれを具体的に限定しない。
【0049】
本願の実施例において、端末102は、サーバ103へオブジェクト追跡要求を開始することにより、あるカメラに対してオブジェクト追跡を行うことをサーバ103に要求することができる。ここで、端末102のタイプは、スマートフォン、タブレットコンピュータ、デスクトップコンピュータ、ノートコンピュータなどを含むが、これらに限定されない。
【0050】
1つの可能な実現形態において、端末102には、特定のアプリケーションプログラムがインストールされており、端末102は、該特定のアプリケーションプログラムを介して、サーバ103とデータ通信を行う。
【0051】
また、端末102は、カメラ101によって収集されたビデオストリームを表示し、且つサーバ103から返信されたオブジェクト追跡結果を表示してもよい。本願の実施例はこれを具体的に限定しない。
【0052】
説明すべきものとして、サーバ103は、単独のサーバ又はサーバクラスターであってもよい。本願の実施例はこれも具体的に限定しない。
【0053】
上述したように、関連技術では、オブジェクト追跡を行う際に、時間がかかり、オブジェクト追跡の性能に深刻な影響を及ぼし、リアルタイム追跡の達成が困難になるか、あるいは、全ての画像の情報が利用されるのではないため、リアルタイム追跡が達成されるものの、追跡結果の正確性に影響を及ぼす。存在する上記問題を考慮して、本願の実施例は、動きベクトルに基づくオブジェクト追跡方法を提供している。該方法の適用シナリオは、シングルカメラによるマルチオブジェクト追跡を含むが、これに限定されない。
【0054】
該方法では、全ての画像の情報が利用されるとともに、オブジェクト検出を1フレームずつ行うことにより検出速度が遅くて、リアルタイム追跡が達成できないという問題が回避される。即ち、該方法によれば、リアルタイムな追跡速度が確保されるだけでなく、取得された追跡結果の精度が確保される。
【0055】
図1に示す実施環境、及び
図2に示すシステムアーキテクチャ図を例として、カメラ101によって収集されたビデオストリームは、バックアップとしてサーバ103に記憶される。端末102がサーバ103へカメラ101に対するオブジェクト追跡要求を開始すると、サーバ103は、カメラ101によって収集されたビデオストリームを取得し、ビデオストリームを復号することにより、複数のフレームの画像を取得する。また、サーバ103は、各フレームの画像の動きベクトルを抽出する。
【0056】
本願の実施例において、復号された複数のフレームの画像が検出フレーム及び追跡フレームに分けられ、検出フレーム及び追跡フレームについて、サーバ103は、異なる処理を実行する。
【0057】
説明すべきものとして、復号された1番目のフレームの画像は、検出フレームである。ここで、通常、1つの検出フレームの後に複数の追跡フレームが続く。検出フレーム及び追跡フレームの密度は、具体的なシナリオに応じて設定されてもよい。本願の実施例はこれを具体的に限定しない。即ち、検出フレームは全ての画像のうちのごく一部しか占めておらず、追跡フレームの数は検出フレームよりも大きい。
【0058】
図2に示すように、サーバ103は、検出フレームに対してオブジェクト検出及びキーポイント検出を行う一方、追跡フレームに対して追跡操作を行い、即ち、隣接する2フレームの画像から、各フレームの画像の動きベクトルを抽出し、領域ごとに動きベクトルを統計することにより、オブジェクトの各フレームの画像における位置を特定し、さらに、特定された位置に基づいて、追跡オブジェクトの実際のシナリオでの移動方向を決定し、これにより、オブジェクトの追跡を実現する。
【0059】
言い換えれば、サーバ103は、検出フレームに対してオブジェクト検出を行う。一方、移動オブジェクトがあるか否かを判断するために、追跡フレームは、動き検出に用いられる。即ち、サーバ103は、隣接する2フレームの画像から、各フレームの画像の動きベクトルを抽出し、動きベクトルの方向を統計することにより、追跡オブジェクトの空間動き情報を取得すし、これにより、追跡オブジェクトの移動方向を決定し、さらに、オブジェクトの追跡を実現する。
【0060】
本願の実施例で提供される方法では、動きベクトルが初めてオブジェクト追跡に用いられ、特徴探索空間が効果的に減少され、オブジェクト追跡の効率が高められる。また、一部の画像(検出フレーム)に対してオブジェクト検出を行うため、追跡速度を顕著に向上させる。しかも、全ての画像の情報が利用されるため、取得された追跡結果の精度が確保される。
【0061】
他の可能な実施形態において、追跡結果が取得された後、サーバ103は、フロントエンド表示のために、追跡結果を端末102にプッシュすることを選択することに加えて、例えば、領域管理制御、徘徊検知、マルチカメラによるマルチオブジェクト追跡、ビデオ構造化などの他のビジネスロジックに追跡結果をプッシュしてもよい。本願の実施例はこれを具体的に限定しない。
【0062】
以下、本願の実施例で提供されるオブジェクト追跡方法を詳細に解釈して説明する。
【0063】
説明すべきものとして、以下に記載の第1、第2、第3、第4などのような記述は、異なる対象を区別するために過ぎず、いかなる他の限定も構成しない。
【0064】
図3は、本願の実施例で提供されるオブジェクト追跡方法のフローチャートである。
図3を参照して、本願の実施例で提供される方法の手順は、以下のステップを含む。
【0065】
301では、端末がサーバへカメラに対するオブジェクト追跡要求を開始する。
【0066】
シングルカメラによるマルチオブジェクト追跡のシナリオを例として、標記のカメラとは、単一カメラを指す。ここで、該カメラは、固定式カメラであってもよいし、可動式カメラであってもよい。本願の実施例はこれを具体的に限定しない。
【0067】
一例として、端末は、監視範囲内でビデオ監視を実行する任意のカメラへオブジェクト追跡要求を開始してもよい。
【0068】
302では、サーバが、該カメラに対するオブジェクト追跡要求を受信すると、該カメラによって収集されたビデオストリームを取得する。
【0069】
図2に示すように、カメラは、ビデオストリームを収集した後、通常、収集したビデオストリームをサーバにアップロードしてバックアップとして記憶する。したがって、サーバは、オブジェクト追跡要求を受信すると、例えば、バックエンドデータベースなどの場所から、対応するカメラによって収集されたビデオストリームを直接取得してもよい。
【0070】
説明すべきものとして、カメラによって収集されたビデオデータは、通常、「ストリーム」の形で伝送される。
【0071】
303では、サーバがビデオストリームを復号することにより、複数のフレームの画像を取得し、複数のフレームの画像のうち各フレームの画像の動きベクトルを取得する。
【0072】
本願の実施例において、サーバは、ビデオストリームを取得した後、ビデオストリームを復号する。言い換えれば、サーバは、ビデオストリームを1フレームずつ分割し、つまり、ビデオストリームをフレームに分割して、1フレームずつの単独の画像を取得する。
【0073】
ここで、1フレームの画像の動きベクトルには、各画素点の動きベクトルが含まれ、該動きベクトルは、隣接する2フレームの画像の間での各画素点の相対変位を示す。
【0074】
一例として、カメラによって収集されたビデオストリームから復号された各フレームの画像について、該フレームの画像における座標位置(x,y)の画素点の動きベクトルは(dx,dy)である。
【0075】
1つの可能な実現形態において、動きベクトルは、サーバが、カメラによって収集されたビデオストリームのストリーム形式及び復号特性に基づいて、ビデオストリームから直接抽出したものである。言い換えれば、動きベクトルは、カメラによって収集されたビデオストリーム自体に含まれる情報である。
【0076】
304では、処理対象の現在のフレームの画像について、サーバは、現在のフレームの画像が検出フレームであるか、それとも追跡フレームであるかを判断し、現在のフレームの画像が検出フレームであることに応答して、下記のステップ305を実行し、現在のフレームの画像が追跡フレームであることに応答して、下記のステップ308を実行する。
【0077】
本願の実施において、復号された全ての画像の情報を利用できるとともに、全ての画像に対してオブジェクト検出を行う必要がないことを実現するために、サーバは、復号された複数のフレームの画像を検出フレーム及び追跡フレームに分ける。これらのうち、検出フレームは、オブジェクト検出の実行を必要とするビデオフレームを指し、追跡フレームは、オブジェクト検出の実行を必要とせずに、追跡操作の実行を必要とするビデオフレームを指す。本明細書では、検出フレームを第1タイプの画像とも呼び、追跡フレームを第2タイプの画像とも呼ぶ。
【0078】
説明すべきものとして、復号された1番目のフレームの画像は、検出フレームである。即ち、復号された複数のフレームの画像のうち、1番目のフレームの画像は検出フレームであり、2つずつの検出フレームの間に1つ又は複数の追跡フレームが置かれる。つまり、1つの検出フレームの後に複数の追跡フレームが続いてもよく、検出フレーム及び追跡フレームの密度が具体的なシナリオに応じて設定されてもよい。本願の実施例はこれを具体的に限定しない。
【0079】
一例として、
図2に示すように、検出フレームの設置間隔が5であるとすれば、i番目のフレームが検出フレームである場合、次のi+1番目のフレーム、i+2番目のフレーム、i+3番目のフレーム、及びi+4番目のフレームは全て追跡フレームであり、i+5番目のフレームは検出フレームである。ここで、iの値は正の整数である。iの値が1である場合を例として、2番目のフレーム、3番目のフレーム、4番目のフレーム、及び5番目のフレームは全て追跡フレームであり、1番目のフレーム及び6番目のフレームは検出フレームである。
【0080】
305では、サーバが、現在のフレームの画像に対してオブジェクト検出を行うことにより、被検出オブジェクトの現在のフレームの画像における第1位置を取得し、被検出オブジェクトの現在のフレームの画像における第1位置を、現在のフレームの画像の追跡結果として端末に返信し、端末によって第1位置を表示する。
【0081】
1つの説明すべきものとして、サーバが追跡するオブジェクト、即ち被検出オブジェクトは、人間、車両、動物などを含むが、これらに限定されない。本願の実施例はこれを具体的に限定しない。
【0082】
もう1つの説明すべきものとして、1フレームの画像に複数の被検出オブジェクトが存在することがある。例示的に、サーバは、オブジェクト検出を行う際に、現在のフレームの画像における全ての被検出オブジェクトの位置情報を供給する。
【0083】
本願の実施例において、サーバは、オブジェクト検出アルゴリズムに基づいて、現在のフレームの画像に対してオブジェクト検出を行う。ここで、使用されるオブジェクト検出アルゴリズムは、Faster R-CNN(Convolutional Neural Networks:畳み込みニューラルネットワーク)、Mask R-CNN、YOLO(You Only Look Once)、YOLOv2、YOLOv3などを含むが、これらに限定されない。
【0084】
1つの可能な実現形態において、被検出オブジェクトが歩行者である場合を例にすると、オブジェクト検出結果には、歩行者の位置情報(xb,yb,width,height)が示され、該位置情報は、上述した第1位置に対応する。ここで、(xb,yb)は、検出された歩行者の外接矩形(境界ボックスとも呼ばれる)の開始点座標であり、width及びheightは、それぞれ、該外接矩形の幅及び高さを指す。
【0085】
ここで、サーバによるオブジェクト検出の実行効果は、
図4に示されてもよい。
【0086】
本願の実施例では、被検出オブジェクトの現在のフレームの画像における第1位置、即ち位置情報(xb,yb,width,height)を、現在のフレームの画像の追跡結果として端末に返信し、第1端末によってフロントエンド表示を行い、ユーザに表現する。
【0087】
306では、サーバが、現在のフレームの画像における被検出オブジェクトに対してキーポイント検出を行う。
【0088】
例示的には、被検出オブジェクトが歩行者である場合を例にすると、標記の被検出オブジェクトに対してキー検出を行うことは、歩行者に対して人体骨格のキーポイント検出を行うことである。つまり、本ステップは、人体のキーポイントの位置を特定して、人体のキーポイントの座標(xk,yk)を供給することを実現するためのものである。
【0089】
1つの可能な実現形態において、5を参照すると、人体のキーポイントは、左目、右目、左耳、右耳、鼻、左肩、右肩、左肘、右肘、左手首、右手首、左尻、右尻、左膝、右膝、左足首、右足首の17個のキーポイントを含む。
【0090】
一例として、サーバが人体骨格のキーポイント検出を行う際に使用する人体骨格のキーポイント検出アルゴリズムは、G-RMI、Mask R-CNN、HRNet、カスケードピラミッドネットワーク(CPN:Cascaded Pyramid Network)などを含むが、これらに限定されない。本願の実施例はこれを具体的に限定しない。
【0091】
ここで、サーバによる人体骨格のキーポイント検出の実行効果は、
図6に示さてもよい。
【0092】
307では、サーバが、取得したキーポイント検出結果と、現在のフレームの画像の動きベクトルとに基づいて、現在のフレームの画像における被検出オブジェクトの、次のフレームの画像における第3位置を予測する。
【0093】
1つの可能な実現形態において、本ステップは、以下のいくつかのステップに分けてもよい。
【0094】
3071では、キーポイント検出結果に基づいて、被検出オブジェクトごとに領域分割を行う。
【0095】
このステップについては、被検出オブジェクトごとに以下のステップを実行する。即ち、各々の被検出オブジェクトのキーポイント検出結果に基づいて、各々の被検出オブジェクトを複数の領域に分割する。
【0096】
被検出オブジェクトが歩行者である場合を例にすると、各々の歩行者の人体骨格のキーポイント検出結果に基づいて、各々の歩行者を複数の人体領域に分割する。
【0097】
一例として、
図7に示すように、本願の実施例では、人体が、それぞれ数字1~13で表す合計13個の領域に分割される。説明すべきものとして、
図8に示すように、カメラの視点や動き過程における人体の姿勢の変化のため、この13個の領域は、重なり合う可能性が極めて高い。
【0098】
3072では、被検出オブジェクトごとに、分割された各領域の動きベクトルオフセットを取得する。
【0099】
本ステップでは、動きベクトルに基づいて、被検出オブジェクトの各領域の動きベクトルオフセットをそれぞれ取得する。即ち、サーバは、現在のフレームの画像の動きベクトルに基づいて、被検出オブジェクトの各領域の動きベクトルオフセットを取得する。ここで、本明細書において、該動きベクトルオフセットは、平均動きベクトルオフセットであり、座標(dave-x,dave-y)で表される。
【0100】
1つの可能な実現形態では、平均動きベクトルオフセットの計算式は以下の通りである。
【0101】
【0102】
ここで、(dx,dy)は座標(x,y)の画素点の動きベクトルであり、Nは該領域に含まれる画素点の総数である。上記の計算式を文字で記述すると、被検出オブジェクトの領域ごとに、現在のフレームの画像の動きベクトルに基づいて、該領域における各画素点の動きベクトルを取得し、該領域に含まれる画素点の総数と、該領域における各画素点の動きベクトルとに基づいて、該領域の平均動きベクトルオフセットを取得する。
【0103】
3073では、各々の被検出オブジェクトの各領域を対応する動きベクトルオフセットで平行移動させることにより、各領域に対応する、次のフレームの画像における領域位置を取得する。
【0104】
図9に示すように、
図9に示す各ボックスは、現在のフレームの画像の各領域の動きベクトルに基づいて推定された、各領域の次のフレームの画像における具体的な位置である。
【0105】
3074では、予測された、各領域の次のフレームの画像における位置に基づいて、次のフレームの画像において、各領域を囲む1つの外接矩形を生成することにより、被検出オブジェクトの次のフレームの画像における第3位置を取得する。
【0106】
このステップについて、サーバは、予測した、各領域の次のフレームの画像における位置に基づいて、外接矩形を求め、対応する被検出オブジェクトの次のフレームの画像における位置とする。これにより、次のフレームの画像に対してオブジェクト検出やキーポイント検出などの操作を行う必要がなく、次のフレームの画像における被検出オブジェクトの追跡が実現され、アルゴリズムリソースが節約され、処理速度が速くなる。
【0107】
ここで、本ステップの処理効果図は、
図10に示されてもよい。ここまで、ステップ305~ステップ307を経ると、現在のフレームの画像の処理が終了する。
【0108】
一例として、現在のフレームの画像が
図2のi番目のフレームである場合を例にする。i番目のフレームが検出フレームであるため、i番目のフレームに対して、オブジェクト検出、キーポイント検出、領域分割、領域の動きベクトルオフセットの取得、及びオブジェクトの次のフレームの画像における位置の特定などの処理を順次実行する必要がある。ただし、i番目のフレームの次のフレームであるi+1番目のフレーム、及び後続のi+2番目のフレーム~i+4番目のフレームについては、i番目のフレームの場合のような上記の処理を行う必要がない。
図2に示すように、i+1番目のフレーム~i+4番目のフレームに対して、オブジェクト検出及びキーポイント検出以外の処理だけを実行すればよい。
【0109】
308では、サーバが、1つ前のフレームの画像の動きベクトルに基づいて、1つ前のフレームの画像における被検出オブジェクトの、現在のフレームの画像における第2位置を予測し、被検出オブジェクトの現在のフレームの画像における第2位置を、現在のフレームの画像の追跡結果として端末に返信し、端末によって第2位置を表示する。
【0110】
本願の実施例では、現在のフレームの画像が追跡フレームであるため、1つ前のフレームの画像の処理過程において、1つ前のフレームの画像の動きベクトルに基づいて、現在のフレームの画像における被検出オブジェクトの各領域の位置を推定し、推定した各領域の位置に基づいて、1つの外接矩形を求め、現在のフレームの画像における被検出オブジェクトの位置とし、即ち、1つ前のフレームの画像における被検出オブジェクトの、現在のフレームの画像における第2位置を取得する。
【0111】
言い換えれば、1フレームの画像については、このフレームの画像の次のフレームの画像が検出フレームではないことに応答して、該フレームの画像の動きベクトルに基づいて、次のフレームの画像における被検出オブジェクトの各領域の位置を推定し、推定した各領域の位置に基づいて、次のフレームの画像における被検出オブジェクトの位置を特定する。
【0112】
他の可能な実施形態において、現在のフレームの画像の次のフレームの画像がやはり追跡フレームであることに応答して、本願の実施例では、現在のフレームの画像の動きベクトルに基づいて、現在のフレームの画像における被検出オブジェクトの、次のフレームの画像における第4位置を予測する。
【0113】
1つの可能な実現形態において、現在のフレームの画像の動きベクトルに基づいて、現在のフレームの画像における被検出オブジェクトの、次のフレームの画像における第4位置を予測するステップは、以下のステップを含む。
【0114】
3081では、現在のフレームの画像の動きベクトルに基づいて、被検出オブジェクトの各領域の動きベクトルオフセットを取得する。
【0115】
該ステップは、上述したステップ3072と同様である。
【0116】
また、現在のフレームの画像が追跡フレームであるため、現在のフレームの画像における被検出オブジェクトの各領域の位置は全て1つ前のフレームの画像から推定されたものである。
【0117】
3082では、各領域の動きベクトルオフセットに基づいて、各領域を平行移動させることにより、各領域の次のフレームの画像における位置を取得する。
【0118】
該ステップは、上述したステップ3073と同様である。
【0119】
3083では、予測された、各領域の次のフレームの画像における位置に基づいて、次のフレームの画像において、各領域を囲む1つの境界ボックスを生成し、被検出オブジェクトの次のフレームの画像における第4位置を取得する。
【0120】
該ステップは、上述したステップ3074と同様である。
【0121】
本願の実施例で提供される方法は、以下の有益な効果を有する。
【0122】
カメラによって収集されたビデオストリームを取得した後、まず、ビデオストリームを復号することにより、複数のフレームの画像を取得し、次に、復号された各フレームの画像に対して下記の処理を順次に行う。処理対象の現在のフレームの画像について、現在のフレームの画像が検出フレームであるか、それとも追跡フレームであるかを判断し、現在のフレームの画像が検出フレームであることに応答して、現在のフレームの画像に対してオブジェクト検出を行うことにより、被検出オブジェクトの現在のフレームの画像における位置情報を取得し、現在のフレームの画像が追跡フレームであることに応答して、1つ前のフレームの画像の動きベクトルに基づいて、1つ前のフレームの画像における被検出オブジェクトの、現在のフレームの画像における位置情報を予測する。
【0123】
上記の説明から分かるように、本願の実施例では、復号された複数のフレームの画像を検出フレーム及び追跡フレームに分け、検出フレームに対してオブジェクト検出を実行し、追跡フレームに対して、動きベクトルに基づいて動き検出を実行し、即ち、動きベクトルによって、追跡するオブジェクトの空間動き情報を取得する。
【0124】
本願の実施例で提供されるオブジェクト追跡方法によれば、復号された全ての画像の情報が利用されるとともに、画像のオブジェクト検出を1フレームずつ行うことにより検出速度が遅いという問題が回避され、リアルタイムな追跡速度が確保されるだけでなく、取得された追跡結果の精度が確保され、したがって、オブジェクト追跡の効率を大幅に向上させ、時間やリソースの消費を減少させる。
【0125】
また、各フレームの画像の被検出オブジェクトの位置情報を結ぶことにより、各被検出オブジェクトの動き軌跡を取得することができる。
【0126】
また、本願の実施例で提供される方法では、動きベクトルがオブジェクト追跡に用いられ、特徴探索空間が効果的に減少され、オブジェクト追跡の効率がさらに高められる。
【0127】
また、本願の実施例で提供されるオブジェクト追跡方法は、単一カメラで複数のオブジェクトをリアルタイムで追跡することを実現でき、さらに、マルチカメラによるマルチオブジェクト追跡、徘徊検知、領域管理制御などの複数種類のビジネスシナリオに適用できる。
【0128】
また、本願の実施例で提供されるオブジェクト追跡方法は、安全防備の分野に広く適用され、安全防備のコストを削減させ、安全保護効率を向上させることができる。
【0129】
他の実施例では、
図11を参照して、オブジェクトが歩行者である場合を例にすると、本願の実施例で提供されるオブジェクト追跡方法全体の実行手順は、以下のステップを含む。
【0130】
1101では、カメラによって収集されたビデオストリームを復号し、復号された各フレームの画像の動きベクトルを取得する。
【0131】
該ステップは、ビデオストリームを1フレームずつの画像に復号し、各フレームの画像の動きベクトルを抽出するためのものである。
【0132】
1102では、現在のフレームの画像が検出フレームであるか、それとも追跡フレームであるかを判断し、現在のフレームの画像が検出フレームであることに応答して、下記のステップ1103を実行し、現在のフレームの画像が追跡フレームであることに応答して、下記のステップ1108を実行する。
【0133】
説明すべきものとして、復号された1番目のフレームが検出フレームである必要もある。ここで、1つの検出フレームの後に複数の追跡フレームが続いてもよく、検出フレーム及び追跡フレームの密度は、具体的なシナリオに応じて設定されてもよい。本願の実施例はこれを具体的に限定しない。
【0134】
1103では、オブジェクト検出アルゴリズムに基づいて、現在のフレームの画像の人体オブジェクトを検出し、検出された人体オブジェクトの位置情報(xb,yb,width,height)を現在のフレームの画像の追跡結果として、下記のステップ1109を実行する。
【0135】
1104では、人体骨格のキーポイント検出アルゴリズムに基づいて、検出された各人体オブジェクトに対して人体骨格のキーポイント検出を行う。
【0136】
1105では、人体オブジェクトごとに、対応する人体キーポイント情報に基づいて人体領域分割を行う。
【0137】
1106では、現在のフレームの画像における各人体オブジェクトの動きベクトルに基づいて、各人体オブジェクトの各人体領域の動きベクトルオフセットを取得し、各人体領域を対応する動きベクトルオフセットで平行移動させることにより、各人体領域に対応する、次のフレームの画像における位置を取得する。
【0138】
1107では、1つ前のステップで予測された、各人体領域に対応する、次のフレームの画像における位置に基づいて、次のフレームの画像における各人体オブジェクトの位置を特定し、ここまで、該フレームの処理が終了する。
【0139】
1108では、ステップ1106及びステップ1107に基づいて、追跡フレームである現在のフレームの画像における各人体オブジェクトの人体領域の位置情報、及び現在のフレームの画像における各人体オブジェクトの位置情報を取得し、取得された各人体オブジェクトの位置情報を現在のフレームの画像の追跡結果として、下記のステップ1109及び1110をそれぞれ実行する。
【0140】
1109では、現在のフレームの追跡結果を返信する。
【0141】
説明すべきものとして、1フレーム画像に複数の人体オブジェクトが存在することがある。例示的には、検出された全ての人体オブジェクトの位置情報を返信する。
【0142】
1110では、次のフレームの画像が追跡フレームであるか否かを判断し、次のフレームの画像が追跡フレームであることに応答して、ステップ1106に進む。
【0143】
本願の実施例で提供される方法では、カメラによって収集されたビデオストリームを取得した後、まず、ビデオストリームを復号することにより、複数のフレームの画像を取得し、次に、復号された各フレームの画像に対して下記の処理を順次に行う。処理対象の現在のフレームの画像について、現在のフレームの画像が検出フレームであるか、それとも追跡フレームであるかを判断し、現在のフレームの画像が検出フレームであることに応答して、現在のフレームの画像に対してオブジェクト検出を行うことにより、被検出オブジェクトの現在のフレームの画像における位置を取得し、現在のフレームの画像が追跡フレームであることに応答して、1つ前のフレームの画像の動きベクトルに基づいて、1つ前のフレームの画像における被検出オブジェクトの、現在のフレームの画像における位置を予測する。
【0144】
上記の説明から分かるように、本願の実施例では、復号された複数のフレームの画像を検出フレーム及び追跡フレームに分け、検出フレームに対してオブジェクト検出を実行し、追跡フレームに対して、ただ動きベクトルに基づいて動き検出を実行し、即ち、動きベクトルによって、追跡するオブジェクトの空間動き情報を取得する。
【0145】
本願の実施例で提供されるオブジェクト追跡方法によれば、復号された全ての画像の情報が利用されるとともに、画像のオブジェクト検出を1フレームずつ行うことにより検出速度が遅いという問題が回避され、リアルタイムな追跡速度が確保されるだけでなく、取得された追跡結果の精度が確保され、したがって、オブジェクト追跡の効率を大幅に向上させ、時間やリソースの消費を減少させる。
【0146】
また、各フレームの画像の被検出オブジェクトの位置情報を結ぶことにより、各被検出オブジェクトの動き軌跡を取得することができる。
【0147】
また、本願の実施例で提供される方法では、動きベクトルがオブジェクト追跡に用いられ、特徴探索空間が効果的に減少され、オブジェクト追跡の効率がさらに高められる。
【0148】
また、本願の実施例で提供されるオブジェクト追跡方法は、単一カメラで複数のオブジェクトをリアルタイムで追跡することを実現でき、さらに、マルチカメラによるマルチオブジェクト追跡、徘徊検知、領域管理制御などの複数種類のビジネスシナリオに適用できる。
【0149】
また、本願の実施例で提供されるオブジェクト追跡方法は、安全防備の分野に広く適用され、安全防備のコストを削減させ、安全保護効率を向上させることができる。
【0150】
他の実施例では、
図12を参照して、本願の実施例で提供されるオブジェクト追跡方法は、以下のステップを含む。
【0151】
1201では、カメラによって収集されたビデオストリームを取得し、ビデオストリームを復号することにより、複数のフレームの画像を取得する。
【0152】
1202では、処理対象の現在のフレームの画像について、該現在のフレームの画像が第1タイプの画像であることに応答して、現在のフレームの画像に対してオブジェクト検出を行うことにより、被検出オブジェクトの現在のフレームの画像における位置情報を取得する。
【0153】
1203では、該現在のフレームの画像が第2タイプの画像であることに応答して、1つ前のフレームの画像の動きベクトルに基づいて、1つ前のフレームの画像における被検出オブジェクトの、現在のフレームの画像における位置情報を予測する。
【0154】
本願の実施例で提供される方法では、カメラによって収集されたビデオストリームを取得した後、まず、ビデオストリームを復号することにより、複数のフレームの画像を取得し、次に、復号された各フレームの画像に対して下記の処理を順次に行う。処理対象の現在のフレームの画像について、現在のフレームの画像が第1タイプの画像であることに応答して、現在のフレームの画像に対してオブジェクト検出を行うことにより、被検出オブジェクトの現在のフレームの画像における位置を取得し、現在のフレームの画像が第2タイプの画像であることに応答して、1つ前のフレームの画像の動きベクトルに基づいて、1つ前のフレームの画像における被検出オブジェクトの、現在のフレームの画像における位置を予測する。
【0155】
上記の説明から分かるように、本願の実施例では、復号された複数のフレームの画像を第1タイプの画像及び第2タイプの画像に分け、第1タイプの画像に対してオブジェクト検出を実行し、第2タイプの画像に対して、動きベクトルに基づいて動き検出を実行し、即ち、動きベクトルによって、追跡するオブジェクトの空間動き情報を取得する。
【0156】
本願の実施例で提供されるオブジェクト追跡方法によれば、復号された全ての画像の情報が利用されるとともに、画像のオブジェクト検出を1フレームずつ行うことにより検出速度が遅いという問題が回避され、リアルタイムな追跡速度が確保されるだけでなく、取得された追跡結果の精度が確保され、したがって、オブジェクト追跡の効率を大幅に向上させ、時間やリソースの消費を減少させる。
【0157】
また、本願の実施例で提供される方法では、動きベクトルがオブジェクト追跡に用いられ、特徴探索空間が効果的に減少され、オブジェクト追跡の効率がさらに高められる。
【0158】
図13は、本願の実施例で提供されるオブジェクト追跡装置の構成の模式図である。
図13を参照すると、該装置は、
カメラによって収集されたビデオストリームを取得する取得モジュール1301と、
前記ビデオストリームを復号することにより、複数のフレームの画像を取得する復号モジュール1302と、
処理対象の現在のフレームの画像について、前記現在のフレームの画像が第1タイプの画像であることに応答して、前記現在のフレームの画像に対してオブジェクト検出を行うことにより、被検出オブジェクトの前記現在のフレームの画像における位置情報を取得し、前記現在のフレームの画像が第2タイプの画像であることに応答して、1つ前のフレームの画像の動きベクトルに基づいて、前記1つ前のフレームの画像における被検出オブジェクトの、前記現在のフレームの画像における位置情報を予測する処理モジュール1303と、を含む。
【0159】
本願の実施例で提供される装置では、カメラによって収集されたビデオストリームを取得した後、まず、ビデオストリームを復号することにより、複数のフレームの画像を取得し、次に、復号された各フレームの画像に対して下記の処理を順次に行う。処理対象の現在のフレームの画像について、現在のフレームの画像が第1タイプの画像であるか、それとも第2タイプの画像であるかを判断し、現在のフレームの画像が第1タイプの画像であることに応答して、現在のフレームの画像に対してオブジェクト検出を行うことにより、被検出オブジェクトの現在のフレームの画像における位置情報を取得し、現在のフレームの画像が第2タイプの画像であることに応答して、1つ前のフレームの画像の動きベクトルに基づいて、1つ前のフレームの画像における被検出オブジェクトの、現在のフレームの画像における位置情報を予測する。上記の説明から分かるように、本願の実施例では、復号された複数のフレームの画像を2つのタイプに分け、第1タイプの画像に対してオブジェクト検出を実行し、第2タイプの画像に対して、動きベクトルに基づいて動き検出を実行し、即ち、動きベクトルによって、追跡するオブジェクトの空間動き情報を取得する。このようなオブジェクト追跡方法によれば、復号された全ての画像の情報が利用されるとともに、画像のオブジェクト検出を1フレームずつ行うことにより検出速度が遅いという問題が回避され、リアルタイムな追跡速度が確保されるだけでなく、取得された追跡結果の精度が確保され、したがって、オブジェクト追跡の効率を大幅に向上させ、時間やリソースの消費を減少させる。
【0160】
1つの可能な実現形態において、前記第1タイプの画像は、前記複数のフレームの画像のうちの検出フレームであり、前記第2タイプの画像は、前記複数のフレームの画像のうちの追跡フレームであり、
前記複数のフレームの画像のうち、復号された1番目のフレームの画像は前記検出フレームであり、2つずつの前記検出フレームの間に1つ又は複数の前記追跡フレームが置かれる。
【0161】
1つの可能な実現形態において、前記現在のフレームの画像が前記第1タイプの画像であることに応答して、前記処理モジュールは、さらに、前記現在のフレームの画像に対してオブジェクト検出を行った後、前記現在のフレームの画像における被検出オブジェクトに対してキーポイント検出を行い、取得されたキーポイント検出結果と、前記現在のフレームの画像の動きベクトルとに基づいて、前記現在のフレームの画像における被検出オブジェクトの、次のフレームの画像における位置情報を予測する。
【0162】
1つの可能な実現形態において、前記現在のフレームの画像における被検出オブジェクトは、1つ又は複数であり、前記処理モジュールは、さらに、被検出オブジェクトごとに、前記被検出オブジェクトのキーポイント検出結果に基づいて、前記被検出オブジェクトを複数の領域に分割し、前記現在のフレームの画像の動きベクトルに基づいて、前記被検出オブジェクトの各領域の動きベクトルオフセットを取得し、前記各領域の動きベクトルオフセットに基づいて、前記被検出オブジェクトの前記次のフレームの画像における位置情報を予測する。
【0163】
1つの可能な実現形態において、前記現在のフレームの画像が第2タイプの画像であることに応答して、前記処理モジュールは、さらに、次のフレームの画像が前記追跡フレームであることに応答して、前記現在のフレームの画像の動きベクトルに基づいて、前記現在のフレームの画像における被検出オブジェクトの、前記次のフレームの画像における位置情報を予測する。
【0164】
1つの可能な実現形態において、前記処理モジュールは、さらに、前記現在のフレームの画像の動きベクトルに基づいて、前記被検出オブジェクトの各領域の動きベクトルオフセットを取得し、前記各領域の動きベクトルオフセットに基づいて、前記被検出オブジェクトの前記次のフレームの画像における位置情報を予測する。
【0165】
1つの可能な実現形態において、前記処理モジュールは、さらに、前記被検出オブジェクトの領域ごとに、前記現在のフレームの画像の動きベクトルに基づいて、前記領域における各画素点の動きベクトルを取得し、前記領域に含まれる画素点の総数と、前記領域における各画素点の動きベクトルとに基づいて、前記領域の動きベクトルオフセットを取得。
【0166】
1つの可能な実現形態において、前記処理モジュールは、さらに、前記各領域の動きベクトルオフセットに基づいて、前記各領域を平行移動させることにより、前記各領域の前記次のフレームの画像における位置情報を取得し、予測した前記各領域の前記次のフレームの画像における位置情報に基づいて、前記次のフレームの画像において、前記各領域を囲む1つの境界ボックスを生成することにより、前記被検出オブジェクトの前記次のフレームの画像における位置情報を取得する。
【0167】
1つの可能な実現形態において、前記処理モジュールは、さらに、端末から送信された、前記カメラに対するオブジェクト追跡要求を受信すると、前記カメラによって収集されたビデオストリームを取得する。
【0168】
1つの可能な実現形態において、前記装置は、
前記被検出オブジェクトの前記現在のフレームの画像における位置情報を前記端末に送信し、前記端末によって、前記被検出オブジェクトの前記現在のフレームの画像における位置情報を表示する送信モジュールをさらに含む。
【0169】
1つの可能な実現形態において、前記被検出オブジェクトが歩行者であることに応答して、前記処理モジュールは、さらに、前記現在のフレームの画像における歩行者に対して人体骨格のキーポイント検出を行い、前記歩行者の人体骨格のキーポイント検出の結果に基づいて、前記歩行者を複数の人体領域に分割する。
【0170】
上述した全ての選択可能な構成は、任意の組み合わせによって本開示の選択可能な実施例を構成することができる。ここではいちいち説明しない。
【0171】
説明すべきものとして、上記実施例で提供されるオブジェクト追跡装置は、オブジェクトを追跡する際に、上記の各機能モジュールの分割のみを例として説明されているが、実際の適用では、必要に応じて、上記の機能を異なる機能モジュールに割り当てて完了し、即ち、機器の内部構成を異なる機能モジュールに分割して、以上に説明した全部又は一部の機能を完了してもよい。また、上記実施例で提供されるオブジェクト追跡装置は、オブジェクト追跡方法の実施例と同一の構想に属し、その具体的な実現過程の詳細は、方法の実施例を参照すればよく、ここでは説明を省略する。
【0172】
図14は、本願の実施例で提供される電子機器の構成の模式図である。該電子機器は、サーバとして表現されてもよい。該電子機器1400は、スペック又は性能によって大きく異なり得、1つ又は複数のプロセッサ(CPU:Central Processing Units)1401と、1つ又は複数のメモリ1402とを備えてもよい。勿論、該サーバは、入出力のために、有線又は無線のネットワークインタフェース、キーボード、及び入出力インタフェースなどの部材をさらに有してもよい。該サーバは、機器の機能を実現するための他の部材をさらに備えてもよい。ここでは説明を省略する。
【0173】
ここで、前記メモリ1402には、少なくとも1つの命令が記憶され、前記少なくとも1つの命令は、前記プロセッサ1401によってロードされて実行されると、
カメラによって収集されたビデオストリームを取得し、前記ビデオストリームを復号することにより、複数のフレームの画像を取得するステップと、
処理対象の現在のフレームの画像について、前記現在のフレームの画像が第1タイプの画像であることに応答して、前記現在のフレームの画像に対してオブジェクト検出を行うことにより、被検出オブジェクトの前記現在のフレームの画像における位置情報を取得するステップと、
前記現在のフレームの画像が第2タイプの画像であることに応答して、1つ前のフレームの画像の動きベクトルに基づいて、前記1つ前のフレームの画像における被検出オブジェクトの、前記現在のフレームの画像における位置情報を予測するステップと、を実現させる。
【0174】
1つの可能な実現形態において、前記第1タイプの画像は、前記複数のフレームの画像のうちの検出フレームであり、前記第2タイプの画像は、前記複数のフレームの画像のうちの追跡フレームであり、
前記複数のフレームの画像のうち、復号された1番目のフレームの画像は前記検出フレームであり、2つずつの前記検出フレームの間に1つ又は複数の前記追跡フレームが置かれる。
【0175】
1つの可能な実現形態において、前記現在のフレームの画像が前記第1タイプの画像であることに応答して、前記少なくとも1つの命令は、前記プロセッサによってロードされて実行されると、
前記現在のフレームの画像に対してオブジェクト検出を行った後、前記現在のフレームの画像における被検出オブジェクトに対してキーポイント検出を行うステップと、
取得されたキーポイント検出結果と、前記現在のフレームの画像の動きベクトルとに基づいて、前記現在のフレームの画像における被検出オブジェクトの、次のフレームの画像における位置情報を予測するステップと、を実現させる。
【0176】
1つの可能な実現形態において、前記現在のフレームの画像における被検出オブジェクトは、1つ又は複数であり、
前記少なくとも1つの命令は、前記プロセッサによってロードされて実行されると、
被検出オブジェクトごとに、前記被検出オブジェクトのキーポイント検出結果に基づいて、前記被検出オブジェクトを複数の領域に分割するステップと、
前記現在のフレームの画像の動きベクトルに基づいて、前記被検出オブジェクトの各領域の動きベクトルオフセットを取得するステップと、
前記各領域の動きベクトルオフセットに基づいて、前記被検出オブジェクトの前記次のフレームの画像における位置情報を予測するステップと、を実現させる。
【0177】
1つの可能な実現形態において、前記現在のフレームの画像が第2タイプの画像であることに応答して、前記少なくとも1つの命令は、前記プロセッサによってロードされて実行されると、
次のフレームの画像が前記追跡フレームであることに応答して、前記現在のフレームの画像の動きベクトルに基づいて、前記現在のフレームの画像における被検出オブジェクトの、前記次のフレームの画像における位置情報を予測するステップを実現させる。
【0178】
1つの可能な実現形態において、前記少なくとも1つの命令は、前記プロセッサによってロードされて実行されると、
前記現在のフレームの画像の動きベクトルに基づいて、前記被検出オブジェクトの各領域の動きベクトルオフセットを取得するステップと、
前記各領域の動きベクトルオフセットに基づいて、前記被検出オブジェクトの前記次のフレームの画像における位置情報を予測するステップと、を実現させる。
【0179】
1つの可能な実現形態において、前記少なくとも1つの命令は、前記プロセッサによってロードされて実行されると、
前記被検出オブジェクトの領域ごとに、前記現在のフレームの画像の動きベクトルに基づいて、前記領域における各画素点の動きベクトルを取得するステップと、
前記領域に含まれる画素点の総数と、前記領域における各画素点の動きベクトルとに基づいて、前記領域の動きベクトルオフセットを取得するステップと、を実現させる。
【0180】
1つの可能な実現形態において、前記少なくとも1つの命令は、前記プロセッサによってロードされて実行されると、
前記各領域の動きベクトルオフセットに基づいて、前記各領域を平行移動させることにより、前記各領域の前記次のフレームの画像における位置情報を取得するステップと、
予測した前記各領域の前記次のフレームの画像における位置情報に基づいて、前記次のフレームの画像において、前記各領域を囲む1つの境界ボックスを生成することにより、前記被検出オブジェクトの前記次のフレームの画像における位置情報を取得するステップと、を実現させる。
【0181】
1つの可能な実現形態において、前記少なくとも1つの命令は、前記プロセッサによってロードされて実行されると、
端末から送信された、前記カメラに対するオブジェクト追跡要求を受信すると、前記カメラによって収集されたビデオストリームを取得するステップを実現させる。
【0182】
1つの可能な実現形態において、前記少なくとも1つの命令は、前記プロセッサによってロードされて実行されると、
前記被検出オブジェクトの前記現在のフレームの画像における位置情報を前記端末に送信し、前記端末によって、前記被検出オブジェクトの前記現在のフレームの画像における位置情報を表示するステップを実現させる。
【0183】
1つの可能な実現形態において、前記被検出オブジェクトが歩行者であることに応答して、前記少なくとも1つの命令は、前記プロセッサによってロードされて実行されると、
前記現在のフレームの画像における歩行者に対して人体骨格のキーポイント検出を行うステップを実現させ、
前記被検出オブジェクトのキーポイント検出結果に基づいて、前記被検出オブジェクトを複数の領域に分割する前記ステップは、
前記歩行者の人体骨格のキーポイント検出の結果に基づいて、前記歩行者を複数の人体領域に分割するステップを含む。
【0184】
また、例示的な実施例では、コンピュータ読み取り可能な記憶媒体、例えば、命令が含まれるメモリが提供されている。上記命令は、電子機器1400のプロセッサによってロードされて実行されることで、
カメラによって収集されたビデオストリームを取得し、前記ビデオストリームを復号することにより、複数のフレームの画像を取得するステップと、
処理対象の現在のフレームの画像について、前記現在のフレームの画像が第1タイプの画像であることに応答して、前記現在のフレームの画像に対してオブジェクト検出を行うことにより、被検出オブジェクトの前記現在のフレームの画像における位置情報を取得するステップと、
前記現在のフレームの画像が第2タイプの画像であることに応答して、1つ前のフレームの画像の動きベクトルに基づいて、前記1つ前のフレームの画像における被検出オブジェクトの、前記現在のフレームの画像における位置情報を予測するステップと、を実現させることが可能である。
【0185】
1つの可能な実現形態において、前記第1タイプの画像は、前記複数のフレームの画像のうちの検出フレームであり、前記第2タイプの画像は、前記複数のフレームの画像のうちの追跡フレームであり、
前記複数のフレームの画像のうち、復号された1番目のフレームの画像は前記検出フレームであり、2つずつの前記検出フレームの間に1つ又は複数の前記追跡フレームが置かれる。
【0186】
1つの可能な実現形態において、前記現在のフレームの画像が前記第1タイプの画像であることに応答して、前記少なくとも1つの命令は、前記プロセッサによってロードされて実行されると、
前記現在のフレームの画像に対してオブジェクト検出を行った後、前記現在のフレームの画像における被検出オブジェクトに対してキーポイント検出を行うステップと、
取得されたキーポイント検出結果と、前記現在のフレームの画像の動きベクトルとに基づいて、前記現在のフレームの画像における被検出オブジェクトの、次のフレームの画像における位置情報を予測するステップと、を実現させる。
【0187】
1つの可能な実現形態において、前記現在のフレームの画像における被検出オブジェクトは、1つ又は複数であり、
前記命令は、前記プロセッサによってロードされて実行されると、
被検出オブジェクトごとに、前記被検出オブジェクトのキーポイント検出結果に基づいて、前記被検出オブジェクトを複数の領域に分割するステップと、
前記現在のフレームの画像の動きベクトルに基づいて、前記被検出オブジェクトの各領域の動きベクトルオフセットを取得するステップと、
前記各領域の動きベクトルオフセットに基づいて、前記被検出オブジェクトの前記次のフレームの画像における位置情報を予測するステップと、を実現させる。
【0188】
1つの可能な実現形態において、前記現在のフレームの画像が第2タイプの画像であることに応答して、前記命令は、前記プロセッサによってロードされて実行されると、
次のフレームの画像が前記追跡フレームであることに応答して、前記現在のフレームの画像の動きベクトルに基づいて、前記現在のフレームの画像における被検出オブジェクトの、前記次のフレームの画像における位置情報を予測するステップを実現させる。
【0189】
1つの可能な実現形態において、前記命令は、前記プロセッサによってロードされて実行されると、
前記現在のフレームの画像の動きベクトルに基づいて、前記被検出オブジェクトの各領域の動きベクトルオフセットを取得するステップと、
前記各領域の動きベクトルオフセットに基づいて、前記被検出オブジェクトの前記次のフレームの画像における位置情報を予測するステップと、を実現させる。
【0190】
1つの可能な実現形態において、前記命令は、前記プロセッサによってロードされて実行されると、
前記被検出オブジェクトの領域ごとに、前記現在のフレームの画像の動きベクトルに基づいて、前記領域における各画素点の動きベクトルを取得するステップと、
前記領域に含まれる画素点の総数と、前記領域における各画素点の動きベクトルとに基づいて、前記領域の動きベクトルオフセットを取得するステップと、を実現させる。
【0191】
1つの可能な実現形態において、前記命令は、前記プロセッサによってロードされて実行されると、
前記各領域の動きベクトルオフセットに基づいて、前記各領域を平行移動させることにより、前記各領域の前記次のフレームの画像における位置情報を取得するステップと、
予測した前記各領域の前記次のフレームの画像における位置情報に基づいて、前記次のフレームの画像において、前記各領域を囲む1つの境界ボックスを生成することにより、前記被検出オブジェクトの前記次のフレームの画像における位置情報を取得するステップと、を実現させる。
【0192】
1つの可能な実現形態において、前記命令は、前記プロセッサによってロードされて実行されると、
端末から送信された、前記カメラに対するオブジェクト追跡要求を受信すると、前記カメラによって収集されたビデオストリームを取得するステップを実現させる。
【0193】
1つの可能な実現形態において、前記命令は、前記プロセッサによってロードされて実行されると、
前記被検出オブジェクトの前記現在のフレームの画像における位置情報を前記端末に送信し、前記端末によって、前記被検出オブジェクトの前記現在のフレームの画像における位置情報を表示するステップを実現させる。
【0194】
1つの可能な実現形態において、前記被検出オブジェクトが歩行者であることに応答して、前記命令は、前記プロセッサによってロードされて実行されると、
前記現在のフレームの画像における歩行者に対して人体骨格のキーポイント検出を行うステップを実現させ、
前記被検出オブジェクトのキーポイント検出結果に基づいて、前記被検出オブジェクトを複数の領域に分割する前記ステップは、
前記歩行者の人体骨格のキーポイント検出の結果に基づいて、前記歩行者を複数の人体領域に分割するステップを含む。
【0195】
例えば、前記コンピュータ読み取り可能な記憶媒体は、読み出し専用メモリ(ROM:Read-Only Memory)、ランダムアクセスメモリ(RAM:Random Access Memory)、コンパクトディスク読み出し専用メモリ(CD-ROM:Compact Disc Read-Only Memory)、磁気テープ、フロッピーディスク、及び光データ記憶装置などであってもよい。
【0196】
当業者であれば理解できるように、上記の実施例を実現するためのステップの全部又は一部は、ハードウェアによって実行されてもよいし、プログラムを介して関連ハードウェアに指示することにより実行されてもよい。前記プログラムは、コンピュータ読み取り可能な記憶媒体に記憶されてもよい。上記で言及された記憶媒体は、読み出し専用メモリ、磁気ディスク、又は光ディスクなどであってもよい。
【0197】
上記は、本願の好ましい実施例に過ぎず、本願の保護範囲を限定するものではない。本願の精神および原則内で行われる種々の修正、均等置換え、改善などは全て本願の保護範囲内に含まれるべきである。
【符号の説明】
【0198】
1301 取得モジュール
1302 復号モジュール
1303 処理モジュール
1401 プロセッサ
1402 メモリ
【手続補正書】
【提出日】2021-09-17
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0055
【補正方法】変更
【補正の内容】
【0055】
図1に示す実施環境、及び
図2に示すシステムアーキテクチ
ャを例として、カメラ101によって収集されたビデオストリームは、バックアップとしてサーバ103に記憶される。端末102がサーバ103へカメラ101に対するオブジェクト追跡要求を開始すると、サーバ103は、カメラ101によって収集されたビデオストリームを取得し、ビデオストリームを復号することにより、複数のフレームの画像を取得する。また、サーバ103は、各フレームの画像の動きベクトルを抽出する。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0057
【補正方法】変更
【補正の内容】
【0057】
説明すべきものとして、復号された1番目のフレームの画像は、検出フレームである。ここで、通常、1つの検出フレームの後に複数の追跡フレームが続く。検出フレーム及び追跡フレームの密度は、具体的なシナリオに応じて設定されてもよい。本願の実施例はこれを具体的に限定しない。即ち、検出フレームは全ての画像のうちのごく一部しか占めておらず、追跡フレームの数は検出フレームの数よりも大きい。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0077
【補正方法】変更
【補正の内容】
【0077】
本願の実施例において、復号された全ての画像の情報を利用できるとともに、全ての画像に対してオブジェクト検出を行う必要がないことを実現するために、サーバは、復号された複数のフレームの画像を検出フレーム及び追跡フレームに分ける。これらのうち、検出フレームは、オブジェクト検出の実行を必要とするビデオフレームを指し、追跡フレームは、オブジェクト検出の実行を必要とせずに、追跡操作の実行を必要とするビデオフレームを指す。本明細書では、検出フレームを第1タイプの画像とも呼び、追跡フレームを第2タイプの画像とも呼ぶ。
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】0086
【補正方法】変更
【補正の内容】
【0086】
本願の実施例では、被検出オブジェクトの現在のフレームの画像における第1位置、即ち位置情報(xb,yb,width,height)を、現在のフレームの画像の追跡結果として端末に返信し、端末によってフロントエンド表示を行い、ユーザに表現する。
【手続補正6】
【補正対象書類名】明細書
【補正対象項目名】0088
【補正方法】変更
【補正の内容】
【0088】
例示的には、被検出オブジェクトが歩行者である場合を例にすると、標記の被検出オブジェクトに対してキーポイント検出を行うことは、歩行者に対して人体骨格のキーポイント検出を行うことである。つまり、本ステップは、人体のキーポイントの位置を特定して、人体のキーポイントの座標(xk,yk)を供給することを実現するためのものである。
【手続補正7】
【補正対象書類名】明細書
【補正対象項目名】0089
【補正方法】変更
【補正の内容】
【0089】
1つの可能な実現形態において、図5を参照すると、人体のキーポイントは、左目、右目、左耳、右耳、鼻、左肩、右肩、左肘、右肘、左手首、右手首、左尻、右尻、左膝、右膝、左足首、右足首の17個のキーポイントを含む。
【手続補正8】
【補正対象書類名】明細書
【補正対象項目名】0186
【補正方法】変更
【補正の内容】
【0186】
1つの可能な実現形態において、前記現在のフレームの画像が前記第1タイプの画像であることに応答して、前記命令は、前記プロセッサによってロードされて実行されると、
前記現在のフレームの画像に対してオブジェクト検出を行った後、前記現在のフレームの画像における被検出オブジェクトに対してキーポイント検出を行うステップと、
取得されたキーポイント検出結果と、前記現在のフレームの画像の動きベクトルとに基づいて、前記現在のフレームの画像における被検出オブジェクトの、次のフレームの画像における位置情報を予測するステップと、を実現させる。
【手続補正9】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
電子機器が実行するオブジェクト追跡方法であって
、
カメラによって収集されたビデオストリームを取得し、前記ビデオストリームを復号することにより、複数のフレームの画像を取得するステップと、
処理対象の現在のフレームの画像について、前記現在のフレームの画像が第1タイプの画像であることに応答して、前記現在のフレームの画像に対してオブジェクト検出を行うことにより、被検出オブジェクトの前記現在のフレームの画像における位置情報を取得するステップと、
前記現在のフレームの画像が第2タイプの画像であることに応答して、1つ前のフレームの画像の動きベクトルに基づいて、前記1つ前のフレームの画像における被検出オブジェクトの、前記現在のフレームの画像における位置情報を予測するステップと、
を含むことを特徴とするオブジェクト追跡方法。
【請求項2】
前記第1タイプの画像は、前記複数のフレームの画像のうちの検出フレームであり、前記第2タイプの画像は、前記複数のフレームの画像のうちの追跡フレームであり、
前記複数のフレームの画像のうち、復号された1番目のフレームの画像は前記検出フレームであり、2つずつの前記検出フレームの間に1つ又は複数の前記追跡フレームが置かれる、
ことを特徴とする請求項1に記載の方法。
【請求項3】
前記現在のフレームの画像が前記第1タイプの画像であることに応答して、
前記現在のフレームの画像に対してオブジェクト検出を行った後、前記現在のフレームの画像における被検出オブジェクトに対してキーポイント検出を行うステップと、
取得されたキーポイント検出結果と、前記現在のフレームの画像の動きベクトルとに基づいて、前記現在のフレームの画像における被検出オブジェクトの、次のフレームの画像における位置情報を予測するステップと、をさらに含む、
ことを特徴とする請求項1に記載の方法。
【請求項4】
前記現在のフレームの画像における被検出オブジェクトは、1つ又は複数であり、取得されたキーポイント検出結果と、前記現在のフレームの画像の動きベクトルとに基づいて、前記現在のフレームの画像における被検出オブジェクトの、次のフレームの画像における位置情報を予測する前記ステップは、
被検出オブジェクトごとに、前記被検出オブジェクトのキーポイント検出結果に基づいて、前記被検出オブジェクトを複数の領域に分割するステップと、
前記現在のフレームの画像の動きベクトルに基づいて、前記被検出オブジェクトの各領域の動きベクトルオフセットを取得するステップと、
前記各領域の動きベクトルオフセットに基づいて、前記被検出オブジェクトの前記次のフレームの画像における位置情報を予測するステップと、を含む、
ことを特徴とする請求項3に記載の方法。
【請求項5】
前記現在のフレームの画像が第2タイプの画像であることに応答して、
次のフレームの画像
が追跡フレームであることに応答して、前記現在のフレームの画像の動きベクトルに基づいて、前記現在のフレームの画像における被検出オブジェクトの、前記次のフレームの画像における位置情報を予測するステップをさらに含む、
ことを特徴とする請求項1に記載の方法。
【請求項6】
前記現在のフレームの画像の動きベクトルに基づいて、前記現在のフレームの画像における被検出オブジェクトの、前記次のフレームの画像における位置情報を予測する前記ステップは、
前記現在のフレームの画像の動きベクトルに基づいて、前記被検出オブジェクトの各領域の動きベクトルオフセットを取得するステップと、
前記各領域の動きベクトルオフセットに基づいて、前記被検出オブジェクトの前記次のフレームの画像における位置情報を予測するステップと、を含む、
ことを特徴とする請求項5に記載の方法。
【請求項7】
前記現在のフレームの画像の動きベクトルに基づいて、前記被検出オブジェクトの各領域の動きベクトルオフセットを取得する前記ステップは、
前記被検出オブジェクトの領域ごとに、前記現在のフレームの画像の動きベクトルに基づいて、前記領域における各画素点の動きベクトルを取得するステップと、
前記領域に含まれる画素点の総数と、前記領域における各画素点の動きベクトルとに基づいて、前記領域の動きベクトルオフセットを取得するステップと、を含む、
ことを特徴とする請求項4又は6に記載の方法。
【請求項8】
前記各領域の動きベクトルオフセットに基づいて、前記被検出オブジェクトの前記次のフレームの画像における位置情報を予測する前記ステップは、
前記各領域の動きベクトルオフセットに基づいて、前記各領域を平行移動させることにより、前記各領域の前記次のフレームの画像における位置情報を取得するステップと、
予測した前記各領域の前記次のフレームの画像における位置情報に基づいて、前記次のフレームの画像において、前記各領域を囲む1つの境界ボックスを生成することにより、前記被検出オブジェクトの前記次のフレームの画像における位置情報を取得するステップと、を含む、
ことを特徴とする請求項4又は6に記載の方法。
【請求項9】
カメラによって収集されたビデオストリームを取得する前記ステップは、
端末から送信された、前記カメラに対するオブジェクト追跡要求を受信すると、前記カメラによって収集されたビデオストリームを取得するステップを含む、
ことを特徴とする請求項1に記載の方法。
【請求項10】
前記被検出オブジェクトの前記現在のフレームの画像における位置情報を前記端末に送信し、前記端末によって、前記被検出オブジェクトの前記現在のフレームの画像における位置情報を表示するステップをさらに含む、
ことを特徴とする請求項9に記載の方法。
【請求項11】
前記被検出オブジェクトが歩行者であることに応答して、前記現在のフレームの画像における被検出オブジェクトに対してキーポイント検出を行う前記ステップは、
前記現在のフレームの画像における歩行者に対して人体骨格のキーポイント検出を行うステップを含み、
前記被検出オブジェクトのキーポイント検出結果に基づいて、前記被検出オブジェクトを複数の領域に分割する前記ステップは、
前記歩行者の人体骨格のキーポイント検出の結果に基づいて、前記歩行者を複数の人体領域に分割するステップを含む、
ことを特徴とする請求項4に記載の方法。
【請求項12】
オブジェクト追跡装置であって、
カメラによって収集されたビデオストリームを取得する取得モジュールと、
前記ビデオストリームを復号することにより、複数のフレームの画像を取得する復号モジュールと、
処理対象の現在のフレームの画像について、前記現在のフレームの画像が第1タイプの画像であることに応答して、前記現在のフレームの画像に対してオブジェクト検出を行うことにより、被検出オブジェクトの前記現在のフレームの画像における位置情報を取得し、前記現在のフレームの画像が第2タイプの画像であることに応答して、1つ前のフレームの画像の動きベクトルに基づいて、前記1つ前のフレームの画像における被検出オブジェクトの、前記現在のフレームの画像における位置情報を予測する処理モジュールと、
を含むことを特徴とするオブジェクト追跡装置。
【請求項13】
請求項1乃至11のいずれか1項に記載のオブジェクト追跡方法を
コンピュータに実現させることを特徴とする
コンピュータプログラム。
【請求項14】
電子機器であって、プロセッサとメモリとを備え、前記メモリには、少なくとも1つの命令が記憶され、前記少なくとも1つの命令は、前記プロセッサによってロードされて実行されると、
請求項1乃至11のいずれか1項に記載のオブジェクト追跡方法を実現させる、
ことを特徴とする機器。
【国際調査報告】