[Japanese/English]
ノードエディターベースの画像処理アプリです。
処理の検証や比較検討での用途を想定しています。
ノードは作成者(高橋)が必要になった順に追加しているため、
画像処理における基本的な処理を担うノードが不足していることがあります。
opencv-python 4.5.5.64 or later
onnxruntime-gpu 1.11.1 or later
dearpygui 1.6.2 or later
mediapipe 0.8.10 or later ※mediapipeノード実行に必要
protobuf 3.20.0 or later ※mediapipeノード実行に必要
filterpy 1.4.5 or later ※motpyノード実行に必要
lap 0.4.0 or later ※ByteTrackノード実行に必要
Cython 0.29.30 or later ※ByteTrackノード実行に必要
cython-bbox 0.1.3 or later ※ByteTrackノード実行に必要
rich 12.4.4 or later ※Norfairノード実行に必要
※Windowsでcython_bbox のインストールが失敗する場合は、numpy、Cythonをインストールしてから
cython-bboxはGitHubからのインストールをお試しください(2022/06/05時点)
pip install numpy
pip install Cython
pip install -e git+https://github.com/samson-wang/cython_bbox.git#egg=cython-bbox
以下の何れかの方法で環境を準備してください。
- スクリプトを直接実行
- リポジトリをクローン
git clone https://github.com/Kazuhito00/Image-Processing-Node-Editor
- パッケージをインストール
pip install -r requirements.txt
- 「main.py」を実行
python main.py
- リポジトリをクローン
- Dockerを利用
- 実行ファイルを利用(Windowsのみ)
- ipn-editor_win_x86_64.zipをダウンロード
- 「main.exe」を実行
- pipインストールを利用
※インストールされるディレクトリ名が「node」「node_editor」となってしまうため修正予定
→pip利用時はvenv等の仮想環境でのインストールを強く推奨- ビルドツールをインストール
Windows:https://visualstudio.microsoft.com/ja/visual-cpp-build-tools/
Ubuntu:sudo apt-get install build-essential libssl-dev libffi-dev python3-dev
- Numpy、Cython、wheelをインストール
pip install Cython numpy wheel
- GitHubリポジトリを指定し、pipインストール
pip install git+https://github.com/Kazuhito00/Image-Processing-Node-Editor
- 以下コマンドでアプリケーションを起動
ipn-editor
- ビルドツールをインストール
アプリの起動方法は以下です。
python main.py
- --setting
ノードサイズやVideoWriterの設定が記載された設定ファイルパスの指定
デフォルト:node_editor/setting/setting.json - --unuse_async_draw
非同期描画を使用しない
→GUIイベントループとノードの更新処理を直列に実施
※ノード異常終了時などの原因調査用
デフォルト:指定なし
出力端子をドラッグして入力端子に接続
端子に設定された型同士のみ接続可能
メニューから「Export」を押し、ノード設定(jsonファイル)を保存
Exportで出力したノード設定(jsonファイル)を読み込む
Input Node
Process Node
Deep Learning Node
ドロップダウンリストでモデルを指定し、CPU/GPUチェックボックスで推論時のデバイスを変更可能
※モデルがGPU推論に対応していない場合はGPUにチェックを入れてもCPU推論
ノードが使用するモデルのライセンスは「node/deep_learning_node/XXXXXXXX/」の各ディレクトリを参照
Analysis Node
FPS |
![]() |
ノードの処理時間(ms)を元にFPSを算出するノード 「Add Slot」で処理時間入力端子を追加可能 |
RGB Histgram |
![]() |
入力画像のRGB各チャンネルのヒストグラムを算出して グラフに表示するノード |
BRISQUE |
![]() |
BRISQUEを用いた画質評価を行うノード ※数値が高いほど悪い |
Draw Node
Other Node
ON/OFF Switch |
![]() |
入力画像を出力するか切り替えるノード |
Video Writer |
![]() |
入力画像を動画をして書き出すノード 出力先、出力サイズ、FPSは「setting.json」にて指定 |
Preview Release Node
今後大きく仕様を変更する可能性のあるノード
MOT |
![]() |
Object Detectionノードを入力しMOT(Multi Object Tracking)を実行するノード |
- RGB Histgramノードのグラフ部分が常に最前面に表示される問題の調査
- 複数ノードを接続したノードを削除した際に接続線が残る問題の調査
- Import機能がノード追加前にしか利用できない挙動の修正
高橋かずひと(https://twitter.com/KzhtTkhs)
Image-Processing-Node-Editor is under Apache-2.0 license.
Image-Processing-Node-Editorのソースコード自体はApache-2.0 licenseですが、
各アルゴリズムのソースコードは、それぞれのライセンスに従います。
詳細は各ディレクトリ同梱のLICENSEファイルをご確認ください。
サンプルで表示している画像はフリー素材ぱくたそ様、NHKクリエイティブ・ライブラリー様からお借りしています。