V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
dafengchui
V2EX  ›  程序员

视觉算法外包,请评估是否可以实现,如果有兴趣请留下联系方式,我们沟通开发成本.希望可以完成代码集成,界面交互,当然单纯寻求算法层面的合作也可以.

  •  
  •   dafengchui · 2019-07-16 09:04:30 +08:00 · 3327 次点击
    这是一个创建于 1987 天前的主题,其中的信息可能已经有所发展或是发生改变。
    算法具体要求:比如我给你张产品图片,基于它生成各种图片,比如裂缝,划痕,洞(各种增噪),然后转换为二值或者任何可行的数值方案后建模作为 NG(不良品)的模型,方便导入到产线机器(模型导入数据库时候需要加密).

    此学习建模部分为独立学习部分,和生产线隔离,技术栈: Python + Tensflow.



    以下为生产线部分:

    然后将此上述算法模型导入到生产线机器数据库.生产线上实际生产高速取样产品照片实时对比这些 NG,一旦符合就对此照片打上时间戳存入到指定位置方便以后品质部追逆.
    -多个零件 /部件算法应该为各自独立算法并可以导入对应独立库,方便生产灵活切换调用.

    界面 /客户端部分:倾向于 lnmp+django 基于 linxu(Debian/Centos), 然后 qt 开机自运行.
    当然如果单独的 qt 可以实现内置 web server 更好, 数据库 pg/mysql 都无所谓.
    由于高速计算对比要求,务必开机直接把算法从数据库加载到 redis 之类的 Nosql 中满足速度要求(redis/mongodb 都无所谓,目的达到即可)

    其它的外设比如高速相机驱动安装和可视化自测需要加到客户端管理界面.
    简单的用户权限分配.

    可能会有算法模型-redis 之间数据加密 /解密耦合,增加破解难度要求.
    第 1 条附言  ·  2019-07-16 09:41:31 +08:00
    终于可以附言了,这里补充部分:

    生成图片有 2 个方案,并行或者二选一: 可能会有 ng 照片直接拿来训练(如果产线某零件运行时间足够久的话). 此外肯定有个学习条件输入端:比如一平方毫米允许多少个划痕 /裂缝之类.

    初始照片一定是完美照片,可以用来做基准照片,产线各种光线,光亮不统一问题不存在,已经解决了.

    目前算法数度暂时只牵涉到表面处理(也就是 2D 层次,如果类似带有深度裂缝之类的也会是转为划痕来对待)
    第 2 条附言  ·  2019-07-16 10:12:38 +08:00
    附言请以此为准:

    生成图片有 2 个方案,并行或者二选一:
    1.定义 ng 输入端:比如一平方毫米允许多少个划痕 /裂缝之类.
    -可以把零件表面按照区域切割,比如有些区域不需要识别,那就可以减少算法复杂性.

    2.可能会有 ng 照片直接拿来训练(如果产线某零件运行时间足够久的话),这个也是提升精度的一个必要途径,方便导入已有 ng 图片提高识别精度.

    可选的:人肉进行模型培训, 目前市面上不少打码平台,我们可以通过对接来实现人肉模型培训对接,成本不高(方案之一)


    初始提供的基准照片一定是完美照片,产线各种光线,光亮不统一问题不存在,已经解决了(产线检测环节封闭提供稳定可靠的光源)

    目前算法数度暂时只牵涉到表面处理(也就是 2D 层次,如果类似带有深度裂缝之类的也会是转为划痕来对待)
    31 条回复    2019-07-20 19:31:30 +08:00
    vitovan
        1
    vitovan  
       2019-07-16 09:15:25 +08:00 via Android
    生成的图片会不会不太符合生产环境真实 NG 的特征?

    有没有 NG 产品的照片库直接拿来训练这样?
    dafengchui
        2
    dafengchui  
    OP
       2019-07-16 09:19:14 +08:00
    @vitovan append 附加没有了,正好这里回答你的问题:
    生成图片有 2 个方案,并行或者二选一: 可能会有 ng 照片直接拿来训练(如果产线某零件运行时间足够久的话). 此外肯定有个学习条件输入端:比如一平方毫米允许多少个划痕 /裂缝之类.
    jingous
        3
    jingous  
       2019-07-16 09:24:05 +08:00 via Android
    1 楼说的对,直接在图片上添加生成的图片大概率不符合真实环境。现在的图片生成基本都是 GAN,但也需要原始 NG 数据。即使生成新数据之后,也不是直接匹配,而是作为训练数据来训练模型。
    jingous
        4
    jingous  
       2019-07-16 09:27:51 +08:00 via Android
    直观的思路是:先收集一批 NG 数据,视数据收集的难易程度来确定是否需要生成虚假数据。然后数据训练模型,每次在生产线拍的照片输入模型来得到结果。大概框架是这样,里面可能涉及到 N 多问题:图片的光线、模型的处理数度等等
    dafengchui
        5
    dafengchui  
    OP
       2019-07-16 09:31:47 +08:00
    @jingous 我给你的初始照片一定是完美照片,可以用来做基准照片,光线之类不需要考虑了. 倒是模型的处理数度可以探讨,目前仅仅聚焦于产品表面检测.

    这个算法是要长期合作的,因为不同的产品对应不同的模型,考虑为一个平台, 暂时只是基于当前已有产品检测而已.
    crackhopper
        6
    crackhopper  
       2019-07-16 09:34:50 +08:00
    找学校合作感觉最合适。针对数据进行样本生成,一般都是对抗网络,也方便发论文。
    验收标准比较麻烦,毕竟深度学习都是玄学,样本哪怕生成的好,也只是一个环节;所以怎么验收也是值得疑虑的。
    jingous
        7
    jingous  
       2019-07-16 09:36:04 +08:00
    完美的照片才是缺点。如果你拿的是完美的照片,那么训练出来的模型只能处理完美照片。而生产环境中由于光线、光亮等原因采集到的图片各种各样,输入模型肯定得不到很好的效果。如果你这个数据获取容易的话,可以收集大量生产数据,如果数据收集困难的话,这个问题就比较难了。
    dafengchui
        8
    dafengchui  
    OP
       2019-07-16 09:37:15 +08:00
    @jingous 产线环境这你根本不需要考虑,已经解决了.
    liuzhedash
        9
    liuzhedash  
       2019-07-16 09:38:36 +08:00
    现在的生产线是如何判别产品是否有质量问题的?
    jingous
        10
    jingous  
       2019-07-16 09:41:53 +08:00
    @dafengchui 那就直接搜集生产环境的数据,先跑一个简单的模型试试。
    dafengchui
        11
    dafengchui  
    OP
       2019-07-16 09:42:54 +08:00
    @liuzhedash 请看附言: 定义 ng 输入端:比如一平方毫米允许多少个划痕 /裂缝之类.
    dafengchui
        12
    dafengchui  
    OP
       2019-07-16 09:45:10 +08:00
    @jingous 目前是基于 halcon 二开,垃圾的一比,基本抛弃了.
    vitovan
        13
    vitovan  
       2019-07-16 09:48:11 +08:00 via Android
    建议楼主发几张照片看看
    unhumanplane
        14
    unhumanplane  
       2019-07-16 09:51:13 +08:00
    瑕疵检测可是可以给一家图像公司当主营业务的领域,现在主流基本都是直接堆数据上检测搞定,外加各种数据增广,基于匹配的大概率不行。
    dafengchui
        15
    dafengchui  
    OP
       2019-07-16 10:04:05 +08:00
    @vitovan 这是朋友的项目,我来问问是否需要公开些照片.
    dafengchui
        16
    dafengchui  
    OP
       2019-07-16 10:05:08 +08:00
    @unhumanplane 目前只是简单的表面瑕疵识别,零件单调简单, 图像公司的算法复杂多了. 不过你提出了很好的思路, 虽然之前我们也探讨过, 我把它写到 append 中.
    unhumanplane
        17
    unhumanplane  
       2019-07-16 10:25:29 +08:00   ❤️ 1
    @dafengchui 不复杂,大多数深度学习项目工程化关键都在于折腾数据,算法一大堆开源的,昨天刷 github 就看到了一个相关的库,楼主有兴趣我可以再去找找。
    dafengchui
        18
    dafengchui  
    OP
       2019-07-16 11:24:49 +08:00
    @crackhopper 这段时间天天 github 找有没有搞这个算法的,估计有人做了,所以找到类似的,然后给感兴趣的提供参考,那么是皆大欢喜的事情.
    winglight2016
        19
    winglight2016  
       2019-07-16 11:56:42 +08:00
    lz 思路还是基于逻辑编程来做缺陷识别,个人建议还是用监督学习来做分类,有图片的话,可以发过来预研一下,我的 wx:Y2h5NDQ3NjQ4 ( base64 )
    qinyusen
        20
    qinyusen  
       2019-07-16 12:23:48 +08:00
    有监督学习的比较好, 关键是, 要有标注好的数据。
    shinodajmk
        21
    shinodajmk  
       2019-07-16 12:29:58 +08:00
    mahonejolla
        22
    mahonejolla  
       2019-07-16 15:53:20 +08:00
    老铁,你是哪个公司的?我咋感觉我们在做同样的事情??
    dafengchui
        23
    dafengchui  
    OP
       2019-07-16 16:37:05 +08:00
    @unhumanplane 请问找到了那个 github 上的算法了吗? 方便共享吗?
    dafengchui
        24
    dafengchui  
    OP
       2019-07-16 16:37:28 +08:00
    dafengchui
        25
    dafengchui  
    OP
       2019-07-16 16:38:03 +08:00
    @mahonejolla 我是帮朋友忙而已, 你们公司也要做类似的工作吗?
    mahonejolla
        26
    mahonejolla  
       2019-07-16 16:42:54 +08:00
    @dafengchui #25 是的,你是做的具体是什么物体的检测呢?不会是电池吧?
    unhumanplane
        27
    unhumanplane  
       2019-07-16 17:34:11 +08:00
    @dafengchui
    https://github.com/sundyCoder/DEye
    翻了一下历史记录找到了,看了一下是国人搞的,还挺完整的。
    cshlxm
        28
    cshlxm  
       2019-07-16 17:42:18 +08:00
    好歹搞下一批真实的 NG 数据的标注,训练给 GAN 用
    dafengchui
        29
    dafengchui  
    OP
       2019-07-16 18:11:07 +08:00 via iPhone
    @unhumanplane 谢谢,和上面一个兄弟微信沟通过,现在从深圳去珠海见见他当面聊聊。
    dafengchui
        30
    dafengchui  
    OP
       2019-07-16 18:13:33 +08:00 via iPhone
    @cshlxm 那肯定了,只是很多时候提供的 ng 数量不足够
    dafengchui
        31
    dafengchui  
    OP
       2019-07-20 19:31:30 +08:00
    @cshlxm 对的,大概就是这样的思路,这几天忙的飞起.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1264 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 17:52 · PVG 01:52 · LAX 09:52 · JFK 12:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.