Tag: 360 Video

Jetson NanoでPicam360を始めよう – 6: 接続する

Picam360カメラをJetsonNanoに接続して360度映像をリアルタイムストリーミングする手順を紹介する連載、今回は最終回の第6回です。 本稿の英語版→English version is available here. こんちには、Picam360開発コミュニティのGAKUと申します。 前回の投稿ではビューワーアプリのインストール手順を紹介しました。最終回の今回はビューワーアプリからJetson NanoのPicam360に接続してリアルタイム映像を視聴するまでの手順を紹介します。 2つの接続経路 ローカルネット内接続: 同一ローカルネット内にあるJetson Nanoへ同じネットワーク内のビューワーアプリから接続します。この場合、外部ネットワークからはアクセスできません。 インターネット経由接続: WebRTCを使用してJetson Nanoへインターネット経由で接続します。外出先からスマホで自宅にあるJetson Nanoへ接続するといった使い方ができます。 事前注意 ネットワーク経由での接続性は保証されません: ローカルネットワーク、インターネット経由の接続は共にネットワーク環境によって接続できない場合があります。特にWebRTCを使用するインターネット経由の接続はルータのセキュリティ設定やPCのファイヤーウォールなどによって接続できない場合が多くあります。 [ 保証されない接続方法 ] ローカルネットワーク、インターネット経由の接続 [ 保証される接続方法 ] LANケーブルの直接接続(アンチウィルスソフトは無効であること) セキュリティはご自身で担保してください: ローカルネットワーク経由で接続する場合にクライアントがホストにアクセスするために必要な情報はホストIPアドレス+ポート番号のみです。インターネット経由(WebRTC)で接続する場合に必要とする情報は設定したキーのみです。単純な接続プロセスを採用していますので、セキュリティー対策はご自身の責任で行ってください。ソースコードはオープンソースとしてGitHubで公開しています(一部モジュールを除く)。 インターネット経由での接続を有効化する手順 設定ファイルを開きます。 $ cd ~/pserver $ nano jetbot-vr180x1-config.json インターネット経由で接続するための設定: # 入力例 “wrtc_enabled” : true, “wrtc_key”…

Jetson NanoでPicam360を始めよう – 5: ビューワーアプリのインストール

Picam360カメラをJetsonNanoに接続して360度映像をリアルタイムストリーミングする手順を紹介する連載、今回は第5回です。 本稿の英語版→English version is available here. こんちには、Picam360開発コミュニティのGAKUと申します。 前回の投稿ではカメラキャリブレーションの手順を説明しました。ここまでのステップでカメラの準備が整いました。今回は、動画を視聴するためのビューワーをインストールする手順を紹介します。 クロスプラットフォームに対応しています サーバーソフトウェアとビューワーアプリケーションはクロスプラットフォームに対応しており、様々なOS上で利用することができます。 デバイスサイドソフトウェア対応OS Windows, Mac, Linux, Raspberry Pi ビューワーアプリ デスクトップアプリ:Windows, Mac, Linux モバイルアプリ:iOSアプリ, Androidアプリ VRアプリ:Oculusアプリ(公開準備中) ブラウザアプリ デバイスサイドのOSとビューワーサイドのOSが異なっていても利用できます。 ビューワーアプリのインストール OSごとのインストール手順をご紹介します。 Mac VRビューワー on Mac Windows, Linux あらかじめ以下の2つのソフトウェアをインストールします。これらは一般的なソフトウェアでインストール方法はウェブで簡単に見つかりますので、手順の説明は割愛します。ウェブで検索してインストールしてください。 最新の安定版のnode.js cmake 上記アイテムがインストールできたら次にターミナル(コマンドプロンプト)を開きます。 Windowsのみ:npxをインストールします。 $ npm install -g npx node-pviewerをインストールする手順に入ります。 まずnode-pviewerの配布バージョンを確認します。…

Jetson NanoでPicam360を始めよう – 4: カメラキャリブレーション

