今年もまた花粉症のシーズンがやってきました。私は10年前からずっと花粉症がひどくて期間中は薬を服用し続けているのですが、花粉症薬は副作用がわりと強烈に出ることがあるので注意が必要ですね。いえ、副作用より花粉症の方が辛いので結局薬を我慢して飲んだりするんですけど、、この2年間はディレグラにお世話になっていたのですが、花粉症の症状は気持ちいほどピタッと止まる代わりに、飲み続けていたせいか副作用が気になりだして動悸で目が覚めたり、そもそも眠れない日が続いたりしました引用元:くすりのしおり処方してくれたお医者さんに相談したんですが、「覚醒効果はありません(キリッ」って言われておいおい嘘だろう、と。いう背景もあり、これは何かマズイ予感がするので、自分で調べたところディレグラは交感神経を刺激するため体が休まりにくかったり眠りにくくなったりするとのこと。(おいおい以前通っていたところはヤブ医者かよ即、病院を変えました。そちらの先生によると「ディレグラは強力な効果が期待できますが、飲み続けるような薬ではないですね」とのこと。ナ、ナンダッテーーー!!というわけで、最近は副作用を抑えめの新しい薬「デザレックス錠」が出たらしいので、こっちとしばらく付き合ってみます。薬は個人差や相性もありますし、ディレグラは花粉症の症状を抑えてくれる素晴らしい薬です。今日伝えたかったことは自分が服用する薬なのでちゃんと調べて服用しようということ。Mapping)も注目を集めています。「なんとなくこんな処理だろう」と大雑把な理解はしているものの、いざ説明しようと思うと出来そうで出来ないのがSLAM。そこで、ちゃんと丁寧に内容を理解していこうというのが本日の内容です。■SLAMの目的:SLAMの目的は1自己位置推定と2マップ作成です。Mapping」となっており、この2つは切っても切れない関係にあります。空間内で自分がどの位置にいるのかを把握する自己位置推定では、そもそも「空間」がどのようになっているのか把握しなければ自己位置推定したところで情報量がありません。なにも存在しない無限遠方の3D空間で「アナタはいまココにいます」と世界座標系の(x,y,z)を用意されても困るわけです。よって他オブジェクトが同じ座標系のどこにいるのかというマップがないと自己位置推定は意味を持たないわけです。マップ作製も自己位置推定と密接な関係にあり、SLAMにおいて自己位置推定を抜きにMAP作成はできません。画像群を一括処理するSfMと比べてSLAMは逐次的に取得される画像からMAP作成するので、入力画像について「世界座標におけるどの位置からどの姿勢で撮影したのか?」という自己位置が推定できなければ入力画像から3次元を更新できません。■SLAMの入力:入力は画像です。RGBだったりRGB-Dだったりしますが、とにかく画像です。異なる視点から複数回撮影された画像です。(1枚ずつ処理することもありますが)SLAMには複数の画像を用います。■SLAMの出力:出力は2つあります。1つ目はMapで、観測された対象物の世界座標系における3次元座標の集合です。ここには壁があって、ここには通路があって、という空間の把握に役立ちます。観測された画像のあらゆる画素や特徴点がMap反映されるわけではありません。計算量が膨大になったり、対応点の算出が困難になったりするため、冗長な点を省いたり、特徴的な点だけをMapに反映することがあります。2つ目の出力はPoseです、これは画像を撮影したときのカメラパラメータで、「どんなカメラでどの位置からどんな姿勢で撮影したのか」という情報に相当します。よって、カメラパラメータは画像1枚ごとに異なりますが、かといって全ての画像に対してカメラパラメータを推定するとは限りません。Flameと呼びます)だけで、冗長なものは間引くこともあります。カメラパラメータ推定は3次元空間内での自己位置推定と等価です。カメラパラメータには内部パラメータと外部パラメータの2つがあります。内部パラメータとはカメラのスペックのようなもので、焦点距離やレンズ歪などに相当します。https://www.slideshare.net/takahashikousuke/camera-calibration-111239064)。カメラの内部パラメータは既知として、外部パラメータのみ推測するような問題設定が比較的多いです。Takahashiさんによるこの説明がわかりやすいです■アルゴリズム:Map推定結果とPose推定結果から「この位置からこの姿勢で撮影したらこういう画像ができるだろう」と計算された投影点、と、実際にカメラが撮影した観測点を比較して、誤差が最小となるようにMapとPoseを更新します。■難しさ:RGBで取得した画像を入力とした場合、画像からMap推定するときの中間過程に「Depth推定」が必要となります。2次元のRGB画像から深度(Depth)を推定して3次元の世界座標系にマッピングするため、ここでも誤差が発生する可能性があります。Map推定の誤差なのか、Depth推定の誤差なのか、Pose推定の誤差なのか、見極めが難しくなります。先述したように撮影した全画像についてマッピングや自己位置推定を行うと処理がいつまでも終わりません。よってMap推定に有効なサンプル(KeyFrame)を選定する必要があり、その選定方法について様々な手法が提案されています。どの対象物(画素、特徴点)をMap推定やPose推定に使用するのかという選定にも工夫が必要です。Pose推定については下手なものを用いるとカメラ間で対応が取れなかったりするためです。濃度勾配が高い画素のみを推定に用いるなどの手法があります。局所的には正確に対応点を取ってMapやPoseを推定できたとしても、それを逐次的に繰り返すうちに誤差が蓄積して、全体のMapやPose推定では歪みが出ることがあります。Closingなど)。機械学習の研究をしていると特徴量の分布を確認したくなることは多い。Adaptationなどの研究になると分布の重なり具合の確認のために可視化が必要となる。いった場合によく用いられるのがt-SNEという手法だが、可視化のための低次元空間の算出の処理がとにかく重い。うっかり多すぎるデータをINPUTしてしまうと、そのままフリーズしたりもする。画素をカウントするとき左上座標を(0,0)とするのか(1,1)とするのかが異なり、データ前処理を誤ってアノテーション座標に(-1,-1)が含まれてしまう。ファンという素晴らしい光景が広がっていました、まさか日本でこの光景を見られるとは。昨夜は東の聖地こと熊谷にも足を運びました。駅を出るとさっそく衝撃的な光景!各国代表を応援するメッセージが掲げられた旗、サモアやロシアのジャージを着た観戦客、地域の文化を紹介するコーナー。足元にもラグビーの街、熊谷といったペイントが以前からあり、本当に上下左右どこを見てもラグビー一色でした。2019課題視されていた駅からスタジアムまでのバス運行もなかなかスムーズでした。バスを縦列に何台も並べて並列クエリを形成するように誘導しながらどんどん乗車して行きます。整列のプロとして有名な日本人の底力をみた気がします。3.5kmの道のりに定期的にスタッフさんが立ってくれていて、笑顔で手を振ってくれます。ファンゾーンでは日本酒や地元フードが500~700円程度の良心的な値段で楽しめます。試合会場ではハイネケン500mlで1000円という強烈な値段設定ですが、こちらはお手頃価格。あと、昨夜のステージではゲストにはなわさんが登場して「跳んで埼玉」のテーマソングを熱唱、めっちゃ埼玉をdisってました笑また、試合では地元の中学生も招待されていた様子で、ロシアコール、サモアコール、ウェーブにと、創意工夫を凝らして子供達が大会を盛り上げてくれる様子は感無量でした。タイトなスケジュールの影響もあたのかロシアは後半足が止まり始めて、サモアに気持ちよく走られましたね。結論:電池を抜いた状態で左右のクリックをカチカチ、これを20秒ほどする、以上!!解説:「チャタリング」とはマウスの不具合(というより故障)の一種。ドラッグしたつもりがドラッグできていなかったり途中で途切れたりする。主な原因は内部にたまった静電気。上記の方法で静電気を抜いてやるとよい。https://arxiv.org/abs/1902.03545タスクの類似度評価指標を提案。ImageNETでpre-trainしたモデルを、タスクにあわせてClassifier部分だけretrainする。そのあと、どのクラス出力と、どのChannel(Filter)の関係性が大きいのか、フィッシャー情報量を利用して評価する。イメージとしては、重みWに摂動ΔWを加えたときに、予測出力が大きく変化する(KL距離で評価)ような場合は、クラス予測によって重要な特徴量であると言える。実験結果では、全く異なるデータセットではあるが、たとえば鳥の種類を識別しようとしているタスク同士がEmbedding後の空間で近傍に射影されるなどしている。(なお、これだったら特定タスクを解くときにどの特徴量がActiveになっているか?を評価するだけでタスク空間を得られる気がするが、どうやらそれでは上手くいかなかった様子。京都の某メーカーにて機械学習・IoT・ビッグデータを扱う。