JP7844524B2 - 情報処理装置、情報処理方法及びプログラム - Google Patents

情報処理装置、情報処理方法及びプログラム

Info

Publication number
JP7844524B2
JP7844524B2 JP2024022202A JP2024022202A JP7844524B2 JP 7844524 B2 JP7844524 B2 JP 7844524B2 JP 2024022202 A JP2024022202 A JP 2024022202A JP 2024022202 A JP2024022202 A JP 2024022202A JP 7844524 B2 JP7844524 B2 JP 7844524B2
Authority
JP
Japan
Prior art keywords
crop
region
local
tracking target
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2024022202A
Other languages
English (en)
Other versions
JP2025125925A (ja
Inventor
雄一 影山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2024022202A priority Critical patent/JP7844524B2/ja
Priority to US19/042,032 priority patent/US20250265721A1/en
Publication of JP2025125925A publication Critical patent/JP2025125925A/ja
Application granted granted Critical
Publication of JP7844524B2 publication Critical patent/JP7844524B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20112Image segmentation details
    • G06T2207/20132Image cropping
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/07Target detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Geometry (AREA)
  • Image Analysis (AREA)
  • Closed-Circuit Television Systems (AREA)

Description

本発明は、情報処理装置、情報処理方法及びプログラムに関するものである。
近年、画像に含まれる追尾する対象(以下、追尾対象)を含む部分領域を切り出して(以下、クロップ)、当該部分領域の画像(以下、クロップ画像)を用いて追尾対象を追尾する技術が知られている。
特許文献1には、複数の認識タスクを実行する1枚のクロップ画像を決定するために、主被写体の全身のサイズ情報や主被写体以外の情報を用いる技術が開示されている。特許文献1の技術は、画像に対してクロップを行うことで、画像全体から被写体を含む部分領域を切り出したクロップ画像を生成する。
特開2021-141421号公報
しかしながら、特許文献1の技術は、クロップ画像を決定する際に、追尾対象の姿勢変化の影響を受けやすい追尾対象の全体のサイズを基準にクロップするため、追尾対象の姿勢変化によってクロップされる領域のサイズが変化しやすく、クロップ画像が安定しない。
そこで本発明の目的は、安定したクロップ画像を生成することができる情報処理装置、情報処理方法、および、プログラムを提供する。
この課題を解決するため、例えば本発明の情報処理装置は以下の構成を備える。すなわち、
第1のフレームに含まれる被写体前記第1のフレームにおける追尾対象として特定する追尾対象特定手段と、
前記追尾対象に含まれる検出対象の少なくとも一部を含む局所領域を前記第1のフレーム特定する局所領域特定手段と、
前記局所領域のサイズ情報に基づいて、前記第1のフレームよりも後で撮像された第2のフレームから前記追尾対象を含む領域を切り出したクロップ領域のサイズ情報を決定するクロップ領域決定手段と、
前記クロップ領域決定手段においてサイズ情報が決定された前記クロップ領域に基づいて前記第2のフレームからクロップ画像を生成するクロップ手段と、
を備え
前記追尾対象特定手段は、前記クロップ画像に含まれる被写体から前記第2のフレームにおける追尾対象を特定する。
本発明によれば、安定したクロップ画像を生成することができる。
実施形態における情報処理装置のハードウェア構成図。 第1~第4の実施形態の情報処理装置の機能を説明する機能ブロック図。 第1、第2の実施形態を説明する時系列の画像の図。 第1~第4の実施形態の認識処理のフローチャートを示す図。 第1、第2の実施形態のクロップ領域決定処理のフローチャートを示す図。 第1~第5の実施形態の事前登録情報の図。 第3、第4の実施形態を説明する時系列の画像の図。 第3の実施形態のクロップ領域決定処理のフローチャートを示す図。 第4の実施形態のクロップ領域決定処理のフローチャートを示す図。 第5の実施形態の情報処理装置の構成を説明する図。 第5の実施形態を説明する時系列の画像の図。 第5の実施形態のフローチャートを示す図。
以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものでない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
<第1の実施形態 姿勢変化に対するサイズ変動率が低い局所を用いたクロップ方法>
図1は、情報処理装置200のハードウェア構成図の例を示す。情報処理装置200は、いわゆるコンピュータであってよい。情報処理装置200は、CPU100、ROM110、RAM120、HDD130、入力部140、表示部150、通信部160、バス170を有する。CPU100、ROM110、RAM120、HDD130、入力部140、表示部150、および、通信部160は、バス170によって情報を送受信可能に接続されている。
CPU100は、Central Processing Unitの略であり、中央演算処理装置である。情報処理装置200は、CPU100に代えて、または、CPU100に加えて、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)、及び、QPU(Quantum Processing Unit)などの他のプロセッサーを有してもよい。CPU100は、各種処理のための演算や論理判定などを行う。例えば、CPU100は、ROM110またはHDD130に格納されたプログラムを読み出して、RAM120に展開することで、種々の機能を実現し、各種処理を実行する。また、情報処理装置200の各機能の一部または全部は、ASIC(Application Specific Integrated Circuit)、及び、FPGA(Field Programmable Gate Array)などの1または複数の回路で実現されてもよい。
ROM110は、Read-Only-Memoryの略であり、不揮発性メモリである。ROM110は、OS(Operating System)などの制御プログラムを格納する。
RAM120は、Random Access Memoryの略である。RAM120は、CPU100の主メモリ、および、ワークエリアなどの一時記憶領域として用いられる。
HDD130は、Hard Disk Driveの略であり、大容量の不揮発性記憶装置である。HDD130は、本実施形態に係る電子データ、プログラム、および、プログラムの実行に必要なデータを記憶する。情報処理装置200は、HDD130に代えて、または、HDD130に加えて、同様の役割を果たす外部記憶装置を有してもよい。ここで、外部記憶装置は、例えば、メディア(記録媒体)と、当該メディアへのアクセスを実現するための外部記憶ドライブとで実現することができる。このようなメディアとしては、例えば、フレキシブルディスク(FD)、CD-ROM、DVD、USBメモリ、MO、フラッシュメモリなどが知られている。また、外部記憶装置は、ネットワークで接続されたサーバー装置などであっても良い。
入力部140は、ユーザからの入力を受け付けて、CPU100に受け渡す。入力部140は、マウス、キーボード、タッチパネルなどを有する。
表示部150は、CPU100などから取得した画像データに基づいて、各種データおよび処理結果などの画像をユーザに表示する。表示部150は、液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイなどの表示デバイスで構成される。用語“画像”は、静止画、動画、動画の1フレームの画像、映像、および、それらのデータを含む用語として使用される場合がある。
通信部160は、他の装置との通信を中継する。これにより、情報処理装置200は、通信部160を介して他の装置とデータを通信する。情報処理装置200は、他の装置から通信部160を介して、ユーザからの指示を受信しても良いし、処理結果などを他装置に出力しても良い。
図2は、本実施形態に係る情報処理装置200の機能を説明する機能ブロック図である。図2を用いて、本実施形態の構成を説明する。なお、ここでは概要のみを説明し、詳細については後述する。情報処理装置200は、画像入力部220、追尾対象設定部230、クロップ領域決定部240、クロップ部250、マルチタスク部260、追尾対象特定部270、局所領域特定部280、出力部290の機能を有する。例えば、CPU100は、ROM110またはHDD130に格納されたプログラムを読み出して実行することによって、画像入力部220、追尾対象設定部230、クロップ領域決定部240、クロップ部250、マルチタスク部260、追尾対象特定部270、局所領域特定部280、出力部290の機能を実現する。
入力データ210は、撮像された画像または複数の画像を含む画像群のデータを示している。入力データ210は、例えば、デジタルカメラおよび監視カメラなどの撮像装置から得られた時系列の複数に画像である。
画像入力部220は、入力データ210として入力される1または複数の画像を受け付ける。入力データ210は、例えば、複数のフレームの画像が時系列で連続する動画である。
追尾対象設定部230は、入力データ210の初期フレームにおける追尾する対象である追尾対象の種別、画像内での位置、および、画素数などで示されるサイズの少なくともいずれかを設定する。追尾対象の種別は、例えば、人、猫および犬などを含む動物、および、車などのいずれかであってよい。
クロップ領域決定部240は、画像入力部220から渡された画像から、追尾対象を切り出すためのクロップ領域を決定する。具体的には、クロップ領域決定部240は、追尾対象に含まれる検出対象の少なくとも一部を含む局所領域のサイズ情報に基づいて、クロップ領域のサイズ情報を決定する。サイズ情報は、画像内の領域(ここでは局所領域)のサイズに関する情報であって、当該領域内の画素数、および、当該領域の縦横の長さの少なくともいずれかであってよい。検出対象は、追尾対象の一部であって、例えば、動物の場合、頭部、顔などを含む。検出対象は、複数であってもよい。例えば、検出対象が、頭部、顔、足、および、手などを含んでもよい。クロップ領域決定部240は、複数の種類の検出対象が検出された場合、後述する優先順位に従って、クロップ領域のサイズ情報を決定するための検出対象を複数の種類の検出対象から選択して良い。この場合、クロップ領域決定部240は、選択した当該検出対象の局所領域のサイズ情報に基づいて、クロップ領域のサイズ情報を決定して良い。クロップ領域決定部240は、サイズ情報とともにクロップ領域の位置などを決定しても良い。
クロップ部250は、クロップ領域決定部240で決定されたクロップ領域に基づいて、画像入力部220から渡された画像を切り出す(クロップする)。これにより、クロップ部250は、マルチタスク部260で使用する追尾対象を含むクロップ画像を生成する。
マルチタスク部260は、クロップ部250によって生成されたクロップ画像に対し、複数の認識タスクを実行する。本実施形態では、複数の認識タスクとして、猫の全身検出器、頭部検出器、および、顔検出器を例に説明する。ここで、実行される認識タスクに使用される認識モデルは、例えば畳み込みニューラルネットワーク(Covolutional Neural Networks)、ViT(Vision Transformer)、および、特徴抽出器と組み合わせたSVM(Support Vector Machine)などを含むさまざまなモデルが考えられる。本実施形態は上記の形式に限定されるものではないが、本実施形態の説明ではマルチタスク部260をCNNとして説明する。
追尾対象特定部270は、マルチタスク部260から得られた検出結果から、画像内に含まれる追尾する対象を追尾対象として特定する。追尾対象特定部270は、追尾対象設定部230から得られた追尾対象の特徴情報と、マルチタスク部260から得られた検出結果の特徴情報と、の類似度から追尾対象を特定する。
局所領域特定部280は、クロップ領域のサイズ情報を決定するための局所領域を特定する。具体的には、局所領域特定部280は、追尾対象特定部270で特定された追尾対象に含まれる検出対象の少なくとも一部を含む局所領域を、画像内に特定する。なお、局所領域が特定される画像は、クロップ画像であってもよい。すなわち、局所領域特定部280は、画像およびクロップ画像のいずれかを用いて、局所領域を画像内に特定してよい。例えば、追尾対象が猫であり、検出対象が猫の全身、頭部、および、顔の場合、局所領域特定部280は、各検出対象の少なくとも一部を含む局所領域を画像内に検出対象ごとに特定する。局所領域特定部280は、特定した1または複数の局所領域の情報をクロップ領域決定部240に渡す。局所領域の情報は、次フレームのクロップ領域を決定する際に用いられる。
出力部290は、マルチタスク部260、追尾対象特定部270、局所領域特定部280から得られた結果を出力する。このように、情報処理装置200は、入力されるシーンに対し時系列に処理を行うことによって、追尾対象を精度よく追尾することが可能になる。
図3は、本実施形態における例として、猫を追尾している場合の時系列の画像を示す。また、図4は、本実施形態の認識処理のフローチャートの図である。以下、フローチャートは、CPU100が制御プログラムを実行することにより実現されるものとする。図6(a)に本実施形態における事前登録情報を示す。事前登録情報はHDD130に保存されており、本実施形態では情報処理装置200が必要に応じて情報を参照することが可能である。事前登録情報はHDD130から読み出され、RAM120に展開されていても良い。
以下に、図4を用いて本実施形態の処理の詳細を説明する。
S401では、画像入力部220は、入力データ210として入力される1フレーム分の画像を取得する。ここでは、画像入力部220は、図3(a)に示す画像301を取得する。図3(a)の画像301は、時刻t=0の初期フレームの画像である。画像301では、猫が左方向へ歩行している。
S402では、画像入力部220が、取得した入力データ210の画像が初期フレームか否かを判定する。画像301が時刻t=0の初期フレームの場合、画像入力部220は、画像が初期フレームであると判定して、S403に進む。
S403では、追尾対象設定部230が、初期フレームの画像に基づいて、追尾対象を設定する。ここでS403では、追尾対象設定部230が、追尾対象を猫に設定するとともに、追尾対象の位置とサイズを設定する。追尾対象の設定方法は、どのような方法を取ってもよい。例えば、追尾対象設定部230は、ユーザによるカメラ画面へのタッチおよび声による操作などを受け付けて追尾対象を設定してもよく、カメラが持つ認識処理部の認識結果などを用いて追尾対象を設定してもよく、様々な方法で設定してよい。本実施形態では、追尾対象設定部230は、図3(a)に示すように猫の全身を追尾対象領域302として設定したものとする。追尾対象設定部230が追尾対象の設定を終了したのち、画像入力部220は、再度、S401の処理を行う。
S401では、画像入力部220は、図3(b)に示す画像311を取得する。ここで、画像311は、時刻t=1における猫の画像である。画像311では、左方向に歩行していた猫が停止している。
S402では、画像入力部220が、画像311が初期フレームより後のフレームであるため、初期フレームでないと判定して、S404のクロップ領域決定処理へと移る。
図5(a)は、第1の実施形態のクロップ領域決定部240が実行するS404のクロップ領域決定処理の詳細なフローを示す。クロップ領域決定部240は、S404の処理、および、S404を詳細化したS501~S507の処理を実施する。
S501では、クロップ領域決定部240が、クロップ領域算出に使用可能な前フレーム(すなわち、前の時刻のフレーム)で検出された局所領域があるか否か判定する。時刻t=1では、後述するS408で実施される局所領域の特定処理はまだ実施されていないため、クロップ領域決定部240は局所領域がないと判定し、S501の判定はNoとなり、S503の処理へと移る。
S503では、クロップ領域決定部240が、追尾対象設定部230で設定された追尾対象の全身の画素数をクロップ基準に設定する。
ここでクロップ基準とは、画像上における追尾対象領域のサイズ情報であり、クロップ領域のサイズ(ここでは画素数)を算出するための情報を指す。サイズおよび画素数は、サイズ情報の例である。クロップ領域決定部240は、後述するクロップ倍率とクロップ基準とを用いることでクロップ領域を決定することができる。本実施形態では、クロップ基準を画素数として説明するが必ずしもその必要は無く、追尾対象のサイズに関する情報であればどのような情報を用いても良い。例えば、クロップ領域決定部240は、対象領域を表す矩形枠の長辺の長さ、短辺の長さ、対角線の長さなどのサイズ情報をクロップ基準として用いてもよい。時刻t=1では、クロップ領域決定部240は、クロップ基準となる追尾対象の全身の画素数とクロップ倍率との積を取ることでクロップ領域を決定する。
S504では、クロップ領域決定部240が、クロップ基準に対応するクロップ倍率を取得する。クロップ倍率とは、あらかじめ設定されたクロップ基準にかける倍率であり、クロップ基準の種類(例えば、検出対象)ごとに設定することができる。図6(a)に、本実施形態においてあらかじめ設定されている事前登録情報601を示す。事前登録情報601では、認識タスクの種類である検出対象ごとのクロップ倍率が決められている。クロップ基準に全身が選択されたときのクロップ倍率は3.0倍、頭部が選択されたときのクロップ倍率は15.0倍、顔が選択されたときのクロップ倍率は30.0倍であることを示している。したがって、クロップ領域決定部240は、追尾対象の全身の画素数をクロップ基準としてS503で設定しているため、S504では、クロップ領域決定部240が、クロップ倍率として、全身に関連付けられている3.0倍を図6(a)に示す事前登録情報601から選択して取得する。また本実施形態では、追尾対象の全身の画素数は追尾対象設定部230で設定された追尾対象領域302の画素数を用いるが、これに限るものでは無く、マルチタスク部260の全身検出器の結果を用いても良い。
S505では、クロップ領域決定部240が、クロップ基準とクロップ倍率とからクロップ領域の画素数を算出する。具体的には、クロップ領域決定部240が、クロップ基準として設定された追尾対象の全身の画素数と、S504で決定されたクロップ倍率との積を、クロップ領域の画素数として算出する。
S506では、クロップ領域決定部240が、クロップ領域のアスペクト比を決定する。本実施形態では、アスペクト比を4:3として説明を行うが、これに限るものでは無い。クロップ領域決定部240は、例えば、クロップ領域に応じてアスペクト比を決定してもよく、予め定められたアスペクト比を採用してもよい。
S507では、クロップ領域決定部240が、クロップ領域の位置を決定する。本実施形態では、クロップ領域決定部240が、追尾対象の中心をクロップ領域の位置として決定する。なお、クロップ領域の位置は、追尾対象の中心である必要は無く、どのような位置決定方法を用いても良い。これにより、クロップ領域決定部240は、図3(b)に示すクロップ領域312を決定する。S404の詳細フローから抜け、S405に進む。
S405では、クロップ部250が、クロップ画像313を生成する。例えば、クロップ部250は、S404によって決定されたクロップ領域312を用いて画像311のクロップを行い、画像のリサイズを行う。本実施形態では、リサイズ後の画像サイズはQVGA(320画素×240画素)として説明を行うが、画像サイズはこれに限るものではない。上記の処理によって、クロップ部250は、図3(c)に示すクロップ画像313を生成する。
S406では、マルチタスク部260が、図3(c)のクロップ画像313に対してマルチタスク処理を行う。本実施形態では、マルチタスク部260で実施されるマルチタスク処理は、猫の全身検出器、頭部検出器、顔検出器を例に説明するが、これに限られるものではない。例えば、マルチタスク部260は、上記の検出器に代えてまたは検出器に加えて、瞳検出器および追尾対象を追尾する機能などをマルチタスク処理として実行しても良い。時刻t=1におけるマルチタスク部260の検出結果は、図3(c)に示す全身検出結果314、頭部検出結果315、および、顔検出結果316となる。
S407では、追尾対象特定部270が、マルチタスク部260の検出結果の中から追尾対象を特定する。本実施形態では、追尾対象特定部270が、追尾対象領域302とそれぞれの検出結果の特徴量照合を行い、特徴量がより近い検出結果を追尾対象だと判定する。追尾対象の特定は必ずしも特徴量照合である必要は無く、検出結果が追尾対象だと判定できる方法であれば何でも良い。追尾対象特定部270は、時刻t=1では、全身検出結果314を追尾対象と特定したとする。
S408では、局所領域特定部280が、マルチタスク部260の検出結果の中から、追尾対象の局所領域を特定する。本実施形態では、局所領域特定部280は、追尾対象特定部270で追尾対象だと特定された図3(c)の全身検出結果314の中心位置からの距離を用いて局所領域を特定する。局所領域の特定は、必ずしも距離情報を用いる必要は無い。局所領域特定部280は、時刻t=1では、頭部検出結果315と顔検出結果316とを局所領域として特定したとする。ここで、全身検出結果314は、追尾対象として特定されているため、クロップ領域を決めるための局所領域としては採用されない。頭部検出結果315および顔検出結果316の領域は、追尾対象の複数の異なる種類の検出対象の複数の局所領域の一例である。
S409では、全フレームの処理が終了したかを判定する。時刻t=1において、全フレームの処理が終了していないため、S401に戻り時刻t=2の処理を行う。
S401では、画像入力部220が、図3(d)の画像321を取得する。画像321は、時刻t=2の猫の画像である。画像321では、前フレームで停止していた猫が左方向へ移動を再開している。その後、再度、画像入力部220がS402の処理を行った後、クロップ領域決定部240がS404の処理を行う。
S404の詳細フローである図5(a)のS501では、クロップ領域決定部240が、クロップ領域算出に使用可能な前フレームで検出された局所領域があるか否か判定する。時刻t=1では、クロップ領域決定部240は、頭部検出結果315と顔検出結果316とを前フレームで検出している。また、本実施形態では、クロップ領域決定部240が、事前登録情報601に登録されている情報をすべてクロップ領域算出に使用可能なものとするため、S502の処理へ移る。
S502では、クロップ領域決定部240が、事前登録情報601の優先順位に従い、局所領域の画素数をクロップ基準に設定する。ここで、複数の種類の局所領域がある場合、優先順位に従って、検出対象を選択して、当該検出対象の局所領域をクロップ基準に設定する。具体的には、2つの局所領域、ここでは頭部検出結果315と顔検出結果316とがあるが、事前登録情報601を参照すると優先順位が高いのは頭である。したがって、S502では、クロップ領域決定部240が、頭部検出結果315の画素数をクロップ基準に設定する。
ここで、事前登録情報601におけるクロップ基準のそれぞれの優先順位は「姿勢変化に対するサイズ変動率」を考慮して事前に決定されている。本実施形態の猫の例では、歩行時と停止時で全身のサイズ変動が大きいが、頭部はサイズ変動が小さいことが分かる。そのため、クロップ領域決定部240が、クロップ基準を頭部に設定することで、姿勢変化に対してクロップ領域の変動を少なくすることができる。顔は頭部に比べると姿勢変化に対してサイズ変動が大きいが、全身に比べると小さい。そのため、頭部の優先順位が1位、顔の優先順位が2位、全身の優先順位が3位と設定している。
S504では、クロップ領域決定部240が、事前登録情報601からクロップ倍率である15.0倍を取得し、S505でクロップ領域の画素数の算出を行う。その後、クロップ領域決定部240は、S506、S507の処理を行い、図3(d)のクロップ領域322を決定する。
S405では、クロップ部250が、クロップ領域322を用いてクロップ画像の生成を行う。その後、S406からS409の処理が行われて、一連の処理が終了する。
本実施形態は、上記のように「姿勢変化に対するサイズ変動率」を考慮してクロップ基準とクロップ倍率とを決定することができる。もし、姿勢変化によって影響を受けやすい領域をクロップ基準として設定してしまった場合、丸まった猫などではクロップ領域が極端に狭くなってしまう。クロップ領域は前フレームの情報を用いて決定するため、クロップ領域が狭いと現在フレームで猫が急峻な動きをした際などにクロップ領域内から猫の一部もしくは全部がはみ出てしまう可能性がある。そうなってしまった場合、クロップ画像から猫がはみ出てしまい、マルチタスク処理を正しく実行することができない。
本実施形態は、猫の全身は姿勢によりサイズ変動が大きく、頭部はサイズ変動が小さい、といった知見を事前登録情報の優先順位として設定し処理を行うものである。
すなわち、本実施形態は、追尾対象の姿勢変化の影響を受けにくい、頭部などのサイズ情報に基づいてクロップ領域のサイズ情報を決定している。これにより、本実施形態は、クロップ領域のサイズが追尾対象の姿勢変化の影響を受けにくいので、安定したクロップ画像を生成することができる。この結果、本実施形態は、クロップ領域から追尾対象がはみ出すことを低減することができ、複数の認識タスクを処理するマルチタスク処理の性能を安定させることともに、検出対象に対する検出タスクの精度を安定化させることができる。
本実施形態は、複数の検出対象である全身、頭部、および、顔に対して予め定められた優先順位に基づいて、クロップ領域のサイズ情報を決定するために用いる検出対象を選択している。そして、本実施形態は、当該検出対象の局所領域のサイズ情報に基づいてクロップ領域のサイズ情報を決定している。これにより、本実施形態は、より確実にクロップ領域を安定させることができる。また、本実施形態は、優先順位が最も高い検出対象が検出されない場合でも、その次に追尾対象の姿勢変化の影響の少ない、検出対象の局所領域のサイズ情報によってクロップ領域のサイズ情報を決定することができる。
<第2の実施形態 複数の認識タスクの結果を用いたクロップ領域の算出>
第2の実施形態では、第1の実施形態と同様に猫が歩行している場合を例として、複数の認識タスクの結果を用いてクロップ領域を決定する方法を説明する。本実施形態は、局所領域特定部280が、複数の局所領域を特定する。例えば、局所領域特定部280は、頭部および顔などを含む複数の検出対象のそれぞれから局所領域を特定することで、結果的に複数の局所領域を特定する。クロップ領域決定部240は、複数の局所領域のサイズ情報に基づいてクロップ領域のサイズ情報を決定する。例えば、クロップ領域決定部240は、複数の局所領域のサイズ情報に平均化処理を行った結果に基づいて、クロップ領域を決定してよい。
本実施形態のハードウェア構成例は第1の実施形態の図1と同様であり、構成図も図2と同様である。
図3は、本実施形態における例として、猫を追尾している場合の時系列の画像を示す。図3(a)の画像301は、時刻t=0の初期フレームにおいて猫が左方向へ歩行している画像である。また、第2の実施形態では、図4のフローチャートと図5(b)のフローチャートとを用いる。図6(b)は、本実施形態における事前登録情報を示す。
時刻t=0での画像301に対する処理では、第1の実施形態と同様にS401、S402、S403の順に処理が行われる。S403では、追尾対象設定部230が、図3(a)に示すように猫の全身を追尾対象領域302として設定する。
次に、S401では、画像入力部220が、図3(b)の画像311を取得する。ここで、画像311は時刻t=1における猫の画像である。画像311では、左方向に歩行していた猫が停止している。画像入力部220は、画像311を、S402で初期フレームより後のフレームであると判定するため、クロップ領域決定部240がS404のクロップ領域決定処理を実行する。
図5(b)は、第2の実施形態のクロップ領域決定部240が実行するS404のクロップ領域決定処理の詳細なフローを示す。なお、図5(b)の処理のうち、図5(a)と同様の処理については説明を簡略化する。図6(b)は、第2の実施形態の事前登録情報602を示す。
S511では、クロップ領域決定部240が、クロップ領域算出に使用可能な前フレームで検出された局所領域があるか否か判定する。時刻t=1では、後述するS408で実施される局所領域の特定処理はまだ実施されていないため、S511の判定はNoとなり、S514の処理へと移る。S514では、クロップ領域決定部240が、追尾対象設定部230で設定された追尾対象の全身の画素数をクロップ基準に設定する。
S515では、クロップ領域決定部240が、クロップ倍率として、クロップ基準である全身に対応する3.0倍を、図6(b)の事前登録情報602から取得する。
S516では、クロップ領域決定部240が、クロップ基準として設定された追尾対象の全身の画素数とS515で決定されたクロップ倍率との積をとり、クロップ領域の画素数を算出する。
クロップ領域決定部240が、S517では、クロップ領域のアスペクト比を決定し、S518では、クロップ領域の位置を決定する。これにより、クロップ領域決定部240が、図3(b)に示すクロップ領域312を決定する。
S405では、クロップ部250が、S404で決定されたクロップ領域312を用いたクロップ処理と、QVGAへの画像のリサイズ処理とを行って、図3(c)のクロップ画像313を生成する。S406では、マルチタスク部260が、マルチタスク処理を行い、全身検出結果314、頭部検出結果315、顔検出結果316を得た。
S407では、追尾対象特定部270が、マルチタスク部260の検出結果の中から追尾対象を特定する。時刻t=1では、追尾対象特定部270が、全身検出結果314を追尾対象として特定したとする。
S408では、局所領域特定部280が、マルチタスク部260の検出結果の中から、追尾対象の局所領域を特定する。時刻t=1では、追尾対象特定部270が、頭部検出結果315と顔検出結果316とを局所領域と特定したとする。ここで、全身検出結果314は追尾対象として特定されているため、クロップ領域を決めるための局所領域としては採用されない。
S409では、全フレームの処理が終了したかを判定する。時刻t=1において、全フレームの処理が終了していないため、S401に戻り時刻t=2の処理を行う。
S401では、画像入力部220が、図3(e)の画像331を取得する。画像331は、時刻t=2の猫の画像である。画像331では、前フレームで停止していた猫が左方向へ移動を再開している。その後、再度、S402からS404の処理を行う。
S511では、クロップ領域決定部240が、クロップ領域算出に使用可能な前フレームで検出された局所領域があるか否か判定する。時刻t=1では、頭部検出結果315と顔検出結果316とが検出されている。また、本実施形態では、事前登録情報602に登録されている情報はすべてクロップ基準として設定できるものとするため、S512の処理へ移る。
S512では、クロップ領域決定部240が、複数の検出対象から特定された、全ての局所領域のクロップ倍率と重み係数とを事前登録情報602から取得する。S513では、クロップ領域決定部240が、クロップ基準の画素数と、クロップ倍率と、重み係数とからクロップ領域の画素数を算出する。
ここで、重み係数とは、認識タスクごとの重要度を示しており、重み係数を用いることでより安定したクロップ領域の画素数を算出することができる。本実施形態では、「姿勢変化に対するサイズ変動率」を考慮し、サイズ変動率が少ない検出結果の重み係数が大きくなるように事前登録情報602の設定を行った。
下記に本実施形態でのクロップ領域の画素数Cの計算方法を示す。
式(1.1)において、Wは重み係数、Pは局所領域の画素数、Rはクロップ倍率を示している。Nは特定された局所領域の個数を示しており、本実施形態では頭部検出結果315、顔検出結果316の計2個となる。また、本実施形態では頭部検出結果315の画素数を60pixel、顔検出結果316の画素数を20pixelとして説明する。
上記の式(1.1)は、それぞれの認識タスクごとにクロップ領域の画素数を算出し、その加重平均を求めている。頭部検出結果315をクロップ基準としたときのクロップ領域の画素数は、頭部検出結果の60pixelと頭部のクロップ倍率15.0を掛け合わせた900pixelとなる。顔検出結果316をクロップ基準としたときのクロップ領域の画素数は、顔検出結果の画素数20pixelと頭部のクロップ倍率30.0を掛け合わせた600pixelとなる。それぞれに、頭部の重み係数5.0と顔の重み係数3.0をかけ、加重平均を求めることで、クロップ領域の画素数Cは787.5pixelとなる。クロップ領域決定部240は、複数の検出結果を用いてクロップ領域の画素数を算出することで、もし頭部検出結果315のサイズを間違えて検出していた場合でも、クロップ領域の画素数が安定することがわかる。
クロップ領域決定部240が、S517では、クロップ領域のアスペクト比を決定し、S518では、クロップ領域の位置を決定する。これにより、クロップ領域決定部240が、図3(e)に示すクロップ領域332を決定する。
その後、S405では、クロップ部250が、クロップ領域332を用いてクロップ画像を生成する。その後、S406からS409の処理が行われて、本実施形態の処理が終了する。
上記のように、本実施形態は、複数の認識タスクによって検出された複数の検出対象のサイズ情報に基づいて、クロップ領域のサイズ情報を算出することで、もし一部の検出結果のサイズが間違っていた場合でも、安定したクロップ領域を計算することができる。
例えば、本実施形態は、複数の局所領域のサイズ情報を平均化処理した結果に基づいて、クロップ領域のサイズ情報を算出している。これにより、複数の局所領域のサイズ情報が、外れ値を含む場合でも、クロップ領域を安定化することができる。なお、本実施形態では加重平均を例に説明を行ったが、必ずしもその必要は無く、単純平均や移動平均などの平均化処理を用いてクロップ領域を決定しても良い。
また、クロップ領域決定部240は、複数の認識タスクの検出結果を用いてクロップ領域のサイズ情報の上限値および下限値の少なくとも一方を決定しても良い。例えば、事前登録情報に優先順位が設定されている場合、クロップ領域決定部240は、優先順位が最も高い認識タスクの検出結果からクロップ領域を算出し、クロップ領域の画素数を2.0倍した値を上限値、0.5倍した値を下限値として設定してよい。その後、クロップ領域決定部240は、本実施形態のように加重平均を用いてクロップ領域を算出した際に、クロップ領域の画素数が上限値を越えてしまったり、下限値を下回ってしまったりした場合、設定された上限値や下限値の範囲に収まるようにクロップ領域の画素数を設定する。上記のように上限値や下限値を設定することで、優先順位の高い認識タスクから算出されるクロップ領域の画素数の0.5倍~2.0倍までの範囲でクロップ領域を設定することができる。
以上によって、複数の認識タスクの検出結果を用いてマルチタスク手段の性能を安定させることができる。
<第3の実施形態 時系列情報を用いて、クロップ領域の算出に使用するクロップ基準を決定>
本実施形態では、猫が歩行している場合を例として、時系列情報を用いてクロップ基準を決定する方法を説明する。例えば、本実施形態では、局所領域特定部280が、時刻の異なる複数の画像から複数の局所領域を特定する。クロップ領域決定部240は、複数の局所領域の少なくともいずれかのサイズ情報を用いて、クロップ領域のサイズ情報を決定する。ここで、局所領域特定部280は、複数の種類の検出対象、例えば、頭部および顔の複数の局所領域を特定してよい。換言すれば、局所領域特定部280は、時刻の異なる複数の画像のそれぞれから、互いに異なる複数の種類の検出対象の局所領域を特定してよい。クロップ領域決定部240は、複数の種類の検出対象から選択した検出対象の局所領域のサイズ情報に基づいて、クロップ情報のサイズ情報を決定してよい。例えば、クロップ領域決定部240は、局所領域のサイズ情報の変化に基づいて、選択した検出対象の局所領域のサイズ情報に基づいてクロップ領域のサイズ情報を決定してよい。局所領域のサイズ情報の変化は、例えば、時刻の異なる画像から特定した局所領域のサイズの変化率であってよい。ここでいうサイズは、局所領域の画素数、および、局所領域の縦および横の積などのいずれかであってよい。
本実施形態のハードウェア構成例は第1の実施形態の図1と同様であり、構成図も図2と同様である。
図7は、本実施形態における例として、猫を追尾している場合の時系列の画像を示す。図7(a)の画像701は、時刻t=0の初期フレームにおいて猫が左方向へ歩行している画像である。また、第3の実施形態では、図4のフローチャートと図8のフローチャートとを用いる。図6(c)は、本実施形態における事前登録情報を示す。
時刻t=0での画像701に対する処理では、第1の実施形態と同様にS401、S402、S403の順に処理が行われる。S403では、追尾対象設定部230が、図7(a)に示すように猫の全身を追尾対象領域702として設定する。
次に、S401では、画像入力部220が、図7(b)の画像711を取得する。ここで、画像711は時刻t=1の猫の画像である。画像711では、引き続き猫が左方向へ移動している。S402では、画像入力部220が、画像711を初期フレームより後のフレームであると判定するため、S404のクロップ領域決定処理へと移る。
図8は、第3の実施形態のクロップ領域決定部240が実行するS404のクロップ領域決定処理の詳細なフローを示す。図8の処理のうち、上述の実施形態と同様の処理については説明を簡略化する。
S801では、クロップ領域決定部240が、クロップ領域算出に使用可能な前フレームで検出された局所領域があるか否か判定する。時刻t=1では、後述するS408で実施される局所領域の特定処理はまだ実施されていないため、局所領域がない。したがって、クロップ領域決定部240が、S801の判定をNoとして、S807の処理へと移る。
S807では、クロップ領域決定部240が、追尾対象設定部230で設定された追尾対象の全身の画素数をクロップ基準に設定する。
S808では、クロップ領域決定部240が、クロップ倍率として、クロップ基準である全身に対応する3.0倍を図6(c)の事前登録情報603から取得する。
S809では、クロップ領域決定部240が、クロップ基準として設定された追尾対象の全身の画素数とS808で決定されたクロップ倍率との積をとり、クロップ領域の画素数を算出する。
クロップ領域決定部240は、S810でクロップ領域のアスペクト比を決定し、S811でクロップ領域の位置を決定する。これにより、クロップ領域決定部240が、図7(b)に示すクロップ領域712を決定する。
S405では、クロップ部250が、S404で決定されたクロップ領域712を用いたクロップ処理と、QVGAへの画像のリサイズ処理とを行い、図3(c)のクロップ画像713を生成する。
S406では、マルチタスク部260が、マルチタスク処理を行い、全身検出結果714、頭部検出結果715、顔検出結果716を得る。
S407では、追尾対象特定部270が、マルチタスク部260の検出結果の中から追尾対象の特定が行われる。時刻t=1では、追尾対象特定部270は、全身検出結果714を追尾対象と特定する。
S408では、局所領域特定部280が、マルチタスク部260の検出結果の中から、追尾対象の局所領域を特定する。時刻t=1では、局所領域特定部280は、頭部検出結果715と顔検出結果716とを局所領域と特定する。
S409では、全フレームの処理が終了したかを判定する。時刻t=1において、全フレームの処理が終了していないため、S401に戻り時刻t=2の処理が行われる。
S401では、画像入力部220は、図7(d)の画像721を取得する。ここで、画像721は時刻t=2の猫の画像である。画像721では、引き続き猫が左方向へ移動している。その後、再度、S402からS404の処理を行う。
S801では、クロップ領域決定部240が、クロップ領域の算出に使用可能な前フレームで検出された局所領域があるか否か判定する。時刻t=1では、頭部検出結果715と顔検出結果716が前フレームで検出されている。また、本実施形態では、事前登録情報603に登録されている情報はすべてクロップ領域算出に使用可能なものとするため、クロップ領域決定部240は、前フレームの局所領域があると判定して、S802の処理へ移る。
S802では、クロップ領域決定部240が、クロップ領域の算出に使用できる局所領域は複数あるか判定する。時刻t=1では、頭部検出結果715と顔検出結果716が検出されているため、クロップ領域決定部240は、使用できる複数の局所領域があると判定して、S803の処理へと移る。
S803では、クロップ領域決定部240が、局所領域の検出結果の時系列情報が使用できる状態か判定する。時刻t=2では、時刻t=1の検出結果のみがある状態であるため、局所領域の時間的変化を判断するための時刻の異なる画像から特定された検出結果または局所領域などの情報が揃っていない状態である。そのため、クロップ領域決定部240は、時系列情報が使用できる状態でないと判定して、S806の処理へと移る。
S806では、クロップ領域決定部240が、検出された局所領域を優先順位に従いクロップ基準に設定する。事前登録情報603から顔検出結果の優先順位が一番高いことが分かるため、クロップ領域決定部240は、顔の領域の画素数をクロップ基準として設定する。
S808では、クロップ領域決定部240が、クロップ倍率として、顔に関連付けられている30.0倍を図6(c)の事前登録情報603から取得して設定する。
S809では、クロップ領域決定部240が、クロップ基準として設定された顔の画素数とS808で決定されたクロップ倍率との積をとり、クロップ領域の画素数を算出する。クロップ領域決定部240が、S810では、クロップ領域のアスペクト比を決定し、S811では、クロップ領域の位置を決定する。これにより、クロップ領域決定部240が、図7(d)に示すクロップ領域722を決定する。
S405では、クロップ部250が、S404で決定されたクロップ領域722を用いたクロップ処理と、QVGAへの画像のリサイズ処理とを行い、図3(e)のクロップ画像723を生成する。
S406では、マルチタスク部260が、マルチタスク処理を行い、全身検出結果724、頭部検出結果725、顔検出結果726を得る。
S407では、追尾対象特定部270が、マルチタスク部260の検出結果の中から追尾対象を特定する。時刻t=2では、追尾対象特定部270は、全身検出結果724を追尾対象と特定する。
S408では、局所領域特定部280は、マルチタスク部260の検出結果の中から、追尾対象の局所領域を特定する。時刻t=2では、局所領域特定部280は、頭部検出結果725と顔検出結果726とを局所領域と特定する。
S409では、全フレームの処理が終了したかを判定する。時刻t=2において、全フレームの処理が終了していないため、S401に戻り時刻t=3の処理を行う。
S401では、画像入力部220が、図7(g)の画像731を取得する。画像731は、時刻t=3の猫の画像である。画像731では、引き続き猫が左方向へ移動している。その後、再度、S402からS404の処理が行われる。
S801では、クロップ領域決定部240が、クロップ領域算出に使用可能な前フレームで検出された局所領域があるか否か判定する。時刻t=2では、頭部検出結果725と顔検出結果726が前フレームで検出されている。したがって、クロップ領域決定部240は、局所領域があると判定して、S802の処理へ移る。
S802では、クロップ領域決定部240が、クロップに使用できる局所領域は複数あるか判定する。時刻t=2では、頭部検出結果725と顔検出結果726とが検出されている。したがって、クロップ領域決定部240は、複数の局所領域があると判定して、S803の処理へと移る。
S803では、クロップ領域決定部240が、局所領域の検出結果の時系列情報が使用できる状態か判定する。時刻t=3では、時刻t=1と時刻t=2の検出結果がある状態であるため、局所領域の時間的変化を判断するための情報が揃っている状態である。そのため、クロップ領域決定部240は、時系列情報が使用できる状態であると判定して、S804の処理へと移る。本実施形態では局所領域の過去2フレーム分の検出結果があれば、時系列情報が使用できる状態だと判定されるが、これに限るものでは無い。
S804では、クロップ領域決定部240が、それぞれの局所領域の時系列情報からサイズ変化率を算出する。
サイズ変化率とは、過去フレームにおける局所領域の検出結果のサイズ情報からサイズ(ここでは画素数)がどれくらい変化しているかを算出した値である。本実施形態では、クロップ領域決定部240が、2フレーム前の検出結果のサイズ情報と1フレーム前の検出結果のサイズ情報とを比較することで、元々の局所領域の検出サイズに対してどの程度サイズが変化したかを算出するが、必ずしもその必要は無い。例えば、クロップ領域決定部240は、局所領域の時系列情報のサイズ分散、および、標準偏差などを計算することで、サイズ変化率を算出しても良い。全身検出結果714と全身検出結果724では、猫の体の向きは変化していないため、全身のサイズ変化率が小さいことが分かる。顔検出結果716と顔検出結果726では、猫の顔が正面向きから横向きに変化したため、顔のサイズ変化率が大きいことが分かる。頭部検出結果715と頭部検出結果725では、猫が横を向いた場合でも頭部のサイズ検出結果は変化量が小さいことが分かる。
S805では、クロップ領域決定部240が、サイズ変化率が一番小さい局所領域の画素数をクロップ基準に設定する。本実施形態では、クロップ領域決定部240が、サイズ変化率が一番小さい領域を頭部と判定して、頭部の画素数をクロップ基準として設定する。ここで、もし第1の実施形態の方式であれば、優先順位に従い顔の画素数をクロップ基準として設定してしまうため、時刻t=2と比べるとクロップ領域が狭くなってしまうことが考えられる。
S808では、クロップ領域決定部240が、クロップ倍率として、頭に関連付けられている15.0倍を図6(c)の事前登録情報603から取得する。
S809では、クロップ領域決定部240が、クロップ基準として設定された頭部の画素数とS808で決定されたクロップ倍率との積をとり、クロップ領域の画素数を算出する。
クロップ領域決定部240は、S810では、クロップ領域のアスペクト比を決定し、S811では、クロップ領域の位置を決定する。これにより、クロップ領域決定部240は、図7(g)に示すクロップ領域732を決定する。
その後、S405では、クロップ部250が、クロップ領域732を用いてクロップ画像を生成する。その後、S406からS409の処理が行われて、本実施形態の処理が終了する。
上記のように、第3の実施形態の情報処理装置は、時刻の異なる複数の画像を時系列情報として用いて特定した局所領域のいずれかを用いてクロップ領域を算出することで、安定したクロップ領域を設定することができる。例えば、本実施形態は、局所領域のサイズ情報の変化率によって、クロップ領域を算出するための局所領域を選択している。具体的には、本実施形態は、サイズ情報の変化の小さい局所領域を用いてクロップ領域を決定している。これにより、本実施形態は、安定したクロップ領域に適していない局所領域の優先順位が高かった場合、または、優先順位が設定されていなかった場合などであっても、適切に安定したクロップ領域を算出することができる。
また、本実施形態では顔や頭部などの異なる種類の局所領域の中からクロップ基準を決定する方法を説明したが、これに限るものではない。例えば、瞳や足など、同じ種類の局所領域の候補が複数(例えば、瞳の場合は2つ)あった場合でも、上記の方法によってクロップ領域の算出に適した局所領域を1つ決定しても良い。
<第4の実施形態 認識タスクが未検出だった場合に時系列情報を用いてクロップ領域を決定>
本実施形態では、猫が歩行している場合を例として、優先順位の高い認識タスクが未検出だった場合のクロップ領域の決定方法を説明する。具体的には、本実施形態では、局所領域特定部280が、時刻の異なる複数のフレームの画像のそれぞれから複数の局所領域を特定する。クロップ領域決定部240は、時刻の異なる複数の局所領域の変化に基づいて、前のフレームの画像(すなわち、前の時刻の画像)のクロップ領域に基づいて現在の画像のクロップ領域として設定する。また、クロップ領域決定部240は、前の時刻の局所領域がない場合、局所領域の変化に基づいて、前のクロップ領域に基づいて現在のクロップ領域を設定するか否か判定する。
図7は、第4の実施形態における例として、猫を追尾している場合の時系列の画像を示す。図7(a)の画像701は、時刻t=0の初期フレームにおいて猫が左方向へ歩行している画像である。また、第4の実施形態では、図4のフローチャートと図9のフローチャートを用いる。図6(d)は、第4の実施形態における事前登録情報を示す。
時刻t=0での画像701に対する処理では、第3の実施形態と同様にS401、S402、S403の順に処理を行う。S403では、追尾対象設定部230が、図7(a)に示すように猫の全身を追尾対象領域702として設定する。
次に、S401では、図7(b)の画像711が取得される。ここで、画像711は時刻t=1の猫の画像である。画像711では、引き続き猫が左方向へ移動している。画像入力部220は、画像711をS402で初期フレームより後のフレームであると判定するため、S404のクロップ領域決定処理へと移る。
図9は、第4の実施形態のクロップ領域決定部240が実行するS404のクロップ領域決定処理の詳細なフローを示す。
S901では、クロップ領域決定部240が、クロップ領域の算出に使用可能な前フレームで検出された局所領域があるか否か判定する。時刻t=1では、マルチタスク部260の処理はまだ行われていないため、クロップ領域決定部240は、検出された局所領域はないと判定して、S903の処理へと移る。
S903では、クロップ領域決定部240が、前フレームの検出結果があるか判定を行う。時刻t=1では、マルチタスク部260の処理はまだ行われていないため、クロップ領域決定部240は、前フレームの検出結果はないと判定して、S904の処理へと移る。
S904では、クロップ領域決定部240が、追尾対象設定部230で設定された追尾対象の全身の画素数をクロップ基準に設定する。
S907では、クロップ領域決定部240が、クロップ倍率として、クロップ基準である全身に対応する3.0倍を図6(d)の事前登録情報604から取得する。
S908では、クロップ領域決定部240が、クロップ基準として設定された追尾対象の全身の画素数とS907で決定されたクロップ倍率との積をとり、クロップ領域の画素数を算出する。
クロップ領域決定部240が、S909では、クロップ領域のアスペクト比を決定し、S911では、クロップ領域の位置を決定する。これにより、クロップ領域決定部240が、図7(b)に示すクロップ領域712を決定する。
S405では、クロップ部250が、S404で決定されたクロップ領域712を用いたクロップ処理と、QVGAへの画像のリサイズ処理とを行い、図7(c)のクロップ画像713を生成する。
S406では、マルチタスク部260が、マルチタスク処理を行い、全身検出結果714、頭部検出結果715、顔検出結果716を得る。
S407では、追尾対象特定部270が、マルチタスク部260の検出結果の中から追尾対象を特定する。時刻t=1では、追尾対象特定部270は、全身検出結果714を追尾対象と特定する。
S408では、局所領域特定部280が、マルチタスク部260の検出結果の中から、追尾対象の局所領域を特定する。時刻t=1では、局所領域特定部280は、頭部検出結果715と顔検出結果716とを局所領域と特定する。
S409では、全フレームの処理が終了したかを判定する。時刻t=1において、全フレームの処理が終了していないため、S401に戻り時刻t=2の処理を行う。
S401では、画像入力部220が、図7(d)の画像721を取得する。ここで、画像721は時刻t=2の猫の画像である。画像721では、引き続き猫が左方向へ移動している。その後、再度、S402からS404の処理を行う。
S901では、クロップ領域決定部240が、クロップ領域の算出に使用可能な前フレームで検出された局所領域があるか否か判定する。時刻t=1では、頭部検出結果715と顔検出結果716とが前フレームで検出されている。また、本実施形態では、事前登録情報604に登録されている情報はすべてクロップ基準として設定できるものとするため、S902の処理へ移る。
S902では、クロップ領域決定部240が、検出された局所領域を優先順位に従いクロップ基準に設定する。事前登録情報604から頭部の優先順位が一番高いことが分かるため、クロップ領域決定部240は、頭部の領域の画素数をクロップ基準として設定する。
S907では、クロップ領域決定部240が、クロップ倍率として、クロップ基準である頭に対応する15.0倍を図6(d)の事前登録情報604から取得する。
S908では、クロップ領域決定部240が、クロップ基準として設定された頭部の画素数とS907で決定されたクロップ倍率との積をとり、クロップ領域の画素数を算出する。
クロップ領域決定部240は、S909でクロップ領域のアスペクト比を決定し、S911では、クロップ領域の位置を決定する。これにより、クロップ領域決定部240は、図7(d)に示すクロップ領域722を決定する。
S405では、クロップ部250が、S404で決定されたクロップ領域722を用いたクロップ処理と、QVGAへの画像のリサイズ処理とを行い、図7(f)のクロップ画像727を生成する。
S406では、マルチタスク部260が、マルチタスク処理を行い、全身検出結果728のみを得て、頭部と顔は未検出となる。
S407では、追尾対象特定部270が、マルチタスク部260の検出結果の中から追尾対象を特定する。時刻t=2では、追尾対象特定部270は、全身検出結果728を追尾対象と特定する。
S408では、局所領域特定部280が、マルチタスク部260の検出結果の中から、追尾対象の局所領域を特定する。時刻t=2では、局所領域特定部280は、局所領域を検出しない。
S409では、全フレームの処理が終了したかを判定する。時刻t=2において、全フレームの処理が終了していないため、S401に戻り時刻t=3の処理が行われる。
S401では、画像入力部220が、図7(h)の画像733を取得する。画像733は、時刻t=3の猫の画像である。画像733では、引き続き猫が左方向へ移動している。その後、再度、S402からS404の処理が行われる。
S901では、クロップ領域決定部240が、クロップ領域算出に使用可能な前フレームで検出された局所領域があるか否か判定する。時刻t=2では、頭部と顔が未検出となっているため、検出された局所領域がないと判定して、S903の処理へ移る。
S903では、クロップ領域決定部240が、前フレームの検出結果があるか判定を行う。時刻t=2では、全身検出結果728が検出されているため、クロップ領域決定部240は、前フレームの検出結果があると判定して、S905の処理へと移る。
S905では、クロップ領域決定部240が、検出結果の時系列情報からサイズ変化率を算出する。サイズ変化率とは、第3の実施形態で説明したのと同様、過去フレームにおける検出結果のサイズ情報(ここでは画素数)からサイズがどれくらい変化しているかを算出した値である。例えば、クロップ領域決定部240は、ある時刻の局所領域のサイズと、ある時刻の直ぐ後の局所領域のサイズとの変化を当該サイズ変化率として算出してよい。
S906では、クロップ領域決定部240が、サイズ変化率が閾値以下か判定する。全身検出結果714と全身検出結果728のサイズ変化率が低く、クロップ領域決定部240は、サイズ変化率が閾値以下であると判定すると、S910の処理へと移る。一方、クロップ領域決定部240は、サイズ変化率が閾値より大きいと判定した場合、S904の処理へと移る。
S910では、クロップ領域決定部240が、前フレームのクロップ領域を現在フレームのクロップ領域として設定する。換言すれば、クロップ領域決定部240は、前の時刻の局所領域が未検出の場合、かつ、サイズ変化率が閾値以下の場合、前の時刻のクロップ領域を現在のクロップ領域として決定する。
ここで、例えば第3の実施形態だと、現在フレームではクロップ領域の算出に使用できる前フレームの局所領域が未検出になってしまっているため、「姿勢変化に対するサイズ変動率」が大きい追尾対象の全身をクロップ基準として設定する可能性がある。本実施形態では、クロップ領域決定部240が、「姿勢変化に対するサイズ変化率」が大きい領域の現在フレームでの局所領域のサイズ変化率から、追尾対象の姿勢に大きな変化が無いことを判定する。クロップ領域決定部240は、サイズ変化率が小さく、追尾対象の撮影状態に大きな変化が無いと判定した場合、前フレームのクロップ領域を現在フレームのクロップ領域として用いることができる。
その後、S911では、クロップ領域決定部240が、クロップ領域の位置を決定する。これにより、クロップ領域決定部240は、図7(h)に示すクロップ領域734を決定する。
その後、S405では、クロップ部250が、クロップ領域734を用いてクロップ画像の生成を行う。その後、S406からS409の処理を行い、本実施形態の処理が終了する。
上記のように、第4の実施形態の情報処理装置は、「姿勢変化に対するサイズ変化率」が大きい領域のサイズ変化率から、追尾対象の撮影状態に大きな変化が無いことを確認することで、前フレームのクロップ領域を現在フレームのクロップ領域として用いてクロップ処理を行うことができる。ただし、クロップ領域の位置に関しては、前フレームの座標を用いる必要は無く、被写体の動作に合わせて変更しても良い。また、本実施形態では、サイズ変化率を用いて追尾対象の撮影状態に大きな変化が無いことを確認したが、追尾対象の認識精度を用いて確認しても良い。ここで認識精度とは、追尾対象が認識されたフレーム数から算出される認識率や、認識対象の尤もらしさを示す認識スコアなどである。
また、本実施形態では、前フレームのクロップ領域を用いてクロップ処理を行うことができるか判定したが、前フレームの局所領域のサイズ情報を現在フレームで用いることができるか判定しても良い。上記の判定を行うことで、前フレームでクロップ領域の算出に使用された局所領域が現在フレームで未検出の場合でも、前フレームの局所領域を用いてクロップ領域を算出することが可能となる。
以上によって、優先順位の高い認識タスクが未検出だった場合でも、安定したクロップ領域の算出を行うことができる。
<第5の実施形態 異なる大きさの画像に対し実行されるマルチタスク>
図10は、第5の実施形態に係る第1の情報処理装置200と第2の情報処理装置1000とを説明する図である。図10の画像入力部220、追尾対象設定部230、クロップ領域決定部240、クロップ部250、第1のマルチタスク部260、追尾対象特定部270、局所領域特定部280、出力部290は、第1の実施形態の対応する構成と同様の動作を行うため説明を割愛する。
第2の情報処理装置1000は、画像入力部220から入力データ210を受け付ける。第2のマルチタスク部1010は、入力データ210の画像データに対し、複数の認識タスクを実行する。本実施形態では、第2のマルチタスク部1010はクロップを行っていない画像に対して処理を行うが、これに限るものではなく、クロップ画像よりも大きい画像に対して認識タスクを実行して良い。第2のマルチタスク部1010は、例えば画像のサイズが半分のクロップ画像、および、画像のアスペクト比が1:1になるクロップ画像などに対して認識タスクを実行してよい。したがって、局所領域特定部280は、クロップ画像と、クロップ画像よりも大きい画像とから、局所領域を特定することになる。なお、第2のマルチタスク部1010は、第1の情報処理装置200に設けられていてもよい。この場合、第1の情報処理装置200および第2の情報処理装置1000は、統合されて1つの情報処理装置となる。
図11は、第5の実施形態における例として、猫を追尾している場合の時系列の画像を示す。また、図12に本実施形態の処理のフローチャート図を示す。図12(a)は、フローチャート全体を示す。図12(b)は、S1204のクロップ領域決定処理の詳細なフローを示す。図6(a)は、本実施形態における事前登録情報を示す。
まず、S1201では、画像入力部220が、入力データ210として入力された1フレーム分の画像を取得する。ここでは、画像入力部220が、図11(a)の画像1101を取得する。図11(a)の画像1101は、時刻t=0の初期フレームの画像である。画像1101では、猫が左方向へ歩行している。
S1202では、画像入力部220が、取得したフレームが入力データ210の初期フレームか否かを判定する。時刻t=0の初期フレームの画像を取得している場合、画像入力部220は、初期フレームと判定して、S1203に移る。
S1203では、追尾対象設定部230が、追尾対象を設定する。ここでS1203では、追尾対象設定部230が、猫を追尾対象であると設定して、追尾対象の位置とサイズを設定する。本実施形態では、追尾対象設定部230は、図11(a)に示すように猫の全身を追尾対象領域1102として設定する。
S1207では、追尾対象の設定が終了したのち、第2のマルチタスク部1010が、第2のマルチタスク処理を行う。図11(b)は、第2のマルチタスク処理結果を示す。図11(b)の画像1103は第2のマルチタスク処理を行った画像を示しており、本実施形態では画像1101と同じものを用いる。第2のマルチタスク部1010は、画像1103に基づいて、全身検出結果1104と頭部検出結果1105とを検出する。
S1208では、追尾対象特定部270は、第2のマルチタスク部1010の検出結果の中から追尾対象を特定する。時刻t=0では、追尾対象特定部270は、全身検出結果1104を追尾対象と特定する。
S1209では、局所領域特定部280が、第2のマルチタスク部1010の検出結果の中から、追尾対象の局所領域を特定する。時刻t=0では、局所領域特定部280が、頭部検出結果1105を局所領域と特定する。
S1210では、全フレームの処理が終了したかを判定する。時刻t=0において、全フレームの処理が終了していないため、S1201に戻り時刻t=1の処理を行う。
S1201では、画像入力部220が、図11(c)に示す画像1111を取得する。ここで、画像1111は、時刻t=1における猫の画像である。画像1111では、引き続き猫が左方向へ移動している。
S1202では、画像入力部220が、画像1111を初期フレームより後のフレームであると判定するため、S1204のクロップ領域決定処理へと移る。
図12(b)は、S1204のクロップ領域決定処理の詳細なフローを示す。
S1211では、クロップ領域決定部240が、クロップ領域の算出に使用可能な前フレームで検出された局所領域があるか否か判定する。時刻t=1では、第2のマルチタスク部1010から得られた頭部検出結果1105があるため、クロップ領域決定部240は、前フレームで検出された局所領域があると判定して、S1212の処理へと移る。一方、頭部検出結果1105などのクロップ領域の算出に使用できる前フレームの局所領域がない場合、クロップ領域決定部240は、局所領域が無いと判定して、S1214へ移り、追尾対象設定部230で設定された追尾対象の全身の画素数をクロップ基準に設定する。その後、クロップ領域決定部240は、後述するS1215へ移る。
S1212では、クロップ領域決定部240が、第1のマルチタスク処理の結果と第2のマルチタスク処理の結果とを統合する。例えば、クロップ領域決定部240は、それぞれのマルチタスク処理で頭部が検出されていた場合、頭部の領域を局所領域として画素数の決定を行う。本実施形態のクロップ領域決定部240は、2つの処理によって検出された頭部の領域の画素数の平均を用いて、当該領域の画素数を決定している。なお、画素数の決定は、これに限らず、2つの領域の加重平均またはどちらか片方を利用するなどして決定しても良い。また、検出結果が1つしかなかった場合は、クロップ領域決定部240は、1つしかない頭部検出結果の画素数を用いても良い。
S1213では、クロップ領域決定部240が、図6(a)の事前登録情報601の優先順位に従い、頭部検出結果1105の画素数をクロップ基準に設定する。
S1215では、クロップ領域決定部240は、クロップ倍率として、頭に対応する15.0倍を、図6(a)の事前登録情報601から取得する。
S1216では、クロップ領域決定部240は、クロップ基準として設定された頭部の画素数と、S1215で決定されたクロップ倍率との積をとり、クロップ領域の画素数を算出する。
クロップ領域決定部240は、S1217でクロップ領域のアスペクト比を決定し、S1218でクロップ領域の位置を決定する。これにより、クロップ領域決定部240は、図11(c)に示すクロップ領域1112を決定する。
S1205では、クロップ部250が、クロップ画像1116を生成する。例えば、クロップ部250は、S1204によって決定されたクロップ領域1112を用いて画像1111のクロップを行い、画像のリサイズを行う。上記の処理によって、クロップ部250は、図11(e)に示すクロップ画像1116を生成する。時刻t=1では、猫の動きが急峻であったため、クロップ領域から猫の全身の一部および頭部がはみ出てしまっている。
S1206では、第1のマルチタスク部260が、図11(e)のクロップ画像1116に対して第1のマルチタスク処理を行う。時刻t=1における第1のマルチタスク部260の結果は、猫の全身がクロップ領域からはみ出てしまっているため、図11(e)に示すように全身検出結果1117のみとなる。
S1207では、第2のマルチタスク部1010が、第2のマルチタスク処理を行う。図11(d)は、第2のマルチタスク処理結果を示す。図11(d)の画像1113は第2のマルチタスク処理を行った画像を示しており、画像1111と同じものを用いた処理結果である。第2のマルチタスク部1010は、画像1111に対して第2のマルチタスク処理を実行して、画像1113に示すように全身検出結果1114と頭部検出結果1115とを検出する。
S1208では、追尾対象特定部270が、第1のマルチタスク部260と第2のマルチタスク部1010との検出結果の中から追尾対象を特定する。時刻t=1では、追尾対象特定部270が、図11(d)に示すように全身検出結果1114を追尾対象と特定する。
S1209では、局所領域特定部280は、第1のマルチタスク部260と第2のマルチタスク部1010との検出結果の中から、追尾対象の局所領域を特定する。時刻t=1では、局所領域特定部280は、図11(d)に示すように、頭部検出結果1115を局所領域と特定する。
S1210では、全フレームの処理が終了したかを判定する。時刻t=1において、全フレームの処理が終了していないため、S1201に戻り時刻t=2の処理を行う。
S1201では、画像入力部220が、図11(f)の画像1121を取得する。画像1121は、時刻t=2の猫の画像である。画像1121では、引き続き猫が左方向へ移動している。その後、再度、S1202とS1204の処理を行う。
S1211では、クロップ領域決定部240が、クロップ領域算出に使用可能な前フレームで検出された局所領域があるか否か判定する。時刻t=2では、頭部検出結果1115が検出されているため、クロップ領域決定部240は、局所領域があると判定して、S1212の処理へ移る。
S1212では、クロップ領域決定部240が、第1のマルチタスク処理の結果と第2のマルチタスク処理の結果の統合を行う。ここで、頭部は検出結果が1つしかないため、クロップ領域決定部240は、頭部に関しては第2のマルチタスク部1010の結果をそのまま用いることで処理の結果を統合する。クロップ領域決定部240は、全身に関しては全身検出結果1114と全身検出結果1117との画素数の平均を全身の画素数として、処理の結果を統合する。
S1213では、クロップ領域決定部240が、事前登録情報601の優先順位に従って、S1212で設定された頭部の画素数をクロップ基準に設定する。
その後、クロップ領域決定部240は、時刻t=1と同様に、S1215からS1218の処理を行い、図11(f)に示すクロップ領域1122を決定する。
S1205では、クロップ部250が、クロップ領域1122を用いてクロップ画像を生成する。
その後、S1206からS1210の処理が行われて、一連の処理が終了する。
上記のように、第5の実施形態は、クロップ画像およびクロップ画像よりも大きい画像を用いて、第1のマルチタスク処理および第2のマルチタスク処理を実行することでクロップ領域の算出をより安定させることができる。本実施形態において、クロップ画像から猫の全身がはみ出てしまった場合でも、クロップ画像より大きい画像に対して実行される第2のマルチタスク処理の検出結果を用いることによって、「姿勢変化に対するサイズ変動率」が小さい局所領域を用いてクロップを行うことができる。また、本実施形態では、クロップを行っていない画像に対して処理を行うが、クロップ部250で生成されたクロップ画像と異なる画像であればどのような画像に対して処理を行っても良い。
<その他の実施形態>
上記の実施形態では猫が追尾対象である例を挙げて説明したが、人物やバイクなどの他のカテゴリを追尾対象にしても良い。他カテゴリに対し本実施形態を適応する際は、「姿勢変化に対するサイズ変動率」を指標にクロップ基準となる局所領域を新たに設定しても良い。例えば、人物であればサイズ変動率が大きいものは全身領域であり、小さいものは頭部領域である。また、バイクであればサイズ変動率が大きいものは車体全体の領域であり、小さいものはタイヤの長さである。そのため、上記の実施形態では優先順位やサイズ変化率によってクロップ基準を決定したが、追尾対象のカテゴリ分類結果によって、クロップ基準を決定しても良い。例えば、人物を追尾する場合のクロップ基準は頭部、バイクを追尾する場合のクロップ基準はタイヤなど、カテゴリとクロップ基準の組み合わせを事前に決めておいても良い。
上述の実施形態は、複数の局所領域から選択した局所領域に基づいて、クロップ領域を決定する例を挙げて説明したが、クロップ領域の決定はこの方法に限られない。例えば、全身、頭、顔などの部位に優先順位を設定して、検出された部位のうち、優先順位の高い部位にのみ局所領域を設定し、当該局所領域に基づいてクロップ領域を決定してもよい。
上述の実施形態では、マルチタスク処理を前提に説明したが、マルチタスク処理はなくてもよい。この場合、局所領域特定部280は、予め定められた部位などに応じて、当該部位を検出して、局所領域を特定すればよい。
上述の実施形態では、入力データ210が動画である例を挙げて説明したが、これに限られない。例えば、入力データ210は、一定の時間間隔をあけて撮影された複数の静止画、および、タイムラプスの複数の画像などであってもよい。
上述の実施形態は、適宜組み合わせてよい。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本明細書の開示は、以下の情報処理装置、情報処理方法及びプログラムを含む。
(項目1)
画像に含まれる追尾する対象を追尾対象として特定する追尾対象特定手段と、
前記追尾対象に含まれる検出対象の少なくとも一部を含む局所領域を前記画像内に特定する局所領域特定手段と、
前記局所領域のサイズ情報に基づいて、前記画像から前記追尾対象を切り出すためのクロップ領域のサイズ情報を決定するクロップ領域決定手段と、
前記クロップ領域に基づいて前記画像を切り出してクロップ画像を生成するクロップ手段と、
を備えることを特徴とする情報処理装置。
(項目2)
前記局所領域特定手段は、前記追尾対象に含まれる複数の種類の検出対象の少なくとも一部を含む複数の局所領域を特定し、
前記クロップ領域決定手段は、前記複数の局所領域のいずれかのサイズ情報に基づいて前記クロップ領域のサイズ情報を決定する
ことを特徴とする項目1に記載の情報処理装置。
(項目3)
前記クロップ領域決定手段は、予め定められた前記検出対象の優先順位に基づいて、前記複数の種類の検出対象から選択した検出対象の局所領域のサイズ情報に基づいて前記クロップ領域のサイズ情報を決定する
ことを特徴とする項目2に記載の情報処理装置。
(項目4)
前記局所領域特定手段は、前記追尾対象の前記検出対象の少なくとも一部を含む複数の局所領域を特定し、
前記クロップ領域決定手段は、前記複数の局所領域のサイズ情報に基づいて、前記クロップ領域のサイズ情報を決定する
ことを特徴とする項目1ないし項目3のいずれか1項に記載の情報処理装置。
(項目5)
前記クロップ領域決定手段は、前記複数の局所領域のサイズ情報に平均化処理を行った結果に基づいて、前記クロップ領域のサイズ情報を決定する
ことを特徴とする項目4に記載の情報処理装置。
(項目6)
前記クロップ領域決定手段は、前記クロップ領域のサイズ情報に基づいて設定された上限値および下限値の少なくともいずれか一方に基づいて、前記クロップ領域のサイズ情報を決定する
ことを特徴とする項目4または項目5に記載の情報処理装置。
(項目7)
前記局所領域特定手段は、時刻の異なる複数の画像から複数の局所領域を特定し、
前記クロップ領域決定手段は、前記複数の局所領域の少なくともいずれかのサイズ情報に基づいて、前記クロップ領域のサイズ情報を決定する
ことを特徴とする項目1ないし項目6のいずれか1項に記載の情報処理装置。
(項目8)
前記局所領域特定手段は、前記追尾対象に含まれる複数の種類の検出対象の少なくとも一部を含む複数の局所領域を特定し、
前記クロップ領域決定手段は、前記複数の種類の検出対象から選択した検出対象の局所領域のサイズ情報に基づいて、前記クロップ領域のサイズ情報を決定する
ことを特徴とする項目7に記載の情報処理装置。
(項目9)
前記クロップ領域決定手段は、前記複数の局所領域のサイズ情報の変化に基づいて、前記複数の種類の検出対象から選択された検出対象の局所領域のサイズ情報に基づいて、前記クロップ領域のサイズ情報を決定する
ことを特徴とする項目8に記載の情報処理装置。
(項目10)
前記局所領域特定手段は、前記追尾対象に含まれる複数の種類の検出対象の少なくとも一部を含む複数の局所領域を特定し、
前記クロップ領域決定手段は、前記検出対象の認識精度に基づいて、前記複数の種類の検出対象から選択した検出対象の局所領域のサイズ情報に基づいて、前記クロップ領域のサイズ情報を決定する
ことを特徴とする項目1ないし項目9のいずれか1項に記載の情報処理装置。
(項目11)
前記クロップ領域決定手段は、前記検出対象の認識率、および、前記検出対象の認識スコアの少なくともいずれか一方を前記認識精度として用いる
ことを特徴とする項目10に記載の情報処理装置。
(項目12)
前記局所領域特定手段は、時刻の異なる複数の画像から複数の局所領域を特定し、
前記クロップ領域決定手段は、前記複数の局所領域のサイズ情報の変化に基づいて、前の時刻のクロップ領域を現在のクロップ領域として設定するか否か判定する
ことを特徴とする項目1ないし項目11のいずれか1項に記載の情報処理装置。
(項目13)
前記クロップ領域決定手段は、前の時刻の画像のクロップ領域の決定に使用された前記局所領域が現在の画像で未検出の場合、前記前の時刻のクロップ領域を前記現在の画像のクロップ領域として設定する
ことを特徴とする項目12に記載の情報処理装置。
(項目14)
前記局所領域特定手段は、前記クロップ画像と、前記クロップ画像よりも大きい画像とから前記局所領域を特定する
ことを特徴とする項目1ないし項目13のいずれか1項に記載の情報処理装置。
(項目15)
前記局所領域特定手段は、前記追尾対象のカテゴリに応じて設定された検出対象に基づいて、局所領域を設定する
ことを特徴とする項目1ないし項目14のいずれか1項に記載の情報処理装置。
(項目16)
入力される前記画像を取得する画像入力手段と、
前記追尾対象を設定する追尾対象設定手段と、
前記クロップ画像の前記追尾対象に対して複数の認識タスクを実行するマルチタスク手段と、
を備え、
前記追尾対象特定手段は、前記複数の認識タスクの結果に基づいて、前記画像に含まれる前記追尾対象を特定する
ことを特徴とする項目1ないし項目15のいずれか1項に記載の情報処理装置。
(項目17)
画像に含まれる追尾する対象を追尾対象として特定する追尾対象特定工程と、
前記追尾対象に含まれる検出対象の少なくとも一部を含む局所領域を前記画像内に特定する局所領域特定工程と、
前記局所領域のサイズ情報に基づいて、前記画像から前記追尾対象を切り出すためのクロップ領域のサイズ情報を決定するクロップ領域決定工程と、
前記クロップ領域に基づいて前記画像を切り出してクロップ画像を生成するクロップ工程と、
を備える情報処理方法。
(項目18)
コンピュータを、項目1ないし16のいずれか1項目に記載の情報処理装置の各手段として機能させるためのプログラム。
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
200・・・情報処理装置、220・・・画像入力部、230・・・追尾対象設定部、240・・・クロップ領域決定部、250・・・クロップ部、260・・・マルチタスク部、270・・・追尾対象特定部、280・・・局所領域特定部、1000・・・第2の情報処理装置、1010・・・第2のマルチタスク部。