Picam360カメラをJetsonNanoに接続して360度映像をリアルタイムストリーミングする手順を紹介する連載、今回は第4回です。 本稿の英語版→English version is available here. こんちには、Picam360開発コミュニティのGAKUと申します。 前回の投稿ではサーバーソフトウェアのPServer(ピーサーバー)をインストールする手順を説明しました。今回はカメラをキャリブレーションする手順を紹介します。 何をキャリブレーションするのか? 出荷状態のPicam360は調整されていない状態です。そのままでは撮影はできても綺麗な映像は撮れません。物理的なズレを調整し、レンズの状態の計測してソフトウェアに教える必要があります。 ピント調整: 出荷状態はピントは調整されていないので、ピントを調整します。 イメージセンサに対するレンズの位置: カメラのイメージセンサーに対してレンズは多少なりズレています。そのズレ量を計測してソフトウェアで画像の中心を補正します。 レンズの歪み補正: 魚眼レンズはレンズ内の位置によって歪み方が違います。それはレンズの特性であり、レンズのモデルによって異なり、同じモデルでも微小の個体差があります。その歪み方を計測してソフトウェアに教えます。ソフトウェアはその情報を用いて人間が見て自然な画像になるよう補正します。 キャリブレーションはいつ実施するのか? 初回使用前にキャリブレーションは必須です。持ち運びなどにより、フォーカスなどのズレが発生し得るためキャリブレーションは定期的に実施することをお勧めします。 カメラキャリブレーションの手順 それではカメラのキャリブレーションの手順を説明していきます。繰り返しになりますがインストール後の初回使用前にキャリブレーションは必須です。キャリブレーション無しでは動作しません。 チェッカーボードを準備します: 下記のリンクからチェッカーパターン画像(市松模様)のファイルをダウンロードします。ファイルを100%の印刷倍率で印刷し、厚紙などの平らで硬い板に貼り付けます。 https://github.com/picam360/picam360-jetbot/blob/master/capture/calib/checkerboard_pattern.png チェッカーボードが準備できたらキャリブレーションの手順に入ります。 モニター、キーボード、マウスを接続します。キャリブレーションはssh接続では実施できません。 ターミナルを開きます。 古いキャリブレーションファイルを削除します。 以下のコマンドでPServerのパスを表示させてコピーしておきます。 $ which pserver # 表示例: # /home/picam360/.nvm/versions/node/v14.17.0/bin/pserver nodeのバージョンディレクトリ以下のパスを下記のように書き換えて、下記の削除コマンドを実行します。ファイルが存在しない場合はエラー No such file or directoryが表示されますが問題ありません。 $ rm /home/USER_NAME/.nvm/versions/node/v14.17.0/lib/node_modules/node-pserver/lens_params.json キャリブレーションモードを実行します。コマンドを実行すると画面が現れます。 $…

Jetson NanoでPicam360を始めよう – 3: サーバーソフトウェアのインストール

