人脸检测模型returns空字典(Google云视频智能)

Face detection model returns empty dict (Google Cloud Video Intelligence)

Google Video Intelligence API 中的人脸检测模型出现问题。

我正在使用 Python 3.6.5google-cloud-videointelligence==1.15.0

偶尔我会收到来自人脸检测模型的错误响应。我通过使用 google.protobuf.json_format.MessageToDict() 将其转换为字典来解析来自 API 的响应。我预计会发生以下两种行为之一:

一个。如果视频中出现人脸,我希望结果在键 'FaceDetectionAnnotations' 下,并采用字典的字典形式;外部字典的键是 'segment number' (整数),内部字典看起来像这样:

{'coordinates': {'left': 0.3432,
   'top': 0.075,
   'right': 0.6667,
   'bottom': 0.7435},
  'labels': {'confidence': 1.0,
   'attributes': [{'name': 'glasses', 'confidence': 0.041921083},
    {'name': 'headwear', 'confidence': 0.10601594},
    {'name': 'eyes_visible', 'confidence': 0.9976739},
    {'name': 'mouth_open', 'confidence': 0.005100015},
    {'name': 'looking_at_camera', 'confidence': 0.9647807},
    {'name': 'smiling', 'confidence': 0.017670842}]}}

乙。如果视频中 没有 面孔,我预计结果中的任何地方都不会有这样的 'FaceDetectionAnnotations' 键。

然而,偶尔我会看到第三种响应,其中 'FaceDetectionAnnotations' 出现在结果中(表明人脸检测模型实际上做了检测人脸),但是每个内部词典都是空的。每个段仍然有一个内部字典,但它们包含 none 的常用信息,例如段的开始和结束时间,或任何坐标或置信度值。

我只在有面孔的视频中看到这个问题

我可以确认这个问题存在于 Google VI 的原始响应中(在使用 MessageToDict() 函数解析之前,我不确定是什么原因造成的。下面是展示此问题的示例视频的 link。

https://drive.google.com/file/d/1gsbe20iWp6lD9dH0PNvxvvQFUeB5F_cz/view?usp=sharing

如果有人以前见过这样的事情,或者知道如何解决这个问题,我将不胜感激。

目前,关于您的问题 here,有一个未解决的问题。工程团队正在研究它,您可以通过上面链接的线程跟踪它的进度。