AI Challenger 全球AI挑战赛[二]——场景分类比赛介绍(附数据集和基线模型百度云下载)

AI Challenger 全球AI挑战赛       场景分类 【 2017 】
 
传送门

目的:寻找一个更鲁棒的场景分类模型,解决图片的角度、尺度、和光照的多样性问题


一、比赛介绍

赛题简介

移动互联网时代的开启使得图片的获取与分享越来越容易,图片已经成为人们交互的重要媒介。如何根据据图像的视觉内容为图像赋予一个语义类别(例如,教室、街道等)是图像场景分类的目标,也是图像检索、图像内容分析和目标识别等问题的基础。但由于图片的尺度、角度、光照等多样性以及场景定义的复杂性,场景分类一直是计算机视觉中的一个挑战性问题。

本次比赛从400万张互联网图片中精选出8万张图片,分属于80个日常场景类别,例如航站楼、足球场等。每个场景类别包含600-1100张图片。本次比赛要求参赛选手根据图片场景数据集建立算法,预测每张图片所属的场景类别,组委会将通过计算参赛者提交预测值和场景真实值之间的误差确定预测正确率,评估所提交的预测算法。


二、赛题与数据

赛题描述
简介

移动互联网时代的开启使得图片的获取与分享越来越容易,图片已经成为人们交互的重要媒介。如何根据图像的视觉内容为图像赋予一个语义类别(例如,教室、街道等)是图像场景分类的目标,也是图像检索、图像内容分析和目标识别等问题的基础。但由于图片的尺度、角度、光照等因素的多样性以及场景定义的复杂性,场景分类一直是计算机视觉中的一个挑战性问题。

本次比赛从400万张互联网图片中精选出8万张图片,分属于80个日常场景类别,例如航站楼、足球场等。每个场景类别包含600-1100张图片。本次比赛要求参赛选手根据图片场景数据集建立算法,预测每张图片所属的场景类别,组委会将通过计算参赛者提交预测值和场景真实值之间的误差确定预测正确率,评估所提交的预测算法。详细的场景类别id和中英文名称见表格1。[1][2][3]

数据说明

数据集分为训练(70%)、验证(10%)、测试A(10%)与测试B(10%)四部分。

训练标注数据包含照片id和所属场景类别标签号。训练数据文件与验证数据文件的结构如下所示:

    
[
    {
        "image_id":"5d11cf5482c2cccea8e955ead0bec7f577a98441.jpg",
        "label_id": 0
    },
    {
        "image_id":"7b6a2330a23849fb2bace54084ae9cc73b3049d3.jpg",
        "label_id": 11
    },
    ...
]
    

我们提供场景类别标号与场景中英文名称对照,文件结构如下:

label id Chinese label English label
0 航站楼 airport_terminal
1 停机坪 landing_field
2 机舱 airplane_cabin
结果提交说明

选手需以JSON格式提交预测结果。提交结果应包含照片id与所属的场景类别标号,以置信度递减的顺序提供三个预测分类的标签号。提交结果文件格式示例如下:


[
    {
        "image_id":"a0563eadd9ef79fcc137e1c60be29f2f3c9a65ea.jpg",
        "label_id": [5,18,32]
    },
    {
        "image_id":"b5a9a726c9d752d8ac1c722182512d33e66a6f88.jpg",
        "label_id": [6,33,35]
    },
    ...
]
    


AI Challenger 全球AI挑战赛[二]——场景分类比赛介绍(附数据集和基线模型百度云下载)_第1张图片



