paint-brush
動画内の暴力検出: 提案されたアプローチ@kinetograph
144 測定値

動画内の暴力検出: 提案されたアプローチ

長すぎる; 読むには

この論文では、研究者らは、分類に音声と視覚の手がかりを利用して、ビデオ内の暴力を自動的に検出するシステムを提案しています。
featured image - 動画内の暴力検出: 提案されたアプローチ
Kinetograph: The Video Editing Technology Publication HackerNoon profile picture
0-item


著者:

(1)プラヴィーン・ティルパットゥール、セントラルフロリダ大学

リンク一覧

3. 提案されたアプローチ

この章では、この研究で採用したアプローチについて詳しく説明します。提案されたアプローチは、トレーニングとテストという 2 つの主なフェーズで構成されています。トレーニング フェーズでは、システムはトレーニング データセットから抽出された視覚的および音声的特徴を使用して分類器をトレーニングすることにより、ビデオ内に存在する暴力のカテゴリを検出することを学習します。テスト フェーズでは、特定のビデオに対する暴力検出におけるシステムの精度を計算することにより、システムが評価されます。これらの各フェーズについては、次のセクションで詳しく説明します。提案されたアプローチの概要については、図 3.1 を参照してください。最後に、システムの評価に使用されるメトリックについて説明するセクションを示します。

3.1. トレーニング

このセクションでは、トレーニング フェーズに含まれる手順の詳細について説明します。提案されたトレーニング アプローチには、特徴抽出、特徴分類、および特徴融合という 3 つの主要な手順があります。これら 3 つの手順については、次のセクションで詳しく説明します。このフェーズの最初の 2 つの手順では、暴力を含むビデオ セグメントと暴力を含まないビデオ セグメントからオーディオとビジュアルの特徴が抽出され、2 クラス SVM 分類器のトレーニングに使用されます。次に、特徴融合の手順で、システムが対象とする暴力の種類ごとに特徴の重みが計算されます。これらの特徴の重みは、重みの可能な組み合わせに対してグリッド検索を実行し、検証セットでシステムのパフォーマンスを最適化する最適な組み合わせを見つけることによって取得されます。ここでの最適化基準は、システムの EER (等エラー率) を最小化することです。これらの重みを見つけるために、すべての対象カテゴリの暴力ビデオを含む、トレーニング セットから分離されたデータセットが使用されます。対象カテゴリの詳細については、第 1 章を参照してください。


図 3.1: システムの概要を示す図。音声、血液、動き、SentiBank の各特徴について、4 つの異なる SVM 分類器がトレーニングされています。Web の画像を使用して、ビデオ フレーム内の血液を検出する血液モデルを開発します。すべての特徴について分類器をトレーニングするために、VSD2104 データセットのデータが使用されます。これらの分類器はそれぞれ、暴力を含むビデオ セグメントの確率を個別に示します。これらの個々の確率は、後期融合技術を使用して結合され、個々の確率の加重合計である最終的な出力確率がシステムの出力として提示されます。システムへの入力として提供されたビデオは 1 秒のセグメントに分割され、暴力を含む各セグメントの確率が出力として取得されます。

3.1.1. 特徴抽出

多くの研究者が、さまざまなオーディオおよびビジュアルの特徴を使用して暴力検出の問題を解決しようとしてきました。暴力検出関連の研究の詳細については、第 2 章で説明します。以前の研究では、暴力を検出するために使用される最も一般的な視覚的特徴は動きと血であり、使用される最も一般的なオーディオ特徴は MFCC です。これらの 3 つの一般的な低レベルの特徴とともに、この提案されたアプローチには、画像内の感情を表す視覚的特徴である SentiBank (Borth ら [4]) も含まれます。各特徴の詳細と暴力検出におけるその重要性、および使用される抽出方法については、次のセクションで説明します。

3.1.1.1. MFCC の機能

オーディオの特徴は、暴力シーンで非常によく見られる銃声や爆発などのイベントを検出する上で非常に重要な役割を果たします。多くの研究者が暴力検出にオーディオの特徴を使用し、優れた結果を生み出してきました。初期の研究の一部はオーディオ信号のエネルギーエントロピーに注目していましたが [Nam et al. [41]]、そのほとんどはビデオのオーディオコンテンツを記述するために MFCC の特徴を使用していました。これらの MFCC の特徴は、音声認識やオーディオ認識でよく使用されます。