Claims (18)

  1. 第1のフレームに含まれる被写体を前記第1のフレームにおける追尾対象として特定する追尾対象特定手段と、
    前記追尾対象に含まれる検出対象の少なくとも一部を含む局所領域を前記第1のフレーム内で特定する局所領域特定手段と、
    前記局所領域のサイズ情報に基づいて、前記第1のフレームよりも後で撮像された第2のフレームから前記追尾対象を含む領域を切り出すためのクロップ領域のサイズ情報を決定するクロップ領域決定手段と、
    前記クロップ領域決定手段においてサイズ情報が決定された前記クロップ領域に基づいて前記第2のフレームからクロップ画像を生成するクロップ手段と、
    を備え、
    前記追尾対象特定手段は、前記クロップ画像に含まれる被写体から前記第2のフレームにおける追尾対象を特定することを特徴とする情報処理装置。
  2. 前記局所領域特定手段は、前記追尾対象に含まれる複数の種類の検出対象の少なくとも一部を含む複数の局所領域を特定し、
    前記クロップ領域決定手段は、前記複数の局所領域のいずれかのサイズ情報に基づいて前記クロップ領域のサイズ情報を決定する
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記クロップ領域決定手段は、予め定められた前記検出対象の優先順位に基づいて、前記複数の種類の検出対象から選択した検出対象の局所領域のサイズ情報に基づいて前記クロップ領域のサイズ情報を決定する
    ことを特徴とする請求項2に記載の情報処理装置。
  4. 前記局所領域特定手段は、前記追尾対象の前記検出対象の少なくとも一部を含む複数の局所領域を特定し、
    前記クロップ領域決定手段は、前記複数の局所領域のサイズ情報に基づいて、前記クロップ領域のサイズ情報を決定する
    ことを特徴とする請求項1に記載の情報処理装置。
  5. 前記クロップ領域決定手段は、前記複数の局所領域のサイズ情報に平均化処理を行った結果に基づいて、前記クロップ領域のサイズ情報を決定する
    ことを特徴とする請求項4に記載の情報処理装置。
  6. 前記クロップ領域決定手段は、前記局所領域のサイズ情報に基づいて前記クロップ領域のサイズ情報の上限値および下限値の少なくともいずれか一方を決定することを特徴とする請求項4に記載の情報処理装置。
  7. 前記局所領域特定手段は、時刻の異なる複数のフレームから複数の局所領域を特定し、
    前記クロップ領域決定手段は、前記複数の局所領域の少なくともいずれかのサイズ情報に基づいて、前記クロップ領域のサイズ情報を決定する
    ことを特徴とする請求項1に記載の情報処理装置。
  8. 前記局所領域特定手段は、前記追尾対象に含まれる複数の種類の検出対象の少なくとも一部を含む複数の局所領域を特定し、
    前記クロップ領域決定手段は、前記複数の種類の検出対象から選択した検出対象の局所領域のサイズ情報に基づいて、前記クロップ領域のサイズ情報を決定する
    ことを特徴とする請求項7に記載の情報処理装置。
  9. 前記クロップ領域決定手段は、前記複数の局所領域のサイズ情報の変化に基づいて、前記複数の種類の検出対象から選択された検出対象の局所領域のサイズ情報に基づいて、前記クロップ領域のサイズ情報を決定する
    ことを特徴とする請求項8に記載の情報処理装置。
  10. 前記局所領域特定手段は、前記追尾対象に含まれる複数の種類の検出対象の少なくとも一部を含む複数の局所領域を特定し、
    前記クロップ領域決定手段は、前記検出対象の認識精度に基づいて、前記複数の種類の検出対象から選択した検出対象の局所領域のサイズ情報に基づいて、前記クロップ領域のサイズ情報を決定する
    ことを特徴とする請求項1に記載の情報処理装置。
  11. 前記クロップ領域決定手段は、前記検出対象の認識率、および、前記検出対象の認識スコアの少なくともいずれか一方を前記認識精度として用いる
    ことを特徴とする請求項10に記載の情報処理装置。
  12. 前記局所領域特定手段は、時刻の異なる複数のフレームから複数の局所領域を特定し、
    前記クロップ領域決定手段は、前記複数の局所領域のサイズ情報の変化に基づいて、前の時刻のクロップ領域を現在のクロップ領域として設定するか否か判定する
    ことを特徴とする請求項1に記載の情報処理装置。
  13. 前記クロップ領域決定手段は、前の時刻のフレームのクロップ領域の決定に使用された前記局所領域が現在のフレームで未検出の場合、前記前の時刻のクロップ領域を前記現在のフレームのクロップ領域として設定する
    ことを特徴とする請求項12に記載の情報処理装置。
  14. 前記局所領域特定手段は、前記追尾対象のカテゴリに応じて設定された検出対象に基づいて、局所領域を設定する
    ことを特徴とする請求項1に記載の情報処理装置。
  15. 前記クロップ画像の前記追尾対象に対して複数の認識タスクを実行するマルチタスク手段と、
    を備え、
    前記追尾対象特定手段は、前記複数の認識タスクの結果に基づいて、前記第2のフレームに含まれる前記追尾対象を特定する
    ことを特徴とする請求項1に記載の情報処理装置。
  16. コンピュータを、請求項1ないし15の何れか1項に記載の情報処理装置の各手段として機能させるためのプログラム。
  17. 追尾対象特定手段が、第1のフレームに含まれる被写体を前記第1のフレームにおける追尾対象として特定する追尾対象特定工程と、
    局所領域特定手段が、前記追尾対象に含まれる検出対象の少なくとも一部を含む局所領域を前記第1のフレーム内で特定する局所領域特定工程と、
    クロップ領域決定手段が、前記局所領域のサイズ情報に基づいて、前記第1のフレームよりも後で撮像された第2のフレームから前記追尾対象を含む領域を切り出すためのクロップ領域のサイズ情報を決定するクロップ領域決定工程と、
    クロップ手段が、前記クロップ領域決定工程においてサイズ情報が決定された前記クロップ領域に基づいて前記第2のフレームからクロップ画像を生成するクロップ工程と、
    を備え、
    前記追尾対象特定工程は、前記クロップ画像に含まれる被写体から前記第2のフレームにおける追尾対象を特定することを特徴とする情報処理方法。
  18. コンピュータに、請求項17に記載の情報処理方法が有する各工程を実行させるためのプログラム。