表格1:场景分类类别示例
0/航站楼:airport_terminal 1/停机坪:landing_field
2/机舱:airplane_cabin 3/游乐场:amusement_park
4/冰场:skating_rink 5/舞台:arena/performance
6/艺术室:art_room 7/流水线:assembly_line
8/棒球场:baseball_field 9/橄榄球场:football_field
10/足球场:soccer_field 11/排球场:volleyball_court
12/高尔夫球场:golf_course 13/田径场:athletic_field
14/滑雪场:ski_slope 15/篮球馆(场):basketball_court
16/健身房:gymnasium 17/保龄球馆:bowling_alley
18/游泳池:swimming_pool 19/拳击场:boxing_ring
20/跑马场:racecourse 21/田地/农场:farm/farm_field
22/果园菜园:orchard/vegetable 23/牧场:pasture
24/乡村:countryside 25/温室:greenhouse
26/电视台:television_studio 27/亚洲寺庙:templeeast_asia
28/亭子:pavilion 29/塔:tower
30/宫殿:palace 31/西式教堂:church
32/街道:street 33/餐厅食堂:dining_room
34/咖啡厅:coffee_shop 35/厨房:kitchen
36/广场:plaza 37/实验室:laboratory
38/酒吧:bar 39/会议室:conference_room
40/办公室:office 41/医院:hospital
42/售票处: ticket_booth 43/露营地:campsite
44/音乐工作室:music_studio 45/电梯/楼梯:elevator/staircase
46/公园/花园:garden 47/建筑工地:construction_site
48/综合超市:general_store 49/商店:specialized_shops
50/集市:bazaar 51图书馆/书店:library/bookstore
52/教室:classroom 53/海洋/沙滩:ocean/beach
54/消防:firefighting 55/加油站:gas_station
56/垃圾场:landfill 57/阳台:balcony
58/游戏室:recreation_room 59/舞厅:discotheque
60/博物馆:museum 61/沙漠:desert/sand
62/漂流:raft 63/树林:forest
64/桥:bridge 65/住宅:residential_neighborhood
66/汽车展厅:auto_showroom 67/河流湖泊:lake/river
68/水族馆: aquarium 69/沟渠: aqueduct
70/宴会厅: banquet_hall 71/卧室: bedchamber
72/山: mountain 73/站台: station/platform
74/草地: lawn 75/育儿室: nursery
76/美容/美发店: beauty_salon 77修理店: repair_shop
78/斗牛场: rodeo 79/雪屋/冰雕: igloo,ice_engraving

[1] Xiao, Jianxiong and Hays, James and Ehinger, Krista A and Oliva, Aude and Torralba, Antonio, "Sun database: Large-scale scene recognition from abbey to zoo", Computer vision and pattern recognition (CVPR), 2010 IEEE conference on, pp.3485-3492, IEEE, 2015. ↩
[2] Yu, Fisher and Zhang, Yinda and Song, Shuran and Seff, Ari and Xiao, Jianxiong, "LSUN: Construction of a Large-scale Image Dataset using Deep Learning with Humans in the Loop", arXiv preprint arXiv:1506.03365, 2015. ↩
[3] Zhou, Bolei and Lapedriza, Agata and Khosla, Aditya and Oliva, Aude and Torralba, Antonio, "Places: A 10 million Image Database for Scene Recognition", IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017. ↩





三、数据集和基线模型百度云下载

官网下载数据需要报名参赛,不过现在比赛已经结束了,因此这里附上数据集和基线模型百度云下载,供大家学习和交流使用。


链接:https://pan.baidu.com/s/14m4gCIf6DzTPY2yTm-JJ5Q  

密码:j0zv





四、数据集介绍

1.分别解压   ai_challenger_scene_train_20170904.zip         ai_challenger_scene_validation_20170908.zip                                    ai_challenger_scene_test_a_20170922.zip  这三个文件

2.打开ai_challenger_scene_train_20170904这个文件夹,如下图,里面我们主要会用到scene_train_images_20170904这个文件夹

AI Challenger 全球AI挑战赛[二]——场景分类比赛介绍(附数据集和基线模型百度云下载)_第2张图片

里面包含了53,879张训练图片,一共3.5G

AI Challenger 全球AI挑战赛[二]——场景分类比赛介绍(附数据集和基线模型百度云下载)_第3张图片

随便打开一张,模型就是学习后判断这个图片属于80个场景类中的哪一类


3.打开scene_train_annotations_20170904.json 这个文件夹,建议大家下载Notepad++,很方便的文本编辑神器。

