V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wunonglin
V2EX  ›  程序员

如何使用 AI 进行图片分析?

  •  
  •   wunonglin · 2022-01-26 18:58:51 +08:00 · 2066 次点击
    这是一个创建于 1032 天前的主题,其中的信息可能已经有所发展或是发生改变。

    使用语言:

    • Golang
    • Nodejs

    使用者:

    • 0 基础机器学习
    • 0 数学方面基础

    目的:

    • 针对上传的图片进行分析

    最低要求:

    • 判断图片是否存在人体(包括人体的任何部位之一,精度胳膊手臂头身子就行)
    • 获取人的性别

    最高要求:

    • 判断图片是否存在人体(包括人体的任何部位之一,精度最好到只有一根手指头也能识别)
    • 获取人的性别

    期望实现方式:

    • 调用开源框架使用开源模型分析
    • 调用开源框架使用自己训练的模型(排除样本因素,需要能简单上手的 0 基础训练教程)
    • 可以使用商业分析服务,但价格不高于 10000 张 /50 元

    问:如何可以满足这个需求?

    16 条回复    2022-01-26 22:14:57 +08:00
    hello2090
        1
    hello2090  
       2022-01-26 19:02:52 +08:00
    如果要自己做,第一步,上网完成一个机器学习教程
    如果要别人做,第一步,找个能帮你做的人
    p2pCoder
        2
    p2pCoder  
       2022-01-26 19:21:17 +08:00
    准召什么要求
    对商业的不是很了解,但是凭直觉来说这价格很难做
    自己做,也大概率不靠谱
    整体感觉,兄弟你最好不做这个项目
    imn1
        3
    imn1  
       2022-01-26 19:21:54 +08:00
    要求 1 和要求 2 有冲突,手指、手臂怎么判断性别?

    github 搜 “NSFW” 有不少鉴黄的模型、工具,能识别特殊部位和性别
    搜“gender”有性别识别的模型,当然主要是靠脸

    识别人的当然有,但我没怎么去了解过,例如一些自动驾驶方面的肯定要识别“部分人体”的
    wunonglin
        4
    wunonglin  
    OP
       2022-01-26 19:22:43 +08:00
    @p2pCoder #2 我自己的需求。手上有千来万张图片,后期会更多,需要分类
    p2pCoder
        5
    p2pCoder  
       2022-01-26 19:26:42 +08:00
    @wunonglin 你首先明确 准确率 召回率的要求,再考虑这个需求
    wunonglin
        6
    wunonglin  
    OP
       2022-01-26 19:27:58 +08:00
    @imn1 #3

    对。我的锅说的不是很清楚,如果只是匹配到非身体和脸部,性别是不能判断的。
    我去看下你推荐的
    tfdetang
        7
    tfdetang  
       2022-01-26 19:31:04 +08:00
    如果只是做鉴黄,感觉不是特别复杂的需求,应该不少开源方案可以达到你的最低要求。当然要做到让甲方满意就是另外一回事了
    wunonglin
        8
    wunonglin  
    OP
       2022-01-26 19:35:03 +08:00
    @p2pCoder #5 不是很理解准召率这个概念。但是是有我期望的方式解决的是吧?前提是能实现,后面我可以根据我自身决定准召率吧
    wunonglin
        9
    wunonglin  
    OP
       2022-01-26 19:36:20 +08:00
    @tfdetang #7 不是鉴黄。只是我自己的一点需求而已。而且云服务商的鉴黄已经很成熟了,我也没必要问了
    p2pCoder
        10
    p2pCoder  
       2022-01-26 19:43:14 +08:00
    @wunonglin 基本可以理解为识别的准确率,这个事关你的交付效率以及成本
    准确率肯定是低于 100%的,一般来说,有 90%就很不错了,你要把这个谈好,是最核心的
    你要实现的不是基本的功能,而是要确保识别的正确,否则,写个随机生成,也有一定的概率正确
    就算你做的再好,最好也是有一大堆的 bad case
    所以还是第一部还是谈好识别的准确率
    然后在这个要求的基础上,看各中方案成本是否能够 cover 住
    wunonglin
        11
    wunonglin  
    OP
       2022-01-26 19:49:46 +08:00
    @p2pCoder #10 是的。只是我这个是我个人用的而已。第一目标当然是能吧这件事“做”到,后面我了解之后可以慢慢了解这个东西
    Juszoe
        12
    Juszoe  
       2022-01-26 20:26:51 +08:00
    第一个需求可以建模为语义分割任务,放一个榜单
    https://paperswithcode.com/sota/semantic-segmentation-on-lip-val
    例如这个应该能够满足你的需求 https://github.com/PeikeLi/Self-Correction-Human-Parsing
    但是语义分割自建数据集标注工作量太大,如果不需要分析像素级信息,可以建模为多标签分类任务

    第二个需求应该现成的服务有很多,就不举例了
    imn1
        13
    imn1  
       2022-01-26 20:50:21 +08:00
    不建议自己建模
    一来,个人机器能力有限,需要长时间运算(单位按十小时甚至天,中间不能断)
    二来,你手上的图片太少,建出来的模型通用性低,这意味着需求稍微有些改变,就要重新建模一次,又是按天算的工作

    我有千万级图片,但没有强力机器(强力 CPU+强力显卡 GPU),根本不敢玩建模

    如果你只有万级数量图片需要分类,其实跑 AI 有点浪费,当然作为学习是另算
    我建议用其他方案(例如 exif 或人脸识别)初步筛选分类,然后目测做第二级别分类
    c0xt30a
        14
    c0xt30a  
       2022-01-26 20:51:16 +08:00
    可以从给图片添加描述开始。
    我之前做过一个 demo 在这里: https://github.com/fengwang/recaption_images
    真的使用,模型还需要自己精调
    wunonglin
        15
    wunonglin  
    OP
       2022-01-26 21:49:45 +08:00 via iPhone
    @Juszoe 好的多谢。我去了解一下你说这个

    @imn1 我现在是有大概千万张图。人脸识别应该都有成熟的模型了,这个我看看怎么做比较好。
    jaredyam
        16
    jaredyam  
       2022-01-26 22:14:57 +08:00
    Python 跑对应开源的 SOTA 模型,不需要过脑子,也不要太想着自己训练,具体效果就得对比不同模型在你实际常见数据上的表现了。AI 这块指标比较可控,具体 case 其实很难把控,产品级方案开源模型很难魔改。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1531 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 17:18 · PVG 01:18 · LAX 09:18 · JFK 12:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.