机器学习和太空船的乐趣

ds2sim的Python项目详细描述


#ds2sim

一个简单的空间sim来进行机器学习的实验。

它用cython包装[horde3d](http://www.horde3d.org/)并使用它来呈现这样的场景。


<;img src="docs/img/example\scene.jpg"width="400">;



从[ds2data]设置(https://github.com/olitheolix/ds2data)
项目。该项目不仅有一组具有代表性的
相关对象的训练集,还提供了一个预渲染飞行路径来测试您的
模型。

一旦您有了模型,您就可以将其插入查看器应用程序(有关详细信息,请参见
[查看空间模拟]("查看空间模拟")部分)、
并通过当它识别对象时的场景。你也可以用另一个人工智能代替手动控制,让它自动飞行。




d,您仍然可以使用
来自[ds2data]的数据集(https://github.com/olitheolix/ds2data)来训练和测试ML模型。

克隆/编译/安装horde3d如下:

``bash
git克隆https://github.com/olitheolix/horde3d
mkdir-p horde3d/build
cd horde3d/build
git checkout ds2sim
cmake.-dcmake_build_type=release-dcmake_install_prefix=`python-c'import sys;print(sys.prefix)`
make install
````

之后,通过pip:
``bash
pip install ds2sim
```

查看空间模拟
这包括两部分:提供渲染图像的web服务器和
qt应用程序to显示它们。

启动web服务器并加载默认场景:
``bash
ds2server--default scene
```

注意,几乎整个文件都是qt的样板
qt的样板
``python
import sys
import ds2sim.viewer
import numpy as np


import pyqt5.qtgui as qtgui
import pyqt5.qtcore as qtcore导入pyqt5.qtqt5.qtwidgets as qtwidgets


br/>qpen,qcolor,qrectf=qtgui.qpen,qtgui.qcolor,qctcore.qreccore.qrecectcore.qrecectcore.qrecture。f
ds2text=ds2sim.viewer.ds2text

class myclassifier(ds2sim.viewer.classifiercamera):
def classifyimage(self,img):
pass

app=qtwidts.qapplication(sys.argv)
widget=myclassifier('camera',host='127.0.0.1',port=9095)
widget.show()
app exec()
```

这里唯一没有样板文件的部分是"myclassifier",即使
现在也不起作用。

单击它,并使用
esdf键和鼠标在场景中飞行。


为此,请像这样重载前一次演示中的"classifyimage"方法:


``python
``为方便起见。
qpen,qcolor,qrectf=qtgui.qpen,qtgui.qcolor,qtcore.qrectf
ds2text=ds2server.viewer.ds2text



class myclassifier(ds2sim.viewer.classifiercaramera)类myclassifier(ds2sim.viewer.viewer.ds2text=ds2server.viewer.ds2text=ds2server.viewer.ds2text.ds2text


是的始终是一个<;高度、宽度、3>;numpy图像。
断言img.dtype==np.uint8

/>bbbox=[qpen(qcolor(255,0,0,0)),qrectf(x,y,宽度,高度,x,y,宽度,高度)]


定义一个绿色文本标签。
x,y=0.3,0.4
text=[qpen(qcolor(100,200,0)),ds2text(x,y,‘发现了什么东西’)]


;安装覆盖层。
self.setmloverlays([bbox,text])
```


FYIMAGE公司`方法将为每个帧调用。它总是接收
一个rgb图像作为numpy数组。将该图像传递到分类器以识别场景中的对象。


当您确定哪些对象在其中时,可以添加覆盖以突出显示它们。每个覆盖都是一个2元组:一个"qpen"定义颜色,一个
要绘制的基元。目前,"qrect"和"ds2textures"是唯一受支持的基元。将所有覆盖传递到"setmloverlays",它将显示在场景中。


t;



欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java ZK我们可以保存Windows组件状态吗?   java中的xpath比较路径   将字符串解析为长字符串时出现java数字格式异常   Apache CXF中获取异常中的服务器stacktrace的java问题   java我正在用j2me编程,我需要用丰富的格式编写文本以获得帮助屏幕   Android Room数据库中id字段的java名称字段约定   对于API9,java ArrayList<HashMap<String,String>>无法正确转换为JSONArray   api是最初的Java理想死了吗?   opencv java中的python掩码图像   java为什么在实现克隆方法时返回super。克隆()不是此克隆()   java HttpUrlConnection是否存在并发惩罚?   有没有办法将java arraylist对象复制到codemodel生成的源代码中?