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

若干年前有句话“干掉熊猫我就是国宝了”,现如今感觉历史在一天天重演

  •  
  •   sgissb1 · 2016-09-06 17:54:51 +08:00 · 8838 次点击
    这是一个创建于 3000 天前的主题,其中的信息可能已经有所发展或是发生改变。

    无论在 v 站,还是其他技术类站点,有时会看到讨论或变相讨论“某某玩意是世上最好的”之类话题。

    就连前段时间,我在做的一个图像处理的项目(用最简单的图像预处理+目标检测来识别答题卡),都被一哥们当着全公司的面说:“是不是答题卡这个项目调一下 opencv 的 api 就行了”,接着这哥们也充斥着各种雷人雷语:“以前做过机器学习,我觉得这个就很简单,可能不超过一百行或者一千行就能写出来的东西”。如果我不是和这位雷人王打过交道的话,我估计都受不了。毕竟 85 还是 82 的哥们,单身,嘴上爱挂着他们 B 公司如何如何的牛逼啥的,其实带个项目都一塌糊涂(早些年我 boss 喊我让我要么连同他的项目一起带算了,看他那么雷,还和我平级,我果断拒绝)

    其实早在很多年前(刚毕业 0-2 年)的时候,我也很喜欢对某某技术、某某框架评头论足。自从后来接触了 chromium 、 webrtc 以及一个完整的音视频双向直播以后,我开始逐渐看开。

    技术似乎现在被分为两类:工程类技术、科学类技术。 其实大家现在接触的,大多数是工程类技术,为了解决一类或者一群工程类问题演变出来的技术,没有谁好谁坏。只有谁更适合应对这样的场景。正如《设计模式》还是某本书前沿中说的一样:“好的构架师不会对某种设计模式评头论足,而是觉得这样的设计似乎更自然一些。”

    人往往就是被一时冲昏头脑,就如我所说的那个雷人王一样,他认为我能做出来,他也一样能做出来一样。当我当着大家的面说:“我们主要在降噪、二值化和目标检测上做了一些事情时”,他居然还没有听明白时,我已经意识到他好像对部分知识的欠缺,以至于我后来和他说:“以前在学校的时候,我图像方向的,和老师搞过空域上的图像比对和图像 0矢量化压缩”时,他都还不知道放下内心的狂妄。

    年纪大了一点,发现人就好叨叨。有时候很想把一些经验传播给我周围关系好的人,但发现听得进去的不多,以至于变成现实时,也还在一根筋。

    今天也算是看到 v 站以及看书有感而发了。

    86 条回复    2016-09-08 15:39:58 +08:00
    tomczhen
        1
    tomczhen  
       2016-09-06 18:06:45 +08:00   ❤️ 1
    其实反向推断,即便没有科学素养(高数这块)也是能做好程序员的,但是人要保有敬畏之心。
    Khlieb
        2
    Khlieb  
       2016-09-06 18:32:15 +08:00 via Android
    @tomczhen 的确,如果没有敬畏之心,人就会变得谮妄起来。
    ma125125t
        3
    ma125125t  
       2016-09-06 18:33:08 +08:00   ❤️ 2
    这个世界上存在这么一批人,浮夸,烦躁,想要一步登天。在以前的时候,通常出现在娱乐行业,因为那个行业需要这样的人。如今慢慢地充斥到别的领域,工程、科技,甚至科研领域中都出现这批人的身影。我见过每天在 github 上提交一个句号以保持“全绿”并号称自己多么勤奋的程序员,也见到不够资格评两院院士的屠呦呦十几年做研究获得诺贝尔奖。究其原因,我想是与这个飞速发展的时代密切相关的。整个社会以金钱为导向、驱动力,以金钱为评判人的标准迫使着每一个人。我相信无论哪个时代,总会有默默地做自己热爱的事业,或者是为了理想做一些事情的人。但也不可避免的,会出现一些沽名钓誉之徒。

    扯远了,抱歉。至于楼主你所描述的那类人呢,通常连沽名钓誉都称不上,纯粹就是水平不够,眼界又比天高,脸皮还厚罢了。
    shijingshijing
        4
    shijingshijing  
       2016-09-06 18:50:31 +08:00
    @sgissb1 对待这种张口就来的人,下次就是一句话,你行你上。下次如果有类似的或者更难的图像处理项目,直接跟老板说, xx 在 B 公司做过类似项目,而且他在平时交流中也对现有的 xx 提出过一些意见,我觉得 xx 项目可以让他试试。然后坐看他如何傻逼。

    OpenCV 不过是一个 Framework ,真正的大牛都是玩 Matlab 改进算法的,如果觉得我的方法有问题,那么提出来做技术讨论是可以的;这种靠贬低别人来抬高自己的人,远离即可,次数多了,老板自然会了解实际情况的。

    不过我的脾气一般是直接当面打脸的,这斯不是说什么机器学习么,换了是我我就当面这样说,哎呀,我们这边刚好有个用到了神经网络,有部分代码没怎么看懂,您是高人帮我们看看然后给个实现怎么样?然后速度 google scholar 随便找一个 ANN 方面刚发的论文,中间不用看详细算法,只看作者的实验结果,然后丢给这厮。
    lizon
        5
    lizon  
       2016-09-06 18:57:25 +08:00
    传播什么呀,没有意义,其他人还觉得是你在装。有人主动问的话另说。
    细节是魔鬼。
    自己过得爽,看得清,就行了,人和人无法相互理解。
    xiangtianxiao
        6
    xiangtianxiao  
       2016-09-06 19:12:18 +08:00 via Android
    啊...难道不是调用一下 OpenCV 的 API 么?
    surfire91
        7
    surfire91  
       2016-09-06 19:24:12 +08:00
    文人相轻
    码农界也差不多
    bdbai
        8
    bdbai  
       2016-09-06 19:45:45 +08:00 via Android
    @xiangtianxiao 你这个头像是啥?
    9hills
        9
    9hills  
       2016-09-06 19:52:45 +08:00
    @xiangtianxiao 瞎说什么<_<,答题卡识别是非常高深的图像识别应用, OpenCV 这种开源的小破程序也能搞出来?
    xenme
        10
    xenme  
       2016-09-06 20:03:43 +08:00 via iPhone
    @9hills 我怎么感觉答题卡这种规则的简单二值话就好了啊。
    sgissb1
        11
    sgissb1  
    OP
       2016-09-06 20:07:37 +08:00
    @tomczhen
    @Khlieb

    一句话,别太狂就好,各有各的道。解决工程问题中的高手确实有,不过可能经历奇葩点,多数狂的人,都不怎么样(实际工作产出)。


    @shijingshijing 你还真别说,我就说:“你行你上”,谁他更不要脸,开始和我扯公司战略问题,我就尿了。不过也不是第一个遇到这种人了。

    opencv 确实类似框架,不过里面还是有很多微积分的东西。用 matlab 验证算法是最快和有效的,我的降噪就是在 matlab 里面验证的,自己捣鼓着玩蛮有意思的。其实我也没打算给他一般见识,关键这哥在我们公司狂的出奇,毕竟我们是小公司,人家 B 公司出来的,反正具体也不多说了,雷死很多人了。

    主要感慨国内真正搞算法的不过,很多都是挂着羊头卖狗肉的。我这边招的音视频和图像算法,有些人连算法这个词都不配(广义的算法可以理解成一种业务逻辑,关键连自己做过的事情都讲不清楚。)
    Trim21
        12
    Trim21  
       2016-09-06 20:09:25 +08:00   ❤️ 1
    @bdbai 莱娜图
    sgissb1
        13
    sgissb1  
    OP
       2016-09-06 20:10:12 +08:00
    @xiangtianxiao
    @9hills

    你们看,你们大神来打脸就不好了。毕竟我也没读过什么书,吓倒腾。我就会少数几个 api 没办法,我们这边缺人不嫌弃请发我一下简历吧,我也不想做了,内推给您的。
    sgissb1
        14
    sgissb1  
    OP
       2016-09-06 20:11:01 +08:00   ❤️ 1
    @bdbai 这个图。。。很有名好不好,这个图的完整版是个有点黄的。当时学校学的时候,就是大多数例子是这张图了
    sgissb1
        15
    sgissb1  
    OP
       2016-09-06 20:16:06 +08:00
    @lizon 我就和一个巴掌这么多的人关系好(或者我认为值得交心的),其他人我懒的管。

    不过后来想想也算了,现在脱离以前那个岗位,我和别人的兄弟做更有意思的事情,想想还是蛮好玩的。以前的事情,就让那些人自己体会好了。

    不过说真的,我还真是看在我领导的面上,我就觉得我的直接 boss 和间接 boss 值得跟,要不谁会投入这么多,到头来狗咬吕洞宾。
    9hills
        16
    9hills  
       2016-09-06 20:20:34 +08:00 via Android
    @sgissb1 说你难度地低你不乐意,说你难度高你也不乐意。
    sgissb1
        17
    sgissb1  
    OP
       2016-09-06 20:23:02 +08:00
    @9hills 您看,我可没有说过难度高低,不是有句话叫:
    会者不难难者不会,我倒是不会所以我觉得难。不过我说那位雷人大哥,我觉得他和我一个范畴的(属于不会的)。

    您的话,我不是很清楚。但您的 id 还是蛮眼熟的,我觉得对您来说应该不难
    sgissb1
        18
    sgissb1  
    OP
       2016-09-06 20:34:50 +08:00
    @ma125125t 英雄不问出处,关键怕就怕在自己输出或者贡献(项目中)不咋地,还很喜欢到处指指点点,自我感觉优越或良好的。

    我都不好意思说,我 boss 问我那个事情的时候,估计就是觉得他人不行了。

    最近我也在反思我自己,其实我基础也不好,工作这么多年,没有沉下心来往数学方面补补一下,现在工作上用到的不是接近数学的,就是直接要用数学的;很是头疼。
    不过能经下心来好好搞搞技术(不管是工程类还是科学类,其实现在我能接触的多数是工程类了,真正和科学沾边的就是编解码的算法,还有特征相关的算法了。),还是蛮开心的。

    最近在看心理学的书,其实狂妄和容易影响情绪还是属于情商方面的问题。所以也在锻炼控制心态,转变一些做法。有时候要证明一个人真的算不算得上顶梁柱,就看这个人能不能被替代就对了(烂代码除外)
    wizardforcel
        19
    wizardforcel  
       2016-09-06 21:17:41 +08:00
    降噪、二值化连摆弄 PS 的人都明白,他一个玩 OpenCV 的人还不明白也是见了鬼了。机读卡的边上都有识别条纹的,这种东西还上 ML ,也只能是显摆他学过 ML 了。
    bdbai
        20
    bdbai  
       2016-09-06 22:04:51 +08:00 via Android
    @Trim21 @sgissb1 原来如此。之前读某个图像库的教程时也看到了这张图,觉得眼熟。
    FrankD
        21
    FrankD  
       2016-09-06 23:05:30 +08:00 via Android
    @sgissb1 PlayBoy 的封面怎么就黄了。。。那是性感
    feilaoda
        22
    feilaoda  
       2016-09-06 23:09:54 +08:00 via Android
    说的挺好
    Rubbly
        23
    Rubbly  
       2016-09-06 23:22:22 +08:00
    降噪、二值化、目标检测这几个光是概念上来看是很简单,但是在很多应用场景中也会遇到各种问题,能解决好也不是这么简单,当然 Po 主的重点当然不在这个上面。
    其他很多话还是很同意的,身边也的确遇到过这些人,是很烦。。
    shijingshijing
        24
    shijingshijing  
       2016-09-06 23:22:38 +08:00   ❤️ 3
    @xiangtianxiao
    @9hills

    两位想必是在学校里面做项目用过 OpenCV 吧,二值化的算法实现也不难,确实感觉没什么技术含量。

    不过,二位要是正真做过这种工程项目就知道了,真正做出健壮的应用,能够稳定的输出正确结果,远远不是二值化就能够搞定的,实际工程中要考虑到是不是误图,是不是铅笔污渍,黑框图不满到底图到什么程度算他正确,图的浓度不够怎么处理,这都是要花心思去调整图像处理和模式识别算法的。即使是二值化算法本身,阈值选取也需要大量经验积累然后才能得出的。我以前给朝日新闻做过 Adobe 的 OCR 插件,日本人提供过来的数据,让我目瞪口呆,包括纸张的色纯度、洁净度、反光度都是有大量实际数据记录的,报纸、打印纸、广告纸、牛皮纸等等都有详细的数据支持,所以最后按照他们的思路做出来的东西健壮性这一块特别强,基本上很少有漏识别、识别错误等情况。我特别佩服日本人的。

    V2 上有很多用嘴巴编程的人,这是非常不好的一种现象。希望大家多一些技术性的讨论,不要一上来就这个东西不就是 xx 这种论调。很多东西都是看似容易做实难。
    shijingshijing
        25
    shijingshijing  
       2016-09-06 23:24:41 +08:00
    9hills
        26
    9hills  
       2016-09-06 23:33:47 +08:00 via iPad
    @shijingshijing 然而你说的这些对答题卡识别来说,并不是很困难。

    图像处理水很深,但也不要随便拿一个题目就开始好么。你说这么多也不过是在用嘴巴编程罢了。
    shijingshijing
        27
    shijingshijing  
       2016-09-06 23:36:27 +08:00
    @9hills 真的么?你做一个答题卡识别的看看? show me the code and result.

    看你的资料和以前发的帖子,我估计我们的对话到此为止了。
    9hills
        28
    9hills  
       2016-09-06 23:41:17 +08:00 via iPad
    @shijingshijing 你也可以 show me your code ,愣是吹一个简单的东西,也是呵呵
    9hills
        29
    9hills  
       2016-09-06 23:42:53 +08:00 via iPad
    @shijingshijing 另外既然让我写,那你总得给我提供原图吧,我图像处理虽说外行,但也想试试

    别怂哈
    bengol
        30
    bengol  
       2016-09-06 23:45:01 +08:00
    lz, why are you so diao
    levn
        31
    levn  
       2016-09-07 09:05:58 +08:00
    好无聊额
    sgissb1
        32
    sgissb1  
    OP
       2016-09-07 11:07:11 +08:00
    @FrankD 这怎么就只是封面呢?明显是一部视频好不?

    @Rubbly 感谢,确实概念简单的飞起。不过真心研究一下,还是有很多东西的。降噪就够玩一壶了。

    @shijingshijing
    @9hills
    二位消消气,不要再继续争论了。任何工程问题有简单的做法,也有复杂的做法。就如人脸识别,目标检测一样,最简单就是 opencv 的例子抄一下,然后套个 svm 就可以忽悠用户了。

    但从实际场景出发去看的,有点不一样的。我们的答题卡主要是在普通的 a4 a3 纸张( 70g )上使用,然后给 teenage 的少年们用,所以真正难点有很多。大家都曾经年轻过,知道我们当年如何的调皮的。

    我没有把我们答题卡项目讲的太细,那是我不想说太多这方面,我只想表达。人不能太狂,无知和有知是区别的,我也遇到过一些真大神,他们的谦逊和代码写起来犹豫说普通话一样自然,我也很诧异的。往往无知的人才喜欢那啥啥。

    另外答题卡识别有很多识别方式和场景,只是老板不想用高考哪种方式,要不然也不需要我去做。

    另外 9hills ,劝你一句,你确实是图像处理的外行(至少从你以往的帖子和你的 github 上看),我也是外行。但我已经说了,你想试试你就发简历来,音视频编解码方向的也可以。


    @bengol 我当年热血了一把,在某信上注册了,然后 id 就是:i am just so diao 。。。。
    sgissb1
        33
    sgissb1  
    OP
       2016-09-07 11:07:33 +08:00
    @feilaoda 谢谢哈
    sgissb1
        34
    sgissb1  
    OP
       2016-09-07 11:10:27 +08:00
    @wizardforcel 如果用机读卡还用 opencv ,那我觉得脑子是不是有点问题。不过问题是,我们的场景使用图像拾取设备。^_^
    weisdong
        35
    weisdong  
       2016-09-07 11:12:23 +08:00
    做开发 还要涉及到数学啊,我现在知道为毛程序猿没有女的了,当年分文理科时 很多女生选择文科了。
    sgissb1
        36
    sgissb1  
    OP
       2016-09-07 11:15:03 +08:00
    @shijingshijing
    @9hills

    另外我说一下,我这边的参数大部分都是动态的,不是我在程序里写死的电话号码。我组里有个研究生哥们,号称做音视频很吊的,给他自己一个人用 opencv 做,事实上什么都做不出来,成天就想着趁我不在的时候,拷贝我的 demo 代码。

    然后给了他 demo ,也还是做不出来,连我怎么做的都不知道。降噪有一个分支是自适应降噪,二值化也有一个分支是自适应二值化。

    实际上好的图像处理,都在想办法做到更优的自适应,仅仅倒腾个自适应二值化就够玩的。虽然有很多自适应二值化算法,不过不能直接用。

    我现在用的自适应降噪,只是我通过 matlab 瞎倒腾出来而已,学校的项目不同于商业项目,我也是在学校给老板打工多年的人,这一点我还是很清楚的。

    opencv 里面有很多 api 是不能直接用的,例如他的自适应二值化,就不能满大街乱用的。
    xcodebuild
        37
    xcodebuild  
       2016-09-07 11:21:21 +08:00
    傲慢的人无论是做工程还是做学术都会自以为是,瞧不起其他人(或者其他人从事的事情)。
    9hills
        38
    9hills  
       2016-09-07 11:54:00 +08:00
    @sgissb1 呵呵,传统答题卡开始转进成不同的场景。还投简历,你能开出 80w/year 的薪资再说吧
    laoyuan
        39
    laoyuan  
       2016-09-07 12:09:04 +08:00
    笑眯眯的回应:“是啊是啊,可惜这次交给我们做了,下回一定让你们做。”
    是不是显得情商比较高?
    xiangtianxiao
        40
    xiangtianxiao  
       2016-09-07 12:11:56 +08:00 via Android
    lz 如果公司允许的话,发个图看看呗。
    9hills
        41
    9hills  
       2016-09-07 12:12:00 +08:00
    @sgissb1 另外既然您光临了我 4 、 5 年没更新的 github ,我也看了下您的发帖历史(有个帖子还有简历)
    大概了解了技术水平,不过看这个帖子从开始就充满的那种奇怪的感觉,道不同不相为谋。

    另外絮叨几句,工程实践就是在投入产出中进行平衡,你可以拿答题卡识别各种转进,找各种场景。但是实际上并没有任何的卵用,因为有更简单,更省成本的方案。

    比如你说有人随便瞎涂答题卡,要如何如何识别。你知道以前我们高中怎么解决的么,答题卡上乱写乱画直接 0 分。
    issues
        42
    issues  
       2016-09-07 12:42:25 +08:00
    涨姿势了
    canautumn
        43
    canautumn  
       2016-09-07 12:46:18 +08:00
    答题卡识别是个科学问题,用 OpenCV 很快能写出来不错;不过把答题卡识别正确率从 99%提高到 99.99%则是一个工程问题,光用 OpenCV 的 API 是不够
    9hills
        44
    9hills  
       2016-09-07 12:52:16 +08:00 via Android
    @canautumn 答题卡的准确率 openCV 没有太大的问题,难点是召回率

    但是工程上是可以接受比较低的召回率的
    ericls
        45
    ericls  
       2016-09-07 12:53:55 +08:00
    没读过书的表示以后遇到不懂的就问 遇到牛逼的就学 少说话
    canautumn
        46
    canautumn  
       2016-09-07 13:00:34 +08:00
    @9hills 哦原来是这样?按楼上的说法我以为 OpenCV 只是一个框架,算法要自己写;不知道这个东西还自带答题卡检测功能,而且这个功能可以达到很高的准确率和很低的召回率?
    Troevil
        47
    Troevil  
       2016-09-07 13:14:55 +08:00
    其实很大一部分时风气问题, 现在这个世道 能吹的总是不会饿死
    9hills
        48
    9hills  
       2016-09-07 13:15:35 +08:00
    @canautumn OK ,你要认真,我可以给你详细写下,希望以后多学语文

    OpenCV 自带的方法+简单的数学处理,就可以实现传统答题卡的高准确率识别,但是召回率需要各种优化

    另外 OpenCV 不是一个框架,你可以理解是一个 interface 集合,和框架是完全不同的两回事
    framlog
        49
    framlog  
       2016-09-07 13:25:16 +08:00
    貌似 opencv 有对象识别,只要给训练好的 xml 就行
    canautumn
        50
    canautumn  
       2016-09-07 13:30:26 +08:00
    @9hills 我语文不好,“简单的数学处理”这几个字没办法忽略吧?
    9hills
        51
    9hills  
       2016-09-07 13:35:39 +08:00
    @canautumn 呵呵,你自己去看你的发言和我的留言

    你的:答题卡识别是个科学问题,用 OpenCV 很快能写出来不错;

    我的:答题卡的准确率 openCV 没有太大的问题,难点是召回率

    哦,好像都省略了『 API 』,只允许你省略,不允许我省略
    sgissb1
        52
    sgissb1  
    OP
       2016-09-07 13:43:07 +08:00
    @9hills 你这人怎么这么搞,你场景都给我定好了?你怎么不来做 CEO ?
    sgissb1
        53
    sgissb1  
    OP
       2016-09-07 13:45:47 +08:00
    @canautumn 请不要和 80w /year 的大神继续聊了,我看着提醒都很烦了。

    哥们你让一步,我错了,我不该和大神去争的,毕竟世界是围着他转的。
    9hills
        54
    9hills  
       2016-09-07 13:48:42 +08:00
    @sgissb1 80w /year 只是弥补和像你一样的同事共事的精神补偿金。

    另外我终于发现我为什么看到这个帖子立刻很反感,细看了下,原来是喜欢背后同事坏话,这种很 Low 的行为,我只能希望你同事不上 V
    canautumn
        55
    canautumn  
       2016-09-07 13:49:44 +08:00
    @9hills 我没有省略“用 OpenCV ”这个“用”字呀…
    sgissb1
        56
    sgissb1  
    OP
       2016-09-07 13:50:07 +08:00
    @xiangtianxiao 图没有,我们是老师自动在页面上编辑题目,然后自动生成图片,打印机打印出来,给学生做,再收回来处理。

    特征是由我们做图像的人给出来。
    canautumn
        57
    canautumn  
       2016-09-07 13:51:38 +08:00
    @sgissb1 聊天嘛,反正现在大家都没什么事。
    sgissb1
        58
    sgissb1  
    OP
       2016-09-07 13:54:01 +08:00
    @canautumn 垃圾信息太多,我都脑子过滤不过来了。又不见得牛逼的可以改变世界,还这么狂。我都 block 了,哥们你也省省 v 币。你注意看回帖,谦逊的人,很快就有变化。狂妄的人正和我说的那个雷人王各种雷同着。

    我实在忍不住了,差点笑喷了。
    xxdd
        59
    xxdd  
       2016-09-07 13:55:45 +08:00
    看来题主很稳重 要是我遇到这种人 撕逼加打脸( ̄▽ ̄") ···
    SmiteChow
        60
    SmiteChow  
       2016-09-07 13:59:09 +08:00
    是这样的,不仅计算机科学分为学院派和工程派,现在连工程派都开始分化了:一部分人追求工程极致(代码风格按字符级别矫正,分层接口细到大部分代码是为框架而生,模块化到文件数是 feature 的数倍等),一部分人追求一般的工程质量+适时的重构+ work around 。

    我看得很开,觉得大千世界,缤纷不同才精彩。
    9hills
        61
    9hills  
       2016-09-07 14:01:16 +08:00
    @sgissb1 得了吧,就一个背后祥林嫂,还巴巴的不断回复找其他人的认同感,这是心理多脆弱。。
    SmiteChow
        62
    SmiteChow  
       2016-09-07 14:02:51 +08:00
    忘了说了,倒不是攻击,我只是分类一下: uncle bob 就是追求工程极致的榜样, ying wang 和我自己应该算后面一类
    tjxjj
        63
    tjxjj  
       2016-09-07 14:07:53 +08:00
    也要好好磨砺一下自己的性格
    和这个世界相处,真的不容易
    9hills
        64
    9hills  
       2016-09-07 14:10:10 +08:00
    @SmiteChow 我是前面一类,可能更加过一些。有些需求如果可以用非工程的办法解决,那就不用工程的办法。

    再举个例子,比如某人做的答题卡识别的召回率比较低,只有 99.9%,也就是 一千份卷子中的一份需要人工识别
    而从 99.9% 改进到 99.99%,可能需要耗时一个 RD 7 个工作日,价值 3000 块。

    但是卷子总量只有 100w 份,也就是人工需要识别 1000 份,随便招个临时工一会就弄完了,价值 300 块。


    那我会选择 2 ,只有当 2 的成本大于 1 的时候,才会选择 1
    byron
        65
    byron  
       2016-09-07 14:15:17 +08:00
    歪个楼。
    一堆扣子,基本没有特征点的这种。
    要进行数量的识别,用什么思路搞比较好呢?

    类似下面这种口子。

    zhicheng
        66
    zhicheng  
       2016-09-07 14:46:55 +08:00
    @byron 这是没特征?
    sgissb1
        67
    sgissb1  
    OP
       2016-09-07 16:30:37 +08:00
    @xxdd 感谢,其实我并不是非常稳重的人。

    @SmiteChow 还有派系不明确自己造轮子的。别忘了他们,他们在任何行业,任何工作上都有。

    @tjxjj 其实也不见得不容易,关键看遇到什么样的人。

    @byron 粗略的特征好明显好不,你这是来打我的脸吗?如果你的大部分图像是这样的场景拾取的,主要问题还是要想办法去掉背景中的纹理(板凳“皮”上的纹理),接着要考虑粘连的情况。因为有些纽扣做完二值化之后可能会出现粘连的情况。简单的直接用边缘检测可能不行。另外如果颜色(伪颜色)都是确定的,也可以考虑分通道处理。

    办法也很多,看你的场景了。纽扣检测和计数的我也见到很多哥们在做,不过不清楚具体的情况,没做过。
    hinkal
        69
    hinkal  
       2016-09-07 16:51:49 +08:00
    楼主说的这种人我也遇到过,水平一般,但装逼水平满分。但是不过觉得楼主也是值得自我批判的,说白了就是看不惯年轻人藐视自己。
    CTO
        70
    CTO  
       2016-09-07 17:35:04 +08:00
    我倒是蛮懒惰、傲慢、缺乏耐性的。。
    zhicheng
        71
    zhicheng  
       2016-09-07 17:44:23 +08:00
    @sgissb1 这个根本不需要考虑纹理。。。
    introom
        72
    introom  
       2016-09-07 17:52:03 +08:00 via Android
    不知道,反正只要是应用数学,我觉得都大同小异,
    wanttofly
        73
    wanttofly  
       2016-09-07 17:55:28 +08:00
    以前老是觉得自己太张扬,后来渐渐变得太谦卑(对,就是这个词,我觉得太合适),好像有些不自信了,逛多了知乎和大牛的个人博客,渐渐会把自己看的很低。当然了,涉及到程序的时候的自信还是很多的,哈哈。但是就感觉世界上牛人实在太多,周围牛人实在太多,自己太渣。我的这种想法是不是也有点惨
    anyforever
        74
    anyforever  
       2016-09-07 17:55:41 +08:00
    楼主就是个爱操心的命(非贬义),从这几点上就能看出来对方的态度,估计再过一段时间,你们就会拉开差距,不用急。
    zhicheng
        75
    zhicheng  
       2016-09-07 18:00:02 +08:00   ❤️ 2
    shijingshijing
        76
    shijingshijing  
       2016-09-07 18:24:23 +08:00
    @zhicheng 分水岭也是玩的溜啊~ 边缘识别出来以后,考虑求取各区域的 RGB 均值,可以分出粉色和白色。

    PS :现在用 Python 也可以这样玩了啊,我一直是在 C/C++下面弄 OpenCV 。
    shijingshijing
        77
    shijingshijing  
       2016-09-07 18:30:45 +08:00
    @sgissb1 不要浪费时间。
    sgissb1
        78
    sgissb1  
    OP
       2016-09-07 20:48:56 +08:00
    @shijingshijing
    @zhicheng

    牛逼哈,我当时想到距离变换。哈哈哈哈。

    不过可能是特征和原始图的关系,我赶脚 otus 不能直接做二值化(实际场景中)。看来多虑了,应该就事论事去看图。
    sgissb1
        79
    sgissb1  
    OP
       2016-09-07 20:50:20 +08:00
    @shijingshijing 已经那啥了,你懂的。
    byron
        80
    byron  
       2016-09-07 23:58:23 +08:00
    @sgissb1 嗯,这一张是比较好识别的。
    现在的需求是,固定的摄像头实时监控,之后点一个按钮,会抓拍一张照片,然后识别这张图片上的扣子数量。
    而这张图片可能由于光线原因、角度原因,造成的扣子大小、颜色都会有不同。

    我之前的做法是,阈值变换后,计算边缘,算有多少个圆。相连部分就来计算面积。

    现在的问题就是必须固定摄像头,固定角度,高度,光线环境差不多一定,才可以很好的识别。

    我们想达到的目的是,不论啥设备,啥分辨率,对焦,都不考虑,随手一拍即可完美识别。
    byron
        81
    byron  
       2016-09-08 00:01:22 +08:00
    喔,我用的是 AForge
    sgissb1
        82
    sgissb1  
    OP
       2016-09-08 10:05:04 +08:00
    @byron 你说的最后一句话比较头疼。如果要考虑有颜色的,那么伪色彩会很头疼。有些摄像头会把白色拾取成粉色
    byron
        83
    byron  
       2016-09-08 10:21:04 +08:00
    @sgissb1 你说的没错,所以我尝试颜色后,就放弃了,转而做阈值的处理,但是现在是碰到极限了。

    而且不是专业做这个的,只是碰到一个小项目需要用的图像识别,如果没有啥好的方法,现在也只能这样了。
    sgissb1
        84
    sgissb1  
    OP
       2016-09-08 10:32:31 +08:00
    @byron 其实最难还是从摄像头拾取,就算摄像头是固定的,但也不好弄。

    我们这边最终的目标是要做到拍照识别(连通普通楷体识别,不用识别手写体)。

    不过想想也确实麻烦,摄像头拾取进来还会有抖动问题,一大堆噪声问题。确实回帖里那哥们给的图像对突出(特征),不过实际用就没这么好弄。最近也在发愁,好在我们不用考虑颜色问题,后续可能会加强一些图像底层处理(非机器学习部分),后面再把机器学习部分连起来,或许会好点。

    我也在一步一步的弄。
    mko0okmko0
        85
    mko0okmko0  
       2016-09-08 15:26:08 +08:00
    早上一看,哇!这帖的回应一定很学术,很有深度,快收藏.
    结果忙完下午一看....太多护贬让这帖的技术价值下降了...

    上周才去一个自动化展,结果发现工厂的视频检测跟自然环境识别是有落差的.双方讨论交集好少.
    影像前处理也是个门槛,每个人做法不一样也很难讨论谁好谁不够好.

    伪色问题不是也该解决吗?恩...我是自然环境目标辨识的,所以有很多杂讯,伪色,镜像,影子干扰等,所以有认真处理.

    不只 CV 要会用吧,太多影像辨识的相关软硬体(没错,软硬都有)需要掌握,还有自己要会写功能来实现需求.
    后面靠 FPGA 来实作加速也是要有准备,不然不能实时完成辨识,赚钱方面就有困扰.
    还有训练样本仓储,结果我又研究了影音编码跟档案系统,并行连机计算,跨好大(累.

    自然环境识别数量这问题我一直没有解决的很好.因为我焦点都放在任意目标正确性上了.
    任意目标,所以没有所谓的特定特征了,还有,我无法选择视讯来源,甚至图片来源.

    我也是走到快弄公司自己走了.

    共勉的话:
    当你自己做到敢成立公司走辨识这条路了,不管你成绩如何,我都认为你值得尊敬,
    因为你用行动表明你的心.而不是靠嘴.

    希望这帖能有更多技术交流.
    sgissb1
        86
    sgissb1  
    OP
       2016-09-08 15:39:58 +08:00
    @mko0okmko0 3Q , v 站很容易水贴,平常心。回帖里能有几个再讲讲和工程、技术有关的人就算不错了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1082 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 19:07 · PVG 03:07 · LAX 11:07 · JFK 14:07
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.