云端计算机视觉
有什么方法可以通过云进行计算机视觉吗? 这个想法就像人们登录一个网站,然后激活网络摄像头,视频数据通过互联网发送到服务器。服务器处理这些数据并将处理后的数据实时或至少每秒10帧发送回用户。
这可行吗? 网络侧我们需要什么样的技能? 我知道视频流是其中一个组成部分。 另外,我们如何设置服务器?分布式系统是否可以在有限的时间内考虑非常大的计算?
Is any way of doing computer vision over the cloud?
The idea is like people log in a website, then the webcam is activated, the video data is sent to the server through internet. Server processes those data and sent back the processed data to user in real time or 10 frame per second at least.
Is this doable?
What kind of skills do we need on the network side?
I know video streaming is one component.
Also, How can we set up the server? Distributed system can help or not considering very large computation in limited time?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
不同的尺度空间检测级别可以并行运行,并且用于比较图像的数据库也可以分布在多个服务器上。
据我了解,您想要创建一种增强现实。我无法明确回答“是”或“否”是否可以使用当前的移动 CPU 功率和带宽来完成。
我首先在客户端实现非常基本的功能检测,然后将静态图片发送到服务器(高分辨率是关键)。服务器可以用强大的计算能力处理图像并与数据库检查对象。然后将结果发回。
然后,客户端可以将其非常基本的特征检测与服务器的响应连接起来,并以这种方式创建实时“标记”视频。当客户端检测到新的图像数据可用时(用户将手机转向不同的方向),必须调用服务器。
The different scale-space detection levels can run in parallel, also the database you compare your images against can be distributed over a number of servers.
As I understand you want to create a kind of augmented reality. I can not answer with a clear yes or no if it can be done with current mobile cpu power and bandwidth.
I would start by implementing a very rudamentary feature detection on the client side, then sending still pictures to the server (high resolution is the key). The server can process the image with large computing power and check the objects against the database. Then send back the result.
The client then can connect its very basic feature detection with the server's response and this way create a real-time "labelled" video. The server has to be called when the client detects that new image data is available (the user turns the phone in a different direction).
只有在以下情况下,这才值得:
1)您可以将图像数据或功能压缩到足以在用户拥有的任何带宽下都可行
2)您正在进行的计算足够大/复杂,以至于它们在浏览器中无法执行
如果您确定如果这两者都是正确的,那么最简单的事情可能是考虑通过 websocket 将您的特征或图像发送到准备对它们进行分类或执行您需要的任何处理的服务器。也许看看Python的tornado websocket框架,然后你就可以与Python OpenCV绑定集成而不会遇到太多麻烦。根据您提供的信息,我很难说更多。
分布式系统是否有帮助取决于您打算做什么(CV 算法),但如果您有能力实现分布式系统,那么它很可能会有所帮助。
我鼓励您在浏览器中查看 JavaScript 解决方案,因为网络延迟将是一个大问题。
This will only be worth it if
1) you can compress your image data or features enough to be viable with whatever bandwidth the user has
2) the computations you are doing are big/complex enough that they are not doable in the browser
If you determine that both of these are true then the easiest thing might be to look into sending your features, or image, via websockets to a server that is ready to classify them or do whatever you processing you need. Maybe look at the tornado websocket framework for python, then you could integrate with the python OpenCV bindings without too much trouble. Based on he info you have given, it is hard for me to say much more.
Whether or not a distributed system will help depends on what you intend to do (what CV algo), but it most likely will if you have the capability of implementing one.
I would encourage you to look at javascript solutions in the browser, because network latency will be a big issue.
请参阅vision.ai 他们正在运行一个kickstarter,这是一个瘦客户端计算机视觉应用程序,其中计算机视觉发生在远程服务器上。它们具有对象检测器、跟踪器以及其他用于训练这些功能的小部件和方法。如果你想看到它发生,就资助他们。
See vision.ai They are running a kickstarter that a thin client computer vision application where the computer vision happens on a remote server. The have object detectors, trackers, and other widgets and methods for training these capabilities. Fund them if you want to see it happen.