この研究では、システムの開発中に、VSD2014 データセットで提供される MFCC 機能を使用して SVM 分類器をトレーニングします。評価中、MFCC 機能は入力ビデオのオーディオ ストリームから抽出され、ウィンドウ サイズはオーディオ ストリーム内のフレームあたりのオーディオ サンプル数に設定されます。これは、オーディオ サンプリング レートをビデオの fps (フレーム/秒) 値で割ることによって計算されます。たとえば、オーディオ サンプリング レートが 44,100 Hz で、ビデオが 25 fps でエンコードされている場合、各ウィンドウには 1,764 個のオーディオ サンプルがあります。ウィンドウの重複領域はゼロに設定され、各ウィンドウに対して 22 個の MFCC が計算されます。この設定により、ビデオ フレームごとに 22 次元の MFCC 特徴ベクトルが得られます。

3.1.1.2. 血液の特徴

血は、極度の暴力シーンで最もよく見られる要素です。たとえば、殴打、刺傷、銃撃、爆発などのシーンです。暴力検出に関する多くの以前の研究では、血が暴力の重要な指標であるため、血を表すピクセルの検出が使用されています。フレーム内の血を検出するために、ほとんどの以前の研究、たとえばNam et al. [41]やLin and Wang [38]では、定義済みのカラーテーブルが使用されています。Kohonenの自己組織化マップ(SOM)(Clarin et al. [12])の使用など、血を検出するための他のアプローチも、以前の研究のいくつかで使用されています。


この研究では、カラー モデルを使用して血液を表すピクセルを検出します。これは、ピクセルの赤、緑、青の値ごとに 1 つの次元を持つ 3 次元ヒストグラムを使用して表されます。各次元には 32 のビンがあり、各ビンの幅は 8 です (32 × 8 = 256)。この血液モデルは 2 つの手順で生成されます。最初の手順では、血液を含むピクセルの RGB (赤、緑、青) 値を使用して、血液モデルがブートストラップされます。3 次元のビン化されたヒストグラムには、血液を含むこれらのピクセルの RGB 値が設定されます。血液ピクセルが属するビンの値は、新しい血液ピクセルがモデルに追加されるたびに 1 ずつ増加します。ヒストグラムを埋めるために十分な数の血の付いたピクセルが使用されると、ビンの値はすべての値の合計によって正規化されます。各ビンの値は、RGB 値が与えられた場合にピクセルが血液を示す確率を表すようになりました。血液モデルを塗りつぶすために、Google からダウンロードした血液を含むさまざまな画像から血液を含むピクセルを切り取ります。血液ピクセルのみを含む領域の切り取りは手動で行います。切り取られた領域のサンプルについては、図 3.2 の画像を参照してください。各領域のサイズは 20 ピクセル × 20 ピクセルです。


図 3.2: 血液を含む 20 × 20 サイズの切り取られたサンプル領域を示す図。


モデルがブートストラップされると、それを使用して Google からダウンロードした画像内の血液を検出します。血液を表す可能性が高いピクセルのみを使用して、ブートストラップされたモデルをさらに拡張します。画像のダウンロードと血液モデルの拡張は自動的に行われます。血液を含む画像を Google からダウンロードするには、「血まみれの画像」、「血まみれのシーン」、「出血」、「本物の血しぶき」、「滴る血」などの検索語を使用します。ダウンロードした画像のサンプルの一部を図 3.3 に示します。血液の可能性が高いピクセル値は、少なくとも 100 万のピクセル値になるまで血液モデルに追加されます。


この血液モデルだけでは、血液を正確に検出するには不十分です。この血液モデルに加えて、非血液モデルも必要です。これを生成するには、以前のアプローチと同様に、血液を含まない画像を Google からダウンロードし、これらの画像の RGB ピクセル値を使用して非血液モデルを構築します。この非血液モデルを生成するために使用されたサンプル画像のいくつかを図 3.3 に示します。これらの血液モデルと非血液モデルを使用して、ピクセルが血液を表す確率を次のように計算します。



図 3.3: 血液モデルと非血液モデルを生成するために Google からダウンロードしたサンプル画像を示す図。


