据说准确率高达99.95%,基本可以替代人工审核,那么借着腾讯云免费服务器体验名额,来试试下嘿嘿~~

据腾讯介绍说,这是一项基于腾讯优图独创的基于深度学习的图片鉴黄技术,承载每天数亿张qq相册的识别业务,也可以说是相当厉害了

先来看一下腾讯介绍:

智能鉴黄简介

智能鉴黄(Porn Identification)是基于腾讯优图的深度学习图像识别技术,通过学习和分析图片影像的肤色、姿态和场景等,让机器替代人工进行图像审核。支持提供图片文件或者下载地址,自动获取图片进行智能识别,并返回图片的色情分值,可高效识别色情图片和性感图片,准确率高达99.95%。对于高置信度图片可直接打击,对于次高置信度图片可按优先级交付人工审核确认,有效帮助企业规避业务涉黄风险,为您解放审核人力,节省业务支出。

初始化配置

使用万象优图图片鉴黄 API 接口,我们需要先完成以下步骤:

  • 获取腾讯云账号 APP ID
  • 配置云 API 公钥/密钥
  • 配置优图 bucket

首先在终端执行以下命令,创建目录 /data/try-pi,然后进入到该目录:

mkdir -p /data/try-pi && cd $_

然后在目录 /data/try-pi创建 init.sh 文件,在文件中贴入以下脚本:

示例代码:/data/try-pi/init.sh

#!/bin/bash########################################## 基础配置########################################## 腾讯云账号 APP ID# 在如下单引号内填入你的 APPIDexport APP_ID=''# 云 API 公钥# 在如单引号内填入你的 SecretIDexport SECRET_ID=''# 云 API 密钥# 在如下单引号内填入你的 SecretKeyexport SECRET_KEY=''# 优图 bucket 名称# 如果你创建的 bucket 名称不叫 trial,替换为自己创建的即可export BUCKET_NAME='trial'

可以看到配置文件中要求我们填入以下信息:

  • 腾讯云账号 APP ID
  • 云 API 公钥/密钥
  • 优图 bucket 名称

其中,腾讯云账号 APP ID云 API 公钥/密钥 可以点击这里前往腾讯云控制台 云 API 密钥 - 个人 API 密钥 页面查看。

如果你还没有创建过密钥,可以在该页面点击 +新建密钥 按钮创建一个,然后将对应信息填入到 init.sh文件中,按键 [Ctrl + S] 进行保存。

点击这里前往腾讯云控制台 万象优图 - Bucket管理 页面创建一个名称为 trial,其他选项默认即可。

Mac 用户请按键盘 Cmd + S 进行保存

将配置项导出为环境变量

在终端中执行以下命令,将各配置项导出为 Shell 环境变量:

source init.sh

可以通过以下命令来验证各配置项是否已正常导出:

echo $APP_ID
echo $SECRET_ID
echo $SECRET_KEY
echo $BUCKET_NAME

生成鉴权签名

任务时间:5min ~ 10min

新建脚本生成签名

基础配置完成后,我们在此基础上还需生成[鉴权签名],因为调用万象优图 API 接口需要用到它。我们将创建脚本来生成有效期为 30 天的多次有效的签名。

在目录 /data/try-pi创建 gen-sign.sh 文件,然后在文件中贴入以下脚本:

示例代码:/data/try-pi/gen-sign.sh

#!/bin/bash########################################## 生成多次有效的鉴权签名(有效期 30 天) # @see https://cloud.tencent.com/document/product/460/6968########################################## 当前时间戳(秒)current_time=$(date +%s)# 到期时间戳(秒)expire_time=$(($current_time + 30 * 24 * 60 * 60))# 随机串,无符号 10 进制整数(不大于 10 位)rand='4815162342'# 历史遗留字段,写死为 0user_id='0'# 拼接签名串str="a=$APP_ID&b=$BUCKET_NAME&k=$SECRET_ID&e=$expire_time&t=$current_time&r=$rand&u=$user_id";# 使用 HMAC-SHA1 算法对签名串加密sign=$(echo -n $str | openssl dgst -sha1 -hmac $SECRET_KEY -binary)# 对加密串进行 Base64 编码sign=$(echo -n $sign$str | base64)# 移除多余的空格得到最终的鉴权签名sign=$(echo -n $sign | tr -d ' ')# 导出鉴权签名export AUTH_SIGN=$sign

关于签名鉴权的详细介绍和生成方法可移步这里

将签名导出为环境变量

在终端中[执行以下命令],生成签名并将签名导出为环境变量:

source gen-sign.sh

可以通过以下命令来验证签名是否已正常导出 [?]:

echo $AUTH_SIGN

