jsk-ros-pkg / jsk_demos

JSK demo programs
https://github.com/jsk-ros-pkg/jsk_demos
25 stars 89 forks source link

デモの画像処理を並列ではしらすようにする #57

Open k-okada opened 10 years ago

k-okada commented 10 years ago
garaemon commented 10 years ago
  1. 並列で走らせる => launchを書けば並列にはなるはず、、、?
  2. 認識結果の可視化 ObjectDetectionのメッセージを使うなら、jsk_pcl_ros/BoundingBoxArrayを表示しているコードを少し書き換えてObjectDetection対応するのもありですね。
h-kamada commented 10 years ago

マーカーをrvizに表示するにはvisualization_msgs::MarkerArrayを使おうとしています。 detection-interface.lに書かれているcheck-detectionで既にこれをpublishするコードが書かれているので、これを元に進めていこうと思います。 認識を別のlaunchにしたので、認識のlaunchをあげただけでmarkerがpublishされる形式になるのが良いと考えていますが、check-detection自体はデモではmain.lで呼ばれるので、今の状態のままでは、デモの実行しないとmarkerがpublishされません。 認識のlaunchを立ち上げるとmarkerがpublishされる形式にかえる方法で一番シンプルで良い方法は何でしょうか? check-detection関数を呼び、返り値をトピックとして飛ばしmarkerをpublishするeusのコードを書き、それを認識のlaunchに加えるといったものでしょうか? 考えすぎでしょうか?もっと簡単に実装できますかね、、?

h-kamada commented 10 years ago

eusのコードをそのようなものにすると、main側では、返り値topicとそのうち実装する信頼度を受け取り、移動する場所を決めるといったものに変更するということになると考えています。

h-kamada commented 10 years ago

Markerトピックに信頼度を加える方法についても相談があります。 現在既にあるMarkerのmsgに、信頼度を示すfloatを加えた新しいmsgを作成することを考えていますが、他に良い方法があるでしょうか?

garaemon commented 10 years ago

markerは表示のためだけのものです。 textの後ろに(1.0)とかつければそれで良いです。

それとはべつにObjectDetectionに信頼度を加えるというのはアリな気がします

2014年10月9日木曜日、h-kamadanotifications@github.comさんは書きました:

Markerトピックに信頼度を加える方法についても相談があります。 現在既にあるMarkerのmsgに、信頼度を示すfloatを加えた新しいmsgを作成することを考えていますが、他に良い方法があるでしょうか?

— Reply to this email directly or view it on GitHub https://github.com/jsk-ros-pkg/jsk_demos/issues/57#issuecomment-58463195 .

from iPhone

h-kamada commented 10 years ago

別の場所にも書きましたが、共分散行列を用いて確率を出すところまで出来るようになりました。(可視化をどうすべきかまだ決めてませんが) 信頼度というのは、認識結果で与えられた3次元座標に実際に取ってが存在する確率を示しているという認識でいますので、今日fridge(88)の88の数字の部分を確率表示に変えようと思います。

h-kamada commented 10 years ago

地図情報を参照してあり得ない場所に存在しているなら確率を減らすというのは、正規分布を仮定して確率を計算している今の方法であれば、そのまま使うだけで外れた位置の座標の確率は下がることになるのですが、それとはまた別のことをすべきということでしょうか?

garaemon commented 10 years ago

とりあえずそれをやろう。 そのときに3σくらいをx-yだけでいいから丸で書いてみよう

2014年10月22日水曜日、h-kamadanotifications@github.comさんは書きました:

地図情報を参照してあり得ない場所に存在しているなら確率を減らすというのは、正規分布を仮定して確率を計算している今の方法であれば、そのまま使うだけで外れた位置の座標の確率は下がることになるのですが、それとはまた別のことをすべきということでしょうか?

— Reply to this email directly or view it on GitHub https://github.com/jsk-ros-pkg/jsk_demos/issues/57#issuecomment-60013442 .

from iPhone

garaemon commented 10 years ago

思いつきですので、やるべきという意味ではないですが、

  1. odomからの位置姿勢で分散を計算しておく
  2. ロボットからの距離に依存する必要となる分散を考える。遠いほど分散は大きくていい、近い時は分散が小さいのが望ましい。 ←物体の大きさと画像の中に占めるピクセルの大きさを考えると1pxのズレが三次元復元した後の座標でどれくらいの誤差になるか分かる。
  3. 目的の分散以下になったら認識処理を1fpsとかに落とす
  4. ロボットが移動したら認識処理のfpsをあげる 5. マニピュレーションのプログラムは「特定の物体の分散値が一定以下になったか?」というのを認識できたかどうかの判断にする→自動的に何回か認識を回すかどうかが判断できる

2014年10月22日水曜日、Ryohei Uedagaraemon@gmail.comさんは書きました:

とりあえずそれをやろう。 そのときに3σくらいをx-yだけでいいから丸で書いてみよう

2014年10月22日水曜日、h-kamada<notifications@github.com javascript:_e(%7B%7D,'cvml','notifications@github.com');>さんは書きました:

地図情報を参照してあり得ない場所に存在しているなら確率を減らすというのは、正規分布を仮定して確率を計算している今の方法であれば、そのまま使うだけで外れた位置の座標の確率は下がることになるのですが、それとはまた別のことをすべきということでしょうか?