この式を使用して、特定の画像について、各ピクセルが血液を表す確率が計算され、血液確率マップ (BPM) が生成されます。このマップは入力画像と同じサイズで、すべてのピクセルの血液確率値が含まれています。この BPM はしきい値を使用して 2 値化され、最終的な 2 値化 BPM が生成されます。BPM を 2 値化するのに使用されるしきい値は推定されます (Jones および Rehg [35])。この 2 値化 BPM から、長さ 14 の 1 次元特徴ベクトルが生成されます。これには、血液比率、血液確率比、最大接続コンポーネントのサイズ、平均、分散などの値が含まれます。この特徴ベクトルは、ビデオの各フレームについて抽出され、SVM 分類器のトレーニングに使用されます。サンプル画像とその BPM および 2 値化 BPM を図 3.4 に示します。この図から、このアプローチが血液を含むピクセルの検出に非常に優れていることがわかります。


図 3.4: 生成された血液モデルの血液検出のパフォーマンスを示す図。最初の列には入力画像、2 番目の列には血液確率マップ、最後の列には 2 値化された血液確率マップがあります。

3.1.1.3. モーション機能

動きは、暴力検出に広く使用されているもう 1 つの視覚的特徴です。Deniz ら [21]、Nievas ら [42]、Hassner ら [28] の研究は、動きが暴力検出の主な特徴として使用されている例の一部です。ここで、動きとは、ビデオ内の 2 つの連続するフレーム間の時空間的変化の量を指します。暴力を含むシーンではかなりの量の暴力が予想されるため、動きは暴力の良い指標であると考えられています。たとえば、人と人との格闘シーンでは、足や手などの人間の体の部分が速く動き、爆発シーンでは、爆発のために飛び散る部分が激しく動きます。


動作情報を利用して活動を検出するという考えは心理学に由来する。人間の知覚に関する研究では、動作の運動学的パターンは行動の知覚に十分であることがわかっている(Blake and Shiffrar [2])。コンピュータビジョンに関する研究(Saerbeck and Bartneck [50]、Clarke et al. [13]、およびHidaka [29])でも、速度や加速度などの比較的単純な動的特徴が、人間が知覚する感情と相関していることがわかっている。


この研究では、ビデオ セグメント内の動きの量を計算するために、2 つの異なるアプローチを評価します。最初のアプローチは、ビデオ コーデック内に埋め込まれた動き情報を使用するもので、次のアプローチは、オプティカル フローを使用して動きを検出するものです。次に、これらのアプローチについて説明します。


3.1.1.3.1. コーデックの使用

この方法では、モーション情報はビデオ コーデックから抽出されます。コーデックからは、フレームごとの各ピクセルのモーションの大きさ (モーション ベクトル) が取得されます。このモーション ベクトルは 2 次元ベクトルで、ビデオ シーケンスのフレームと同じサイズです。このモーション ベクトルから、フレーム内のモーションの量を表すモーション フィーチャが生成されます。このモーション フィーチャを生成するには、まずモーション ベクトルを x 軸と y 軸に沿ってそれぞれ 3 つと 4 つの領域にスライスして、等しいサイズの 12 個のサブ領域に分割します。これらのサブ領域の各ピクセルの x 軸と y 軸に沿ったモーションの量が集計され、これらの合計を使用して各フレームの 2 次元モーション ヒストグラムが生成されます。このヒストグラムは、フレームのモーション ベクトルを表します。サンプル ビデオのフレームの集計されたモーション ベクトルの視覚化については、図 3.5 の左側の画像を参照してください。この視覚化では、モーション ベクトルは 16 × 16 ピクセルのサイズのサブ領域に対して集計されています。これらの領域の動きの大きさと方向は、画像に重ねられた緑の破線の長さと方向を使用して表されます。

3.1.1.3.2. オプティカルフローの使用

動きを検出する次のアプローチは、オプティカルフロー (Wikipedia [57]) を使用する。ここでは、フレーム内の各ピクセルの動きが高密度オプティカルフローを使用して計算される。これには、OpenCV (Bradski [5]) によって提供される Gunner Farneback のアルゴリズム (Farneb¨ack [24]) の実装が使用される。実装は OpenCV の関数として提供されており、関数とパラメータの詳細については、OpenCV によって提供されるドキュメント (OpticalFlow [43]) を参照してください。値 0.5、3、15、3、5、1.2、0 が、それぞれ関数パラメータ pyr scale、levels、win-size、iterations、poly n、poly sigma、flags に渡されます。オプティカルフローを使用して各ピクセルの動きベクトルが計算されると、上記のセクション 3.1.1.3.1 で説明したのと同じプロセスを使用して、フレームから動きの特徴が抽出されます。フレームから抽出された集約された動きベクトルの印象を得るには、図 3.5 の右側の画像を参照してください。動きベクトルは、以前のアプローチと同様に 16×16 ピクセルのサイズのサブ領域ごとに集約され、コーデック情報とオプティカル フローを使用して抽出された特徴をより適切に比較できるようになります。