JP2024022202A 2024-02-16 2024-02-16 情報処理装置、情報処理方法及びプログラム Active JP7844524B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2024022202A JP7844524B2 (ja) 2024-02-16 2024-02-16 情報処理装置、情報処理方法及びプログラム
US19/042,032 US20250265721A1 (en) 2024-02-16 2025-01-31 Information processing apparatus, information processing method, and non-transitory computer-readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2024022202A JP7844524B2 (ja) 2024-02-16 2024-02-16 情報処理装置、情報処理方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2025125925A JP2025125925A (ja) 2025-08-28
JP7844524B2 true JP7844524B2 (ja) 2026-04-13

Family

ID=96739863

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2024022202A Active JP7844524B2 (ja) 2024-02-16 2024-02-16 情報処理装置、情報処理方法及びプログラム

Country Status (2)

Country Link
US (1) US20250265721A1 (ja)
JP (1) JP7844524B2 (ja)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009212637A (ja) 2008-03-03 2009-09-17 Sanyo Electric Co Ltd 撮像装置
JP2010257450A (ja) 2009-03-31 2010-11-11 Sogo Keibi Hosho Co Ltd 人物検索装置、人物検索方法、及び人物検索プログラム
JP2012114722A (ja) 2010-11-25 2012-06-14 Canon Inc 物体追尾装置、物体追尾方法、及び物体追尾プログラム
WO2015133159A1 (ja) 2014-03-05 2015-09-11 コニカミノルタ株式会社 画像処理装置、画像処理方法、および、画像処理プログラム
JP2018207360A (ja) 2017-06-07 2018-12-27 キヤノン株式会社 画像処理装置、作業支援システム、制御方法およびプログラム
JP2023110521A (ja) 2022-01-28 2023-08-09 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
JP2023139725A (ja) 2022-03-22 2023-10-04 キヤノン株式会社 画像処理システム、画像処理システムの制御方法、及びプログラム。

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010054586A (ja) * 2008-08-26 2010-03-11 Nikon Corp 焦点調節装置、撮像装置
JP7781512B2 (ja) * 2020-07-20 2025-12-08 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009212637A (ja) 2008-03-03 2009-09-17 Sanyo Electric Co Ltd 撮像装置
JP2010257450A (ja) 2009-03-31 2010-11-11 Sogo Keibi Hosho Co Ltd 人物検索装置、人物検索方法、及び人物検索プログラム
JP2012114722A (ja) 2010-11-25 2012-06-14 Canon Inc 物体追尾装置、物体追尾方法、及び物体追尾プログラム
WO2015133159A1 (ja) 2014-03-05 2015-09-11 コニカミノルタ株式会社 画像処理装置、画像処理方法、および、画像処理プログラム
JP2018207360A (ja) 2017-06-07 2018-12-27 キヤノン株式会社 画像処理装置、作業支援システム、制御方法およびプログラム
JP2023110521A (ja) 2022-01-28 2023-08-09 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
JP2023139725A (ja) 2022-03-22 2023-10-04 キヤノン株式会社 画像処理システム、画像処理システムの制御方法、及びプログラム。

