机器学习和太空船的乐趣

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解析一个文本文件,如果内容是一种特定的格式,就打印它   java如何使jbutton在另一个组件中执行键盘笔划   连接到独立帐户的java Stripe   java在数据库连接过程中出错。。。初始连接   一个系列JavaFX中特定节点的java集样式   java重建recycler视图会导致它消失   在codechef上提交java Getting runtime(NZEC)时出错   Java类路径设置错误   java如何显示数组中2个数字之间的信息?   java为什么新的GC只有很长的用户时间?   如何解决java。关于此代码的lang.OutOfMemoryError   通过应用程序在Facebook粉丝页面上发布java帖子   java Red5服务器无法启动   系统输出Java读取文本文件外置行   java整数。Parse对excel获取的字符串抛出NumberFormatException   有一个Java数组列表;如何按每个数组的最后一个元素排序?   java需要txt文件中的数据(以逗号分隔)来用现有类中的对象填充arraylist