该命令可多次执行,每次执行都会生成新的签名并将签名导出为环境变量

签名应该是一串经过 Base64 的字符串

体验智能鉴黄

任务时间:20min ~ 30min

准备鉴黄脚本

仍旧在目录 /data/try-pi创建 detect-porn.sh 文件,然后在文件中贴入以下脚本:

示例代码:/data/try-pi/detect-porn.sh

#!/bin/bash########################################## 鉴黄脚本# @see https://cloud.tencent.com/document/product/460/6900########################################## 图片鉴黄 API 地址END_POINT='https://service.image.myqcloud.com/detection/porn_detect'# 使用帮助function usage() {  echo ""  echo "-h --help"  echo "-r --remote-image=网络图片地址"  echo "-l --local-image=本地图片地址"  echo ""}# 对网络图片进行鉴黄function detect_remote() {  remote_image=$1  curl -X POST \       -H "Content-Type: application/json" \       -H "Authorization: $AUTH_SIGN" \       -d '{"appid":'$APP_ID',"bucket":"'$BUCKET_NAME'","url_list":["'$remote_image'"]}' \       --silent \       $END_POINT}# 对本地图片进行鉴黄function detect_local() {  local_image=$1  curl -X POST \       -H "Content-Type: multipart/form-data" \       -H "Authorization: $AUTH_SIGN" \       -F "appid=$APP_ID" \       -F "bucket=$BUCKET_NAME" \       -F "image[0]=@$local_image" \       --silent \       $END_POINT}# 解析命令入参while [ "$1" != "" ]; do  PARAM=`echo $1 | awk -F= '{print $1}'`  VALUE=`echo $1 | awk -F= '{print $2}'`  case $PARAM in    -h | --help)      usage      exit      ;;    -r | --remote-image)      detect_remote $VALUE      ;;    -l | --local-image)      detect_local $VALUE      ;;    *)      echo "ERROR: 未知参数 \"$PARAM\""      exit 1      ;;  esac  shiftdone

在终端中敲入以下命令查看鉴黄脚本使用说明:

bash detect-porn.sh -h

鉴黄脚本是对万象优图图片鉴黄 API 接口的实践。可以看到,我们的脚本支持对 网络图片本地图片进行鉴黄。

对网络图片进行鉴黄

在终端执行以下命令,可以看到对网络图片的鉴黄结果:

bash detect-porn.sh --remote-image='https://imgcache.qq.com/open_proj/proj_qcloud_v2/gateway/event/pc/ci-identify/css/img/demo/demo_8.jpg'

输出结果应该是一段 JSON 字符串,点击这里可以查看输出结果各字段的含义。

对本地图片进行鉴黄

在终端执行执行以下命令,将网络图片下载到云主机 /data/try-pi 目录下:

wget https://imgcache.qq.com/open_proj/proj_qcloud_v2/gateway/event/pc/ci-identify/css/img/demo/demo_10.jpg -O /data/try-pi/demo.jpg

下载完成后,右键刷新 /data/try-pi 目录,可以看到在该目录下新增了一个名为 demo.jpg 的图片,点击可预览该图片。

接下来,在终端执行以下命令,可以看到对该图片的鉴黄结果:

bash detect-porn.sh --local-image='/data/try-pi/demo.jpg'

输出结果应该是一段 JSON 字符串,点击这里可以查看输出结果各字段的含义。

当然,你也可以根据上述步骤,替换为自己准备的图片进行鉴黄体验。

完成实验

Well done!通过本实验,我们了解了如何使用图片鉴黄 API 接口(包括生成 API 密钥、创建优图 bucket、生成鉴权签名),以及如何使用接口对网络图片和本地图片进行鉴黄。

经过本人测试,此篇教程可以完成。本教程转自腾讯云,可以免费体验测试哦~~

爱女友,爱生活
0
0
发表留言

文章
万象优图鉴别XX图片
据说准确率高达99.95%,基本可以替代人工审核,那么借着腾讯云免费服务器体验名额,来试试下嘿嘿~~据腾讯介绍说,这是一项基于腾讯优图独创的...
扫描右侧二维码继续阅读
May 21, 2019
zlatanera
blogger
王誉睿
一名95后。Notion爱好者,大学期间修过电脑和手机、卖过奶茶、得过国家专利,热爱读书和电影,喜欢和女朋友旅游记录生活,对未知事物拥有无限的好奇心,一名脑洞随时大开的老男孩。
我的其他网站:

Jackieの生活觀察(Notion主页)
逝去的武林
BBtime

此网站用RSSHub插件可以添加到RSS阅读器中方便查看哦

统计
文章:153 篇
分类:4 个
评论:23 条
运行时长:1年341天
by yoniu.

zlatanera