IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ネイバーウェブトゥーン リミテッドの特許一覧

特開2025-28764複合攻撃を利用してウォーターマーキングモデルを学習する方法、コンピュータ装置、およびコンピュータプログラム
<>
  • 特開-複合攻撃を利用してウォーターマーキングモデルを学習する方法、コンピュータ装置、およびコンピュータプログラム 図1
  • 特開-複合攻撃を利用してウォーターマーキングモデルを学習する方法、コンピュータ装置、およびコンピュータプログラム 図2
  • 特開-複合攻撃を利用してウォーターマーキングモデルを学習する方法、コンピュータ装置、およびコンピュータプログラム 図3
  • 特開-複合攻撃を利用してウォーターマーキングモデルを学習する方法、コンピュータ装置、およびコンピュータプログラム 図4
  • 特開-複合攻撃を利用してウォーターマーキングモデルを学習する方法、コンピュータ装置、およびコンピュータプログラム 図5
  • 特開-複合攻撃を利用してウォーターマーキングモデルを学習する方法、コンピュータ装置、およびコンピュータプログラム 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025028764
(43)【公開日】2025-03-03
(54)【発明の名称】複合攻撃を利用してウォーターマーキングモデルを学習する方法、コンピュータ装置、およびコンピュータプログラム
(51)【国際特許分類】
   H04N 1/32 20060101AFI20250221BHJP
   G06F 21/55 20130101ALI20250221BHJP
   H04N 21/8358 20110101ALI20250221BHJP