ビデオからモーション情報を抽出するためのこれら両方のアプローチを評価した結果、次のことがわかりました。まず、モーション ベクトルが事前に計算されてビデオ コーデックに保存されるため、コーデックからモーションを抽出する方がオプティカル フローを使用するよりもはるかに高速です。次に、フレーム内にぼやけた領域がある場合、オプティカル フローを使用したモーション抽出はあまり効率的ではありません。このぼやけは通常、シーン内の突然の動きによって発生し、暴力を含むシーンでは非常に一般的です。したがって、暴力を検出するためのモーション情報を抽出するためにオプティカル フローを使用することは、有望なアプローチではありません。したがって、この作業では、ビデオ コーデックに保存されている情報を使用してモーション機能を抽出します。モーション機能はビデオの各フレームから抽出され、SVM 分類器のトレーニングに使用されます。


図 3.5: コーデックを使用して抽出されたフレームとオプティカルフローを使用して抽出されたフレームからの動き情報。

3.1.1.4. SentiBank の機能

前述の低レベルの特徴に加えて、Borthら[4]によって導入されたSentiBank特徴も適用されます。SentiBankは、大規模なVisual Sentiment Ontology(VSO)[1]に基づく視覚コンテンツの中レベル表現です。SentiBankは1,200の意味概念と対応する自動分類器で構成されており、それぞれが形容詞名詞ペア(ANP)として定義されています。このようなANPは、オブジェクトまたはシーンに対応する名詞にリンクされる強い感情的な形容詞を組み合わせています(例:「美しい空」、「気持ち悪い虫」、「かわいい赤ちゃん」)。さらに、各ANPは(1)強い感情を反映し、(2)感情にリンクしており、(3)FlickrやYouTubeなどのプラットフォームで頻繁に使用され、(4)妥当な検出精度を備えています。さらに、VSO は、人、動物、物体、自然または人工の場所など、さまざまな概念クラスを幅広くカバーできるほど包括的かつ多様であることを目的としており、分析対象のコンテンツの種類に関する追加の洞察を提供します。SentiBank は、Borth ら [4] による感情分析において、低レベルの視覚的特徴と比較して優れたパフォーマンスを示したため、ビデオ フレームから暴力などの複雑な感情を検出するために初めて使用されています。


SentiBank は 1,200 個の SVM で構成され、それぞれが画像から 1,200 個の意味概念の 1 つを検出するようにトレーニングされています。各 SVM は、画像に特定の感情が含まれているかどうかに応じて 0/1 のバイナリ出力を返すバイナリ分類器です。ビデオ内の特定のフレームでは、1,200 個の SVM の出力すべてを含むベクトルが SentiBank 機能と見なされます。この機能を抽出するために、Python ベースの実装が利用されます。SVM 分類器のトレーニングには、トレーニング ビデオの各フレームから抽出された SentiBank 機能が使用されます。SentiBank 機能の抽出には、1,200 個の事前トレーニング済み SVM からの出力を収集する必要があるため、数秒かかります。機能抽出にかかる時間を短縮するために、各フレームの SentiBank 機能は、マルチプロセスを使用して並列に抽出されます。

3.1.2. 特徴の分類

特徴抽出後のパイプラインの次のステップは特徴分類であり、このセクションではこのステップの詳細を説明します。分類器の選択と使用するトレーニング手法は、優れた分類結果を得るために非常に重要な役割を果たします。この研究では、分類に SVM を使用します。この選択の背後にある主な理由は、暴力検出に関する以前の研究で SVM を使用して音声と視覚の特徴を分類し、優れた結果が得られたという事実です。第 2 章で言及されているほぼすべての研究では、使用されるカーネル関数が異なる場合でも、分類に SVM が使用されています。


