我目前想知道一个应该很容易的图像识别问题,但到目前为止找不到一个简单的解决方案.
输入是一个大约1百万像素的矩形图片,显示轻木表面.它上面有一个薄但可见的网格.网格为黑色黑色,规则且几乎为正方形(比宽度长约8%).网格大小正好是19x19.一般的纸板颜色是"木材",它可以变化,但往往是浅棕色.(更多信息)
表面上放置了许多小的圆形黑色和白色宝石.它们总是放在交叉点上,但由于人为错误,它们可能会稍微偏离.它们的颜色是纯黑色和白色.
该板覆盖0至约300块石头(361个交叉点的80%).黑色和白色宝石的数量大致相同.
边界的大小(没有放置石头的板的边缘)变化,但是已知是"小".
光线可能会导致棋盘上出现阴影.此外,它会在石头上(在光线方向上)出现一个白点.

我想检测一下石头在栅格上的位置.
我的想法是查看每个像素的亮度并将它们分为3类:光(白色宝石),中(宝石)和黑色(黑色宝石).具有许多黑色像素的区域被认为是黑色宝石,依此类推.
之后,黑色和白色区域的大小可用于计算实际网格大小.
另一个想法是识别网格线并使用它们来计算网格大小和位置.由于线条非常薄(通常被石头覆盖),我不知道该怎么做.
我很想听听你关于这个问题的想法.是否有适合的算法?你能想到很有帮助的酷炫技巧吗?我疯了,这个问题无法解决?我在C#工作,但欢迎使用任何语言.
我正在测试卷积神经网络上的打印数字(0-9).它在MNIST数据集上提供99%以上的准确率,但当我尝试使用安装在计算机上的字体(Ariel,Calibri,Cambria,Cambria math,Times New Roman)并训练字体生成的图像(每种字体104张图像(总计) 25种字体 - 每种字体4张图像(差别很小))训练误差率不低于80%,即准确率为20%.为什么?
这是"2"号图像样本 -
我将每张图像调整为28 x 28.
这里有更多细节: -
训练数据大小= 28 x 28图像.网络参数 - 作为LeNet5网络架构 -
Input Layer -28x28
| Convolutional Layer - (Relu Activation);
| Pooling Layer - (Tanh Activation)
| Convolutional Layer - (Relu Activation)
| Local Layer(120 neurons) - (Relu)
| Fully Connected (Softmax Activation, 10 outputs)
Run Code Online (Sandbox Code Playgroud)
这样可以在MNIST上实现99 +%的准确率.计算机生成的字体为何如此糟糕?CNN可以处理大量的数据差异.
ocr machine-learning image-recognition handwriting-recognition deep-learning
这可能是一个疯狂的问题,但我已经看到应用程序完成了。是否有任何类型的 API 可用于识别图像中的文本(Chase 识别支票上的数字的方式),或者是否有可用于搜索(比如谷歌)基于图像的信息的 API ? 例如,如果我拍了一张商业标志的照片,谷歌会搜索符合该标志的商业列表吗?
我知道疯狂的问题,但我想知道它是否可以完成。如果可以,可以和 React Native 一起使用吗?谢谢!
我正在尝试实施谷歌的 NIMA 研究论文,他们对图像质量进行评分。我正在使用 TID2013 数据集。我有 3000 张图像,每张图像的分数从 0.00 到 9.00
df.head()
>>
Image Name Score
0 I01_01_1.bmp 5.51429
1 i01_01_2.bmp 5.56757
2 i01_01_3.bmp 4.94444
3 i01_01_4.bmp 4.37838
4 i01_01_5.bmp 3.86486
Run Code Online (Sandbox Code Playgroud)
我找到了下面给出的损失函数代码
def earth_mover_loss(y_true, y_pred):
cdf_true = K.cumsum(y_true, axis=-1)
cdf_pred = K.cumsum(y_pred, axis=-1)
emd = K.sqrt(K.mean(K.square(cdf_true - cdf_pred), axis=-1))
return K.mean(emd)
Run Code Online (Sandbox Code Playgroud)
我将模型构建的代码编写为:
base_model = InceptionResNetV2(input_shape=(W,H, 3),include_top=False,pooling='avg',weights='imagenet')
for layer in base_model.layers:
layer.trainable = False
x = Dropout(0.45)(base_model.output)
out = Dense(10, activation='softmax')(x) # there are 10 classes
model = Model(base_model.input, out) …Run Code Online (Sandbox Code Playgroud) 我目前正在处理我的第一个图像处理作业(在 Python 中使用 OpenCV,但我对任何库和语言都持开放态度)。我的任务是计算用户上传的图像中一到几个射击孔的精确分数(到十分之一点)。问题是用户上传的图像可以在不同的背景下拍摄(尽管它永远不会匹配目标平均颜色的其余部分)。因此,我排除了在互联网上找到的大多数解决方案以及我能想到的大多数解决方案。
在这一点上,我已经没有想法了,因此来到这里寻求任何可以推动我进一步发展的建议或想法。是否有可能根本没有解决如此复杂的射击目标识别的方法,还是我太缺乏经验而无法想出它?
预先感谢您的任何帮助。
编辑:我知道我可以简单地在射击目标后面放一张单色纸,这样就能找到子弹。这不是我希望应用程序工作的方式,因此它不是我的问题的有效解决方案。
我在照片中搜索某个物体:
对象:中间带有X的矩形的轮廓.它看起来像一个矩形复选框.就这样.所以,没有填充,只是线条.矩形将具有相同的长宽比,但它可以是照片中的任何大小或任何旋转.
我看了很多图像识别方法.但我正在努力确定这项具体任务的最佳状态.最重要的是,物体由线条组成,而不是填充形状.此外,没有透视变形,因此矩形物体在照片中始终具有直角.
有任何想法吗?我希望能够轻松实现一些我能够实现的东西.
谢谢大家.
algorithm pattern-recognition image-recognition pattern-matching computer-vision
我需要完成演示项目,旨在识别X射线图像上的牙齿.我不熟悉这个主题,我不确定在这种情况下哪种方法更适合.(我在考虑纹理分割 - 但这只是一个猜测,我仍然不确定这是否是一个选项)
我需要做的是基本上获得牙齿的方向(角度)和放置在每个牙齿轮廓上的点集,以完成任务特定的计算.
请提供有关可能有用的方法和算法/库的建议.C#是可以执行的,但其他语言也可以.
提前致谢.
图像样本都与此类似(我特别感兴趣的是右边第二和第三颗牙齿):