Picam360カメラをJetsonNanoに接続して360度映像をリアルタイムストリーミングする手順を紹介する連載、今回は第3回です。 本稿の英語版→English version is available here. こんちには、Picam360開発コミュニティのGAKUと申します。 前回の投稿ではSDカードにディスクイメージを書き込み、初回起動時の設定を行いました。今回はサーバーソフトウェアのインストール方法をご紹介します。サーバーソフトウェアはPServer(ピーサーバー)という名称のソフトウェアです。PServerはPicam360カメラの映像をキャプチャーして、Picam360 Video Format (PVF)に変換し、変換した映像をビューワーアプリへストリーミングする役割を担います。 サーバーソフトウェアのインストール コマンドラインインターフェースを使用してソフトウェアをインストールします。コマンドを実行する度に必ず画面に表示されるコマンド実行結果を見て正常に完了しているか確認しましょう。手順通りにコマンドを実行しても、SDカードイメージやソフトウェアが新しくなっていることによって、エラーが発生する場合があります。そのほとんどはエラーメッセージをウェブで検索すると解決方法が見つかります。 コマンドを実行して必要なソフトウェアをインストールします。コマンドを実行するためにターミナルを起動します。Jetson Nano上で直接操作するか、もしくはsshを使用してリモートで操作する方法があります。お好きな方を利用してください。 Jetson Nanoを直接操作する: モニタ、キーボード、マウスを接続して、デスクトップからターミナルを起動します。 sshを使用してリモート接続する: Macの場合はターミナルを開きます。Windowsの場合はコマンドプロンプトを開きます。Windows10バージョン1803から、SSHクライアントが搭載されているのでコマンドプロンプトからsshコマンドを実行できます。それ以外の場合は別途sshクライアントをインストールしてください。 sshコマンドを実行します。 $ sudo ssh <ユーザー名>@<コンピューター名>.local # 例)sudo ssh picam360@picam360.local コマンドを実行すると最初にリモート元のコンピューターにおけるログインパスワードを求められることがありますので入力します。次にJetson Nanoのログインパスワードが求められるので入力します。 Password: <リモート元コンピューターのログインパスワード> picam360@picam360.local’s password: <Jetson Nanoのログインパスワード> ターミナルの準備が整いました。それではPServerに必要なソフトウェアをインストールしていきます。 まず、ウェブサイトからデータをダウンロードするためにcurlと、テキストエディタのnanoをインストールします。 $ sudo apt-get -y install curl…

Jetson NanoでPicam360を始めよう – 2: SDカードイメージの書き込み

Picam360カメラをJetsonNanoに接続して360度映像をリアルタイムストリーミングする手順を紹介する連載、今回は第二回です。 本稿の英語版→English version is available here. こんちには、Picam360開発コミュニティのGAKUと申します。 前回の投稿では注意事項と必要な物をリストアップしました。今回はNvidia社が提供するJetson NanoのSDカードイメージをSDカードに書き込む手順と、初回起動時の設定手順をご紹介します。 SDカードイメージの書き込み Jetson NanoのSDカードイメージはNvidia社から提供されています。手順はNvidia社ウェブサイトで見ることができます。下記リンクのウェブサイトを参照してSDカードイメージを書き込んでください。 Nvidia社:Getting Started with Jetson Nano Developer Kit 参考までにMacでSDカードを書き込む手順を紹介します。 公式SDカードイメージをここからダウンロードします。 [ヒント] 公式SDカードイメージは時々新しいものにアップデートされます。アップデートされた環境でPicam360ソフトウェアのインストールが上手くいなかったり、正常に動作しなくなることがあります。検証済み環境に記載している検証済みのSDカードイメージを使用することをお勧めします。 Etcherをインストールします。ここからダウンロードして、インストールします。 Etcherを起動します。書き込み時に以下のようなエラーが発生することがあります。その時はターミナルからEtcherから管理者権限を付与して起動してみましょう。 ターミナルから管理者権限を付与してEtcherを起動するには、ターミナルを起動して以下のコマンドを実行します。パスワードを聞かれた場合はMacのログインパスワードを入力します。 $ cd /Applications/balenaEtcher.app/Contents/MacOS/ $ sudo ./balenaEtcher SDカードをMacに挿入します。もし下記の画面が表示されたら無視を押します。 Etcherの画面のSelect imageを押して先ほどダウンロードしたSDカードイメージファイルを選択します。次に、 Select target でSDカードドライブを選択 、Flash!を押して書き込みを開始します。 書き込みが完了したらSDカードをOSの所定の手順で取り外します。 最初の起動 SDカードを書き込んだ後に、Jetson Nanoを初めて起動すると設定画面が表示されます。この章ではその初回の設定手順を紹介します。 SDカードを挿入します。 モニター、キーボード、マウスを接続します。 WiFiドングルやLANケーブルを使用してネットワーク接続する場合は、それらを取り付けます。…