(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-15
(45)【発行日】2023-09-26
(54)【発明の名称】パノラマ画像、ビデオ合成方法、コンピュータ読み取り可能な記録媒体及びパノラマカメラ
(51)【国際特許分類】
G06T 3/40 20060101AFI20230919BHJP
G06T 3/00 20060101ALI20230919BHJP
H04N 23/60 20230101ALI20230919BHJP
【FI】
G06T3/40 720
G06T3/00 710
H04N23/60
(21)【出願番号】P 2021570386
(86)(22)【出願日】2020-05-26
(86)【国際出願番号】 CN2020092344
(87)【国際公開番号】W WO2020238897
(87)【国際公開日】2020-12-03
【審査請求日】2022-01-26
(31)【優先権主張番号】201910464435.4
(32)【優先日】2019-05-30
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】520159673
【氏名又は名称】影石創新科技股▲ふん▼有限公司
【氏名又は名称原語表記】ARASHI VISION INC.
【住所又は居所原語表記】Room 1101, 1102, 1103, 11th Floor, Building 2, Jinlitong Financial Center, 1100 Xingye Road, Haiwang Community, Xin’an Street, Bao’an District, Shenzhen, Guangdong 518000, China
(74)【代理人】
【識別番号】110002262
【氏名又は名称】TRY国際弁理士法人
(72)【発明者】
【氏名】王 果
【審査官】秦野 孝一郎
(56)【参考文献】
【文献】特開2016-040670(JP,A)
【文献】特開2018-059767(JP,A)
【文献】国際公開第98/054674(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 3/40
G06T 3/00
H04N 23/60
(57)【特許請求の範囲】
【請求項1】
パノラマ画像合成方法であって、
複数のカメラから構成されるパノラマカメラによって撮像された魚眼写真に対して、各隣接する2つのカメラによって撮像された魚眼写真に、
隣接する2つのカメラによって撮像された魚眼写真を球体モデルの対応の合成領域に写像し、重複領域を有する2枚のストライプ画像を形成するステップS101と、
2枚のストライプ画像に対して分割テンプレートマッチングを行い、初期テンプレートマッチング結果を取得するステップS102と、
領域拡張に基づくマッチングフィルタリングアルゴリズムを用いて、初期テンプレートマッチング結果をマッチングフィルタリングして最終のマッチング結果を取得するステップS103と、
最終のマッチング結果に基づいて、魚眼写真と球体モデルの対応の合成領域との写像関係を更新し、更新後の写像関係によりパノラマ合成を行ってシームレスなパノラマ画像を取得するステップS104と、を実行
し、
S102は、具体的に、
2枚のストライプ画像のいずれか1枚のストライプ画像を選択してテンプレートストライプ画像とし、もう1枚のストライプ画像をマッチング待ちストライプ画像とし、テンプレートストライプ画像をM行N列の正方行列に分割するとともに、正方行列における各正方を1つのテンプレートブロックとし、正方行列における、隣接する行が重複部分を有し、正方行列がテンプレートストライプ画像全体を被覆し、マッチング待ちストライプ画像をM行の正方領域に分割し、正方領域における、隣接する行が重複部分を有し、M及びNはいずれも1よりも大きい正整数であるステップS1021と、
マッチング待ちストライプ画像において各テンプレートブロックをテンプレートマッチングし、マッチング領域が、マッチング待ちストライプ画像における、テンプレートブロックの同一行に対応する行全体領域であり、各テンプレートブロックをテンプレートマッチングした後に1つのNCC行列を取得することで、M×N個のNCC行列を取得するステップS1022と、
各NCC行列において最大値を見つけ、最大値のNCC行列における所在位置により、マッチング待ちストライプ画像の対応領域における前記テンプレートブロックの中心位置を算出し、テンプレートストライプ画像における既知のテンプレートブロックの中心の位置に基づいて、前記テンプレートブロックの視差を計算し、各テンプレートブロックの視差を算出して初期テンプレートマッチング結果とするステップS1023と、を含むことを特徴とするパノラマ画像合成方法。
【請求項2】
S102の前に、2枚のストライプ画像にガウスぼかしを行うステップをさらに含むことを特徴とする請求項1に記載の方法。
【請求項3】
S1021のテンプレートブロックは、有効テンプレートブロックであり、
前記有効テンプレートブロックは、Cannyエッジ検出によって得られた画像の勾配情報に基づいて、各マッチング正方のテクスチャの豊かさを計算し、テクスチャの豊かさが設定閾値よりも大きい場合に有効テンプレートブロックにマーキングすることで決定されることを特徴とする請求項
1に記載の方法。
【請求項4】
S103は、具体的に、
各テンプレートブロックに対して、NCC行列を利用し、同一行で左方及び右方の双方向へ拡張して1つのマッチングブロック候補を形成し、各マッチングブロック候補に対して、視差一致性、マッチングブロック候補の幅及びNCC値で、予め設定された重み付け値によりマッチング信頼度Mを構築し、マッチング信頼度Mで各行のマッチングブロック候補をソートし、マッチング信頼度の最も高いマッチングブロック候補を選出して当該行の信頼マッチングブロックとするステップS1031と、
信頼マッチングブロックの視差一致性に基づいて、信頼マッチングブロックをクラスタリングして複数の領域を取得し、同一領域内の隣接する行の視差のx分量の差が設定閾値を超えないようにし、領域の大きさによって領域をフィルタリングし、予め設定された行数よりも少ない行数の領域を削除し、領域が形成されない行を失敗行に設定し、再び信頼マッチングブロックの視差一致性に基づいて、信頼マッチングブロックをクラスタリングして領域情報を更新するステップS1032と、
各領域を上下行に拡張するステップS1033と、
S1032を再実行するステップS1034と、を含むことを特徴とする請求項1に記載の方法。
【請求項5】
S1033は、具体的に、
各行に対して、信頼マッチングブロックの視差と領域平均値との一致性、及び信頼マッチングブロックの信頼度に基づいて予め設定された重み付け値で行の信頼度値を構築し、各行の信頼度値をソートし、信頼度値が前から予め設定された数量の行を選択して拡張開始行とし、拡張開始行を決定するステップS10331と、
拡張待ち行の各マッチング候補に対して、目前拡張行の最適マッチングと当該マッチング候補との視差一致性の尺度を計算し、視差一致性の尺度が設定された視差一致性閾値よりも大きい場合、前記視差一致性の尺度を予め設定された重み付け値として、前記マッチング候補のマッチング信頼度に更新し、マッチング信頼度で拡張待ち行のすべてのマッチング候補をソートし、前記マッチング信頼度値の最も高いマッチング候補を選択して目前拡張領域内に格納し、目前拡張行の最適マッチングと拡張待ち行の任意のマッチング候補との視差一致性の尺度がいずれも設定された視差一致性閾値よりも小さい場合、目前領域の拡張を中断して、各領域に対して複数の拡張候補領域を与え、各拡張開始行を上方及び下方の双方向に拡張するステップS10332と、
各拡張候補領域に対して、領域に含まれるマッチングブロック候補の平均マッチング信頼度及び領域の大きさで当該領域のマッチング信頼度を構築し、当該領域におけるすべてのマッチングブロック候補のマッチング信頼度に対して当該領域のマッチング信頼度を使用して割り当て、当該領域内のすべてのマッチングブロック候補を領域信頼マッチングブロックとしてマーキングし、各行の複数の領域信頼マッチングブロックに対して、マッチング信頼度の最も高い領域信頼マッチングブロックを選択して当該行の最終信頼マッチングブロックとし、当該最終信頼マッチングブロックに対応する視差は当該行の最終視差であるステップS10333と、を含むことを特徴とする請求項
4に記載の方法。
【請求項6】
S104では、具体的に、
各行の最終信頼マッチングブロックと、最終信頼マッチングブロックの対応する視差とに基づいて、魚眼写真と球体モデルの対応の合成領域との写像関係を更新し、更新後の写像関係によりパノラマ合成を行ってシームレスなパノラマ画像を取得することを特徴とする請求項
5に記載の方法。
【請求項7】
パノラマ画像合成方法は、パノラマビデオ合成に応用される場合にパノラマビデオの第1のフレームに適用され、すなわち、前記魚眼写真は、パノラマビデオの第1のフレームの対応する魚眼写真であり、パノラマビデオの中間フレームに対して、S1022の前に、
テンプレートストライプ画像における、画像静止領域、またはマッチング状態が安定する領域である静止領域を検出するステップS1051と、
前フレームの各最終信頼マッチングブロックの状態キューを解析し、検証連続失敗の回数または再マッチング失敗の回数が設定閾値よりも大きい最終信頼マッチングブロックの所在する行を失敗行にマーキングするステップS1052と、
前フレームの各最終信頼マッチングブロックに対して、その視差に基づいて、マッチング待ちストライプ画像における、前フレームの各最終信頼マッチングブロックが対応する正方領域を見つけ、この2つの等面積の領域のNCC値を計算し、NCCが設定閾値よりも大きい場合、当該最終信頼マッチングブロックを検証成功にマーキングし、最終信頼マッチングブロックの状態キューを更新し、逆の場合、当該最終信頼マッチングブロックを検証失敗にマーキングし、最終信頼マッチングブロックの状態キューを更新するステップS1053と、
各行の最終信頼マッチングブロックの状態キューを解析し、非ノードフレームの場合、最終信頼マッチングブロックの検証連続失敗の回数が設定閾値よりも大きい行を再マッチング行にし、ノードフレームの場合、全ての非静止領域の行を再マッチング行にするステップS1054と、をさらに含み、
S1022、S1023、S103及びS104に基づいてすべての再マッチング行に操作を行うとともに、最終信頼マッチングブロックの状態キューを更新し、再マッチングが成功した行に含まれる最終信頼マッチングブロックを再マッチング成功にマーキングし、再マッチングが失敗した行における最終信頼マッチングブロックを再マッチング失敗にマーキングすることを特徴とする請求項
6に記載の方法。
【請求項8】
前記テンプレートストライプ画像における、マッチング状態が安定する領域検出することは、具体的に、
テンプレートブロックの状態キューを解析し、検証成功の回数が設定閾値よりも大きくてNCC値変化が設定閾値よりも小さいテンプレートブロックの所在する行を、静止領域にマーキングすることを特徴とする請求項
7に記載の方法。
【請求項9】
コンピュータプログラムが記録されているコンピュータ読み取り可能な記録媒体であって、
前記コンピュータプログラムがプロセッサによって実行されると、請求項1~
8のいずれか一項に記載のパノラマ画像合成方法のステップを実現し、
非一時的なコンピュータ読み取り可能な記録媒体であることを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項10】
1つまたは複数のプロセッサと、メモリと、1つまたは複数のコンピュータプログラムとを含み、
前記プロセッサは、バスにより前記メモリに接続され、
前記1つまたは複数のコンピュータプログラムは、前記メモリ内に記録されているとともに、前記1つまたは複数のプロセッサによって実行されるよう設定されるパノラマカメラであって、
前記プロセッサは、前記コンピュータプログラムを実行すると、請求項1~
8のいずれか一項に記載のパノラマ画像合成方法のステップを実現することを特徴とするパノラマカメラ。
【請求項11】
パノラマ画像合成方法であって、
重複領域を有する2枚の魚眼写真に対して、
2枚の魚眼写真を球体モデルの対応の合成領域に写像し、重複領域を有する2枚のストライプ画像を形成するステップS201と、
2枚のストライプ画像に対して分割テンプレートマッチングを行い、初期テンプレートマッチング結果を取得するステップS202と、
領域拡張に基づくマッチングフィルタリングアルゴリズムを用いて、初期テンプレートマッチング結果をマッチングフィルタリングして最終のマッチング結果を取得するステップS203と、
最終のマッチング結果に基づいて、魚眼写真と球体モデルの対応の合成領域との写像関係を更新し、更新後の写像関係によりパノラマ画像合成を行ってシームレスなパノラマ画像を取得するステップS204と、を実行
し、
S202は、具体的に、
2枚のストライプ画像のいずれか1枚のストライプ画像を選択してテンプレートストライプ画像とし、もう1枚のストライプ画像をマッチング待ちストライプ画像とし、テンプレートストライプ画像をM行N列の正方行列に分割するとともに、正方行列における各正方を1つのテンプレートブロックとし、正方行列における、隣接する行が重複部分を有し、正方行列がテンプレートストライプ画像全体を被覆し、マッチング待ちストライプ画像をM行の正方領域に分割し、正方領域における、隣接する行が重複部分を有し、M及びNはいずれも1よりも大きい正整数であるステップS2021と、
マッチング待ちストライプ画像において各テンプレートブロックをテンプレートマッチングし、マッチング領域が、マッチング待ちストライプ画像における、テンプレートブロックの同一行に対応する行全体領域であり、各テンプレートブロックをテンプレートマッチングした後に1つのNCC行列を取得することで、M×N個のNCC行列を取得するステップS2022と、
各NCC行列において最大値を見つけ、最大値のNCC行列における所在位置により、マッチング待ちストライプ画像の対応領域における前記テンプレートブロックの中心位置を算出し、テンプレートストライプ画像における既知のテンプレートブロックの中心の位置に基づいて、前記テンプレートブロックの視差を計算し、各テンプレートブロックの視差を算出して初期テンプレートマッチング結果とするステップS2023と、を含むことを特徴とするパノラマ画像合成方法。
【請求項12】
S202の前に、2枚のストライプ画像にガウスぼかしを行うステップをさらに含むことを特徴とする請求項
11に記載の方法。
【請求項13】
S2021におけるテンプレートブロックは、有効テンプレートブロックであり、
前記有効テンプレートブロックは、Cannyエッジ検出によって得られた画像の勾配情報に基づいて、各マッチング正方のテクスチャの豊かさを計算し、テクスチャの豊かさが設定閾値よりも大きい場合に有効テンプレートブロックにマーキングすることで決定されることを特徴とする請求項
11に記載の方法。
【請求項14】
S203は、具体的に、
各テンプレートブロックに対して、NCC行列を利用し、同一行で左方及び右方の双方向へ拡張して1つのマッチングブロック候補を形成し、各マッチングブロック候補に対して、視差一致性、マッチングブロック候補の幅及びNCC値で、予め設定された重み付け値によりマッチング信頼度Mを構築し、マッチング信頼度Mで各行のマッチングブロック候補をソートし、マッチング信頼度の最も高いマッチングブロック候補を選出して当該行の信頼マッチングブロックとするステップS2031と、
信頼マッチングブロックの視差一致性に基づいて、信頼マッチングブロックをクラスタリングして複数の領域を取得し、同一領域内の隣接する行の視差のx分量の差が設定閾値を超えないようにし、領域の大きさによって領域をフィルタリングし、予め設定された行数よりも少ない行数の領域を削除し、領域が形成されない行を失敗行に設定し、再び信頼マッチングブロックの視差一致性に基づいて、信頼マッチングブロックをクラスタリングして領域情報を更新するステップS2032と、
各領域を上下行に拡張するステップS2033と、
S2032を再実行するステップS2034と、を含むことを特徴とする請求項
11に記載の方法。
【請求項15】
S2033は、具体的に、
各行に対して、信頼マッチングブロックの視差と領域平均値との一致性、及び信頼マッチングブロックの信頼度に基づいて予め設定された重み付け値で行の信頼度値を構築し、各行の信頼度値をソートし、信頼度値が前から予め設定された数量の行を選択して拡張開始行とし、拡張開始行を決定するステップS20331と、
拡張待ち行の各マッチング候補に対して、目前拡張行の最適マッチングと当該マッチング候補との視差一致性の尺度を計算し、視差一致性の尺度が設定された視差一致性閾値よりも大きい場合、前記視差一致性の尺度を予め設定された重み付け値として、前記マッチング候補のマッチング信頼度に更新し、マッチング信頼度で拡張待ち行のすべてのマッチング候補をソートし、前記マッチング信頼度値の最も高いマッチング候補を選択して目前拡張領域内に格納し、目前拡張行の最適マッチングと拡張待ち行の任意のマッチング候補との視差一致性の尺度がいずれも設定された視差一致性閾値よりも小さい場合、目前領域の拡張を中断して、各領域に対して複数の拡張候補領域を与え、各拡張開始行を上方及び下方の双方向に拡張するステップS20332と、
各拡張候補領域に対して、領域に含まれるマッチングブロック候補の平均マッチング信頼度及び領域の大きさで当該領域のマッチング信頼度を構築し、当該領域におけるすべてのマッチングブロック候補のマッチング信頼度に対して当該領域のマッチング信頼度を使用して割り当て、当該領域内のすべてのマッチングブロック候補を領域信頼マッチングブロックとしてマーキングし各行の複数の領域信頼マッチングブロックに対して、マッチング信頼度の最も高い領域信頼マッチングブロックを選択して当該行の最終信頼マッチングブロックとし、当該最終信頼マッチングブロックに対応する視差は当該行の最終視差であるステップS20333と、を含むことを特徴とする請求項
14に記載の方法。
【請求項16】
S204では、具体的に、
各行の最終信頼マッチングブロックと、最終信頼マッチングブロックの対応する視差とに基づいて、魚眼写真と球体モデルの対応の合成領域との写像関係を更新し、更新後の写像関係によりパノラマ合成を行ってシームレスなパノラマ画像を取得することを特徴とする請求項
15に記載の方法。
【請求項17】
パノラマビデオ合成方法であって、
前記パノラマビデオ合成方法は、請求項
11~
16のいずれか一項に記載のパノラマ画像合成方法によりパノラマビデオの第1のフレームを合成することを特徴とするパノラマビデオ合成方法。
【請求項18】
パノラマビデオ合成方法であって、
請求項
11~
16のいずれか一項に記載のパノラマ画像合成方法によりパノラマビデオの中間フレームを合成し、
S2022の前に、
テンプレートストライプ画像における、画像静止領域、またはマッチング状態が安定する領域である静止領域を検出するステップS2051と、
前フレームの各最終信頼マッチングブロックの状態キューを解析し、検証連続失敗の回数または再マッチング失敗の回数が設定閾値よりも大きい最終信頼マッチングブロックの所在する行を失敗行にマーキングするステップS2052と、
前フレームの各最終信頼マッチングブロックに対して、その視差に基づいて、マッチング待ちストライプ画像における、前フレームの各最終信頼マッチングブロックが対応する正方領域を見つけ、この2つの等面積の領域のNCC値を計算し、NCCが設定閾値よりも大きい場合、当該最終信頼マッチングブロックを検証成功にマーキングし、最終信頼マッチングブロックの状態キューを更新し、逆の場合、当該最終信頼マッチングブロックを検証失敗にマーキングし、最終信頼マッチングブロックの状態キューを更新するステップS2053と、
各行の最終信頼マッチングブロックの状態キューを解析し、非ノードフレームの場合、最終信頼マッチングブロックの検証連続失敗の回数が設定閾値よりも大きい行を再マッチング行にし、ノードフレームの場合、全ての非静止領域の行を再マッチング行にするステップS2054と、をさらに含み、
S2022、S2023、S203及びS204に基づいてすべての再マッチング行に操作を行うとともに、最終信頼マッチングブロックの状態キューを更新し、再マッチングが成功した行に含まれる最終信頼マッチングブロックを再マッチング成功にマーキングし、再マッチングが失敗した行における最終信頼マッチングブロックを再マッチング失敗にマーキングすることを特徴とする方法。
【請求項19】
前記テンプレートストライプ画像における、マッチング状態が安定する領域検出することは、具体的に、
テンプレートブロックの状態キューを解析し、検証成功の回数が設定閾値よりも大きくてNCC値変化が設定閾値よりも小さいテンプレートブロックの所在する行を、静止領域にマーキングすることを特徴とする請求項
18に記載の方法。
【請求項20】
コンピュータプログラムが記録されているコンピュータ読み取り可能な記録媒体であって、
前記コンピュータプログラムがプロセッサによって実行されると、請求項
11~
16のいずれか一項に記載のパノラマ画像合成方法のステップを実現し、
非一時的なコンピュータ読み取り可能な記録媒体であることを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項21】
コンピュータプログラムが記録されているコンピュータ読み取り可能な記録媒体であって、
前記コンピュータプログラムがプロセッサによって実行されると、請求項
17~
19のいずれか一項に記載のパノラマビデオ合成方法のステップを実現し、
非一時的なコンピュータ読み取り可能な記録媒体であることを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項22】
1つまたは複数のプロセッサと、メモリと、1つまたは複数のコンピュータプログラムとを含み、
前記プロセッサは、バスにより前記メモリに接続され、
前記1つまたは複数のコンピュータプログラムは、前記メモリ内に記録されているとともに、前記1つまたは複数のプロセッサによって実行されるよう設定されるパノラマカメラであって、
前記プロセッサは、前記コンピュータプログラムを実行すると、請求項
11~
16のいずれか一項に記載のパノラマ画像合成方法のステップを実現することを特徴とするパノラマカメラ。
【請求項23】
1つまたは複数のプロセッサと、メモリと、1つまたは複数のコンピュータプログラムとを含み、
前記プロセッサは、バスにより前記メモリに接続され、
前記1つまたは複数のコンピュータプログラムは、前記メモリ内に記録されているとともに、前記1つまたは複数のプロセッサによって実行されるよう設定されるパノラマカメラであって、
前記プロセッサは、前記コンピュータプログラムを実行すると、請求項
17~
19のいずれか一項に記載のパノラマビデオ合成方法のステップを実現することを特徴とするパノラマカメラ。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パノラマ画像、ビデオ領域に属し、特に、パノラマ画像、ビデオ合成方法、コンピュータ読み取り可能な記録媒体及びパノラマカメラに関する。
【背景技術】
【0002】
現在、パノラマ画像合成アルゴリズムの多くは、特徴点マッチングに基づく合成アルゴリズムを使用している。この種類のアルゴリズムは、一般的に、速度の速い特徴点検出アルゴリズムを使用しており、具体的に、ORB、SURF及びSIFTにより2枚の画像の特徴点を検出し、その後、最近傍マッチングアルゴリズム及びRANSACアルゴリズムを用いて特徴点に対してマッチング及びマッチングフィルタリングを行う。しかしながら、特徴点マッチングに基づく合成アルゴリズムは、(1)誤マッチングを生じやすく、効果的に除去できない誤マッチングが存在して最終の合成効果に影響を与える欠点、及び、(2)特徴点検出及びRANSACアルゴリズムのマッチングフィルタリングに基づくアルゴリズムの効率が低くて、パノラマカメラのパノラマ画像のリアルタイム合成のニーズを満たすことができないという欠点を持つ。
【発明の概要】
【発明が解決しようとする課題】
【0003】
本発明の目的は、パノラマ画像合成、ビデオ方法、コンピュータ読み取り可能な記録媒体及びパノラマカメラを提供し、特徴点マッチングに基づく合成アルゴリズムに誤マッチングを生じやすく、効果的に除去できない誤マッチングが存在して最終の合成効果に影響を与え、特徴点検出及びRANSACアルゴリズムのマッチングフィルタリングに基づくアルゴリズムの効率が低くて、パノラマカメラのパノラマ画像のリアルタイム合成のニーズを満たすことができないことを解決することである。
【課題を解決するための手段】
【0004】
第1の態様では、本発明は、パノラマ画像合成方法を提供し、複数のカメラから構成されるパノラマカメラによって撮像された魚眼写真に対して、各隣接する2つのカメラによって撮像された魚眼写真に以下のステップを実行する。
S101:隣接する2つのカメラによって撮像された魚眼写真を球体モデルの対応の合成領域に写像し、重複領域を有する2枚のストライプ画像を形成する。
S102:2枚のストライプ画像に対して分割テンプレートマッチングを行い、初期テンプレートマッチング結果を取得する。
S103:領域拡張に基づくマッチングフィルタリングアルゴリズムを用いて、初期テンプレートマッチング結果をマッチングフィルタリングして最終のマッチング結果を取得する。
S104:最終のマッチング結果に基づいて、魚眼写真と球体モデルの対応の合成領域との写像関係を更新し、更新後の写像関係によりパノラマ合成を行ってシームレスなパノラマ画像を取得する。
【0005】
第2の態様では、本発明は、パノラマ画像合成方法を提供し、重複領域を有する2枚の魚眼写真に対して、以下のステップを実行することを特徴とする。
S201:2枚の魚眼写真を球体モデルの対応の合成領域に写像し、重複領域を有する2枚のストライプ画像を形成する。
S202:2枚のストライプ画像に対して分割テンプレートマッチングを行い、初期テンプレートマッチング結果を取得する。
S203:領域拡張に基づくマッチングフィルタリングアルゴリズムを用いて、初期テンプレートマッチング結果をマッチングフィルタリングして最終のマッチング結果を取得する。
S204:最終のマッチング結果に基づいて、魚眼写真と球体モデルの対応の合成領域との写像関係を更新し、更新後の写像関係によりパノラマ画像合成を行ってシームレスなパノラマ画像を取得する。
【0006】
第3の態様では、本発明は、パノラマビデオ合成方法を提供し、前記パノラマビデオ合成方法は、第2の態様のいずれかのパノラマ画像合成方法によりパノラマビデオの第1のフレームを合成することを特徴とする。
【0007】
第4の態様では、本発明は、パノラマビデオ合成方法を提供し、前記パノラマビデオ合成方法は、第2の態様のいずれかのパノラマ画像合成方法によりパノラマビデオの中間フレームを合成し、S2022の前に、以下のステップをさらに含むことを特徴とする。
S2051:テンプレートストライプ画像における静止領域を検出する。前記静止領域は、画像静止領域、またはマッチング状態が安定する領域である。
S2052:前フレームの各最終信頼マッチングブロックの状態キューを解析し、検証連続失敗の回数または再マッチング失敗の回数が設定閾値よりも大きい最終信頼マッチングブロックの所在する行を失敗行にマーキングする。
S2053:前フレームの各最終信頼マッチングブロックに対して、その視差に基づいて、マッチング待ちストライプ画像における、前フレームの各最終信頼マッチングブロックが対応する正方領域を見つけ、この2つの等面積の領域のNCC値を計算し、NCCが設定閾値よりも大きい場合、当該最終信頼マッチングブロックを検証成功にマーキングし、最終信頼マッチングブロックの状態キューを更新し、逆の場合、当該最終信頼マッチングブロックを検証失敗にマーキングし、最終信頼マッチングブロックの状態キューを更新する。
S2054:各行の最終信頼マッチングブロックの状態キューを解析し、非ノードフレームの場合、最終信頼マッチングブロックの検証連続失敗の回数が設定閾値よりも大きい行を再マッチング行にし、ノードフレームの場合、全ての非静止領域の行を再マッチング行にする。
S2022、S2023、S203及びS204に基づいてすべての再マッチング行に操作を行うとともに、最終信頼マッチングブロックの状態キューを更新し、再マッチングが成功した行に含まれる最終信頼マッチングブロックを再マッチング成功にマーキングし、再マッチングが失敗した行における最終信頼マッチングブロックを再マッチング失敗にマーキングする。
【0008】
さらに、第4の態様の前記方法では、前記テンプレートストライプ画像における、マッチング状態が安定する領域を検出することは、具体的に、テンプレートブロックの状態キューを解析し、検証成功の回数が設定閾値よりも大きくてNCC値変化が設定閾値よりも小さいテンプレートブロックの所在する行を、静止領域にマーキングする。
【0009】
第5の態様では、本発明は、コンピュータ読み取り可能な記録媒体を提供し、前記コンピュータ読み取り可能な記録媒体は、コンピュータプログラムを記録しており、前記コンピュータプログラムがプロセッサによって実行されると、第1の態様または第2の態様のいずれかの前記パノラマ画像合成方法のステップを実現することを特徴とする。前記コンピュータ読み取り可能な記録媒体は、非一時的なコンピュータ読み取り可能な記録媒体であってもよい。
【0010】
第6の態様では、本発明は、コンピュータ読み取り可能な記録媒体を提供し、前記コンピュータ読み取り可能な記録媒体は、コンピュータプログラムを記録しており、前記コンピュータプログラムがプロセッサによって実行されると、第3の態様または第4の態様のいずれかの前記パノラマビデオ合成方法のステップを実現することを特徴とする。前記コンピュータ読み取り可能な記録媒体は、非一時的なコンピュータ読み取り可能な記録媒体であってもよい。
【0011】
第7の態様では、本発明は、パノラマカメラを提供し、1つまたは複数のプロセッサと、メモリと、1つまたは複数のコンピュータプログラムとを含み、前記プロセッサは、バスにより前記メモリに接続され、前記1つまたは複数のコンピュータプログラムは、前記メモリ内に記録されているとともに、前記1つまたは複数のプロセッサによって実行されるよう設定され、前記プロセッサは、前記コンピュータプログラムを実行すると、本発明の第1の態様または第2の態様のいずれかの前記パノラマ画像合成方法のステップを実現する。
【0012】
第8の態様では、本発明は、パノラマカメラを提供し、1つまたは複数のプロセッサと、メモリと、1つまたは複数のコンピュータプログラムとを含み、前記プロセッサは、バスにより前記メモリに接続され、前記1つまたは複数のコンピュータプログラムは、前記メモリ内に記録されているとともに、前記1つまたは複数のプロセッサによって実行されるよう設定され、前記プロセッサは、前記コンピュータプログラムを実行すると、本発明の第3の態様または第4の態様のいずれかの前記パノラマビデオ合成方法のステップを実現する。
【発明の効果】
【0013】
本発明では、隣接する2つのカメラによって撮像された魚眼写真を球体モデルの対応の合成領域に写像し、重複領域を有する2枚のストライプ画像を形成し、2枚のストライプ画像に対して分割テンプレートマッチングを行い、初期テンプレートマッチング結果を取得し、領域拡張に基づくマッチングフィルタリングルゴリズムを用いて、初期テンプレートマッチング結果をマッチングフィルタリングして最終のマッチング結果を取得し、最終のマッチング結果に基づいて、魚眼写真と球体モデルの対応の合成領域との写像関係を更新し、更新後の写像関係によりパノラマ合成を行ってシームレスなパノラマ画像を取得する。そのため、本発明の方法は、比較的に効率が高く、移動端末のリアルタイムのパノラマ画像合成のニーズを満たすことができ、特徴マッチング結果が正確かつ安定であり、シームレスな合成という良好な効果を実現することができ、ビデオに応用される場合にマッチング効果が安定してロバストであり、動的や静止、遠景、近景の、頻繁に変化するシーンに好適に適用できる。
【図面の簡単な説明】
【0014】
【
図1】本発明の第1の実施例によって提供されるパノラマ画像合成方法のフローチャートである。
【
図2】本発明の第2の実施例によって提供されるパノラマ画像合成方法のフローチャートである。
【
図3】本発明の第1の実施例によって提供されるパノラマ画像合成方法のS102のフローチャートである。
【
図4】本発明の第2の実施例によって提供されるパノラマ画像合成方法のS202のフローチャートである。
【
図5】本発明の第1の実施例によって提供されるパノラマ画像合成方法のS103または本発明の第2の実施例によって提供されるパノラマ画像合成方法のS203のフローチャートである。
【
図6】本発明の第1の実施例によって提供されるパノラマ画像合成方法のS102及びS1031、または本発明の第2の実施例によって提供されるパノラマ画像合成方法のS202及びS2031のフローを示す図である。
【
図7】本発明の第4の実施例によって提供されるパノラマカメラの具体的な構成を示すブロック図。
【発明を実施するための形態】
【0015】
以下、本発明の目的、技術的解決策及び有益な効果をより明確にさせるため、図面及び実施例を参照して本発明を更に詳細に説明する。ここで説明する具体的な実施例は、本発明を解釈するためにのみ使用され、本発明を限定するものではないことを理解されたい。
【0016】
本発明に記載される技術的解決策を説明するために、以下、具体的な実施例によって説明する。
【0017】
第1の実施例:
図1を参照し、本発明の第1の実施例によって提供されるパノラマ画像合成方法では、複数のカメラから構成されるパノラマカメラによって撮像された魚眼写真に対して、各隣接する2つのカメラによって撮像された魚眼写真に以下のステップを実行する。
S101:隣接する2つのカメラによって撮像された魚眼写真を球体モデルの対応の合成領域に写像し、重複領域を有する2枚のストライプ画像を形成する。
S102:2枚のストライプ画像に対して分割テンプレートマッチングを行い、初期テンプレートマッチング結果を取得する。
【0018】
本発明の第1の実施例では、S102の前に、2枚のストライプ画像にガウスぼかしを行い、写真のノイズを低減してマッチング精度を高めるステップ、及び/又は、2枚のストライプ画像にCannyエッジ検出を行って画像の勾配情報を取得して、後の、テクスチャのない領域の排除にデータ基礎を供給するステップを含んでもよい。
【0019】
図3及び
図6を参照し、本発明の第1の実施例では、S102は、具体的に以下のステップを含んでもよい。
S1021:2枚のストライプ画像のいずれか1枚のストライプ画像を選択してテンプレートストライプ画像とし、もう1枚のストライプ画像をマッチング待ちストライプ画像とし、テンプレートストライプ画像をM行N列の正方行列に分割するとともに、正方行列における各正方を1つのテンプレートブロックとし、正方行列における、隣接する行が重複部分を有し、正方行列がテンプレートストライプ画像全体を被覆し、マッチング待ちストライプ画像をM行の正方領域に分割し、正方領域における、隣接する行が重複部分を有し、M及びNはいずれも1よりも大きい正整数である。
S1022:マッチング待ちストライプ画像において各テンプレートブロックをテンプレートマッチングし、マッチング領域が、マッチング待ちストライプ画像における、テンプレートブロックの同一行に対応する行全体領域であり、各テンプレートブロックをテンプレートマッチングした後に1つのNCC(Normalized Cross-Correlation:正規化相互相関)行列を取得することで、M×N個のNCC行列を取得する。
S1023:各NCC行列において最大値を見つけ、最大値のNCC行列における所在位置により、マッチング待ちストライプ画像の対応領域における前記テンプレートブロックの中心位置を算出し、テンプレートストライプ画像における既知のテンプレートブロックの中心の位置に基づいて、前記テンプレートブロックの視差(Disparity)を計算し、各テンプレートブロックの視差を算出して初期テンプレートマッチング結果とする。
【0020】
本発明の第1の実施例では、S1023の最大値は、設定されたNCC閾値(例えば、0,8)よりも大きい最大値であってもよい。
【0021】
本発明の第1の実施例では、S1021のテンプレートブロックは、有効テンプレートブロックである。前記有効テンプレートブロックは、以下通りで決定される。Cannyエッジ検出によって得られた画像の勾配情報に基づいて、各マッチング正方のテクスチャの豊かさを計算し、テクスチャの豊かさが設定閾値よりも大きい場合に有効テンプレートブロックにマーキングする。
【0022】
S103:領域拡張に基づくマッチングフィルタリングアルゴリズムを用いて、初期テンプレートマッチング結果をマッチングフィルタリングして最終のマッチング結果を取得する。
【0023】
図5及び
図6を参照し、本発明の第1の実施例では、S103は、具体的に以下のステップを含んでもよい。
S1031:各テンプレートブロックに対して、NCC行列を利用し、同一行で左方及び右方の双方向へ拡張して1つのマッチングブロック候補を形成し、各マッチングブロック候補に対して、視差一致性、マッチングブロック候補の幅及びNCC値で、予め設定された重み付け値によりマッチング信頼度Mを構築し、マッチング信頼度Mで各行のマッチングブロック候補をソートし、マッチング信頼度の最も高いマッチングブロック候補を選出して当該行の信頼マッチングブロックとする。
【0024】
拡張ルールとしては、各テンプレートブロックを1つのマッチングブロックとし、1つのマッチングブロックの視差をもう1つのマッチングブロックの視差とする場合、もう1つのマッチングブロックのNCC値が設定閾値(0.8)よりも大きいと、この2つのマッチングブロックを融合して1つのマッチングブロックとすることである。
【0025】
S1032:信頼マッチングブロックの視差一致性に基づいて、信頼マッチングブロックをクラスタリングして複数の領域を取得し、同一領域内の隣接する行の視差のx分量の差が設定閾値(実験中に、最も小さい信頼マッチングブロックの幅を用いる)を超えないようにし、領域の大きさ(例えば、含まれる行数)によって領域をフィルタリングし、予め設定された行数(例えば、3行、4行等)よりも少ない行数の領域(これらの行の信頼マッチングブロックを含む)を削除し、領域が形成されない行を失敗行に設定し、再び信頼マッチングブロックの視差一致性に基づいて、信頼マッチングブロックをクラスタリングして領域情報を更新する。
【0026】
S1033:各領域を上下行に拡張し、具体的に以下のステップを含む。
S10331:拡張開始行を決定する。各行に対して、信頼マッチングブロックの視差と領域平均値との一致性、及び信頼マッチングブロックの信頼度に基づいて予め設定された重み付け値で行の信頼度値を構築し、各行の信頼度値をソートし、信頼度値が前から予め設定された数量の行(例えば、前の10行)を選択して拡張開始行とする。
S10332:各拡張開始行を上方及び下方の双方向に拡張する。拡張待ち行の各マッチング候補に対して、目前拡張行の最適マッチングと当該マッチング候補との視差一致性の尺度Cを計算し、視差一致性の尺度Cが設定された視差一致性閾値よりも大きい場合、前記視差一致性の尺度Cを予め設定された重み付け値として、前記マッチング候補のマッチング信頼度M内に更新し、マッチング信頼度Mで拡張待ち行のすべてのマッチング候補をソートし、M値の最も大きいマッチングブロック候補を選択して目前拡張領域内に格納する。目前拡張行の最適マッチングと拡張待ち行の任意のマッチング候補との視差一致性の尺度Cがいずれも設定された視差一致性閾値よりも小さい場合、目前領域の拡張を中断して、各領域に対して複数の拡張候補領域を与えることができる。
S10333:各拡張候補領域に対して、領域に含まれるマッチングブロック候補の平均マッチング信頼度及び領域の大きさで当該領域のマッチング信頼度を構築し、当該領域におけるすべてのマッチングブロック候補のマッチング信頼度Mに対して当該領域のマッチング信頼度を使用して割り当て、当該領域内のすべてのマッチングブロック候補を領域信頼マッチングブロックとしてマーキングし、各行の複数の領域信頼マッチングブロックに対して、マッチング信頼度Mの最も高い領域信頼マッチングブロックを選択して当該行の最終信頼マッチングブロックとし、当該最終信頼マッチングブロックに対応する視差は当該行の最終視差である。
S1034:S1032を再実行する。
【0027】
S104:最終のマッチング結果に基づいて、魚眼写真と球体モデルの対応の合成領域との写像関係を更新し、更新後の写像関係によりパノラマ合成を行ってシームレスなパノラマ画像を取得する。
【0028】
S104では、具体的に、各行の最終信頼マッチングブロックと、最終信頼マッチングブロックの対応する視差とに基づいて、魚眼写真と球体モデルの対応の合成領域との写像関係を更新し、更新後の写像関係によりパノラマ合成を行ってシームレスなパノラマ画像を取得する。
【0029】
本発明の第1の実施例によって提供されるパノラマ画像合成方法は、パノラマビデオ合成に応用される場合にパノラマビデオの第1のフレームに適用され、すなわち、前記魚眼写真は、パノラマビデオの第1のフレームの対応する魚眼写真であり、パノラマビデオの中間フレームに対して、S1022の前に、以下のステップをさらに含む。
S1051:テンプレートストライプ画像における静止領域を検出する。前記静止領域は、画像静止領域、またはマッチング状態が安定する領域である。
【0030】
テンプレートストライプ画像における、マッチング状態が安定する領域検出することは、具体的に、テンプレートブロックの状態キューを解析し、検証成功の回数が設定閾値(例えば、8回、9回等)よりも大きくてNCC値変化が設定閾値(例えば、0.03、0.05等)よりも小さいテンプレートブロックの所在する行を、静止領域にマーキングする。
【0031】
S1052:前フレームの各最終信頼マッチングブロックの状態キューを解析し、検証連続失敗の回数または再マッチング失敗の回数が設定閾値(例えば、3回、5回等)よりも大きい最終信頼マッチングブロックの所在する行を、失敗行にマーキングする。
【0032】
前記最終信頼マッチングブロックの状態は、検証成功、検証失敗、再マッチング成功及び再マッチング失敗である4つの状態を含む。
【0033】
S1053:前フレームの各最終信頼マッチングブロックに対して、その視差に基づいて、マッチング待ちストライプ画像における、前フレームの各最終信頼マッチングブロックが対応する正方領域を見つけ、この2つの等面積の領域のNCC値を計算し、NCCが設定閾値(例えば、0.8)よりも大きい場合、当該最終信頼マッチングブロックを検証成功にマーキングし、最終信頼マッチングブロックの状態キューを更新し、逆の場合、当該最終信頼マッチングブロックを検証失敗にマーキングし、最終信頼マッチングブロックの状態キューを更新する。
【0034】
S1054:各行の最終信頼マッチングブロックの状態キューを解析し、非ノードフレームの場合、最終信頼マッチングブロックの検証連続失敗の回数が設定閾値(例えば、非静止領域の場合に1回、静止領域の場合に3回)よりも大きい行を再マッチング行にし、ノードフレームの場合、全ての非静止領域の行を再マッチング行にする。ノードフレームとは、第1のフレームからnフレーム(例えば、20フレーム、30フレーム等)毎に設定されたフレームのことである。
【0035】
S1022、S1023、S103及びS104に基づいてすべての再マッチング行に操作を行うとともに、最終信頼マッチングブロックの状態キューを更新し、再マッチングが成功した行に含まれる最終信頼マッチングブロックを再マッチング成功にマーキングし、再マッチングが失敗した行における最終信頼マッチングブロックを再マッチング失敗にマーキングする。
【0036】
本発明では、隣接する2つのカメラによって撮像された魚眼写真を球体モデルの対応の合成領域に写像し、重複領域を有する2枚のストライプ画像を形成し、2枚のストライプ画像に対して分割テンプレートマッチングを行い、初期テンプレートマッチング結果を取得し、領域拡張に基づくマッチングフィルタリングルゴリズムを用いて、初期テンプレートマッチング結果をマッチングフィルタリングして最終のマッチング結果を取得し、最終のマッチング結果に基づいて、魚眼写真と球体モデルの対応の合成領域との写像関係を更新し、更新後の写像関係によりパノラマ合成を行ってシームレスなパノラマ画像を取得する。そのため、本発明の方法は、比較的に効率が高く、移動端末のリアルタイムのパノラマ画像合成のニーズを満たすことができ、特徴マッチング結果が正確かつ安定であり、シームレスな合成という良好な効果を実現することができ、ビデオに応用される場合にマッチング効果が安定してロバストであり、動的や静止、遠景、近景の、頻繁に変化するシーンに好適に適用できる。
【0037】
また、領域拡張に基づくマッチングフィルタリングルゴリズムを用いるため、各テンプレートブロックに対して、NCC行列を利用し、同一行で左方及び右方の双方向へ拡張し、信頼マッチングブロックの視差一致性に基づいて、信頼マッチングブロックを行ごとにクラスタリングして複数の領域を取得し、領域の大きさによって領域をフィルタリングし、各領域を上下行に拡張し、再び信頼マッチングブロックの視差一致性に基づいて、信頼マッチングブロックを行ごとにクラスタリングして複数の領域を取得し、領域の大きさによって領域をフィルタリングし、マッチングフィルタリングの精度及びアルゴリズムの効率を大幅に向上させる。
【0038】
また、マッチング検証に基づく動的ビデオフレームマッチング機構では、ビデオの第1のフレームに対して、ストライプ画像全体に分割テンプレートマッチング及びマッチングフィルタリングを行い、中間フレームに対して、マッチング検証及び状態キューにより再マッチング行を動的に更新し、再マッチング行のみに対して分割テンプレートマッチング及びマッチングフィルタリングを行うとともに、静止領域検出及び失敗行マーキングを実行する。この機構は、隣接するフレームの間のマッチング変動を減らし、マッチングの安定性を向上させ、アルゴリズムの動作効率を高める。
【0039】
第2の実施例:
図2を参照し、本発明の第2の実施例は、パノラマ画像合成方法を提供し、重複領域を有する2枚の魚眼写真に対して、以下のステップを実行する。
S201:2枚の魚眼写真を球体モデルの対応の合成領域に写像し、重複領域を有する2枚のストライプ画像を形成する。
S202:2枚のストライプ画像に対して分割テンプレートマッチングを行い、初期テンプレートマッチング結果を取得する。
【0040】
本発明の第2の実施例では、S202の前に、2枚のストライプ画像にガウスぼかしを行い、写真のノイズを低減してマッチング精度を高めるステップをさらに含んでもよい。
【0041】
図4及び
図6を参照し、本発明の第2の実施例では、S202は、具体的に以下のステップを含んでもよい。
S2021:2枚のストライプ画像のいずれか1枚のストライプ画像を選択してテンプレートストライプ画像とし、もう1枚のストライプ画像をマッチング待ちストライプ画像とし、テンプレートストライプ画像をM行N列の正方行列に分割するとともに、正方行列における各正方を1つのテンプレートブロックとし、正方行列における、隣接する行が重複部分を有し、正方行列がテンプレートストライプ画像全体を被覆し、マッチング待ちストライプ画像をM行の正方領域に分割し、正方領域における、隣接する行が重複部分を有し、M及びNはいずれも1よりも大きい正整数である。
S2022:マッチング待ちストライプ画像において各テンプレートブロックをテンプレートマッチングし、マッチング領域が、マッチング待ちストライプ画像における、テンプレートブロックの同一行に対応する行全体領域であり、各テンプレートブロックをテンプレートマッチングした後に1つのNCC(Normalized Cross-Correlation:正規化相互相関)行列を取得することで、M×N個のNCC行列を取得する。
S2023:各NCC行列において最大値を見つけ、最大値のNCC行列における所在位置により、マッチング待ちストライプ画像の対応領域における前記テンプレートブロックの中心位置を算出し、テンプレートストライプ画像における既知のテンプレートブロックの中心の位置に基づいて、前記テンプレートブロックの視差(Disparity)を計算し、各テンプレートブロックの視差を算出して初期テンプレートマッチング結果とする。
【0042】
本発明の第2の実施例では、S2023の最大値は、設定されたNCC閾値(例えば、0,8)よりも大きい最大値であってもよい。
【0043】
本発明の第2の実施例では、S2021のテンプレートブロックは、有効テンプレートブロックである。前記有効テンプレートブロックは、以下通りに決定される。Cannyエッジ検出によって得られた画像の勾配情報に基づいて、各マッチング正方のテクスチャの豊かさを計算し、テクスチャの豊かさが設定閾値よりも大きい場合に有効テンプレートブロックにマーキングする。
【0044】
S203:領域拡張に基づくマッチングフィルタリングアルゴリズムを用いて、初期テンプレートマッチング結果をマッチングフィルタリングして最終のマッチング結果を取得する。
図5及び
図6を参照し、本発明の第2の実施例では、S203は、具体的に以下のステップを含んでもよい。
S2031:各テンプレートブロックに対して、NCC行列を利用し、同一行で左方及び右方の双方向へ拡張して1つのマッチングブロック候補を形成し、各マッチングブロック候補に対して、視差一致性、マッチングブロック候補の幅及びNCC値で、予め設定された重み付け値によりマッチング信頼度Mを構築し、マッチング信頼度Mで各行のマッチングブロック候補をソートし、マッチング信頼度の最も高いマッチングブロック候補を選出して当該行の信頼マッチングブロックとする。
【0045】
拡張ルールとしては、各テンプレートブロックを1つのマッチングブロックとし、1つのマッチングブロックの視差をもう1つのマッチングブロックの視差とする場合、もう1つのマッチングブロックのNCC値が設定閾値(0.8)よりも大きいと、この2つのマッチングブロックを融合して1つのマッチングブロックとすることである。
【0046】
S2032:信頼マッチングブロックの視差一致性に基づいて、信頼マッチングブロックをクラスタリングして複数の領域を取得し、同一領域内の隣接する行の視差のx分量の差が設定閾値(実験中に、最も小さい信頼マッチングブロックの幅を用いる)を超えないようにし、領域の大きさ(例えば、含まれる行数)によって領域をフィルタリングし、予め設定された行数(例えば、3行、4行等)よりも少ない行数の領域(これらの行の信頼マッチングブロックを含む)を削除し、領域が形成されない行を失敗行に設定し、再び信頼マッチングブロックの視差一致性に基づいて、信頼マッチングブロックをクラスタリングして領域情報を更新する。
【0047】
S2033:各領域を上下行に拡張し、具体的に以下のステップを含む。
S20331:拡張開始行を決定する。各行に対して、信頼マッチングブロックの視差と領域平均値との一致性、及び信頼マッチングブロックの信頼度に基づいて予め設定された重み付け値で行の信頼度値を構築し、各行の信頼度値をソートし、信頼度値が前から予め設定された数量の行(例えば、前の10行)を選択して拡張開始行とする。
S20332:各拡張開始行を上方及び下方の双方向に拡張する。拡張待ち行の各マッチング候補に対して、目前拡張行の最適マッチングと当該マッチング候補との視差一致性の尺度Cを計算し、視差一致性の尺度Cが設定された視差一致性閾値よりも大きい場合、前記視差一致性の尺度Cを予め設定された重み付け値として、前記マッチング候補のマッチング信頼度M内に更新し、マッチング信頼度Mで拡張待ち行のすべてのマッチング候補をソートし、M値の最も大きいマッチングブロック候補を選択して目前拡張領域内に格納する。目前拡張行の最適マッチングと拡張待ち行の任意のマッチング候補との視差一致性の尺度Cがいずれも設定された視差一致性閾値よりも小さい場合、目前領域の拡張を中断して、各領域に対して複数の拡張候補領域を与えることができる。
【0048】
S20333:各拡張候補領域に対して、領域に含まれるマッチングブロック候補の平均マッチング信頼度及び領域の大きさで当該領域のマッチング信頼度を構築し、当該領域におけるすべてのマッチングブロック候補のマッチング信頼度Mに対して当該領域のマッチング信頼度を使用して割り当て、当該領域内のすべてのマッチングブロック候補を領域信頼マッチングブロックとしてマーキングし、各行の複数の領域信頼マッチングブロックに対して、マッチング信頼度Mの最も高い領域信頼マッチングブロックを選択して当該行の最終信頼マッチングブロックとし、当該最終信頼マッチングブロックに対応する視差は当該行の最終視差である。
【0049】
S2034:S2032を再実行する。
【0050】
S204:最終のマッチング結果に基づいて、魚眼写真と球体モデルの対応の合成領域との写像関係を更新し、更新後の写像関係によりパノラマ合成を行ってシームレスなパノラマ画像を取得する。
【0051】
S204では、具体的に、各行の最終信頼マッチングブロックと、最終信頼マッチングブロックの対応する視差とに基づいて、魚眼写真と球体モデルの対応の合成領域との写像関係を更新し、更新後の写像関係によりパノラマ合成を行ってシームレスなパノラマ画像を取得する。
【0052】
第3の実施例:
本発明の第3の実施例は、パノラマビデオ合成方法を提供し、前記パノラマビデオ合成方法は、第2の実施例のいずれかのパノラマ画像合成方法によりパノラマビデオの第1のフレームを合成することを特徴とする。
【0053】
第4の実施例:
本発明の第4の実施例は、パノラマビデオ合成方法を提供し、前記パノラマビデオ合成方法は、第2の実施例のいずれかのパノラマ画像合成方法によりパノラマビデオの中間フレームを合成し、S2022の前に、以下のステップをさらに含む。
S2051:テンプレートストライプ画像における静止領域を検出する。前記静止領域は、画像静止領域、またはマッチング状態が安定する領域である。
【0054】
テンプレートストライプ画像における、マッチング状態が安定する領域検出することは、具体的に、テンプレートブロックの状態キューを解析し、検証成功の回数が設定閾値(例えば、8回、9回等)よりも大きくてNCC値変化が設定閾値(例えば、0.03、0.05等)よりも小さいテンプレートブロックの所在する行を、静止領域にマーキングする。
【0055】
S2052:前フレームの各最終信頼マッチングブロックの状態キューを解析し、検証連続失敗の回数または再マッチング失敗の回数が設定閾値(例えば、3回、5回等)よりも大きい最終信頼マッチングブロックの所在する行を、失敗行にマーキングする。
【0056】
前記最終信頼マッチングブロックの状態は、検証成功、検証失敗、再マッチング成功及び再マッチング失敗である4つの状態を含む。
【0057】
S2053:前フレームの各最終信頼マッチングブロックに対して、その視差に基づいて、マッチング待ちストライプ画像における、前フレームの各最終信頼マッチングブロックが対応する正方領域を見つけ、この2つの等面積の領域のNCC値を計算し、NCCが設定閾値(例えば、0.8)よりも大きい場合、当該最終信頼マッチングブロックを検証成功にマーキングし、最終信頼マッチングブロックの状態キューを更新し、逆の場合、当該最終信頼マッチングブロックを検証失敗にマーキングし、最終信頼マッチングブロックの状態キューを更新する。
【0058】
S2054:各行の最終信頼マッチングブロックの状態キューを解析し、非ノードフレームの場合、最終信頼マッチングブロックの検証連続失敗の回数が設定閾値(例えば、非静止領域の場合に1回、静止領域の場合に3回)よりも大きい行を再マッチング行にし、ノードフレームの場合、全ての非静止領域の行を再マッチング行にする。ノードフレームとは、第1のフレームからnフレーム(例えば、20フレーム、30フレーム等)毎に設定されたフレームのことである。
【0059】
S2022、S2023、S203及びS204に基づいてすべての再マッチング行に操作を行うとともに、最終信頼マッチングブロックの状態キューを更新し、再マッチングが成功した行に含まれる最終信頼マッチングブロックを再マッチング成功にマーキングし、再マッチングが失敗した行における最終信頼マッチングブロックを再マッチング失敗にマーキングする。
【0060】
本発明では、2枚の魚眼写真を球体モデルの対応の合成領域に写像し、重複領域を有する2枚のストライプ画像を形成し、重複領域を有する2枚のストライプ画像を形成し、2枚のストライプ画像に対して分割テンプレートマッチングを行い、初期テンプレートマッチング結果を取得し、領域拡張に基づくマッチングフィルタリングルゴリズムを用いて、初期テンプレートマッチング結果をマッチングフィルタリングして最終のマッチング結果を取得し、最終のマッチング結果に基づいて、魚眼写真と球体モデルの対応の合成領域との写像関係を更新し、更新後の写像関係によりパノラマ合成を行ってシームレスなパノラマ画像を取得する。そのため、本発明の方法は、比較的に効率が高く、移動端末のリアルタイムのパノラマ画像合成のニーズを満たすことができ、特徴マッチング結果が正確かつ安定であり、シームレスな合成という良好な効果を実現することができ、ビデオに応用される場合にマッチング効果が安定してロバストであり、動的や静止、遠景、近景の、頻繁に変化するシーンに好適に適用できる。
【0061】
また、領域拡張に基づくマッチングフィルタリングルゴリズムを用いるため、各テンプレートブロックに対して、NCC行列を利用し、同一行で左方及び右方の双方向へ拡張し、信頼マッチングブロックの視差一致性に基づいて、信頼マッチングブロックを行ごとにクラスタリングして複数の領域を取得し、領域の大きさによって領域をフィルタリングし、各領域を上下行に拡張し、再び信頼マッチングブロックの視差一致性に基づいて、信頼マッチングブロックを行ごとにクラスタリングして複数の領域を取得し、領域の大きさによって領域をフィルタリングし、マッチングフィルタリングの精度及びアルゴリズムの効率を大幅に向上させる。
【0062】
また、マッチング検証に基づく動的ビデオフレームマッチング機構では、ビデオの第1のフレームに対して、ストライプ画像全体に分割テンプレートマッチング及びマッチングフィルタリングを行い、中間フレームに対して、マッチング検証及び状態キューにより再マッチング行を動的に更新し、再マッチング行のみに対して分割テンプレートマッチング及びマッチングフィルタリングを行うとともに、静止領域検出及び失敗行マーキングを実行する。この機構は、隣接するフレームの間のマッチング変動を減らし、マッチングの安定性を向上させ、アルゴリズムの動作効率を高める。
【0063】
第5の実施例:
本発明の第5の実施例は、コンピュータ読み取り可能な記録媒体を提供し、前記コンピュータ読み取り可能な記録媒体は、コンピュータプログラムを記録しており、前記コンピュータプログラムがプロセッサによって実行されると、第1の実施例または第2の実施例のいずれかのパノラマ画像合成方法のステップを実現することを特徴とする。前記コンピュータ読み取り可能な記録媒体は、非一時的なコンピュータ読み取り可能な記録媒体であってもよい。
【0064】
第6の実施例:
本発明の第6の実施例は、コンピュータ読み取り可能な記録媒体を提供する。前記コンピュータ読み取り可能な記録媒体は、コンピュータプログラムを記録しており、前記コンピュータプログラムがプロセッサによって実行されると、第3の実施例または第4の実施例のいずれかのパノラマビデオ合成方法のステップを実現する。前記コンピュータ読み取り可能な記録媒体は、非一時的なコンピュータ読み取り可能な記録媒体であってもよい。
【0065】
第7の実施例:
図7は、本発明の実施例5によって提供される携帯端末の具体的な構成を示すブロック図。携帯端末100は、1つまたは複数のプロセッサ101と、メモリ102と、1つまたは複数のコンピュータプログラムとを含み、前記プロセッサ101は、バスにより前記メモリ102に接続され、前記1つまたは複数のコンピュータプログラムは、前記メモリ102内に記録されているとともに、前記1つまたは複数のプロセッサ101によって実行されるよう設定され、前記プロセッサ101は、前記コンピュータプログラムを実行すると、本発明の第1の実施例または第2の実施例によって提供されるパノラマ画像合成方法のステップを実現する。
【0066】
第8の実施例:
図7は、本発明の実施例6によって提供される携帯端末の具体的な構成を示すブロック図であり、携帯端末100は、1つまたは複数のプロセッサ101と、メモリ102と、1つまたは複数のコンピュータプログラムとを含み、前記プロセッサ101は、バスにより前記メモリ102に接続され、前記1つまたは複数のコンピュータプログラムは、前記メモリ102内に記録されているとともに、前記1つまたは複数のプロセッサ101によって実行されるよう設定され、前記プロセッサ101は、前記コンピュータプログラムを実行すると、本発明の第3の実施例または第4の実施例によって提供されるパノラマビデオ合成方法のステップを実現する。
【0067】
本発明の実施例において、当業者であれば、上記の実施例に記載された方法の全て又は一部のステップが、プログラムによって関連するハードウェアを命令して完了できることを理解することができる。当該プログラムは、コンピュータ読み取り可能な記録媒体に記録されることが可能であり、記録媒体は、ROM(Read Only Memory)、RAM(Random Access Memory)、磁気ディスク、又は光ディスク等を含むことができる。
【0068】
上記は、本発明の好ましい実施例に過ぎず、本発明を制限するものではない。本発明の精神と原則を逸脱することなく行われる、いかなる修正、同等の変更及び改善なども、本発明の保護範囲内に属するべきである。