黑镜特别篇《白色圣诞节》中有种名为「屏蔽」的黑科技,每个人安装上智能眼,可以凭意愿屏蔽动态视界中的任何人(及其相关的任何影像和声音),变成一团移动的白色马赛克。被屏蔽者无法解除这种屏蔽,除非死亡。相比之下,朋友圈的屏蔽是不是弱爆了?本文作者给出了一种自动「屏蔽」人像的脚本(不同于黑镜中的视频屏蔽),底层实现是在 MS COCO 数据集上预训练的 Mask R-CNN,但它不需要 GPU!此外,它不仅可屏蔽人像,还可以屏蔽包括长颈鹿和汽车在内的多达 80 种不同类型的物体,向黑镜中的黑科技迈出了第一步。

cnn做图像识别(MaskR-CNN神应用像英剧黑镜一样屏蔽人像)(1)

黑镜之《白色圣诞节》中的黑科技:屏蔽。

用法

Person Blocker 可使用以下命令行调用并输出结果:

python3 person_blocker.py -i images/img3.jpg -c '(128, 128, 128)' -o 'bus' 'truck'

这个命令如下有一些参数来控制模型的推断效果:

这一份脚本可输出两种图像,即静态的 png 图像和动态的 gif 图像。我们可选的遮掩目标有 80 种,如下 classes.py 文件中给出了所有的目标类别:

def get_class_names(): return np.array(['BG', 'person', 'bicycle', 'car', 'motorcycle', 'airplane', 'bus', 'train', 'truck', 'boat', 'traffic light', 'fire hydrant', 'stop sign', 'parking meter', 'bench', 'bird', 'cat', 'dog', 'horse', 'sheep', 'cow', 'elephant', 'bear', 'zebra', 'giraffe', 'backpack', 'umbrella', 'handbag', 'tie', 'suitcase', 'frisbee', 'skis', 'snowboard', 'sports ball', 'kite', 'baseball bat', 'baseball glove', 'skateboard', 'surfboard', 'tennis racket', 'bottle', 'wine glass', 'cup', 'fork', 'knife', 'spoon', 'bowl', 'banana', 'apple', 'sandwich', 'orange', 'broccoli', 'carrot', 'hot dog', 'pizza', 'donut', 'cake', 'chair', 'couch', 'potted plant', 'bed', 'dining table', 'toilet', 'tv', 'laptop', 'mouse', 'remote', 'keyboard', 'cell phone', 'microwave', 'oven', 'toaster', 'sink', 'refrigerator', 'book', 'clock', 'vase', 'scissors', 'teddy bear', 'hair drier', 'toothbrush'])

使用案例

python3 person_blocker.py -i images/img1.jpg

cnn做图像识别(MaskR-CNN神应用像英剧黑镜一样屏蔽人像)(2)

python3 person_blocker.py -i images/img2.jpg -c '#c0392b' -o 'giraffe'

cnn做图像识别(MaskR-CNN神应用像英剧黑镜一样屏蔽人像)(3)

python3 person_blocker.py -i images/img3.jpg -c '(128, 128, 128)' -o 'bus' 'truck'

cnn做图像识别(MaskR-CNN神应用像英剧黑镜一样屏蔽人像)(4)

遮掩特定的目标需要两个步骤:首先执行推断模型并获取所有的目标 ID,然后再根据 ID 选择性地遮掩这些目标。

python3 person_blocker.py -i images/img4.jpg -l

cnn做图像识别(MaskR-CNN神应用像英剧黑镜一样屏蔽人像)(5)

python3 person_blocker.py -i images/img4.jpg -o 1

cnn做图像识别(MaskR-CNN神应用像英剧黑镜一样屏蔽人像)(6)

最后,如果读者想使用或测试该脚本,那么它需要的依赖库与 Mask R-CNN 基本相同:

,