cnn对训练图像有没有大小要求(MaskR-CNN神应用像英剧黑镜一样屏蔽人像)
cnn对训练图像有没有大小要求(MaskR-CNN神应用像英剧黑镜一样屏蔽人像)-o/--object:遮掩目标的可用列表或具体目标的 ID,我们可以在文件 classes.py 中看到所有可遮掩的目标,或直接使用-names flag,默认的遮掩目标为「person」。-c/—color:指定掩码的颜色,它可以是引号内的 16 进制或 RGB 三元素元组的格式,默认为白色。python3 person_blocker.py -i images/img3.jpg -c '(128 128 128)' -o 'bus' 'truck'这个命令如下有一些参数来控制模型的推断效果:-i/--image:指定输入图像的路径与文件。-m/—model:加载预训练 COCO 模型权重的路径,默认情况下为当前目录。如果没有指定路径,且当前目录下不存在权重文件,那么模型将自动下载预训练权重至当前目录。
黑镜特别篇《白色圣诞节》中有种名为「屏蔽」的黑科技,每个人安装上智能眼,可以凭意愿屏蔽动态视界中的任何人(及其相关的任何影像和声音),变成一团移动的白色马赛克。被屏蔽者无法解除这种屏蔽,除非死亡。相比之下,朋友圈的屏蔽是不是弱爆了?本文作者给出了一种自动「屏蔽」人像的脚本(不同于黑镜中的视频屏蔽),底层实现是在 MS COCO 数据集上预训练的 Mask R-CNN,但它不需要 GPU!此外,它不仅可屏蔽人像,还可以屏蔽包括长颈鹿和汽车在内的多达 80 种不同类型的物体,向黑镜中的黑科技迈出了第一步。
黑镜之《白色圣诞节》中的黑科技:屏蔽。
用法
Person Blocker 可使用以下命令行调用并输出结果:
python3 person_blocker.py -i images/img3.jpg -c '(128 128 128)' -o 'bus' 'truck'
这个命令如下有一些参数来控制模型的推断效果:
-
-i/--image:指定输入图像的路径与文件。
-
-m/—model:加载预训练 COCO 模型权重的路径,默认情况下为当前目录。如果没有指定路径,且当前目录下不存在权重文件,那么模型将自动下载预训练权重至当前目录。
-
-c/—color:指定掩码的颜色,它可以是引号内的 16 进制或 RGB 三元素元组的格式,默认为白色。
-
-o/--object:遮掩目标的可用列表或具体目标的 ID,我们可以在文件 classes.py 中看到所有可遮掩的目标,或直接使用-names flag,默认的遮掩目标为「person」。
-
-l/—labeled:通过检测的目标和对应的目标 ID 标注图像并保存。
-
-n/—names:打印目标的类别选项,并退出。
这一份脚本可输出两种图像,即静态的 png 图像和动态的 gif 图像。我们可选的遮掩目标有 80 种,如下 classes.py 文件中给出了所有的目标类别:
python3 person_blocker.py -i images/img2.jpg -c '#c0392b' -o 'giraffe'
python3 person_blocker.py -i images/img3.jpg -c '(128 128 128)' -o 'bus' 'truck'
遮掩特定的目标需要两个步骤:首先执行推断模型并获取所有的目标 ID,然后再根据 ID 选择性地遮掩这些目标。
python3 person_blocker.py -i images/img4.jpg -l
python3 person_blocker.py -i images/img4.jpg -o 1
最后,如果读者想使用或测试该脚本,那么它需要的依赖库与 Mask R-CNN 基本相同:
-
Python 3.4
-
TensorFlow 1.3
-
Keras 2.0.8
-
Numpy skimage scipy Pillow cython h5py
-
matplotlib imageio