トレーニング セットで利用可能なすべてのビデオから、セクション 3.1.1 で説明したプロセスを使用して、オーディオとビジュアルの特徴が抽出されます。これらの特徴は、分類器をトレーニングするためのセットと、トレーニングされた分類器の分類精度をテストするためのセットの 2 つに分割されます。ここで使用される分類器は SVM であるため、使用するカーネルと設定するカーネル パラメーターを選択する必要があります。最適なカーネル タイプとカーネル パラメーターを見つけるために、グリッド検索手法が使用されます。このグリッド検索では、線形、RBF (Radial Basis Function)、およびカイ 2 乗カーネルと、それらのパラメーターの値の範囲がテストされ、最適な分類結果が得られる最適な組み合わせが見つかります。このアプローチを使用して、特徴タイプごとに 1 つずつ、4 つの異なる分類器がトレーニングされます。これらのトレーニングされた分類器は、次のステップで特徴の重みを見つけるために使用されます。この作業では、scikit-learn (Pedregosa ら [45]) および LibSVM (Chang と Lin [9]) によって提供される SVM 実装が使用されます。

3.1.3. 機能の融合

特徴融合ステップでは、各特徴分類器からの出力確率が融合され、ビデオ セグメント内の暴力の最終スコアと、そこに含まれる暴力のクラスが取得されます。この融合は、各特徴分類器からの確率の加重合計を計算することによって行われます。ビデオが属する暴力のクラスを検出する手順は次のとおりです。まず、対象となる各暴力クラスに属するビデオからオーディオとビジュアルの特徴が抽出されます。次に、これらの特徴がトレーニング済みのバイナリ SVM 分類器に渡され、暴力を含む各ビデオの確率が取得されます。次に、各特徴分類器からの出力確率が融合され、各特徴分類器に各暴力クラスの重みが割り当てられ、加重合計が計算されます。各特徴分類器に割り当てられた重みは、特定の暴力クラスを検出する際の特徴の重要性を表します。システムが正しい暴力クラスを検出するには、これらの特徴の重みを各暴力クラスに対して適切に調整する必要があります。


重みを見つけるには 2 つの方法があります。最初の方法は、暴力の種類ごとに特徴分類器の重みを手動で調整することです。この方法では、暴力のクラスを検出する際の特徴の重要性について多くの直感が必要であり、エラーが発生しやすくなります。もう 1 つの方法は、可能な重みの範囲から重みのセットをサンプリングするグリッド検索メカニズムを使用して重みを見つけることです。この場合、各特徴分類器の可能な重みの範囲は [0,1] であり、すべての特徴分類器の重みの合計が 1 になるという制約があります。この研究では、後者の方法が使用され、合計が 1 になるすべての重みの組み合わせが列挙されます。これらの重みの組み合わせのそれぞれを使用して、暴力のクラスの分類器確率の加重合計が計算され、合計が最も高くなる重みの組み合わせの重みが、対応する暴力のクラスの各分類器に割り当てられます。これらの重みを計算するには、トレーニング セットへの重みのオーバーフィッティングを回避するために、トレーニング セットとは異なるデータセットが使用されます。重みの計算に使用されるデータセットには、この研究で対象とするすべての暴力のクラスのビデオが含まれています。トレーニングされた各 SVM 分類器は本質的にバイナリですが、これらの分類器からの出力値を加重合計を使用して組み合わせることで、ビデオが属する特定の暴力のクラスを見つけることができることに注意してください。

3.2. テスト

この段階では、特定の入力ビデオについて、暴力を含む各セグメントが、そこに含まれる暴力のクラスとともに検出されます。特定のビデオでは、次のアプローチを使用して、暴力を含むセグメントとその中の暴力のカテゴリを検出します。まず、すべてのフレームから特徴を抽出するのではなく、ビデオの最初のフレームから開始して、1 秒ごとに 1 つのフレームから視覚的および音声的特徴を抽出します。特徴が抽出されるこれらのフレームは、ビデオの 1 秒のセグメントを表します。次に、これらの 1 秒のビデオ セグメントの特徴がトレーニング済みのバイナリ SVM 分類器に渡され、各ビデオ セグメントが暴力的か非暴力的かのスコアが取得されます。次に、融合ステップで見つかった対応する重みを使用して、各暴力カテゴリごとに個々の分類器からの出力値の加重合計が計算されます。したがって、長さが「X」秒の特定のビデオでは、システムは長さ「X」のベクトルを出力します。このベクトルの各要素は、各暴力クラスをスコア値にマップする辞書です。このアプローチを使用する理由は 2 つあります。1 つ目は、ビデオ内で暴力が発生する時間間隔を検出すること、もう 1 つは、暴力を検出するシステムの速度を上げることです。特徴抽出、特に Sentibank 特徴の抽出には時間がかかり、フレームごとに実行するとシステムが遅くなります。ただし、このアプローチでは、フレームごとではなく 1 秒ごとに暴力を検出するため、システムの精度に悪影響を及ぼします。

