Giter VIP home page Giter VIP logo

rpc's Introduction

RPC

最近看到旷视南京研究院发布的一个新零售自动结算场景下的大型商品数据集RPC(ProjectPaper)。

其中利用GAN对人造数据进行渲染前后所训练出的检测器的检测效果有较大提升,因此想尝试复现一下论文中所展示的效果。

先对论文中的内容做一下简单的梳理:

数据集

这个数据集一共拍摄了200种商品,在项目中有提供数据集,内容包括:

train2019,val2019,test2019三个文件夹,分别包含了53739(8.54GB),6000(1.23GB),24000(4.95GB)个文件,均为JPG格式图像。训练数据集中每个图像包含了一件商品,置放在一个圆形展示台上,根据不同的摄像头位置和不同的圆台转动角度来分别拍摄。
拍摄商品

验证和测试数据集中每个图像包含了多个商品,置放在纯白色台面,根据摆放商品的个数和种类被分为了三个等级:Easy ,Medium ,Hard 。

Clutter levels categories instances
Easy mode 3-5 3-10
Medium mode 5-8 10-15
Hard mode 8-10 15-20

验证数据集:

val_easy val_medium val_hard

测试数据集:

test_easy test_medium test_hard

和instances_train2019,instances_val2019,instances_test2019三个json格式文件,每个json文件都包含了info,licenses,categories,__raw_Chinese_name_df,images,annotations六种信息。

对于前四种信息,三个json文件的内容都是一样的,info和licenses记录了这个项目的一些基本信息,categories和raw_Chinese_name_df则记录了200种商品的基本信息,images和annotations则是对每张图的内容做一个说明和注释.。

categories Chinese_name images annotations
supercategory sku_name file_name area
id category_id width bbox
name sku_class height category_id
code id id
shelf image_id
num iscrowd
name segmentation
clas point_xy
known
ind

实验

在说实验之前,先提及一下论文中提出的几个指标,这是判断检测器效果好坏的客观依据。

先定义各符号所表示的意思。从类商品中选出N件商品,表示第张图中类商品的预测数量,表示第张图中类商品的真实数量,表示之间的距离,能反映出图中某一类别商品的错误计数:

反映第张图中所有类商品的预测误差,为0的话表示预测完全正确:

Checkout Accuracy (cAcc):

结账准确率,表示检测过程中发生的概率。当且仅当时为1否则为0,所以的取值范围是

Average Counting Distance (ACD):

平均计数距离,表示每个图像的平均计数错误。

Mean Category Counting Distance (mCCD):

平均类别计数距离,表示每个商品类别的计数误差的平均比率。

Mean Category Intersection of Union (mCIoU):

平均类别交并比,表示每个类别预测值和真实值之间误差的平均值,就是每个类别检测结果IoU的平均值。

除了以上四个指标,论文中还引用了两个指标来客观验证检测效果的好坏。

论文中设置了四种不同的基线实验Single,Syn,Render和Syn+Render,这四个实验实际上是使用四种不同的数据集去训练相同的检测器。

检测器:用特征金字塔网络 (FPN) 作为检测器.

Single:使用单个商品的数据集去训练。直接用单个商品的图像去训练检测器。

Syn:使用合成图像去训练。将单个商品图像中的商品抠出来,按照一定要求复制黏贴到空白背景中,合成模拟图像。

Render:使用渲染图像去训练。对合成好的图像进行渲染,补充其丢失的光影特征。

Syn+Render:用合成图像以及渲染图像一起去训练。

下图是论文中展示的流程图,我正是根据这个流程图来复现论文中的效果,其过程在Recurring_experiment

中有详细记录。

Pipeline

rpc's People

Contributors

tongyuhome avatar

Stargazers

 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.