特征/斑点相关性和直方图分析

发布于 2024-10-22 20:32:36 字数 1078 浏览 3 评论 0原文

我正在开发一个草图搜索引擎,它将某人的草图与数据库中的图片相关联(数据库现在只有大约 40 张图片)。我这样做主要是为了好玩,所以我不太精通计算机成像技术。

首先,关于如何创建直方图(箱大小、范围等)是否有任何经验法则?我正在使用 http://www.scribd.com/doc/6194304 中找到的一些直方图代码/直方图(但移植到JavaCV)。有时我得到好的结果,有时我得到坏的结果,大多数时候我得到“meh”的结果。我一直在尝试大量的 bin 大小和范围,我想知道比较更高维的直方图是否可能是这里的答案。

其次,黑色似乎在我当前的直方图设置中占有非常重要的地位(甚至黑点也会改变整个结果集)。这是应该预料到的吗?或者我搞砸了什么?例子: 在此处输入图像描述 在点之后: 在此处输入图像描述 请注意我是如何将“地出”的照片作为“接近”匹配的。

我还想知道应该使用什么方法进行斑点或特征分析。我认为像 SURF 这样的东西可能有点矫枉过正,因为我只想广泛地比较斑点,而不是准确地映射模板。有什么方法可以比较通过 Canny 过滤器后的边缘吗? (如果可能的话复杂度较低): 在此处输入图像描述

例如,在这里,我希望两个笑脸位于顶部,因为针笑脸“blob” “与笑脸形状的关系比与一串百香果或银河系的关系更密切。

唷,很长的问题。如果您想亲自试用该引擎,请访问 http://skrch.dvt.name/ (无耻的插件,我知道,我知道——只适用于 FF/Chrome/Safari)。也许更有经验的计算机视觉人员可以根据结果提出建议。哦,我在比较直方图时使用了 CV_COMP_BHATTACHARYYA 距离(看起来它给出了最好的结果,尽管卡方也不错)。

I'm working on a sketch search engine that correlates whatever someone's sketching with a picture in the database (the db is just about 40 pictures now). I'm doing this mostly for fun so I'm not that well-versed in computer imaging techniques.

First of all, are there any rules of thumb on how one should create histograms (bin sizes, ranges, etc)? I'm using some histogram code found at http://www.scribd.com/doc/6194304/Histograms (but ported to JavaCV). Sometimes I get good results, sometimes I get bad results, most of the time I get "meh" results. I've been experimenting a TON with bin sizes and ranges and I'm wondering if comparing higher dimensional histograms may be the answer here.

Second of all, it seems that black makes a very strong presence in my current histogram setup (even a black dot shifts the entire result set). Should this be expected? Or did I screw something up? Example:
enter image description here
And after the dot:
enter image description here
Note how I'm already getting pictures of "earthrise" as "close" matches.

I'm also wondering what methods I should use for blob or feature analysis. I think that stuff like SURF may be overkill because I only want to broadly compare blobs, not accurately map templates. Is there any way I can compare the edges after being passed through a Canny filter? (Low complexity if possible):
enter image description here

For example, here, I want the two smiley faces to be at the top because the needle smiley "blob" is more closely related to the smily face shape than to a bunch of passion fruit or a galaxy.

Phew long question. If you want to try out the engine for yourself, go to http://skrch.dvt.name/ (shameless plug, I know, I know -- only works in FF/Chrome/Safari). Maybe more experienced computer vision people can make suggestions based on results. Oh, I'm using the CV_COMP_BHATTACHARYYA distance when comparing histograms (it seemed that it gave the best results although chi-square isn't bad either).

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

月下凄凉 2024-10-29 20:32:36

有背景吗?
重要吗?
也许您需要查看是否有用户提供的背景。
那么你“只”需要每个数据库条目有 2 个直方图,一个带有背景,一个没有。

这将使地球不再看起来像一个带点的苹果。

对于基本的背景分离,尝试精明,然后取出“外部”并将其从原始副本中删除。

Is there a background ?
IS it significant ?
Maybe you need to look at whether there is a user-supplied background or not.
then you "just" need to have 2 histogram per db entry, one with bg, one without.

That'll stop earthrise looking like an apple with a dot.

for basic bg separation, try a canny, then taking "outside" and removing it from a copy of the original.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文