Also Published As

Publication number Publication date
JP2025125925A (ja) 2025-08-28
US20250265721A1 (en) 2025-08-21

Similar Documents

Publication Publication Date Title
JP6525545B2 (ja) 情報処理装置、情報処理方法及びコンピュータプログラム
JP7166784B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP6494253B2 (ja) 物体検出装置、物体検出方法、画像認識装置及びコンピュータプログラム
US8582822B2 (en) Moving object detection apparatus and moving object detection method
US8363902B2 (en) Moving object detection method and moving object detection apparatus
US10146992B2 (en) Image processing apparatus, image processing method, and storage medium that recognize an image based on a designated object type
US12272093B2 (en) Information processing apparatus, control method, and non-transitory storage medium
CN110998594A (zh) 检测动作的方法和系统
US20130070105A1 (en) Tracking device, tracking method, and computer program product
JP2014093023A (ja) 物体検出装置、物体検出方法及びプログラム
US20210142064A1 (en) Image processing apparatus, method of processing image, and storage medium
CN111699509A (zh) 物体检测装置、物体检测方法以及程序
JP2014532947A (ja) 人物検出モダリティ結果を融合して人物カウンティングを向上させる方法及びシステム
WO2019003709A1 (ja) 情報処理装置、制御方法、及びプログラム
WO2012153868A1 (ja) 情報処理装置、情報処理方法および情報処理プログラム
US20240290042A1 (en) Information processing apparatus, information processing method, and program
JP7215569B2 (ja) オブジェクト特徴量抽出装置、オブジェクト特徴量抽出方法及びプログラム
JP7844524B2 (ja) 情報処理装置、情報処理方法及びプログラム
US11620360B2 (en) Methods and systems for recognizing object using machine learning model
JP2023526011A5 (ja)
JPWO2018179119A1 (ja) 映像解析装置、映像解析方法およびプログラム
JP6451418B2 (ja) 注視対象判定装置、注視対象判定方法、および、注視対象判定プログラム
EP3496390B1 (en) Information processing device, information processing method, and storage medium
JP7364079B2 (ja) 情報処理装置、情報処理方法およびコンピュータプログラム
US20250157185A1 (en) Information processing apparatus and control method therefor

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20241028

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20250801

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20250929

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20251027

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20251218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20260109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20260225

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20260302

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20260401

R150 Certificate of patent or registration of utility model

Ref document number: 7844524

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150