V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
caixiaomi
V2EX  ›  机器学习

有什么比较简单的方式能训练图像识别模型么

  •  1
     
  •   caixiaomi · 2023-11-26 09:48:13 +08:00 · 2334 次点击
    这是一个创建于 392 天前的主题,其中的信息可能已经有所发展或是发生改变。
    非人工智能方向的专业人士,想实现一个这样的功能,求最短路径,感谢。
    1. 给定一批有特征的图片,例如所有的图片都有一只狸花猫,但是猫的形态和长相都不同
    2. 根据这些图片自主训练得到特征
    3. 给一张新的狸花猫,能告诉我这是一个狸花猫

    对这个方向完全是小白,见笑了
    第 1 条附言  ·  2023-11-26 10:34:08 +08:00
    再细化一下,例如我都投喂身上有个特殊标记的狸花猫,例如都一个褐色的心形图案,我希望后面再给一个有心形图案的狸花猫,AI 能识别到这是一个有心形图案的狸花猫。
    18 条回复    2024-02-27 17:33:19 +08:00
    youngce
        1
    youngce  
       2023-11-26 09:50:46 +08:00
    国内直接用 easydl 应该是最简单的了,可以看一下
    paopjian
        2
    paopjian  
       2023-11-26 10:31:40 +08:00
    yolo 不是能做识别吗,不知道训练品种可不可以
    Muniesa
        3
    Muniesa  
       2023-11-26 10:44:31 +08:00 via Android
    你需要一个分类模型,需要“有心形图案狸花猫”和“其他可能输入的图案”两类数据。有数据了随便找个分类的 demo 替换一下就行。
    coderluan
        5
    coderluan  
       2023-11-26 13:20:11 +08:00
    楼主你可以换个思路,直接训练那个心形图案,这个比训练猫简单的多,然后先用网上的现场的模型找猫,然后在猫的范围内找图形。
    qscasdqwezxc
        6
    qscasdqwezxc  
       2023-11-26 13:25:42 +08:00 via Android   ❤️ 1
    yolo 简单高效文档充足
    你这种就五六个种类的最小的 6 ,7m 大小的就行
    效果应该也不错的
    我用的是 v8
    Donahue
        7
    Donahue  
       2023-11-26 13:33:32 +08:00
    让 chatgpt 给你写一个就行了
    caixiaomi
        8
    caixiaomi  
    OP
       2023-11-26 13:38:47 +08:00
    @coderluan 猫我只是举个例子,再举个例子,比如植物病变识别,人体皮肤病识别,可能场景不一定恰当,就是这个意思 :)

    @qscasdqwezxc
    @Muniesa 我研究研究


    @paopjian 猫是举个例子哈,其实我想要的是:给定一批相同特征的图片,告诉引擎是什么,给我训练一个模型出来,后面给出图片能识别出来。 例如我给 N 张单眼皮的给训练引擎,告诉它这是单眼皮,后面他就能从图片中给我找到单眼皮出来(当然这个也是举例)
    caixiaomi
        9
    caixiaomi  
    OP
       2023-11-26 13:39:17 +08:00
    @Donahue 这个恐怕搞不了,问了没结果
    Puteulanus
        10
    Puteulanus  
       2023-11-26 13:41:46 +08:00
    /t/903193 以前刷帖子看到的,demo 视频挺惊艳,但没实际用过
    huluhulu
        11
    huluhulu  
       2023-11-26 14:44:35 +08:00
    这不是最基本的图像识别嘛,随便算法都可以实现吧?
    基本上都是自学习,各种猫狗分类,猫的品种分类,都已经很成熟了吖
    NoOneNoBody
        12
    NoOneNoBody  
       2023-11-26 14:58:45 +08:00   ❤️ 1
    看你这种问法,应该只能用现成的成品工具,去“分享创造”节点搜搜

    你这个需求是监督学习分类器,就是把多个类别的图片,每张图标记好类别,交给程序训练,机器学习和深度学习都可以,后者效果稍好一点,但需要硬件足够

    其中,多个类别是需要的,而且应该有对比,要具体到你提及的所有定语
    “有褐色的心形图案的狸花猫”,这里类别的层级是 猫-->狸花猫->有个心形图案的狸花猫-->有个褐色的心形图案的狸花猫

    如果要识别猫,就把猫和不是猫的图片各做一个分类,或多个分类(细化点在物种)
    如果要识别狸花猫,就把狸花猫和其他猫的图片各做一个分类,或多个分类(细化点在品种)
    如果要识别心形图案的狸花猫,就把心形图案的狸花猫和其他狸花猫的图片各做一个分类,或多个分类(细化点在图案形状)
    如果要识别褐色的心形图案的狸花猫,就把褐色的心形图案的狸花猫和其他颜色的心形图案的狸花猫的图片各做一个分类,或多个分类(细化点在颜色)
    其实单类别的“分类器”也能做,但需要更多的知识,如阈值判断是否该类别,只是选阈值大小本身就是个学问

    如果你有些编程能力,能读懂一些程序的大概,基本上图片分类器教程的例子就可以用了,例如 sklearn, pytorch 或一些 AI 框架的教程,多数都有图片分类,理清楚输入格式,自己调一下输出

    但是,如果你想提高准确率、优化等等,那学习这些工具的编程就少不了了

    chatgpt 可以写,只是你不会问,我昨天才跟它问了一个下午,完成了一个简单的 pytorch 时序数据分类器
    你问很具体的业务内容,如特殊图案的狸花猫,它是答不出来,但你问简单点,“请你写个 pytorch 图片分类器”,它能写出来,跟 pytorch 教程那个差不多
    因为业务内容千变万化,目前 AI 还不好理解,以及可能有规避风险的因素(不正确答案潜在的纠纷),例如你说量化交易,可能没什么好的答案,但你说“时序数据”,它就能答出有用答案
    coderluan
        13
    coderluan  
       2023-11-26 16:53:02 +08:00
    @caixiaomi #8 那样的话,普通样本你得用现成的模型,然后用这个模型运行你的特殊样本得到特征,然后再拿你的样本当正集,普通样本当负集再训练,这样就能生产专门针对特殊样本的模型了,基本上常见的网络都行吧,推荐 yolo ,好用一点。
    Seanfuck
        14
    Seanfuck  
       2023-11-26 17:04:10 +08:00
    vgg16 以图搜图 之类的就能做到
    cwyalpha
        15
    cwyalpha  
       2023-11-26 19:54:46 +08:00 via iPhone
    @Puteulanus 看视频 lobe 是不是只能做单个物体的识别,如果一张图里有 2 个人一个在喝水一个不在喝水,这种是不是还是得用 yolo
    aoguai
        16
    aoguai  
       2023-11-26 20:19:11 +08:00
    yolo 检测、分割、分类、姿态 都能做而且容易上手,就标个数据集的事情。
    你这种就是分类和检测任务。
    shm7
        18
    shm7  
       299 天前
    搞清楚输入输出,做个基本的数学建模。
    假设输入是任意照片,输出是 2 分类,狸花猫/其他。那么这个就是个图像二分类问题。要考虑你的负样本是否 cover 非狸花的猫、猫形动物。这些可以从开源数据集中找一些扩充你的负样本。正样本可以就用你的狸花猫图片。训练二分类是 CV 模型结构里面最简单的。

    如果你是要识别“褐色的心形图案”等需求随时可以变的场景,那就是一个 ImageCaption 的问题。加入你的图片到开源 ImageCaption 数据集训练。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   911 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 22:28 · PVG 06:28 · LAX 14:28 · JFK 17:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.