棚(Storage)や箱(Tote)に陳列されたアイテムの中から指定されたアイテムをロボットが認識し、ピッキングする問題を扱っており、物流の自動化を目的としたコンペティションです。2017用に作成したデータセットを公開します。Visionで撮影し、RGB画像および距離画像の2種類のデータとなります。定量的評価のために、アイテム毎に指定された色でラベリングした正解画像、アイテムが重なっている部分を塗り分けたオクルージョン領域画像と各アイテムのバウンディングボックスの座標を記述したテキストファイルも用意しています。MFPを用いて生成した3Dモデルも用意しています。データセットの概要アイテムは、ARCの競技用アイテム40種類です。箱状の形状やビニールで梱包されたアイテム、非剛体のアイテムなど、様々な形状・属性のアイテムが用意されています。下記の5つのタスクを想定してデータが用意されています。学習と推論を想定して、学習用データ(train)と推論評価用データ(test_known)、未知アイテムの推論評価用データ(test_unknown)に分けています。APC2016・ARC2017で使われたアイテムは除外2種類のシーンは、下記のようなフォルダ構成になっています。trainデータと既知のtestデータと未知のtestでフォルダが分かれており、さらにその中でバウンディングボックスデータ、RGB画像、距離画像、ラベリングデータ、オクルージョン領域ラベリングデータごとに分かれています。3Dモデルデータはアイテムごとにフォルダが分かれています。各データの形式は以下のようになっています。“[train|test_known|test_unknown]/boundingbox/2017-XXX-XX.txt”・アイテムIDとボックスの座標が記入されています。・座標は「Box中心のX座標、Y座標、Boxの幅、高さ」の順に記述されています。0〜1で正規化されています。・未知アイテム(test_unknown)のアイテムIDは未知クラスを表す41に統一しています。“1280×960”ラベリングデータはRGB画像1枚毎に作成しており、アイテムの領域に対して指定された色で塗り分けられています。背景は黒で塗りつぶされています。ラベリングデータの各アイテムに対する番号はアイテムリスト”ItemList.pdf”に示しており、各アイテムのカラーコードはセグメンテーションカラーコードリスト”SegmentationTeach.xlsx”および下記テーブルに記しています。“1280×960”・各アイテムラベルにつき1枚データがあります。255)で塗り分けています。Visualizer」用のファイルフォーマットです。ポリゴンデータがアスキーで記述されており、現在では多くの3Dソフトがサポートしています。Builder、macOSではXcodeで閲覧することができます。フリーソフトのMeshLabやBlender等でも閲覧することができます。付随マテリアルデータとテクスチャデータはobjファイルと同じディレクトリに置いてください。poseを推定することが理想です。poseの推定が困難な場合があるためバウンディングボックスの重なり率による評価とセグメンテーション領域による評価の2種類の評価方法を採用します。バウンディングボックスの重なり率による評価バウンディングボックスの重なり率による評価では、検出されたバウンディングボックスと教師信号のバウンディングボックスの重なり率とそのクラスを比較することで評価します。検出されたバウンディングボックス1つに対して、その画像に存在するすべての教師信号のバウンディングボックスと重なり率を比較して、最も重なり率が高いものを推定されたボックスとします。このボックスのクラスと検出されたボックスのクラスが正しければ検出成功とし、異なれば検出失敗とします。セグメンテーション領域による評価セグメンテーション領域の評価では、距離画像のセグメンテーション結果とラベリングデータを比較することで評価します。セグメンテーション評価のため、1画素単位でセグメンテーション結果とラベリングデータを比較していき、1枚の画像のすべての画素に対して検出率と適合率を算出します。算出された検出率と適合率からF値を求め、F値がしきい値(デフォルトでは0.5)以上であればセグメンテーション成功、しきい値未満ならセグメンテーション失敗と評価します。データセットを拡充しました。これに伴い、ファイル構成などを一新しました。新規に追加したデータについて不備があったためデータセットを変更しました。評価コードをリニューアルしてGitHubで公開しました。DSSDのサンプルコードを公開しました。画像はすべてbmp形式ですが、サイズが大きいためpng形式に変換したものも用意しました。評価方法ごとにプログラムが異なります。下記の環境とライブラリが必要となります。下記の通りデータを用意してください。バウンディングボックスの教師ラベル(txt)を入れるテスト画像およびバウンディングボックスの教師ラベルは、データセットの“test”フォルダ内のものをコピーします。検出結果は、各値が半角スペースでセパレートされた、教師信号と同じ形式である必要があります。必要に応じてプログラム内の変数を変更してください。テスト用画像の拡張子を記入。OpenCVのWaitKey()の秒数(ミリ秒)を記入。この値を100程度にしておくと、評価の様子を確認できます。0ならば確認せず、すぐに評価を行います。検出結果にクラス名がある場合は1にしてください。検出結果が正規化されていない場合は0にしてください。検出成功と判断する重なり率(IoU)の閾値を記入。“detect_evaluation.py”を実行すると、検出されたバウンディングボックス1つに対して、その画像に存在するすべての教師信号のバウンディングボックスとIoUを比較して、最もIoUが高いものを探索します。見つかったボックスのクラスと検出されたボックスのクラスと2つのボックスのIoUを計算し、テキストファイルに書き出します。Matrixを計算します。IoUが閾値以上かつクラスが合っていれば検出成功、そうでなければ検出失敗とします。Matrixと、次の3つの値を出力します。評価をやり直す場合は「(result_path)/matchingResults/」と「(result_path)/eval/」をディレクトリごと削除してください。初めに、教師画像とセグメンテーション結果画像をそれぞれ別のディレクトリに用意してください。このとき、同じ画像サイズかつ拡張子をpngにする必要があります。続いて、“segment_evaluation.py”の次の部分を変更してください。教師画像のあるパスを記述。結果画像のあるパスを記述。最後に、“segment_evaluation.py”を実行すると評価を行います。1ピクセルごとに評価をするため時間がかかりますのでご注意ください。MC^2がARC用に開発したアルゴリズムを評価しました。Boxを回帰することで物体に最もふさわしいBoxを検出するとともに、物体のクラスも識別する。リアルタイムでの一般物体認識が可能。Matrix*評価結果は随時追加していきたいと考えておりますので、本データセットを用いての評価結果を募集しております。公開しているプログラムやデータに関する情報には充分に注意を払っていますが、その内容について全てを保証するものではありません。Groupは、これらの使用ならびに閲覧によって生じたいかなる損害にも責任を負いかねます。プログラムの改良・再頒布によって生じた損害に関しても責任を負いかねます。公開しているプログラムは、上記の免責事項に同意の上、使用者の責任のもとで研究用途に限り、使用して構いません。