我目前正在开发一种能够拍摄现有硬币图像的Android应用程序,或使用内置相机扫描单个硬币(非常像Google Goggles).我正在使用OpenCV for Android.
我的问题如下:使用OpenCV在Android上执行硬币识别最合适的方法是什么?
我到目前为止尝试的方法如下(也许我做错了,或者我只是完全走错了路线)
我目前正在使用OpenCV for Android(没有本机代码!),并且正在使用各种特征检测算法来识别图像中的关键点(即ORB,FAST,STAR).我相信这只是计算提取图像中的每个关键点与一组已知测试数据之间的欧几里德距离来识别最相似的图像(因此识别硬币),但事实证明,单独的方法是不合适的,因为照明,硬币旋转等效果对特征提取有太大的影响(加上硬币具有惊人相似的特征......)
一般来说,我正在寻找有关任何形式的预图像处理是否有用的建议?有哪些替代方法?或者有关如何改进现有方法的任何提示.
注意:我看过很多关于硬币检测的文件,但我特别关注硬币识别.
提前致谢!
我正在研究Android和IOS上的一个项目.
基本上,用户将拍摄对象,地点,徽标,绘画等的照片.将其存储在应用数据库中.然后,当用户再次拍摄同一对象的照片时,应用程序将能够匹配并确认这些图像来自相同或类似的来源.
我检查了很多API,我宁愿免费软件,但一次付费也可以使用.大多数API希望按照数据库中的每个图像计数或每次应用程序尝试匹配图像获得报酬.此外,他们中的大多数都使用云服务器,其中图像在巨大的数据库中匹配.
我不想要这些,我想要一个可以在移动设备上脱机工作的简单匹配算法.
任何帮助将不胜感激.