JP7009652B2 - オブジェクション検出のためのaiシステムおよび方法 - Google Patents

オブジェクション検出のためのaiシステムおよび方法 Download PDF

Info

Publication number
JP7009652B2
JP7009652B2 JP2020557230A JP2020557230A JP7009652B2 JP 7009652 B2 JP7009652 B2 JP 7009652B2 JP 2020557230 A JP2020557230 A JP 2020557230A JP 2020557230 A JP2020557230 A JP 2020557230A JP 7009652 B2 JP7009652 B2 JP 7009652B2
Authority
JP
Japan
Prior art keywords
cropping
pooling
corners
candidates
region
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
JP2020557230A
Other languages
English (en)
Other versions
JP2021519984A (ja
Inventor
ユアン・ジャオ
イン・シン
Original Assignee
ベイジン ディディ インフィニティ テクノロジー アンド ディベロップメント カンパニー リミティッド
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 ベイジン ディディ インフィニティ テクノロジー アンド ディベロップメント カンパニー リミティッド filed Critical ベイジン ディディ インフィニティ テクノロジー アンド ディベロップメント カンパニー リミティッド
Publication of JP2021519984A publication Critical patent/JP2021519984A/ja
Application granted granted Critical
Publication of JP7009652B2 publication Critical patent/JP7009652B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
    • G06V20/47Detecting features for summarising video content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • G06V10/243Aligning, centring, orientation detection or correction of the image by compensating for image skew or non-uniform image deformations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/48Matching video sequences
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/172Classification, e.g. identification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Databases & Information Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Human Computer Interaction (AREA)
  • Image Analysis (AREA)

Description

関連出願の相互参照
本出願は、2018年11月27日に提出された中国出願番号第201811438175.5号に対する優先権を主張し、その内容全体が参照により本明細書に組み込まれる。
本開示は、一般に、画像処理のためのシステムおよび方法に関し、特に、画像内のオブジェクトを検出するためのシステムおよび方法に関する。
人工知能アプリケーション(顔認識、インテリジェントセキュリティカメラなど)の出現および流行に伴い、人工知能オブジェクト検出技術、特にディープラーニングベースのオブジェクト検出技術が急速に開発されている。人工知能オブジェクト検出技術は、画像内のオブジェクトを識別および/または分類し、境界ボックスを描画することで画像内のオブジェクトの位置を特定できる。しかしながら、境界ボックスは一般に長方形のボックスであり得る。画像に対して不規則または傾斜したオブジェクト(例えば、安全ベルト)の場合、境界ボックス(例えば、長方形のボックス)に背景が含まれることがある。場合によっては、境界ボックスにオブジェクトよりも多くの背景が含まれ、オブジェクトを正確に特定できないことがある。したがって、傾斜したオブジェクトの正確な位置特定を実施することができる、傾斜したオブジェクトの境界を決定するための人工知能システムおよび方法を提供することが望ましい。
本開示は、オブジェクト検出のためのAIシステムおよび方法に関する。本開示の一態様では、オブジェクト検出のための人工知能画像処理システムが提供される。人工知能画像処理システムは、少なくとも1つの記憶デバイスと、少なくとも1つの記憶デバイスと通信する少なくとも1つのプロセッサとを含み得る。少なくとも1つの記憶デバイスは、画像内のオブジェクトに対応する境界を決定するための命令セットを含み得る。命令セットを実行すると、少なくとも1つのプロセッサは、ターゲットオブジェクトを含む画像を取得し、その画像を畳み込みニューラルネットワーク(CNN)に入力することによって複数の特徴マップを生成するように指示され得る。少なくとも1つのプロセッサはまた、複数の特徴マップに基づいて複数の領域候補を決定し、複数の領域候補および複数の特徴マップに基づいて複数のプーリング領域候補を決定するように指示され得る。少なくとも1つのプロセッサは、分類器によって複数のプーリング領域候補を1つ以上のオブジェクトカテゴリまたは背景カテゴリに分類するようにさらに指示され得る。1つ以上のオブジェクトカテゴリは、ターゲットオブジェクトのカテゴリを含み得、複数のプーリング領域候補は、ターゲットオブジェクトに対応する1つ以上のプーリング領域候補を含み得る。1つ以上のプーリング領域候補の各々は、複数の隅を有し得る。ターゲットオブジェクトに対応する1つ以上のプーリング領域候補の各々について、少なくとも1つのプロセッサは、対応する隅の位置に従ってプーリング領域候補の複数の隅の各隅の複数のクロッピング戦略(crop strategy)を決定し、複数のクロッピング戦略の1つに従って複数の隅の各々をクロッピングすることにより、プーリング領域候補をトリミングし、クロッピングされた複数の隅に基づいて、トリミングされたプーリング領域候補に対する境界を識別し、ターゲットオブジェクトの境界を決定するために境界を画像にマッピングする、ように指示され得る。
いくつかの実施形態では、CNNは、1つ以上の畳み込み層および1つ以上のプーリング層を含んでもよく、全結合層はもたない。
いくつかの実施形態では、複数の領域候補は、領域候補ネットワーク(RPN)に従って決定されてもよい。
いくつかの実施形態では、RPNは、少なくとも1つの回帰層および少なくとも1つの分類層を含み得る。複数の領域候補を決定するために、少なくとも1つのプロセッサは、複数の特徴マップ上でスライディングウィンドウをスライドさせるように指示され得る。各スライディングウィンドウ位置で、スライディングウィンドウは、複数の特徴マップのサブ領域と一致し得る。少なくとも1つのプロセッサは、複数の特徴マップのサブ領域を多次元特徴ベクトルにマッピングし、サブ領域の中心ピクセルを画像のピクセルにマッピングすることによりアンカーを生成するように指示され得る。アンカーは、画像内のアンカーボックスのセットに対応していてもよく、アンカーボックスのセットの各々は、スケールおよびアスペクト比に関連付けられてもよい。少なくとも1つのプロセッサはまた、多次元特徴ベクトルを少なくとも1つの回帰層および少なくとも1つの分類層にそれぞれ供給するように指示され得る。少なくとも1つの回帰層は、アンカーボックスのセットに対応する予備領域候補(preliminary region proposal)のセットを決定するために、境界ボックス回帰を実施するように構成され得、少なくとも1つの回帰層の出力は、予備領域候補のセットの各々の4つの座標値を含み得る。少なくとも1つの分類層は、予備領域候補のセットの各々のカテゴリを決定するように構成され得る。カテゴリは、前景または背景であり得、少なくとも1つの分類層の出力は、予備領域候補のセットの各々の、前景であるという第1のスコア、および背景であるという第2のスコアを含み得る。少なくとも1つのプロセッサは、複数の予備領域候補の各々の、前景であるという第1のスコアおよび背景であるという第2のスコアならびに複数の予備領域候補の各々の4つの座標値に基づいて、複数の予備領域候補の一部を複数の領域候補として選択するようにさらに指示され得る。
いくつかの実施形態では、複数の予備領域候補の一部を複数の領域候補として選択するために、少なくとも1つのプロセッサは、非最大抑制(NMS)を使用して複数の領域候補を選択するように指示され得る。
いくつかの実施形態では、複数のプーリング領域候補は、標準サイズに対応し得る。複数のプーリング領域候補を決定するために、少なくとも1つのプロセッサは、複数の候補特徴マップを決定するために、複数の領域候補を複数の特徴マップにマッピングし、複数の候補特徴マップでのプーリングを実行することにより、複数のプーリング領域候補を決定するようさらに指示され得る。
いくつかの実施形態では、複数の隅は、左上隅、右上隅、左下隅、および右下隅を含み得る。左上隅の複数のクロッピング戦略は、右へのクロッピング、下へのクロッピング、右下へのクロッピング、ターゲット位置、または偽値(false)の少なくとも1つを含み得る。右上隅の複数のクロッピング戦略は、左へのクロッピング、下へのクロッピング、左下へのクロッピング、ターゲット位置、または偽値の少なくとも1つを含み得る。左下隅の複数のクロッピング戦略は、右へのクロッピング、上へのクロッピング、右上へのクロッピング、ターゲット位置、または偽値の少なくとも1つを含み得る。右下隅の複数のクロッピング戦略は、左へのクロッピング、上へのクロッピング、左上へのクロッピング、ターゲット位置、または偽値の少なくとも1つを含み得る。
いくつかの実施形態では、少なくとも1つのプロセッサは、隅がターゲット位置のクロッピング戦略に対応する場合、複数の隅の1つのクロッピングを停止するようにさらに指示され得る。
いくつかの実施形態では、複数の隅の各々をクロッピングすると、少なくとも1つのプロセッサは、プーリング領域候補に基づいて、複数の隅の各々のクロッピング方向およびクロッピング長さを決定するように指示され得る。複数の隅の各々のクロッピング方向は、対応する隅の複数のクロッピング戦略の1つに制限され得る。少なくとも1つのプロセッサはまた、クロッピング方向およびクロッピング長さに基づいて複数の隅の各々をクロッピングするように指示され得る。
いくつかの実施形態では、複数の隅の各々をクロッピングすることによりプーリング領域候補をトリミングするために、少なくとも1つのプロセッサは、1回以上の反復を実行するように指示され得る。1回以上の反復の各々において、少なくとも1つのプロセッサは、複数のクロッピング戦略から、プーリング領域候補に基づいて、複数の隅の各々のクロッピング戦略を決定し、複数の隅の1つが偽値のクロッピング戦略に対応するか否かを決定し、複数の隅の各々が偽値のクロッピング戦略に対応しないという決定に応じて、複数の隅の各々がターゲット位置のクロッピング戦略に対応するか否かを決定し、複数の隅の少なくとも1つがターゲット位置のクロッピング戦略に対応していないという決定に応じて、複数の隅の少なくとも1つの、決定されたクロッピング戦略に従って、複数の隅の少なくとも1つをクロッピングし、クロッピングされた複数の隅に基づいて、長方形のボックスを決定するための境界マッピングを実行し、長方形のボックスのサイズを標準サイズに変更するように指示され得る。少なくとも1つのプロセッサはまた、複数の隅の各々がターゲット位置のクロッピング戦略に対応するという決定に応じて、複数の隅のクロッピングを停止するように指示され得る。
いくつかの実施形態では、少なくとも1つのプロセッサは、複数の隅のうちの少なくとも1つが偽値のクロッピング戦略に対応するという決定に応じて、プーリング領域候補を放棄するようにさらに指示され得る。
いくつかの実施形態では、少なくとも1つのプロセッサは、ターゲットオブジェクトに対応する1つ以上の境界を決定し、1つ以上の境界の各々とグラウンドトゥルースとの間のIntersection-over-Union(IoU)を決定し、最大のIoUを有する1つ以上の境界の1つを、ターゲットオブジェクトに対応するターゲット境界として決定するようにさらに指示され得る。
いくつかの実施形態では、ターゲットオブジェクトの境界は四辺形のボックスであり得る。
本開示の別の態様では、人工知能画像処理方法が提供される。人工知能画像処理方法は、コンピューティングデバイス上に実装され得る。コンピューティングデバイスは、少なくとも1つのプロセッサ、少なくとも1つのコンピュータ可読記憶媒体、およびネットワークに接続された通信プラットフォームを有することができる。この方法は、ターゲットオブジェクトを含む画像を取得するステップと、画像を畳み込みニューラルネットワーク(CNN)に入力することにより、複数の特徴マップを生成するステップとを含み得る。この方法はまた、複数の特徴マップに基づいて複数の領域候補を決定するステップと、複数の領域候補および複数の特徴マップに基づいて、複数のプーリング領域候補を決定するステップとを含み得る。この方法は、分類器によって、複数のプーリング領域候補を1つ以上のオブジェクトカテゴリまたは背景カテゴリに分類するステップをさらに含み得る。1つ以上のオブジェクトカテゴリは、ターゲットオブジェクトのカテゴリを含み得、複数のプーリング領域候補は、ターゲットオブジェクトに対応する1つ以上のプーリング領域候補を含み得る。1つ以上のプーリング領域候補の各々は、複数の隅を有し得る。ターゲットオブジェクトに対応する1つ以上のプーリング領域候補の各々について、方法は、対応する隅の位置に従ってプーリング領域候補の複数の隅の各隅の複数のクロッピング戦略を決定するステップと、複数のクロッピング戦略の1つに従って複数の隅の各々をクロッピングすることにより、プーリング領域候補をトリミングするステップと、クロッピングされた複数の隅に基づいて、トリミングされたプーリング領域候補に対する境界を識別するステップと、ターゲットオブジェクトの境界を決定するために境界を画像にマッピングするステップとを含み得る。
本開示の別の態様では、非一時的なコンピュータ可読記憶媒体が提供される。非一時的なコンピュータ可読記憶媒体は、人工知能オブジェクト検出のための少なくとも1つの命令セットを含み得る。コンピューティングデバイスの少なくとも1つのプロセッサによって実行されると、少なくとも1つの命令セットは、ターゲットオブジェクトを含む画像を取得する動作と、画像を畳み込みニューラルネットワーク(CNN)に入力することにより、複数の特徴マップを生成する動作と、複数の特徴マップに基づいて複数の領域候補を決定する動作と、複数の領域候補および複数の特徴マップに基づいて、複数のプーリング領域候補を決定する動作と、分類器によって、複数のプーリング領域候補を1つ以上のオブジェクトカテゴリまたは背景カテゴリに分類する動作とを実行するように少なくとも1つのプロセッサに指示することができる。1つ以上のオブジェクトカテゴリは、ターゲットオブジェクトのカテゴリを含み得、複数のプーリング領域候補は、ターゲットオブジェクトに対応する1つ以上のプーリング領域候補を含み得る。1つ以上のプーリング領域候補の各々は、複数の隅を有し得る。ターゲットオブジェクトに対応する1つ以上のプーリング領域候補の各々について、少なくとも1つの命令セットはまた、対応する隅の位置に従ってプーリング領域候補の複数の隅の各隅の複数のクロッピング戦略を決定する動作と、複数のクロッピング戦略の1つに従って複数の隅の各々をクロッピングすることにより、プーリング領域候補をトリミングする動作と、クロッピングされた複数の隅に基づいて、トリミングされたプーリング領域候補に対する境界を識別する動作と、ターゲットオブジェクトの境界を決定するために境界を画像にマッピングする動作とを実行するように少なくとも1つのプロセッサに指示することができる。
本開示の別の態様では、オブジェクト検出のための人工知能画像処理システムが提供される。人工知能画像処理システムは、ターゲットオブジェクトを含む画像を取得するように構成された取得モジュールと、画像を畳み込みニューラルネットワーク(CNN)に入力することにより、複数の特徴マップを生成するように構成された特徴マップ決定モジュールと、複数の特徴マップに基づいて複数の領域候補を決定するように構成された領域候補決定モジュールと、複数の領域候補および複数の特徴マップに基づいて、複数のプーリング領域候補を決定するように構成されたプーリング領域候補決定モジュールと、分類器によって、複数のプーリング領域候補を1つ以上のオブジェクトカテゴリまたは背景カテゴリに分類するように構成された分類モジュールとを含み得る。1つ以上のオブジェクトカテゴリは、ターゲットオブジェクトのカテゴリを含み得、複数のプーリング領域候補は、ターゲットオブジェクトに対応する1つ以上のプーリング領域候補を含み得る。1つ以上のプーリング領域候補の各々は、複数の隅を有し得る。ターゲットオブジェクトに対応する1つ以上のプーリング領域候補の各々について、人工知能画像処理システムはまた、対応する隅の位置従ってプーリング領域候補の複数の隅の各隅について複数のクロッピング戦略を決定するように構成された境界決定モジュールを含むことができ、境界決定モジュールが、複数のクロッピング戦略の1つに従って複数の隅の各々をクロッピングすることにより、プーリング領域候補をトリミングするように構成され、境界決定モジュールが、クロッピングされた複数の隅に基づいて、トリミングされたプーリング領域候補に対する境界を識別するように構成され、境界決定モジュールが、ターゲットオブジェクトの境界を決定するために境界を画像にマッピングするように構成されている。
追加の特徴は、一部は以下の説明に記載され、一部は以下の説明および添付の図面を検討すると当業者には明らかになり、または例の作成もしくはオペレーションによって知ることができる。本開示の特徴は、以下で論じられる詳細な例に示される方法論、手段、および組み合わせの様々な態様の実施または使用によって実現および達成され得る。
本開示は、例示的な実施形態に関してさらに説明される。これらの例示的な実施形態は、図面を参照して詳細に説明される。図面は縮尺通りではない。これらの実施形態は、非限定的で概略的な実施形態であり、図面のいくつかの図を通して、同様の参照符号は同様の構造を表す。
本開示のいくつかの実施形態による例示的なAI画像処理システムを示す概略図である。 本開示のいくつかの実施形態による、コンピューティングデバイスの例示的なハードウェアコンポーネントおよび/またはソフトウェアコンポーネントを示す概略図である。 本開示のいくつかの実施形態によるモバイルデバイスの例示的なハードウェアコンポーネントおよび/またはソフトウェアコンポーネントを示す概略図である。 本開示のいくつかの実施形態による例示的なAI画像処理デバイスを示すブロック図である。 本開示のいくつかの実施形態による、ターゲットオブジェクトの境界を決定するための例示的なプロセスを示すフローチャートである。 本開示のいくつかの実施形態による例示的な領域候補ネットワークを示す概略図である。 本開示のいくつかの実施形態による、ターゲットオブジェクトの境界を決定するための例示的なプロセスを示すフローチャートである。 本開示のいくつかの実施形態による、ターゲットオブジェクトの境界を決定するための例示的なプロセスを示す概略図である。 本開示のいくつかの実施形態による画像を示す概略図である。 本開示のいくつかの実施形態による別の画像を示す概略図である。 本開示のいくつかの実施形態によるさらに別の画像を示す概略図である。
以下の説明は、当業者が本開示を作成および使用することを可能にするために提示され、特定の用途およびその要件の文脈で提供される。開示された実施形態に対する様々な修正は、当業者には容易に明らかであり、本明細書で定義された一般原理は、本開示の趣旨および範囲から逸脱することなく、他の実施形態および用途に適用され得る。したがって、本開示は、示される実施形態に限定されず、特許請求の範囲と一致する最も広い範囲が与えられるべきである。
本明細書で使用される用語は、特定の例示的な実施形態を説明することのみを目的としており、限定することを意図していない。本明細書で使用される場合、単数形「a」、「an」、および「the」は、文脈がそうでないことを明確に示さない限り、複数形も含むことが意図され得る。本開示で使用される場合、「備える(comprise,comprises,comprising)」、「含む(include,includes,including)」という用語は、述べられた特徴、整数、ステップ、オペレーション、要素、および/またはコンポーネントの存在を指定するが、1つ以上の他の特徴、整数、ステップ、オペレーション、要素、コンポーネント、および/またはそれらのグループの存在または追加を排除するものではないことがさらに理解されよう。
本開示のこれら、および他の特徴や特性、ならびにオペレーションの方法および構造の関連要素の機能および部品の組み合わせおよび製造の経済性は、添付の図面を参照して以下の説明を検討すると、より明らかになる場合があり、これらの図面はすべて、本開示の一部を形成する。ただし、図面は例示および説明のみを目的としており、本開示の範囲を限定することを意図していないことを明確に理解されたい。図面は縮尺通りではないことが理解される。
本開示で使用されるフローチャートは、本開示のいくつかの実施形態に従ってシステムが実施するオペレーションを示す。フローチャートのオペレーションは、記載されているのとは異なる順序で実装されてもよいことは明確に理解されるべきである。逆に、オペレーションは逆の順序で、または同時に実装されてもよい。さらに、フローチャートに1つ以上の他のオペレーションが追加されてもよい。フローチャートから1つ以上のオペレーションが削除されてもよい。
さらに、本開示のシステムおよび方法は、主にオンデマンド輸送サービスに関して説明されているが、これは単なる1つの例示的な実施形態であることも理解されたい。本開示のシステムまたは方法は、任意の他の種類のオンデマンドサービスに適用され得る。例えば、本開示のシステムまたは方法は、陸、海、航空宇宙など、またはそれらの任意の組み合わせを含む異なる環境の輸送システムに適用されてもよい。輸送システムの車両は、タクシー、自家用車、ヒッチ、バス、電車、新幹線、高速鉄道、地下鉄、船舶、航空機、宇宙船、熱気球、無人車両など、またはそれらの任意の組み合わせを含み得る。輸送システムはまた、管理および/または分配のための任意の輸送システム、例えば、速達(express)を送信および/または受信するためのシステムを含み得る。本開示のシステムまたは方法の適用は、ウェブページ、ブラウザのプラグイン、クライアント端末、カスタムシステム、内部分析システム、人工知能ロボットなど、またはそれらの任意の組み合わせを含み得る。
本開示における「乗客」、「要求者」、「サービス要求者」、および「顧客」という用語は、サービスを要求または注文することができる個人、エンティティ、またはツールを指すために互換的に使用される。また、本開示における「ドライバ」、「プロバイダ」、「サービスプロバイダ」、および「サプライヤ」という用語は、サービスを提供するか、またはサービスの提供を容易にすることができる個人、エンティティ、またはツールを指すために互換的に使用される。本開示における「ユーザ」という用語は、サービスを要求し、サービスを注文し、サービスを提供し、またはサービスの提供を容易にすることができる個人、エンティティ、またはツールを指すことができる。例えば、ユーザは、乗客、ドライバ、オペレータなど、またはそれらの任意の組み合わせであり得る。本開示では、「乗客」および「乗客端末」は互換的に使用され得、「ドライバ」および「ドライバ端末」は互換的に使用され得る。
本開示における「サービス要求」および「注文」という用語は、互換的に使用され、乗客、要求者、サービス要求者、顧客、ドライバ、プロバイダ、サービスプロバイダ、供給者など、またはそれらの任意の組み合わせによって開始され得る要求を指す。サービス要求は、乗客、要求者、サービス要求者、顧客、ドライバ、提供者、サービス提供者、または供給者のいずれかによって受け入れられ得る。サービス要求は有料または無料の場合がある。
本開示で使用される測位技術は、全地球測位システム(GPS)、全地球航法衛星システム(GLONASS)、コンパス航法システム(COMPASS)、ガリレオ測位システム、準天頂衛星システム(QZSS)、ワイヤレスフィデリティ(WiFi)測位技術など、またはそれらの任意の組み合わせに基づくことができる。上記の測位システムのうちの1つ以上は、本開示において互換的に使用され得る。
本開示は、画像内のオブジェクト検出のための人工知能(AI)システムおよび方法に関する。具体的には、AIシステムおよび方法は、画像内のターゲットオブジェクトの境界を決定することができる。ターゲットオブジェクトの決定された境界は、四辺形のボックスであり得る。ターゲットオブジェクトの境界を決定するために、AIシステムおよび方法は、画像を畳み込みニューラルネットワーク(CNN)に入力して複数の特徴マップを生成し、複数の特徴マップに基づいて複数の領域候補を生成することができる。AIシステムおよび方法は、ROIプーリングオペレーションを実行することにより、複数の領域候補および複数の特徴マップに基づいて、複数のプーリング領域候補を決定することができる。AIシステムおよび方法は、複数のプーリング領域候補を、分類器によって1つ以上のオブジェクトカテゴリまたは背景カテゴリにさらに分類することができる。複数のプーリング領域候補は、ターゲットオブジェクトに対応する1つ以上のプーリング領域候補を含み得る。1つ以上のプーリング領域候補の各々は、複数の隅を有し得る。ターゲットオブジェクトに対応するプーリング領域候補の場合、AIシステムおよび方法は、対応する隅の位置に従って、プーリング領域候補の複数の隅の各隅について複数のクロッピング戦略を決定することができる。AIシステムおよび方法はまた、複数のクロッピング戦略の1つに従って複数の隅の各々をクロッピングすることにより、プーリング領域候補をトリミングすることができる。いくつかの実施形態では、AIシステムおよび方法は、プーリング領域候補に基づいて決定され得る、クロッピング方向およびクロッピング長さに基づいて隅をクロッピングすることができる。AIシステムおよび方法は、クロッピングされた複数の隅に基づいて、トリミングされたプーリング領域候補に対する境界を識別し、その境界を画像にマッピングして、ターゲットオブジェクトの境界を決定することができる。本開示では、プーリング領域候補の隅に関連する情報(例えば、隅の位置)およびプーリング領域候補の特徴が考慮され得る。したがって、本開示に従って決定されるターゲットオブジェクトの境界は、ターゲットオブジェクト、特に傾斜したターゲットオブジェクト(例えば、安全ベルト、傾斜した文字)に対してより適切であり得、ターゲットの位置を特定する精度を改善し得る。
図1は、本開示のいくつかの実施形態による例示的なAI画像処理システム100を示す概略図である。AI画像処理システム100は、オブジェクション検出のために構成され得る。例えば、AI画像処理システム100は、画像内のオブジェクトに対応する境界を決定することができる。いくつかの実施形態では、AI画像処理システム100は、オンライントゥオフライン(O2O)サービスを提供するオンラインプラットフォームであり得る。AI画像処理システム100は、センサ110、ネットワーク120、端末130、サーバ140、および記憶デバイス150を含み得る。
センサ110は、1つ以上の画像を取り込むように構成され得る。本出願で使用されるように、画像は、静止画像、ビデオ、ストリームビデオ、またはビデオから得られたビデオフレームであり得る。画像は、三次元(3D)画像または二次元(2D)画像であり得る。センサ110は、1つ以上のカメラであってもよく、またはそれらを含んでもよい。いくつかの実施形態では、センサ110は、デジタルカメラ、ビデオカメラ、防犯カメラ、ウェブカメラ、スマートフォン、タブレット、ラップトップ、ウェブカメラを備えたビデオゲームコンソール、複数のレンズを備えたカメラ、ビデオカメラなどであってもよい。いくつかの実施形態では、センサ110(例えば、カメラ)は、1つ以上のオブジェクトを含む画像を取り込むことができる。
ネットワーク120は、情報および/またはデータの交換を容易にすることができる。いくつかの実施形態では、AI画像処理システム100の1つ以上のコンポーネント(例えば、センサ110、端末130、サーバ140、記憶デバイス150)は、ネットワーク120を介したAI画像処理システム100において情報および/またはデータを他のコンポーネントに送信することができる。例えば、サーバ140は、ネットワーク120を介してセンサ110から得られた画像を処理することができる。別の例として、サーバ140は、ネットワーク120を介して端末130からユーザ指示を取得することができる。いくつかの実施形態では、ネットワーク120は、任意のタイプの有線または無線のネットワーク、あるいはそれらの組み合わせであってもよい。単なる例として、ネットワーク120は、ケーブルネットワーク、有線ネットワーク、光ファイバネットワーク、電気通信ネットワーク、イントラネット、インターネット、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、ワイヤレスローカルエリアネットワーク(WLAN)、メトロポリタンエリアネットワーク(MAN)、広域ネットワーク(WAN)、公衆電話交換網(PSTN)、Bluetooth(商標)ネットワーク、ZigBee(商標)ネットワーク、近距離無線通信(NFC)ネットワークなど、またはそれらの任意の組み合わせを含み得る。いくつかの実施形態では、ネットワーク120は、1つ以上のネットワークアクセスポイントを含み得る。例えば、ネットワーク120は、基地局および/またはインターネット交換ポイント120-1、120-2、…などの有線または無線のネットワークアクセスポイントを含んでもよく、それを介してAI画像処理システム100の1つ以上のコンポーネントが、データおよび/または情報を交換するためにネットワーク120に接続されてもよい。
端末130は、モバイルデバイス130-1、タブレットコンピュータ130-2、ラップトップコンピュータ130-3など、またはそれらの任意の組み合わせを含む。いくつかの実施形態では、モバイルデバイス130-1は、スマートホームデバイス、ウェアラブルデバイス、スマートモバイルデバイス、仮想現実デバイス、拡張現実デバイスなど、またはそれらの任意の組み合わせを含み得る。いくつかの実施形態では、スマートホームデバイスは、スマート照明デバイス、インテリジェント電気装置の制御デバイス、スマートモニタリングデバイス、スマートテレビ、スマートビデオカメラ、インターホンなど、またはそれらの任意の組み合わせを含み得る。いくつかの実施形態では、ウェアラブルデバイスは、ブレスレット、フットギア、眼鏡、ヘルメット、時計、衣服、バックパック、アクセサリなど、またはそれらの任意の組み合わせを含み得る。いくつかの実施形態では、スマートモバイルデバイスは、スマートフォン、携帯情報端末(PDA)、ゲームデバイス、ナビゲーションデバイス、販売時点情報管理(POS)デバイスなど、またはそれらの任意の組み合わせを含み得る。いくつかの実施形態では、仮想現実デバイスおよび/または拡張現実デバイスは、仮想現実ヘルメット、仮想現実メガネ、仮想現実パッチ、拡張現実ヘルメット、拡張現実メガネ、拡張現実パッチなど、またはそれらの任意の組み合わせを含み得る。例えば、仮想現実デバイスおよび/または拡張現実デバイスは、Google Glass、Oculus Rift、HoloLens、Gear VRなどを含み得る。いくつかの実施形態では、端末130は、センサ110を遠隔操作することができる。いくつかの実施形態では、端末130は、無線接続を介してセンサ110を操作することができる。いくつかの実施形態では、端末130は、ユーザによって入力された情報および/または命令を受信し、受信した情報および/または命令を、ネットワーク120を介してセンサ110またはサーバ140に送信することができる。いくつかの実施形態では、端末130は、サーバ140からデータおよび/または情報を受信することができる。いくつかの実施形態では、端末130は、サーバ140の一部であってもよい。いくつかの実施形態では、端末130は省略されてもよい。
いくつかの実施形態では、サーバ140は、単一のサーバまたはサーバグループであってもよい。サーバグループは、集中型または分散型であってもよい(例えば、サーバ140は分散型システムであってもよい)。いくつかの実施形態では、サーバ140はローカルまたはリモートであってもよい。例えば、サーバ140は、ネットワーク120を介して、センサ110、端末130、および/または記憶デバイス150に格納された情報および/またはデータにアクセスすることができる。別の例として、サーバ140は、センサ110、端末130、および/または記憶デバイス150に直接接続されて、格納された情報および/またはデータにアクセスすることができる。いくつかの実施形態では、サーバ140は、クラウドプラットフォーム上に実装され得る。単なる例として、クラウドプラットフォームは、プライベートクラウド、パブリッククラウド、ハイブリッドクラウド、コミュニティクラウド、分散クラウド、インタークラウド、マルチクラウドなど、またはそれらの任意の組み合わせを含み得る。いくつかの実施形態では、サーバ140は、本開示の図2に示される1つ以上のコンポーネントを有するコンピューティングデバイス200上に実装され得る。
いくつかの実施形態では、サーバ140は、AI処理デバイス142を含み得る。AI処理デバイス142は、情報および/またはデータを処理して、本開示で説明される1つ以上の機能を実行することができる。例えば、AI処理デバイス142は、ターゲットオブジェクトを含む画像を処理して、画像内のターゲットオブジェクトの境界を決定することができる。いくつかの実施形態では、AI処理デバイス142は、1つ以上の処理デバイス(例えば、シングルコア処理デバイスまたはマルチコアプロセッサ)を含み得る。単なる例として、AI処理デバイス142は、中央処理ユニット(CPU)、特定用途向け集積回路(ASIC)、特定用途向け命令セットプロセッサ(ASIP)、グラフィックス処理ユニット(GPU)、物理処理ユニット(PPU)、デジタルシグナルプロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックデバイス(PLD)、コントローラ、マイクロコントローラユニット、縮小命令セットコンピュータ(RISC)、マイクロプロセッサなど、またはそれらの任意の組み合わせを含み得る。
記憶デバイス150は、データおよび/または命令を格納することができる。いくつかの実施形態では、記憶デバイス150は、端末130および/またはサーバ140から取得されたデータを格納することができる。いくつかの実施形態では、記憶デバイス150は、本開示で説明される例示的な方法を実行するためにサーバ140が実行または使用することができるデータおよび/または命令を格納することができる。いくつかの実施形態では、記憶デバイス150は、大容量ストレージ、取り外し可能ストレージ、揮発性読み書きメモリ、読み出し専用メモリ(ROM)など、またはそれらの任意の組み合わせを含み得る。例示的な大容量ストレージは、磁気ディスク、光ディスク、ソリッドステートドライブなどを含み得る。例示的なリムーバブルストレージは、フラッシュドライブ、フロッピー(登録商標)ディスク、光ディスク、メモリカード、zipディスク、磁気テープなどを含み得る。例示的な揮発性読み書きメモリは、ランダムアクセスメモリ(RAM)を含み得る。例示的なRAMは、ダイナミックRAM(DRAM)、ダブルデータレート同期ダイナミックRAM(DDR SDRAM)、スタティックRAM(SRAM)、サイリスタRAM(T-RAM)、およびゼロキャパシタRAM(Z-RAM)などを含み得る。例示的なROMは、マスクROM(MROM)、プログラム可能ROM(PROM)、消去可能プログラム可能ROM(EPROM)、電気的消去可能プログラム可能ROM(EEPROM)、コンパクトディスクROM(CD-ROM)、およびデジタル多用途ディスクROMなどを含み得る。いくつかの実施形態では、記憶デバイス150は、クラウドプラットフォーム上で実施され得る。単なる例として、クラウドプラットフォームは、プライベートクラウド、パブリッククラウド、ハイブリッドクラウド、コミュニティクラウド、分散クラウド、インタークラウド、マルチクラウドなど、またはそれらの任意の組み合わせを含み得る。
いくつかの実施形態では、記憶デバイス150は、ネットワーク120に接続されて、AI画像処理システム100の1つ以上のコンポーネント(例えば、センサ110、端末130、サーバ140)と通信することができる。AI画像処理システム100内の1つ以上のコンポーネントは、ネットワーク120を介して記憶デバイス150に格納されたデータまたは命令にアクセスすることができる。いくつかの実施形態では、記憶デバイス150は、AI画像処理システム100内の1つ以上のコンポーネント(例えば、センサ110、端末130、サーバ140)と直接接続され、または通信し得る。いくつかの実施形態では、記憶デバイス150は、センサ110の一部であってもよい。
当業者は、AI画像処理システム100の要素(またはコンポーネント)が実行するとき、要素が電気信号および/または電磁信号を介して実行することができることを理解されよう。例えば、端末130が要求をサーバ140に送信するとき、端末130のプロセッサは、要求を符号化する電気信号を生成することができる。次に、端末130のプロセッサは、電気信号を出力ポートに送信することができる。端末130が有線ネットワークを介してサーバ140と通信する場合、出力ポートはケーブルに物理的に接続されてもよく、ケーブルはさらに電気信号をサーバ140の入力ポートに送信してもよい。端末130が無線ネットワークを介してサーバ140と通信する場合、端末130の出力ポートは、電気信号を電磁信号に変換する1つ以上のアンテナであってもよい。端末130および/またはサーバ140などの電子デバイス内で、電子デバイスのプロセッサが命令を処理し、命令を送信し、および/またはアクションを実行すると、命令および/またはアクションは電気信号を介して実施される。例えば、プロセッサが記憶媒体からデータを検索または保存するとき、プロセッサは、記憶媒体の構造化データの読み出し、または書き込みができる記憶媒体の読み出し/書き込みデバイスに電気信号を送信することができる。構造化データは、電子デバイスのバスを介して電気信号の形でプロセッサに送信されてもよい。ここで、電気信号は、1つの電気信号、一連の電気信号、および/以上の個別の電気信号を指すことができる。
図2は、本開示のいくつかの実施形態による、コンピューティングデバイス200の例示的なハードウェアおよびソフトウェアコンポーネントを示す概略図である。いくつかの実施形態では、端末130および/またはサーバ140は、コンピューティングデバイス200上に実装され得る。例えば、サーバ140のAI処理デバイス142は、コンピューティングデバイス200上に実装され、本開示で開示されるAI処理デバイス142の機能を実行するように構成され得る。
コンピューティングデバイス200は、専用コンピュータであってもよく、本開示のためのAI画像処理システム100を実装するために使用され得る。コンピューティングデバイス200は、本明細書で説明されるようなAI画像処理システム100の任意のコンポーネントを実装するために使用され得る。例えば、AI処理デバイス142は、そのハードウェア、ソフトウェアプログラム、ファームウェア、またはそれらの組み合わせによって、コンピューティングデバイス上に実装され得る。そのようなコンピュータは、説明の都合上、1つしか示されていないが、本明細書で説明する画像処理に関連するコンピュータ機能は、処理負荷を分散するためにいくつかの類似のプラットフォーム上に分散して実装され得る。
コンピューティングデバイス200は、例えば、データ通信を実施し得るネットワークに接続されたCOMポート250を含み得る。コンピューティングデバイス200はまた、プログラム命令を実行するための1つ以上のプロセッサ(またはCPU)の形態のプロセッサ220を含み得る。例示的なコンピューティングデバイスは、内部通信バス210、異なるタイプのプログラム記憶ユニットおよびデータ記憶ユニット(例えば、ディスク270、読み出し専用メモリ(ROM)230、ランダムアクセスメモリ(RAM)240)、コンピュータの処理や通信に適用できる様々なデータファイルを含み得る。例示的なコンピューティングデバイスはまた、ROM230、RAM240、および/またはプロセッサ220によって実行される、他のタイプの非一時的記憶媒体に格納されたプログラム命令を含み得る。本開示の方法および/またはプロセスは、プログラム命令として実装され得る。コンピュータデバイス200はまた、コンピューティングデバイス200と他のコンポーネントとの間のデータフローの入力および/または出力をサポートすることができるI/Oデバイス260を含む。コンピューティングデバイス200はまた、ネットワーク通信を介してプログラムおよびデータを受信し得る。
単なる例示のために、コンピューティングデバイス200には、1つのCPUおよび/またはプロセッサのみが記載されている。しかしながら、本開示におけるコンピューティングデバイス200はまた、複数のCPUおよび/またはプロセッサを含み得、したがって、本開示に記載されるように1つのCPUおよび/またはプロセッサによって実行されるオペレーションおよび/または方法ステップも、複数のCPUおよび/またはプロセッサによって共同してまたは別々に実行され得ることに留意されたい。例えば、本開示において、コンピューティングデバイス200のCPUおよび/またはプロセッサがステップAおよびステップBの両方を実行する場合、ステップAおよびステップBはまた、コンピューティングデバイス200の2つの異なるCPUおよび/またはプロセッサによって共同してまたは別々に実行されてもよいことを理解されたい(例えば、第1のプロセッサがステップAを実行し、第2のプロセッサがステップBを実行するか、または第1および第2のプロセッサがステップAおよびBを共同して実行する)。
図3は、本開示のいくつかの実施形態によるモバイルデバイス300の例示的なハードウェアコンポーネントおよび/またはソフトウェアコンポーネントを示す概略図である。いくつかの実施形態では、端末(例えば、端末130)は、モバイルデバイス300上に実装されてもよい。図3に示すように、モバイルデバイス300は、通信プラットフォーム310、ディスプレイ320、グラフィック処理ユニット(GPU)330、中央処理ユニット(CPU)340、I/O350、メモリ360、オペレーティングシステム(OS)370、ストレージ390を含み得る。いくつかの実施形態では、システムバスまたはコントローラ(図示せず)を含むがこれらに限定されない他の任意の適切なコンポーネントも、モバイルデバイス300に含まれ得る。
いくつかの実施形態では、モバイルオペレーティングシステム370(例えば、iOS(商標)、Android(商標)、Windows Phone(商標)など)および1つ以上のアプリケーション380は、CPU340によって実行されるために、ストレージ390からメモリ360にロードされ得る。アプリケーション380は、AI画像処理システム100からの画像処理または他の情報に関する情報を受信およびレンダリングするためのブラウザまたは他の任意の適切なモバイルアプリを含み得る。情報ストリームとのユーザ対話は、I/O350を介して達成され、記憶デバイス150、サーバ140、/またはAI画像処理システム100の他のコンポーネントに提供され得る。
本開示で説明する様々なモジュール、ユニット、およびそれらの機能を実装するために、コンピュータハードウェアプラットフォームを、本明細書で説明する要素の1つ以上のためのハードウェアプラットフォームとして使用することができる。ユーザインタフェース要素を備えたコンピュータは、パーソナルコンピュータ(PC)または他の任意のタイプのワークステーションもしくは端末デバイスを実装するために使用され得る。コンピュータは、適切にプログラムされている場合、システムとしても機能し得る。
図4は、本開示のいくつかの実施形態による例示的なAI処理デバイス142を示すブロック図である。AI処理デバイス142は、取得モジュール401、特徴マップ決定モジュール403、領域候補決定モジュール405、プーリング領域候補決定モジュール407、分類モジュール409、および境界決定モジュール411を含み得る。モジュールは、AI処理デバイス142のすべてまたは一部のハードウェア回路であり得る。モジュールはまた、AI処理デバイス142によって読み出されて実行されるアプリケーションまたは命令セットとして実装されてもよい。さらに、モジュールは、ハードウェア回路とアプリケーション/命令の任意の組み合わせであってもよい。例えば、モジュールは、AI処理デバイス142がアプリケーション/命令セットを実行しているとき、AI処理デバイス142の一部であってもよい。
取得モジュール401は、AI画像処理システム100に関連する情報および/またはデータを取得するように構成され得る。いくつかの実施形態では、取得モジュール401は、ターゲットオブジェクトを含む画像を取得することができる。いくつかの実施形態では、画像は、センサ110によって取り込まれた静止画像またはビデオであり得る。いくつかの実施形態では、ターゲットオブジェクトは、画像内で識別および/または検出されるオブジェクトを指す場合がある。例えば、ターゲットオブジェクトは、画像に対して傾斜したオブジェクト(例えば、安全ベルト、傾斜した文字)であり得る。あるいは、画像内のすべてのオブジェクトを識別および/または検出する必要があり、画像内の各オブジェクトをターゲットオブジェクトと呼ぶ場合がある。いくつかの実施形態では、取得モジュール401は、センサ110、端末130、ストレージ(例えば、記憶デバイス150)などのAI画像処理システム100の1つ以上のコンポーネントから、またはネットワーク120を介して外部ソース(例えば、ImageNet)から、画像を取得することができる。
特徴マップ決定モジュール403は、画像(例えば、取得モジュール401によって取得された画像)を畳み込みニューラルネットワーク(CNN)に入力することによって複数の特徴マップを生成するように構成され得る。CNNは、1つ以上の畳み込み層および1つ以上のプーリング層を含み、全結合層のない訓練されたCNNであってもよい。畳み込み層は、画像の特徴(または特徴マップ)を抽出するように構成され得る。プーリング層は、画像の特徴マップのサイズを縮小するように構成され得る。特徴マップは、画像の特徴情報を含み得る。
領域候補決定モジュール405は、複数の特徴マップに基づいて複数の領域候補を決定するように構成され得る。いくつかの実施形態では、領域候補決定モジュール405は、領域候補ネットワーク(RPN)に従って複数の領域候補を決定し得る。具体的には、領域候補決定モジュール405は、複数の特徴マップ上でスライディングウィンドウをスライドさせることができる。複数の特徴マップ上でのスライディングウィンドウのスライディングにより、複数のスライディングウィンドウ位置が決定され得る。各スライディングウィンドウの位置で、一連の予備領域候補が決定され得る。複数のスライディングウィンドウ位置があるので、複数の予備領域候補が複数のスライディングウィンドウ位置で決定され得る。いくつかの実施形態では、複数の予備領域候補は互いに高度に重複することがあり、領域候補決定モジュール405は、複数の予備領域候補の一部を複数の領域候補として選択することがある。単なる例として、領域候補決定モジュール405は、非最大抑制(NMS)を使用して複数の領域候補を決定することができる。領域候補の決定に関する詳細は、本開示の他の箇所(例えば、プロセス500のオペレーション530およびその説明)で見られる。
プーリング領域候補決定モジュール407は、複数の領域候補および複数の特徴マップに基づいて複数のプーリング領域候補を決定するように構成され得る。いくつかの実施形態では、プーリング領域候補決定モジュール407は、複数の領域候補を複数の特徴マップにマッピングして、複数の候補特徴マップ(関心領域(ROI)とも呼ばれる)を決定することができる。次に、プーリング領域候補決定モジュール407は、複数の候補特徴マップ(またはROI)に対してプーリングを実行することによって、複数のプーリング領域候補を決定することができる。
分類モジュール409は、分類器によって複数のプーリング領域候補を1つ以上のオブジェクトカテゴリまたは背景カテゴリに分類するように構成され得る。いくつかの実施形態では、分類モジュール409は、プーリング領域候補のネガティブサンプルを背景カテゴリに分類することができる。プーリング領域候補が背景カテゴリと決定された場合、プーリング領域候補は省略され、さらなる処理が行われない場合がある。いくつかの実施形態では、分類モジュール409は、ポジティブサンプルに対応するプーリング領域候補を1つ以上のオブジェクトカテゴリの1つに分類することができる。1つ以上のオブジェクトカテゴリは、画像処理システム100のデフォルト設定であり得、および/またはユーザによって調整され得る。1つ以上のオブジェクトカテゴリは、ターゲットオブジェクトのカテゴリを含み得る。分類モジュール409は、複数のプーリング領域候補からターゲットオブジェクトに対応する1つ以上のプーリング領域候補を選択することができる。
境界決定モジュール411は、1つ以上のプーリング領域候補のうちの少なくとも1つに基づいて、画像内のターゲットオブジェクトの境界を決定するように構成され得る。いくつかの実施形態では、境界は、多角形のボックス、例えば四辺形のボックスであってもよい。単なる例として、複数の隅(例えば、4つの隅、5つの隅、8つの隅など)を有するプーリング領域候補の場合、境界決定モジュール411は、対応する隅の位置に従って、各隅について複数のクロッピング戦略を決定することができる。境界決定モジュール411は、複数のクロッピング戦略のうちの1つに従って複数の隅の各々をクロッピングすることによってプーリング領域候補をトリミングすることができる。境界決定モジュール411は、クロッピングされた複数の隅に基づいて、トリミングされたプーリング領域候補に対する境界を識別し、その境界を画像にマッピングして、ターゲットオブジェクトの境界を決定することができる。境界の決定に関する詳細は、本開示の他の箇所(例えば、プロセス500のオペレーション560、プロセス700、およびそれらの説明)に見つけることができる。
いくつかの実施形態では、境界決定モジュール411は、1つ以上のプーリング領域候補に基づいて、ターゲットオブジェクトに対応する1つ以上の境界を決定することができる。境界決定モジュール411は、1つ以上の境界の各々とグラウンドトゥルースとの間のIoUを決定することができる。いくつかの実施形態では、グラウンドトゥルースは、ターゲットオブジェクトのラベル付けされた境界ボックスを示し得る。境界とグラウンドトゥルースとの間のIoUは、境界とグラウンドトゥルースとの重なりの度合いを反映し得る。境界決定モジュール411は、1つ以上の境界に関連する1つ以上の決定されたIoUを比較し、最大のIoUを有する境界を、ターゲットオブジェクトに対応するターゲット境界として決定することができる。
AI処理デバイス142内のモジュールは、有線接続または無線接続を介して相互に接続、または通信することができる。有線接続は、金属ケーブル、光ケーブル、ハイブリッドケーブルなど、またはそれらの任意の組み合わせを含み得る。無線接続は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、ブルートゥース(登録商標)、ジグビー、近距離無線通信(NFC)など、またはそれらの任意の組み合わせを含み得る。
上記の説明は単に例示の目的で提供されており、本開示の範囲を限定することを意図していないことに留意されたい。当業者であれば、本開示の教示の下で複数の変更および修正を行うことができる。しかしながら、それらの変形および修正は、本開示の範囲から逸脱するものではない。いくつかの実施形態では、AI処理デバイス142は、1つ以上の追加のモジュールをさらに含み得る。例えば、AI処理デバイス142は、AI処理デバイス142のモジュールによって生成されたデータを記憶するように構成された記憶モジュール(図4には示されていない)をさらに含み得る。
図5は、本開示のいくつかの実施形態による、ターゲットオブジェクトの境界を決定するための例示的なプロセス500を示すフローチャートである。例示のみを目的として、AI処理デバイス142は、プロセス500を実行する主題として説明され得る。しかしながら、当業者は、プロセス500が他のエンティティによって実行されてもよいことを理解されよう。例えば、当業者は、プロセス500の少なくとも一部が、図2に示されるようなコンピューティングデバイス200または図3に示されるようなモバイルデバイス300上でも実装され得ることを理解されよう。いくつかの実施形態では、プロセス500の1つ以上のオペレーションは、図1に示されているように、AI画像処理システム100で実施され得る。いくつかの実施形態では、プロセス500の1つ以上のオペレーションは、命令の形式として記憶デバイス150および/またはストレージ(例えば、ROM230、RAM240など)に格納され、呼び出され、および/またはサーバ140(例えば、サーバ140のAI処理デバイス142、またはサーバ140のAI処理デバイス142のプロセッサ220)によって実行され得る。いくつかの実施形態では、命令は、電子電流または電気信号の形で送信されてもよい。
510において、AI処理デバイス142(例えば、取得モジュール401)は、ターゲットオブジェクトを含む画像を取得することができる。いくつかの実施形態では、画像は、センサ110(例えば、スマートフォンのカメラ、自律車両のカメラ、インテリジェント防犯カメラ、交通カメラ)によって取り込まれた画像であってもよい。取り込まれた画像は、静止画、動画などでもよい。いくつかの実施形態では、画像は、人、動物(例えば、犬、猫)、車両(例えば、バイク、車、バス、トラック)、植物(例えば、花、木)、建物、風景など、またはそれらの任意の組み合わせの複数のオブジェクトを含み得る。いくつかの実施形態では、画像は、安全ベルト、傾斜した文字など、画像に対して傾斜したオブジェクトを含み得る。いくつかの実施形態では、ターゲットオブジェクトは、画像内で識別および/または検出されるオブジェクトを指す場合がある。例えば、ターゲットオブジェクトは、画像に対して傾斜したオブジェクト(例えば、安全ベルト、傾斜した文字)であってもよい。あるいは、画像内のすべてのオブジェクトを識別および/または検出する必要があり、画像内の各オブジェクトをターゲットオブジェクトと呼ぶ場合がある。
いくつかの実施形態では、AI処理デバイス142は、センサ110、端末130、記憶デバイス(例えば、記憶デバイス150)などの、AI画像処理システム100の1つ以上のコンポーネントから画像を取得することができる。代替的または追加的に、AI処理デバイス142は、ネットワーク120を介して外部ソースから画像を取得することができる。例えば、AI処理デバイス142は、ImageNetなどから画像を取得することができる。
520において、AI処理デバイス142(例えば、特徴マップ決定モジュール403)は、画像を畳み込みニューラルネットワーク(CNN)に入力することにより、複数の特徴マップを生成することができる。複数の特徴マップは、画像の特徴情報を含み得る。いくつかの実施形態では、CNNは、Zeiler&Fergusモデル(ZF)、VGG-16、RestNet 50などに基づいて生成されてもよい。いくつかの実施形態では、CNNは、1つ以上の畳み込み層および1つ以上のプーリング層を含み、全結合層のない訓練されたCNNであってもよい。畳み込み層は、画像(例えば、510で取得された画像)の特徴(または特徴マップ)を抽出するように構成され得る。プーリング層は、画像の特徴マップのサイズを縮小するように構成され得る。いくつかの実施形態では、画像はCNNに入力されてもよく、複数の特徴マップが生成されてもよい。単なる例として、CNNは、ZFモデルに基づいて決定され得る。600×1000のサイズの画像をZFモデルに入力することができ、256個の特徴マップをZFモデルから出力することができる。256個の特徴マップの各々のサイズは、40×60であってもよい。
いくつかの実施形態では、CNNは、転移学習に従って生成されてもよい。転移学習は、以前に得られた知識を使用することにより、トレーニング時間を短縮できる可能性がある。具体的には、ベースネットワークは、データセット(例えば、ImageNetデータセット、PASCAL VOC、COCOなど)から得られた複数の第1のトレーニングサンプルに基づいて、事前に訓練された学習済みネットワークであり得る。ベースネットワークは、1つ以上の層(例えば、畳み込み層、プーリング層)および複数の学習済み重みを含み得る。1つ以上の層およびそれに対応する学習済み重みのうちの少なくともいくつかは、ターゲットネットワークに転移され得る。例えば、ベースネットワークは、13の畳み込み層、4つのプーリング層、および3つの全結合層を含むVGG-16であり得る。13の畳み込み層と4つのプーリング層は、ターゲットネットワーク(CNNなど)に転移され得る。いくつかの実施形態では、畳み込み層および/またはプーリング層の学習済み重みは、調整する必要がない場合があり、またはデータセット(例えば、ImageNetデータセット、PASCAL VOC、COCOなど)から得られた複数の第2のトレーニングサンプルに基づいて微調整される場合がある。いくつかの実施形態では、ターゲットネットワークは、転移された層以外の1つ以上の追加の層をさらに含み得る。追加の層の重みは、データセット(ImageNetデータセット、PASCAL VOC、COCOなど)から取得された複数の第3のトレーニングサンプルに従って更新され得る。いくつかの実施形態では、転移学習とは異なり、CNNは、データセット(例えば、ImageNetデータセット、PASCAL VOC、COCOなど)から取得された複数の第4のトレーニングサンプルを使用して予備CNNをトレーニングすることによって直接生成されてもよいことを理解されたい。
530において、AI処理デバイス142(例えば、領域候補決定モジュール405)は、複数の特徴マップに基づいて複数の領域候補を決定することができる。いくつかの実施形態では、AI処理デバイス142は、領域候補ネットワーク(RPN)に従って複数の領域候補を決定することができる。図6に示されるように、RPNは、少なくとも1つの回帰層および少なくとも1つの分類層を含み得る。
いくつかの実施形態では、AI処理デバイス142は、複数の特徴マップ上でスライディングウィンドウをスライドすることができる。スライディングウィンドウは、例えば3×3、5×5などのサイズを有する畳み込みカーネルとも呼ばれる。複数の特徴マップ上でのスライディングウィンドウのスライディングにより、複数のスライディングウィンドウ位置が決定され得る。単なる例として、スライディングウィンドウのサイズは3×3であってもよく、複数の特徴マップのサイズは40×60であってもよい。複数の特徴マップ上でパディングオペレーション(例えば、パディング=1)を実行することができる。複数の特徴マップ上でスライディングウィンドウをスライドさせると、40×60(2400)のスライディングウィンドウの位置がおおよそ決定され得る。
各スライディングウィンドウ位置で、スライディングウィンドウは、複数の特徴マップのサブ領域と一致し得る。いくつかの実施形態では、AI処理デバイス142は、複数の特徴マップのサブ領域を多次元特徴ベクトルにマッピングすることができる。例えば、256個の特徴マップが存在する場合、256次元の特徴ベクトルがサブ領域で生成され得る。AI処理デバイス142は、510で得られた画像のピクセルにサブ領域の中心ピクセルをマッピングすることによってアンカーを生成することができる。いくつかの実施形態では、アンカーは、画像内のアンカーボックスのセット(例えば、k個のアンカーボックスを含む)に対応し得る。アンカーボックスのセットの各々は、長方形のボックスであり得る。アンカーは、アンカーボックスのセットの中心点であり得る。アンカーボックスのセットの各々は、スケールとアスペクト比に関連していてもよい。単なる例として、3つのスケール(例えば、128、256、512など)および3つのアスペクト比(例えば、1:1、1:2、2:1など)が適用される場合、アンカーボックスのセットの数は9であり得る。いくつかの実施形態では、AI処理デバイス142は、多次元特徴ベクトルおよび/またはアンカーボックスのセットを、少なくとも1つの回帰層および少なくとも1つの分類層にそれぞれ供給することができる。いくつかの実施形態では、少なくとも1つの回帰層は、境界ボックス回帰を実施して、アンカーボックスのセットに対応する予備領域候補のセットを決定するように構成され得る。少なくとも1つの回帰層の出力は、予備領域候補のセットの各々の4つの座標値を含み得る。いくつかの実施形態では、予備領域候補の4つの座標値は、予備領域候補の位置(例えば、対応するアンカーボックスのアンカーの座標(x,y))および予備領域候補のサイズ(例えば、予備領域候補の幅wと高さh)を含み得る。少なくとも1つの分類層は、予備領域候補のセットの各々のカテゴリを決定するように構成され得る。カテゴリは、前景または背景であり得る。少なくとも1つの分類層の出力は、予備領域候補のセットの各々の前景であるという第1のスコア、および背景であるという第2のスコアを含み得る。
上述したように、各スライディングウィンドウ位置で、(例えば、9つの)予備領域候補のセットが決定されてもよい。複数のスライディングウィンドウ位置(例えば、おおよそ40×60)があるので、複数(例えば、おおよそ20000)の予備領域候補が、複数のスライディングウィンドウ位置で決定され得る。いくつかの実施形態では、複数の予備領域候補が互いに非常に重複する場合がある。AI処理デバイス142は、複数の予備領域候補の一部を複数の領域候補として選択することができる。いくつかの実施形態では、AI処理デバイス142は、非最大抑制(NMS)を使用して複数の領域候補を選択することができる。具体的には、AI処理デバイス142は、複数の予備領域候補の各々の、前景である第1のスコア、および背景である第2のスコアならびに複数の予備領域候補の各々の4つの座標値に基づいて複数の領域候補を決定することができる。いくつかの実施形態では、AI処理デバイス142は、複数の予備領域候補の各々とグラウンドトゥルースとの間のIntersection-over-Union(IoU)を決定することができる。グラウンドトゥルースは、ターゲットオブジェクトのラベル付けされた境界ボックスであってもよい。AI処理デバイス142は、0.7より大きいIoUを有する予備領域候補をポジティブサンプルとして決定し、0.3未満のIoUを有する予備領域候補をネガティブサンプルとして決定することができる。AI処理デバイス142は、ポジティブサンプルおよびネガティブサンプル以外の予備領域候補を削除することができる。いくつかの実施形態では、AI処理デバイス142は、ポジティブサンプルおよびネガティブサンプルから複数の領域候補を選択することができる。いくつかの実施形態では、AI処理デバイス142は、ポジティブサンプルの各々の、前景であるという第1のスコアに基づいてポジティブサンプルをランク付けし、ランク付けされたポジティブサンプルに基づいて複数のポジティブサンプルを選択することができる。AI処理デバイス142は、ネガティブサンプルの各々の、背景であるという第2のスコアに基づいてネガティブサンプルをランク付けし、ランク付けされたネガティブサンプルに基づいて複数のネガティブサンプルを選択することができる。選択されたポジティブサンプルおよび選択された
ネガティブサンプルは、複数の領域候補を構成することができる。いくつかの実施形態では、AI処理デバイス142は、300の領域候補を選択することができる。選択されたポジティブサンプルの数は、選択されたネガティブサンプルの数と同じであっても異なっていてもよい。いくつかの実施形態では、非最大抑制(NMS)を使用して領域候補を選択する前に、AI処理デバイス142は、まず、画像の境界を越える予備領域候補(境界横断予備領域候補(cross-boundary preliminary region proposal)とも呼ばれる)を削除することができる。
540において、AI処理デバイス142(例えば、プーリング領域候補決定モジュール407)は、複数の領域候補および複数の特徴マップに基づいて、複数のプーリング領域候補を決定することができる。いくつかの実施形態では、AI処理デバイス142は、複数の領域候補を複数の特徴マップにマッピングして、複数の候補特徴マップ(関心領域(ROI)とも呼ばれる)を決定することができる。いくつかの実施形態では、複数の候補特徴マップ(またはROI)は、さらなる処理のために分類器に入力される。分類器は、標準サイズ(例えば、7×7)の候補特徴マップのみを受け入れることができる。したがって、AI処理デバイス142は、複数の候補特徴マップを標準サイズにサイズ変更してもよい。AI処理デバイス142は、複数の候補特徴マップ(またはROI)に対してプーリングを実行することにより、複数のプーリング領域候補を決定することができる。いくつかの実施形態では、プーリングは、最大プーリング、平均プーリングなどを含み得る。いくつかの実施形態では、複数のプーリング領域候補は、標準サイズ(例えば、7×7)に対応し得、さらなる処理のために分類器に入力され得る。例えば、プーリング領域候補は、分類器の全結合層に送信される固定長のベクトルとして決定され得る。
550において、AI処理デバイス142(例えば、分類モジュール409)は、分類器によって、複数のプーリング領域候補を1つ以上のオブジェクトカテゴリまたは背景カテゴリに分類することができる。いくつかの実施形態では、分類器は、サポートベクトルマシン(SVM)分類器、Bayer分類器、決定木分類器、ソフトマックス分類器など、またはそれらの任意の組み合わせを含み得る。
いくつかの実施形態では、1つ以上のプーリング領域候補が、背景カテゴリに分類され得る。例えば、オペレーション530に関連して説明されたように、領域候補は、複数のポジティブサンプルおよび複数のネガティブサンプルを含み得る。同様に、プーリング領域候補は、複数のポジティブサンプルおよび複数のネガティブサンプルに対応する場合がある。いくつかの実施形態では、プーリング領域候補における複数のネガティブサンプルは、背景カテゴリに分類され得る。プーリング領域候補が背景カテゴリと決定された場合、プーリング領域候補は省略され、さらなる処理が行われない場合がある。
いくつかの実施形態では、ポジティブサンプルに対応するプーリング領域候補は、1つ以上のオブジェクトカテゴリのうちの1つに分類され得る。1つ以上のオブジェクトカテゴリは、AI画像処理システム100のデフォルト設定であり得、および/またはユーザによって調整され得る。1つ以上のオブジェクトカテゴリは、ターゲットオブジェクトのカテゴリを含み得る。複数のプーリング領域候補は、ターゲットオブジェクトに対応する1つ以上のプーリング領域候補を含み得る。AI処理デバイス142は、複数のプーリング領域候補からターゲットオブジェクトに対応する1つ以上のプーリング領域候補を選択することができる。
560において、AI処理デバイス142(例えば、境界決定モジュール411)は、1つ以上のプーリング領域候補のうちの少なくとも1つに基づいて、画像内のターゲットオブジェクトのターゲット境界を決定することができる。いくつかの実施形態では、ターゲット境界は、例えば四辺形のボックスなどの多角形のボックスであってもよい。
いくつかの実施形態では、1つ以上のプーリング領域候補の各々は、複数の隅(例えば、4つの隅、5つの隅、8つの隅など)を有することができる。プーリング領域候補の場合、AI処理デバイス142は、対応する隅の位置に従って、複数の隅の各隅について複数のクロッピング戦略を決定することができる。単なる例として、AI処理デバイス142は、複数の隅の各々について5つのクロッピング戦略を決定することができる。いくつかの実施形態では、各隅について、AI処理デバイス142は、プーリング領域候補に基づいて、複数(例えば5つ)のクロッピング戦略のうちの1つを隅の所望のクロッピング戦略として決定することができる。単なる例として、AI処理デバイス142は、プーリング領域候補に基づいて、各隅のクロッピング方向およびクロッピング長さを決定することができる。ある隅のクロッピング方向は、その隅の複数のクロッピング戦略の1つに限定してもよい。いくつかの実施形態では、AI処理デバイス142は、例えば、クロッピング方向およびクロッピング長さに基づいて、所望のクロッピング戦略に従って複数の隅の各々をクロッピングすることにより、プーリング領域候補をトリミングすることができる。いくつかの実施形態では、各隅の複数のクロッピング戦略は、偽値(false)のクロッピング戦略および/またはターゲット位置のクロッピング戦略を含み得る。隅の偽値のクロッピング戦略は、隅がターゲットオブジェクト内のポイントに対応し得ることを示すことができる。隅のターゲット位置のクロッピング戦略は、隅がターゲットオブジェクトの境界ポイントに対応し得ることを示すことができる。隅のクロッピング方向が偽値のクロッピング戦略に対応する場合、AI処理デバイス142は、隅のクロッピングを停止して、プーリング領域候補を放棄することができる。隅のクロッピング方向がターゲット位置のクロッピング戦略に対応する場合、AI処理デバイス142は、隅のクロッピングを停止することができる。各隅のクロッピング方向がターゲット位置のクロッピング戦略に対応する場合、AI処理デバイス142は、クロッピングされた複数の隅に基づいてトリミングされたプーリング領域候補に対する境界を識別し、その境界を画像にマッピングしてターゲットオブジェクトの境界を決定することができる。境界の決定に関する詳細
は、本開示の他の箇所(例えば、図7およびその説明)で見られる。
いくつかの実施形態では、AI処理デバイス142は、1つ以上のプーリング領域候補に基づいて、ターゲットオブジェクトに対応する1つ以上の境界を決定することができる。1つ以上の境界の各々は、プロセス700に従って決定されてもよく、その説明は本明細書では繰り返されない。AI処理デバイス142は、1つ以上の境界の各々とグラウンドトゥルースとの間のIoUを決定することができる。いくつかの実施形態では、グラウンドトゥルースは、ターゲットオブジェクトのラベル付けされた境界ボックスを示し得る。境界とグラウンドトゥルースとの間のIoUは、境界とグラウンドトゥルースとの重なりの度合いを反映し得る。AI処理デバイス142は、1つ以上の境界に関連する1つ以上の決定されたIoUを比較し、最大のIoUを有する境界を、ターゲットオブジェクトに対応するターゲット境界として決定することができる。
本開示では、プーリング領域候補の場合、プーリング領域候補の各隅は、対応する隅に関連する情報を考慮したそのクロッピング戦略の1つに従ってクロッピングされ得る。加えて、プーリング領域候補の特徴を考慮したプーリング領域候補に基づいて、プーリング領域候補の各隅のクロッピング方向および/またはクロッピング長さを決定することができる。したがって、本開示で開示されるプロセスに従って決定されたターゲットオブジェクトの境界は、ターゲットオブジェクト、特に、傾斜したターゲットオブジェクトにより適しており、ターゲットオブジェクトの検出および/または位置特定の精度を向上させることができる。本開示で開示されるように、ターゲットオブジェクトについて、1つ以上の境界が決定され得る。1つ以上の境界の中で最大のIoUを有する境界が、ターゲット境界として決定され得る。すなわち、グラウンドトゥルースとの重なりの度合いが最も大きい境界をターゲット境界として決定することができ、これにより、ターゲットオブジェクトの検出および/または位置特定の精度をさらに向上させることができる。
プロセス500に関する上記の説明は単に例示の目的で提供されており、本開示の範囲を限定することを意図していないことに留意されたい。当業者であれば、本開示の教示の下で複数の変更および修正を行うことができる。しかしながら、それらの変形および修正は、本開示の範囲から逸脱するものではない。いくつかの実施形態では、560において、AI処理デバイス142は、ターゲットオブジェクトに対応する複数の境界を決定する必要がない場合がある。AI処理デバイス142がターゲットオブジェクトの境界を決定すると、AI処理デバイス142は、境界をターゲット境界として決定することができ、オペレーション560は終了することができる。いくつかの実施形態では、プロセス500に従って、画像内の1つ以上のターゲットオブジェクト(例えば、すべてのオブジェクト)の境界が同時に決定され得る。いくつかの実施形態では、プロセス500を繰り返して、複数の異なる画像内のターゲットオブジェクトの境界を決定することができる。
図6は、本開示のいくつかの実施形態による例示的な領域候補ネットワーク(RPN)を示す概略図である。図6に示すように、RPNはスライディングウィンドウを導入する。スライディングウィンドウは、複数の特徴マップ上をスライドするように構成されている。図6に示すように、スライディングウィンドウは、特定のスライディングウィンドウ位置での複数の特徴マップのサブ領域と一致する。スライディングウィンドウのサイズは3×3である。サブ領域は、多次元の特徴ベクトル、例えば中間層に示される256次元(256-d)の特徴ベクトルにマッピングされる。加えて、サブ領域の中心ピクセルOが画像のピクセルにマッピングされ、アンカーO’が生成される。アンカーボックスのセット(k個のアンカーボックスなど)は、アンカーO’に基づいて決定される。アンカーボックスのセットの各々は長方形のボックスであり、アンカーO’はアンカーボックスのセットの中心点である。いくつかの実施形態では、3つのスケールおよび3つのアスペクト比があり得、9つのアンカーボックスが画像上で決定され得る。
図6に示されるように、RPNは、(reg層として示される)回帰層および(cls層として示される)分類層を含む。回帰層は、境界ボックス回帰を実施して、アンカーボックスに対応する予備領域候補を決定するように構成され得る。分類層は、予備領域候補のカテゴリを決定するように構成され得る。図示されるように、多次元特徴ベクトル(すなわち、256-d特徴ベクトル)および/またはアンカーボックスのセット(すなわち、k個のアンカーボックス)は、それぞれ回帰層および分類層に供給される。回帰層の出力は、予備領域候補のセットの各々の4つの座標値(4つの座標とも呼ばれる)を含む。予備領域候補の4つの座標値は、予備領域候補の位置(例えば、対応するアンカーボックスのアンカーの座標(x,y))と予備領域候補のサイズ(例えば、予備領域候補の幅wおよび高さh)を含み得る。分類層の出力は、前景であるという第1のスコアと背景であるという第2のスコアを含む、予備領域候補の各セットの2つのスコアを含む。
上記のように、一連の予備領域候補が特定のスライディングウィンドウ位置で決定される。複数の特徴マップ上でのスライディングウィンドウのスライディングにより、複数の予備領域候補が複数のスライディングウィンドウ位置で決定され得る。いくつかの実施形態では、RPNは、さらなる処理のための領域候補として、複数の予備領域候補の一部を選択することができる。領域候補の選択に関するさらなる説明は、本開示の他の箇所(例えば、プロセス500のオペレーション530およびその関連する説明)で見られる。
図7は、本開示のいくつかの実施形態による、プーリング領域候補に基づいてターゲットオブジェクトの境界を決定するための例示的なプロセス700を示すフローチャートである。例示のみを目的として、AI処理デバイス142は、プロセス700を実行する対象として説明され得る。しかしながら、当業者は、プロセス700が他のエンティティによって実行されてもよいことを理解されよう。例えば、当業者は、プロセス700の少なくとも一部が、図2に示されるようなコンピューティングデバイス200または図3に示されるようなモバイルデバイス300上で実装されてもよいことを理解されよう。いくつかの実施形態では、プロセス700の1つ以上のオペレーションは、図1に示されているように、AI画像処理システム100で実施され得る。いくつかの実施形態では、プロセス700の1つ以上のオペレーションは、命令の形式として記憶デバイス150および/またはストレージ(例えば、ROM230、RAM240など)に格納され、呼び出され、および/またはサーバ140(例えば、サーバ140のAI処理デバイス142、またはサーバ140のAI処理デバイス142のプロセッサ220)によって実行され得る。いくつかの実施形態では、命令は、電子電流または電気信号の形で送信されてもよい。いくつかの実施形態では、プロセス500のオペレーション560の一部は、プロセス700に従って実行されてもよい。
いくつかの実施形態では、プーリング領域候補は、複数の隅を有し得る。710において、AI処理デバイス142(例えば、境界決定モジュール411)は、複数の隅の各々の位置に従って、プーリング領域候補の複数の隅の各々について複数のクロッピング戦略を決定することができる。
いくつかの実施形態では、隅の位置は、他の隅の位置に対する隅の位置を指すことができる。特定の実施形態では、プーリング領域候補は、長方形のボックスであり得、四隅を含み得る。四隅は、左上隅、右上隅、左下隅、および右下隅を含み得る。AI処理デバイス142は、四隅の各々の位置に基づいて、四隅の各々について複数のクロッピング戦略を決定することができる。具体的には、AI処理デバイス142は、左上隅のための複数のクロッピング戦略を決定することができる。左上隅の複数のクロッピング戦略は、右へのクロッピング、下へのクロッピング、右下へのクロッピング、ターゲット位置、偽値など、またはそれらの任意の組み合わせを含み得る。AI処理デバイス142は、右上隅のための複数のクロッピング戦略を決定することができる。右上隅の複数のクロッピング戦略は、左へのクロッピング、下へのクロッピング、左下へのクロッピング、ターゲット位置、偽値など、またはそれらの任意の組み合わせを含み得る。AI処理デバイス142は、左下隅のための複数のクロッピング戦略を決定することができる。左下隅の複数のクロッピング戦略は、右へのクロッピング、上へのクロッピング、右上へのクロッピング、ターゲット位置、または偽値を含み得る。AI処理デバイス142は、右下隅のための複数のクロッピング戦略を決定することができる。右下隅の複数のクロッピング戦略は、左へのクロッピング、上へのクロッピング、左上へのクロッピング、ターゲット位置、偽値など、またはそれらの任意の組み合わせを含み得る。上記から分かるように、各隅の複数のクロッピング戦略は、偽値のクロッピング戦略および/またはターゲット位置のクロッピング戦略を含み得る。隅の偽値のクロッピング戦略は、隅がターゲットオブジェクト内のポイントに対応し得ることを示すことができる。隅のターゲット位置のクロッピング戦略は、隅がターゲットオブジェクトの境界ポイントに対応し得ることを示すことができる。各隅のクロッピング戦略および隅の数は、単に例示の目的で提供されており、本開示の範囲を限定することを意図していないことに留意されたい。
720において、AI処理デバイス142(例えば、境界決定モジュール411)は、プーリング領域候補に基づいて、複数のクロッピング戦略から複数の隅の各々のクロッピング戦略を決定することができる。いくつかの実施形態では、AI処理デバイス142は、プーリング領域候補に基づいて、各隅のクロッピング方向およびクロッピング長さを決定することができる。例えば、AI処理デバイス142は、プーリング領域候補におけるピクセル(例えば、ターゲットオブジェクトを表すピクセル、背景を表すピクセル)の特徴を分析し、分析結果に基づいてクロッピング方向および/またはクロッピング長さを決定することができる。クロッピング方向は、複数のクロッピング戦略の1つに制限され得る。クロッピング長さは、数ピクセルの長さ、例えば、0~10ピクセルを含む長さであり得る。
730において、AI処理デバイス142(例えば、境界決定モジュール411)は、複数の隅のうちの1つが偽値のクロッピング戦略に対応するか否かを決定することができる。いくつかの実施形態では、決定された隅のクロッピング方向が偽値のクロッピング戦略に対応する場合、隅はターゲットオブジェクト内のポイントに対応することができる。つまり、プーリング領域候補には、ターゲットオブジェクト全体が含まれていない。決定された隅のクロッピング方向がターゲット位置のクロッピング戦略に対応している場合、隅はターゲットオブジェクトの境界ポイントに対応することができる。それ以外の場合、決定された隅のクロッピング方向が偽値のクロッピング戦略とターゲット位置のクロッピング戦略以外の他のクロッピング戦略に対応している場合、隅はオブジェクトからの距離を有するポイントに対応することができる。複数の隅の少なくとも1つが偽値のクロッピング戦略に対応するという決定に応じて、AI処理デバイス142は、オペレーション740に進むことができる。複数の隅の各々が偽値のクロッピング戦略に対応しないという決定に応じて、AI処理デバイス142は、オペレーション750に進むことができる。
740において、AI処理デバイス142(例えば、境界決定モジュール411)は、プーリング領域候補を放棄することができる。プーリング領域候補にはターゲットオブジェクト全体が含まれないため、プーリング領域候補に基づいてターゲットオブジェクトの境界を決定することはできない。したがって、AI処理デバイス142は、プーリング領域候補を放棄することができる。
750において、AI処理デバイス142(例えば、境界決定モジュール411)は、複数の隅の各々がターゲット位置のクロッピング戦略に対応するか否かを決定することができる。複数の隅の少なくとも1つがターゲット位置のクロッピング戦略に対応しないという決定に応じて、AI処理デバイス142は、オペレーション760に進むことができる。
760において、AI処理デバイス142(例えば、境界決定モジュール411)は、少なくとも1つの隅の決定されたクロッピング戦略に従って少なくとも1つの隅をクロッピングすることによってプーリング領域候補をトリミングすることができる。すなわち、隅がターゲット位置のクロッピング戦略および偽値のクロッピング戦略に対応しない場合、AI処理デバイス142は、720で決定された隅のクロッピング戦略に基づいて隅をクロッピングすることができる。少なくとも1つの隅がクロッピング戦略に従ってクロッピングされると、トリミングされたプーリング領域候補が決定され得る。
単なる例として、プーリング領域候補の右上隅について、決定されたクロッピング方向が左へのクロッピングのクロッピング戦略に対応する場合、AI処理デバイス142は、右上隅を左に向かってクロッピングして、右上隅の位置を更新することができる。別の例として、プーリング領域候補の左上隅について、決定されたクロッピング方向が右へのクロッピングのクロッピング戦略に対応する場合、AI処理デバイス142は、左上隅を右に向かってクロッピングして、右上隅の位置を更新することができる。さらなる例として、プーリング領域候補の左下隅について、決定されたクロッピング方向が右上へのクロッピングのクロッピング戦略に対応する場合、AI処理デバイス142は、左下隅を右上に向かってクロッピングして、左下隅の位置を更新することができる。
770において、AI処理デバイス142(例えば、境界決定モジュール411)は、長方形のボックスを決定するために、クロッピングされた複数の隅に基づいて境界マッピングを実行することができる。特定の実施形態では、上述のように、プーリング領域候補は、長方形のボックスであり得、四隅を含み得る。隅ごとに異なるクロッピング戦略が適用されるため、トリミングされたプーリング領域候補は、長方形のボックス以外の四辺形のボックスになり得る。いくつかの実施形態では、上記のクロッピング戦略は、(トリミングされた)プーリング領域候補が長方形のボックスである場合にのみ使用できる。したがって、AI処理デバイス142は、トリミングされたプーリング領域候補に対して境界マッピングを実行することができる。具体的には、AI処理デバイス142は、四隅に基づいて2つの対角線を決定し、より長い対角線をターゲット対角線として決定することができる。AI処理デバイス142は、ターゲット対角線に基づいて長方形のボックスを決定することができる。
780において、AI処理デバイス142(例えば、境界決定モジュール411)は、更新されたプーリング領域候補を決定するために、長方形のボックスを標準サイズにサイズ変更する。いくつかの実施形態では、AI処理デバイス142は、更新されたプーリング領域候補を決定するために、プーリングを実行することによって長方形のボックスをサイズ変更することができる。更新されたプーリング領域候補は、標準サイズであり、分類器によって受け入れられてもよい。更新されたプーリング領域候補が決定された後、AI処理デバイス142は、オペレーション720から780に進み、次の反復を開始することができる。オペレーション720から770の説明は、本開示の他の箇所で見られ、その説明は繰り返されない。AI処理デバイス142は、複数の隅の各々がターゲット位置のクロッピング戦略に対応するまで、オペレーション720から780を繰り返すことができる。
730において、複数の隅の各々が偽値のクロッピング戦略に対応しないという決定に応じて、AI処理デバイス142は、オペレーション750に進むことができる。750において、AI処理デバイス142は、複数の隅の各々がターゲット位置のクロッピング戦略に対応するか否かを決定することができる。複数の隅の各々がターゲット位置のクロッピング戦略に対応するという決定に応じて、AI処理デバイス142は、複数の隅のクロッピングを停止することができる。AI処理デバイス142は、オペレーション790に進むことができる。
790において、AI処理デバイス142(例えば、境界決定モジュール411)は、クロッピングされた複数の隅に基づいて、トリミングされたプーリング領域候補に対する境界を識別することができる。特定の実施形態では、(トリミングされた)プーリング領域候補は、四隅を含み得る。AI処理デバイス142は、四隅を接続して、特徴マップ上の境界を決定することができる。
795において、AI処理デバイス142(例えば、境界決定モジュール411)は、ターゲットオブジェクトの境界を決定するために、画像に境界をマッピングすることができる。いくつかの実施形態では、ターゲットオブジェクトの境界は四辺形のボックスであり得る。
本開示では、プーリング領域候補の各隅について、対応する隅の位置に基づいて複数のクロッピング戦略を決定することができる。さらに、各隅のクロッピング方向および/またはクロッピング長さは、プーリング領域候補におけるピクセルの特徴に基づいて決定され得る。つまり、隅をクロッピングするために、隅の位置および/またはプーリング領域候補の特徴が考慮されている。したがって、本開示で開示されるプロセスに従って決定されたターゲットオブジェクトの境界は、ターゲットオブジェクト、特に、傾斜したターゲットオブジェクトにより適しており、ターゲットオブジェクトの検出および/または位置特定の精度を向上させることができる。例えば、図9Cに示されるように、傾斜したターゲットオブジェクト(例えば、傾斜した文字)の場合、本開示は、傾斜したターゲットオブジェクトに適切な境界を提供し、傾斜したターゲットオブジェクトの検出および/または位置特定の精度をさらに改善し得る。
プロセス700に関する上記の説明は単に例示の目的で提供されており、本開示の範囲を限定することを意図していないことに留意されたい。当業者であれば、本開示の教示の下で複数の変更および修正を行うことができる。しかしながら、それらの変形および修正は、本開示の範囲から逸脱するものではない。例えば、オペレーション730および750は同時に実行されてもよい。別の例として、オペレーション750は、オペレーション730の前に実行されてもよい。いくつかの実施形態では、AI処理デバイス142は、プロセス700を繰り返して、ターゲットオブジェクトに対応する1つ以上の境界を決定することができる。
図8は、本開示のいくつかの実施形態による、ターゲットオブジェクトの境界を決定するための例示的なプロセスを示す概略図である。図8に示すように、畳み込みニューラルネットワーク(CNN)に画像が入力される。いくつかの実施形態では、画像は、1つ以上のターゲットオブジェクト(例えば、検出されるオブジェクト)を含み得る。いくつかの実施形態では、CNNは、ZFモデル、VGG-16、RestNet 50などに基づいて生成されてもよい。いくつかの実施形態では、CNNは、1つ以上の畳み込み層、1つ以上のプーリング層を含み、全結合層がなくてもよい。画像をCNNに入力することにより、複数の特徴マップを生成することができる。複数の特徴マップは、画像の特徴情報を含み得る。特徴マップの生成に関する詳細は、本開示の他の箇所(例えば、オペレーション510および520、ならびにそれらの説明)で見られる。
図8に示すように、複数の特徴マップは、領域候補ネットワーク(RPN)に入力され得る。RPNでは、スライディングウィンドウが複数の特徴マップ上をスライドすることができる。複数の特徴マップ上でのスライディングウィンドウのスライディングにより、複数のスライディングウィンドウ位置が決定され得る。各スライディングウィンドウ位置で、多次元特徴ベクトル(例えば、256次元特徴ベクトル)が生成されてもよく、および/または画像内のアンカーが決定されてもよい。アンカーは、アンカーボックスのセットに対応することができ、各々のアンカーボックスは、スケールおよびアスペクト比に関連付けられ得る。図8に示すように、RPNは、少なくとも1つの回帰層と少なくとも1つの分類層を含む。多次元特徴ベクトルおよび/またはアンカーボックスのセットは、少なくとも1つの回帰層および少なくとも1つの分類層に供給される。少なくとも1つの回帰層の出力は、予備領域候補のセットの各々の4つの座標値を含み得る。少なくとも1つの分類層の出力は、予備領域候補のセットの各々の前景であるという第1のスコア、および背景であるという第2のスコアを含み得る。同様に、複数のスライディングウィンドウで、複数の予備領域候補が決定され得る。いくつかの実施形態では、複数の予備領域候補の一部が、複数の領域候補として選択され得る。複数の領域候補は、ポジティブサンプル(例えば、前景)およびネガティブサンプル(例えば、背景)を含み得る。複数の領域候補をさらに処理することができる。領域候補の決定に関する詳細は、本開示の他の箇所(例えば、プロセス500のオペレーション530)で見られる。
図8に示すように、ROIプーリングオペレーションは、複数の特徴マップおよび複数の領域候補に基づいて実行される。具体的には、複数の領域候補を複数の特徴マップにマッピングして、複数の候補特徴マップ(ROIとも呼ばれる)を決定することができる。複数のROIは、複数のROIに対してプーリングを実行することにより、標準サイズ(例えば、7×7)にサイズ変更され得る。次に、複数のプーリング領域候補を決定することができる。複数のプーリング領域候補は、さらに処理するために分類器に入れることができる。
複数のプーリング領域候補は、分類器によって、1つ以上のオブジェクトカテゴリ(例えば、K個のカテゴリ)または背景カテゴリに分類され得る。プーリング領域候補が背景カテゴリとして決定された場合、プーリング領域候補は省略および/または削除され得る。複数のプーリング領域候補は、ターゲットオブジェクトに対応する1つ以上のプーリング領域候補を含み得る。プーリング領域候補の場合、画像内のターゲットオブジェクトの境界は、プーリング領域候補に基づいて決定され得る。ターゲットオブジェクトの境界を決定するために、プーリング領域候補が1回以上トリミングされ得る。いくつかの実施形態では、プーリング領域候補は、複数の隅を含み得る。図8に示すように、プーリング領域候補は、四隅、すなわち、左上(TL)隅、右上(TR)隅、左下(BL)隅、および右下(BR)隅を含む。四隅の各々には5つのクロッピング戦略が含まれている。具体的には、左上隅の5つの戦略は、右へのクロッピング(→)、右下へのクロッピング(右下矢印)、下へのクロッピング(↓)、ターゲット位置(T)、および偽値(F)を含む。右上隅の5つの戦略は、左へのクロッピング(←)、左下へのクロッピング(左下矢印)、下へのクロッピング(↓)、ターゲット位置(T)、および偽値(F)を含む。左下隅の5つの戦略は、右へのクロッピング(→)、右上へのクロッピング(右上矢印)、上へのクロッピング(↑)、ターゲット位置(T)、および偽値(F)を含む。右下隅の5つの戦略は、左へのクロッピング(←)、左上へのクロッピング(左上矢印)、上へのクロッピング(↑)、ターゲット位置(T)、および偽値(F)を含む。四隅の各々のクロッピング戦略は、プーリング領域候補のピクセルの特徴に基づいて決定され得る。四隅のいずれかが偽値のクロッピング戦略に対応するか否かを決定することができる。四隅の少なくとも1つが偽値のクロッピング戦略に対応している場合、ターゲットオブジェクト全体を含まないプーリング領域候補であると決定される場合があり、プーリング領域候補が放棄または拒否され得る。四隅の各々が偽値のクロッピング戦略に対応しない場合、四隅の各々がターゲット位置のクロッピング戦略に対応するか否かを決定することができる。ある隅がターゲット位置のクロッピング戦略に対応していない場合、決定されたクロッピング戦略に基づいてこの隅をクロッピングすることができる。各隅がその隅のクロッピング戦略に従ってクロッピングされると、トリミングされたプーリング領域候補が決定される。長方形のボックスを決定するために、クロッピングされた四隅に基づいて境界マッピングを実行できる。長方形のボックスは標準サイズにサイズ変更され、更新されたプーリング領域候補が決定される。更新されたプーリング領域候補はさらにトリミングされ得、次の反復が実行され得る。四隅の各々がターゲット位置のクロッピング戦略に対応している場合、四隅の各々がクロッピングされない場合がある。(トリミングされた)プーリング領域候補の境界を識別できる。境界を画像にマッピングして、ターゲットオブジェクトの境界を決定できる。ターゲットオブジェクトの境界の決定のさらなる説明は、本開示の他の箇所(例えば、図7およびその説明)で見られる。
図9A~図9Cは、本開示のいくつかの実施形態による画像を示す概略図である。図9A~図9Cに示すように、画像は、ターゲットオブジェクト、すなわち、傾斜した文字「CHANEL」を含み得る。図9Bは、Faster-RCNNアルゴリズムに従って決定される「CHANEL」の境界902(境界ボックスとも呼ばれる)を示している。図9Cは、本開示で説明されるプロセスに従って決定される「CHANEL」の境界904を示している。境界902は、ターゲットオブジェクトよりも多くの背景を含み、ターゲットオブジェクトの位置を正確に決定することができない。境界904は、より少ない背景を含み、これは、ターゲットオブジェクトの正確な位置特定を実装することができる。したがって、本開示で説明するプロセスは、オブジェクト検出の精度を向上させることができる。
基本的な概念をこのように説明してきたが、この詳細な開示を読んだ後、前述の詳細な開示は例としてのみ提示されることを意図しており、限定的ではないことが当業者には明らかであろう。本明細書では明示的に述べられていないが、様々な変更、改良、および修正が行われる可能性があり、当業者を対象とする。これらの変更、改良、および修正は、本開示によって示唆されることが意図されており、本開示の例示的な実施形態の趣旨および範囲内にある。
さらに、本開示の実施形態を説明するために特定の用語が使用されている。例えば、「一実施形態」、「実施形態」、および/または「いくつかの実施形態」という用語は、実施形態に関連して説明される特定の特徴、構造または特性が本開示の少なくとも1つの実施形態に含まれることを意味する。したがって、本明細書の様々な部分における「実施形態」または「一実施形態」または「代替実施形態」への2つ以上の言及は、必ずしもすべてが同じ実施形態を指すとは限らないことを強調し、理解されたい。さらに、特定の特徴、構造、または特性は、本開示の1つ以上の実施形態において適切であるように組み合わせることができる。
さらに、当業者には理解されるように、本開示の態様は、新規かつ有用なプロセス、機械、製造、または物質の組成、またはそれらの新規かつ有用な改良を含む、いくつかの特許可能なクラスまたはコンテキストのいずれかで、本明細書において例示および説明され得る。したがって、本開示の態様は、完全にハードウェア、完全にソフトウェア(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、または本明細書で「ユニット」、「モジュール」、または「システム」と総称され得るソフトウェアおよびハードウェア実装の組み合わせで実装され得る。さらに、本開示の態様は、コンピュータ可読プログラムコードがその上に実現される1つ以上のコンピュータ可読媒体で実現されるコンピュータプログラム製品の形態をとることができる。
コンピュータ可読信号媒体は、例えば、ベースバンド内または搬送波の一部として、コンピュータ可読プログラムコードがその中に実現された伝搬データ信号を含み得る。そのような伝搬信号は、電磁、光学など、またはそれらの任意の適切な組み合わせを含む、様々な形態のいずれかをとることができる。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体ではなく、命令実行システム、デバイス、もしくはデバイスによって、またはそれらに関連して使用するためのプログラムを通信、伝播、または移送することができる任意のコンピュータ可読媒体とすることができる。コンピュータ可読信号媒体上で実現されたプログラムコードは、無線、有線、光ファイバケーブル、RFなど、またはそれらの任意の適切な組み合わせを含む、任意の適切な媒体を使用して送信され得る。
本開示の態様のオペレーションを実行するためのコンピュータプログラムコードは、Java(登録商標)、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Pythonなどのオブジェクト指向プログラミング言語、「C」プログラミング言語、Visual Basic、Fortran 2003、Perl、COBOL 2002、PHP、ABAPなどの従来の手続き型プログラミング言語、Python、Ruby、Groovyなどの動的プログラミング言語、またはその他のプログラミング言語を含む、1つ以上のプログラミング言語の任意の組み合わせで書かれてもよい。プログラムコードは、完全にユーザのコンピュータで、一部はユーザのコンピュータで、スタンドアロンソフトウェアパッケージとして、一部はユーザのコンピュータおよび一部はリモートコンピュータで、または完全にリモートコンピュータまたはサーバで実行されてもよい。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続されてもよく、接続は、外部コンピュータに(例えば、インターネット経由でインターネットサービスプロバイダを使用して)、もしくはクラウドコンピューティング環境で作られてもよく、またはサービスとしてのソフトウェア(SaaS)などのサービスとして提供されてもよい。
さらに、処理要素もしくはシーケンスの列挙された順序、または数字、文字、もしくは他の指定の使用は、したがって、特許請求されたプロセスおよび方法を、請求項で指定され得る場合を除いて任意の順序に限定することを意図しない。上記の開示は、開示の様々な有用な実施形態であると現在考えられるものを様々な例を通して説明しているが、そのような詳細は単にその目的のためであり、添付の特許請求の範囲は開示された実施形態に限定されないが、反対に、開示された実施形態の趣旨および範囲内にある修正および同等の配置をカバーすることを意図していることを理解されたい。例えば、上記の様々なコンポーネントの実装はハードウェアデバイスで実現されてもよいが、ソフトウェアのみのソリューション、例えば既存のサーバもしくはモバイルデバイスへのインストールとして実装されてもよい。
同様に、本開示の実施形態の前述の説明では、様々な実施形態の1つ以上の理解を助ける開示を簡素化する目的で、様々な特徴が、単一の実施形態、図、またはその説明にまとめられている。しかしながら、この開示の方法は、特許請求される主題が各請求項で明示的に列挙されるよりも多くの特徴を必要とするという意図を反映するものとして解釈されるべきではない。むしろ、特許請求される主題は、前述の単一の開示された実施形態のすべての特徴より少ない場合がある。
100 AI画像処理システム
110 センサ
120 ネットワーク
130 端末
140 サーバ
142 AI処理デバイス
150 記憶デバイス
200 コンピューティングデバイス
210 内部通信バス
220 プロセッサ
230 ROM
250 COMポート
260 Oデバイス
270 ディスク
300 モバイルデバイス
310 通信プラットフォーム
320 ディスプレイ
360 メモリ
370 モバイルオペレーティングシステム
380 アプリケーション
390 ストレージ
401 取得モジュール
403 特徴マップ決定モジュール
405 領域候補決定モジュール
407 プーリング領域候補決定モジュール
409 分類モジュール
411 境界決定モジュール
500 プロセス
510、530、560 オペレーション
700 プロセス
720、730、750、760、790 オペレーション
902、904 境界

Claims (15)

  1. オブジェクト検出のための人工知能画像処理システムであって、
    画像内のオブジェクトに対応する境界を決定するための命令セットを含む少なくとも1つの記憶デバイスと、
    前記少なくとも1つの記憶デバイスと通信する少なくとも1つのプロセッサであって、前記命令セットを実行すると、
    ターゲットオブジェクトを含む画像を取得し、
    前記画像を畳み込みニューラルネットワーク(CNN)に入力することにより、複数の特徴マップを生成し、
    前記複数の特徴マップに基づいて複数の領域候補を決定し、
    前記複数の領域候補および前記複数の特徴マップに基づいて、複数のプーリング領域候補を決定し、
    分類器によって、前記複数のプーリング領域候補を1つ以上のオブジェクトカテゴリまたは背景カテゴリに分類し、前記1つ以上のオブジェクトカテゴリは前記ターゲットオブジェクトのカテゴリを含み、前記複数のプーリング領域候補は前記ターゲットオブジェクトに対応する1つ以上のプーリング領域候補を含み、前記1つ以上のプーリング領域候補の各々は複数の隅を有し、
    前記ターゲットオブジェクトに対応する前記1つ以上のプーリング領域候補の各々について、
    前記プーリング領域候補の前記複数の隅の各隅について、前記対応する隅の位置に従って複数のクロッピング戦略を決定し、
    前記複数のクロッピング戦略の1つに従って前記複数の隅の各々をクロッピングすることにより、前記プーリング領域候補をトリミングし、
    前記クロッピングされた複数の隅に基づいて、前記トリミングされたプーリング領域候補に対する境界を識別し、
    前記ターゲットオブジェクトの境界を決定するために前記境界を前記画像にマッピングする
    ように指示される少なくとも1つのプロセッサと
    を備える、オブジェクト検出のための人工知能画像処理システム。
  2. 前記CNNが、1つ以上の畳み込み層および1つ以上のプーリング層を含み、全結合層をもたない、請求項1に記載の人工知能画像処理システム。
  3. 前記複数の領域候補が、領域候補ネットワーク(RPN)に従って決定される、請求項1に記載の人工知能画像処理システム。
  4. 前記RPNが、少なくとも1つの回帰層および少なくとも1つの分類層を含み、前記複数の領域候補を決定するために、前記少なくとも1つのプロセッサは、
    スライディングウィンドウを前記複数の特徴マップ上でスライドさせ、
    各スライディングウィンドウ位置であって、前記スライディングウィンドウが前記複数の特徴マップのサブ領域と一致する各スライディングウィンドウ位置で、
    前記複数の特徴マップの前記サブ領域を多次元特徴ベクトルにマッピングし、
    前記サブ領域の中心ピクセルを前記画像のピクセルにマッピングすることによってアンカーを生成し、前記アンカーは、前記画像内のアンカーボックスのセットに対応し、前記アンカーボックスのセットの各々は、スケールおよびアスペクト比に関連付けられており、
    前記多次元特徴ベクトルを、前記少なくとも1つの回帰層と前記少なくとも1つの分類層とにそれぞれ供給し、
    前記少なくとも1つの回帰層は、前記アンカーボックスのセットに対応する予備領域候補(preliminary region proposal)のセットを決定するために、境界ボックス回帰を実行するように構成され、前記少なくとも1つの回帰層の出力は、前記予備領域候補のセットの各々の4つの座標値を含み、
    前記少なくとも1つの分類層は、前記予備領域候補のセットの各々のカテゴリを決定するように構成され、前記カテゴリは前景または背景であり、前記少なくとも1つの分類層の出力は、前記予備領域候補のセットの各々の、前景であるという第1のスコア、および背景であるという第2のスコアを含み、
    前記複数の予備領域候補の各々の、前景であるという前記第1のスコア、および背景であるという前記第2のスコア、ならびに前記複数の予備領域候補の各々の4つの座標値に基づいて、前記複数の予備領域候補の一部を前記複数の領域候補として選択する
    ように指示される、請求項3に記載の人工知能画像処理システム。
  5. 前記複数の予備領域候補の一部を前記複数の領域候補として選択するために、前記少なくとも1つのプロセッサが、
    非最大抑制(NMS)を使用して前記複数の領域候補を選択する
    ように指示される、請求項4に記載の人工知能画像処理システム。
  6. 前記複数のプーリング領域候補が標準サイズに対応し、前記複数のプーリング領域候補を決定するために、前記少なくとも1つのプロセッサが、
    複数の候補特徴マップを決定するために、前記複数の領域候補を前記複数の特徴マップにマッピングし、
    前記複数の候補特徴マップでプーリングを実行することにより、前記複数のプーリング領域候補を決定する
    ようにさらに指示される、請求項1から5のいずれか一項に記載の人工知能画像処理システム。
  7. 前記複数の隅が、左上隅、右上隅、左下隅、および右下隅を含み、
    前記左上隅の前記複数のクロッピング戦略は、右へのクロッピング、下へのクロッピング、右下へのクロッピング、ターゲット位置、または偽値(false)の少なくとも1つを含み、
    前記右上隅の前記複数のクロッピング戦略は、左へのクロッピング、下へのクロッピング、左下へのクロッピング、ターゲット位置、または偽値の少なくとも1つを含み、
    前記左下隅の前記複数のクロッピング戦略は、右へのクロッピング、上へのクロッピング、右上へのクロッピング、ターゲット位置、または偽値の少なくとも1つを含み、
    前記右下隅の前記複数のクロッピング戦略は、左へのクロッピング、上へのクロッピング、左上へのクロッピング、ターゲット位置、または偽値の少なくとも1つを含む、請求項1に記載の人工知能画像処理システム。
  8. 前記少なくとも1つのプロセッサが、
    前記隅がターゲット位置のクロッピング戦略に対応する場合、前記複数の隅の1つのクロッピングを停止する
    ようにさらに指示される、請求項7に記載の人工知能画像処理システム。
  9. 前記複数の隅の各々をクロッピングすると、前記少なくとも1つのプロセッサが、
    前記プーリング領域候補に基づいて、前記複数の隅の各々のクロッピング方向とクロッピング長さを決定し、前記複数の隅の各々の前記クロッピング方向は、前記対応する隅の前記複数のクロッピング戦略の1つに制限され、
    前記クロッピング方向と前記クロッピング長さに基づいて、前記複数の隅の各々をクロッピングする
    ように指示される、請求項7に記載の人工知能画像処理システム。
  10. 前記複数の隅の各々をクロッピングすることにより前記プーリング領域候補をトリミングするために、前記少なくとも1つのプロセッサが、
    1回以上の反復を実行し、
    前記1回以上の反復の各々において、
    前記複数のクロッピング戦略から、前記プーリング領域候補に基づいて前記複数の隅の各々のクロッピング戦略を決定し、
    前記複数の隅の1つが偽値のクロッピング戦略に対応するか否かを決定し、
    前記複数の隅の各々が前記偽値のクロッピング戦略に対応しないという決定に応じて、前記複数の隅の各々がターゲット位置のクロッピング戦略に対応するか否かを決定し、
    前記複数の隅の少なくとも1つが前記ターゲット位置のクロッピング戦略に対応していないという決定に応じて、前記複数の隅の少なくとも1つの、前記決定されたクロッピング戦略に従って、前記複数の隅の少なくとも1つをクロッピングし、
    前記クロッピングされた複数の隅に基づいて、長方形のボックスを決定するための境界マッピングを実行し、
    前記長方形のボックスのサイズを標準サイズにサイズ変更し、
    前記複数の隅の各々が前記ターゲット位置のクロッピング戦略に対応するという決定に応じて、前記複数の隅のクロッピングを停止する
    ように指示される、請求項7に記載の人工知能画像処理システム。
  11. 前記少なくとも1つのプロセッサが、
    前記複数の隅のうちの少なくとも1つが前記偽値のクロッピング戦略に対応するという決定に応じて、前記プーリング領域候補を放棄する
    ようにさらに指示される、請求項10に記載の人工知能画像処理システム。
  12. 前記少なくとも1つのプロセッサが、
    前記ターゲットオブジェクトに対応する1つ以上の境界を決定し、
    前記1つ以上の境界の各々とグラウンドトゥルースとの間のIntersection-over-Union(IoU)を決定し、
    最大のIoUを有する前記1つ以上の境界の1つを、前記ターゲットオブジェクトに対応するターゲット境界として決定する
    ようにさらに指示される、請求項1から11のいずれか一項に記載の人工知能画像処理システム。
  13. 前記ターゲットオブジェクトの境界が四辺形のボックスである、請求項1から12のいずれか一項に記載の人工知能画像処理システム。
  14. 少なくとも1つのプロセッサ、少なくとも1つのコンピュータ可読記憶媒体、およびネットワークに接続された通信プラットフォームを備えたコンピューティングデバイス上で実装される人工知能画像処理方法であって、
    ターゲットオブジェクトを含む画像を取得するステップと、
    前記画像を畳み込みニューラルネットワーク(CNN)に入力することにより、複数の特徴マップを生成するステップと、
    前記複数の特徴マップに基づいて複数の領域候補を決定するステップと、
    前記複数の領域候補および前記複数の特徴マップに基づいて、複数のプーリング領域候補を決定するステップと、
    分類器によって、前記複数のプーリング領域候補を1つ以上のオブジェクトカテゴリまたは背景カテゴリに分類するステップであって、前記1つ以上のオブジェクトカテゴリは前記ターゲットオブジェクトのカテゴリを含み、前記複数のプーリング領域候補は前記ターゲットオブジェクトに対応する1つ以上のプーリング領域候補を含み、前記1つ以上のプーリング領域候補の各々は複数の隅を有する、分類するステップと、
    前記ターゲットオブジェクトに対応する前記1つ以上のプーリング領域候補の各々について、
    前記プーリング領域候補の前記複数の隅の各隅について、前記対応する隅の位置に従って複数のクロッピング戦略を決定するステップと、
    前記複数のクロッピング戦略の1つに従って前記複数の隅の各々をクロッピングすることにより、前記プーリング領域候補をトリミングするステップと、
    前記クロッピングされた複数の隅に基づいて、前記トリミングされたプーリング領域候補に対する境界を識別するステップと、
    前記ターゲットオブジェクトの境界を決定するために前記境界を前記画像にマッピングするステップと
    を含む人工知能画像処理方法。
  15. 人工知能オブジェクト検出のための少なくとも1つの命令セットを備える非一時的なコンピュータ可読記憶媒体であって、コンピューティングデバイスの少なくとも1プロセッサによって実行されると、前記少なくとも1つの命令セットは、
    ターゲットオブジェクトを含む画像を取得する動作と、
    前記画像を畳み込みニューラルネットワーク(CNN)に入力することにより、複数の特徴マップを生成する動作と、
    前記複数の特徴マップに基づいて複数の領域候補を決定する動作と、
    前記複数の領域候補および前記複数の特徴マップに基づいて、複数のプーリング領域候補を決定する動作と、
    分類器によって、前記複数のプーリング領域候補を1つ以上のオブジェクトカテゴリまたは背景カテゴリに分類する動作であって、前記1つ以上のオブジェクトカテゴリは前記ターゲットオブジェクトのカテゴリを含み、前記複数のプーリング領域候補は前記ターゲットオブジェクトに対応する1つ以上のプーリング領域候補を含み、前記1つ以上のプーリング領域候補の各々は複数の隅を有する、分類する動作と、
    前記ターゲットオブジェクトに対応する前記1つ以上のプーリング領域候補の各々について、
    前記プーリング領域候補の前記複数の隅の各隅について、前記対応する隅の位置に従って複数のクロッピング戦略を決定する動作と、
    前記複数のクロッピング戦略の1つに従って前記複数の隅の各々をクロッピングすることにより、前記プーリング領域候補をトリミングする動作と、
    前記クロッピングされた複数の隅に基づいて、前記トリミングされたプーリング領域候補に対する境界を識別する動作と、
    前記ターゲットオブジェクトの境界を決定するために前記境界を前記画像にマッピングする動作と
    を実行するように前記少なくとも1つのプロセッサに指示する、非一時的なコンピュータ可読記憶媒体。
JP2020557230A 2018-11-27 2018-12-05 オブジェクション検出のためのaiシステムおよび方法 Active JP7009652B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201811438175.5 2018-11-27
CN201811438175.5A CN111222387B (zh) 2018-11-27 2018-11-27 对象检测的系统和方法
PCT/CN2018/119410 WO2020107510A1 (en) 2018-11-27 2018-12-05 Ai systems and methods for objection detection

Publications (2)

Publication Number Publication Date
JP2021519984A JP2021519984A (ja) 2021-08-12
JP7009652B2 true JP7009652B2 (ja) 2022-01-25

Family

ID=70825714

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020557230A Active JP7009652B2 (ja) 2018-11-27 2018-12-05 オブジェクション検出のためのaiシステムおよび方法

Country Status (3)

Country Link
JP (1) JP7009652B2 (ja)
CN (1) CN111222387B (ja)
WO (1) WO2020107510A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111695491B (zh) * 2020-06-10 2023-12-19 阿波罗智联(北京)科技有限公司 用于检测行人的方法和装置
CN111738133A (zh) * 2020-06-17 2020-10-02 北京奇艺世纪科技有限公司 模型训练方法、目标检测方法、装置、电子设备及可读存储介质
CN111951337B (zh) * 2020-08-19 2022-05-31 武汉中海庭数据技术有限公司 图像检测目标空间定位方法及系统
CN112819223B (zh) * 2021-01-29 2024-08-20 云南省测绘资料档案馆(云南省基础地理信息中心) 一种用于裁剪多边形的高性能求交方法
CN113673444B (zh) * 2021-08-19 2022-03-11 清华大学 一种基于角点池化的路口多视角目标检测方法及系统
KR20230057646A (ko) * 2021-10-22 2023-05-02 연세대학교 산학협력단 멀티-레벨 전이 영역 기반의 도메인 적응형 객체 검출 장치 및 방법
CN114863136A (zh) * 2022-05-25 2022-08-05 中国人民解放军陆军炮兵防空兵学院 一种基于对角线网络的无锚框目标检测方法及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018060296A (ja) 2016-10-03 2018-04-12 グローリー株式会社 画像処理装置、画像処理システム及び画像処理方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016054778A1 (en) * 2014-10-09 2016-04-14 Microsoft Technology Licensing, Llc Generic object detection in images
US9965719B2 (en) * 2015-11-04 2018-05-08 Nec Corporation Subcategory-aware convolutional neural networks for object detection
US10002313B2 (en) * 2015-12-15 2018-06-19 Sighthound, Inc. Deeply learned convolutional neural networks (CNNS) for object localization and classification
CN106780612B (zh) * 2016-12-29 2019-09-17 浙江大华技术股份有限公司 一种图像中的物体检测方法及装置
CN107301383B (zh) * 2017-06-07 2020-11-24 华南理工大学 一种基于Fast R-CNN的路面交通标志识别方法
CN107368845B (zh) * 2017-06-15 2020-09-22 华南理工大学 一种基于优化候选区域的Faster R-CNN目标检测方法
CN107610113A (zh) * 2017-09-13 2018-01-19 北京邮电大学 一种图像中基于深度学习的小目标的检测方法及装置
CN107886120A (zh) * 2017-11-03 2018-04-06 北京清瑞维航技术发展有限公司 用于目标检测跟踪的方法和装置
CN108734705A (zh) * 2018-05-17 2018-11-02 杭州电子科技大学 基于深度学习的数字乳腺断层影像钙化簇自动检测方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018060296A (ja) 2016-10-03 2018-04-12 グローリー株式会社 画像処理装置、画像処理システム及び画像処理方法

Also Published As

Publication number Publication date
WO2020107510A1 (en) 2020-06-04
CN111222387B (zh) 2023-03-03
JP2021519984A (ja) 2021-08-12
CN111222387A (zh) 2020-06-02

Similar Documents

Publication Publication Date Title
JP7009652B2 (ja) オブジェクション検出のためのaiシステムおよび方法
WO2020207166A1 (zh) 一种物体检测方法、装置、电子设备和存储介质
US20220245792A1 (en) Systems and methods for image quality detection
US20210390329A1 (en) Image processing method, device, movable platform, unmanned aerial vehicle, and storage medium
CN109870983B (zh) 处理托盘堆垛图像的方法、装置及用于仓储拣货的系统
JP6364049B2 (ja) 点群データに基づく車両輪郭検出方法、装置、記憶媒体およびコンピュータプログラム
CN111046125A (zh) 一种视觉定位方法、系统及计算机可读存储介质
CN109683699A (zh) 基于深度学习实现增强现实的方法、装置及移动终端
CN108230235B (zh) 一种视差图生成系统、方法及存储介质
WO2022105517A1 (en) Systems and methods for detecting traffic accidents
WO2020133468A1 (en) Methods and systems for camera calibration
US11748860B2 (en) Systems and methods for new road determination
US20230087261A1 (en) Three-dimensional target estimation using keypoints
US20220214185A1 (en) Systems and methods for recommendation and display of point of interest
US20210201525A1 (en) Augmented reality device and positioning method
CN114238541A (zh) 敏感目标信息获取方法、装置和计算机设备
CN114463503A (zh) 三维模型和地理信息系统的融合方法及装置
CN116704125B (zh) 一种基于三维点云的映射方法、装置、芯片及模组设备
WO2019201141A1 (en) Methods and systems for image processing
US20220178719A1 (en) Systems and methods for positioning a target subject
US20230095621A1 (en) Keypoint detection and feature descriptor computation
CN110741410A (zh) 用于确定图像中的反光区的系统和方法
EP4153940A1 (en) Systems and methods for pose determination
CN112767477A (zh) 一种定位方法、装置、存储介质及电子设备
CN112400122B (zh) 定位目标对象的系统和方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201016

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201016

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: 20211213

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220112

R150 Certificate of patent or registration of utility model

Ref document number: 7009652

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150