Windows Embedded Standard
OepnMVS関連で3回目の解説です。前回、MetashapeからOpenMVS形式に変換してテクスチャ付きの3Dモデルを生成しました。今回は、その際に行ったMetashapeからOpenMVS形式への変換について、ソースコードを覗きながら、どのようにMetashapeで生成したファイルが…
Windows Embedded CE6.0開発環境を再構築するために、Windows XPモードで作成した仮想PC環境をHyper-Vに移行する方法について投稿しましたが、マウスの挙動がおかしいことに気づきました。よくよく観察してみると、マウスカーソルの上下の動きが、実際のマウ…
Jetson NanoなどNVIDIAが出しているたくさんのボードはコンピュータビジョン系の解析やAIなどGPUを活用した様々な用途に活用できるだけでなく、Linuxを搭載していながらも、MicrosoftのAzure IoT Edgeデバイスとして利用もできるとても便利なボードです。前…
Azure IoT Edgeデバイス(Linux)として利用も出来るJetson Orin NXを使ってVisual Studio Codeとのリモートデバッグをやりたくて、Yahboom Jetson Orin NX 開発キットを購入しましたが、ケーブル配線がマニュアルにも掲載されておらず苦労したので、備忘録と…
Windows 7に搭載されていたXPモード。Windows XPが様々なところで利用されていて、継続利用したいユーザー向けにマイクロソフト社が提供していた機能です。Windows Embedded CE6.0開発環境を再構築しないといけないという理由があり、このXPモードで生成した…
写真画像上に写っている物体の位置、つまり座標が実際にはどんな座標なのかを知りたいシーンがあると思います。下図のように座標または大きさが既知の四角形が実物にも画像上にも存在する場合は、射影変換(Homography transformation)を使うことで、画像上の…
Windows上でUbuntu 20.04を動作させて、その上でDetector-Free Structure from Motionをビルドしてみます。通常のSfMパイプラインの場合、最初に特徴点と呼ばれる点をすべての画像から抽出し、それらを複数画像間でマッチングを行います。これらマッチングさ…
OpenMVS(Multi-View Stereo)はMulti-Viewステレオという手法で三次元を再構築することを目的としたコンピュータビジョンライブラリです。OpenMVGのようなSfM(Structure-from-Motion)パイプラインのオープンソースプロジェクトは写真を解析してカメラ姿勢を推…
Gaussian SplattingとNeRFは、両方とも3次元のシーンを再構築するための手法ですが、そのアプローチにはいくつかの機能的な違いがあります。 まず、Gaussian Splattingは、複数の画像からの情報を使用して3Dシーンを再構築します。これは、画像から得られる2…
Vcpkgでビルド中にliblzmaでエラーが発生する問題に遭遇して回避策を見つけたので共有させていただきます。Visual Studio 2022環境で発生したケースですが、他のバージョンでも同様のケースになる可能性があると思います。 下記のファイルでエラーを確認して…
Windows 11にリモートデスクトップ接続(RDP)したときに、日本語キーボードだと、正しく文字が入力できないケースがあります。私の環境ではMacのリモートデスクトップで接続したときに発生しました。 例えば、以下のようなケースでは同じケースだと思います。…
コードの解説の続きです。 下記のコードでは、オドメトリとレンジ測定を処理するループが設定されています。オドメトリデータと測距データが組み合わせられ、newFactorsとinitialの値が更新されます。また、ISAM2のアップデートが行われ、推定結果が計算され…
GTSAMをVisual Studio Code上で使って、実際の動き、というよりデータ(数値)がどのように計算されているのかについてとても分かりやすく説明してくれている"GTSAM by Example"というページ(e-book)に沿って解説させていただきます。 前回は、ひとまずソース…
GTSAMをVisual Studio Code上で使って、実際の動き、というよりデータ(数値)がどのように計算されているのかについて分析してみましたので、ご紹介します。GTSAMがどんなライブラリかというと、GitHubのページに下記のように紹介されています。 GTSAM is a C…
Windowsをインストールしたての環境にWSLを初期インストールしてUbuntuが起動できるようになるまでに、実は結構はまることがあり、備忘録として投稿しておきます。 まず、管理者権限でWindows PowerShellを起動して、下記コマンドで仮想化機能を有効にします…
特定のファイルをGitHubの管理対象から外す方法(管理対象外にする)について少し苦労したことがあるので、備忘録として共有させていただきます。 まず、管理対象から外す時は、下記のようにファイル名を指定することで実現できます。 $ git rm --cached <フ…
YOLOはとても注目されている物体検出と画像セグメンテーションのモデルで、You Only Look Once(一度見るだけでOK!)の略です。2015年にワシントン大学によって開発され、そのリアルタイム性と高精度さから注目されています。 こちらのページを参考にしてYOLO …
MacのBootCamp上のWindowsではデフォルトで仮想機能が無効になっているので、そのままではWSLを利用できません。そこでWSLを利用できるようにするためのおまじないについてご紹介します。 管理者として PowerShell を起動します。下記コマンドでWSL2をインス…
MacからAzure Virtual Desktopに接続する方法はこちらで紹介させていただきました。ただ、Macのリモートデスクトップアプリで接続しても、Mac側はキーボードレイアウトが日本語キーボードなのに、なぜかAzure Virtual Desktop側はUSキーレイアウトになってし…
前回、UTMを使ってM1チップのMacBook Pro上でWindows 11の仮想マシンを動かしてみました。その後、利用中に少し設定変更が必要な点に気づいたので、それらの設定内容についてご紹介します。 まず、前回作成したWindows 11仮想マシンの設定画面を開きます。 1…
Apple M1チップを搭載したMacではIntel版WindowsのBootCampも構築出来ず、不便な思いをしている方もあると思います。昨年はIntel版Windows 10をUTMという仮想環境上で動かす方法について説明しました。ただ、Intel版はCPUをエミュレートして動かしているので…
Visual Studio CodeでPythonを実行する際に、Pythonコードに対して決まった引数を指定したいことがあると思います。その際の引数の指定方法について説明します。 まず、Visual Studio Codeのメニューで[Run]-[Configuration]を実行します。 デバッグ環境を聞…
特徴点マッチングを特徴量ではなく、AIで実行するSuperGlue(SuperGlue: Learning Feature Matching with Graph Neural Networks)をVisual Studio Codeで実験してみましたので、その方法についてご紹介します。 まず、Python環境の構築です。SuperGlueで使用…
ドローンの機体を制御するコンピュータであるフライトコントローラ用OSの開発環境は、一般的にはWindows非対応なので、通常はUbuntuを別PCあるいは仮想PC環境に用意しないといけません。ただ、私は普段はWindows PCを使っているため、Ubuntuとのデータやり取…
BoostのページからBoostソースコードをダウンロードして適当なフォルダに展開します。この時点で最新版Ver.1.81.0だったので、boost_1_81_0.zipをC:\dev\boost_1_81_0に展開しました。 コマンドプロンプトでC:\dev\boost_1_81_0に移動します。下記のようにバ…
ブログに投稿する際、ソースコードをハイライトするために活用しているPygmentsについて紹介したいと思います。 PygmentsはPython Syntax Highlighterと言って、様々なソースコードを言語ごとの文法で色分け表示するPython ツールです。普段はソースコードを…
Windows用ビルド済みの実行モジュールで後処理位置測位実施例をWindowsで後処理PPKを試すで解説させていただきました。今回は、Visual Studio 2022を利用してCUIベースで同様の処理を実現するconvbinexeやrnx2rtkp.exeを自力でビルドと実行した手順について…
ドローンによる写真測量で注目されているRTK測量ですが、RTKはその名称Real-Time Kineticの通り、インターネットを通してリアルタイムに基地局データを取得しながら位置測位をする方式です。しかし、インターネットの無い環境など、いくつかの制約からRTKが…
AnacondaとVisual Studio Codeはダウンロードしてインストール済みの前提です。 ここからはターミナル上での作業です。 myenvという名称の仮想環境を作成します。下記のようにbaseを複製して作成します。作成が終わったらmyenvを有効にします。 conda create…
個人的に仕事効率化などの目的で、ローカルフォルダ内のファイル一覧をリスト化して、それらのファイル名を特定の処理をして、その結果、一定の規則でファイル名を変換して、出力する、といったようなファイル操作をするプログラムを作ることがあります。そ…