Blog
リサーチャーの高橋城志(Kuniyuki Takahashi)とエンジニアの米倉健太(Kenta Yonekura)です.
二人の共著でIROS2020で発表しましたので,論文を紹介します.論文,データセット,動画は下記から閲覧できます.
論文タイトル:Invisible Marker: Automatic Annotation of Segmentation Masks for Object Manipulation
論文のリンク:https://arxiv.org/abs/1909.12493
データセット:https://github.com/pfnet-research/Invisible_marker_IROS2020
論文の動画:https://www.youtube.com/watch?v=fnpyDYUvDA4&feature=youtu.be
物体認識の課題
ロボットで物体を操作するためには,精度の高い物体認識が必要です.ディープラーニングを利用することで物体の認識精度は向上していますが,そのためには数千から数万枚以上の大量の学習用データセットを用意する必要があることが知られています.大規模データセットの作成は時間と費用がかかり,簡単には作成できないため,多くの物体,特に不定形物体の認識の研究開発は十分とは言えません.実際,今回の学習データセットのアノテーションを人手で行うと数百万円の費用がかかることが分かっており,試行錯誤の多い研究開発でちょっと試すにはハードルが高いです.
そこで,ディープラーニングにおけるセマンティックセグメンテーション,及びインスタンスセグメンテーション(以下セグメンテーション)に特化した,オブジェクト操作のための高精度,高速,低コストの自動データセット作成手法を開発しました.セグメンテーションというのは,カメラで写真を撮ったとき,その写真の中で「ここは床,ここは机・・」といったように,写真の中で物体が映っている領域ごとにラベルをつけるディープラーニングの使い方の1つです.Fig. 1に,ディープラーニングでセグメンテーションができることを示した著名な手法SegNetの例を載せたので,これでイメージを掴んでください.さらに,同じものが複数映っていたとき,それらに1つずつ別のラベルをつける”インスタンスセグメンテーション”という使い方もあります.本研究では,可視光外の波長の光線にのみ反応して発光する材料を用いて,通常の可視光下では物体の見た目を変えないマーカー(Invisible Marker)を用いることで,ディープラーニングのための学習用データセットのアノテーションデータを自動で生成する手法を提案しています.
Fig. 1 セグメンテーションの例(SegNet Badrinarayananら, 2015 https://arxiv.org/abs/1511.00561)
アノテーションの関連研究
データセット作成の労力削減のため,アノテーションに関する研究が盛んに行われています.アノテーションというのは,セマンティックセグメンテーションにおいては,期待する処理後の画像のように,領域ごとに異なる色で塗分けられた画像を用意することです.これらの色が推定したいものの種類を示すラベルとなり,これを教師画像としてネットワークを学習することで,ネットワークはこれまで見たことのない画像においても,それぞれのものが映っている領域を推論できるようになります.既存のアノテーションに関する研究は,人手によるアノテーションと自動化の2種に大別されます.人手によるアノテーションでは,作業者の負担を減らし作業時間を効率化するため,アノテーションツールやクラウドソーシングの利用により大規模なデータセットを作成します.しかし,手作業では人為的ミスや個人差が生じてしまうため,品質担保のためのデータ選定プロセスが必要不可欠で,こちらに結局労力がかかってしまいます.アノテーションの自動化では,4つのアプローチがよく行われています.1つは,色や温度,速度といった物体の特徴に注目する方法ですが,対象とする物体とその他の物体との特徴を分けておく必要があります.2つ目はARのように物体にマーカーとして特徴を与える方法ですが,物体の見た目が変わってしまいます.3つ目はシミュレータを利用し,仮想空間上に仮想のオブジェクトを配置して画像とアノテーションデータを生成する方法ですが,モデル化することが困難な液体や粉体,服などの形が様々に変わる物体への対応は難しいです.また,シミュレーションから実機への転移時のギャップも課題となります.最後は,特殊な装置や何かしらのアクションを行うことで事前に与えたマーカーを検出する方法です.我々の提案手法はこのカテゴリーに属します.
Invisible Marker
Invisible Markerは,可視光外の波長の光線にのみ反応して発光して,通常の可視光では発光しない,あるいは発光しても可視光よりも弱い発光をする物質で構成されます.これを物体にマーカーとして付与します.具体的には,塗ったり混ぜたりします.マーカーとして,可視光下で見たときに透明,もしくは透明に近い白色の材料を用いることで,物体の見かけを変えない効果が得られます.本研究では容易に手に入る蛍光塗料を用いています.蛍光塗料は紫外光に反応する塗料で,ブラックライトを当てることで,発光させることができます.蛍光塗料には赤・緑・青の光の色の三原色が揃っているため,それらを混ぜ合わせることで好きな色で発光させることができ,つまり見分けられる限り無限の種類のラベルを表現可能です.紫外光をあてたときの蛍光塗料の発光は暗い部屋で顕著ですが,明るい部屋でも観測できます.そのため,紫外光の有無で撮影した画像の差分を計算することで,蛍光塗料を付与した部分のみを抽出することができます(Fig. 2).紫外光下で発光したものに対して,対象物体ごとのRGBのしきい値を定めてクラスラベルを割り振ることで,セマンティックセグメンテーションのアノテーションデータ作成が可能です.
Fig. 2 Invisible markerを使用したアノテーション
データセットの作成
データセットの作成のために,強力な可視光と紫外光を照射することのできるライトと,撮影のタイミングを指示できるカメラを組み合わせ,光の照射と撮影を高速(30Hz)に切り替えできる装置を開発しました.ライト側はパワーLEDがアルミ基板に実装されているモジュールを秋月で買ってきて使いました.これはとても熱くなるので,放熱もかねてアルミ板に貼り付けることにしました.カメラ側は社内に多く転がっているRealSenseカメラを使いました.その装置を用いて,暗い状態と明るい状態を制御できる外光の影響のない暗室,及び,外光の影響がある普通の屋内外でデータセットの収集を行いました.暗室の実験では,不定形物体である衣類,液体,粉末を用いており,それぞれ3920,3081,4199ペアのアノテーションを作成しています.屋内外の実験では33種類の状況で21645ペアの液体のアノテーションを作成しました.作成したアノテーションの動画は下記リンクから見ることができます.https://youtu.be/fnpyDYUvDA4?t=34
このデータセットは公開しており,無料で使えますのでぜひ試してみてください.
https://github.com/pfnet-research/Invisible_marker_IROS2020
評価実験:固定されていない視点へ対応するための画像変換
データ収集する際には.撮像中にカメラを移動させながら,通常光下の画像と紫外光下の画像を取得しています.通常光と紫外光を交互に切り替えながら同時にカメラを移動させて撮影すると,高速(30Hz)と言えども2つの画像の間で視点のずれが発生します(Fig. 3 (a)).最初に試した際には,このずれにより,対象となる液体だけでなく背景のエッジもアノテーションされてしまいました.
そこで,2つの画像の視点を一致させる画像変換を行うことにしました.その結果,視点変換によるずれの影響が少なくなり,対象物のみが正しくアノテーションされていることが分かります.動画で見るとより分かりやすいので,リンクをご確認ください.
https://youtu.be/fnpyDYUvDA4?t=45
Fig, 3 (a) 画像変換なし,(b)画像変換あり
評価実験:アノテーションデータセットの学習
Fig. 4に訓練されていない(=教師データに含まれていない)背景データに対する衣服,液体,および粉末の推論結果の例を示しています.同じような色の背景にもかかわらず,対象物体を正確に推測されています.さらに,人の手とスプーンを無視して,対象物体だけ推測されていることが分ります.訓練されていない背景でのセマンティックセグメンテーションのIntersection over Union(IoU)は,U-netでは80%を超えています.ここでいうIoUとは,画像中で教師ラベルと推論されたラベルが一致している面積の割合です.80%と聞くとあまり正確ではないように感じる方もいると思いますが,間違いの大部分は物体のエッジ周辺で起きており,大部分は合っているというのが80%という数値の見方です.
同様にFig. 5に学習に使用していないデータに対する液体の推論結果を示しています.ネットワークは,屋内,窓際,屋外の環境,および,背景が複雑な環境でセグメンテーションマスクを正しく推測できています.液体を注いでいる状態まで推論できています.U-netでのIoUは驚きの90%超えです.
Fig. 4 暗室条件下での推論結果
Fig. 5 通常光条件下での推論結果
評価実験:インスタンスセグメンテーション
提案手法では、対象物ごとにinvisible markerの色を変えることができます.複数の物体が存在する場合でも,それぞれの物体を異なる色で着色することが可能です.Fig. 6 (a)は、複数の対象物のセグメンテーション,重複する対象物のセグメンテーション,白い液体と茶色の液体のインスタンスセグメンテーションの結果を示しています.物体が重なっている場合や,同じ物体や複数の物体が存在する場合でも,それぞれの物体を個別にアノテーションすることができます.また、対象物全体ではなく、一部分のみにinvisible markerを適用することで,対象物の把持点のみを対象としたアノテーションデータセットを作成することも可能です.Fig. 6 (b)は、2つの異なるクラスラベルを用いた2つの把持点のアノテーションを示しています.同じ対象物の把持点に異なる色を付与することで,目的に応じて把持点を操作することができます.
Fig. 6 インスタンスセグメンテーション
考察:人手によるアノテーションと提案手法のコスト
人手によるアノテーションにかかる時間と費用のコストと提案手法を比較した図をFig. 7に示します.人手によるアノテーションは時間とコストがかかるのに対し,対象物への色付けやデータ取得システムの設定(これはほとんどが1回限りのコストです)は安価です.人手によるアノテーションの場合,データセット数の増加に従い,合計のコストが増加し,データセットが増えても,画像1枚あたりのコストは減りません.
提案手法では,Invisible markerを物体に一度付与すると,物体を再利用できるため,1枚あたりの時間とコストが減少します.ディープラーニングでは数千から数万枚以上の画像が必要となるため,提案手法では人手によるアノテーションと比較して,より迅速かつ安価にデータセットを作成できることが明らかです.
Fig. 7 人手によるアノテーションと提案手法のコスト比較
まとめ
本研究では,紫外光下では可視,通常光下では不可視であるInvisible markerを用いて,自動的にアノテーションを作成する手法を開発しました.通常光と紫外光を高速で切り替えることにより,固定されていない視点でも,制御された環境光条件と制御されていない環境光条件の両方で,動的に変化する不定形物体の大規模なデータセットを作成できます.本研究で提案した手法は,大規模なデータセットを正確に,迅速に,かつ安価に作成できることを示しました.
論文に書かれていない裏話:
<最初に投稿した論文はリジェクトされた>
Invisible markerを考案したとき,可視光と紫外光の両方を制御できる暗室のみ&カメラも固定している条件でしか対応できないと思っていました.査読者からは暗室でのみしか使えないならあまり役に立たないからという理由でリジェクトされてしまいました.その後,閃いて通常光&撮影中にカメラを動かしても対応できるようになり,無事IROS2020に採択されました.
<意外と蛍光塗料は身近なところで使われている>
Invisible markerを考案したとき,「紫外光下でしか見えない蛍光塗料が塗られているものはそんなにないだろうから,この手法は世の中の多くのものに使えるはず!」と思っていたのですが,白い布・白い紙には当たり前のように青い蛍光塗料が使われている(日光下で見たときに,より白く見えるようにさせるため)し,赤い染料はだいたい赤い蛍光を示すし,こんなに身近なところで蛍光塗料が使われていたことを初めて認識しました.そして,手近な背景として入手してきたラッピング用紙が紫外光下では真っ青で使えない・・・ということも経験しました.
<食品にも使える蛍光性物質>
蛍光塗料と聞くと人体に有害そうなイメージを持たれる方もいると思いますが,実は摂取しても無害な蛍光性物質も世の中にはあります.有名なところはビタミンB2で,これは化学的にはリボフラビンという物質なのですが紫外光化で黄緑色に光ります.栄養ドリンクやパイン飴に含まれているらしく,Webで検索するとブラックライトを使った実験でよく使われているそうです.これを利用すると食品に対してもInvisible markerが使えるようになるので,色々な応用が考えられますね.
再現実験に必要なもの:
<蛍光塗>
無色,または無色に近い白色のものが好ましいです.UVライトの波長となるべく近い波長で蛍光を発するものを選定してください.我々の実験ではこちらのリンクにあるものを使用しました.
<実験装置>
下記は実験装置の作成に使用した部品になります.
Index | 品目 | 単価/税抜 | 個数 | URL |
1 | 白色LEDユニットOSPR6XW1−W4XME1C1E 42.1mmΦ | ¥1,300 | 3 | http://akizukidenshi.com/catalog/g/gI-04197/ |
2 | 基板付3W紫外線パワーLED 365nm OSV1XME3E1S | ¥540 | 6 | http://akizukidenshi.com/catalog/g/gI-13479/ |
3 | 1000mA 可変定電流パワーLEDドライバーキット | ¥840 | 9 | http://akizukidenshi.com/catalog/g/gK-06300/ |
4 | ツェナーダイオード(24V500mW) GDZJ24D | ¥10 | 9 | http://akizukidenshi.com/catalog/g/gI-07499/ |
5 | 両面スルホール・ガラス・ユニバーサル基板Aタイプ2.54mmピッチ(155x114mm) | ¥400 | 1 | http://akizukidenshi.com/catalog/g/gP-00185/ |
6 | トグルスイッチ(6Pトグルスイッチ) 2回路2接点 ON-ONタイプ ST-1061 | ¥90 | 1 | http://akizukidenshi.com/catalog/g/gP-00224/ |
7 | スイッチング電源 DC24V6.5A 出力150Wタイプ RWS150B-24 | ¥4,800 | 1 | http://akizukidenshi.com/catalog/g/gM-09090/ |
8 | ポリスイッチ 3A (6Aで遮断) 耐圧:30V RUEF300 | ¥30 | 1 | http://akizukidenshi.com/catalog/g/gP-01337/ |
9 | STM32 Nucleo Board STM32F303K8 | ¥1,600 | 1 | http://akizukidenshi.com/catalog/g/gM-10172/ |
10 | USBケーブル USB2.0 Aオス-マイクロBオス 1.5m A-microB | ¥120 | 1 | http://akizukidenshi.com/catalog/g/gC-07607/ |
11 | 熱伝導両面テープ(シール) 40x40mm | ¥100 | 9 | http://akizukidenshi.com/catalog/g/gP-00515/ |
12 | スペーサー M3 20mm TP-20 | ¥45 | 16 | http://akizukidenshi.com/catalog/g/gP-07570/ |
13 | 3mmプラスチックネジ(7mm)+ナットセット | ¥130 | 2 | http://akizukidenshi.com/catalog/g/gP-01885/ |
14 | ミニジェンダーチェンジャー(9Pメス-9Pメス) | ¥200 | 1 | http://akizukidenshi.com/catalog/g/gC-00049/ |
15 | PC用電源ケーブル(7A/125V)アース棒タイプ 1.8m | ¥350 | 1 | https://www.sengoku.co.jp/mod/sgk_cart/detail.php?code=3A23-EEFH# |
16 | RealSense D415 | $149 | 1 | https://www.intelrealsense.com/depth-camera-d415/ |
実験の注意事項
UVライトは可視範囲外なので見た目よりもとても明るく光っており,安易にLEDをのぞき込むなどすると失明の危険があります.実験を行う方はくれぐれもお気をつけください.下記注意点です.
- LEDを直接のぞきこまない.
- 照射範囲に人が入らないよう人避けを設置する.
- パワーLEDはものすごく発熱するので,放熱をしっかりして(元論文ではアルミ板上に実装 + 扇風機に風を当ててました),火傷に気を付けて実験ください.
- 原著論文では24Vという定格外の電圧をLEDにかけていますが,この電圧で連続点灯させるとLEDが発熱し,最悪の場合,破裂するので,点滅動作で使用するようにしてください.特にデバッグ中やプログラムのバグで点灯動作になってしまっていると危険です.
再現実験が失敗する原因と対策
- 蛍光塗料の塗布量:少ないと見えにくいです.
- UVライトの強度:強度が高いものほど,蛍光塗料の発光は見えやすいです.
- 室内外の環境光:上記2つが弱いと,環境光に含まれる紫外光が強くなり,蛍光塗料の発光の変化が分かりません.暗室で環境光を切り替えているなら問題ありません.
- カメラの撮影のタイミング:UVライト照明下のみの時間で,カメラ撮影されている必要があります.目視で蛍光塗料の発光が視認できている場合は,ここに問題があると予想されます.
Area