iiif-prezi3を使って、動画にアノテーションを付与する方法に関する備忘録です。
アノテーションの付与#
Amazon Rekognitionのlabel detectionを用います。
https://docs.aws.amazon.com/rekognition/latest/dg/labels.html?pg=ln&sec=ft
以下などでサンプルコードが公開されています。
https://docs.aws.amazon.com/ja_jp/rekognition/latest/dg/labels-detecting-labels-video.html
特に、GetLabelDetectionにおける集計をSEGMENTSにすることで、StartTimestampMillisとEndTimestampMillisを得ることができます。
ただし、以下の点に注意が必要です。
SEGMENTS による集計の場合、境界ボックス付きの検出されたインスタンスに関する情報は返されません。
使用するデータ#
『県政ニュース 第1巻』(県立長野図書館)を使用します。
https://www.ro-da.jp/shinshu-dcommons/library/02FT0102974177
マニフェストファイルへの反映#
以下の記事などを参考に、マニフェストファイルが作成済みであるとします。
以下のようなスクリプトにより、マニフェストファイルにvttファイルを追加します。
以下のようなマニフェストファイルが作成されます。
https://d1u7hq8ziluwl9.cloudfront.net/sdcommons_npl-02FT0102974177/manifest_label_seg.json
ビューアでの表示例#
ビューアでの表示例は以下です。
https://d1u7hq8ziluwl9.cloudfront.net/mirador/index.html?manifest=https://d1u7hq8ziluwl9.cloudfront.net/sdcommons_npl-02FT0102974177/manifest_label_seg.json

東大デジタル人文学の「IIIF動画アノテーション」で公開されているソースコードを利用しています。
https://dh.l.u-tokyo.ac.jp/activity/iiif/video-annotation
なお、Amazon RekognitionでのGetLabelDetectionにおける集計をTIMESTAMPにすることで、一部のアノテーションについては、BoundingBoxが得られます。
これを利用することで、以下のように、矩形とともにアノテーションを表示することができました。

まとめ#
IIIFを用いた動画ファイルへのアノテーションの付与にあたり、参考になりましたら幸いです。