問題タブ [tensorflowjs-converter]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - Tensorflow.js の画像サイズ変更メソッド (resizeBilinear および resizeNearestNeighbor) が正しい結果を返さない
問題
- resizeBilinear(*1) と resizeNearestNeighbor(*2) の違いは?特に、resizeNearestNeighbor は正しい画像を返しません (画像の半分が黒です)。(画像の半分は黒です。)
- ResizeBilinear は、セグメンテーションの正しい結果を返しません。(画像の半分が灰色です。)それはなぜですか?これは、resizeNearestNeighbor の結果と非常によく似ています。
バックグラウンド
Tensorflow.js でセグメンテーションを行うアプリケーションを開発したいと考えています。幸いなことに、Python でのセグメンテーションのサンプル コードをいくつか見つけました。(*3) Tensorflow.js で取得した Keras モデルを TFJS モデルに変換することでセグメンテーションができると思います。Tensorflow.js で画像のサイズを変更しようとしましたが、正しい結果が得られません。誰か良いアイデアはありますか?
コード
これが私が書いたソースコードです。(私は JavaScript を書くことに慣れていません。)
左から右へ。
- 元の画像
- 原画を撮影してキャンバスに描く
- resizeNearestNeighbor を使用してサイズ変更し、キャンバスに描画した元の画像 (画像の半分は黒)
- resizeBilinear を使用してサイズ変更され、キャンバスに描画された元の画像 (右に見える)
- resizeBilinear を使用してサイズ変更され、キャンバスに描画された元の画像のセグメンテーション (画像の半分はグレー)
参考文献
(*1) https://js.tensorflow.org/api/latest/#image.resizeBilinear
(*2) https://js.tensorflow.org/api/latest/#image.resizeNearestNeighbor
tensorflow - 「tensorflowjs_converter」により、ブラウザのモデルがオブジェクトを検出しなくなります
「ssd_mobilenet_v2_fpnlite_640x640_coco17_tpu-8」からtensorflow.jsの物体検知モデルを構築しています。モデルをトレーニングし、tensorflowjs_converter
cli ツールで変換しました。モデルを jupyter で実行すると、次の出力が得られます。
しかし、モデルを tensorflow.js にロードすると、バウンディング ボックスが見つかりません。次のようなバウンディング ボックス テンソルに何かを吐き出します。
ほとんどランダム。これらのボックスには、クラスが関連付けられていません。最初は、コンバーターがいくつかの最適化を実行しているように見えるため、tfjs モデルの精度は低いと思いました。しかし、python ノートブックで精度を向上させた後、tfjs の精度は向上しませんでした。
tensorflowjs_converter
最適化をオフにする方法があるようには見えません。本当?
モデルを tfjs で実行するために他にできることはありますか?
これが私のものpipeline_file.config
です:
model.json
コンバーターが作成するファイルは次のとおりです。
そして私のコンバータースクリプト(価値があるため):