2017.03.03

  • 人×技術

dlcam GPGPU機械学習による自動ズームアプリケーション

明田守正

 ビデオ撮影において、人物を正確に画角の中に収めることは難しい作業です。GPGPU機械学習で映っている人物の位置を検知するcaffe_rtposeを利用すれば、的確なカメラワークを自動的に実現できるのではないかと考え、自動ズームアプリケーションを作りました。

 自動ズームといっても、いわゆるディジタルズームで、映像から部分を切り出して拡大するトリミングなのですが、素材となる映像の解像度が高ければ切り出した映像もある程度は品質を維持できます。

 GPGPU機械学習による自動ズームアプリケーションを紹介する動画です。

 4K映像のキャプチャ、人物骨格の検知、ズーム映像出力はすべてリアルタイムに行っています。人物の骨格を検知しているため、バストショット(胸から顔までの画角)、ウェストショット(腰から顔まで画角)、ニーショット(膝下から顔までの画角)、フルショット(全身が収まる画角)へのズームを正確に設定することができます。

 自動ズームアプリケーションは、以下のシステムで稼働します。

 映像I/OマシンのMac ProにBlackmagic Desgin UltraStudio 4Kを接続し、HDMIまたはSDIで4K(3840x2160, 30fps)の映像信号を入力します。映像I/Oマシン上のアプリケーション、dlcamは4K映像をキャプチャし、1280x720にリサイズしたひとコマの画像をZeroMQプロトコルでLANを通じてGPGPUマシンに送ります。

 GPGPUマシンは受信した画像データをもとに、GPGPU機械学習を用いた姿勢検知プログラムcaffe_rtposeを使用して人物の姿勢検知を行い、結果のJSONデータを映像I/Oマシンに戻します。映像I/Oマシンは現在の映像について、どこにどのような姿勢で人物が写っているかを関節ごととの骨格情報として知ることで、自動ズームする目標領域を決定しています。

 プロトタイプとしてまずはアイディア実証を目的に手元の機材を活用して手早く実装したため、大がかりなシステムになっています。Linux PCにGPUボードとキャプチャーボードを内蔵し、PC1台で済ませることはできますが、PCの筐体が大きくなることに抵抗もありました。柔道着を肩にのせるように片手でハンドルを担いで持ち歩けるMouse Computer LITTLEGEARの筐体は、フルサイズのGPUボードを積んだPCとしてはコンパクトですばらしいです。

 caffe_rtposeの性能、すなわち一秒あたり何枚の画像を分析して人物検知できるか、はGPUの性能に依存します。最新のPascal世代で2560基のCUDAコアを持つNVIDIA GeForce GTX1080を用いて8fps程度でした。30fpsの画像を同じfpsでは処理できず、遅延は避けられませんが、ある程度は有用な自動ズームを実現できたと考えています。

 リアルタイムの映像処理にこだわって開発しました。広角で撮影した4Kの人物映像の一部の画角をVJツールのようにスイッチングして編集するアプリケーションに発展させればより有用であるように思いました。発展させたアプリケーションにはさまざまなトリミングやズームのボタンが並んでいて、展開に合わせてボタンを押すだけで画角切り替えができます。ボタンを押すだけで編集が進み、編集にかかる時間は映像の長さで完了します。トリミングやズームボタンにはサムネイル画像を表示することもできるので、「今このショットにしたい」というボタンを視覚的に確認しながら押して編集することができるでしょう。

 アプリケーションdlcamのソースコードはgithub.comで公開しています。openFrameworksを使用したアプリケーションです。

謝辞

 高度な人物検知アプリケーションを実装しソースコード公開しているZhe Caoさん、Tomas Simonさん、Shih-En Weiさん、Yaser Sheikhさん、皆さんのおかげでdlcamを実装することができました。

 テスト用4K映像の撮影にはBlackmagic Design Micro Studio Camera 4Kおよび4Kの旋回カメラSONY BRC-X1000を使用しました。撮影映像の収録にはBlackmagic Design Video Assist 4Kを使用しました。Micro Studio Camera 4Kの制御にはBlackmagic Design ATEMスイッチャーを使用しました。

 Micro Studio Camera 4K, Video Assist 4Kは某映像関連企業のAさんに、BRC-X1000は某メーカーAさん、ATEMスイッチャーはbackspace tokyoさんにお貸しいただいて開発しました。

 テスト撮影時の人物モデルとして弊社スタッフの國井さん、藤原さんに、撮影サポートとして塩川さんにご協力いただきました。

 某映像関連企業のAさんには開発内容についての貴重なアドバイスをいただき、映像のプロのご意見として大変参考になりました。ご協力いただいた皆様に深く感謝いたします。ありがとうございました。

この記事を書いた人 :
明田守正

この記事をシェアする

すべての記事