去除换脸软件的NSFW检测

我把整个流程记录下来是因为对于新手来说这是一次很好的对于开源软件再次开发/修改以满足自己使用需求的经历,主要流程如下:

  1. 从GitHub上面Fork源码
  2. 将自己Fork的源码下载到本地
  3. 源码调试寻找代码中NSFW检测的位置 + 修改(跳过)代码中的NSFW检测
  4. 运行修改过后的代码
  5. 将修改的本地代码再次推送至自己的GitHub仓库

提前准备工作需要有一个GitHub账号,一个文本编辑器(我用的VScode),电脑中已安装Git和Python。我的系统是Win11,但是无论是MacOS还是Linux系统操作都差不多。

0x01 从GitHub上面Fork源码

首先打开这个网址:

 复制代码 隐藏代码
https://github.com/facefusion/facefusion

进去之后点击这里Fork到自己的仓库:
去除换脸软件的NSFW检测插图

然后给Fork的仓库一个名字,如果喜欢的话也可以改一下仓库的简介,这样别人看到你的仓库也可以轻松知道里面代码与原版有什么区别,之后点击”Create fork”进行创建。

去除换脸软件的NSFW检测插图1

0x02 将自己Fork的源码下载到本地

之后是漫长的阅读源码的过程,然后我找到了NSFW检测的位置,在“predictor.py”里面,这是具体的代码:

 复制代码 隐藏代码
def predict_stream(frame : Frame) -> bool:
    global STREAM_COUNTER

    STREAM_COUNTER = STREAM_COUNTER + 1
    if STREAM_COUNTER % FRAME_INTERVAL == 0:
        return predict_frame(frame)
    return False

def predict_frame(frame : Frame) -> bool:
    image = Image.fromarray(frame)
    image = opennsfw2.preprocess_image(image, opennsfw2.Preprocessing.YAHOO)
    views = numpy.expand_dims(image, axis = 0)
    _, probability = get_predictor().predict(views)[0]
    return probability > MAX_PROBABILITY

@lru_cache(maxsize = None)
def predict_image(image_path : str) -> bool:
    return opennsfw2.predict_image(image_path) > MAX_PROBABILITY

@lru_cache(maxsize = None)
def predict_video(video_path : str) -> bool:
    _, probabilities = opennsfw2.predict_video_frames(video_path = video_path, frame_interval = FRAME_INTERVAL)
    return any(probability > MAX_PROBABILITY for probability in probabilities)

然后我的方法很简单,它不是要进行各种检查然后返回有没有达到标准吗?那我们就都直接返回False,让它随便检查去:

 复制代码 隐藏代码
def predict_stream(frame: Frame) -> bool:
    return False

def predict_frame(frame: Frame) -> bool:
    return False

@lru_cache(maxsize=None)
def predict_image(image_path: str) -> bool:
    return False

@lru_cache(maxsize=None)
def predict_video(video_path: str) -> bool:
    return False

修改之后保存文件即可。

本站资源来自互联网收集,仅提供信息发布
一旦您浏览本站,即表示您已接受以下条约:
1.使用辅助可能会违反游戏协议,甚至违法,用户有权决定使用,并自行承担风险;
2.本站辅助严禁用于任何形式的商业用途,若被恶意贩卖,利益与本站无关;
3.本站为非营利性网站,但为了分担服务器等运营费用,收费均为赞助,没有任何利益收益。
死神科技 » 去除换脸软件的NSFW检测

死神科技,因为专业,所以领先。

网站首页 24小时自动发卡
在线客服
24小时在线客服
阿里云自动发卡,购卡进群售后
12:01
您好,有任何疑问请与我们联系!

选择聊天工具: