3.3 KiB
3.3 KiB
使用好莱坞头部数据集进行头部检测
来自 AI for Beginners Curriculum 的实验作业。
任务
在视频监控摄像头流中计数人数是一个重要的任务,这将使我们能够估算商店中的访客数量、餐厅的繁忙时段等。为了解决这个任务,我们需要能够从不同角度检测人头。为了训练对象检测模型以检测人头,我们可以使用 Hollywood Heads Dataset。
数据集
Hollywood Heads Dataset 包含369,846个在好莱坞电影的224,740个电影帧中标注的人头。它以 [https://host.robots.ox.ac.uk/pascal/VOC/](../../../../../../lessons/4-ComputerVision/11-ObjectDetection/lab/PASCAL VOC) 格式提供,每张图像都有一个看起来像这样的XML描述文件:
<annotation>
<folder>HollywoodHeads</folder>
<filename>mov_021_149390.jpeg</filename>
<source>
<database>HollywoodHeads 2015 Database</database>
<annotation>HollywoodHeads 2015</annotation>
<image>WILLOW</image>
</source>
<size>
<width>608</width>
<height>320</height>
<depth>3</depth>
</size>
<segmented>0</segmented>
<object>
<name>head</name>
<bndbox>
<xmin>201</xmin>
<ymin>1</ymin>
<xmax>480</xmax>
<ymax>263</ymax>
</bndbox>
<difficult>0</difficult>
</object>
<object>
<name>head</name>
<bndbox>
<xmin>3</xmin>
<ymin>4</ymin>
<xmax>241</xmax>
<ymax>285</ymax>
</bndbox>
<difficult>0</difficult>
</object>
</annotation>
在这个数据集中,只有一个对象类别 head,对于每个头部,你可以获得边界框的坐标。你可以使用Python库解析XML,或者使用 这个库 直接处理PASCAL VOC格式。
训练对象检测
你可以通过以下几种方式训练对象检测模型:
- 使用 Azure Custom Vision 及其Python API以编程方式在云中训练模型。自定义视觉服务无法使用超过几百张图像来训练模型,因此你可能需要限制数据集。
- 使用 Keras tutorial 中的示例来训练RetinaNet模型。
- 使用 torchvision.models.detection.RetinaNet 中内置的模块。
收获
对象检测是工业中经常需要的任务。虽然有一些服务可以用于执行对象检测(例如 Azure Custom Vision),但理解对象检测的工作原理并能够训练自己的模型是很重要的。
免责声明:
本文件使用基于机器的人工智能翻译服务进行翻译。虽然我们努力追求准确性,但请注意,自动翻译可能包含错误或不准确之处。原始文件的母语版本应视为权威来源。对于重要信息,建议进行专业人工翻译。我们对因使用此翻译而导致的任何误解或误读不承担责任。