【FI】
H04N1/32 144
G06F21/55
H04N21/8358
【審査請求】有
【請求項の数】20
【出願形態】OL
(21)【出願番号】P 2024122928
(22)【出願日】2024-07-30
(31)【優先権主張番号】10-2023-0108569
(32)【優先日】2023-08-18
(33)【優先権主張国・地域又は機関】KR
(71)【出願人】
【識別番号】520498343
【氏名又は名称】ネイバーウェブトゥーン リミテッド
(74)【代理人】
【識別番号】110004381
【氏名又は名称】弁理士法人ITOH
(72)【発明者】
【氏名】アン,ウォンヒョク
(72)【発明者】
【氏名】ソ,チュンヒョン
(72)【発明者】
【氏名】ナム,スンフン
(72)【発明者】
【氏名】カン,ジヒョン
【テーマコード(参考)】
5C164
【Fターム(参考)】
5C164MB35P
5C164SB01S
(57)【要約】
【課題】複合攻撃を利用してウォーターマーキングモデルを学習する方法、コンピュータ装置、およびコンピュータプログラムを提供する。
【解決手段】ウォーターマーキングモデル学習方法は、ウォーターマーキングモデルの学習のための全体エポック(epoch)を少なくとも2つ以上の段階に分け、段階ごとに学習に適用しようとするターゲット攻撃タイプを設定するステップを含み、前記設定するステップは、前記段階にともなって最大攻撃タイプの数を次第に増やして設定する。
【選択図】図3
【特許請求の範囲】
【請求項1】
コンピュータ装置で実行されるウォーターマーキングモデル学習方法であって、
前記コンピュータ装置は、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、
当該ウォーターマーキングモデル学習方法は、
前記少なくとも1つのプロセッサにより、ウォーターマーキングモデルの学習のための全体エポック(epoch)を少なくとも2つ以上の段階に分け、段階ごとに学習に適用しようとするターゲット攻撃タイプを設定するステップ
を含み、
前記設定するステップは、
前記段階にともなって最大攻撃タイプの数を次第に増やして設定すること
を特徴とする、ウォーターマーキングモデル学習方法。
【請求項2】
前記設定するステップは、
学習が始まる初期段階の場合には単一攻撃タイプを設定し、以後の学習段階の場合には少なくとも2つ以上の攻撃タイプを設定すること
を特徴とする、請求項1に記載のウォーターマーキングモデル学習方法。
【請求項3】
前記設定するステップは、
前記段階ごとに、該当となる段階の最大攻撃タイプ数に応じて、攻撃タイプリストのうちから前記ターゲット攻撃タイプをランダムに選択するステップ
を含む、請求項1に記載のウォーターマーキングモデル学習方法。
【請求項4】
当該ウォーターマーキングモデル学習方法は、
前記少なくとも1つのプロセッサにより、前記全体エポックの段階ごとに、該当となる段階に設定された前記ターゲット攻撃タイプに対応する学習バッチ(batch)を構成するステップ
をさらに含む、請求項1に記載のウォーターマーキングモデル学習方法。
【請求項5】
前記構成するステップは、
原本維持率と攻撃適用率に基づいて原本サンプルと攻撃サンプルからなる前記学習バッチを構成し、
前記原本サンプルは、攻撃が適用されていない学習サンプルであり、
前記攻撃サンプルは、前記ターゲット攻撃タイプが適用された学習サンプルであること
を特徴とする、請求項4に記載のウォーターマーキングモデル学習方法。
【請求項6】
前記構成するステップは、
データセットからランダムサンプリングによって学習サンプルを選定するステップ、および
前記学習サンプルのうちの少なくとも一部に前記ターゲット攻撃タイプを適用して攻撃サンプルを生成するステップ
を含む、請求項4に記載のウォーターマーキングモデル学習方法。
【請求項7】
前記構成するステップは、
前記ターゲット攻撃タイプを適用した学習サンプルとして、前記ターゲット攻撃タイプのパラメータ範囲内でターゲットパラメータをランダムに設定して、前記ターゲットパラメータが互いに異なるサンプルを前記学習バッチとして構成すること
を特徴とする、請求項4に記載のウォーターマーキングモデル学習方法。
【請求項8】
前記構成するステップは、
前記ターゲット攻撃タイプが少なくとも2つ以上設定された段階の場合、前記ターゲット攻撃タイプのうちの少なくとも1つを適用した学習サンプルを生成して前記学習バッチを構成すること
を特徴とする、請求項4に記載のウォーターマーキングモデル学習方法。
【請求項9】
前記構成するステップは、
前記ターゲット攻撃タイプが少なくとも2つ以上設定された段階の場合、前記ターゲット攻撃タイプの組み合わせと適用順序のうちの少なくとも1つが異なる学習サンプルを生成して前記学習バッチを構成すること
を特徴とする、請求項4に記載のウォーターマーキングモデル学習方法。
【請求項10】
前記構成するステップは、
前記ターゲット攻撃タイプのうちで微分が不可能な攻撃タイプの場合、近似(approximation)関数に基づいて微分可能な攻撃タイプに代替して前記学習バッチを構成すること
を特徴とする、請求項4に記載のウォーターマーキングモデル学習方法。
【請求項11】
請求項1~10のうちのいずれか一項に記載のウォーターマーキングモデル学習方法をコンピュータ装置に実行させるためにコンピュータ読み取り可能な記録媒体に記録された、コンピュータプログラム。
【請求項12】
コンピュータ装置であって、
メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサ
を含み、
前記少なくとも1つのプロセッサは、
ウォーターマーキングモデルの学習のための全体エポックを少なくとも2つ以上の段階に分け、段階ごとに学習に適用しようとするターゲット攻撃タイプを設定するものであって、
前記段階にともなって最大攻撃タイプの数を次第に増やして設定すること
を特徴とする、コンピュータ装置。
【請求項13】
前記少なくとも1つのプロセッサは、
学習が始まる初期段階では単一攻撃タイプを設定し、以後の学習段階では少なくとも2つ以上の攻撃タイプを設定すること
を特徴とする、請求項12に記載のコンピュータ装置。
【請求項14】
前記少なくとも1つのプロセッサは、
前記段階ごとに、該当となる段階の最大攻撃タイプ数に応じて、攻撃タイプリストのうちから前記ターゲット攻撃タイプをランダムに選択すること
を特徴とする、請求項12に記載のコンピュータ装置。
【請求項15】
前記少なくとも1つのプロセッサは、
前記全体エポックの段階ごとに、該当となる段階に設定された前記ターゲット攻撃タイプに対応する学習バッチを構成すること
を特徴とする、請求項12に記載のコンピュータ装置。
【請求項16】
前記少なくとも1つのプロセッサは、
原本維持率と攻撃適用率に基づいて原本サンプルと攻撃サンプルからなる前記学習バッチを構成し、
前記原本サンプルは、攻撃が適用されていない学習サンプルであり、
前記攻撃サンプルは、前記ターゲット攻撃タイプが適用された学習サンプルであること
を特徴とする、請求項15に記載のコンピュータ装置。
【請求項17】
前記少なくとも1つのプロセッサは、
データセットからランダムサンプリングによって学習サンプルを選定し、
前記学習サンプルの少なくとも一部に前記ターゲット攻撃タイプを適用して攻撃サンプルを生成すること
を特徴とする、請求項15に記載のコンピュータ装置。
【請求項18】
前記少なくとも1つのプロセッサは、
前記ターゲット攻撃タイプを適用した学習サンプルとして、前記ターゲット攻撃タイプのパラメータ範囲内でターゲットパラメータをランダムに設定して、前記ターゲットパラメータが互いに異なるサンプルを前記学習バッチとして構成すること
を特徴とする、請求項15に記載のコンピュータ装置。
【請求項19】
前記少なくとも1つのプロセッサは、
前記ターゲット攻撃タイプが少なくとも2つ以上設定された段階の場合、前記ターゲット攻撃タイプのうちの少なくとも1つを適用した学習サンプルを生成して前記学習バッチを構成すること
を特徴とする、請求項15に記載のコンピュータ装置。
【請求項20】
前記少なくとも1つのプロセッサは、
前記ターゲット攻撃タイプが少なくとも2つ以上設定された段階の場合、前記ターゲット攻撃タイプの組み合わせと適用順序の少なくとも1つが異なる学習サンプルを生成して前記学習バッチを構成すること
を特徴とする、請求項15に記載のコンピュータ装置。
【発明の詳細な説明】
【技術分野】
【0001】
以下の説明は、ウォーターマーク画像の非可視性と強靭性を高める技術に関する。
【背景技術】
【0002】
デジタルウォーターマーキングとは、画像、オーディオ、ビデオなどのようなデジタルコンテンツ内に著作権のような付加情報を非認知的に挿入して抽出する技術であって、近年はデジタルウォーターマーキングに対する研究が盛んに行われている。
【0003】
一般的に、画像ウォーターマーキング方法は、画像の空間(spatial)領域や周波数(frequency)領域にウォーターマークを挿入し、これを抽出するときには、特定のフィルタを利用して挿入領域からウォーターマーク信号を推定する方法を使用する。
【0004】
空間領域と周波数領域におけるウォーターマークの挿入を比較してみると、空間領域でウォーターマークを挿入した場合には、比較的平易な画像の歪みに対しても敏感であるという特性を有するため、強靭性というウォーターマークが備えるべき特性を満たすことができない。
【0005】
この反面、イメージ画像を周波数領域に変換した後にウォーターマークを挿入すると、空間領域を使用する場合よりは強靭な特性を有するようにはなるが、ウォーターマークの挿入位置によっては、画質の低下とともにウォーターマークの強靭性に多くの影響を受けるようになる。
【0006】
例えば、特許文献1(公開日2009年10月21日)には、デジタルウォーターマーキングされた画像に対して、ウィナーフィルタ(Wiener filter)を利用してウォーターマークを抽出する技術が開示されている。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】韓国特許出願公開第10-2009-0109849号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
ウォーターマーク画像に対して、非可視性の低下を最小化しながらもターゲット攻撃に対する強靭性を最大化する学習技術を提供する。
【0009】
ターゲット攻撃が適用された攻撃サンプルをターゲット攻撃が適用されていない原本サンプルとともに使用して非可視性の低下を防ぐ学習技術を提供する。
【0010】
学習初期には単一攻撃を適用し、学習の進行にともなって段階的に複合的な攻撃を適用して攻撃に対する強靭性を高める学習技術を提供する。
【課題を解決するための手段】
【0011】
コンピュータ装置で実行されるウォーターマーキングモデル学習方法であって、前記コンピュータ装置は、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、当該ウォーターマーキングモデル学習方法は、前記少なくとも1つのプロセッサにより、ウォーターマーキングモデルの学習のための全体エポック(epoch)を少なくとも2つ以上の段階に分け、段階ごとに学習に適用しようとするターゲット攻撃タイプを設定するステップを含み、前記設定するステップは、前記段階にともなって最大攻撃タイプの数を次第に増やして設定することを特徴とする、ウォーターマーキングモデル学習方法を提供する。
【0012】
一側によると、前記設定するステップは、学習が始まる初期段階の場合には単一攻撃タイプを設定し、以後の学習段階の場合には少なくとも2つ以上の攻撃タイプを設定してよい。
【0013】
他の側面によると、前記設定するステップは、前記段階ごとに、該当となる段階の最大攻撃タイプ数に応じて、攻撃タイプリストのうちから前記ターゲット攻撃タイプをランダムに選択するステップを含んでよい。
【0014】
また他の側面によると、当該ウォーターマーキングモデル学習方法は、前記少なくとも1つのプロセッサにより、前記全体エポックの段階ごとに、該当となる段階に設定された前記ターゲット攻撃タイプに対応する学習バッチ(batch)を構成するステップをさらに含んでよい。
【0015】
また他の側面によると、前記構成するステップは、原本維持率と攻撃適用率に基づいて原本サンプルと攻撃サンプルからなる前記学習バッチを構成し、前記原本サンプルは攻撃が適用されていない学習サンプルであり、前記攻撃サンプルは前記ターゲット攻撃タイプが適用された学習サンプルであってよい。
【0016】
また他の側面によると、前記構成するステップは、データセットからランダムサンプリングによって学習サンプルを選定するステップ、および前記学習サンプルのうちの少なくとも一部に前記ターゲット攻撃タイプを適用して攻撃サンプルを生成するステップを含んでよい。
【0017】
また他の側面によると、前記構成するステップは、前記ターゲット攻撃タイプを適用した学習サンプルとして前記ターゲット攻撃タイプのパラメータ範囲内でターゲットパラメータをランダムに設定して、前記ターゲットパラメータが互いに異なるサンプルを前記学習バッチとして構成してよい。
【0018】
また他の側面によると、前記構成するステップは、前記ターゲット攻撃タイプが少なくとも2つ以上設定された段階の場合、前記ターゲット攻撃タイプのうちの少なくとも1つを適用した学習サンプルを生成して前記学習バッチを構成してよい。
【0019】
また他の側面によると、前記構成するステップは、前記ターゲット攻撃タイプが少なくとも2つ以上設定された段階の場合、前記ターゲット攻撃タイプの組み合わせと適用順序のうちの少なくとも1つが異なる学習サンプルを生成して前記学習バッチを構成してよい。
【0020】
さらに他の側面によると、前記構成するステップは、前記ターゲット攻撃タイプのうちで微分が不可能な攻撃タイプの場合、近似(approximation)関数に基づいて微分が可能な攻撃タイプに替えて前記学習バッチを構成してよい。
【0021】
前記ウォーターマーキングモデル学習方法をコンピュータ装置に実行させるためにコンピュータ読み取り可能な記録媒体に記録されるコンピュータプログラムを提供する。
【0022】
コンピュータ装置であって、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、前記少なくとも1つのプロセッサは、ウォーターマーキングモデルの学習のための全体エポックを少なくとも2つ以上の段階に分け、段階ごとに学習に適用しようとするターゲット攻撃タイプを設定するものであって、前記段階にともなって最大攻撃タイプの数を次第に増やして設定することを特徴とする、コンピュータ装置を提供する。
【発明の効果】
【0023】
本発明の実施形態によると、ターゲット攻撃が適用された攻撃サンプルをターゲット攻撃が適用されていない原本サンプルとともに使用してウォーターマーキングモデルを学習することによって、ウォーターマーク画像の非可視性の低下を最大限に防ぐことができる。
【0024】
本発明の実施形態によると、学習初期には単一攻撃を適用し、学習の進行にともなって段階的に複合的な攻撃を適用してウォーターマーキングモデルを学習することによって、ウォーターマーク画像の強靭性を最大化することができる。
【図面の簡単な説明】
【0025】
図1】本発明の一実施形態における、ネットワーク環境の例を示した図である。
図2】本発明の一実施形態における、コンピュータ装置の例を示したブロック図である。
図3】本発明の一実施形態における、コンピュータ装置が実行することができる方法の一例を示したフローチャートである。
図4】本発明の一実施形態における、ウォーターマーキングモデルの全体構造を示した例示図である。
図5】本発明の一実施形態における、ウォーターマーキングモデル学習のためのターゲット攻撃を示した例示図である。
図6】本発明の一実施形態における、ウォーターマーキングモデル学習のためのターゲット攻撃を示した例示図である。
【発明を実施するための形態】
【0026】
以下、本発明の実施形態について、添付の図面を参照しながら詳しく説明する。
【0027】
本発明の実施形態は、ウォーターマーク画像の非可視性と強靭性を高めるための技術に関する。
【0028】
本明細書で具体的に開示される事項を含む実施形態は、ウォーターマーク画像に対する非可視性の低下を最小限に抑えながらも、ターゲット攻撃に対する強靭性を最大化するための学習方法論を提供する。
【0029】
本発明の実施形態に係るウォーターマーキングモデル学習システムは、少なくとも1つのコンピュータ装置によって実現されてよく、本発明の実施形態に係るウォーターマーキングモデル学習方法は、ウォーターマーキングモデル学習システムに含まれる少なくとも1つのコンピュータ装置によって実行されてよい。このとき、コンピュータ装置においては、本発明の一実施形態に係るコンピュータプログラムがインストールされて実行されてよく、コンピュータ装置は、実行されたコンピュータプログラムの制御にしたがって本発明の実施形態に係るウォーターマーキングモデル学習方法を実行してよい。上述したコンピュータプログラムは、コンピュータ装置と結合してウォーターマーキングモデル学習方法をコンピュータに実行させるために、コンピュータ読み取り可能な記録媒体に記録されてよい。
【0030】
図1は、本発明の一実施形態における、ネットワーク環境の例を示した図である。図1のネットワーク環境は、複数の電子機器110、120、130、140、複数のサーバ150、160、およびネットワーク170を含む例を示している。このような図1は、発明の説明のための一例に過ぎず、電子機器の数やサーバの数が図1のように限定されることはない。また、図1のネットワーク環境は、本実施形態に適用可能な環境のうちの一例を説明したものに過ぎず、本実施形態に適用可能な環境が図1のネットワーク環境に限定されることはない。
【0031】
複数の電子機器110、120、130、140は、コンピュータ装置によって実現される固定端末や移動端末であってよい。複数の電子機器110、120、130、140の例としては、スマートフォン、携帯電話、ナビゲーション、PC(personal computer)、ノート型PC、デジタル放送用端末、PDA(Personal Digital Assistant)、PMP(Portable Multimedia Player)、タブレットなどがある。一例として、図1では、電子機器110の例としてスマートフォンを示しているが、本発明の実施形態において、電子機器110は、実質的に無線または有線通信方式を利用し、ネットワーク170を介して他の電子機器120、130、140および/またはサーバ150、160と通信することのできる多様な物理的なコンピュータ装置のうちの1つを意味してよい。
【0032】
通信方式が限定されることはなく、ネットワーク170が含むことのできる通信網(一例として、移動通信網、有線インターネット、無線インターネット、放送網)を利用する通信方式だけではなく、機器間の近距離無線通信が含まれてもよい。例えば、ネットワーク170は、PAN(personal area network)、LAN(local area network)、CAN(campus area network)、MAN(metropolitan area network)、WAN(wide area network)、BBN(broadband network)、インターネットなどのネットワークのうちの1つ以上の任意のネットワークを含んでよい。さらに、ネットワーク170は、バスネットワーク、スターネットワーク、リングネットワーク、メッシュネットワーク、スター-バスネットワーク、ツリーまたは階層的ネットワークなどを含むネットワークトポロジのうちの任意の1つ以上を含んでもよいが、これらに限定されることはない。
【0033】
サーバ150、160それぞれは、複数の電子機器110、120、130、140とネットワーク170を介して通信して命令、コード、ファイル、コンテンツ、サービスなどを提供する1つ以上のコンピュータ装置によって実現されてよい。例えば、サーバ150は、ネットワーク170を介して接続した複数の電子機器110、120、130、140にサービス(一例として、コンテンツ複製防止サービスなど)を提供するシステムであってよい。
【0034】
図2は、本発明の一実施形態における、コンピュータ装置の例を示したブロック図である。上述した複数の電子機器110、120、130、140それぞれやサーバ150、160それぞれは、図2に示したコンピュータ装置200によって実現されてよい。
【0035】
このようなコンピュータ装置200は、図2に示すように、メモリ210、プロセッサ220、通信インタフェース230、および入力/出力インタフェース240を含んでよい。メモリ210は、コンピュータ読み取り可能な記録媒体であって、RAM(random access memory)、ROM(read only memory)、およびディスクドライブのような永続的大容量記録装置を含んでよい。ここで、ROMやディスクドライブのような永続的大容量記録装置は、メモリ210とは区分される別の永続的記録装置としてコンピュータ装置200に含まれてもよい。また、メモリ210には、オペレーティングシステムと、少なくとも1つのプログラムコードが記録されてよい。このようなソフトウェア構成要素は、メモリ210とは別のコンピュータ読み取り可能な記録媒体からメモリ210にロードされてよい。このような別のコンピュータ読み取り可能な記録媒体は、フロッピー(登録商標)ドライブ、ディスク、テープ、DVD/CD-ROMドライブ、メモリカードなどのコンピュータ読み取り可能な記録媒体を含んでよい。他の実施形態において、ソフトウェア構成要素は、コンピュータ読み取り可能な記録媒体ではない通信インタフェース230を通じてメモリ210にロードされてもよい。例えば、ソフトウェア構成要素は、ネットワーク170を介して受信されるファイルによってインストールされるコンピュータプログラムに基づいてコンピュータ装置200のメモリ210にロードされてよい。
【0036】
プロセッサ220は、基本的な算術、ロジック、および入出力演算を実行することにより、コンピュータプログラムの命令を処理するように構成されてよい。命令は、メモリ210または通信インタフェース230によって、プロセッサ220に提供されてよい。例えば、プロセッサ220は、メモリ210のような記録装置に記録されたプログラムコードにしたがって受信される命令を実行するように構成されてよい。
【0037】
通信インタフェース230は、ネットワーク170を介してコンピュータ装置200が他の装置(一例として、上述した記録装置)と互いに通信するための機能を提供してよい。一例として、コンピュータ装置200のプロセッサ220がメモリ210のような記録装置に記録されたプログラムコードにしたがって生成した要求や命令、データ、ファイルなどが、通信インタフェース230の制御にしたがってネットワーク170を介して他の装置に伝達されてよい。これとは逆に、他の装置からの信号や命令、データ、ファイルなどが、ネットワーク170を経てコンピュータ装置200の通信インタフェース230を通じてコンピュータ装置200に受信されてよい。通信インタフェース230を通じて受信された信号や命令、データなどは、プロセッサ220やメモリ210に伝達されてよく、ファイルなどは、コンピュータ装置200がさらに含むことのできる記録媒体(上述した永続的記録装置)に記録されてよい。
【0038】
入力/出力インタフェース240は、入力/出力装置250とのインタフェースのための手段であってよい。例えば、入力装置は、マイク、キーボード、またはマウスなどの装置を、出力装置は、ディスプレイ、スピーカのような装置を含んでよい。他の例として、入力/出力インタフェース240は、タッチスクリーンのように入力と出力のための機能が1つに統合された装置とのインタフェースのための手段であってもよい。入力/出力装置250は、コンピュータ装置200と1つの装置で構成されてもよい。
【0039】
また、他の実施形態において、コンピュータ装置200は、図2の構成要素よりも少ないか多くの構成要素を含んでもよい。しかし、大部分の従来技術的構成要素を明確に図に示す必要はない。例えば、コンピュータ装置200は、上述した入力/出力装置250のうちの少なくとも一部を含むように実現されてもよいし、トランシーバ、データベースなどのような他の構成要素をさらに含んでもよい。
【0040】
以下では、複合攻撃を利用してウォーターマーキングモデルを学習する方法および装置の具体的な実施形態について説明する。
【0041】
本実施形態は、画像、オーディオ、ビデオ、ドキュメントなどのような多様な形態のデジタルコンテンツ内に著作権やユーザ識別情報のような付加情報を非認知的に挿入して抽出するウォーターマーキング技術に関する。
【0042】
特に、本明細書において、ウォーターマーキング技術とは、デジタルコンテンツの不法複製を防ぐために、デジタルコンテンツの流通過程において、IDやダウンロード時間などを特定してユーザを識別するための非可視性の付加情報を挿入して抽出する技術を意味してよい。
【0043】
本実施形態に係るウォーターマーキング技術は、ウェブトゥーンやウェブ小説のようにインターネット上で流通する様々なデジタルコンテンツに適用されてよく、特に、ウォーターマーキングのためのユーザ識別情報を単位ページ(または、単位フレーム)ごとにそれぞれ個別に挿入する方式はもちろん、ユーザ識別情報を分割して複数のページに順に挿入する方式などが活用されてよい。例えば、複数のカットからなるウェブトゥーンの場合、それぞれの個別カットごとにユーザID全体を一度に挿入してもよいし、それぞれのカットにユーザIDを一文字ずつ順に挿入してもよい。
【0044】
このようなウォーターマーク画像は、流通過程で多様な攻撃を受ける恐れあるという点において、ウォーターマークの非可視性と強靭性を保証することができなければならない。
【0045】
従来の研究では、1つの特定の攻撃タイプに対してウォーターマーキングモデルを学習する場合がほとんどであった。このような場合、学習に使用されなかった攻撃タイプに対する強靭性は期待することができなかった。
【0046】
したがって、本実施形態では、ウォーターマーク画像に対する非可視性の低下を最小化しながらもターゲット攻撃に対する強靭性を最大化する学習方法論として、多様な組み合わせや順序の複合攻撃に対してウォーターマーキングモデルを学習する複合攻撃学習方法を提供する。
【0047】
本実施形態に係るコンピュータ装置200は、クライアント(client)を対象に、クライアント上にインストールされた専用アプリケーションやコンピュータ装置200と関連するウェブ/モバイルサイトへの接続によってコンテンツ複製防止サービスを提供してよい。コンピュータ装置200には、コンピュータで実現されたウォーターマーキングモデル学習システムが構成されてよい。一例として、ウォーターマーキングモデル学習システムは、独立的に動作するプログラム形態で実現されてもよいし、特定のアプリケーションのイン-アプリ(in-app)形態で構成されて前記特定のアプリケーション上で動作が可能となるように実現されてもよい。
【0048】
コンピュータ装置200のプロセッサ220は、以下のウォーターマーキングモデル学習方法を実行するための構成要素で実現されてよい。実施形態によって、プロセッサ220の構成要素は、選択的にプロセッサ220に含まれても除外されてもよい。また、実施形態によって、プロセッサ220の構成要素は、プロセッサ220の機能の表現のために分離されても併合されてもよい。
【0049】
このようなプロセッサ220およびプロセッサ220の構成要素は、以下のウォーターマーキングモデル学習方法に含まれるステップを実行するようにコンピュータ装置200を制御してよい。例えば、プロセッサ220およびプロセッサ220の構成要素は、メモリ210が含むオペレーティングシステムのコードと、少なくとも1つのプログラムのコードとによる命令(instruction)を実行するように実現されてよい。
【0050】
ここで、プロセッサ220の構成要素は、コンピュータ装置200に記録されたプログラムコードが提供する命令にしたがってプロセッサ220によって実行される、互いに異なる機能(different functions)の表現であってよい。
【0051】
プロセッサ220は、コンピュータ装置200の制御と関連する命令がロードされたメモリ210から必要な命令を読み取ってよい。この場合、前記読み取られた命令は、プロセッサ220が以下で説明するステップを実行するように制御するための命令を含んでよい。
【0052】
以下で説明するウォーターマーキングモデル学習方法に含まれるステップは、図に示したものとは異なる順序で実行されてもよいし、ステップのうちの一部が省略されたり追加の過程がさらに含まれたりしてもよい。
【0053】
ウォーターマーキングモデル学習方法に含まれるステップは、サーバ150で実行されてよく、実施形態によっては、ステップのうちの少なくとも一部がクライアントで実行されることも可能である。
【0054】
図3は、本発明の一実施形態における、コンピュータ装置が実行することができる方法の一例を示したフローチャートである。
【0055】
図3を参照すると、ステップ310で、プロセッサ220は、ウォーターマーキングモデルの学習のための全体エポック(epoch)を少なくとも2つ以上の複数の段階に分け、段階ごとに適用しようとするターゲット攻撃として互いに異なる数の攻撃タイプを構成してよい。学習初期のエポックでは簡単な攻撃に対する強靭性を学習し、モデルの学習にともなって攻撃方式をより複合的かつ難しくしながらモデルの強靭性を段階的に学習してよい。一例として、プロセッサ220は、初期学習段階に対しては、攻撃を複合タイプとして適用せずに単一攻撃を設定し、以後の学習段階で学習しようとする攻撃タイプに対しては、段階的に最大攻撃数を増やして複合攻撃を設定してよい。例えば、全体のエポックを3段階に分けると仮定した場合、学習が始まる初期段階では最大攻撃数を1に設定し、次の2段階では最大攻撃数を2に設定し、最後の学習段階である3段階では最大攻撃数を3に設定してよい。学習初期に強い攻撃を適用するとモデルが崩壊(collapse)する現象が発生する恐れがあるため、学習初期には単一攻撃を適用し、以後からは段階的に強い攻撃を適用する強靭性学習を提供してよい。
【0056】
ステップ320で、プロセッサ220は、全体エポックの段階ごとに学習バッチ(batch)を構成するにあたり、該当となる段階に設定された攻撃タイプに対応する学習バッチを構成してよい。特に、プロセッサ220は、ランダムサンプリングによって学習バッチを構成するようになるが、事前に定められたバッチサイズの一部はターゲット攻撃が適用された学習サンプル(以下、「攻撃サンプル」とする)で構成してよく、残りはターゲット攻撃が適用されていない学習サンプル(以下、「原本サンプル」とする)で構成してよい。本実施形態では、ウォーターマークに対して高い非可視性を有するモデル学習のために、学習バッチの一部を、攻撃が加えられていない原本サンプルを維持してよい。学習バッチを構成するための全体サンプルのうちで、原本サンプルの割合を示す原本維持率とターゲット攻撃が加えられた攻撃サンプルの割合を示す攻撃適用率が予め設定されてよく、プロセッサ220は、原本維持率と攻撃適用率に基づいて原本サンプルと攻撃サンプルからなる学習バッチを構成してよい。本実施形態は、強い攻撃の学習バッチを構成したとしても攻撃が加えられていない原本サンプルが混在するため、攻撃サンプルだけを利用した学習モデルよりも非可視性の優位性を保証することができる。
【0057】
ステップ330で、プロセッサ220は、全体エポックの段階ごとに、該当となる段階の攻撃タイプに対応する学習バッチを利用してウォーターマーキングモデルに対する学習を実行してよい。プロセッサ220は、ウォーターマーキングモデルを段階的に学習するようになるが、このとき、先ずは単一攻撃を利用した学習を実行してから、多様な複合攻撃を利用した学習を順に実行することにより、モデル崩壊現象の発生を抑えてウォーターマーキングモデルを学習することができる。学習段階にともなって順に、攻撃種類の数や攻撃の組み合わせ順序などを異にして学習を実行することにより、ウォーターマークに対する攻撃の強靭性を得ることができる。また、ターゲット攻撃が加えられたサンプルはもちろん、攻撃が加えられていない原本サンプルが混在したバッチを利用して学習を実行することにより、ウォーターマークの非可視性の低下を防ぐことができる。
【0058】
図4は、本発明の一実施形態における、ウォーターマーキングモデルの全体構造を示した例示図である。
【0059】
図4を参照すると、ウォーターマーキングモデル400は、ウォーターマーク挿入器410およびウォーターマーク抽出器420を含んでよい。
【0060】
ウォーターマーク挿入器410は、原本画像401にユーザ識別情報402をウォーターマークとして挿入してウォーターマーク画像403を生成する役割を担い、ウォーターマーク抽出器420は、ウォーターマーク画像403に対する流通画像404からウォーターマークとして挿入されたユーザ識別情報405を抽出する役割を担う。
【0061】
原本画像401に対してウォーターマークが挿入されたウォーターマーク画像403が配布されるようになるが、このとき、流通画像404とは、違法サイトで発見される画像であって、ウォーターマーク画像403を任意に編集するなどの各種攻撃が加えられた状態で流通される画像を意味してよい。
【0062】
ウォーターマーキングモデル400の学習のための損失関数は、数式(1)のように定義されてよい。
【0063】
【数1】
【0064】
ここで、λimg_mseimg_mse+λvggvggは、ウォーターマークの非可視性を得るための第1損失値を意味し、λwm_msewm_mseは、ウォーターマークの強靭性を得るための第2損失値を意味する。
【0065】
言い換えれば、原本画像401とウォーターマーク画像403の平均二乗誤差(MSE)が第1損失値として使用されてよく、原本画像401に挿入されたユーザ識別情報402と流通画像404から抽出されたユーザ識別情報405の平均二乗誤差(MSE)が第2損失値として使用されてよい。
【0066】
ウォーターマークに対する非可視性と強靭性をバランスよく学習することが焦点となる。プロセッサ220は、第1損失値によってウォーターマークの非可視性の低下を最小化するとともに、第2損失値によってターゲット攻撃からウォーターマークの強靭性を最大化する方向でウォーターマーキングモデル400を学習してよい。
【0067】
図5~6は、本発明の一実施形態における、ウォーターマーキングモデル学習のためのターゲット攻撃を示した例示図である。
【0068】
ウォーターマーク画像403に対するターゲット攻撃としては、画像品質低下攻撃、画像変換攻撃、ニューラルネットワーク(neural network)基盤の変換攻撃などが含まれてよい。
【0069】
例えば、画像品質低下攻撃としては、JPEG(JPEG画像圧縮技法)、Resizing(画像サイズ変換時の補間法(interpolation)による損失)、Gaussian filtering(ガウシアンウィンドウフィルタリング)、Color Quantization(ピクセル数を減らして画像を表現)、Leveling(最大/最小ピクセル値の定義後にガンマ補正により色補正)、Noise(ノイズ追加)などが含まれてよく、画像変換攻撃としては、Gaussian Blur(ガウシアンウィンドウフィルタリング)、Gamma Correction(色変化)、Median Blur(メディアンブラーリングによるフィルタリング)、Translate(x、y軸変換)などが含まれてよく、ニューラルネットワーク基盤の変換攻撃としては、Waifu2x(waifu基盤のデノイザー)、RealESRGAN(ESRGAN基盤のデノイザーおよびスーパーレゾリューション)、ASNet(Topaz AI)(Topaz基盤のデノイザー)などが含まれてよい。
【0070】
上述した攻撃タイプの画像適用例として、原本サンプルとターゲット攻撃が適用された攻撃サンプルと、残像(residual)サンプル(原本サンプルから攻撃サンプルの色値を引いた画像)は、図5~6に示すとおりである。
【0071】
ウォーターマーキングモデル400のウォーターマーク挿入器410とウォーターマーク抽出器420を一度に学習するためには、微分が可能な形態のターゲット攻撃を使用してよい。攻撃タイプのうちで微分が不可能な領域(quantization、rounding、flooringなど)が含まれるJPEG、Color Quantization、Levelingなどの場合、該当となる領域を数式(2)の近似(approximation)関数を使用して微分可能な領域に替えて適用してよい。
【0072】
【数2】
【0073】
以下の表は、ウォーターマークの非可視性の低下を最小限に抑えながらも、ターゲット攻撃に対する強靭性を最大限に確保するためのモデル学習方法の疑似コード(pseudo code)の例である。
【0074】
【表1】
【0075】
表1の疑似コードの例を参照すると、全体エポックにおけるモデル学習のための最大攻撃回数を、最初のエポックから1/3エポックまで(第1学習段階)は1回、1/3エポックから2/3エポックまで(第2学習段階)は2回、残りのエポック(第3学習段階)は3回に制限してよい。
【0076】
プロセッサ220は、ウォーターマーキングモデル学習に使用可能なデータセットから、ランダムサンプリングによって、各エポックのバッチサイズに該当するサンプルインデックスをランダムに選定してよい。
【0077】
プロセッサ220は、各学習段階の攻撃タイプリストのうちから、該当となる学習段階の最大攻撃の数だけの攻撃タイプをランダムに選択してよい。例えば、第1学習段階のターゲット攻撃としては1つの攻撃タイプであるJPEGを設定し、第3学習段階のターゲット攻撃としては3つの攻撃タイプであるJPEG、resize、levelingを設定してよい。
【0078】
第1学習段階では、ランダムサンプリングによって選定されたサンプルのうちで、原本維持率(p1)分のサンプルは原本のまま活用し、攻撃適用率(p2)分のサンプルに対してはJPEG攻撃を適用して攻撃サンプルとして活用してよい。このとき、プロセッサ220は、JPEG攻撃に対して、この攻撃タイプのパラメータ範囲内でターゲットパラメータをランダムに設定する方式によってターゲットパラメータが互いに異なるJPEG攻撃サンプルを生成してよい。
【0079】
第3学習段階も同様に、ランダムサンプリングによって選定されたサンプルのうちで、原本維持率(p1)分のサンプルは原本のまま活用し、攻撃適用率(p2)分のサンプルに対してはターゲット攻撃(JPEG、resize、leveling)のうちの少なくとも1つを適用して攻撃サンプルとして活用してよい。このとき、プロセッサ220は、最大で3つの攻撃タイプを利用して、多様な組み合わせや順序の複合攻撃を適用した攻撃サンプルを生成してよい。第3学習段階では、JPEG攻撃だけを適用したサンプル、resize攻撃だけを適用したサンプル、leveling攻撃だけを適用したサンプル、JPEG攻撃とresize攻撃を適用したサンプル、resize攻撃とleveling攻撃を適用したサンプル、JPEG攻撃とleveling攻撃を適用したサンプル、JPEG、resize、leveling攻撃すべてを適用したサンプルを生成してよい。2つ以上の攻撃タイプの組み合わせを適用する場合、攻撃タイプの適用順序を異にして攻撃サンプルを作成してよい。例えば、JPEG攻撃とresize攻撃を適用したサンプルの場合、JPEG攻撃を先に適用してからresize攻撃を適用したサンプルと、resize攻撃を先に適用してからJPEG攻撃を適用したサンプルを含んでよい。プロセッサ220は、JPEG、resize、leveling攻撃それぞれに対して、該当の攻撃タイプのパラメータ範囲内でターゲットパラメータをランダムに設定する方式によって、攻撃タイプごとにターゲットパラメータが互いに異なる攻撃サンプルを生成してよい。すなわち、プロセッサ220は、モデル学習の進行にともない、後半の学習段階になるほど、ターゲットパラメータだけでなく攻撃タイプの組み合わせとその適用順序を異にして、より強い攻撃のサンプルを作り出すことができる。
【0080】
したがって、プロセッサ220は、学習初期の場合には簡単な攻撃の学習バッチでウォーターマーキングモデルを学習し、後半の学習になるほど複合的な攻撃の学習バッチを生成してウォーターマーキングモデルを段階的に学習することによって、攻撃に対する強靭性を確保することができる。
【0081】
さらに、攻撃タイプのターゲットパラメータ、攻撃タイプの組み合わせや適用順序を変えて多様なサンプルの学習バッチを構成するにあたり、攻撃が適用されていない原本サンプルを含むことによって、ウォーターマーキングの非可視性の低下を効果的に防ぐことができる。
【0082】
このように、本発明の実施形態によると、学習初期には単一攻撃を適用し、学習の進行にともなって段階的に複合的な攻撃を適用することができる。このとき、各エポックの学習バッチを構成するにあたり、ターゲット攻撃が適用された攻撃サンプルをターゲット攻撃が適用されていない原本サンプルと混在して構成することができる。したがって、ウォーターマーク画像に対する非可視性の低下を最小化するとともに、ターゲット攻撃に対する強靭性を最大化する学習方法論を実現することができる。
【0083】
上述した装置は、ハードウェア構成要素、ソフトウェア構成要素、および/またはハードウェア構成要素とソフトウェア構成要素との組み合わせによって実現されてよい。例えば、実施形態で説明された装置および構成要素は、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ、マイクロコンピュータ、FPGA(field programmable gate array)、PLU(programmable logic unit)、マイクロプロセッサ、または命令を実行して応答することができる様々な装置のように、1つ以上の汎用コンピュータまたは特殊目的コンピュータを利用して実現されてよい。処理装置は、オペレーティングシステム(OS)およびOS上で実行される1つ以上のソフトウェアアプリケーションを実行してよい。また、処理装置は、ソフトウェアの実行に応答し、データにアクセスし、データを記録、操作、処理、および生成してもよい。理解の便宜のために、1つの処理装置が使用されるとして説明される場合もあるが、当業者であれば、処理装置が複数個の処理要素および/または複数種類の処理要素を含んでもよいことが理解できるであろう。例えば、処理装置は、複数個のプロセッサまたは1つのプロセッサおよび1つのコントローラを含んでよい。また、並列プロセッサのような、他の処理構成も可能である。
【0084】
ソフトウェアは、コンピュータプログラム、コード、命令、またはこれらのうちの1つ以上の組み合わせを含んでもよく、思うままに動作するように処理装置を構成したり、独立的または集合的に処理装置に命令したりしてよい。ソフトウェアおよび/またはデータは、処理装置に基づいて解釈されたり、処理装置に命令またはデータを提供したりするために、いかなる種類の機械、コンポーネント、物理装置、コンピュータ記録媒体または装置に具現化されてよい。ソフトウェアは、ネットワークによって接続されたコンピュータシステム上に分散され、分散された状態で記録されたり実行されたりしてもよい。ソフトウェアおよびデータは、1つ以上のコンピュータ読み取り可能な記録媒体に記録されてよい。
【0085】
実施形態に係る方法は、多様なコンピュータ手段によって実行可能なプログラム命令の形態で実現されてコンピュータ読み取り可能な媒体に記録されてよい。このとき、媒体は、コンピュータによって実行可能なプログラムを継続して記録するものであってもよいし、実行またはダウンロードのために一時的に記録するものであってもよい。また、媒体は、単一または複数のハードウェアが結合した形態の多様な記録手段または格納手段であってよく、あるコンピュータシステムに直接接続させる媒体はもちろん、ネットワーク上に分散して存在するものであってもよい。媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク、および磁気テープのような磁気媒体、CD-ROM、DVDのような光媒体、フロプティカルディスク(floptical disk)のような光磁気媒体、およびROM、RAM、フラッシュメモリなどのようなプログラム命令が記録されるように構成されたものが挙げられる。また、他の媒体の例として、アプリケーションを流通するアプリストアや、その他の多様なソフトウェアを供給したり流通したりするサイト、サーバなどで管理する記録媒体や格納媒体も含まれる。
【0086】
以上のように、実施形態を、限定された実施形態および図面に基づいて説明したが、当業者であれば、上述した記載から多様な修正および変形が可能であろう。例えば、説明された技術が、説明された方法とは異なる順序で実行されたり、かつ/あるいは、説明されたシステム、構造、装置、回路などの構成要素が、説明された方法とは異なる形態で結合されたりまたは組み合わされたり、他の構成要素または均等物によって対置されたり置換されたとしても、適切な結果を達成することができる。
【0087】
したがって、異なる実施形態であっても、特許請求の範囲と均等なものであれば、添付の特許請求の範囲に属する。
【符号の説明】
【0088】
110、120、130、140:電子機器
150、160:サーバ
170:ネットワーク
図1
図2
図3
図4
図5
図6