我有一个拥有近20k 3D文件的数据库,它们是用CAD软件设计的机器零件图纸(实体工程).我试图从所有这些3D模型中建立一个训练有素的模型,所以我可以构建一个3D对象识别应用程序,当有人可以从这些部分之一(在现实世界中)拍照时,应用程序可以提供有关材料的有用信息,尺寸,治疗等.
如果有人已经做过类似的事情,我们将非常感谢您提供给我的任何信息!
machine-learning image-recognition object-recognition coreml
首先,抱歉我的英语不好.
我计划为Android移动平台构建一个增强现实应用程序,主要功能是用户拍摄商店的能力,应用程序识别他正在拍摄的商店.我不知道最好的选择是使用现有的图像识别api,但我认为它会更具体.也许拥有一组图像会有所帮助.
我的计划是建立一个商店数据库及其位置,并使用许多工具之一进行图像识别,并在我的数据库中搜索到同一位置.但我发现所有搜索引擎图像(kooba,iqengines等)都不是免费的,而且价格也不便宜.那么一个可以使用有限目录的工具,例如商场中的商店图像,以及发送智能手机(Android或iPhone)的照片.
有人可以帮助我开始吗?
我想开发应用程序,它将识别出现在相机前面的对象(如纪念碑或其他东西)OpenCv,然后它将显示有关它的信息.
所以问题是如何识别对象(如纪念碑或其他东西)的形状或与图像进行比较OpenCV?
这样做的最佳方法是什么?
如果存在用于对象检测和比较的某种样本或教程,那将是很好的.
谢谢.
android opencv image-processing computer-vision object-recognition
我需要一些帮助,我必须做一个关于叶子的项目.
我想通过MATLAB来实现它.
我的输入是一片叶子的图像(带有白色背景),我需要知道关于叶子的两件事:
1)找到叶片(每片叶片的像素):
将叶子放在桌子或工作空间上,您可以在那里检查它.
看看你想要识别的叶子.如果叶子看起来像有手指,这些被认为是叶片.叶子上可以有两到多个叶片.
通过观察叶子下面的静脉来区分羽状叶与掌状叶.如果静脉都来自叶子底部的同一个地方,则认为是掌状裂片.如果它们从一条中心线形成在叶子上的不同位置,则叶片呈羽状叶状.
使用叶字典识别叶的类型.

2)找到大约叶片的凸起数量:
换句话说,找到每片叶子的"肿胀点".

这些是叶子的例子:

我有一个物体的点云,用激光扫描仪获得,以及该物体的CAD表面模型.
如何将点云与曲面相匹配,以获得云与模型之间的平移和旋转?
我想我可以对表面进行采样并尝试使用迭代最近点(ICP)算法将得到的采样点云与扫描仪点云进行匹配.
这实际上有用吗?
这项任务有更好的算法吗?
algorithm 3d computer-vision object-recognition point-clouds
我正在尝试使用两种不同的级联分类器来识别两个不同的对象.我修改了面部识别样本,但我遇到了一个问题:当我尝试识别来自object1.xml的对象时,它会打印两个矩形,当我尝试识别来自object2.xml的对象时,它不打印不对...
问题出在哪儿??
private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this) {
@Override
public void onManagerConnected(int status) {
switch (status) {
case LoaderCallbackInterface.SUCCESS:
{
Log.i(TAG, "OpenCV loaded successfully");
// Load native library after(!) OpenCV initialization
System.loadLibrary("detection_based_tracker");
try {
// load cascade file from application resources
InputStream is = getResources().openRawResource(R.raw.object1);
File cascadeDir = getDir("cascade", Context.MODE_PRIVATE);
mCascadeFile = new File(cascadeDir, "object1.xml");
FileOutputStream os = new FileOutputStream(mCascadeFile);
/* By me */
InputStream is2 = getResources().openRawResource(R.raw.object2);
mCascadeFile2 = new File(cascadeDir, "object2.xml");
FileOutputStream os2 = new FileOutputStream(mCascadeFile2);
byte[] …Run Code Online (Sandbox Code Playgroud) opencv object-detection object-recognition cascade-classifier
设置一个舞台,在一个区中有200 +模拟摄像机到中央监控站,但这些摄像机没有识别面部或物体.是否可以对这些相机实施面部检测?这些相机必须具备哪些先决条件?如何加载这些相机发送和处理的图像?
我试着创建一个好的级联分类器几周,但似乎这个过程被神秘所包围.我有很多问题:
1)为什么opencv给我们这么少的信息?
2)它需要更多正面图像还是负面图像?
3)什么尺寸应该有正像?和负面形象?它们必须具有相同的尺寸?
4)如果我想创建一个分类为一个单一的路标是够像一个单一的正面形象,这与opencv_createsamples创建样?
5)创建一个在Android应用程序上使用的分类器是更好的哈尔或LBP?
6)正确的阶段数是多少?
7)minHitRate和maxFalseAlarmRate的正确值是什么?
android opencv object-detection object-recognition cascade-classifier
因此,我一直在开发一个应用程序,用户可以上传表示某种表单的(扫描的)PDF 文件,在他们感兴趣的字段周围绘制边界框,并对这些内容进行 OCR 识别并以结构化文本格式返回。因为绘制边界框有点麻烦,所以我正在考虑一种方法来减少用户所需的工作;即已经以形式向他/她提供自动检测的字段划分。我开始研究这个问题并发现了一些有趣的方法,主要基于计算机视觉算法。然而,由于这个应用程序将来可能会被频繁使用,因此用户会绘制很多边界框,所以对我来说,不尝试使用这个数据集来应用学习方法几乎是一种浪费。所以我开始研究很多不同的形式,并注意到它们中的大多数都是由边框以如下方式构成的:
这里有一些观察结果:100% 充满文本的框通常不需要提取,因为它们代表条款/条件/免责声明/等。也不需要(大部分)为空的框,因为它们大多表示不相关的字段。唯一有趣的盒子似乎是那些在顶部/左侧带有标签并且在盒子主体中带有一些内容的盒子。
当然还应该说,并不是每种形式的边框结构都像上面的形式那么好。有些在字段之间仅使用单个分隔边框(即水平或垂直),有时根本没有边框。
由于我们正在处理图像,所以我开始研究对象识别并尝试了 YOLOv2(卷积神经网络),我在 100 种形式的数据集上训练了一个晚上(我意识到这个数据集仍然太小,因为我在我的数据集上进行了训练) CPU,我也没有训练足够长的时间)。无论如何,我希望所有训练字段都有边界,并且某些内容能够快速帮助系统本身找到有边界的框。然而到目前为止,结果相当令人失望(平均损失/错误 = 9.6)。我开始思考这个问题,然后意识到,如果用户跳过绘制某些完美细边框框的字段,就会使神经网络在学习过程中感到困惑,我的说法正确吗?
至于我的问题的其余部分:你们认为对象识别是解决这个问题的方法吗?还是考虑到这种形式的性质,它对于系统来说太混乱了?如果是这样,如果我应用一些过滤器来尝试将文本“模糊”在一起,使框看起来彼此更加相似,情况还会如此吗?或者,给定每个文档(最)相关框的坐标数据集,什么是更好的学习方法?也许甚至是一种不太依赖边界存在的方法?
请记住,我要求的唯一要求是能够使用用户绘制的边界框作为数据集来不断改进系统。
感谢大家抽出宝贵的时间!
artificial-intelligence machine-learning computer-vision object-recognition conv-neural-network
我对 Yolo 的工作方式有点困惑。他们在论文中说:
“置信度预测代表预测框与任何地面实况框之间的 IOU。”
但是我们如何获得地面真相框呢?假设我在未标记的图像上使用我的 Yolo 网络(已经训练过)。那我的信心是什么?
抱歉,如果问题很简单,但我真的不明白这部分......谢谢!