Category: Picam360_JP

Jetbot + VR180 : Part 1 – 前書き

Jetbot + VR180 2019年3月、NVIDIA 社は最先端の AI を活用できるコンパクトで安価なコンピュータ、Jetson Nanoを発表しました。さらに彼らはオープンソースウェアロボットのJetbotも公開しました。Jetbotは3Dプリントパーツで構成され、ソフトウェアはUbuntu Linux上で動作します。ハードウェアの構成、ソフトウェアはGithubで公開されており、さらにソフトウェアがインストール済みのSDカードイメージも配布されています。Jetbotは気軽にAIコンピューティングとロボット制作を学ぶことができる良いプラットフォームといえるでしょう。 この記事はJetbotにPicam360(4Kタイプ)を2つ接続して、3D180度動画をライブストリーミングするまでの手順をシリーズで紹介していきます。Picam360のリアルタイム3D動画により、まるでJetbotに乗り込んで運転しているような感覚を体験することができます。   Jetbotではなく通常のJetson nanoでもステレオ3Dを利用できますか? 可能です。 Jetbotではなく通常のJetson nanoにPicam360ソフトウェアをインストールして使いたい方もいるでしょう。それは可能です。その手順はJetbotにPicam360ソフトウェアをインストールする手順と基本的に同じです。この連載の手順を参考にしてみてください。   3D180度動画 この左右の画像は左右別々のカメラで撮影しているので微妙に異なっています。これをちょうど右目と左目で別々に見てピントを合わせると立体的に見えます。 3D180度動画は2つの魚眼カメラで前方180度の映像を撮影し、2つの視点の映像を並べて表示することで上下左右180度の広い視野角を持った没入感のあるの立体視を体験できる動画です。   Picam360ってなんだろう?   私たちPicam360開発コミュニティーが開発しているパノラマカメラです。Picam36oは独自の画像圧縮技術により、データが重い360度の動画を軽量にライブストリーミングすることができるパノラマカメラです。パノラマカメラは広い範囲を撮影するために一般的に解像度の高いカメラを使用します。そのため1枚の画像データは重くなり、ライブストリーミングには向きません。Picam36oは見ている方向に対して動的に画像を圧縮するといった独自の圧縮処理により、一般的な4Kカメラを2つ搭載したVR180フォーマットのカメラと比較してデータサイズを1/50まで圧縮します(*1)。これによりモバイルネットワークのような帯域の狭いネットワークでもライブストリーミングが可能です。下記で詳しく説明していきます。   パノラマ動画をリアルタイムストリーミングするための技術 パノラマカメラは広い範囲を綺麗に撮影するために一般的に解像度の高いカメラを使用します。その為、通常のカメラと比較して画像データは重くなります。 Foveated Compression YouTubeにUploadされている360度動画を見ると、画質が荒く感じることがあるかもしれません。それは接続しているインターネットの通信速度に応じて、データ量の多い360動画の360度全体で画質を下げていることに起因します。 出来るだけ画質を落とさずにデータ量を小さくする方法としてFoveated Compressionという画像の圧縮方法があります。人間の目は視野の中心が鮮明に見えて周辺に行くにしたがってぼやけていく性質があります。つまり視野の周辺は画像の鮮明さを落としても映像体験として影響が出にくいということです。この性質を利用して注視点から距離が長くなるにつれて画像の情報量を落とす圧縮方法がFoveated Compressionです。 Picam360は360度画像に最適化した独自のFoveated Compression技術を搭載しています。 H.265/HEVC H.265は動画圧縮規格の1つです。Blu-rayや一般的な動画配信などに利用されている現在主流の動画圧縮技術であるH.264/MPEG-4 AVCの後継規格で、H.264と比較して約半分のデータサイズで同等の画質を実現できます。Picam360ソフトウェア(Jetson版)はH.265をサポートしています。 データサイズは1/50まで軽くなります Picam360は360度画像に最適化した独自のFoveated Compression技術とH.265コーデックにより、一般的な5.7Kパノラマカメラ(*1)と比較して視野方向の画質を鮮明に維持しながらもデータサイズを50分の1にまで圧縮します。 動画のデータサイズを大幅に小さくすることで、データ量が重くストリーミング配信に適していなかった360度動画をモバイルネットワークレベルの回線速度でリアルストリーミングすることができます。 下記Youtube動画が実際の動画です。Jetbot+Picam360にiPhoneから接続して画面をキャプチャーしました。   …

Jetson NanoをサポートしてH.265のビデオ転送が利用可能になりました

Picam360はJetson Nanoをサポートし、H.265でビデオを転送することを可能にしました。 これにより、H.264と比べて帯域幅が半分になります。 ソースコードはすでにgithubにアップロードされているので、すぐに試すことができます。 https://github.com/picam360 H.265ストリーミングプロセスに興味がある方は、下記リンク先を見てみるとお役に立てるかもしれません。 https://github.com/picam360/picam360-capture/blob/master/plugins/gst_encoder/gst_encoder.c エンコーダはGStreamer、デコーダはlibde265です。 Jetson Nanoには十分な処理能力があるため、4Kカメラのサポートも検討しています。 近い将来、新しいカメラをご紹介できるかもしれません。

新デザインの走行実験@プール

新しいPicam360-SurfaceWalkerランニング実験がプールで行いました。 新しいデザインの特徴: – 全方向性ボディ – 一人で持ち運べるコンパクトサイズ – 4つのスクリューを装備。もし一部のスクリューが停止しても 動作可能。 – コントローラなどを含むコア部は3Dプリント部品で防水を実現(オープンソースハードウェアなので設計・製造方法を公開予定) 3Dプリントのパーツで防水機構を実現するという無謀とも思える課題に挑戦しました。 FDM(樹脂を溶かして積層する)の3Dプリント部品には目に見えないですが沢山の隙間ができます。 また、モジュールを繋ぐためにはケーブルの接続が必要です。つまり穴が必要になります。 それ以外にも防水を実現するためには多くの課題がありました。 さらに、誰でも製造できるように新しい設計を求めました。 プールでの実験は良好で、次は湖でテストします。 実環境下で問題がなく製品としてリリースできたのちには、実現までに得た知見を公開していく予定です。