24
 правки
Изменения
Нет описания правки
Вместе с публикацией набора данных стартовал конкурс ImageNet Large Scale Visual Recognition Challenge (ILSVRC<ref>http://www.image-net.org/challenges/LSVRC/[http://www.image-net.org/challenges/LSVRC/]</ref>). В его рамках участникам предлагается достигнуть наибольшей точности при классификации набора изображений. Организаторы использовали около тысячи различных категорий объектов, которые нужно классифицировать. На примере этого конкурса хорошо видно, как в 2010-е годы люди научились заметно лучше распознавать образы на изображениях, уже в 2017 году большинство участвующих команд преодолели порог в 95% правильных ответов. Эта задача, проблема компьютерного зрения, имеет огромное практическое значение во многих прикладных областях.
==COCO==
===Описание===
[[Файл:Coco-examples.jpg|мини|[http://cocodataset.org/images/coco-examples.jpg Оригинал]]]
MS COCO ''(Common Objects in Context)'' {{---}} большой набор изображений, как правило, с объектами разных классов на одном изображении (только 10% имеют еденственный класс). 
COCO имеет пять типов аннотаций: для обнаружения объектов, обнаружения ключевых точек, сегментации материала, паноптической сегментации и создания субтитров к изображению. Аннотации хранятся в формате JSON. Подробнее о стуктуре аннотаций можно прочитать [http://cocodataset.org/#format-data здесь]
===Результаты===
Результат задачи зафисит от многих факторов. Нампример, для задачи обноружения объекта, наилучшие результаты алгоритмы показывают на крупных объектах. 
Более подробно можно ознакомиться [здесь http://cocodataset.org/#detection-leaderboard].
Приведем лишь результаты детектора [ResNet https://arxiv.org/abs/1512.03385] (bbox) - победителя 2015 Detection Challenge.
[[Файл:Detection-analysis-all.jpg |мини| left]] [[Файл:Detection-analysis-person.jpg |мини | left]]
===Код===
Пример использования COCO API на python:
  %matplotlib inline
  from pycocotools.coco import COCO
  import numpy as np
  import skimage.io as io
  import matplotlib.pyplot as plt
  import pylab
  pylab.rcParams['figure.figsize'] = (8.0, 10.0)
  dataDir='..'
  dataType='val2017'
  annFile='{}/annotations/instances_{}.json'.format(dataDir,dataType)
  coco=COCO(annFile)
  cats = coco.loadCats(coco.getCatIds())
  nms=[cat['name'] for cat in cats]
  print('COCO categories: \n{}\n'.format(' '.join(nms)))
  nms = set([cat['supercategory'] for cat in cats])
  print('COCO supercategories: \n{}'.format(' '.join(nms)))
  # get all images containing given categories, select one at random
  catIds = coco.getCatIds(catNms=['person','dog','skateboard']);
  imgIds = coco.getImgIds(catIds=catIds );
  imgIds = coco.getImgIds(imgIds = [324158])
  img = coco.loadImgs(imgIds[np.random.randint(0,len(imgIds))])[0]
  # load and display image
  # I = io.imread('%s/images/%s/%s'%(dataDir,dataType,img['file_name']))
  # use url to load image
  I = io.imread(img['coco_url'])
  plt.axis('off')
  plt.imshow(I)
  plt.show()
[[Файл:Coco-1.png]]
  # load and display instance annotations
  plt.imshow(I); plt.axis('off')
  annIds = coco.getAnnIds(imgIds=img['id'], catIds=catIds, iscrowd=None)
  anns = coco.loadAnns(annIds)
  coco.showAnns(anns)
[[Файл:Coco-2.png]]
==Примечания==
