VRビューワー on Mac
Macにビューワーアプリをインストールする手順をご紹介します。 本稿の英語版→English version is available here. Macにビューワーアプリをインストールする手順をご紹介します。 ビューワーアプリのインストール on Mac Xcode ビューワーアプリはXcodeに含まれるコンポーネントを使用します。 MacにまだXcodeが入ってなければインストールします。XcodeはMac App Storeからインストールすることができます。 https://apps.apple.com/us/app/xcode/id497799835?mt=12 パッケージのインストール ビューワーアプリに必要なパッケージをHomebrewを使ってインストールします。 MacにまだHomebrewが入ってなければインストールします。 ターミナルを開いてコマンドを実行します: /bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)” Homebrewがインストールできたら、パッケージをインストールします。ターミナルで以下のコマンドを実行します。 $ brew install cmake $ brew install pkgconfig $ brew install libjpeg $ brew install libpng Node.jsのインストール…
Jetson Nano B01 Kit 代替品
最近入手困難になっているJetson Nano開発者キットの代替品を紹介します。 本稿の英語版→English version is available here. こんちには、Picam360開発コミュニティのGAKUと申します。 この一年間の間に、Nvidia純正のJetson Nano開発者キットは、ほぼ入手困難な状況で、高額な転売品を除いて買えない状況になっています。Picam360の公式ストアにも「Jetson Nanoを売っているところを知らないか」「一緒に販売してもらえないか」というお問い合わせをいただくことがあり、Picam360のユーザーは日本国外が多いですので、そのことから世界的に入手困難な状況となっていることが分かります。この状況は、半導体不足の影響なのか、Nvidia社が開発者キットの生産を減産または停止しているのか、理由は分かりません。 この先、状況が改善されるのか不透明なので、Nvidia社以外のキャリアボードでPicam360ソフトウェアが動作するか試しました。今回の記事では、waveshare製JETSON-NANO-DEV-KITをご紹介します。 開発者キットとは Jetson NanoはJetson NanoモジュールとJetson Nano開発者キットという2つの形態で販売されています。簡単に言うとJetson Nanoモジュールが本体であり、開発者キットはモジュールとモジュールを使用するための拡張基板のセット商品です。Jetson Nanoモジュールは組み込み用途のコンピューターです。LANポートやHDMI出力等の周辺機能は付いていません。周辺機能は必要なら組み込み先デバイスが用意するものであり、組み込み用コンピューターとしてJetson Nanoモジュールはできるだけ小型で余計なものがついていない形が望ましいのです。 しかし、デバイスの開発の最初の段階では、組み込み先デバイスの存在しなので、単独で動作させることのできないモジュールだけでは開発しにくいです。モジュールがプロジェクトに適しているのかどうか評価もできません。そのため、組み込み用コンピュートモジュールを販売するメーカーは、電源やLANポート、USBポートなど、開発に必要な周辺機能を搭載し、組み込み先デバイスが無くてもモジュールを動かすことのできるキャリアボード(開発用基板)を一緒に販売したりします。 純正相当品のキャリアボード Jetson Nano開発者キットが入手困難ですが、Jetson Nanoモジュールは現在も販売されています。Nvidia社はキャリアボードはもう売らないのかもしれません(知りませんが)。キャリアボードはNvidia純正品に相当するスペックのものを作って売っているメーカーがあります。 例えば、今回の記事で紹介するwaveshare製のJETSON-NANO-DEV-KITです。モジュール込み、USBメモリ付きで約240USDです。SDカードからeMMCに変更されています。その他は、Nvidia製とほぼ同じ仕様となっています。 他には、seeedstudio製reComputer J1020があります。こちらはPicam360ソフトウェアの動作は未検証です。モジュールとケース込みで約260USDです。SDカードからeMMCに変更されています。M.2 Key MがあるのでSSDが使えますが、M.2 Key E は無効化されているためWIFIカードは使えません。J1010というモデルもあって、そちらはJetson Nano開発者キットの2GBモデルに近い構成となっています。 組み込みモジュールのメーカーはモジュールが製品に採用され、その結果たくさん売れる状況を作りたいので、評価に必要な開発者キットは安く提供したりします。日本においては、Jetson Nanoモジュールは170USD程度で販売されていて、開発者キットは以前は120USDくらいの価格で販売されていました。モジュール込みの開発者キットがモジュール単体価格より安いのですから、開発者キットは普及させるための特別価格というわけです。 純正が手に入らなくなった今、サードパーティ製で代替は可能です。ただ価格は純正と比べると高くなります。モジュール単体が170USDで、waveshare製JETSON-NANO-DEV-KITは240USDです。モジュールの販売価格からすると特別高いという価格設定ではないとは思いますが、手軽に買える値段ではなくなってしまったのは残念です。 waveshare: JETSON-NANO-DEV-KIT waveshare製JETSON-NANO-DEV-KITは、Nvidia製とほぼ同じ仕様です。簡単に、内容をご紹介します。 外箱です。純正とほぼ同じです。スペックもほぼ同じなのでJETSON-NANO-DEV-KITはNvidia製の置き換え機というコンセプトなのでしょう。 外観です。ピンヘッダーに色が付いています。 32GBのUSBメモリも付属しています。 純正キャリアーボードは電源をUSBからDCジャックに切り替える場合は、ピンを短絡させる必要がありました。本品ではピンが無くなっていて、自動で切り替わります。ケースを付けていると切り替えが大変なので、これは便利です。 モジュールを外した写真です。M.2…
簡単インストール:Dockerを利用したPicam360ソフトウェアのインストール
Dockerを利用してPicam360ソフトウェアのインストール済み環境を構築できるようになりました。 本稿の英語版→English version is available here. こんちには、Picam360開発コミュニティのGAKUと申します。 Dockerを利用してPicam360ソフトウェアのインストール済み環境を構築できるようになりました。以前の手順に比べて手順数が少なくなり、簡単にインストールできます。 注意点 今回ご紹介する手順によって構築される動作環境は、まだ完全ではありません。 カメラキャリブレーション機能にアクセスできません。暫定のキャリブレーション情報を適用するので使用できますが、画像に歪みがでます。(今後は自動キャリブレーション機能の実装を検討しています) ライセンス認証機能にアクセスできません。ステレオ機能はライセンス認証をしなくても動作しますが、FPSは7.5に制限されます。 これらは、改善されたタイミングでこの記事を更新していきます。 インストール手順に進む前に、Picam360ソフトウェアを使用する上での注意事項はこちらの記事を一読ください。 Jetson NanoでPicam360を始めよう – 1: 必要な物と注意事項 インストール手順 nvidiaのランタイムをインストールします。 $ sudo apt-get install nvidia-container-runtime 設定ファイルを作成します。 sudo tee /etc/docker/daemon.json <<EOF { “runtimes”: { “nvidia”: { “path”: “/usr/bin/nvidia-container-runtime”, “runtimeArgs”: [] } } } EOF dockerデーモンを再起動します。…
11K超えの最大14K!VRに最適な超高画質360度カメラが登場
最大45メガピクセル、4/3型大型イメージセンサを搭載し超高画質を実現したハイクオリティーカメラシリーズが登場しました。 本稿の英語版→English version is available here. こんちには、Picam360開発コミュニティのGAKUと申します。 4/3型大型イメージセンサを搭載し超高品質な360度映像を提供するPicam36oの新ラインナップ、ハイクオリティーカメラシリーズを発売しました。 PICAM360 ハイクオリティーカメラシリーズ 最大14K、45MPと21MPの2つのモデル 2つのモデルがあります。 PICAM360-FT45MP 4500万画素の超高解像度、フォーサーズサイズのイメージセンサーを搭載。最高の解像度を追求したパノラマカメラです。 全天球換算(*)で最大14Kの解像度となります。 モデル PICAM360-FT45MP 視野角 水平:190° 垂直:150° イメージセンサー Sony Special 解像度 45 mega pixels フレームレート 全天球換算 14K@8FPS 全天球換算 7K@30FPS 対応デバイス Jetson Xavier NX 価格 1,500 USD (*)一般的に360度カメラは全天球のものが多く、比較のためにカメラ2つの全天球に換算した解像度で表現しています。 PICAM360-FT21MP 2100万画素、フォーサーズサイズのイメージセンサーを搭載。解像度とフレームレートのバランスを考慮して設計されたパノラマカメラです。 全天球換算(*)で10Kの解像度となります。 モデル PICAM360-FT21MP 視野角 水平:190° 垂直:150°…
Oculus Quest2に8Kパノラマ動画をライブストリーミングしてみた
ステレオカメラに設定したPicam360の3DVRライブ映像をOculus Quest2で視聴してみます。この記事ではその手順をご紹介します。 本稿の英語版→English version is available here. こんちには、Picam360開発コミュニティのGAKUと申します。 ステレオカメラに設定したPicam360の3DVRライブ映像をOculus Quest2で視聴してみます。この記事ではその手順をご紹介します。 タイトルの8Kというのは4KのPicam360カメラ2台の合計した解像度から来ています。それはちょっとずるい書き方ではあるのですが、一般的に販売されているVRヘッドセットの解像度は両眼の解像度を合わせた数値で表記されていることが多いので、その表記に合わせてみました。 セットアップの流れ 1: 2台のPicam360カメラとJetson Nanoをステレオカメラとしてセットアップ 2: Oculus用PViewerアプリのビルドとインストール 3: ライブストリーミング No.1の手順は以前の記事でご紹介していますので、今回の記事の内容はNo.2のOculus用PViewerアプリのビルドとインストールの手順がメインです。 今回使用した物 カメラ: PICAM360-4KHDR x 2台 サーバーデバイス: Jetson Nano ビューワーデバイス: Oculus Quest2 アプリをビルドするPC:Mac or Windows or Linux 今回の記事ではビルドにはMacを使用して説明しますが、WindowsやLinuxでもほぼ同じです。 2台のPicam360カメラとJetson Nanoをステレオカメラとしてセットアップ ステレオカメラの設定手順は以前紹介した下記の記事を参照してセットアップしてください。 Jetson Nanoでステレオ魚眼カメラの映像をライブストリーミングしてみた Oculus用PViewerアプリのビルドとインストール Oculus用PViewerはunityを使っているので、作業はUnityのプロジェクトをセットアップしてAndroid向けにビルドするという流れになります。 unityのウェブサイトにアクセスしてunity…
Jetson Nanoと魚眼カメラで全天球の映像をライブストリーミングしてみた
2つのPicam360カメラを全天球カメラとして設定しライブストリーミングする手順をご紹介します。 本稿の英語版→English version is available here. こんちには、Picam360開発コミュニティのGAKUと申します。 今回は2つのPicam360カメラを全天球カメラに設定する手順をご紹介します。 半天球と全天球 半天球カメラは球体のおおよそ半分の範囲を撮影できるカメラの総称です。撮影に不要な範囲や、撮影者、三脚などが写らないように調整することができます。Picam360は半天球カメラです。 全天球カメラは全ての方向を同時に撮影できるカメラです。撮影現場をくまなく記録できます。今回の記事では2つのPicam360を全天球カメラとしてセットアップします。 つなぎ目接合処理 複数のカメラで撮影した画像を1つの360度画像に合成するために画像の境界を繋ぎ合わせる必要があります。ソフトウェアにより画像を繋ぎ合わせる処理をスティッチングと言います。2つのPicam360カメラのストリーミングに必要な処理に加えてスティッチングをおこなうにはJetson Nanoの計算リソースだと少し足りません。その為、Picam360ソフトウェアでは境界エリアを少し透過させて重ね合わせる簡易的な接合を採用しています(アルファブレンディング)。 今回使用した物 カメラ: PICAM360-4KHDR (8MP, WDRモデルでも可) x 2台 サーバーデバイス: Jetson Nano ビューワー: マルチプラットフォーム対応のビューワーアプリ「PViewer」を使用します。詳しくはこちらをご覧ください。この記事内に掲載しているビューワーの画像はMac版のPViewerです。 条件に合うWi-Fiアンテナを使用します 2つカメラを接続する場合には使用するWi-Fiアンテナの選定に注意が必要です。<Jetson NanoでPicam360を始めよう – 1: 必要な物と注意事項>のWi-Fiアンテナの項に記載の条件に一致するアンテナを使用してください。おすすめはM.2 Wi-FiカードのIntel Dual Band Wireless-AC 8265です。動作についてはNvidia社お墨付きです。 カメラの設置 記事冒頭の写真はM2(mm)のスペーサーで2つのカメラを固定しています。 こちらのページに3Dプリントできるステレオカメラ用のデザインデータを公開しています。全天球用のホルダーは用意していなくてごめんなさい。ご自身でカメラホルダーを作成される場合に寸法や形状の参考にしていただければ幸いです。 セットアップ セットアップ手順はステレオカメラのそれとほぼ同じです。下記のステレオカメラのセットアップ手順のページを参照しセットアップしてください。この記事ではステレオカメラの手順と異なる箇所を説明します。 ステレオカメラ設定と異なる部分 ソフトウェアライセンス不要:全天球の設定にソフトウェアライセンスは不要です。ステレオカメラの手順に含まれるライセンス認証用キーに関するステップは飛ばしてください。…
Jetson Nanoでステレオ魚眼カメラの映像をライブストリーミングしてみた
2つのPicam360カメラをステレオカメラとして設定しVR3D映像をライブストリーミングする手順をご紹介します。 本稿の英語版→English version is available here. こんちには、Picam360開発コミュニティのGAKUと申します。 久しぶりの投稿です。今回は2つのPicam360カメラをステレオカメラに設定する手順をご紹介します。 ステレオカメラとは? 人間の目と同じ原理で立体的な映像を見ることができるカメラです。私たちの目は2つの目で見ているため立体的に物を見ることができます。カメラも同じで、2台のカメラを並べて撮影し、左右の目でそれぞれのカメラの映像を見ると立体的に見えます。 今回使用した物 カメラ: PICAM360-4KHDR (8MP, WDRモデルでも可) x 2台 サーバーデバイス: Jetson Nano ビューワー: Android版のPViewer ソフトウェアライセンスが必要です ステレオカメラの使用にはソフトウェアライセンスが必要です。Picam360カメラを2台以上ご購入いただいた方にはライセンスを進呈します。ライセンスが必要な方は<こちら>からお問い合わせください。 条件に合うWi-Fiアンテナを使用します 2つカメラを接続する場合には使用するWi-Fiアンテナの選定に注意が必要です。<Jetson NanoでPicam360を始めよう – 1: 必要な物と注意事項>のWi-Fiアンテナの項に記載の条件に一致するアンテナを使用してください。おすすめはM.2 Wi-FiカードのIntel Dual Band Wireless-AC 8265です。動作についてはNvidia社お墨付きです。 カメラの設置 2つのカメラの設置間隔は人間の2つの目の距離に合わせると映像を自然な感覚でみることができます。対象物が常に遠い場合はカメラの間隔をさらに広げると立体感を得られます。 こちらのページから3DプリントできるPicam360カメラホルダーのデザインデータを取得することができます。 3Dプリンターが無い場合はプラスチックボード等で作ってもよいでしょう。 サーバーデバイスのセットアップ まず通常のセットアップを行ってください。Jetson Nanoのセットアップ手順は以前に投稿した下記の記事にあります。 <検証済み環境>に記載のある環境でセットアップしてください。それ以外の環境では動作しない場合があります。 ラズパイは<こちら>。通常のセットアップが完了したら、次のステップでステレオカメラの設定を行います。…
魚眼カメラの映像をVRでライブストリーミングしてMacで見てみた
360度カメラのライブ映像をMacで見る方法をご紹介。 本稿の英語版→English version is available here. こんちには、Picam360開発コミュニティのGAKUと申します。 以前の投稿で、Jetson NanoやRaspberry Piを使ってPicam360の魚眼映像をVR映像としてライブストリーミングする方法をご紹介しました。その記事の中ではスマホアプリでライブ映像を視聴していましたが、Picam360のViewerアプリはさまざまなプラットフォームに対応しています。今回はMacでライブ映像を視聴してみます。 【過去記事】スマホアプリで視聴する様子: Jetson Nanoで魚眼カメラの映像をVRでライブストリーミングしてみた 今回使用した物 カメラ: PICAM360-4KHDR (8MP, WDRモデルでも可) サーバーデバイス: Jetson Nano (Windows, Mac, Raspberry Pi, Linuxも対応しています) ビューワー: Mac版のPViewer (Mac以外にアンドロイド、iOS、Windows、Oculus、ブラウザのアプリがあります) サーバーデバイスのセットアップ手順: Jetson Nanoのセットアップ手順は以前に投稿した下記の記事にありますので参照してみてください。ラズパイは<こちら>。 Jetson NanoでPicam360を始めよう – 1: 必要な物と注意事項 Macにビューワーアプリをインストールする手順: Macにビューワーアプリをインストールする手順は下記ページの[ビューワーアプリのインストール]の項目です。 Jetson NanoでPicam360を始めよう – 5: ビューワーアプリのインストール 接続してライブ映像を見てみる:…
Jetson Nanoで魚眼カメラの映像をVRでライブストリーミングしてみた
本稿の英語版→English version is available here. こんちには、Picam360開発コミュニティのGAKUと申します。 Picam360の魚眼映像をVR映像としてライブストリーミングする様子を撮影してみました。PICAM360-4KHDRとJetson Nanoを使って、インターネット越しにVR映像をライブストリーミングしています。下方の動画はスマートフォンのアプリで映像の視聴方向をコントロールしていて、そのスマホの画面をキャプチャしたものです。 この画質でビットレートは2MBps!モバイルネットワーク越しでもネットワーク速度が問題にならない軽さです。 カメラ: PICAM360-4KHDR サーバーデバイス: Jetson Nano ビューワー: PViewer (アンドロイドアプリ; その他、iOS版、デスクトップ版、ブラウザ版もあり) Picam360についてこちらの記事でも詳しく紹介しています: 新しいソフトウェアをリリースしました Picam360リンク: ウェブサイト: https://www.picam360.com ウェブストア: https://store.picam360.com Twitter: https://twitter.com/picam360 Facebook: https://www.facebook.com/Picam360/
Raspberry Piで魚眼カメラの映像をVRでライブストリーミングしてみた
Picam360カメラをRaspberry Piに接続して360度映像をリアルタイムストリーミングする手順を紹介。 本稿の英語版→English version is available here. こんちには、Picam360開発コミュニティのGAKUと申します。 Raspberry Pi4を使用して、Picam360の魚眼映像をVR映像としてライブストリーミングしてみました。今回はその手順をご紹介します。 実際の映像 Raspberry Piからスマホにリアルタイムストリーミングして、画面をキャプチャしたものです。(キャリブレーションをちゃんとやっていないので若干歪んでます) どうでしょうか?ビューワーも映っている状態で撮影したので実際の使用感は伝わるんじゃないかと思います。 今回のストリーミングのビットレート設定は1.5MBpsでした。Raspberry PiはJetson Nanoに比べて性能が劣るので解像度、フレームレートが低めですが(なのでJetson Nanoを使う方がおすすめです)、用途によっては使えると思います。 準備するもの Raspberry Pi4 Picam360 PICAM360-4KHDR, PICAM360-CAMPT8MP, PICAM360-CAMTWDRのいずれでもOK。Raspberry Piの処理性能故に入力画素数が落ちるが、実際に見ると画質的にはやはりPICAM360-4KHDRが綺麗です。 動作環境 Raspberry Pi: Raspberry Pi 4 OS: Raspberry Pi OS Buster (Bullseyeでは動作しません) npm: 6.14.3 node: v14.17.1 node-pserver: 0.1.5 接続方法: WebRTC (WebSocket接続は使用不可)…
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の配布バージョンを確認します。…