(58)【調査した分野】(Int.Cl.,DB名)
前記目標基準点と整合対象基準点との位置関係及びマッピング点対と処理対象画像点との位置関係に基づいて前記処理対象画像点を対応する目標位置にマッピングするステップが、
処理対象画像点と整合対象基準点との位置に基づいて、各マッピング点対に対応する影響重み因数を算出することと、
各マッピング点対に対応する変位オフセットを計算することと、
前記各マッピング点対に対応する影響重み因数と変位オフセットに基づいて、処理対象画像点の変位を算出することと、
前記変位に基づいて、前記処理対象画像点を対応する目標位置にマッピングすることと、を含む請求項1に記載の方法。
【発明を実施するための形態】
【0010】
図1は一実施例における画像歪み処理方法を実行する適用環境を示す図である。
図1に示すように、該適用環境は、端末110と、サーバ120とを含む。端末110とサーバ120はネットワークを介して通信を行うことができる。
【0011】
端末110は、スマートフォン、タブレットPC、ノートブックコンピュータ、デスクトップコンピュータ等を含むが、これらに限定されることはない。端末110は、サーバ120に歪みモデル取得要求を送信したり、画像データ等を送信することができ、サーバ120は端末110に歪みモデル等を送信することができる。画像歪み処理方法を端末又はサーバで実施することができる。
【0012】
一実施例において、
図1中の端末110の内部構造は
図2に示すとおりで、該端末110はシステムバスを介して接続されたプロセッサ、図形処理ユニット、記憶媒体、メモリ、ネットワークインターフェース、スクリーン、入力デバイスを含む。ここで、端末110の記憶媒体にオペレーティングシステムが記憶されていて、端末に適用される画像歪み処理方法を実現するための第1の画像歪み処理装置をさらに含む。該プロセッサは、計算と制御能力を提供し、端末110全体の運行を支援する。端末110中の図形処理ユニットは少なくとも、表示画面の描き能力を提供し、メモリは記憶媒体中の第1の画像歪み処理装置の運行のために環境を提供し、端末中のメモリは記憶媒体中の第1の画像歪み処理装置の運行のために環境を提供し、該メモリにコンピュータ読取可能な命令が記憶されていることができ、該コンピュータ読取可能な命令が前記プロセッサによって実行される時に、前記プロセッサが画像歪み処理方法を実行することになる。ネットワークインターフェースはサーバ120とのネットワーク通信に用いられ、例えば歪みモデル取得要求をサーバ120に送信し、サーバ120から返信されたデータ等を受信する。スクリーンはアプリケーションインターフェース等を表示するに用いられ、入力デバイスはユーザが入力した命令又はデータ等を受信する。タッチパネル付き端末110の場合、スクリーンと入力デバイスがタッチパネルであることができる。
【0013】
一実施例において、
図1中のサーバ120の内部構造は
図3に示すとおりで、該サーバ120はシステムバスを介して接続されたプロセッサ、記憶媒体、メモリ、ネットワークインターフェースを含む。ここで、該サーバ120の記憶媒体にオペレーティングシステム、データペース、サーバ120に適用される画像歪み処理方法を実現するための第2の画像歪み処理装置を含む。該サーバ120のプロセッサは計算と制御能力を提供し、サーバ120全体の運行を支援する。該サーバ120のメモリは記憶媒体中の第2の画像歪み処理装置の運行のために環境を提供し、サーバ中のメモリは記憶媒体中の第2の画像歪み処理装置の運行のために環境を提供し、該メモリにコンピュータ読取可能な命令が記憶されることができ、該コンピュータ読取可能な命令がプロセッサによって実行される時に、プロセッサが画像歪み処理方法を実行することになる。該サーバ120のネットワークインターフェースは外部の端末110とネットワークを介して接続されて通信を行うに用いられ、例えば端末110から送信された画像データを受信したり、端末110にデータ等を返信したりする。
【0014】
図4に示すように、一実施例において、画像歪み処理方法を提供し、上記適用環境中の端末又はサーバに適用される場合を例に説明し、ステップS210〜ステップS240を含む。
【0015】
ステップS210において、処理対象画像を取得して、処理対象画像中の顔画像を識別し、顔画像の五官基準点を位置決めする。
【0016】
具体的に、処理対象画像はカメラがリアルタイムに撮影した画像であることができ、端末が予め記憶した画像であることもでき、サーバからリアルタイムに取得した画像であることもできる。顔検出アルゴリズムによって処理対象画像中の顔画像を識別することができ、顔検出アルゴリズムは需要に応じて自己定義することができ、例えばOpenCV顔検出アルゴリズム、IOS、Androidシステム付属の顔検出アルゴリズム、Face++顔検出等であることができる。任意の入力された処理対象画像について、顔検出アルゴリズムは画像中に顔及び具体的な顔範囲が含まれているか否かを返信することができ、例えば矩形ボックスで顔の位置を標記し、複数の顔があると複数の矩形ボックスを返信する。五官基準点は、顔の五官、表情動きを決定するにおいて重要な点を指し、
図5は顔画像の五官基準点を示す図で、五官基準点は、顔輪郭基準点である図中の1〜9番の点、左右目基準点である図中の10〜14番の点、15〜19番の点、鼻基準点である図中の20〜26番の点、唇基準点である図中の27〜30番の点、左右眉毛基準点である図中の31〜32番の点、33〜34番の点等を含み、異なる部位は異なるタイプの基準点に対応し、五官基準点は少なくとも1種類の基準点を含む。
【0017】
ステップS220において、配置参照点と配置基準点を含む歪みモデルを取得して、五官基準点において配置参照点に対応する現在の参照点と、配置基準点に対応する整合対象基準点とを決定する。
【0018】
具体的に、歪みモデルは目標形状の画像で、例えばシャープな顔、大きい目、小さい鼻等の目標特徴が載せられた。オフライン前処理又は任意の目標画像についてのオンライン前処理を経て歪みモデルを得ることができ、前処理のプロセスは、五官基準点を抽出し、目標画像の五官基準点の具体的な位置を得て、座標による記録とアイコンによる標記を行う。検出アルゴリズムによって直接に歪みモデルの五官基準点を得ることができないと、オフラインで手動に標記する方式で五官基準点を標記することができる。配置参照点と配置基準点はいずれも五官基準点で、その中、配置参照点は現在の処理対象画像と歪みモデルの五官基準点との位置差異を判断するに用いられ、配置基準点は現在の処理対象画像と歪みモデルの五官基準点との歪み傾向を計算するに用いられ、他の処理対象画像点の歪みに影響を与える制御点である。異なる五官変形について、異なる配置参照点を設定することができ、例えば、鼻先、左右目に対応する外輪郭点、顎先点等の顔形参照点、左目中央点、鼻先、左目に対応する顔部輪郭点等の左目歪み参照点、右目中央点、鼻先、右目に対応する顔部輪郭点等の右目歪み参照点、左目中央点、鼻先、右目中央点等の鼻歪み参照点、口上の異なる点の位置に基づいて決定された口中央点、鼻先、左目中央点、又は口中央点、鼻先、右目中央点等の左右に分けられた参照点等の口歪み参照点を設定することができる。
【0019】
処理対象画像から検出された五官基準点と歪みモデル中の配置参照点及び配置基準点とが対応するように制御することで、同一なアルゴリズムで処理対象画像と歪みモデルの五官基準点の検出を行って、検出された五官基準点の一致性を保証できる。処理対象画像から検出された五官基準点と歪みモデル中の配置参照点及び配置基準点が対応しないと、例えば数量が異なると、二回目の検出を行うか、又は整合アルゴリズムから整合しない基準点を除去することができる。例えば、歪みモデル中の配置参照点が鼻先、左右目に対応する外輪郭点、顎先の四つの点であると、処理対象画像の五官基準点から対応する鼻先、左右目に対応する外輪郭点、顎先の点を取得して現在の参照点とする。画像歪みにおいて、現在の参照点の位置は不変で、位置決めて参照する作用を果たす。
図6に示すように、歪み手段を示す図で、その中の311、312、313、314は配置参照点で、315〜320は配置基準点であって、
図7は処理対象画像を示す図で、その中の321、322、323、324は現在の参照点で、325〜330は整合対象基準点であって、現在の参照点の数量と配置参照点の数量が同じで、対応し、整合対象基準点の数量と配置基準点の数量も同じで、対応する。
【0020】
ステップS230において、配置参照点と配置基準点との位置関係及び現在の参照点と整合対象基準点との位置関係に基づいて、五官類似性マッピングを行って、配置基準点の処理対象画像中の対応する目標基準点を得て、目標基準点は対応する整合対象基準点とマッピング点対を形成する。
【0021】
具体的に、各配置参照点を組み合わせて対応する図形を形成することができ、例えば隣接する任意の三つの点で配置三角形を形成し、四つの点で配置四角形を形成し、一方、現在の参照点についても配置参照点と同じルールの組み合せを行って対応する現在の三角形、現在の四角形等を形成することができる。配置図形と現在の図形との間の面積比、配置図形と現在の図形中の対応する図形角度比及び配置基準点と配置参照点の距離比、配置基準点と配置参照点との間に形成された線分の位置関係に基づいて、配置基準点を処理対象画像の対応位置にマッピングして、目標基準点を得る。マップング中に、まず歪み因数を計算して、歪み因数に基づいて目標基準点の位置を計算することができる。類似性マッピングを行う具体的なアルゴリズムは需要に応じて自己定義することができ、一実施例において、隣接する現在の参照点を連結して参照線分を得て、隣接する現在の参照点を連結して現在の線分を得て、配置基準点に接近する参照線分を取得して、配置基準点と参照線分の位置関係に基づいて、目標基準点と現在の線分の位置関係を決定して、位置関係に基づいて目標基準点の位置を決定し、例えば、配置基準点がちょうど参照線分上にあると、目標基準点の位置も対応する現在の線分上に位置する。目標基準点が整合対象基準点に対応し、目標基準点と整合対象基準点との間の変位オフセットが歪みモデルと処理対象画像との歪み大きさを表す。
【0022】
ステップS240において、マッピング点対中の目標基準点と整合対象基準点との位置関係及びマッピング点対と処理対象画像点との位置関係に基づいて、処理対象画像点のマッピング関係を決定し、マッピング関係に基づいて、処理対象画像点を対応する目標位置にマッピングする。
【0023】
具体的に、マッピング点対中の目標基準点と整合対象基準点との変位オフセットを計算し、目標基準点と整合対象基準点の座標によって対応する変位オフセットを計算することができ、例えば目標基準点の座標が(x、y)で、整合対象基準点の座標が(a、b)であると、変位差異は(x−a、y−b)である。ベクトルの形態で変位オフセットを表すことができる。マッピング点対の分布位置に基づいて、異なる領域に対応するマッピング点対が含まれるように処理対象画像を分割し、例えば第1の領域に第1のマッピング点対を含むと、第1の領域内の処理対象画像の点は第1のマッピング点対の影響のみを受け、他のマッピング点対は第1の領域内の処理対象画像点の歪みに影響を与えない。各領域に分割せずに、マッピング点対と処理対象画像点との距離に基づいて、各マッピング点対による処理対象画像点の歪みについての影響の重みを計算することもできる。影響重みと変位オフセットとを結合して、処理対象画像点のマッピング関係を算出し、マッピング関係に基づいて直接に処理対象画像点の歪み後の位置を決定して、処理対象画像点を対応する目標位置にマッピングすることができる。
【0024】
本実施例において、処理対象画像を取得し、処理対象画像中の顔画像を識別して、顔画像の五官基準点を位置決めし、配置参照点と配置基準点を含む歪みモデルを取得して、五官基準点において配置参照点に対応する現在の参照点と、配置基準点に対応する整合対象基準点を決定し、配置参照点と配置基準点との位置関係及び現在の参照点と整合対象基準点との位置関係に基づいて、五官の類似性マッピングを行って、配置基準点の処理対象画像中の、対応する整合対象基準点とマッピング点対を形成する対応する目標基準点を得て、マッピング点対中の目標基準点と整合対象基準点との位置関係及びマッピング点対と処理対象画像点との位置関係に基づいて、処理対象画像点のマッピング関係を決定し、マッピング関係に基づいて処理対象画像点を対応する目標位置にマッピングし、歪みモデルに配置参照点と配置基準点を含み、且つ対応する処理対象画像中の現在の参照点と整合対象基準点によって、まず五官類似性マッピング目標基準点を得て、それから処理対象画像点のマッピング関係を決定することで、処理対象画像点を対応する目標位置にマッピングし、自己適応的に歪みモデルに応じて歪み大きさを決定でき、歪み後の画像と目標画像の一致度を向上させる。
【0025】
一実施例において、歪みモデルは、複種類の五官タイプに対応する配置基準点と配置参照点を含む。
【0026】
具体的に、変形の五官タイプが異なると、対応する配置基準点と配置参照点の位置や数量も異なる。例えば、顔形状の変形の場合、配置参照点は鼻先、左右目に対応する外輪郭点、顎先点で、配置基準点は顔部外輪郭上の点である。左目歪みの場合、配置参照点が右目中央点、鼻先、右目に対応する顔部輪郭点で、配置基準点が目外輪郭上の点である。配置基準点は通常、変形する五官外輪郭上の点であって、配置参照点は需要に応じて変形した五官付近の位置決めしやすい点を選択することができる。複種類の五官タイプに対応する配置基準点と配置参照点を含み、複種類のタイプの五官歪みを一回で完成し、且つ各五官歪み間の歪み大きさが相互影響して、全般的に五官歪みを行うことができる。
【0027】
一実施例において、
図8に示すように、ステップS230はステップS231〜ステップS234を含む。
【0028】
ステップS231において、配置参照点によって形成される図形の第1の重心点を取得し、配置基準点と第1の重心点とを連結して第1の線分を形成し、第1の重心点と異なる配置参照点とを連結して第1の参照線分集合を形成する。
【0029】
具体的に、取得する配置参照点の数量は需要に応じて自己定義することができ、少なくとも三つであって、例えば任意の隣接する四つの配置参照点によって形成される四角形の第1の重心点400を取得する。配置基準点は通常、複数であって、順に各配置基準点に対応する目標基準点の位置を決定する。
図9に示すように、配置基準点410と第1の重心点400とを連結して第1の線分411を形成し、第1の重心点400と異なる配置参照点420、430、440、450を連結して第1の参照線分集合412、413、414、415を形成する。
【0030】
ステップS232において、第1の線分と第1の参照線分集合中の線分の夾角関係、第1の線分の長さ、第1の参照線分集合中の線分の長さに基づいて、歪み因数を決定する。
【0031】
具体的に、第1の線分と第1の参照線分412、413、414、415とがそれぞれ夾角ε
1、ε
2、ε
3、ε
4を形成する。第1の線分と第1の参照線分集合中の線分との距離に基づいて、歪み重みを決定することもでき、例えば第1の参照線分412、第1の参照線分集合415の歪みの重みが大きく、第1の参照線分413、414の歪みの重みが小さい。そして、第1の参照線分集合中の一部の目標線分を選択して目標夾角を計算し、歪み因数を計算する時に目標夾角のみを考慮することもでき、例えば第1の参照線分412、第1の参照線分集合415を目標線分として選択し、計算する時に目標夾角ε
1、目標夾角ε
2のみを考慮することができる。歪み因数を決定するアルゴリズムも需要に応じて自己定義することができ、例えば線形の函数と非線形の函数を利用することができる。一実施例において、線形の函数を利用し、例えば式
【0032】
具体的に、取得する現在の参照点の数量や位置は、配置参照点の数量や位置に対応し、例えば、任意の隣接する四つの現在の参照点によって形成される四角形の第2の重心点500を取得し、
図10に示すように、まず一つの目標基準点の位置を仮設し、目標基準点510と第2の重心点500とを連結して第2の線分511を形成し、第
2の重心点500と異なる配置参照点520、530、540、550とを連結して第2の参照線分集合512、513、514、515を形成し、第2の線分511と第2の参照線分512、513、514、515とによってそれぞれ第2の夾角φ
1、φ
2、φ
3、φ
4を形成する。例えば第1の線分と第1の参照線分とがそれぞれ形成した第1の夾角がε
1、ε
2、ε
3、ε
4であると、アルゴリズムを自己定義して、第1の線分と第1の参照線分とがそれぞれ形成いた夾角の関係に基づいて、第2の線分511と第2の参照線分集合中の線分との夾角を決定することができ、例えば、第2の夾角中に対応する夾角の比例が第1の夾角の比例と同様であるように、任意の二つの第1の夾角を選択して、当該二つの第1の夾角の比例を計算して、第2の線分の方向を得て、φ
1、φ
2、φ
3、φ
4の具体的な角度値を決定する。
【0033】
ステップS233において、現在の参照点によって形成された図形の第2の重心点を取得し、目標基準点と第2の重心点とを連結して第2の線分を形成し、第2の重心点と異なる現在の参照点とを連結して第2の参照線分集合を形成し、夾角関係に基づいて、第2の線分と第2の参照線分集合中の各線分の夾角を決定する。
【0034】
具体的に、取得する現在の参照点の数量や位置は、配置参照点の数量や位置に対応し、例えば、任意の隣接する四つの現在の参照点によって形成される四角形の第2の重心点500を取得し、
図10に示すように、まず一つの目標基準点の位置を仮設し、目標基準点510と第2の重心点500とを連結して第2の線分511を形成し、第1の重心点500と異なる配置参照点520、530、540、550とを連結して第2の参照線分集合512、513、514、515を形成し、第2の線分511と第2の参照線分512、513、514、515とによってそれぞれ第2の夾角φ
1、φ
2、φ
3、φ
4を形成する。例えば第1の線分と第1の参照線分とがそれぞれ形成した第1の夾角がε
1、ε
2、ε
3、ε
4であると、アルゴリズムを自己定義して、第1の線分と第1の参照線分とがそれぞれ形成いた夾角の関係に基づいて、第2の線分511と第2の参照線分集合中の線分との夾角を決定することができ、例えば、第2の夾角中に対応する夾角の比例が第1の夾角の比例と同様であるように、任意の二つの第1の夾角を選択して、当該二つの第1の夾角の比例を計算して、第2の線分の方向を得て、φ
1、φ
2、φ
3、φ
4の具体的な角度値を決定する。
【0035】
ステップS234において、歪み因数、夾角と第2の参照線分集合中の線分の長さに基づいて目標基準点の位置を決定する。
【0036】
具体的に、アルゴリズムを自己定義して目標基準点の位置を決定することができ、例えば、線形の函数と非線形の函数を利用することができ、一実施例において、式
【0037】
【数2】
に基づいて目標基準点の位置を計算し、ここで、Ddstは第2の線分511の長さで、φ
1〜φ
nはそれぞれ第2の線分と第2の参照線分集合中の線分との夾角で、nは第2の参照線分集合中の線分の数量で、第1の参照線分集合中の線分の数量と一致し、P
1〜P
nは歪みの重みで、具体的に大きさは歪み因数を計算する際に利用したのと同じである。第2の線分511の長さを決定した後、線分の一つの端点が第2の重心点500の位置によって決定され、且つ線分の方向が決定されたので、他の端点である目標基準点の位置を決定することができる。
【0038】
本実施例において、配置参照点と現在の参照点によって形成された図形重心及び各種線分長さ、角度関係によって目標基準点の位置を決定することで、目標基準点の位置を計算する精度を向上させ、変形後の処理対象画像と目標画像がさらに接近し、特徴の一致度が一層高くなる。
【0039】
一実施例において、配置参照点によって形成された図形は隣接する三つの配置参照点によって形成された配置三角形の図形で、現在の参照点によって形成された図形は配置三角形の図形と同一なルールで形成された現在三角形図形であって、
図11に示すように、ステップS230は、ステップS236〜ステップS239を含む。
【0040】
ステップS236において、配置三角形図形の配置重心点を取得し、配置基準点と配置重心点とを連結して第1の線分を形成し、配置基準点に隣接する二つの目標配置参照点を取得し、配置重心点と目標配置参照点とを連結して第1の配置参照線分と第2の配置参照線分を形成する。
【0041】
具体的に、配置参照点が四つである時、任意の隣接する三つの配置参照点によって三つの配置三角形図形を形成し、
図12に示すように、配置参照点321、322、323、324中の任意の隣接する三つによって配置三角形図形S1、S2、S3を形成する。配置基準点の位置に基づいてどの配置三角形図形で目標基準点を計算するかを決定することができ、例えば配置基準点との距離が最も近い配置三角形図形を利用することができる。
図13に示すように、配置基準点610と配置重心点600とを連結して第1の線分611を形成し、配置重心点600と配置参照点620、630とを連結して第1の配置参照線分612と第2の配置参照線分613を形成する。
【0042】
ステップS237において、第1の線分と第1の配置参照線分との夾角α、第1の線分と第2の配置参照線分との夾角β第1の線分の長さDsrc、第1の配置参照線分の長さd
1、第2の配置参照線分の長さd
2を取得し、式
【0043】
【数3】
に従って、歪み因数kを決定する。
【0044】
ステップS238において、現在三角形図形の現在の重心点を取得し、目標基準点と現在の重心点とを連結して第2の線分を形成し、目標配置参照点に対応する二つの目標現在参照点を取得し、現在の重心点と目標現在参照点とを連結して第1の現在参照線分と第2の現在参照線分を形成し、式
【0045】
【数4】
に従って、第2の線分と第1の現在参照線分との夾角α’と第2の線分と第2の現在参照線分との夾角β’を決定する。
【0046】
具体的に、
図14に示すように、まず一つの目標基準点の位置を仮設し、目標基準点710と現在の重心点700とを連結して第2の線分711を形成し、現在の重心点700と目標現在参照点720、730とを連結して第1の現在参照線分712と第2の現在参照線分713を形成し、第2の線分711と第1の現在参照線分712と第2の現在参照線分713とがそれぞれ夾角α’とβ’を形成し、式
【0047】
【数5】
に従って、α’とβ’の具体的な角度値を決定し、例えばα:β=1:2であって、第1の現在参照線分712と第2の現在参照線分713とによって形成された夾角が60°であると、α’とβ’はそれぞれ20°と40°であって、これから第2の線分の方向を得る。
【0048】
ステップS239において、第1の現在参照線分の長さd
1’、第2の現在参照線分の長さd
2’を取得して、式
【0049】
【数6】
に従って、第2の線分の長さDdstを算出して、目標基準点の位置を決定する。
【0050】
具体的に、第2の線分711の長さを決定した後、線分の一つの端点が現在の重心点700の位置によって決定され、線分の方向が決定されたので、他の端点である目標基準点の位置を決定することができる。
【0051】
本実施例において、三角形の重心を利用し、三角形の端点が少なく且つ安定的な図形であって、目標基準点の位置を高速且つ簡単に算出することができ、計算する時、配置基準点に隣接する二つの目標配置参照点で計算し、位置が近い時に影響が大きい原則を充分に考慮して、目標基準点の位置を計算する精度を確保できる。
【0052】
一実施例において、
図15に示すように、ステップS240は、ステップS241〜ステップS242を含む。
【0053】
ステップS241において、処理対象画像点と整合対象基準点との位置に基づいて、各マッピング点対に対応する影響重み因数を算出する。
【0054】
具体的に、処理対象画像点に近いマッピング点対ほど、処理対象画像点の歪みに対する影響が大きく、当該逆関係に基づいて、処理対象画像点と各整合対象基準点との位置距離を計算し、逆関係に基づいて、距離が大きいものに小さいに影響重み因数を割り当て、距離が小さいものに大きい影響重み因数を割り当てることができ、具体的な割り当てアルゴリズムは需要に応じて自己定義することができ、例えばマッピング点対の総数に応じて異なるレベルの影響重み因数を割り当てることができ、例えば四つのマッピング点対であると、四つのレベルの影響重み因数を割り当て、且つ各レベルの影響重み因数の合計は1であって、例えば0.1、0.2、0.3、0.4と割り当て、処理対象画像点と四つのマッピング点対中の整合対象基準点との距離を計算して、距離の大きさに応じて排列して対応する影響重み因数を探し、距離が最大であると影響重み因数は最小であって、これにより各マッピング点対に対応する影響重み因数を得ることができる。
【0055】
ステップS242において、各マッピング点対に対応する変位オフセットを計算し、各マッピング点対に対応する影響重み因数と変位オフセットに基づいて、処理対象画像点の変位を算出し、変位に基づいて、処理対象画像点を対応する目標位置にマッピングする。
【0056】
具体的に、マッピング点対を(S
1,D
1)、(S
2,D
2)、…、(S
n,D
n)、と表すことができ、ここで、nはマッピング点対の総数で、その中の各点はいずれも対応する座標、例えばS
1(S
1x,S
1y)があると、マッピング点対に対応する変位オフセットはD
i―S
iであって、ここでD
iは第i個のマッピング点対中の目標基準点の座標で、S
iは第i個のマッピング点対中の整合対象基準点の座標であって、座標が二次元座標であるので、変位オフセットは絶対変位距離と方向を含む。処理対象画像点の変位を画像中の全部又は一部のマッピング点対に対応する変位オフセットと対応する影響重み因数によって得ることができ、処理対象画像に予めて分割処理が行われていると、各領域内の処理対象画像点の変位は当該領域内のマッピング点対の影響のみを受け、処理対象画像点がマッピングされる対応する目標位置を計算する時、まず同一の領域内の各マッピング点対に対応する影響重み因数と変位オフセットを取得して、その後処理対象画像点がマッピングされる目標位置を算出する。
図16は点マッピングの計算を示す図で、
図16は(S
1,D
1)、(S
2,D
2)、…、(S
6,D
6)の六つのマッピング点対を含み、マッピング点対中の二つの点間の矢印は各マッピング点対に対応する変位オフセットを示し、矢印の方向は歪みの方向を示し、矢印の長さは歪みの大きさを示す。ここで、処理対象画像点Aと整合対象基準点S
1との間の点線はAとS
1との間のユークリッド距離を示す。
図17は点マッピング結果を示す図で、ここで、処理対象画像点AがA’にマッピングされ、処理対象画像点BがB’にマッピングされ、A点がマッピング点対に近いので、歪みが大きく、B点がマッピング点対から遠く離れているので、歪みが小さく、A点と(S
1,D
1)、(S
2,D
2)、(S
3,D
3)との距離が(S
4,D
4)、(S
5,D
5)、(S
6,D
6)との距離より近いので、Aについての(S
1,D
1)、(S
2,D
2)、(S
3,D
3)による影響が(S
4,D
4)、(S
5,D
5)、(S
6,D
6)より大きく、A点の歪み方向が(S
1,D
1)、(S
2,D
2)、(S
3,D
3)の変位方向に似ている。
【0057】
本実施例において、異なるマッピング点対の処理対象画像点の歪みに対する影響重みは異なっていて、全般的に歪みした状況で局部の歪みの差異を考慮して、歪み後の画像の精度が一層高くなる。
【0058】
一実施例において、ステップS241は、
【0059】
【数7】
に従って、第i個のマッピング点対に対応する影響重み因数W
iを算出することを含み、ここで、Aは処理対象画像点の位置座標を示し、S
iは第i個のマッピング点対中の整合対象基準点の座標を示し、|A―S
i|はAからSiまでの距離を示し、jはインテックスで、Nはマッピング点対の総数である。
【0060】
具体的に、|A―S
i|はAからS
iまでの距離を示し、例えばユークリッド距離である。式に従って、AからSiまでの距離が大きいほど、影響重み因数W
iが小さく、且つ式に従って算出されるN個の影響重み因数の合計は1である。
【0062】
【数8】
に従って、目標位置A’を算出することを含み、ここで、D
iは第i個のマッピング点対中の目標基準点の座標を示す。
【0063】
具体的に、Nがマッピング点対の総数であるので、処理対象画像点Aの歪み後の位置は処理対象画像中の全てのマッピング点対と関連し、局部の重み差異を考慮するともに画像の全体性を考慮した。
【0064】
本実施例において、影響重み因数を各マッピング点対と処理対象画像点との距離に基づいて自己適応的に算出することもでき、一層精確で計算が簡単であって、且つ処理対象画像中の全てのマッピング点対が現在の処理対象画像点の歪みに全て影響し、現在の処理対象画像点との距離が近いほど、影響が大きい。
【0065】
一実施例において、
図18に示すように、ステップS240においてマッピング関係に基づいて処理対象画像点を対応する目標位置にマッピングするステップは、ステップS243〜ステップS245を含む。
【0066】
ステップS243において、処理対象画像を分割して原始ブロックを得て、各原始ブロックの対応する頂点を第1の処理対象画像点とし、各原始ブロック内の他の点を第2の処理対象画像点とする。
【0067】
具体的に、分割するルールは需要に応じて自己定義することができ、例えば、三角形、四角形等に分割することができる。分割するブロックの数量によって計算の複雑度と精度が決められる。多くのブロックに分割され、各ブロックが小さいほど、計算の複雑度が高く、精度が高い。分割した後、各原始ブロックの頂点を第1の処理対象画像点として、第1の処理対象画像点は歪み中に目標歪み位置を精確に計算する必要のある点である。各原始ブロック内の他の点は第2の処理対象画像点で、第2の処理対象画像点の歪み後の位置は第1の処理対象画像点の歪み後の位置によって决定され、精確に計算する必要がなく、点の計算数を大幅に低減し、計算速度を高める。
図19は一実施例における分割を示す図で、処理対象画像を分割して複数の三角形原始ブロックを得た。
【0068】
ステップS244において、マッピング関係に基づいて、第1の処理対象画像点を対応する目標位置にマッピングして、第1の映射画像点を得て、第1の映射画像点によって原始ブロックに対応するマッピングブロックを形成する。
【0069】
具体的に、第1の処理対象画像点をマッピング関係に基づいて対応する目標位置にマッピングして第1のマッピング画像点を得て、各三角形の原始の三つの頂点のオフセット量に基づいて、ブロック全体のオフセット量を算出することができ、
図20に示すように、処理対象画像中の三角形の原始ブロック810が画像中のマッピングブロック820の位置にオフセットする。
【0070】
ステップS245において、第2の処理対象画像点を原始ブロックを処理ユニットとして原始ブロックに対応するマッピングブロック内の対応する位置にマッピングする。
【0071】
具体的に、各三角形の原始ブロック内の第2の処理対象画像点が、全て直接に対応するマッピングブロック内の対応する位置にマッピングされる。各三角形の原始ブロックの歪み後の画像中の位置を得ることができ、各三角形の原始ブロックの頂点はいずれも共有されるので、
図21に示すように、歪み後の画像も連続する画素である。歪み全般をOpenGL ES(OpenGL for Embedded Systems)を用いて実現することができ、出力画像の頂点シェーダー(Vertex Shader)の座標を調整することで、処理対象画像の歪み効果を実現できる。GPUの計算力がかなり大きいので、短時間で全ての計算プロセスを完成できる。例えば、解像度が640x480である画像の場合、ローエンド携帯端末iPod Touch 5で20ms、即ち50FPSで完成でき、リアルタイムな歪みの性能を実現できる。
【0072】
具体的な一実施例において、画像歪み処理方法の技術構成は、
図22に示すように、オンライン処理部分920とオフライン処理部分910とを含み、ここで、オフライン処理部分910は歪みモデルを生成し、検出された歪みモデル中の配置参照点と配置基準点を識別するように構成される。オフライン処理部分910は、目標歪み画像を取得するように構成された目標画像取得ユニット911と、目標歪み画像を検出して配置参照点と配置基準点を得るように構成された顔検出及び五官基準点検出ユニット912と、顔が検出されないと、人為的に標記する方式で顔が位置する領域を標記し、配置参照点と配置基準点を標記して、最終的に配置参照点と配置基準点を含む歪みモデルを得るように構成された手動標記ユニット913と、を含む。オンライン処理部分920は、処理対象である入力画像を取得するように構成された処理対象画像取得ユニット921と、処理対象画像中の顔を検出して五官の位置決めを行って、歪みモデルに対応する現在の参照点と整合対象基準点を含む五官基準点を得るように構成された基準点位置決め手段922と、歪みモデルと処理対象画像中の配置参照点と配置基準点との位置関係及び現在の参照点と整合対象基準点との位置関係に基づいて、ブロック単位でブロックの歪み量を計算するように構成されたブロック歪み量計算ユニット923と、各ブロックの歪みに基づいて、歪み後の画像全体を生成するように構成された目標歪み画像生成ユニット924と、を含む。
【0073】
一実施例において、
図23に示すように、画像歪み処理装置を提供し、
処理対象画像を取得し、処理対象画像中の顔画像を識別して、顔画像の五官基準点を位置決めするように構成された基準点位置決め手段1010と、
配置参照点と配置基準点を含む歪みモデルを取得して、五官基準点において配置参照点に対応する現在の参照点と、配置基準点に対応する整合対象基準点とを決定するように構成された基準点区別手段1020と、
配置参照点と配置基準点との位置関係及び現在の参照点と整合対象基準点との位置関係に基づいて、五官類似性マッピングを行って、配置基準点の処理対象画像中の、対応する整合対象基準点とマッピング点対を形成する対応する目標基準点を得るように構成された類似性マッピング手段1030と、
マッピング点対中の目標基準点と整合対象基準点との位置関係及びマッピング点対と処理対象画像点との位置関係に基づいて、処理対象画像点のマッピング関係を決定し、マッピング関係に基づいて、処理対象画像点を対応する目標位置にマッピングするように構成された処理対象画像点マッピング手段1040と、を含む。
【0074】
一実施例において、歪みモデルは、複種類の五官タイプに対応する配置基準点と配置参照点を含む。
【0075】
一実施例において、
図24に示すように、類似性マッピング手段1030は、
配置参照点によって形成された図形の第1の重心点を取得し、配置基準点と第1の重心点とを連結して第1の線分を形成し、第1の重心点と異なる配置参照点とを連結して第1の参照線分集合を形成し、第1の線分と第1の参照線分集合中の線分との夾角関係、第1の線分の長さ、第1の参照線分集合中の線分の長さに基づいて、歪み因数を決定するように構成された歪み因数決定ユニット1031と、
現在の参照点によって形成された図形の第2の重心点を取得し、目標基準点と第2の重心点とを連結して第2の線分を形成し、第2の重心点と異なる現在の参照点とを連結して第2の参照線分集合を形成し、夾角関係に基づいて、第2の線分と第2の参照線分集合中の各線分との夾角を決定するように構成された夾角決定ユニット1032と、
歪み因数、夾角と第2の参照線分集合中の線分の長さに基づいて、目標基準点の位置を決定するように構成された目標基準点決定ユニット1033と、を含む。
【0076】
一実施例において、配置参照点によって形成された図形は隣接する三つの配置参照点によって形成された配置三角形図形であって、現在の参照点によって形成された図形は配置三角形図形と同じルールで形成された現在三角形図形であって、歪み因数決定ユニット1031はさらに、配置三角形図形の配置重心点を取得し、配置基準点と配置重心点とを連結して第1の線分を形成し、配置基準点に隣接する二つの目標配置参照点を取得し、配置重心点と目標配置参照点とを連結して第1の配置参照線分と第2の配置参照線分を形成し、第1の線分と第1の配置参照線分との夾角α、第1の線分と第2の配置参照線分との夾角β、第1の線分の長さDsrc、第1の配置参照線分の長さd
1、第2の配置参照線分の長さd
2を取得して、式
【0077】
【数9】
に従って、歪み因数kを決定するように構成される。
【0078】
夾角決定ユニット1032はさらに、現在三角形図形の現在の重心点を取得し、目標基準点と現在の重心点とを連結して第2の線分を形成し、目標配置参照点に対応する二つの目標現在参照点を取得し、現在の重心点と目標現在参照点とを連結して第1の現在参照線分と第2の現在参照線分を形成し、式
【0079】
【数10】
に従って、前記第2の線分と第1の現在参照線分との夾角α’と第2の線分と第2の現在参照線分との夾角β’を決定するように構成される。
【0080】
目標基準点決定ユニット1033はさらに、第1の現在参照線分の長さd
1’、第2の現在参照線分の長さd
2’を取得して、式
【0081】
【数11】
に従って、第2の線分の長さDdstを算出して、前記目標基準点の位置を決定するように構成される。
【0082】
一実施例において、
図25に示すように、処理対象画像点マッピング手段1040は、
処理対象画像点と整合対象基準点との位置に基づいて、各マッピング点対に対応する影響重み因数を算出するように構成された影響重み因数計算ユニット1041と、
各マッピング点対に対応する変位オフセットを計算し、各マッピング点対に対応する影響重み因数と変位オフセットに基づいて、処理対象画像点の変位を算出し、変位に基づいて、処理対象画像点を対応する目標位置にマッピングするように構成された目標位置決定ユニット1042と、を含む。
【0083】
一実施例において、影響重み因数計算ユニット1041はさらに、式
【0084】
【数12】
に従って、第i個のマッピング点対に対応する影響重み因数W
iを計算するように構成され、ここで、Aは処理対象画像点の位置座標を示し、S
iは第i個のマッピング点対中の整合対象基準点の座標を示し、|A―S
i|はA〜S
iの距離を示し、jはインテックスで、Nはマッピング点対の総数である。
【0085】
目標位置決定ユニット1042はさらに、式
【0086】
【数13】
に従って、目標位置A’を算出するように構成され、ここで、D
iは第i個のマッピング点対中の目標基準点の座標を示す。
【0087】
一実施例において、
図26に示すように、目標位置決定ユニット1042は、
処理対象画像を分割して原始ブロックを得て、各原始ブロックの対応する頂点を第1の処理対象画像点とし、各原始ブロック内の他の点を第2の処理対象画像点とする分割ユニット1042aと、
マッピング関係に基づいて、第1の処理対象画像点を対応する目標位置にマッピングして、第1の映射画像点を得て、第1の映射画像点によって原始ブロックに対応するマッピングブロックを形成するように構成された第1のマッピングユニット1042bと、
第2の処理対象画像点を原始ブロックを処理ユニットとして原始ブロックに対応するマッピングブロック内の対応する位置にマッピングするように構成された第2のマッピングユニット1042cと、を含む。
【0088】
実際の応用において、前記画像歪み処理装置中の各ユニットが実現する機能を全て画像歪み処理装置に設置された中央処理装置(Central Processing Unit、CPU)又はマイクロプロセッサ(Micro Processor Unit、MPU)又はデジタル信号プロセッサ(Digital Signal Processor、DSP)又はフィールド・プログラマブル・ゲート・アレイ(Field Programmable Gate Array、FPGA)等によって実現されることもできる。
【0089】
上記実施例の方法のステップの全部又は一部をコンピュータプログラムによって関連するハードウェアに完成するように命令する方式で実現することができ、前記プログラムはコンピュータ読取可能な記憶媒体に記憶され、例えば本発明の実施例において、当該プログラムはコンピュータシステムの記憶媒体に記憶されることができ、またコンピュータシステムにおける少なくとも一つのプロセッサによって実行されて、上記各方法の実施例のステップを実現する。ここで、前記記憶媒体は、磁気ディスク、CD、読み出し専用メモリ(Read−Only Memory、ROM)又はランダムアクセスメモリ(Random Access Memory、RAM)等であることができる。
【0090】
対応して、本発明の実施例においてコンピュータプログラムが記憶されるコンピュータ記憶媒体を提供し、該コンピュータプログラムは本発明の実施例に係る画像歪み処理方法を実行するように構成される。
【0091】
以上に述べた実施例の各技術的特徴を任意に組み合せすることができ、説明が簡単であるように、上記実施例中の各技術的特徴の全ての組み合せを説明しているのではないが、これらの技術的特徴の組み合せが矛盾いない限り、いずれも本願に記載の範囲に含まれる。
【0092】
上述した実施例は本発明の幾つかの実施形態を表し、具体的且つ詳細に説明したが、本発明の保護範囲を限定するものではない。当業者は本発明の構想を離脱せずに様々な変形や改良が可能であって、これらは全て本発明の保護範囲に含まれる。よって、本発明の保護範囲は特許請求の範囲を基準としなければならない。