3.3. 評価指標

分類システムのパフォーマンスを測定するために使用できる指標は多数あります。バイナリ分類に使用される指標には、正確度、精度、再現率 (感度)、特異度、F スコア、等誤差率 (EER)、曲線下面積 (AUC) などがあります。平均精度 (AP) や平均平均精度 (MAP) などの他の指標は、クエリの結果としてランク付けされたリストを返すシステムで使用されます。機械学習やデータ マイニングの研究でますます使用されるこれらの指標のほとんどは、情報検索 (Rijsbergen [49]) や生体認証などの他の分野から借用されたものです。これらの指標の詳細については、Parker [44] および Sokolova と Lapalme [53] の研究を参照してください。ROC (受信者動作特性) 曲線は、バイナリ分類システムを評価または比較するために広く使用されているもう 1 つの方法です。AUC や EER などの指標は、ROC 曲線から計算できます。


この研究では、ROC曲線は次の目的で使用されています。(i) 個々の分類器のパフォーマンスを比較する。(ii) マルチクラス分類タスクで異なるクラスの暴力を検出するシステムのパフォーマンスを比較する。(iii) バイナリ分類タスクでYoutubeとHollywood-Testデータセットのシステムのパフォーマンスを比較する。ここで使用されている他の指標は、精度、再現率、EERです。これらの指標は、暴力検出に関する以前の研究で最も一般的に使用されている指標であるため使用されています。このシステムでは、パラメーター(融合重み)はEERを最小化するように調整されます。

3.4. まとめ

この章では、暴力を検出するためにこの研究で採用されているアプローチについて詳しく説明します。最初のセクションではトレーニング フェーズについて、2 番目のセクションではテスト フェーズについて説明します。最初のセクションでは、トレーニング フェーズに含まれるさまざまな手順について詳しく説明します。最初に、オーディオおよびビジュアル機能の抽出について説明し、使用される機能の詳細とその抽出方法について説明します。次に、抽出された機能を分類するために使用される分類手法について説明します。最後に、機能融合のための機能の重みを計算するために使用されるプロセスについて説明します。2 番目のセクションでは、テスト フェーズで暴力を含むビデオ セグメントを抽出し、これらのセグメント内の暴力のクラスを検出するために使用されるプロセスについて説明します。


要約すると、このアプローチで実行される手順は、特徴抽出、特徴分類、特徴融合、およびテストです。最初の 3 つの手順はトレーニング フェーズを構成し、最後の手順はテスト フェーズです。トレーニング フェーズでは、ビデオからオーディオとビジュアルの特徴が抽出され、各特徴に対して 1 つずつバイナリ SVM 分類器をトレーニングするために使用されます。次に、別のデータセットを使用して、検証データセットでシステムの EER を最小化する特徴の重みを見つけます。最後のテスト フェーズでは、最初に入力テスト ビデオの 1 秒のビデオ セグメントごとに 1 つずつビジュアルとオーディオの特徴が抽出されます。次に、これらの特徴がトレーニング済みの SVM 分類器に渡され、これらの特徴が暴力を表す確率が取得されます。特徴融合ステップで取得された重みを使用して、各暴力の種類ごとにこれらの出力確率の加重合計が計算されます。加重合計が最大になる暴力の種類は、対応する 1 秒のビデオ セグメントにラベルとして割り当てられます。これらのラベルを使用して、暴力を含むセグメントとそれらに含まれる暴力のクラスがシステムによって出力として表示されます。このシステムの実験セットアップと評価については、次の章で説明します。



この論文はCC 4.0ライセンスの下でarxivで公開されています


[1] http://visual-sentiment-ontology.appspot.com