我已经以传统方式在 Java 中编写了反射代码,我知道如何对多边形进行反射。
我的问题是关于尝试新的东西,我在想如果我将多边形旋转 180 度,它会产生多边形的反射吗??我认为它会产生它的反射,但它在数学上是可以接受的吗??
我正在尝试从映射数据构建导航网格。其中一个步骤涉及将二值图像(其中 0 表示占用空间,1 表示空闲空间)转换为平面直线图。
我试图找出一种方法来做到这一点,这有点可靠。我目前的想法是使用 Canny 边缘检测器,然后通过 OpenCV 的 Hough 线变换运行它。但是,这并不能保证检测到的线以代表原始形状的方式连接。
可以安全地假设地图相对平滑,并且没有任何区域相互接触。
编辑 - 这是一个示例图像:
白色区域代表可用空间
黑色区域代表占用空间
python opencv computer-vision computational-geometry python-2.7
我目前正试图在CIFAR 100上使用Keras得到一个不错的分数(> 40%的准确率).然而,我正在经历一个CNN模型的奇怪行为:它倾向于预测一些类(2 - 5)比其他:
位置(i,j)处的像素包含计数来自类i的验证集的多少元素被预测为类j的计数.因此,对角线包含正确的分类,其他一切都是错误.两个垂直条表示模型经常预测那些类,尽管情况并非如此.
CIFAR 100完美平衡:所有100个班级都有500个训练样本.
为什么模型比其他类更倾向于预测某些类?怎么解决这个问题?
运行这需要一段时间.
#!/usr/bin/env python
from __future__ import print_function
from keras.datasets import cifar100
from keras.preprocessing.image import ImageDataGenerator
from keras.models import Sequential
from keras.layers import Dense, Dropout, Activation, Flatten
from keras.layers import Convolution2D, MaxPooling2D
from keras.utils import np_utils
from sklearn.model_selection import train_test_split
import numpy as np
batch_size = 32
nb_classes = 100
nb_epoch = 50
data_augmentation = True
# input image dimensions
img_rows, img_cols = 32, 32
# The CIFAR10 images are RGB. …Run Code Online (Sandbox Code Playgroud) 我想为caffe中的语义分段创建一个自定义丢失层,需要多个输入.我希望这种损失函数具有额外的输入因子,以便惩罚小物体中的未命中检测.
为此,我创建了一个图像GT,其中包含每个像素的权重.如果像素属于小物体,则重量很高.
我是caffe的新手,我不知道如何同时为我的网络提供三个2-D信号(图像,gt-mask和每像素权重).我怀疑caffe如何处理rgb数据和gt数据之间的对应关系.
我想扩展这个以便为类标签图像设置2 gt,而将另一个设置为丢失功能.
你能给出一些暗示以达到这个目的吗?
谢谢,
computer-vision neural-network image-segmentation deep-learning caffe
最近,我一直对机器学习更感兴趣,机器学习图像,但要做到这一点,我需要能够处理图像.我想更全面地了解图像处理库如何工作,所以我决定创建自己的库来阅读我能理解的图像.但是,在读取图像的SIZE时,我似乎遇到了一个问题,因为当我尝试编译时会弹出这个错误:
./imageProcessing.go:33:11: non-constant array bound Size
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
package main
import (
// "fmt"
// "os"
)
// This function reads a dimension of an image you would use it like readImageDimension("IMAGENAME.PNG", "HEIGHT")
func readImageDimension(path string, which string) int{
var dimensionyes int
if(which == "" || which == " "){
panic ("You have not entered which dimension you want to have.")
} else if (which == "Height" || which == "HEIGHT" || which == "height" || which == "h" …Run Code Online (Sandbox Code Playgroud) 这是一个显示cv2.floodfill函数用法的示例代码
import cv2
import numpy as np
import os
def imshow(img):
cv2.imshow('img', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
img = cv2.imread('test4.png')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
thresh = cv2.adaptiveThreshold(gray,255,cv2.ADAPTIVE_THRESH_MEAN_C,cv2.THRESH_BINARY_INV,3,1)
_, contours, hierarchy = cv2.findContours(thresh,cv2.RETR_CCOMP,cv2.CHAIN_APPROX_NONE)
mask = np.zeros(img.shape[:-1],np.uint8)
cv2.drawContours(mask,contours,-1,(255,255,255),-1)
height, width = img.shape[:-1]
mask1 = np.zeros((height+2, width+2), np.uint8) # line 26
cv2.floodFill(mask,mask1,(0,0),255) # line 27
mask_inv=cv2.bitwise_not(mask)
imshow(mask_inv)
Run Code Online (Sandbox Code Playgroud)
我在我的一个项目中使用此函数但我不理解代码的mask1部分(第26行和第27行),
为什么我们为高度为'-h'和宽度为'w'的给定图像创建形状为h + 2,w + 2的mask1?(第26行)
为什么我们必须将这个mask1传递给cv2.floodfill函数?(第27行)
这是示例代码的输入和输出.
请帮忙
我发现此帖子OpenCV findChessboardCorners非常慢,但是它不能完全回答我的问题。
我在树莓派上运行相机校准工具,并且要花费大量时间来检测全分辨率图像中的棋盘角。我目前正在重新缩放它们,但是计算出的参数无法用于完整尺寸的图像。
我当时想做的一件事是在较小的图像中检测到角点4倍,然后将角点坐标乘以4,但结果却不尽相同。
您是否认为有办法加快或插入另一个拐角检测?
我正在使用python实现(cv2)
谢谢
我在图像中有6个点的坐标
(170.01954650878906, 216.98866271972656)
(201.3812255859375, 109.42137145996094)
(115.70114135742188, 210.4272918701172)
(45.42426300048828, 97.89037322998047)
(167.0367889404297, 208.9329833984375)
(70.13690185546875, 140.90538024902344)
Run Code Online (Sandbox Code Playgroud)
我有一点作为中心[89.2458, 121.0896].我试图用4个旋转度(从0,90,-90,180)和6个比例因子(0.5,0.75,1,1.10,1.25,1.35,1.5)重新计算python中点的位置.
我的问题是如何旋转和缩放相对于中心点的上述点并获得这6个点的新坐标?
非常感谢您的帮助.
我正在研究" Mask R-CNN用于对象检测和分割".因此,我已阅读呈现原始研究论文Mask R-CNN为目标检测,也发现了我的几个实现Mask R-CNN,在这里和这里(被Facebook人工智能研究小组称为detectron).但他们都使用coco数据集进行测试.
但是,对于使用具有大量图像的自定义数据集进行上述实现的培训,我有点困惑,并且对于每个图像,存在用于在相应图像中标记对象的掩模图像的子集.
所以,如果有人可以为此任务发布有用的资源或代码示例,我很高兴.
注意:我的数据集具有以下结构,
它包含大量图像,每个图像都有单独的图像文件,将对象突出显示为黑色图像中的白色色块.
这是一个示例图像和它的掩码:
图片;
面具;
python machine-learning object-detection computer-vision semantic-segmentation
我目前正在阅读SSD Single Shot Detector,并且有一个我很难理解的术语。该术语是“头”。当我听到这个词时,就像起初一样,我想到了网络的负责人。
我查看了由Google创建的对象检测API,发现带有不同头部类型的“ heads”文件夹,一种用于框编码,另一种用于类预测。
抽象的“ head”类的文档不是超级启发性的:
不同模型中所有不同种类的预测头都将从该类继承。所有头类之间的共同点是它们具有一个 作为其第一个参数
predict接收的features函数。
我想我对它们有较高的了解,但是我对它们没有具体的定义。有人可以定义一个“头”并解释如何拥有“盒子预测头”或“分类头”吗?
machine-learning computer-vision neural-network conv-neural-network object-detection-api
computer-vision ×10
python ×4
opencv ×3
arrays ×1
caffe ×1
cv2 ×1
draw ×1
go ×1
graphics ×1
keras ×1
python-2.7 ×1
reflection ×1
rotation ×1