Author: Picam360

Jetson NanoでPicam360を始めよう – 1: 必要な物と注意事項

Picam360カメラをJetsonNanoに接続して360度映像をリアルタイムストリーミングする手順を紹介します。 本稿の英語版→English version is available here. こんちには、Picam360開発コミュニティのGAKUと申します。 前回の投稿ではPicam360の概要についてご紹介しました。今回はサーバーデバイスとビューワーアプリをセットアップして、360度映像をローカルネットワーク経由、またはインターネット経由でリアルタイムストリーミングする手順を紹介します。 サーバーデバイスとビューワーの組み合わせは複数あります。今後の投稿は以下の中から組み合わせて、いくつか紹介していきます。 サーバーデバイス Jetson Nano, Mac, WindowsPC ビューワーアプリ スマホ(iOS, Android), ブラウザ, Oculus Quest 今回はJetson Nanoとスマホを接続します 今回はJetson Nanoにサーバーソフトウェアをインストールします。ビューワーはスマホを使用します。 本稿は連載でお送りする予定です。(記事数は変わるかも知れません) 必要な物と注意事項 SDカードイメージの書き込み サーバーソフトウェアのインストール カメラキャリブレーション ビューワーアプリのインストール 接続する 説明に入る前に注意事項があります。 注意事項 機能制限 高度な機能を使用するための有償ライセンスがありますが、Picam360カメラを使用する場合は基本的に不要です。ライセンスは、独自に高スペックなシステムを構築されるケースで使用されることを想定しています。 ライセンス無しで使用する場合は以下の制限があります。下記以外の制限はありませんが、予告なく変更される場合があります。ライセンスに関するお問い合わせは、こちらのお問い合わせ窓口よりご連絡ください。 フレームレート制限 最大15FPS 有償ライセンスはソフトウェアの最大FPS制限を解除します。ハードウェアポテンシャルに依る最大FPSは、カメラ入力画素数、ソフトウェアに対して設定する出力画素数、それらを処理するコンピューターのスペックによって最大FPSが変わります。ですので最大FPSは構築するシステム次第となります。目安は、GeForce RTX2060において出力画像サイズ2048×2048[pix]、 処理数300[frame/sec]です。PICAM360-4KHDRはカメラ出力が15FPSですのでライセンスは必要ありません。 カメラ接続数制限 最大1カメラ 有償ライセンスはカメラの接続数制限を解除します。ステレオ3Dのように2カメラ以上接続するにはライセンスが必要ですが、Picam360カメラを2つ以上ご購入いただいた方には2カメラ接続が可能になる基本機能ライセンスを無料で提供します。Picam360ブランド以外のカメラを2つ以上接続する場合は有償ライセンスが必要になります。 ネットワーク経由での接続性は保証しません…

New Softwares Released !

The new environment for Picam360 includes higher performance and higher quality video conversion processing, server-side software and viewer applications that are easier to install, and a video delivery web application. Hello, my name is GAKU from the Picam360 development community. We haven’t updated articles at…

新しいソフトウェアをリリースしました

より高性能かつ高画質になった動画変換処理、導入しやすくなったサーバーサイドソフトウェアとビューワーアプリ、さらに動画配信ウェブアプリと、Picam360に関する環境を新しく構築しました。 本稿の英語版→English version is available here. こんちには、Picam360開発コミュニティのGAKUと申します。 最近は新しいソフトウェアの開発に注力していたので、全く記事を更新していませんでした。ご覧になっていただいた方々、すみませんでした。 更新していなかった間何をしていたかというと、私たちは約2年をかけてPicam360の動画変換処理を改善し出力される動画を高画質にしました。また、サーバーサイドソフトウェアとビューワーアプリを一新し、さらに動画配信ウェブアプリの追加と、Picam360とその周辺環境を新しく構築していました。ソフトウェア達は既存のものから得た知見を活かした全く新しいバージョンにアップグレードされました。まだ予定しているソフトウェアの全てが揃ったわけではありませんが、おおよそ揃いました。まだ揃っていないものも、この1、2ヶ月の間にリリースする目処が立っています。これからそれらについて皆さんにご紹介していけることに興奮しています。 さて、これまでは不定期に更新していたこのブログですが、これからは毎週お届けしていきます。内容はPicam360に関するニュースと、技術的なものを中心に掲載していきます。 技術的に面白い、役に立つという内容であることを記事の基準として作成していきますので、楽しんでいただければと思います。ブログも新しいスタートを切るわけですが、これまでに掲載していながら中断状態だった記事があります(Jetbotなどの記事)。それらは古いソフトウェアを使用していて今回の新ソフトウェアのリリースによって、内容を継続できなくなってしまっため、申し訳ありませんが更新は終了します(いつか新しく書き直すことがあるかもしれません)。ご理解のほどよろしくお願いします。 新しくスタートするブログの第一段にあたる本稿は、まずPicam360がどういうものであるかという内容を新しいソフトウェアで変わった点も含めて紹介します。 Picam360とは? まず、Picam360について説明します。これまではPimca360についての情報発信は、十分とは言えませんでしたのでこの説明はPicam360を初めて知った方はもちろん、既に知っていた方にも発見があるかもしれません。 USB接続タイプのパノラマカメラです Picam360は360度(半天球)を画角に収める広角レンズを搭載したカメラです。コンピューターにはUSBで接続します。通信規格はUVC(USB Video Class)という汎用的な規格を採用しています。UVCカメラはOSが標準で持っているドライバーが使用されますので、特別なソフトウェアを必要としません。 USB接続して単純に写真を撮影する例をご紹介します。 コンピュータにはjetson nanoを使用しています。raspberry piも同様です。 コンソールで以下のコマンドを実行します: // 撮影するためのソフトウェアfswebcamをインストールします。 // インストール済みの場合は不要です。 $sudo apt-get update $sudo apt-get install fswebcam // カメラが認識されているか確認。 // 他のカメラが接続されていなければ/dev/video0が存在します // 他のカメラが接続されている場合は末尾の数字が変わります。 $ fswebcam –list-inputs // 撮影します。…

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プリント部品には目に見えないですが沢山の隙間ができます。 また、モジュールを繋ぐためにはケーブルの接続が必要です。つまり穴が必要になります。 それ以外にも防水を実現するためには多くの課題がありました。 さらに、誰でも製造できるように新しい設計を求めました。 プールでの実験は良好で、次は湖でテストします。 実環境下で問題がなく製品としてリリースできたのちには、実現までに得た知見を公開していく予定です。