— Reply to this email directly or view it on GitHub https://github.com/jsk-ros-pkg/jsk_demos/issues/57#issuecomment-60013442 .

from iPhone

from iPhone

k-okada commented 10 years ago

これはできるといいですね.カルマンフィルタ勉強したからAdaptiveにして現在位置姿勢の共分散がRに入るから綺麗に入れられたりしないかな. with @eisoku9618

2014-11-02 13:35 GMT+09:00 Ryohei Ueda notifications@github.com:

思いつきですので、やるべきという意味ではないですが、

  1. odomからの位置姿勢で分散を計算しておく
  2. ロボットからの距離に依存する必要となる分散を考える。遠いほど分散は大きくていい、近い時は分散が小さいのが望ましい。 ←物体の大きさと画像の中に占めるピクセルの大きさを考えると1pxのズレが三次元復元した後の座標でどれくらいの誤差になるか分かる。
  3. 目的の分散以下になったら認識処理を1fpsとかに落とす
  4. ロボットが移動したら認識処理のfpsをあげる
  5. マニピュレーションのプログラムは「特定の物体の分散値が一定以下になったか?」というのを認識できたかどうかの判断にする→自動的に何回か認識を回すかどうかが判断できる

2014年10月22日水曜日、Ryohei Uedagaraemon@gmail.comさんは書きました:

とりあえずそれをやろう。 そのときに3σくらいをx-yだけでいいから丸で書いてみよう

2014年10月22日水曜日、h-kamada<notifications@github.com javascript:_e(%7B%7D,'cvml','notifications@github.com');>さんは書きました:

地図情報を参照してあり得ない場所に存在しているなら確率を減らすというのは、正規分布を仮定して確率を計算している今の方法であれば、そのまま使うだけで外れた位置の座標の確率は下がることになるのですが、それとはまた別のことをすべきということでしょうか?

— Reply to this email directly or view it on GitHub < https://github.com/jsk-ros-pkg/jsk_demos/issues/57#issuecomment-60013442> .

from iPhone

from iPhone

— Reply to this email directly or view it on GitHub https://github.com/jsk-ros-pkg/jsk_demos/issues/57#issuecomment-61394098 .

garaemon commented 10 years ago

ちょうど事故位置推定やデッドレコニングの誤差と合わせるという話をしていました。

EKFとかのセンサフュージョンの話がうまく統合できるはずです。

ですがいきなりそこを目指すとわけがわからなくなるので、まずは動いたら全力で認識、安定したら認識しない。あとは背景差分ベースにイベントを飛ばして全力で認識、という二つをやると素早くコンセプトが示せて良いと思います。

2014年11月5日水曜日、Kei Okadanotifications@github.comさんは書きました:

これはできるといいですね.カルマンフィルタ勉強したからAdaptiveにして現在位置姿勢の共分散がRに入るから綺麗に入れられたりしないかな. with @eisoku9618

2014-11-02 13:35 GMT+09:00 Ryohei Ueda <notifications@github.com javascript:_e(%7B%7D,'cvml','notifications@github.com');>:

思いつきですので、やるべきという意味ではないですが、

  1. odomからの位置姿勢で分散を計算しておく
  2. ロボットからの距離に依存する必要となる分散を考える。遠いほど分散は大きくていい、近い時は分散が小さいのが望ましい。 ←物体の大きさと画像の中に占めるピクセルの大きさを考えると1pxのズレが三次元復元した後の座標でどれくらいの誤差になるか分かる。
  3. 目的の分散以下になったら認識処理を1fpsとかに落とす
  4. ロボットが移動したら認識処理のfpsをあげる 5.

マニピュレーションのプログラムは「特定の物体の分散値が一定以下になったか?」というのを認識できたかどうかの判断にする→自動的に何回か認識を回すかどうかが判断できる

2014年10月22日水曜日、Ryohei Ueda<garaemon@gmail.com javascript:_e(%7B%7D,'cvml','garaemon@gmail.com');>さんは書きました:

とりあえずそれをやろう。 そのときに3σくらいをx-yだけでいいから丸で書いてみよう

2014年10月22日水曜日、h-kamada<notifications@github.com javascript:_e(%7B%7D,'cvml','notifications@github.com'); <javascript:_e(%7B%7D,'cvml','notifications@github.com javascript:_e(%7B%7D,'cvml','notifications@github.com');');>>さんは書きました:

地図情報を参照してあり得ない場所に存在しているなら確率を減らすというのは、正規分布を仮定して確率を計算している今の方法であれば、そのまま使うだけで外れた位置の座標の確率は下がることになるのですが、それとはまた別のことをすべきということでしょうか?

— Reply to this email directly or view it on GitHub < https://github.com/jsk-ros-pkg/jsk_demos/issues/57#issuecomment-60013442>

.

from iPhone

from iPhone

— Reply to this email directly or view it on GitHub < https://github.com/jsk-ros-pkg/jsk_demos/issues/57#issuecomment-61394098> .

— Reply to this email directly or view it on GitHub https://github.com/jsk-ros-pkg/jsk_demos/issues/57#issuecomment-61793032 .

from iPhone