个性化阅读
专注于IT技术分析

在Symfony 3中用PHP实现裸体检测器

本文概述

公共应用程序经常是麻烦制造者的受害者, 他们想以有趣的方式在网站上上传成人内容, 该内容是为整个家庭(每个人都可以进入的地方)制作的。许多公司通过雇用人员来验证上传的图像是否具有淫秽内容, 从而解决了这一问题。对于拥有资源的公司来说, 这是一个不错的且可以接受的解决方案, 但是创业公司负担不起这样的个人。因此, 今天我们要与你分享一个很棒的PHP库, 该库可以检测(大多数情况下不是100%准确)图像是否包含裸体等。我们还将向你展示如何在Symfony 3项目中实现它。

重要

该库实现的裸体检测器算法不是防弹的, 因为那里有许多服务。除非你使用某些深度学习框架或CV, 否则某些图片可能会被视为不是色情图片(可能会失败)。通过此实现, 误报率很低, 因此此脚本可帮助你检测清晰的”色情”或”裸体”图像。

如果你确实想要使用神经网络等的防弹实施, 则可能需要使用使用神经网络的第三方服务(API)。我们汇集了5种最佳API, 可用于实现此目标。

1.安装裸体检测器

要检测图像是否有裸色, 我们将使用Nudity Detector PHP脚本。 Nudity Detector是在Packagist上发布的库, 可通过composer安装。最初, 该库是由FreebieStock的Guys编写的, 它使用了一种很棒的算法(此处有有关解释和技术细节的信息)并将其移植到PHP中。

要使用composer安装此库, 请运行以下命令:

composer require necrox87/yii2-nudity-detector "dev-master"

如你所见, Packagist上发布的软件包不处理版本控制, 因为它只是该存储库中原始PHP项目的副本。有关packagist上可用软件包的更多信息, 请在此处访问其存储库。

2.使用裸体检测器

如前所述, 该库非常易于使用, 并且可以在控制器和symfony服务中使用, 你只需要使用名称空间中的NudityDetector类即可。你需要创建检测器类的实例, 该实例接收要分析的图像文件的路径作为第一个参数。从创建的实例中, 仅使用isPorn方法来检测图像是否具有淫秽内容:

<?php

namespace AppBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\Request;

// Reference to the NudityDetector class
use necrox87\NudityDetector\NudityDetector;

class DefaultController extends Controller
{
    public function homepageAction(Request $request)
    {
        // Path to an image file that you want to analize
        $imagePath =  $this->get('kernel')->getRootDir() . '/../web/images/nude6.jpg';

        // Create an instance of the NudityDetector
        $NudityChecker = new NudityDetector($imagePath);

        // The isPorn method verifies if the providen image has obscene content
        // and returns a boolean respectively
        if($NudityChecker->isPorn()){
            // Image has adult content !!!!
        }else{
            // Image is suitable for the whole family !
        }
        
        // Rest of your code ...
    }
}

如本文开头所述, 该算法在某些情况下可能会失败, 但是如果清除包含淫秽内容的图像, 则将应用该滤镜。如果你想要一个完美的解决方案, 我们建议你使用第三方API来检查解决方案。

编码愉快!

赞(1)
未经允许不得转载:srcmini » 在Symfony 3中用PHP实现裸体检测器

评论 抢沙发

评论前必须登录!