(百度百科:Notepad++是 Windows操作系统下的一套文本编辑器有完整的中文化接口及支持多国语言编写的功能(UTF8技术)。

Notepad++功能比 Windows 中的 Notepad(记事本)强大,除了可以用来制作一般的纯文字说明文件,也十分适合编写计算机程序代码。Notepad++ 不仅有语法高亮度显示,也有语法折叠功能,并且支持宏以及扩充基本功能的外挂模组。
Notepad++是免费软件,可以免费使用,自带中文,支持众多计算机程序语言)

附上下载链接,很容易,不需要破解,直接傻瓜式下一步安装即可,

链接: https://pan.baidu.com/s/1wSAEDV4OQWHETnjlgS3I7Q  

密码:oufq

而在如Ubuntu等Linux系统下是没有Notepad++这个软件的,取而代之的是Notepad qq,这个可以通过终端输入下面的命令进行下载,很方便:

sudo add-apt-repository ppa:notepadqq-team/notepadqq
sudo apt-get update
sudo apt-get install notepadqq

如下图,右键scene_train_annotations_20170904.json这个文件夹,选择打开方式,Notepad qq:

AI Challenger 全球AI挑战赛[二]——场景分类比赛介绍(附数据集和基线模型百度云下载)_第4张图片

如上图,我们可以看到,整个训练集的标签放在一个list里,然后每个样本的标签都是一个dict,例如:

{"image_url":"https://n1-q.mafengwo.net/s1/M00/6B/72/wKgBm04Wc5WzFXU0AAHf09bdpiY84.jpeg?imageView2%2F2%2Fw%2F600%2Fq%2F90", "label_id": "66", "image_id": "79f993ae0858ae238b22968c5934d1ddba585ae4.jpg"},

有3对key-value:image_url是图片的url地址,label_id是图片的场景类别标签,image_id是每张图片的名称(注意有后缀.jpg)

4.同理打开ai_challenger_scene_validation_20170908   和    ai_challenger_scene_test_a_20170922这两文件夹,注意ai_challenger_scene_test_a_20170922文件夹里只有图片,没有类别标签的.json文件,因为最后是需要选手提交submit.json到官网上评估结果的,而验证集ai_challenger_scene_validation_20170908里是有.json文件的,方便选手们自己验证模型好坏。





五、基线模型简单介绍,(详细的代码和操作我会单独写成详细的博文,尽请期待):

1.解压 AI_Challenger-master.zip

2.打开Baselines文件夹

3.打开scene_classification_baseline文件夹  (其余是其他比赛的基线模型,有兴趣的同学可以自己尝试)

            里面包含:1)network.py(官网提供的一个简单的AlexNet网络模型,说明了只是让你测试一下,后面自己再用其他复杂的网络改进)

                                2)cene.py(需要安装的库有:- TensorFlow 1.0 or greater
                                                                                   - opencv-python (3.2.0.7)

                                                                                   - Pillow (4.2.1)

                                                     训练和测试函数都定义在这里面,import了network.py和scene_input.py模块,最后将训练结果即可能性(得分)最高的3个场景类别的标签和图片的id作为dict写入submit.json,最后评估提交用)


                          3) scene_eval.py(定义了评估模型训练和测试结果的函数的模块,评估标准是:我们需要提交用作评估的数据结果是submit.json这个文件, 然后参考的标准结果数据集是ref.json,如果submit.json里面每张图片的id这个key对应的value有3个场景的label,只要这3个中,有一个和ref.json里面同样id图片的label一样,那这个样本我们就判断正确了。我们如果是用validation验证集进行测试的话,那这里的ref.json就改成ai_challenger_scene_validation_20170908文件夹里的scene_validation_annotations_20170908.json; 同理,如果我们如果是用test_a这个测试集进行测试的话,因为ai_challenger_scene_test_a_20170922文件夹里没有提供ref.json,因为本来是需要我们提交到官网系统进行评估结果的,所以建议这里大家就用validation验证集来检验自己的训练和测试结果就好了,毕竟比赛已经结束了)

                                    4)    scene_input.py(定义了导入图片、修正图片、批量化函数的模块)    

   



你可能感兴趣的:(AI_Challenger)