(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024156228
(43)【公開日】2024-11-05
(54)【発明の名称】画像分割方法、画像分割装置、電子デバイスおよびコンピュータ可読記憶媒体
(51)【国際特許分類】
G06T 7/11 20170101AFI20241028BHJP
【FI】
G06T7/11
【審査請求】有
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2023119976
(22)【出願日】2023-07-24
(31)【優先権主張番号】202310440823.5
(32)【優先日】2023-04-23
(33)【優先権主張国・地域又は機関】CN
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVA
2.VERILOG
(71)【出願人】
【識別番号】521162399
【氏名又は名称】之江実験室
(74)【代理人】
【識別番号】110000729
【氏名又は名称】弁理士法人ユニアス国際特許事務所
(72)【発明者】
【氏名】朱 聞▲タオ▼
(72)【発明者】
【氏名】李 少杰
(72)【発明者】
【氏名】黄 海亮
(72)【発明者】
【氏名】楊 徳富
(72)【発明者】
【氏名】顔 成鋼
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA06
5L096CA02
5L096DA01
5L096EA12
5L096FA02
(57)【要約】 (修正有)
【課題】画像分割の精度を向上させる画像分割方法、装置、デバイスおよび記憶媒体を提供する。
【解決手段】方法は、オリジナル画像を取得し、オリジナル画像の粗い分割によって得られた初期分割画像を基に、勾配ベクトルの、オリジナル画像における各画素点に対応する勾配の変化に基づいて、分割最適刑をを決定し、決定し分割最適経路に基づいてオリジナル画像を細かく分割する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
オリジナル画像を取得するステップと、
前記オリジナル画像を前分割し、複数の画像領域を含む初期分割画像を得るステップと、
前記オリジナル画像における各画素点に対応する勾配ベクトルに基づいて、前記オリジナル画像に対応する勾配ベクトル場を決定するステップであって、各画素点について、前記勾配ベクトル場は当該画素点と当該画素点に対応する指定画素点との間の画素値の勾配の変化を示すことができる、ステップと、
各前記画像領域について、前記画像領域の初期境界上の各画素点に基づいて、複数の目標点を特定するステップと、
各前記画像領域に基づいて特定された各目標点について、前記勾配ベクトル場に基づいて、当該目標点を起点とする分割最適経路を決定するステップと、
決定された分割最適経路に基づいて、前記オリジナル画像を分割するステップと、を含む、
ことを特徴とする画像分割方法。
【請求項2】
前記画像領域の初期境界上の各画素点に基づいて、複数の目標点を特定するステップは、
前記画像領域の初期境界上の各画素点に基づいて、初期画素点集合を決定するステップと、
前記初期画素点集合に含まれる各画素点について、
前記オリジナル画像から、当該画素点に対応する画素点を候補目標点として決定し、
当該候補目標点の点特徴を決定するステップであって、前記点特徴はHarrisコーナー特徴、Sift特徴、Brisk特徴、傾き、曲率のうち少なくとも1つを含むステップと、
前記初期画素点集合に対応する複数の前記候補目標点の点特徴に基づいて、複数の目標点を特定するステップと、を含む、
ことを特徴とする請求項1に記載の方法。
【請求項3】
各前記画像領域に基づいて特定された各目標点について、前記勾配ベクトル場に基づいて、当該目標点を起点とする分割最適経路を決定するステップは、
初期分割画像に含まれる参考画素点および補足画素点に基づいて、前記初期分割画像に対応する行列において、各画素点に対応する値を決定するステップと、
前記初期分割画像に対応する行列および前記勾配ベクトル場に基づいて、勾配分割画像を決定するステップと、
各目標点について、前記勾配分割画像に基づいて、当該目標点を起点とする分割最適経路を決定するステップと、を含み、
前記参考画素点は、各前記画像領域の初期境界上の画素点であり、
前記補足画素点は、前記初期分割画像における、前記参考画素点の近傍にある画素点である、
ことを特徴とする請求項1に記載の方法。
【請求項4】
各前記画像領域に基づいて特定された各目標点について、前記勾配ベクトル場に基づいて、当該目標点を起点とする分割最適経路を決定するステップは、
各目標点の前記初期分割画像における位置に基づいて、前記各目標点をソートするステップと、
ソートされた各目標点について、当該目標点と当該目標点の次の目標点とを目標点セットとし、当該目標点を前記目標点セットの起点とし、当該目標点の次の目標点を前記目標点セットの終点とするステップと、
各目標点セットについて、前記勾配ベクトル場に基づいて、当該目標点セットの起点から当該目標点セットの終点までの分割最適経路を、当該目標点セットに対応する分割最適経路として決定するステップと、を含む、
ことを特徴とする請求項1に記載の方法。
【請求項5】
前記勾配ベクトル場に基づいて、当該目標点セットの起点から当該目標点セットの終点までの分割最適経路を決定するステップは、
前記起点を親経路点とするステップと、
前記親経路点と前記勾配ベクトル場とに基づいて、複数の候補経路点から最適経路点を決定するステップであって、前記複数の候補経路点は前記親経路点の近傍画素点であるステップと、
前記最適経路点が前記終点でない場合、前記最適経路点を新たな前記親経路点とし、最適経路点を決定するステップを繰り返し、
前記最適経路点が前記終点である場合、決定されたすべての最適経路点に基づいて、当該目標点セットの起点から当該目標点セットの終点までの分割最適経路を決定するステップと、を含む、
ことを特徴とする請求項4に記載の方法。
【請求項6】
前記親経路点と前記勾配ベクトル場とに基づいて、複数の候補経路点から最適経路点を決定するステップは、
前記勾配ベクトル場に基づいて、前記親経路点から各前記候補経路点までの経路に対応する損失値を、当該候補経路点に対応する損失値として決定するステップと、
前記損失値が最小となる候補経路点を前記最適経路点とするステップと、を含む、
ことを特徴とする請求項5に記載の方法。
【請求項7】
前記親経路点と前記勾配ベクトル場とに基づいて、複数の候補経路点から最適経路点を決定するステップは、
各前記候補経路点から前記終点までの距離と、前記勾配ベクトル場とに基づいて、各前記候補経路点に対応する損失値を決定するステップと、
前記損失値が最小となる候補経路点を前記最適経路点とするステップと、を含む、
ことを特徴とする請求項5に記載の方法。
【請求項8】
オリジナル画像を取得するための取得モジュールと、
前記オリジナル画像を前分割し、複数の画像領域を含む初期分割画像を得るための前分割モジュールと、
前記オリジナル画像における各画素点に対応する勾配ベクトルに基づいて、前記オリジナル画像に対応する勾配ベクトル場を決定するための決定モジュールであって、各画素点について、前記勾配ベクトル場は当該画素点と当該画素点に対応する指定画素点との間の画素値の勾配の変化を示すことができる、決定モジュールと、
各前記画像領域について、前記画像領域の初期境界上の各画素点に基づいて、複数の目標点を特定するための特定モジュールと、
各前記画像領域に基づいて特定された各目標点について、前記勾配ベクトル場に基づいて、当該目標点を起点とする分割最適経路を決定するための経路最適化モジュールと、
決定された分割最適経路に基づいて、前記オリジナル画像を分割するための分割モジュールと、を含む、
ことを特徴とする画像分割装置。
【請求項9】
コンピュータプログラムを記憶しているコンピュータ可読記憶媒体であって、前記コンピュータプログラムがプロセッサによって実行されると、請求項1~7のいずれか1項に記載の方法が実施される、
ことを特徴とするコンピュータ可読記憶媒体。
【請求項10】
メモリと、プロセッサと、前記メモリに記憶され、前記プロセッサ上で実行可能なコンピュータプログラムとを含む電子デバイスであって、前記プロセッサが前記コンピュータプログラムを実行すると、請求項1~7のいずれか1項に記載の方法を実施する、
ことを特徴とする電子デバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理技術分野に関し、特に、画像分割方法、装置、デバイスおよび記憶媒体に関する。
【背景技術】
【0002】
人工知能技術の発展に伴い、画像分割操作は徐々に広く注目されるようになり、画像処理の重要な一分野となった。画像分割操作とは、画像をある特徴に従って互いに重ならない複数の領域に分割し、その中から関心のある目標領域を抽出する操作である。
【0003】
現在、一般的に使用されている分割方法は、過分割(Over-Segmentation)や分割不足(Under-Segmentation)に悩まされており、画像分割の効果が低いため、画像認識などの後続タスクに画像分割の結果を直接適用することができない。
【0004】
そのため、画像分割の精度をいかに向上させるかが喫緊の課題となっている。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明は従来技術の上記問題を解決するための画像分割方法、装置、デバイスおよび記憶媒体を提供する。
【課題を解決するための手段】
【0006】
本発明に用いられる技術的解決手段は、以下のとおりである。
【0007】
本発明は画像分割方法を提供し、前記方法は、
オリジナル画像を取得するステップと、
前記オリジナル画像を前分割し、複数の画像領域を含む初期分割画像を得るステップと、
前記オリジナル画像における各画素点に対応する勾配ベクトルに基づいて、前記オリジナル画像に対応する勾配ベクトル場を決定するステップであって、各画素点について、前記勾配ベクトル場は当該画素点と当該画素点に対応する指定画素点との間の画素値の勾配の変化を示すことができる、ステップと、
各前記画像領域について、前記画像領域の初期境界上の各画素点に基づいて、複数の目標点を特定するステップと、
各前記画像領域に基づいて特定された各目標点について、前記勾配ベクトル場に基づいて、当該目標点を起点とする分割最適経路を決定するステップと、
決定された分割最適経路に基づいて、前記オリジナル画像を分割するステップと、を含む。
【0008】
オプションで、前記画像領域の初期境界上の各画素点に基づいて、複数の目標点を特定するステップは、具体的に、
前記画像領域の初期境界上の各画素点に基づいて、初期画素点集合を決定するステップと、
前記初期画素点集合に含まれる各画素点について、
前記オリジナル画像から、当該画素点に対応する画素点を候補目標点として決定し、
当該候補目標点の点特徴を決定するステップであって、前記点特徴はHarrisコーナー特徴、Sift特徴、Brisk特徴、傾き、曲率のうち少なくとも1つを含むステップと、
前記初期画素点集合に対応する複数の前記候補目標点の点特徴に基づいて、複数の目標点を特定するステップと、を含む。
【0009】
オプションで、各前記画像領域に基づいて特定された各目標点について、前記勾配ベクトル場に基づいて、当該目標点を起点とする分割最適経路を決定するステップは、具体的に、
初期分割画像に含まれる参考画素点および補足画素点に基づいて、前記初期分割画像に対応する行列において、各画素点に対応する値を決定するステップと、
前記初期分割画像に対応する行列および前記勾配ベクトル場に基づいて、勾配分割画像を決定するステップと、
各目標点について、前記勾配分割画像に基づいて、当該目標点を起点とする分割最適経路を決定するステップと、を含み、
前記参考画素点は、各前記画像領域の初期境界上の画素点であり、
前記補足画素点は、前記初期分割画像における、前記参考画素点の近傍にある画素点である。
【0010】
オプションで、各前記画像領域に基づいて特定された各目標点について、前記勾配ベクトル場に基づいて、当該目標点を起点とする分割最適経路を決定するステップは、具体的に、
各目標点の前記初期分割画像における位置に基づいて、前記各目標点をソートするステップと、
ソートされた各目標点について、当該目標点と当該目標点の次の目標点とを目標点セットとし、当該目標点を前記目標点セットの起点とし、当該目標点の次の目標点を前記目標点セットの終点とするステップと、
各目標点セットについて、前記勾配ベクトル場に基づいて、当該目標点セットの起点から当該目標点セットの終点までの分割最適経路を、当該目標点セットに対応する分割最適経路として決定するステップと、を含む。
【0011】
オプションで、前記勾配ベクトル場に基づいて、当該目標点セットの起点から当該目標点セットの終点までの分割最適経路を決定するステップは、具体的に、
前記起点を親経路点とするステップと、
前記親経路点と前記勾配ベクトル場とに基づいて、複数の候補経路点から最適経路点を決定するステップであって、前記複数の候補経路点は前記親経路点の近傍画素点であるステップと、
前記最適経路点が前記終点でない場合、前記最適経路点を新たな前記親経路点とし、最適経路点を決定するステップを繰り返し、
前記最適経路点が前記終点である場合、決定されたすべての最適経路点に基づいて、当該目標点セットの起点から当該目標点セットの終点までの分割最適経路を決定するステップと、を含む。
【0012】
オプションで、前記親経路点と前記勾配ベクトル場とに基づいて、複数の候補経路点から最適経路点を決定するステップは、具体的に、
前記勾配ベクトル場に基づいて、前記親経路点から各前記候補経路点までの経路に対応する損失値を、当該候補経路点に対応する損失値として決定するステップと、
前記損失値が最小となる候補経路点を前記最適経路点とするステップと、を含む。
【0013】
オプションで、前記親経路点と前記勾配ベクトル場とに基づいて、複数の候補経路点から最適経路点を決定するステップは、具体的に、
各前記候補経路点から前記終点までの距離と、前記勾配ベクトル場とに基づいて、各前記候補経路点に対応する損失値を決定するステップと、
前記損失値が最小となる候補経路点を前記最適経路点とするステップと、を含む。
【0014】
本発明はさらに画像分割装置を提供し、前記装置は、
オリジナル画像を取得するための取得モジュールと、
前記オリジナル画像を前分割し、複数の画像領域を含む初期分割画像を得るための前分割モジュールと、
前記オリジナル画像における各画素点に対応する勾配ベクトルに基づいて、前記オリジナル画像に対応する勾配ベクトル場を決定するための決定モジュールであって、各画素点について、前記勾配ベクトル場は当該画素点と当該画素点に対応する指定画素点との間の画素値の勾配の変化を示すことができる、決定モジュールと、
各前記画像領域について、前記画像領域の初期境界上の各画素点に基づいて、複数の目標点を特定するための特定モジュールと、
各前記画像領域に基づいて特定された各目標点について、前記勾配ベクトル場に基づいて、当該目標点を起点とする分割最適経路を決定するための経路最適化モジュールと、
決定された分割最適経路に基づいて、前記オリジナル画像を分割するための分割モジュールと、を含む。
【0015】
オプションで、前記特定モジュールは、具体的に、
前記画像領域の初期境界上の各画素点に基づいて、初期画素点集合を決定し、
前記初期画素点集合に含まれる各画素点について、
前記オリジナル画像から、当該画素点に対応する画素点を候補目標点として決定し、
当該候補目標点の点特徴を決定し、前記点特徴はHarrisコーナー特徴、Sift特徴、Brisk特徴、傾き、曲率のうち少なくとも1つを含み、
前記初期画素点集合に対応する複数の前記候補目標点の点特徴に基づいて、複数の目標点を特定するために用いられる。
【0016】
オプションで、前記経路最適化モジュールは、具体的に、
初期分割画像に含まれる参考画素点および補足画素点に基づいて、前記初期分割画像に対応する行列において、各画素点に対応する値を決定し、
前記初期分割画像に対応する行列および前記勾配ベクトル場に基づいて、勾配分割画像を決定し、
各目標点について、前記勾配分割画像に基づいて、当該目標点を起点とする分割最適経路を決定するために用いられ、
前記参考画素点は、各前記画像領域の初期境界上の画素点であり、
前記補足画素点は、前記初期分割画像における、前記参考画素点の近傍にある画素点である。
【0017】
オプションで、前記経路最適化モジュールは、具体的に、
各目標点の前記初期分割画像における位置に基づいて、前記各目標点をソートし、
ソートされた各目標点について、当該目標点と当該目標点の次の目標点とを目標点セットとし、当該目標点を前記目標点セットの起点とし、当該目標点の次の目標点を前記目標点セットの終点とし、
各目標点セットについて、前記勾配ベクトル場に基づいて、当該目標点セットの起点から当該目標点セットの終点までの分割最適経路を、当該目標点セットに対応する分割最適経路として決定するために用いられる。
【0018】
オプションで、前記経路最適化モジュールは、具体的に、
前記起点を親経路点とし、
前記親経路点と前記勾配ベクトル場とに基づいて、複数の候補経路点から最適経路点を決定し、前記複数の候補経路点は前記親経路点の近傍画素点であり、
前記最適経路点が前記終点でない場合、前記最適経路点を新たな前記親経路点とし、最適経路点を決定するステップを繰り返し、
前記最適経路点が前記終点である場合、決定されたすべての最適経路点に基づいて、当該目標点セットの起点から当該目標点セットの終点までの分割最適経路を決定するために用いられる。
【0019】
オプションで、前記経路最適化モジュールは、具体的に、
前記勾配ベクトル場に基づいて、前記親経路点から各前記候補経路点までの経路に対応する損失値を、当該候補経路点に対応する損失値として決定し、
前記損失値が最小となる候補経路点を前記最適経路点とするために用いられる。
【0020】
オプションで、前記経路最適化モジュールは、具体的に、
各前記候補経路点から前記終点までの距離と、前記勾配ベクトル場とに基づいて、各前記候補経路点に対応する損失値を決定し、
前記損失値が最小となる候補経路点を前記最適経路点とするために用いられる。
【0021】
本発明はさらにコンピュータ可読記憶媒体を提供し、前記コンピュータ可読記憶媒体はコンピュータプログラムを記憶しており、前記コンピュータプログラムがプロセッサによって実行されると、上記画像分割方法が実施される。
【0022】
本発明はさらに電子デバイスを提供し、前記電子デバイスは、メモリと、プロセッサと、前記メモリに記憶され、前記プロセッサ上で実行可能なコンピュータプログラムとを含み、前記プロセッサが前記コンピュータプログラムを実行すると、上記画像分割方法を実施する。
【発明の効果】
【0023】
本発明で用いられる上記技術的解決手段の少なくとも1つは、以下の有益な効果を達成することができる。
【0024】
本発明により提供される画像分割方法は、まずオリジナル画像を取得し、前記オリジナル画像を前分割し、複数の画像領域を含む初期分割画像を得、前記オリジナル画像における各画素点に対応する勾配ベクトルに基づいて、前記オリジナル画像に対応する勾配ベクトル場を決定し、各画素点について、前記勾配ベクトル場は当該画素点と当該画素点に対応する指定画素点との間の画素値の勾配の変化を示すことができ、各前記画像領域について、前記画像領域の初期境界上の各画素点に基づいて、複数の目標点を特定し、各前記画像領域に基づいて特定された各目標点について、前記勾配ベクトル場に基づいて、当該目標点を起点とする分割最適経路を決定し、決定された分割最適経路に基づいて、前記オリジナル画像を分割する。
【0025】
上記方法から分かるように、粗い分割によって得られた初期分割画像を基に、勾配ベクトルの、オリジナル画像における各画素点に対応する勾配の変化に基づいて、経路最適化によってオリジナル画像を細かく分割することができ、画像分割の精度を向上させることができる。
【図面の簡単な説明】
【0026】
ここで説明される添付図面は、本発明の理解を深めるために用いられ、本発明の一部を構成し、本発明の例示的な実施形態およびその説明は、本発明を説明するために用いられ、本発明の不当な限定を構成するものではない。
【
図1】本発明にて提供される画像分割方法のフローを示す概略図である。
【
図2】本発明にて提供されるヒストグラム均等化法のプロセスを示す概略図である。
【
図3】本発明にて提供されるオリジナル画像を分割するプロセスを示す概略図である。
【
図4】本発明にて提供される画像分割装置を示す概略図である。
【
図5】本発明にて提供される電子デバイスを示す概略図である。
【発明を実施するための形態】
【0027】
本発明の目的、技術的解決手段および利点をより明確にするために、以下、本発明の特定の実施形態および対応する添付図面と併せて、本発明の技術的解決手段を明確かつ完全に説明する。明らかに、説明された実施形態は、本発明の実施形態の一部に過ぎず、そのすべてではない。本発明の実施形態に基づいて、当業者が創作的な労力を要することなく得られる他のすべての実施形態は、本発明の保護範囲に属する。
【0028】
以下、添付図面と併せて、本発明の各実施形態にて提供される技術的解決手段を詳細に説明する。
【0029】
図1は本発明にて提供される画像分割方法のフローを示す概略図であり、ステップS101~S106を含んでもよい。
【0030】
S101において、オリジナル画像を取得する。
【0031】
S102において、前記オリジナル画像を前分割し、複数の画像領域を含む初期分割画像を得る。
【0032】
本発明において、画像分割方法を実行するための実行主体は、サーバ、コンピュータ、携帯電話などの固定的なデバイスであってもよいし、無人車両、ドローン等の無人的なデバイスであってもよい。以下、説明の便宜上、実行主体としてサーバのみを例に、本発明にて提供される画像分割方法について説明する。
【0033】
本発明では、サーバは、初期分割画像に基づいてオリジナル画像を細かく分割することができる。その前に、サーバはオリジナル画像を取得し、取得したオリジナル画像を前分割(即ち、粗い分割)して、初期分割画像を得てもよい。ここで、初期分割画像は、オリジナル画像と同じサイズである。
【0034】
ここで、初期分割画像は、閾値処理(Thresholding)分割法、エッジ検出分割法、領域拡張(Region Growing)およびスプリット・マージ(Split and Merge)分割法、クラスタリング分割法、分水嶺(Watershed)分割法、グラフカット(Graph Cut)分割法、動的輪郭モデル(Active Contour Model)に基づく分割法、深層学習分割法などの分割法によって得られた粗い分割画像であってもよい。
【0035】
また、実際の応用シナリオでは、サーバによって取得されたオリジナル画像のコントラストが低く、それによりオリジナル画像の輪郭の境界が明確ではないため、サーバが取得されたオリジナル画像に対して画像強調を行い、強調されたオリジナル画像を得てもよい。
【0036】
ここで、サーバがオリジナル画像に対して画像強調を行う方法は、ヒストグラム均等化法(Histogram Equalization)であってもよく、具体的には、サーバは、オリジナル画像の各画素点に対応する画素値分布を取得し、所定のヒストグラム均等化アルゴリズムによって、
図2に示すように、オリジナル画像の各画素点に対応する画素値分布を均等化してもよい。
【0037】
図2は本発明にて提供されるヒストグラム均等化法のプロセスを示す概略図である。
【0038】
図2において、左側のヒストグラムは、オリジナル画像の各画素点に対応する画素値(即ち0~255)分布、即ち、オリジナル画像に含まれる各画素点のうち、各画素値に対応する画素点の数を示している。例えば、オリジナル画像に画素値が120の画素点が5000個含まれているとすると、左側のヒストグラムは、オリジナル画像に含まれる画素点の画素値がほとんど100~180の間であることを示しているため、オリジナル画像のコントラストは高くない、即ちオリジナル画像の各画像領域の間の違いは明確ではない。
図2の右側のヒストグラムは、強調されたオリジナル画像の各画素点に対応する画素値分布を示しており、右側のヒストグラムから、サーバはヒストグラム均等化アルゴリズムによってオリジナル画像の少なくとも一部の画素点に対応する画素値を調整することができることが分かり、それによりオリジナル画像の画素点に対応する画素値を、0~255の間でできるだけ均等に分布するようにすることで、画像のコントラストと鮮明度を高めることができる。
【0039】
S103において、前記オリジナル画像における各画素点に対応する勾配ベクトルに基づいて、前記オリジナル画像に対応する勾配ベクトル場を決定し、各画素点について、前記勾配ベクトル場は当該画素点と当該画素点に対応する指定画素点との間の画素値の勾配の変化を示すことができる。
【0040】
さらに、サーバはオリジナル画像における各画素点に対応する勾配ベクトルに基づいて、オリジナル画像に対応する勾配ベクトル場を決定してもよく、各画素点について、勾配ベクトル場は当該画素点と当該画素点に対応する指定画素点との間の画素値の勾配の変化を示すことができる。ここでの指定画素点は、当該画素点に隣接する隣接画素点であってもよい。
【0041】
なお、オリジナル画像において、画素点が領域境界に近いほど、対応する勾配ベクトルの勾配の変化が大きく(領域境界上の画素点の画素値は、隣接する画素点の画素値と全く異なる場合があるため、領域境界上の画素点に対応する勾配ベクトルの勾配の変化が大きい)、画像の領域内の平滑部分の画素点に対応する勾配ベクトルの勾配の変化が0に近い。ここでの勾配の変化は、勾配ベクトルの振幅値に基づいて決定してもよく、ある画素点の勾配ベクトルに対応する振幅値が大きいほど、この画素点の勾配ベクトルに対応する勾配の変化が大きい。
【0042】
ここで、サーバは、最小化エネルギー関数で、勾配ベクトル場を決定してもよい。具体的に、以下の式を参照してもよい。
【数1】
【0043】
上記の式において、
【数2】
は、オリジナル画像の勾配ベクトルに対応するベクトル場がゆっくりと変化するようにすることができる平滑化アイテムであり、
【数3】
は、オリジナル画像の勾配ベクトルに対応するベクトル場が、画像データから計算された∇fにできるだけ近いようにすることができるデータアイテムである。|∇f|が小さい場合、エネルギーは主に平滑化アイテムによって制御され、オリジナル画像の勾配ベクトルに対応するベクトル場における勾配ベクトルをより滑らかに変化させることができる。|∇f|が大きい場合、エネルギーは主にデータアイテムによって制御され、全体のエネルギーは、V(x,y)≒∇fを取ることで最小化できる。
【0044】
従って、上記の最小化エネルギー関数を、次のオイラー方程式に変換してもよい。
【数4】
【0045】
上記の方程式において、∇2はラプラス(Laplace)の演算子であり、これにより上記のオイラー方程式が変分反復によって解かれ、オリジナル画像の勾配ベクトル場が計算できる。
【0046】
S104において、各前記画像領域について、前記画像領域の初期境界上の各画素点に基づいて、複数の目標点を特定する。
【0047】
本発明において、サーバは各画像領域について、画像領域の初期境界上の各画素点に基づいて、初期画素点集合を決定してもよい。次に、初期画素点集合に含まれる各画素点について、オリジナル画像から、当該画素点に対応する画素点を候補目標点として決定し、当該候補目標点の点特徴を決定し、初期画素点集合に対応する複数の候補目標点の点特徴に基づいて、複数の目標点を特定することができる。ここでの点特徴はHarrisコーナー特徴、Sift特徴、Brisk特徴、傾き、曲率のうち少なくとも1つを含んでもよい。
【0048】
ここで、サーバが初期画素点集合に対応する複数の候補目標点の点特徴に基づいて、複数の目標点を特定する方法は、各候補目標点について、当該候補目標点の各点特徴が所定の条件値を満たすか否かを判断することであってもよい。ここでの点特徴が所定の条件値を満たすことは、傾きが所定の閾値を満たすことや、曲率が所定の閾値を満たすことなどであってもよい。
【0049】
なお、初期分割画像は、二値化された画像であってもよく、即ち、初期分割画像は行列の形式である。初期分割画像に対応する行列において、目標領域に属する画素点に対応する値は1であり、目標領域に属さない画素点に対応する値は0である。従って、上記において、目標点を特定する際に、初期分割画像における各画像領域の初期境界上の各画素点に対応する座標値を指定されたアルゴリズムによって決定することにより、オリジナル画像から、初期分割画像における各画像領域の初期境界上の画素点に対応する座標値に対応する画素点を特定することができる。ここでの指定されたアルゴリズムは、OpenCVの輪郭検出(findContours)アルゴリズムであってもよい。
【0050】
S105において、各前記画像領域に基づいて特定された各目標点について、前記勾配ベクトル場に基づいて、当該目標点を起点とする分割最適経路を決定する。
【0051】
サーバが各画像領域に基づいて特定された各目標点について、勾配ベクトル場に基づいて、当該目標点を起点とする分割最適経路を決定する前に、サーバはさらに初期分割画像に含まれる各画像領域の初期境界上の画素点を参考画素点とし、各参考画素点について、初期分割画像における、当該参考画素点の近傍にある画素点を、当該参考画素点に対応する補足画素点としてもよい。
【0052】
さらに、サーバは、初期分割画像に含まれる参考画素点および補足画素点に基づいて、初期分割画像に対応する行列において、各画素点に対応する値を決定し、初期分割画像に対応する行列および勾配ベクトル場に基づいて、勾配分割画像を決定してもよく、次に、各目標点について、勾配分割画像に基づいて、当該目標点を起点とする分割最適経路を決定することができる。
【0053】
本発明において、ある画素点の近傍にある画素点は、当該画素点の指定領域内に位置する画素点であってもよい。ここでの指定領域は、8近傍や16近傍などであってもよい。
【0054】
上記の8近傍の画素点は、当該画素点の、左に隣接する画素点、右に隣接する画素点、下に隣接する画素点、上に隣接する画素点、左上に隣接する画素点、右上に隣接する画素点、左下に隣接する画素点、右下に隣接する画素点の8つの画素点であってもよい。
【0055】
さらに、サーバは、参考画素点および補足画素点に基づいて、初期分割画像に対応する行列における各画素点に対応する値を調整してもよい。例えば、参考画素点および補足画素点に対応する値を1に調整し、他の画素点に対応する値を255に調整してもよい。
【0056】
さらに、サーバは、初期分割画像に対応する行列および勾配ベクトル場に基づいて、勾配分割画像を決定し、各目標点について、勾配分割画像に基づいて、当該目標点を起点とする分割最適経路を決定してもよい。
【0057】
ここで、勾配分割画像は、初期分割画像における各画素点について、初期分割画像に対応する行列における当該画素点に対応する値に、勾配ベクトル場における当該画素点に対応する振幅値を乗算することで得られる。
【0058】
上記において、勾配分割画像を決定する理由は、その後に分割最適経路を決定する際に、各画素点に対応する損失値を計算することで分割最適経路を決定することができるためである。このとき、初期分割画像に対応する行列における参考画素点および補足画素点の値が1に調整されたため、乗算すると、勾配分割画像における参考画素点および補足画素点の値は、勾配ベクトル場における参考画素点および補足画素点に対応する振幅値となる。初期分割画像に対応する行列における他の画素点の値が255に調整されたため、このとき、勾配分割画像における他の画素点の値は、勾配ベクトル場における他の画素点に対応する振幅値の255倍となる。その後に損失値を計算する際に、勾配分割画像における各画素点に対応する値が大きいほど損失が大きくなり、その結果、上記の他の画素点が分割最適経路から除外される。
【0059】
さらに、サーバが勾配分割画像を決定した後、各目標点の前記初期分割画像における位置に基づいて、前記各目標点をソートしてもよい。ここでのソート方法は、実際のニーズに応じて設定してもよく、例えば、初期分割画像における各画像領域の初期境界の時計回り方向にソートしてもよい。画像領域が人物であるとすると、人物の頭上領域の境界に属する目標点から、人物の左顔領域の境界に対応する画素点、人物の左首領域の境界に対応する画素点、人物の左肩領域の境界に対応する画素点、......の順に、人物の頭上領域の境界に戻るまで、目標点をソートしてもよい。
【0060】
さらに、サーバが各目標点をソートした後、ソートされた各目標点について、当該目標点と当該目標点の次の目標点とを目標点セットとしてもよく、ここで、当該目標点を目標点セットの起点とし、当該目標点の次の目標点を目標点セットの終点とする。各目標点セットについて、勾配ベクトル場に基づいて、当該目標点セットの起点から当該目標点セットの終点までの分割最適経路を、当該目標点セットに対応する分割最適経路として決定する。
【0061】
例えば、A、B、C、D、Eの5つの目標点があるとすると、(A、B)、(B、C)、(C、D)、(D、E)、(E、A)の5つの目標点セットが得られる。1つ目の目標点セット(A、B)を例にとると、目標点Aが当該目標点セットの起点であり、目標点Bが当該目標点セットの終点である。経路クエリアルゴリズムによって、目標点Aから目標点Bまでの分割最適経路を、当該目標点セットに対応する分割最適経路として決定してもよく、次に、各目標点セットに対応する分割最適経路に基づいて、オリジナル画像を分割することができる。
【0062】
さらに、サーバは、各目標点セットについて、勾配ベクトル場に基づいて、当該目標点セットの起点から当該目標点セットの終点までの分割最適経路を、当該目標点セットに対応する分割最適経路として決定してもよい。
【0063】
ここで、サーバは、各目標点について、複数回の経路クエリによって、当該目標点(即ち起点)から次の目標点(即ち終点)までの分割最適経路を決定してもよい。
【0064】
具体的に、サーバは、前記起点を親経路点とし、前記親経路点と前記勾配ベクトル場とに基づいて、複数の候補経路点から最適経路点を決定し、前記複数の候補経路点は前記親経路点の近傍画素点であり、前記最適経路点が前記終点でない場合、前記最適経路点を新たな前記親経路点とし、最適経路点を決定するステップを繰り返し、前記最適経路点が前記終点である場合、決定されたすべての最適経路点に基づいて、当該目標点セットの起点から当該目標点セットの終点までの分割最適経路を決定してもよい。
【0065】
サーバは、各回の経路クエリについて、当該回の経路クエリの親経路点と、当該回の経路クエリの各候補経路点とを決定し、各候補経路点に終点が含まれているか否かを決定し、含まれていない場合、勾配分割画像に基づいて親経路点から各候補経路点までの経路に対応する損失値を、当該候補経路点に対応する損失値として決定し、対応する損失値が最小となる候補経路点を、当該回の経路クエリにおいて決定される最適経路点としてもよい。
【0066】
サーバは、各回の経路クエリにおいて、当該回の経路クエリの親経路点の近傍画素点を候補経路点集合に追加し、得られた候補経路点集合に含まれる各候補経路点を、当該回の経路クエリの各候補経路点とすることができる。さらに、サーバは、各回の経路クエリにおいて最適経路点が決定された後、当該回の経路クエリにおいて決定された最適経路点を経路候補点集合から削除してもよい。
【0067】
上記において、サーバが各候補経路点について、当該候補経路点に対応する損失値は、勾配分割画像における当該候補経路点に対応する値と、当該候補経路点から終点までの距離との少なくとも1つによって決定される。
【0068】
好ましくは、サーバが勾配分割画像における当該候補経路点に対応する値と、当該候補経路点から終点までの距離の両方に基づいて当該候補経路点に対応する損失値を決定してもよい。具体的に、以下の式を参照してもよい。
【数5】
【0069】
上記の式において、cf(i)当該候補経路点に対応する損失値であり、cfv(i)は勾配分割画像における当該候補経路点に対応する値であり、cfm(i)は当該候補経路点から終点までの距離であり、wは重みである。
【0070】
ここで、当該候補経路点から終点までの距離は、候補経路点を水平方向および垂直方向に終点まで移動させるのに必要な移動距離であってもよい。例えば、水平方向と垂直方向の1画素点あたりの移動距離を1、対角線方向の移動距離を1.4としてもよい。
【0071】
さらに、サーバが当該回の経路クエリにおける各候補経路点に、終点が含まれていると決定した場合、起点と、終点と、各回の経路クエリにおいて決定された最適経路点とに基づいて、起点から終点までの分割最適経路を、当該目標点セットに対応する分割最適経路として決定してもよい。
【0072】
S106において、決定された分割最適経路に基づいて、前記オリジナル画像を分割する。
【0073】
本発明において、サーバは、各目標点セットに対応する分割最適経路に基づいて、分割曲線を決定してもよく、次に、決定された分割曲線に基づいて、オリジナル画像を分割することができる。
【0074】
ここで、サーバは得られた各目標点セットに対応する分割最適経路を平滑化し、閉曲線を得てもよく、次に、当該閉曲線を、画像を分割するために決定される分割曲線とすることができる。
【0075】
上記の画像の分割は、分割曲線に基づくオリジナル画像の分割であってもよく、分割領域に基づく初期分割画像のさらなる細かい分割であってもよい。
【0076】
上記の内容をさらに詳しく説明するために、上記画像分割方法によってオリジナル画像を分割するフローを、
図3と併せて以下に説明する。
【0077】
図3は、本発明にて提供されるオリジナル画像を分割するプロセスを示す概略図である。
【0078】
図3において、サーバがオリジナル画像およびオリジナル画像に対応する初期分割画像を取得した後、オリジナル画像を強調して、強調されたオリジナル画像を得てもよく、強調されたオリジナル画像に対応する勾配ベクトル場を決定し、初期分割画像から、初期分割画像に含まれる参考画素点および補足画素点を決定してもよい。
【0079】
さらに、サーバは、強調されたオリジナル画像および初期分割画像に含まれる画素点から複数の目標点を特定してもよく、次に、強調されたオリジナル画像に対応する、決定された勾配ベクトル場と、初期分割画像から特定された、初期分割画像に含まれる参考画素点および補足画素点とに基づいて、最適化された勾配ベクトル場を決定することができ、次に、すべての隣接する2つの目標点の間の分割最適経路を決定することができ、それにより、決定された各分割最適経路に基づいて画像を分割することができる。
【0080】
上記から分かるように、サーバは、粗い分割によって得られた初期分割画像を基に、勾配ベクトルの、オリジナル画像における各画素点に対応する勾配の変化に基づいて、経路最適化によってオリジナル画像を細かく分割することができ、画像分割の精度を向上させることができる。
【0081】
以上が、本発明の1つまたは複数の実施形態にて提供される画像分割方法であり、同じ考えに基づいて、本発明はさらに、
図4に示すような、対応する画像分割装置を提供する。
【0082】
図4は本発明により提供される画像分割装置の概略図であり、前記装置は、
オリジナル画像を取得するための取得モジュール401と、
前記オリジナル画像を前分割し、複数の画像領域を含む初期分割画像を得るための前分割モジュール402と、
前記オリジナル画像における各画素点に対応する勾配ベクトルに基づいて、前記オリジナル画像に対応する勾配ベクトル場を決定するための決定モジュール403であって、各画素点について、前記勾配ベクトル場は当該画素点と当該画素点に対応する指定画素点との間の画素値の勾配の変化を示すことができる、決定モジュール403と、
各前記画像領域について、前記画像領域の初期境界上の各画素点に基づいて、複数の目標点を特定するための特定モジュール404と、
各前記画像領域に基づいて特定された各目標点について、前記勾配ベクトル場に基づいて、当該目標点を起点とする分割最適経路を決定するための経路最適化モジュール405と、
決定された分割最適経路に基づいて、前記オリジナル画像を分割するための分割モジュール406と、を含む。
【0083】
オプションで、前記特定モジュール404は、具体的に、
前記画像領域の初期境界上の各画素点に基づいて、初期画素点集合を決定し、
前記初期画素点集合に含まれる各画素点について、
前記オリジナル画像から、当該画素点に対応する画素点を候補目標点として決定し、
当該候補目標点の点特徴を決定し、前記点特徴はHarrisコーナー特徴、Sift特徴、Brisk特徴、傾き、曲率のうち少なくとも1つを含み、
前記初期画素点集合に対応する複数の前記候補目標点の点特徴に基づいて、複数の目標点を特定するために用いられる。
【0084】
オプションで、前記経路最適化モジュール405は、具体的に、
初期分割画像に含まれる参考画素点および補足画素点に基づいて、前記初期分割画像に対応する行列において、各画素点に対応する値を決定し、
前記初期分割画像に対応する行列および前記勾配ベクトル場に基づいて、勾配分割画像を決定し、
各目標点について、前記勾配分割画像に基づいて、当該目標点を起点とする分割最適経路を決定するために用いられ、
前記参考画素点は、各前記画像領域の初期境界上の画素点であり、
前記補足画素点は、前記初期分割画像における、前記参考画素点の近傍にある画素点である。
【0085】
オプションで、前記経路最適化モジュール405は、具体的に、
各目標点の前記初期分割画像における位置に基づいて、前記各目標点をソートし、
ソートされた各目標点について、当該目標点と当該目標点の次の目標点とを目標点セットとし、当該目標点を前記目標点セットの起点とし、当該目標点の次の目標点を前記目標点セットの終点とし、
各目標点セットについて、前記勾配ベクトル場に基づいて、当該目標点セットの起点から当該目標点セットの終点までの分割最適経路を、当該目標点セットに対応する分割最適経路として決定するために用いられる。
【0086】
オプションで、前記経路最適化モジュール405は、具体的に、
前記起点を親経路点とし、
前記親経路点と前記勾配ベクトル場とに基づいて、複数の候補経路点から最適経路点を決定し、前記複数の候補経路点は前記親経路点の近傍画素点であり、
前記最適経路点が前記終点でない場合、前記最適経路点を新たな前記親経路点とし、最適経路点を決定するステップを繰り返し、
前記最適経路点が前記終点である場合、決定されたすべての最適経路点に基づいて、当該目標点セットの起点から当該目標点セットの終点までの分割最適経路を決定するために用いられる。
【0087】
オプションで、前記経路最適化モジュール405は、具体的に、
前記勾配ベクトル場に基づいて、前記親経路点から各前記候補経路点までの経路に対応する損失値を、当該候補経路点に対応する損失値として決定し、
前記損失値が最小となる候補経路点を前記最適経路点とするために用いられる。
【0088】
オプションで、前記経路最適化モジュール405は、具体的に、
各前記候補経路点から前記終点までの距離と、前記勾配ベクトル場とに基づいて、各前記候補経路点に対応する損失値を決定し、
前記損失値が最小となる候補経路点を前記最適経路点とするために用いられる。
【0089】
本発明はさらにコンピュータ可読記憶媒体を提供し、当該コンピュータ可読記憶媒体はコンピュータプログラムを記憶しており、コンピュータプログラムは上記
図1の方法を実行するために用いられる。
【0090】
本発明はさらに、
図5に示す電子デバイスを提供する。
図5に示すように、ハードウェアレベルでは、当該電子デバイスは、プロセッサ、内部バス、ネットワークインタフェース、内部メモリ、および不揮発性メモリを含み、もちろん、他の動作に必要なハードウェアも含み得る。プロセッサは、不揮発性メモリから対応するコンピュータプログラムを内部メモリに読み込んで実行し、上記の
図1で説明した方法を実施する。
【0091】
もちろん、ソフトウェアによる実現の他に、本発明は、論理デバイスやハードウェアとソフトウェアの組み合わせなど、他の実現方式を排除するものではなく、つまり、以下の処理プロセスの実行主体は、各の論理ユニットに限定されず、ハードウェアや論理デバイスであってもよい。
【0092】
1990年代には、ある技術の改良は、ハードウェアの改良(ダイオード、トランジスタ、スイッチなどの回路構造の改良など)とソフトウェアの改良(方法フローの改良)に明確に区別することができる。しかし、技術の発展に伴い、現在の方法フローの改良の多くは、ハードウェア回路構造に対する直接的な改良と見なすことができるようになった。設計者は、改良された方法フローをハードウェア回路にプログラミングすることで、対応するハードウェア回路構造を得ることがほとんどである。従って、方法フローの改良がハードウェア物理モジュールにより実現できないとは言い切れない。例えば、プログラマブルロジックデバイス(Programmable Logic Device、PLD)(例えばフィールドプログラマブルゲートアレイ(Field Programmable Gate Array、FPGA))はこのような集積回路であり、その論理機能がデバイスのユーザーによるプログラミングによって決定される。チップメーカーが専用の集積回路チップを設計・製造する代わりに、設計者がプログラミングしてデジタルシステムを1枚のPLD上に「集積」する。そして、現在では、集積回路チップを手作りする代わりに、このプログラミングは「論理コンパイラ(logic compiler)」というソフトウェアを使って実現されることがほとんどであり、これは、プログラムを書くときに使うソフトウェアコンパイラと類似し、前のオリジナルコードをコンパイルするためには、特定のプログラミング言語で書く必要があり、これはハードウェア記述言語(Hardware Description Language、HDL)と呼ばれ、HDLは1種類だけではなく、ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware Description Language)など、多くの種類があり、現在最もよく使われているのはVHDL(Very-High-Speed Integrated Circuit Hardware Description Language)とVerilogである。方法フローを、上記のハードウェア記述言語のいくつかでちょっと論理的にプログラミングして集積回路にプログラミングするだけで、論理的な方法フローを実現するハードウェア回路は簡単に得られることは、当業者には明らかであろう。
【0093】
コントローラは、任意の適切な方法で実現されてもよく、例えば、コントローラはマイクロプロセッサまたはプロセッサと、当該(マイクロ)プロセッサによって実行可能なコンピュータ可読プログラムコード(例えば、ソフトウェアまたはファームウェア)を記憶するコンピュータ可読記憶媒体と、論理ゲート、スイッチ、特定用途向け集積回路(Application Specific Integrated Circuit、ASIC)、プログラマブルロジックコントローラおよび埋め込みマイクロコントローラの形態を採用してもよく、コントローラの例として、ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20、Silicone Labs C8051F320などのマイクロコントローラを含むが、これらに限定されず、メモリコントローラはさらに、メモリの制御ロジックの一部として実現されることも可能である。また、純粋なコンピュータ可読プログラムコードでコントローラを実現することに加えて、方法ステップを論理的にプログラミングすることで、コントローラに、論理ゲート、スイッチ、特定用途向け集積回路、プログラマブルロジックコントローラおよび埋め込みマイクロコントローラなどの形態で同じ機能を実行させることも完全に可能であることは、当業者には明らかであろう。従って、このようなコントローラを、ハードウェアコンポーネントとみなしてもよく、様々な機能を実現するためのその中に含まれる装置も、ハードウェアコンポーネント内の構造とみなしてもよい。または、さらに、様々な機能を実現するための装置を、方法を実現するソフトウェアモジュールであってもよいし、ハードウェアコンポーネント内の構造であってもよいと、みなしてもよい。
【0094】
上記実施形態で説明したシステム、装置、モジュールまたはユニットは、具体的には、コンピュータチップ、エンティティ、または何らかの機能を有する製品によって実現されてもよい。典型的な実現デバイスはコンピュータである。具体的に、コンピュータは例えば、パーソナルコンピュータ、ラップトップコンピュータ、携帯電話、カメラ付き電話、スマートフォン、パーソナルデジタルアシスタント、メディアプレーヤ、ナビゲーションデバイス、電子メールデバイス、ゲーム機、タブレット、ウェアラブルデバイス、またはこれらのデバイスの任意のいくつかの組み合わせであってもよい。
【0095】
なお、説明の便宜上、上記の装置を説明するときに機能によって様々なユニットに分けてそれぞれ説明する。もちろん、本発明を実施する際に、各ユニットの機能を同一または複数のソフトウェアおよび/またはハードウェアで実現することも可能である。
【0096】
当業者であれば分かるように、本発明の実施形態が、方法、システム、またはコンピュータプログラム製品として提供されてもよい。従って、本発明は、ハードウェアだけからなる実施形態、ソフトウェアだけからなる実施形態、またはソフトウェアとハードウェアを組み合わせた実施形態なる形態を用いてもよい。さらに、本発明は、コンピュータで使用可能なプログラムコードを含む1つまたは複数のコンピュータで使用可能な記憶媒体(磁気ディスクメモリ、CD-ROM、光学メモリなどを含むが、これらに限定されない)において実施されるコンピュータプログラム製品の形態であってもよい。
【0097】
本発明は、本発明の実施形態による方法、デバイス(システム)、およびコンピュータプログラム製品のフローチャートおよび/またはブロック図を参照して説明される。フローチャートおよび/またはブロック図における各フローおよび/またはブロック、並びにフローチャートおよび/またはブロック図におけるフローおよび/またはブロックの組み合わせは、コンピュータプログラム命令によって実現されてもよいことが理解されるべきである。これらのコンピュータプログラム命令は、マシンを生成するために、汎用コンピュータ、専用コンピュータ、埋め込みプロセッサ、または他のプログラム可能なデータ処理デバイスのプロセッサに提供されてもよく、それにより、コンピュータまたは他のプログラム可能なデータ処理デバイスのプロセッサによって実行される命令により、フローチャートの1つまたは複数のフロー、および/またはブロック図の1つまたは複数のブロックにおいて指定される機能を実現するための装置が生成される。
【0098】
これらのコンピュータプログラム命令は、コンピュータまたは他のプログラム可能なデータ処理デバイスに特定の方法で作業するように指示することができるコンピュータ可読メモリに記憶されてもよく、その結果、当該コンピュータ可読メモリに記憶されている命令により、フローチャートの1つまたは複数のフローおよび/またはブロック図の1つまたは複数のブロックにおいて指定される機能を実現する命令装置を含む製品が生成される。
【0099】
これらのコンピュータプログラム命令は、コンピュータまたは他のプログラム可能なデータ処理デバイスにロードしてもよく、それにより、一連の動作ステップがコンピュータまたは他のプログラム可能なデバイス上で実行されることで、コンピュータにより実施される処理が生成され、それにより、コンピュータまたは他のプログラム可能なデバイス上で実行される命令により、フローチャートの1つまたは複数のフロー、および/またはブロック図の1つまたは複数のブロック内で指定される機能を実現するためのステップが提供される。
【0100】
典型的な構成では、コンピューティングデバイスは、1つ以上のプロセッサ(CPU)、入力/出力インタフェース、ネットワークインタフェース、およびメモリを含む。
【0101】
メモリは、コンピュータ可読記憶媒体のうちの揮発性メモリ、ランダムアクセスメモリ(RAM)および/または不揮発性メモリなどの形態を含み得、例えば、読み出し専用メモリ(ROM)またはフラッシュメモリ(flash RAM)である。メモリは、コンピュータ可読記憶媒体の一例である。
【0102】
コンピュータ可読記憶媒体は不揮発性および揮発性媒体、移動可能および非移動可能な媒体を含み、任意の方法または技術により情報記憶を実現し得る。情報はコンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータであってもよい。コンピュータの記憶媒体は、相変化メモリ(Phase Change RAM、PRAM)、スタティックランダムアクセスメモリ(Static Random-Access Memory、SRAM)、ダイナミックランダムアクセスメモリ(Dynamic Random Access Memory、DRAM)、他のタイプのランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、電気的消去可能プログラマブル読み出し専用メモリ(Electrically Erasable Programmable Read Only Memory、EEPROM)、フラッシュメモリ(flash Memory)または他のメモリ技術、コンパクトディスク読み出し専用メモリ(Compact Disc Read Only Memory、CD-ROM)、デジタル多用途ディスク(Digital Versatile Disc、DVD)または他の光学記憶、磁気カセットテープ、磁気テープ磁気ディスク記憶または他の磁気記憶デバイス、またはコンピューティングデバイスからアクセス可能な情報を記憶するために使用され得る任意の他の非伝送媒体を含むがそれらに限定されない。本明細書の定義によれば、コンピュータ可読記憶媒体は一時記憶コンピュータ可読記憶媒体(transitory Media)、例えば変調されたデータ信号およびキャリアを含まない。
【0103】
また、用語「含む」、「含有」またはそのいずれかの他の変形は、非排他的な含有を含むことを意図し、それにより一連の要素を含むプロセス、方法、物品またはデバイスはそれらの要素を含むだけでなく、また明確に列挙されていない他の要素も含み、またはこのようなプロセス、方法、物品またはデバイスの固有の要素も含む。より多くの制限がない場合、文「1つの…を含む」により限定された要素は、前記要素を含むプロセス、方法、物品またはデバイスにさらに他の同じ要素が存在することを排除するものではない。
【0104】
当業者であれば分かるように、本発明の実施形態が、方法、システム、またはコンピュータプログラム製品として提供されてもよい。従って、本発明は、ハードウェアだけからなる実施形態、ソフトウェアだけからなる実施形態、またはソフトウェアとハードウェアを組み合わせた実施形態なる形態を用いてもよい。さらに、本発明は、コンピュータで使用可能なプログラムコードを含む1つまたは複数のコンピュータで使用可能な記憶媒体(磁気ディスクメモリ、CD-ROM、光学メモリなどを含むが、これらに限定されない)において実施されるコンピュータプログラム製品の形態であってもよい。
【0105】
本発明は、プログラムモジュールのようなコンピュータによって実行されるコンピュータ実行可能命令の一般的な文脈で記述され得る。一般的に、プログラムモジュールは、特定のタスクを実行する、または特定の抽象データ型を実現するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。本発明は、通信ネットワークを介して接続されたリモート処理デバイスによってタスクが実行される分散コンピューティング環境においても実施され得る。分散コンピューティング環境において、プログラムモジュールは、記憶デバイスを含むローカルおよびリモートコンピュータ記憶媒体に配置され得る。
【0106】
本発明における各実施形態はいずれも漸進の方式で説明され、各実施形態の間の同じまたは類似する部分は互いに参照すればよく、各実施形態の重点的に説明されたのは他の実施形態との相違点である。特に、システムの実施形態に対して、それは基本的に方法の実施形態と類似するため、簡単に説明し、関連する部分は方法の実施形態の一部の説明を参照すればよい。
【0107】
上記は、本発明の実施形態にすぎず、本発明を限定するために使用されるものではない。当業者にとって、本発明は、様々な変更および変化があり得る。本発明の趣旨と原理から逸脱せず行った任意の修正、同等な置換、改善など、いずれも本発明の特許請求の範囲に含まれるものとするべきである。
【手続補正書】
【提出日】2023-12-27
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
オリジナル画像を取得するステップと、
前記オリジナル画像を前分割し、複数の画像領域を含む初期分割画像を得るステップと、
前記オリジナル画像における各画素点に対応する勾配ベクトルに基づいて、前記オリジナル画像に対応する勾配ベクトル場を決定するステップであって、各画素点について、前記勾配ベクトル場は当該画素点と当該画素点に対応する指定画素点との間の画素値の勾配の変化を示すことができる、ステップと、
各前記画像領域について、前記画像領域の初期境界上の各画素点に基づいて、複数の目標点を特定するステップと、
各前記画像領域に基づいて特定された各目標点について、前記勾配ベクトル場に基づいて、当該目標点を起点とする分割最適経路を決定するステップと、
決定された分割最適経路に基づいて、前記オリジナル画像を分割するステップと、を含み、
各前記画像領域に基づいて特定された各目標点について、前記勾配ベクトル場に基づいて、当該目標点を起点とする分割最適経路を決定するステップは、
各目標点の前記初期分割画像における位置に基づいて、前記各目標点をソートするステップと、
ソートされた各目標点について、当該目標点と当該目標点の次の目標点とを目標点セットとし、当該目標点を前記目標点セットの起点とし、当該目標点の次の目標点を前記目標点セットの終点とするステップと、
各目標点セットについて、前記勾配ベクトル場に基づいて、当該目標点セットの起点から当該目標点セットの終点までの分割最適経路を、当該目標点セットに対応する分割最適経路として決定するステップと、を含み、
前記勾配ベクトル場に基づいて、当該目標点セットの起点から当該目標点セットの終点までの分割最適経路を決定するステップは、
前記起点を親経路点とするステップと、
前記親経路点と前記勾配ベクトル場とに基づいて、複数の候補経路点から最適経路点を決定するステップであって、前記複数の候補経路点は前記親経路点の近傍画素点であるステップと、
前記最適経路点が前記終点でない場合、前記最適経路点を新たな前記親経路点とし、最適経路点を決定するステップを繰り返し、
前記最適経路点が前記終点である場合、決定されたすべての最適経路点に基づいて、当該目標点セットの起点から当該目標点セットの終点までの分割最適経路を決定するステップと、を含み、
前記親経路点と前記勾配ベクトル場とに基づいて、複数の候補経路点から最適経路点を決定するステップは、
各前記候補経路点から前記終点までの距離と、前記勾配ベクトル場とに基づいて、各前記候補経路点に対応する損失値を決定するステップと、
前記損失値が最小となる候補経路点を前記最適経路点とするステップと、を含む、
ことを特徴とする画像分割方法。
【請求項2】
前記画像領域の初期境界上の各画素点に基づいて、複数の目標点を特定するステップは、
前記画像領域の初期境界上の各画素点に基づいて、初期画素点集合を決定するステップと、
前記初期画素点集合に含まれる各画素点について、
前記オリジナル画像から、当該画素点に対応する画素点を候補目標点として決定し、
当該候補目標点の点特徴を決定するステップであって、前記点特徴はHarrisコーナー特徴、Sift特徴、Brisk特徴、傾き、曲率のうち少なくとも1つを含むステップと、
前記初期画素点集合に対応する複数の前記候補目標点の点特徴に基づいて、複数の目標点を特定するステップと、を含む、
ことを特徴とする請求項1に記載の方法。
【請求項3】
オリジナル画像を取得するための取得モジュールと、
前記オリジナル画像を前分割し、複数の画像領域を含む初期分割画像を得るための前分割モジュールと、
前記オリジナル画像における各画素点に対応する勾配ベクトルに基づいて、前記オリジナル画像に対応する勾配ベクトル場を決定するための決定モジュールであって、各画素点について、前記勾配ベクトル場は当該画素点と当該画素点に対応する指定画素点との間の画素値の勾配の変化を示すことができる、決定モジュールと、
各前記画像領域について、前記画像領域の初期境界上の各画素点に基づいて、複数の目標点を特定するための特定モジュールと、
各前記画像領域に基づいて特定された各目標点について、前記勾配ベクトル場に基づいて、当該目標点を起点とする分割最適経路を決定するための経路最適化モジュールと、
決定された分割最適経路に基づいて、前記オリジナル画像を分割するための分割モジュールと、を含み、
前記経路最適化モジュールは、具体的に、
各目標点の前記初期分割画像における位置に基づいて、前記各目標点をソートし、
ソートされた各目標点について、当該目標点と当該目標点の次の目標点とを目標点セットとし、当該目標点を前記目標点セットの起点とし、当該目標点の次の目標点を前記目標点セットの終点とし、
各目標点セットについて、前記勾配ベクトル場に基づいて、当該目標点セットの起点から当該目標点セットの終点までの分割最適経路を、当該目標点セットに対応する分割最適経路として決定するために用いられ、
前記経路最適化モジュールは、さらに、
前記起点を親経路点とし、
前記親経路点と前記勾配ベクトル場とに基づいて、複数の候補経路点から最適経路点を決定し、前記複数の候補経路点は前記親経路点の近傍画素点であり、
前記最適経路点が前記終点でない場合、前記最適経路点を新たな前記親経路点とし、最適経路点を決定するステップを繰り返し、
前記最適経路点が前記終点である場合、決定されたすべての最適経路点に基づいて、当該目標点セットの起点から当該目標点セットの終点までの分割最適経路を決定するために用いられ、
前記経路最適化モジュールは、さらに、
各前記候補経路点から前記終点までの距離と、前記勾配ベクトル場とに基づいて、各前記候補経路点に対応する損失値を決定し、
前記損失値が最小となる候補経路点を前記最適経路点とするために用いられる、
ことを特徴とする画像分割装置。
【請求項4】
コンピュータプログラムを記憶しているコンピュータ可読記憶媒体であって、前記コンピュータプログラムがプロセッサによって実行されると、請求項1~2のいずれか1項に記載の方法が実施される、
ことを特徴とするコンピュータ可読記憶媒体。
【請求項5】
メモリと、プロセッサと、前記メモリに記憶され、前記プロセッサ上で実行可能なコンピュータプログラムとを含む電子デバイスであって、前記プロセッサが前記コンピュータプログラムを実行すると、請求項1~2のいずれか1項に記載の方法を実施する、
ことを特徴とする電子デバイス。
【手続補正書】
【提出日】2024-07-12
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理技術分野に関し、特に、画像分割方法、装置、デバイスおよび記憶媒体に関する。
【背景技術】
【0002】
人工知能技術の発展に伴い、画像分割操作は徐々に広く注目されるようになり、画像処理の重要な一分野となった。画像分割操作とは、画像をある特徴に従って互いに重ならない複数の領域に分割し、その中から関心のある目標領域を抽出する操作である。
【0003】
現在、一般的に使用されている分割方法は、過分割(Over-Segmentation)や分割不足(Under-Segmentation)に悩まされており、画像分割の効果が低いため、画像認識などの後続タスクに画像分割の結果を直接適用することができない。
【0004】
そのため、画像分割の精度をいかに向上させるかが喫緊の課題となっている。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明は従来技術の上記問題を解決するための画像分割方法、装置、デバイスおよび記憶媒体を提供する。
【課題を解決するための手段】
【0006】
本発明に用いられる技術的解決手段は、以下のとおりである。
【0007】
本発明は画像分割方法を提供し、前記方法は、
オリジナル画像を取得するステップと、
前記オリジナル画像を前分割し、複数の画像領域を含む初期分割画像を得るステップと、
前記オリジナル画像における各画素点に対応する勾配ベクトルに基づいて、前記オリジナル画像に対応する勾配ベクトル場を決定するステップであって、各画素点について、前記勾配ベクトル場は当該画素点と当該画素点に対応する指定画素点との間の画素値の勾配の変化を示すことができる、ステップと、
各前記画像領域について、前記画像領域の初期境界上の各画素点に基づいて、複数の目標点を特定するステップと、
各前記画像領域に基づいて特定された各目標点について、前記勾配ベクトル場に基づいて、当該目標点を起点とする分割最適経路を決定するステップと、
決定された分割最適経路に基づいて、前記オリジナル画像を分割するステップと、を含む。
【0008】
オプションで、前記画像領域の初期境界上の各画素点に基づいて、複数の目標点を特定するステップは、具体的に、
前記画像領域の初期境界上の各画素点に基づいて、初期画素点集合を決定するステップと、
前記初期画素点集合に含まれる各画素点について、
前記オリジナル画像から、当該画素点に対応する画素点を候補目標点として決定し、
当該候補目標点の点特徴を決定するステップであって、前記点特徴はHarrisコーナー特徴、Sift特徴、Brisk特徴、傾き、曲率のうち少なくとも1つを含むステップと、
前記初期画素点集合に対応する複数の前記候補目標点の点特徴に基づいて、複数の目標点を特定するステップと、を含む。
【0009】
オプションで、各前記画像領域に基づいて特定された各目標点について、前記勾配ベクトル場に基づいて、当該目標点を起点とする分割最適経路を決定するステップは、具体的に、
初期分割画像に含まれる参考画素点および補足画素点に基づいて、前記初期分割画像に対応する行列において、各画素点に対応する値を決定するステップと、
前記初期分割画像に対応する行列および前記勾配ベクトル場に基づいて、勾配分割画像を決定するステップと、
各目標点について、前記勾配分割画像に基づいて、当該目標点を起点とする分割最適経路を決定するステップと、を含み、
前記参考画素点は、各前記画像領域の初期境界上の画素点であり、
前記補足画素点は、前記初期分割画像における、前記参考画素点の近傍にある画素点である。
【0010】
オプションで、各前記画像領域に基づいて特定された各目標点について、前記勾配ベクトル場に基づいて、当該目標点を起点とする分割最適経路を決定するステップは、具体的に、
各目標点の前記初期分割画像における位置に基づいて、前記各目標点をソートするステップと、
ソートされた各目標点について、当該目標点と当該目標点の次の目標点とを目標点セットとし、当該目標点を前記目標点セットの起点とし、当該目標点の次の目標点を前記目標点セットの終点とするステップと、
各目標点セットについて、前記勾配ベクトル場に基づいて、当該目標点セットの起点から当該目標点セットの終点までの分割最適経路を、当該目標点セットに対応する分割最適経路として決定するステップと、を含む。
【0011】
オプションで、前記勾配ベクトル場に基づいて、当該目標点セットの起点から当該目標点セットの終点までの分割最適経路を決定するステップは、具体的に、
前記起点を親経路点とするステップと、
前記親経路点と前記勾配ベクトル場とに基づいて、複数の候補経路点から最適経路点を決定するステップであって、前記複数の候補経路点は前記親経路点の近傍画素点であるステップと、
前記最適経路点が前記終点でない場合、前記最適経路点を新たな前記親経路点とし、最適経路点を決定するステップを繰り返し、
前記最適経路点が前記終点である場合、決定されたすべての最適経路点に基づいて、当該目標点セットの起点から当該目標点セットの終点までの分割最適経路を決定するステップと、を含む。
【0012】
オプションで、前記親経路点と前記勾配ベクトル場とに基づいて、複数の候補経路点から最適経路点を決定するステップは、具体的に、
前記勾配ベクトル場に基づいて、前記親経路点から各前記候補経路点までの経路に対応する損失値を、当該候補経路点に対応する損失値として決定するステップと、
前記損失値が最小となる候補経路点を前記最適経路点とするステップと、を含む。
【0013】
オプションで、前記親経路点と前記勾配ベクトル場とに基づいて、複数の候補経路点から最適経路点を決定するステップは、具体的に、
各前記候補経路点から前記終点までの距離と、前記勾配ベクトル場とに基づいて、各前記候補経路点に対応する損失値を決定するステップと、
前記損失値が最小となる候補経路点を前記最適経路点とするステップと、を含む。
【0014】
本発明はさらに画像分割装置を提供し、前記装置は、
オリジナル画像を取得するための取得モジュールと、
前記オリジナル画像を前分割し、複数の画像領域を含む初期分割画像を得るための前分割モジュールと、
前記オリジナル画像における各画素点に対応する勾配ベクトルに基づいて、前記オリジナル画像に対応する勾配ベクトル場を決定するための決定モジュールであって、各画素点について、前記勾配ベクトル場は当該画素点と当該画素点に対応する指定画素点との間の画素値の勾配の変化を示すことができる、決定モジュールと、
各前記画像領域について、前記画像領域の初期境界上の各画素点に基づいて、複数の目標点を特定するための特定モジュールと、
各前記画像領域に基づいて特定された各目標点について、前記勾配ベクトル場に基づいて、当該目標点を起点とする分割最適経路を決定するための経路最適化モジュールと、
決定された分割最適経路に基づいて、前記オリジナル画像を分割するための分割モジュールと、を含む。
【0015】
オプションで、前記特定モジュールは、具体的に、
前記画像領域の初期境界上の各画素点に基づいて、初期画素点集合を決定し、
前記初期画素点集合に含まれる各画素点について、
前記オリジナル画像から、当該画素点に対応する画素点を候補目標点として決定し、
当該候補目標点の点特徴を決定し、前記点特徴はHarrisコーナー特徴、Sift特徴、Brisk特徴、傾き、曲率のうち少なくとも1つを含み、
前記初期画素点集合に対応する複数の前記候補目標点の点特徴に基づいて、複数の目標点を特定するために用いられる。
【0016】
オプションで、前記経路最適化モジュールは、具体的に、
初期分割画像に含まれる参考画素点および補足画素点に基づいて、前記初期分割画像に対応する行列において、各画素点に対応する値を決定し、
前記初期分割画像に対応する行列および前記勾配ベクトル場に基づいて、勾配分割画像を決定し、
各目標点について、前記勾配分割画像に基づいて、当該目標点を起点とする分割最適経路を決定するために用いられ、
前記参考画素点は、各前記画像領域の初期境界上の画素点であり、
前記補足画素点は、前記初期分割画像における、前記参考画素点の近傍にある画素点である。
【0017】
オプションで、前記経路最適化モジュールは、具体的に、
各目標点の前記初期分割画像における位置に基づいて、前記各目標点をソートし、
ソートされた各目標点について、当該目標点と当該目標点の次の目標点とを目標点セットとし、当該目標点を前記目標点セットの起点とし、当該目標点の次の目標点を前記目標点セットの終点とし、
各目標点セットについて、前記勾配ベクトル場に基づいて、当該目標点セットの起点から当該目標点セットの終点までの分割最適経路を、当該目標点セットに対応する分割最適経路として決定するために用いられる。
【0018】
オプションで、前記経路最適化モジュールは、具体的に、
前記起点を親経路点とし、
前記親経路点と前記勾配ベクトル場とに基づいて、複数の候補経路点から最適経路点を決定し、前記複数の候補経路点は前記親経路点の近傍画素点であり、
前記最適経路点が前記終点でない場合、前記最適経路点を新たな前記親経路点とし、最適経路点を決定するステップを繰り返し、
前記最適経路点が前記終点である場合、決定されたすべての最適経路点に基づいて、当該目標点セットの起点から当該目標点セットの終点までの分割最適経路を決定するために用いられる。
【0019】
オプションで、前記経路最適化モジュールは、具体的に、
前記勾配ベクトル場に基づいて、前記親経路点から各前記候補経路点までの経路に対応する損失値を、当該候補経路点に対応する損失値として決定し、
前記損失値が最小となる候補経路点を前記最適経路点とするために用いられる。
【0020】
オプションで、前記経路最適化モジュールは、具体的に、
各前記候補経路点から前記終点までの距離と、前記勾配ベクトル場とに基づいて、各前記候補経路点に対応する損失値を決定し、
前記損失値が最小となる候補経路点を前記最適経路点とするために用いられる。
【0021】
本発明はさらにコンピュータ可読記憶媒体を提供し、前記コンピュータ可読記憶媒体はコンピュータプログラムを記憶しており、前記コンピュータプログラムがプロセッサによって実行されると、上記画像分割方法が実施される。
【0022】
本発明はさらに電子デバイスを提供し、前記電子デバイスは、メモリと、プロセッサと、前記メモリに記憶され、前記プロセッサ上で実行可能なコンピュータプログラムとを含み、前記プロセッサが前記コンピュータプログラムを実行すると、上記画像分割方法を実施する。
【発明の効果】
【0023】
本発明で用いられる上記技術的解決手段の少なくとも1つは、以下の有益な効果を達成することができる。
【0024】
本発明により提供される画像分割方法は、まずオリジナル画像を取得し、前記オリジナル画像を前分割し、複数の画像領域を含む初期分割画像を得、前記オリジナル画像における各画素点に対応する勾配ベクトルに基づいて、前記オリジナル画像に対応する勾配ベクトル場を決定し、各画素点について、前記勾配ベクトル場は当該画素点と当該画素点に対応する指定画素点との間の画素値の勾配の変化を示すことができ、各前記画像領域について、前記画像領域の初期境界上の各画素点に基づいて、複数の目標点を特定し、各前記画像領域に基づいて特定された各目標点について、前記勾配ベクトル場に基づいて、当該目標点を起点とする分割最適経路を決定し、決定された分割最適経路に基づいて、前記オリジナル画像を分割する。
【0025】
上記方法から分かるように、粗い分割によって得られた初期分割画像を基に、勾配ベクトルの、オリジナル画像における各画素点に対応する勾配の変化に基づいて、経路最適化によってオリジナル画像を細かく分割することができ、画像分割の精度を向上させることができる。
【図面の簡単な説明】
【0026】
ここで説明される添付図面は、本発明の理解を深めるために用いられ、本発明の一部を構成し、本発明の例示的な実施形態およびその説明は、本発明を説明するために用いられ、本発明の不当な限定を構成するものではない。
【
図1】本発明にて提供される画像分割方法のフローを示す概略図である。
【
図2】本発明にて提供されるヒストグラム均等化法のプロセスを示す概略図である。
【
図3】本発明にて提供されるオリジナル画像を分割するプロセスを示す概略図である。
【
図4】本発明にて提供される画像分割装置を示す概略図である。
【
図5】本発明にて提供される電子デバイスを示す概略図である。
【発明を実施するための形態】
【0027】
本発明の目的、技術的解決手段および利点をより明確にするために、以下、本発明の特定の実施形態および対応する添付図面と併せて、本発明の技術的解決手段を明確かつ完全に説明する。明らかに、説明された実施形態は、本発明の実施形態の一部に過ぎず、そのすべてではない。本発明の実施形態に基づいて、当業者が創作的な労力を要することなく得られる他のすべての実施形態は、本発明の保護範囲に属する。
【0028】
以下、添付図面と併せて、本発明の各実施形態にて提供される技術的解決手段を詳細に説明する。
【0029】
図1は本発明にて提供される画像分割方法のフローを示す概略図であり、ステップS101~S106を含んでもよい。
【0030】
S101において、オリジナル画像を取得する。
【0031】
S102において、前記オリジナル画像を前分割し、複数の画像領域を含む初期分割画像を得る。
【0032】
本発明において、画像分割方法を実行するための実行主体は、サーバ、コンピュータ、携帯電話などの固定的なデバイスであってもよいし、無人車両、ドローン等の無人的なデバイスであってもよい。以下、説明の便宜上、実行主体としてサーバのみを例に、本発明にて提供される画像分割方法について説明する。
【0033】
本発明では、サーバは、初期分割画像に基づいてオリジナル画像を細かく分割することができる。その前に、サーバはオリジナル画像を取得し、取得したオリジナル画像を前分割(即ち、粗い分割)して、初期分割画像を得てもよい。ここで、初期分割画像は、オリジナル画像と同じサイズである。
【0034】
ここで、初期分割画像は、閾値処理(Thresholding)分割法(適切な閾値を設定し、画像中の閾値以上の画素と閾値未満の画素とを異なる領域に分割する分割方法)、エッジ検出分割法、領域拡張(Region Growing)分割法(ある拡張点(画素点でも領域でもよい)から開始し、この拡張点と類似の特性や性質を持つ近傍の画素や領域をマージして新たな拡張点を形成し、拡張できなくなるまで拡張する分割方法)、スプリット・マージ(Split and Merge)分割法(画像全体から開始し、画像を分割し続けて複数のサブ領域を取得し、そのうち前景に属するサブ領域をマージして前景を取得する分割方法)、分水嶺(Watershed)アルゴリズムに基づく分割法、グラフカット(Graph Cut)に基づく分割法、動的輪郭モデル(Active Contour Model)に基づく分割法、深層学習分割法(画素レベルから領域レベルまで、特徴表現を段階的に学習し、画素レベルの分類を実現する分割方法)などの分割法によって得られた粗い分割画像であってもよい。
【0035】
また、実際の応用シナリオでは、サーバによって取得されたオリジナル画像のコントラストが低く、それによりオリジナル画像の輪郭の境界が明確ではないため、サーバが取得されたオリジナル画像に対して画像強調を行い、強調されたオリジナル画像を得てもよい。
【0036】
ここで、サーバがオリジナル画像に対して画像強調を行う方法は、ヒストグラム均等化法(Histogram Equalization)であってもよく、具体的には、サーバは、オリジナル画像の各画素点に対応する画素値分布を取得し、所定のヒストグラム均等化アルゴリズムによって、
図2に示すように、オリジナル画像の各画素点に対応する画素値分布を均等化してもよい。
【0037】
図2は本発明にて提供されるヒストグラム均等化法のプロセスを示す概略図である。
【0038】
図2において、左側のヒストグラムは、オリジナル画像の各画素点に対応する画素値(即ち0~255)分布、即ち、オリジナル画像に含まれる各画素点のうち、各画素値に対応する画素点の数を示している。例えば、オリジナル画像に画素値が120の画素点が5000個含まれているとすると、左側のヒストグラムは、オリジナル画像に含まれる画素点の画素値がほとんど100~180の間であることを示しているため、オリジナル画像のコントラストは高くない、即ちオリジナル画像の各画像領域の間の違いは明確ではない。
図2の右側のヒストグラムは、強調されたオリジナル画像の各画素点に対応する画素値分布を示しており、右側のヒストグラムから、サーバはヒストグラム均等化アルゴリズムによってオリジナル画像の少なくとも一部の画素点に対応する画素値を調整することができることが分かり、それによりオリジナル画像の画素点に対応する画素値を、0~255の間でできるだけ均等に分布するようにすることで、画像のコントラストと鮮明度を高めることができる。
【0039】
S103において、前記オリジナル画像における各画素点に対応する勾配ベクトルに基づいて、前記オリジナル画像に対応する勾配ベクトル場を決定し、各画素点について、前記勾配ベクトル場は当該画素点と当該画素点に対応する指定画素点との間の画素値の勾配の変化を示すことができる。
【0040】
さらに、サーバはオリジナル画像における各画素点に対応する勾配ベクトルに基づいて、オリジナル画像に対応する勾配ベクトル場を決定してもよく、各画素点について、勾配ベクトル場は当該画素点と当該画素点に対応する指定画素点との間の画素値の勾配の変化を示すことができる。ここでの指定画素点は、当該画素点に隣接する隣接画素点であってもよい。
【0041】
なお、オリジナル画像において、画素点が領域境界に近いほど、対応する勾配ベクトルの勾配の変化が大きく(領域境界上の画素点の画素値は、隣接する画素点の画素値と全く異なる場合があるため、領域境界上の画素点に対応する勾配ベクトルの勾配の変化が大きい)、画像の領域内の平滑部分の画素点に対応する勾配ベクトルの勾配の変化が0に近い。ここでの勾配の変化は、勾配ベクトルの振幅値に基づいて決定してもよく、ある画素点の勾配ベクトルに対応する振幅値が大きいほど、この画素点の勾配ベクトルに対応する勾配の変化が大きい。
【0042】
ここで、サーバは、最小化エネルギー関数で、勾配ベクトル場を決定してもよい。具体的に、以下の式を参照してもよい。
【数1】
【0043】
上記の式において、
【数2】
は、オリジナル画像の勾配ベクトルに対応するベクトル場がゆっくりと変化するようにすることができる平滑化アイテムであり、
【数3】
は、オリジナル画像の勾配ベクトルに対応するベクトル場が、画像データから計算された∇fにできるだけ近いようにすることができるデータアイテムである。|∇f|が小さい場合、エネルギーは主に平滑化アイテムによって制御され、オリジナル画像の勾配ベクトルに対応するベクトル場における勾配ベクトルをより滑らかに変化させることができる。|∇f|が大きい場合、エネルギーは主にデータアイテムによって制御され、全体のエネルギーは、V(x,y)≒∇fを取ることで最小化できる。
u
x
、u
y
、v
x
、v
y
は、位置(x,y)におけるx、y方向の勾配ベクトル場の値であり、ラプラス方程式から算出され、その初期値は∇fと定義される。Vは、勾配ベクトル場V(x,y)=[u(x,y)、v(x,y)]であり、∇fは、エッジマップ(edge map)の勾配を表す。エッジマップは、オリジナル画像の各画素点に対応する勾配ベクトルを含む。
【0044】
従って、上記の最小化エネルギー関数を、次のオイラー方程式に変換してもよい。
【数4】
【0045】
上記の方程式において、∇2はラプラス(Laplace)の演算子であり、これにより上記のオイラー方程式が変分法によって反復的によって解かれ、オリジナル画像の勾配ベクトル場が計算できる。
【0046】
S104において、各前記画像領域について、前記画像領域の初期境界上の各画素点に基づいて、複数の目標点を特定する。
【0047】
本発明において、サーバは各画像領域について、画像領域の初期境界上の各画素点に基づいて、初期画素点集合を決定してもよい。次に、初期画素点集合に含まれる各画素点について、オリジナル画像から、当該画素点に対応する画素点を候補目標点として決定し、当該候補目標点の点特徴を決定し、初期画素点集合に対応する複数の候補目標点の点特徴に基づいて、複数の目標点を特定することができる。ここでの点特徴はHarrisコーナー特徴、Sift特徴、Brisk特徴、傾き、曲率のうち少なくとも1つを含んでもよい。
【0048】
ここで、サーバが初期画素点集合に対応する複数の候補目標点の点特徴に基づいて、複数の目標点を特定する方法は、各候補目標点について、当該候補目標点の各点特徴が所定の条件値を満たすか否かを判断することであってもよい。ここでの点特徴が所定の条件値を満たすことは、傾きが所定の閾値を満たすことや、曲率が所定の閾値を満たすことなどであってもよい。
【0049】
なお、初期分割画像は、二値化された画像であってもよく、即ち、初期分割画像は行列の形式である。初期分割画像に対応する行列において、目標領域に属する画素点に対応する値は1であり、目標領域に属さない画素点に対応する値は0である。従って、上記において、目標点を特定する際に、初期分割画像における各画像領域の初期境界上の各画素点に対応する座標値を指定されたアルゴリズムによって決定することにより、オリジナル画像から、初期分割画像における各画像領域の初期境界上の画素点に対応する座標値に対応する画素点を特定することができる。ここでの指定されたアルゴリズムは、OpenCVのfindContours関数であってもよい。
【0050】
S105において、各前記画像領域に基づいて特定された各目標点について、前記勾配ベクトル場に基づいて、当該目標点を起点とする分割最適経路を決定する。
【0051】
サーバが各画像領域に基づいて特定された各目標点について、勾配ベクトル場に基づいて、当該目標点を起点とする分割最適経路を決定する前に、サーバはさらに初期分割画像に含まれる各画像領域の初期境界上の画素点を参考画素点とし、各参考画素点について、初期分割画像における、当該参考画素点の近傍にある画素点を、当該参考画素点に対応する補足画素点としてもよい。
【0052】
さらに、サーバは、初期分割画像に含まれる参考画素点および補足画素点に基づいて、初期分割画像に対応する行列において、各画素点に対応する値を決定し、初期分割画像に対応する行列および勾配ベクトル場に基づいて、勾配分割画像を決定してもよく、次に、各目標点について、勾配分割画像に基づいて、当該目標点を起点とする分割最適経路を決定することができる。
【0053】
本発明において、ある画素点の近傍にある画素点は、当該画素点の指定領域内に位置する画素点であってもよい。ここでの指定領域は、8近傍や16近傍などであってもよい。
【0054】
上記の8近傍の画素点は、当該画素点の、左に隣接する画素点、右に隣接する画素点、下に隣接する画素点、上に隣接する画素点、左上に隣接する画素点、右上に隣接する画素点、左下に隣接する画素点、右下に隣接する画素点の8つの画素点であってもよい。
【0055】
さらに、サーバは、参考画素点および補足画素点に基づいて、初期分割画像に対応する行列における各画素点に対応する値を調整してもよい。例えば、参考画素点および補足画素点に対応する値を1に調整し、他の画素点に対応する値を255に調整してもよい。
【0056】
さらに、サーバは、初期分割画像に対応する行列および勾配ベクトル場に基づいて、勾配分割画像を決定し、各目標点について、勾配分割画像に基づいて、当該目標点を起点とする分割最適経路を決定してもよい。
【0057】
ここで、勾配分割画像は、初期分割画像における各画素点について、初期分割画像に対応する行列における当該画素点に対応する値に、勾配ベクトル場における当該画素点に対応する振幅値を乗算することで得られる。
【0058】
上記において、勾配分割画像を決定する理由は、その後に分割最適経路を決定する際に、各画素点に対応する損失値を計算することで分割最適経路を決定することができるためである。このとき、初期分割画像に対応する行列における参考画素点および補足画素点の値が1に調整されたため、乗算すると、勾配分割画像における参考画素点および補足画素点の値は、勾配ベクトル場における参考画素点および補足画素点に対応する振幅値となる。初期分割画像に対応する行列における他の画素点の値が255に調整されたため、このとき、勾配分割画像における他の画素点の値は、勾配ベクトル場における他の画素点に対応する振幅値の255倍となる。その後に損失値を計算する際に、勾配分割画像における各画素点に対応する値が大きいほど損失が大きくなり、その結果、上記の他の画素点が分割最適経路から除外される。
【0059】
さらに、サーバが勾配分割画像を決定した後、各目標点の前記初期分割画像における位置に基づいて、前記各目標点をソートしてもよい。ここでのソート方法は、実際のニーズに応じて設定してもよく、例えば、初期分割画像における各画像領域の初期境界の時計回り方向にソートしてもよい。画像領域が人物であるとすると、人物の頭上領域の境界に属する目標点から、人物の左顔領域の境界に対応する画素点、人物の左首領域の境界に対応する画素点、人物の左肩領域の境界に対応する画素点、......の順に、人物の頭上領域の境界に戻るまで、目標点をソートしてもよい。
【0060】
さらに、サーバが各目標点をソートした後、ソートされた各目標点について、当該目標点と当該目標点の次の目標点とを目標点セットとしてもよく、ここで、当該目標点を目標点セットの起点とし、当該目標点の次の目標点を目標点セットの終点とする。各目標点セットについて、勾配ベクトル場に基づいて、当該目標点セットの起点から当該目標点セットの終点までの分割最適経路を、当該目標点セットに対応する分割最適経路として決定する。
【0061】
例えば、A、B、C、D、Eの5つの目標点があるとすると、(A、B)、(B、C)、(C、D)、(D、E)、(E、A)の5つの目標点セットが得られる。1つ目の目標点セット(A、B)を例にとると、目標点Aが当該目標点セットの起点であり、目標点Bが当該目標点セットの終点である。経路クエリに用いられるアルゴリズムによって、目標点Aから目標点Bまでの分割最適経路を、当該目標点セットに対応する分割最適経路として決定してもよく、次に、各目標点セットに対応する分割最適経路に基づいて、オリジナル画像を分割することができる。
【0062】
さらに、サーバは、各目標点セットについて、勾配ベクトル場に基づいて、当該目標点セットの起点から当該目標点セットの終点までの分割最適経路を、当該目標点セットに対応する分割最適経路として決定してもよい。
【0063】
ここで、サーバは、各目標点について、複数回の経路クエリによって、当該目標点(即ち起点)から次の目標点(即ち終点)までの分割最適経路を決定してもよい。
【0064】
具体的に、サーバは、前記起点を親経路点とし、前記親経路点と前記勾配ベクトル場とに基づいて、複数の候補経路点から最適経路点を決定し、前記複数の候補経路点は前記親経路点の近傍画素点であり、前記最適経路点が前記終点でない場合、前記最適経路点を新たな前記親経路点とし、最適経路点を決定するステップを繰り返し、前記最適経路点が前記終点である場合、決定されたすべての最適経路点に基づいて、当該目標点セットの起点から当該目標点セットの終点までの分割最適経路を決定してもよい。
【0065】
サーバは、各回の経路クエリについて、当該回の経路クエリの親経路点と、当該回の経路クエリの各候補経路点とを決定し、各候補経路点に終点が含まれているか否かを決定し、含まれていない場合、勾配分割画像に基づいて親経路点から各候補経路点までの経路に対応する損失値を、当該候補経路点に対応する損失値として決定し、対応する損失値が最小となる候補経路点を、当該回の経路クエリにおいて決定される最適経路点としてもよい。
【0066】
サーバは、各回の経路クエリにおいて、当該回の経路クエリの親経路点の近傍画素点を候補経路点集合に追加し、得られた候補経路点集合に含まれる各候補経路点を、当該回の経路クエリの各候補経路点とすることができる。さらに、サーバは、各回の経路クエリにおいて最適経路点が決定された後、当該回の経路クエリにおいて決定された最適経路点を経路候補点集合から削除してもよい。
【0067】
上記において、サーバが各候補経路点について、当該候補経路点に対応する損失値は、勾配分割画像における当該候補経路点に対応する値と、当該候補経路点から終点までの距離との少なくとも1つによって決定される。
【0068】
好ましくは、サーバが勾配分割画像における当該候補経路点に対応する値と、当該候補経路点から終点までの距離の両方に基づいて当該候補経路点に対応する損失値を決定してもよい。具体的に、以下の式を参照してもよい。
【数5】
【0069】
上記の式において、cf(i)当該候補経路点に対応する損失値であり、cfv(i)は勾配分割画像における当該候補経路点に対応する値であり、cfm(i)は当該候補経路点から終点までの距離であり、wは重みである。
【0070】
ここで、当該候補経路点から終点までの距離は、候補経路点を水平方向および垂直方向に終点まで移動させるのに必要な移動距離であってもよい。例えば、水平方向と垂直方向の1画素点あたりの移動距離を1、対角線方向の移動距離を1.4としてもよい。
【0071】
さらに、サーバが当該回の経路クエリにおける各候補経路点に、終点が含まれていると決定した場合、起点と、終点と、各回の経路クエリにおいて決定された最適経路点とに基づいて、起点から終点までの分割最適経路を、当該目標点セットに対応する分割最適経路として決定してもよい。
【0072】
S106において、決定された分割最適経路に基づいて、前記オリジナル画像を分割する。
【0073】
本発明において、サーバは、各目標点セットに対応する分割最適経路に基づいて、分割曲線を決定してもよく、次に、決定された分割曲線に基づいて、オリジナル画像を分割することができる。
【0074】
ここで、サーバは得られた各目標点セットに対応する分割最適経路を平滑化し、閉曲線を得てもよく、次に、当該閉曲線を、画像を分割するために決定される分割曲線とすることができる。
【0075】
上記の画像の分割は、分割曲線に基づくオリジナル画像の分割であってもよく、分割領域に基づく初期分割画像のさらなる細かい分割であってもよい。
【0076】
上記の内容をさらに詳しく説明するために、上記画像分割方法によってオリジナル画像を分割するフローを、
図3と併せて以下に説明する。
【0077】
図3は、本発明にて提供されるオリジナル画像を分割するプロセスを示す概略図である。
【0078】
図3において、サーバがオリジナル画像およびオリジナル画像に対応する初期分割画像を取得した後、オリジナル画像を強調して、強調されたオリジナル画像を得てもよく、強調されたオリジナル画像に対応する勾配ベクトル場を決定し、初期分割画像から、初期分割画像に含まれる参考画素点および補足画素点を決定してもよい。
【0079】
さらに、サーバは、強調されたオリジナル画像および初期分割画像に含まれる画素点から複数の目標点を特定してもよく、次に、強調されたオリジナル画像に対応する、決定された勾配ベクトル場と、初期分割画像から特定された、初期分割画像に含まれる参考画素点および補足画素点とに基づいて、最適化された勾配ベクトル場を決定することができ、次に、すべての隣接する2つの目標点の間の分割最適経路を決定することができ、それにより、決定された各分割最適経路に基づいて画像を分割することができる。
【0080】
上記から分かるように、サーバは、粗い分割によって得られた初期分割画像を基に、勾配ベクトルの、オリジナル画像における各画素点に対応する勾配の変化に基づいて、経路最適化によってオリジナル画像を細かく分割することができ、画像分割の精度を向上させることができる。
【0081】
以上が、本発明の1つまたは複数の実施形態にて提供される画像分割方法であり、同じ考えに基づいて、本発明はさらに、
図4に示すような、対応する画像分割装置を提供する。
【0082】
図4は本発明により提供される画像分割装置の概略図であり、前記装置は、
オリジナル画像を取得するための取得モジュール401と、
前記オリジナル画像を前分割し、複数の画像領域を含む初期分割画像を得るための前分割モジュール402と、
前記オリジナル画像における各画素点に対応する勾配ベクトルに基づいて、前記オリジナル画像に対応する勾配ベクトル場を決定するための決定モジュール403であって、各画素点について、前記勾配ベクトル場は当該画素点と当該画素点に対応する指定画素点との間の画素値の勾配の変化を示すことができる、決定モジュール403と、
各前記画像領域について、前記画像領域の初期境界上の各画素点に基づいて、複数の目標点を特定するための特定モジュール404と、
各前記画像領域に基づいて特定された各目標点について、前記勾配ベクトル場に基づいて、当該目標点を起点とする分割最適経路を決定するための経路最適化モジュール405と、
決定された分割最適経路に基づいて、前記オリジナル画像を分割するための分割モジュール406と、を含む。
【0083】
オプションで、前記特定モジュール404は、具体的に、
前記画像領域の初期境界上の各画素点に基づいて、初期画素点集合を決定し、
前記初期画素点集合に含まれる各画素点について、
前記オリジナル画像から、当該画素点に対応する画素点を候補目標点として決定し、
当該候補目標点の点特徴を決定し、前記点特徴はHarrisコーナー特徴、Sift特徴、Brisk特徴、傾き、曲率のうち少なくとも1つを含み、
前記初期画素点集合に対応する複数の前記候補目標点の点特徴に基づいて、複数の目標点を特定するために用いられる。
【0084】
オプションで、前記経路最適化モジュール405は、具体的に、
初期分割画像に含まれる参考画素点および補足画素点に基づいて、前記初期分割画像に対応する行列において、各画素点に対応する値を決定し、
前記初期分割画像に対応する行列および前記勾配ベクトル場に基づいて、勾配分割画像を決定し、
各目標点について、前記勾配分割画像に基づいて、当該目標点を起点とする分割最適経路を決定するために用いられ、
前記参考画素点は、各前記画像領域の初期境界上の画素点であり、
前記補足画素点は、前記初期分割画像における、前記参考画素点の近傍にある画素点である。
【0085】
オプションで、前記経路最適化モジュール405は、具体的に、
各目標点の前記初期分割画像における位置に基づいて、前記各目標点をソートし、
ソートされた各目標点について、当該目標点と当該目標点の次の目標点とを目標点セットとし、当該目標点を前記目標点セットの起点とし、当該目標点の次の目標点を前記目標点セットの終点とし、
各目標点セットについて、前記勾配ベクトル場に基づいて、当該目標点セットの起点から当該目標点セットの終点までの分割最適経路を、当該目標点セットに対応する分割最適経路として決定するために用いられる。
【0086】
オプションで、前記経路最適化モジュール405は、具体的に、
前記起点を親経路点とし、
前記親経路点と前記勾配ベクトル場とに基づいて、複数の候補経路点から最適経路点を決定し、前記複数の候補経路点は前記親経路点の近傍画素点であり、
前記最適経路点が前記終点でない場合、前記最適経路点を新たな前記親経路点とし、最適経路点を決定するステップを繰り返し、
前記最適経路点が前記終点である場合、決定されたすべての最適経路点に基づいて、当該目標点セットの起点から当該目標点セットの終点までの分割最適経路を決定するために用いられる。
【0087】
オプションで、前記経路最適化モジュール405は、具体的に、
前記勾配ベクトル場に基づいて、前記親経路点から各前記候補経路点までの経路に対応する損失値を、当該候補経路点に対応する損失値として決定し、
前記損失値が最小となる候補経路点を前記最適経路点とするために用いられる。
【0088】
オプションで、前記経路最適化モジュール405は、具体的に、
各前記候補経路点から前記終点までの距離と、前記勾配ベクトル場とに基づいて、各前記候補経路点に対応する損失値を決定し、
前記損失値が最小となる候補経路点を前記最適経路点とするために用いられる。
【0089】
本発明はさらにコンピュータ可読記憶媒体を提供し、当該コンピュータ可読記憶媒体はコンピュータプログラムを記憶しており、コンピュータプログラムは上記
図1の方法を実行するために用いられる。
【0090】
本発明はさらに、
図5に示す電子デバイスを提供する。
図5に示すように、ハードウェアレベルでは、当該電子デバイスは、プロセッサ、内部バス、ネットワークインタフェース、内部メモリ、および不揮発性メモリを含み、もちろん、他の動作に必要なハードウェアも含み得る。プロセッサは、不揮発性メモリから対応するコンピュータプログラムを内部メモリに読み込んで実行し、上記の
図1で説明した方法を実施する。
【0091】
もちろん、ソフトウェアによる実現の他に、本発明は、論理デバイスやハードウェアとソフトウェアの組み合わせなど、他の実現方式を排除するものではなく、つまり、以下の処理プロセスの実行主体は、各の論理ユニットに限定されず、ハードウェアや論理デバイスであってもよい。
【0092】
1990年代には、ある技術の改良は、ハードウェアの改良(ダイオード、トランジスタ、スイッチなどの回路構造の改良など)とソフトウェアの改良(方法フローの改良)に明確に区別することができる。しかし、技術の発展に伴い、現在の方法フローの改良の多くは、ハードウェア回路構造に対する直接的な改良と見なすことができるようになった。設計者は、改良された方法フローをハードウェア回路にプログラミングすることで、対応するハードウェア回路構造を得ることがほとんどである。従って、方法フローの改良がハードウェア物理モジュールにより実現できないとは言い切れない。例えば、プログラマブルロジックデバイス(Programmable Logic Device、PLD)(例えばフィールドプログラマブルゲートアレイ(Field Programmable Gate Array、FPGA))はこのような集積回路であり、その論理機能がデバイスのユーザーによるプログラミングによって決定される。チップメーカーが専用の集積回路チップを設計・製造する代わりに、設計者がプログラミングしてデジタルシステムを1枚のPLD上に「集積」する。そして、現在では、集積回路チップを手作りする代わりに、このプログラミングは「論理コンパイラ(logic compiler)」というソフトウェアを使って実現されることがほとんどであり、これは、プログラムを書くときに使うソフトウェアコンパイラと類似し、前のオリジナルコードをコンパイルするためには、特定のプログラミング言語で書く必要があり、これはハードウェア記述言語(Hardware Description Language、HDL)と呼ばれ、HDLは1種類だけではなく、ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java(登録商標) Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware Description Language)など、多くの種類があり、現在最もよく使われているのはVHDL(Very-High-Speed Integrated Circuit Hardware Description Language)とVerilog(登録商標)である。方法フローを、上記のハードウェア記述言語のいくつかでちょっと論理的にプログラミングして集積回路にプログラミングするだけで、論理的な方法フローを実現するハードウェア回路は簡単に得られることは、当業者には明らかであろう。
【0093】
コントローラは、任意の適切な方法で実現されてもよく、例えば、コントローラはマイクロプロセッサまたはプロセッサと、当該(マイクロ)プロセッサによって実行可能なコンピュータ可読プログラムコード(例えば、ソフトウェアまたはファームウェア)を記憶するコンピュータ可読記憶媒体と、論理ゲート、スイッチ、特定用途向け集積回路(Application Specific Integrated Circuit、ASIC)、プログラマブルロジックコントローラおよび埋め込みマイクロコントローラの形態を採用してもよく、コントローラの例として、ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20、Silicone Labs
C8051F320などのマイクロコントローラを含むが、これらに限定されず、メモリコントローラはさらに、メモリの制御ロジックの一部として実現されることも可能である。また、純粋なコンピュータ可読プログラムコードでコントローラを実現することに加えて、方法ステップを論理的にプログラミングすることで、コントローラに、論理ゲート、スイッチ、特定用途向け集積回路、プログラマブルロジックコントローラおよび埋め込みマイクロコントローラなどの形態で同じ機能を実行させることも完全に可能であることは、当業者には明らかであろう。従って、このようなコントローラを、ハードウェアコンポーネントとみなしてもよく、様々な機能を実現するためのその中に含まれる装置も、ハードウェアコンポーネント内の構造とみなしてもよい。または、さらに、様々な機能を実現するための装置を、方法を実現するソフトウェアモジュールであってもよいし、ハードウェアコンポーネント内の構造であってもよいと、みなしてもよい。
【0094】
上記実施形態で説明したシステム、装置、モジュールまたはユニットは、具体的には、コンピュータチップ、エンティティ、または何らかの機能を有する製品によって実現されてもよい。典型的な実現デバイスはコンピュータである。具体的に、コンピュータは例えば、パーソナルコンピュータ、ラップトップコンピュータ、携帯電話、カメラ付き電話、スマートフォン、パーソナルデジタルアシスタント、メディアプレーヤ、ナビゲーションデバイス、電子メールデバイス、ゲーム機、タブレット、ウェアラブルデバイス、またはこれらのデバイスの任意のいくつかの組み合わせであってもよい。
【0095】
なお、説明の便宜上、上記の装置を説明するときに機能によって様々なユニットに分けてそれぞれ説明する。もちろん、本発明を実施する際に、各ユニットの機能を同一または複数のソフトウェアおよび/またはハードウェアで実現することも可能である。
【0096】
当業者であれば分かるように、本発明の実施形態が、方法、システム、またはコンピュータプログラム製品として提供されてもよい。従って、本発明は、ハードウェアだけからなる実施形態、ソフトウェアだけからなる実施形態、またはソフトウェアとハードウェアを組み合わせた実施形態なる形態を用いてもよい。さらに、本発明は、コンピュータで使用可能なプログラムコードを含む1つまたは複数のコンピュータで使用可能な記憶媒体(磁気ディスクメモリ、CD-ROM、光学メモリなどを含むが、これらに限定されない)において実施されるコンピュータプログラム製品の形態であってもよい。
【0097】
本発明は、本発明の実施形態による方法、デバイス(システム)、およびコンピュータプログラム製品のフローチャートおよび/またはブロック図を参照して説明される。フローチャートおよび/またはブロック図における各フローおよび/またはブロック、並びにフローチャートおよび/またはブロック図におけるフローおよび/またはブロックの組み合わせは、コンピュータプログラム命令によって実現されてもよいことが理解されるべきである。これらのコンピュータプログラム命令は、マシンを生成するために、汎用コンピュータ、専用コンピュータ、埋め込みプロセッサ、または他のプログラム可能なデータ処理デバイスのプロセッサに提供されてもよく、それにより、コンピュータまたは他のプログラム可能なデータ処理デバイスのプロセッサによって実行される命令により、フローチャートの1つまたは複数のフロー、および/またはブロック図の1つまたは複数のブロックにおいて指定される機能を実現するための装置が生成される。
【0098】
これらのコンピュータプログラム命令は、コンピュータまたは他のプログラム可能なデータ処理デバイスに特定の方法で作業するように指示することができるコンピュータ可読メモリに記憶されてもよく、その結果、当該コンピュータ可読メモリに記憶されている命令により、フローチャートの1つまたは複数のフローおよび/またはブロック図の1つまたは複数のブロックにおいて指定される機能を実現する命令装置を含む製品が生成される。
【0099】
これらのコンピュータプログラム命令は、コンピュータまたは他のプログラム可能なデータ処理デバイスにロードしてもよく、それにより、一連の動作ステップがコンピュータまたは他のプログラム可能なデバイス上で実行されることで、コンピュータにより実施される処理が生成され、それにより、コンピュータまたは他のプログラム可能なデバイス上で実行される命令により、フローチャートの1つまたは複数のフロー、および/またはブロック図の1つまたは複数のブロック内で指定される機能を実現するためのステップが提供される。
【0100】
典型的な構成では、コンピューティングデバイスは、1つ以上のプロセッサ(CPU)、入力/出力インタフェース、ネットワークインタフェース、およびメモリを含む。
【0101】
メモリは、コンピュータ可読記憶媒体のうちの揮発性メモリ、ランダムアクセスメモリ
(RAM)および/または不揮発性メモリなどの形態を含み得、例えば、読み出し専用メモリ(ROM)またはフラッシュメモリ(flash RAM)である。メモリは、コンピュータ可読記憶媒体の一例である。
【0102】
コンピュータ可読記憶媒体は不揮発性および揮発性媒体、移動可能および非移動可能な媒体を含み、任意の方法または技術により情報記憶を実現し得る。情報はコンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータであってもよい。コンピュータの記憶媒体は、相変化メモリ(Phase Change RAM、PRAM)、スタティックランダムアクセスメモリ(Static Random-Access Memory、SRAM)、ダイナミックランダムアクセスメモリ(Dynamic Random Access Memory、DRAM)、他のタイプのランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、電気的消去可能プログラマブル読み出し専用メモリ(Electrically Erasable Programmable Read Only Memory、EEPROM(登録商標))、フラッシュメモリ(flash Memory)または他のメモリ技術、コンパクトディスク読み出し専用メモリ(Compact Disc Read Only Memory、CD-ROM)、デジタル多用途ディスク(Digital Versatile Disc、DVD)または他の光学記憶、磁気カセットテープ、磁気テープ磁気ディスク記憶または他の磁気記憶デバイス、またはコンピューティングデバイスからアクセス可能な情報を記憶するために使用され得る任意の他の非伝送媒体を含むがそれらに限定されない。本明細書の定義によれば、コンピュータ可読記憶媒体は一時記憶コンピュータ可読記憶媒体(transitory Media)、例えば変調されたデータ信号およびキャリアを含まない。
【0103】
また、用語「含む」、「含有」またはそのいずれかの他の変形は、非排他的な含有を含むことを意図し、それにより一連の要素を含むプロセス、方法、物品またはデバイスはそれらの要素を含むだけでなく、また明確に列挙されていない他の要素も含み、またはこのようなプロセス、方法、物品またはデバイスの固有の要素も含む。より多くの制限がない場合、文「1つの…を含む」により限定された要素は、前記要素を含むプロセス、方法、物品またはデバイスにさらに他の同じ要素が存在することを排除するものではない。
【0104】
当業者であれば分かるように、本発明の実施形態が、方法、システム、またはコンピュータプログラム製品として提供されてもよい。従って、本発明は、ハードウェアだけからなる実施形態、ソフトウェアだけからなる実施形態、またはソフトウェアとハードウェアを組み合わせた実施形態なる形態を用いてもよい。さらに、本発明は、コンピュータで使用可能なプログラムコードを含む1つまたは複数のコンピュータで使用可能な記憶媒体(磁気ディスクメモリ、CD-ROM、光学メモリなどを含むが、これらに限定されない)において実施されるコンピュータプログラム製品の形態であってもよい。
【0105】
本発明は、プログラムモジュールのようなコンピュータによって実行されるコンピュータ実行可能命令の一般的な文脈で記述され得る。一般的に、プログラムモジュールは、特定のタスクを実行する、または特定の抽象データ型を実現するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。本発明は、通信ネットワークを介して接続されたリモート処理デバイスによってタスクが実行される分散コンピューティング環境においても実施され得る。分散コンピューティング環境において、プログラムモジュールは、記憶デバイスを含むローカルおよびリモートコンピュータ記憶媒体に配置され得る。
【0106】
本発明における各実施形態はいずれも漸進の方式で説明され、各実施形態の間の同じまたは類似する部分は互いに参照すればよく、各実施形態の重点的に説明されたのは他の実施形態との相違点である。特に、システムの実施形態に対して、それは基本的に方法の実施形態と類似するため、簡単に説明し、関連する部分は方法の実施形態の一部の説明を参照すればよい。
【0107】
上記は、本発明の実施形態にすぎず、本発明を限定するために使用されるものではない。当業者にとって、本発明は、様々な変更および変化があり得る。本発明の趣旨と原理から逸脱せず行った任意の修正、同等な置換、改善など、いずれも本発明の特許請求の範囲に含まれるものとするべきである。
【手続補正2】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
画像収集デバイスから、複数の分割対象を含むオリジナル画像を取得するステップであって、前記オリジナル画像はグレースケール画像である、ステップと、
前記オリジナル画像を前分割し、複数の画像領域を含む初期分割画像を得るステップであって、前記前分割は画像分割の精度が低い分割であり、各前記画像領域は1つの前記分割対象を含む、ステップと、
前記オリジナル画像における各画素点に対応する勾配ベクトルに基づいて、前記オリジナル画像に対応する勾配ベクトル場を決定するステップであって、各画素点について、前記勾配ベクトル場は当該画素点と当該画素点に隣接する隣接画素点との間の画素値の勾配の変化を示すことができ、前記画素値は画素点の濃淡値である、ステップと、
各前記画像領域について、前記画像領域の初期境界上の各画素点から、所定の条件を満たす複数の目標点を特定するステップと、
各目標点の前記初期分割画像における位置に基づいて、前記画像領域の初期境界に沿って前記各目標点をソートするステップと、
ソートされた各目標点について、当該目標点と当該目標点の次の目標点とを目標点セットとし、当該目標点を前記目標点セットの起点とし、当該目標点の次の目標点を前記目標点セットの終点とするステップと、
各目標点セットについて、
前記起点を親経路点とするステップと、
前記親経路点の近傍画素点を候補経路点とするステップと、
各前記候補経路点から前記終点までの距離と、前記勾配ベクトル場とに基づいて、各前記候補経路点に対応する損失値を決定するステップであって、前記損失値は、候補経路点が最適経路点として使用できるか否かを評価する指標値である、ステップと、
前記損失値が最小となる候補経路点を前記最適経路点とするステップと、
前記最適経路点が前記終点でない場合、前記最適経路点を新たな前記親経路点とし、最適経路点を決定するステップを繰り返し、
前記最適経路点が前記終点である場合、決定されたすべての最適経路点に基づいて、当該目標点セットの起点から当該目標点セットの終点までの分割最適経路を決定するステップと、
決定された分割最適経路に基づいて、前記オリジナル画像を分割するステップと、を含む、
ことを特徴とする画像分割方法。
【請求項2】
前記画像領域の初期境界上の各画素点から、所定の条件を満たす複数の目標点を特定するステップは、
前記画像領域の初期境界上のすべての画素点を含む初期画素点集合を決定するステップと、
前記初期画素点集合に含まれる各画素点について、
前記オリジナル画像から、当該画素点の前記初期分割画像における座標と同じ座標を持つ画素点を候補目標点として決定し、
当該候補目標点の点特徴を決定するステップであって、前記点特徴はHarrisコーナー検出によって検出された特徴、Siftによって検出された特徴、Briskによって検出された特徴、すべての候補目標点からなる境界における、当該候補目標点の傾き、すべての候補目標点からなる境界における、当該候補目標点の曲率のうち少なくとも1つを含むステップと、
前記初期画素点集合に対応する複数の前記候補目標点から、点特徴が所定の条件を満たす複数の目標点を特定するステップと、を含む、
ことを特徴とする請求項1に記載の画像分割方法。
【請求項3】
画像収集デバイスから、複数の分割対象を含むオリジナル画像を取得するための取得モジュールであって、前記オリジナル画像はグレースケール画像である、取得モジュールと、
前記オリジナル画像を前分割し、複数の画像領域を含む初期分割画像を得るための前分割モジュールであって、前記前分割は画像分割の精度が低い分割であり、各前記画像領域は1つの前記分割対象を含む、前分割モジュールと、
前記オリジナル画像における各画素点に対応する勾配ベクトルに基づいて、前記オリジナル画像に対応する勾配ベクトル場を決定するための決定モジュールであって、各画素点について、前記勾配ベクトル場は当該画素点と当該画素点に隣接する隣接画素点との間の画素値の勾配の変化を示すことができ、前記画素値は画素点の濃淡値である、決定モジュールと、
各前記画像領域について、前記画像領域の初期境界上の各画素点から、所定の条件を満たす複数の目標点を特定するための特定モジュールと、
各目標点の前記初期分割画像における位置に基づいて、前記画像領域の初期境界に沿って前記各目標点をソートし、
ソートされた各目標点について、当該目標点と当該目標点の次の目標点とを目標点セットとし、当該目標点を前記目標点セットの起点とし、当該目標点の次の目標点を前記目標点セットの終点とし、
各目標点セットについて、
前記起点を親経路点とし、
前記親経路点の近傍画素点を候補経路点とし、
各前記候補経路点から前記終点までの距離と、前記勾配ベクトル場とに基づいて、各前記候補経路点に対応する損失値を決定し、前記損失値は、候補経路点が最適経路点として使用できるか否かを評価する指標値であり、
前記損失値が最小となる候補経路点を前記最適経路点とし、
前記最適経路点が前記終点でない場合、前記最適経路点を新たな前記親経路点とし、最適経路点を決定することを繰り返し、
前記最適経路点が前記終点である場合、決定されたすべての最適経路点に基づいて、当該目標点セットの起点から当該目標点セットの終点までの分割最適経路を決定するための経路最適化モジュールと、
決定された分割最適経路に基づいて、前記オリジナル画像を分割するための分割モジュールと、を含む、
ことを特徴とする画像分割装置。
【請求項4】
コンピュータプログラムを記憶しているコンピュータ可読記憶媒体であって、前記コンピュータプログラムがプロセッサによって実行されると、請求項1~2のいずれか1項に記載の方法が実施される、
ことを特徴とするコンピュータ可読記憶媒体。
【請求項5】
メモリと、プロセッサと、前記メモリに記憶され、前記プロセッサ上で実行可能なコンピュータプログラムとを含む電子デバイスであって、前記プロセッサが前記コンピュータプログラムを実行すると、請求項1~2のいずれか1項に記載の方法を実施する、
ことを特徴とする電子デバイス。