双目摄像头构建点云

As a remote worker I'm always looking to find better ways to work with the team that don't involve actually going to Seattle. As much as I love/hate Microsoft, I'm not moving. However, this always puts me at a disadvantage. There's only so many places (and only so far) i can go as a remote worker.

作为一名远程工作者,我一直在寻找与团队合作的更好的方法,这些方法实际上并不涉及去西雅图。 尽我所爱/恨微软,我没有动。 但是,这总是使我处于不利地位。 作为远程工作者,我只能去的地方很多(而且到目前为止)。

When Phil and I made the "HanselPortal," essentially a persistent always-on Skype Chat, that gave folks a place to drop by and chat (at least those two lazy to just call me via Office Communicator) but there's already two people in Phil's office, I can't move (I'm a desktop computer) and my field of view is very small. Phil has a small inside office and I can't exactly hold meetings. It's a start, but it's not perfect.

当Phil和我进行“ HanselPortal”(本质上是永久性的Skype即时聊天)时,这为人们提供了一个闲聊和聊天的地方(至少这两个懒惰通过Office Communicator打电话给我),但是Phil已有两个人办公室,我无法移动(我是台式计算机),并且视野很小。 菲尔的内部办公室很小,我无法完全举行会议。 这是一个开始,但并不完美。

I stumbled upon the Embodied Social Proxies project at Microsoft Research and got a tour from their team. While their system costs about $3000 to $4000 (While I'd love an Axis 213 PTZ camera I can't afford the $1300 and I'm still trying to convince the boss.) and has a great cart, monitor and camera, I figured I could at least do a proof of concept on the cheap. And by proof of concept, I mean, in the same way my 1963 Ford Falcon was a proof of concept; I kept driving it until it stops, then started walking.

我偶然发现了Microsoft Research的Emboded Social Proxies项目,并从他们的团队中进行了参观。 虽然他们的系统售价约为$ 3000到$ 4000(虽然我会喜欢Axis 213 PTZ摄像机,但我负担不起$ 1300,但我仍在努力说服老板。)而且我认为它的手推车,显示器和摄像机很棒我至少可以便宜地做一个概念证明。 通过概念验证,我的意思是,以同样的方式,我1963年的福特猎鹰是概念验证; 我一直开车直到它停下来,然后开始走路。

想法 (The Idea)

While the name "Embodied Social Proxy" is very PHDy and very Researchy, the idea is that you want a physical stand-in for yourself. Sure, people can call me and contact me in any of a dozen ways and honestly, it's one click at Microsoft. I'm in the address list, I'm on chat, and I've even got a 5 digit phone extension. I've done all this and more to integrate with headquarters. However, out of sight, out of mind is really true. People subconsciously or not like to associate something physical with you. So, until I can get a 6 foot tall mobile video conferencing robot a $20 cart with a laptop super-glued to it might help. I'll set it up in an office in Building 5 so folks can "stop by." I can be "brought" to meetings where perhaps setting up a RoundTable isn't feasible. Maybe it'll work, perhaps not. But I'm going to continue to try.

尽管“ Embodied Social Proxy”的名称非常有意思,而且非常具有研究性,但其想法是您希望自己有一个实际的替身。 当然,人们可以通过多种方式给我打电话并与我联系,说实话,这是Microsoft的一键点击。 我在地址列表中,正在聊天,甚至还有5位数的电话分机。 我已经完成了所有这些工作,并与总部整合在一起。 但是,视线之外,头脑真的是真的。 人们在潜意识中或不喜欢将某些自然事物与您联系起来。 因此,在我能买到一个6英尺高的移动视频会议机器人之前,一个20美元的带有超级笔记本电脑的推车可能会有所帮助。 我将其设置在5号楼的办公室中,以便人们可以“路过”。 我可能会被“带到”可能无法建立圆桌会议的会议。 也许会起作用,也许不会。 但我将继续尝试。

问题所在 (The Problems )

The researches have done many iterations and discovered many things. You want "eye gaze" to be natural so you can tell when folks are looking at you and they can tell when you're looking at them. They recognize that you need to "look around" and watch whiteboards, so being able to pan and zoom around is important.

研究进行了许多迭代,发现了很多东西。 您希望“眼睛凝视”是自然的,这样您就可以告诉人们何时看着您,而他们可以告诉您何时看着他们。 他们认识到您需要“环顾四周”并观看白板,因此能够进行平移和缩放非常重要。

Security is important also. We don't want a domain-logged-in real user on a mobile cart wandering around Microsoft. However, as a remote person I need to be able to start up the camera without having to ask a person to do it. I need to control as much of the cart as possible remotely.

安全性也很重要。 我们不希望移动推车上的域登录真实用户在Microsoft周围徘徊。 但是,作为远程​​人,我需要能够启动相机而不必要求别人去做。 我需要远程控制尽可能多的购物车。

通用解决方案 (The General Solution)

I've got Office Communicator "corporate chat" on my side, so that makes things easier. If you wanted to generalize this solution you could use Skype or other things. I also have Exchange so my free/busy details are available programmatically. Again, this could be Google Calendar, or whatever.

我身边有Office Communicator“公司聊天”,因此使事情变得更容易。 如果您想推广此解决方案,则可以使用Skype或其他工具。 我也有Exchange,因此可以通过编程方式获得我的忙/闲详细信息。 同样,这可以是Google日历,也可以是其他。

I'll have a laptop mounted (not movable) to a cart. It'll include an HD Webcam at a fixed position (no zoom or pan) and a second IP camera that allows Pan/Tilt/Zoom (PTZ). This should let me look around a bit. This is an IP camera because there are no good pan/tilt/zoom USB cameras on the market. PTZ cameras can be $200 or up to $3000 and more. Mine's $200.

我将有一台笔记本电脑安装在推车上(不可移动)。 它将包括一个固定位置的高清网络摄像头(无变焦或平移)和另一个允许平移/倾斜/缩放(PTZ)的IP摄像机。 这应该让我环顾四周。 这是IP摄像机,因为市场上没有好的平移/倾斜/缩放USB摄像机。 PTZ摄像机的价格可能在200美元到3000美元之间,甚至更高。 我的200美元。

I need the laptop to have both wired and wireless. Here's where things get a little weird. The camera will have one IP and the laptop will have another. However, the laptop will have a security certificate that will allow it to get on the network while the camera will not only not be reliable, but it'll be hard to find from a DNS perspective. I would like to be able to access both the camera and the machine as a unit, reliably. I solve that below, in what I think is a pretty clever way.

我需要笔记本电脑同时具有有线和无线功能。 这是有些奇怪的地方。 相机将具有一个IP,笔记本电脑将具有另一个IP。 但是,笔记本电脑将具有安全证书,使它可以进入网络,而摄像机不仅不可靠,而且从DNS角度很难找到。 我希望能够可靠地同时访问相机和机器。 我以一种非常聪明的方式在下面解决了这个问题。

(便宜的)硬件 (The (Cheap) Hardware)

The hardware for my build is beyond cheesy cheap.

为我打造的硬件超越俗气便宜。

  • Rolling Cart from Office Depot: Height-Adjustable Mobile Laptop Cart, 33 1/16"H x 23 5/8"W x 15 3/4"D, Black/Silver - On sale for $20

    Office Depot的滚动推车:可调高度的便携式笔记本电脑推车,33 1/16“ H x 23 5/8” W x 15 3/4“ D,黑色/银色-特价$ 20

  • APC UPS from Amazon: APC BE750G 10-Outlet Power-Saving Uninterruptible Power Supply - Yes, I realize we're talking about a laptop on a UPS, but this'll give me 4-6 more hours of power if I get stuck, plus it'll power the secondary IP PTZ camera and the Hub

    亚马逊的APC UPS : APC BE750G 10出口节电不间断电源-是的,我知道我们在谈论UPS上的笔记本电脑,但是如果卡住,它将给我4-6个小时的电力,再加上它将为辅助IP PTZ摄像机和集线器供电

  • IP Camera: Panasonic BL-C111A Network Camera Wired by Panasonic

    IP摄像机: Panasonic有线的Panasonic BL-C111A网络摄像机

  • WebCam: Microsoft LifeCam Cinema HD by Microsoft - HD or not (perhaps you don't have the CPU or bandwidth, this is a crisp, clear camera.

    网络摄像头: Microsoft发行的Microsoft LifeCam Cinema HD-是否高清(也许您没有CPU或带宽,这是一台清晰的摄像机。

  • Laptop: I used a crappy Dell Latitude D820 I had lying around. Decent, but not awesome.

    笔记本电脑:我使用了躺在附近的笨拙的Dell Latitude D820。 不错,但是不很棒。

  • Hub: Netgear FS105NA Switch 5Port Metal by Netgear

    集线器: Netgear的Netgear FS105NA交换机5端口金属

  • Zip Cable Ties: Buttloads of them. Deluxe Cable Tie Kit - 1,000 Pieces.

    拉链扎带:它们的重担。 豪华扎带套件-1,000件。

  • A weight and pipe from a $14 Steadycam to give my IP Camera some height.

    14美元的Steadycam提供的重量和烟斗,可以为我的IP摄像机提供一些高度。

  • 3M Fasteners, I used like 12-16 strips to hold down the laptop and cameras. 3m Company 17202 "Command" Small Interlocking Fasteners & Strips

    3M紧固件,我使用了12-16条条来固定笔记本电脑和相机。 3m Company 17202“ Command”小型互锁紧固件和胶条

软体(The Software)

There's a custom WPF-based .NET client written by the MS Research Team. I'm gonna continue to bug them to let me release the code or Open Source it or something. I don't think the software is the important part, it's the idea. The software is a little tricky and cobbled, but workable.

MS研究团队编写了一个基于WPF的自定义.NET客户端。 我将继续给他们打扰,让我发布代码或将其开源。 我不认为软件是重要的部分,而是想法。 该软件有些棘手,但已易用,但可行。

与Office Communicator交谈 (Talking to Office Communicator)

The machine is running on a local account that isn't Administrator. It's set to log in automatically, but the account has access to nothing. There's another Non-User Domain Account called "hanselcart" but while this account is in the Active Directory, but also has no access to resources or anything. That account has had Office Communicator access turn on so I can chat with it. Communicator is set to start up automatically as well. It's that ability to chat (really "address") the cart that makes it reasonably seamless.

机器正在不是管理员的本地帐户上运行。 它设置为自动登录,但是该帐户无权访问。 还有一个名为“ hanselcart”的非用户域帐户,但是尽管该帐户位于Active Directory中,但也无权访问资源或任何内容。 该帐户已打开Office Communicator访问权限,因此我可以与其聊天。 Communicator也设置为自动启动。 聊天(真的是“地址”)购物车的这种能力使购物车变得相当无缝。

You'll see that if I'm not currently visible on the screen, the program makes a call to Exchange Web Services and uses the Office Communicator Presence information to show where I am and what I'm doing generally, as well as a way to call me.

您将看到,如果我当前在屏幕上不可见,该程序将调用Exchange Web Services,并使用Office Communicator Presence信息显示我在哪里以及通常在做什么,以及一种方式给我打电话

There's an Office Communicator SDK so you can automate and listen to Communicator:

有一个Office Communicator SDK,因此您可以自动化并收听Communicator:

this.messenger = new Messenger();this.messenger.OnSignin += new DMessengerEvents_OnSigninEventHandler(messenger_OnSignin);this.messenger.OnContactStatusChange += new DMessengerEvents_OnContactStatusChangeEventHandler(messenger_OnContactStatusChange);this.messenger.OnIMWindowCreated += new DMessengerEvents_OnIMWindowCreatedEventHandler(messenger_OnIMWindowCreated);this.messenger.OnIMWindowDestroyed += new DMessengerEvents_OnIMWindowDestroyedEventHandler(messenger_OnIMWindowDestroyed);this.messenger.OnMyStatusChange += new DMessengerEvents_OnMyStatusChangeEventHandler(messenger_OnMyStatusChange);this.messenger.AutoSignin();

The code is very COM-ish, which is unfortunate, but it's easy enough to write to. If I chat "Start Video" to the cart, the program sees it and calls me back:

该代码非常像COM,很不幸,但是编写起来很容易。 如果我在购物车上聊天“开始视频”,程序会看到它并给我回电:

void StartVideo(){    IMessengerAdvanced advanced = (IMessengerAdvanced) this.messenger;    object result = advanced.StartConversation(CONVERSATION_TYPE.CONVERSATION_TYPE_VIDEO, this.contact, null, null, "1", null);

    // Float a "hang up" window on top    if(hangupWindow == null) {        hangupWindow = new HangupWindow(MachineName);        hangupWindow.Closed += new EventHandler(hangupWindow_Closed);        hangupWindow.Owner = this;

        // put the hang up window top-right corner        hangupWindow.Top = 0;        hangupWindow.Left = System.Windows.SystemParameters.PrimaryScreenWidth - hangupWindow.Width;    }

    // Set the video to full-screen    maxVideoTimer.Start();    hangupWindow.Show();}

The FullScreen part is a horrific SendKeys hack to press F5 for me until I talk to the OC team and figure out how to do this programmatically.

全屏部分是一个可怕的SendKeys骇客,要为我按下F5,直到我与OC团队交谈并找出如何以编程方式进行操作为止。

如何寻址IP摄像机- “这是带有IIS的AAR的WebCam的WebFarm” (How to Address the IP Camera - "It's a WebFarm of WebCams with IIS's AAR")

I'm rather proud of this hack. Let's say the cart is called http://hanselcart. I'd like to be able to address the WebCam reliably even though it's not technically a managed-object on the MS network. Essentially, if the cart itself is on and online, I'd like to use the cart to get to the camera.

我为这次骇客感到骄傲。 假设购物车名为http:// hanselcart 。 我希望能够可靠地解决WebCam,即使从技术上讲它不是MS网络上的托管对象。 本质上,如果购物车本身是在线且在线的,我想使用购物车到达相机。

Then I remember that IIS (Internet Information Services, our Web Server) has an insanely powerful free module you can download called Application Request Routing or ARR. Regardless of what you think of the name IIS ARR, it really takes IIS to the next level. Think about it next time you are trying to do something tricky with IIS. It adds a bunch of features, but I figured I needed a Reverse Proxy, which ARR can do.

然后,我记得IIS(Internet信息服务,我们的Web服务器)有一个功能强大的免费模块,您可以下载该模块,称为Application Request Routing或ARR 。 不管您对IIS ARR的名称有什么看法,它确实将IIS提升到了一个新的水平。 下次尝试使用IIS做一些棘手的事情时,请考虑一下。 它增加了很多功能,但是我认为我需要一个反向代理,ARR可以做到。

Instead, I made my local IIS a WebFarm with one node, the WebCam. ;) I put the Webcam on a local network "behind" the laptop (192.168.x.x) and told my Laptop's instance of IIS to route all traffic to the Webcam. In fact, ARR smartly did it for me when i used the Add WebFarm Wizard. Whole thing took 5 minutes, counting download time.

取而代之的是,我将本地IIS设置为具有一个节点WebCam的WebFarm。 ;)我将网络摄像头放在便携式计算机(192.168.xx)后面的本地网络上,并告诉我的便携式计算机的IIS实例将所有流量路由到该网络摄像头。 实际上,当我使用“添加WebFarm向导”时,ARR巧妙地为我做到了。 整个过程花了5分钟,计算下载时间。

NOTE: I did also try a tool called WebcamXP, and while it's amazingly cool for other things and has some really diverse features around Webcams, especially IP webcams, it used about 30% CPU for what I wanted, while IIS's ARR used 1-2%.

注意:我也确实尝试了一个名为WebcamXP的工具,虽然它在其他方面非常出色,并且具有围绕网络摄像头的某些真正多样化的功能,尤其是IP网络摄像头,但它使用了大约30%的CPU来满足我的需求,而IIS的ARR使用了1-2。 %。

So now, I can just hit the cart by name and I'll get the IP Webcam. This Webcam has its own HTTP server and includes a quasi-RESTful API for Pan/Tilt/Zoom so I can video chat via Office Communicator and look around with the web interface of the IP Cam.

所以现在,我只需按名称输入即可,我将获得IP网络摄像头。 该网络摄像头拥有自己的HTTP服务器,并包含用于平移/倾斜/缩放的准RESTful API,因此我可以通过Office Communicator进行视频聊天,并可以使用IP Cam的Web界面进行浏览。

Here's a few shots of the cart itself. I'll be driving it up to Seattle for testing and installation this week.

这是购物车本身的一些镜头。 我本周将把它带到西雅图进行测试和安装。

Thanks to Gina and John and especially Peter Provost for helping me (virtually from Dallas) build it. Wish me luck!

感谢吉娜(Gina)和约翰(John),尤其是彼得·普罗沃斯特(Peter Provost)帮助我(实际上来自达拉斯)来建造它。 祝我好运!

Related Links

相关链接

  • VIDEO: Hanselminutes on 9: Embodied Social Proxies (and Remote Video Heads!) with Microsoft Research

    视频: Hanselminutes上的9 : Microsoft Research体现的社会代理(和远程视频头!)

  • YOUTUBE VIDEO: Embodied Social Proxy: Connecting Hub-and-Satellite Teams

    YOUTUBE视频:经验丰富的社交代理:连接中心和卫星团队

  • Virtual Camaraderie - A Persistent Video "Portal" for the Remote Worker

    虚拟友情-远程工作者的永久视频“门户”

  • Microsoft Research PDF - Can We Make "Distance Matter" Less?

    Microsoft Research PDF-我们可以减少“距离问题”吗?

  • Steve Easterbrook - Blog post on Social Proxies

    史蒂夫·伊斯特布鲁克-社会代理博客文章

  • Remote Meetings: Thinking Inside the Box

    远程会议:框内思考

  • Video: Polycom CX5000 - Microsoft Roundtable

    视频:Polycom CX5000-微软圆桌会议

翻译自: https://www.hanselman.com/blog/building-an-embodied-social-proxy-or-crazy-webcam-remote-cart-thing

双目摄像头构建点云

双目摄像头构建点云_构建一个体现性的社会代理或疯狂的网络摄像头远程购物车...相关推荐

  1. 用python打开多个摄像头_了解使用python和OpenCV与VideoCaptu进行多个网络摄像头捕获...

    我正在尝试同时(或几乎同时)从多个网络摄像头捕捉图像.我一直在玩OpenCV.VideoCapture和python编程.但有些困惑,希望有人能帮忙解释... 首先,我尝试了视频捕捉(Markus G ...

  2. 网络摄像头的linux系统,Linux系统入门学习:如何在树莓派上安装USB网络摄像头...

    Question: 我可以在树莓派上使用标准的USB网络摄像头么?我该如何检查USB网络摄像头与树莓派是否兼容?另外我该如何在树莓派上安装它? 如果你想在树莓上拍照或者录影,你可以安装树莓派的摄像头板 ...

  3. labview如何调用网络摄像头 labview 雄迈模组 需要通过labview调用在同一IP下的网络摄像头,采集图像,处理图像...

    在 LabVIEW 中使用网络摄像头需要使用 LabVIEW's IMAQdx 软件包,该软件包用于控制和采集图像.首先,你需要在计算机上安装 IMAQdx 驱动,然后才能在 LabVIEW 中使用网 ...

  4. python 私有云_构建私有云伴随着哪些需求?

    有些人认为私有云只是已经在本地实施的虚拟化的一种扩展,但实际上它不仅仅是一种扩展.实施私有云有助于打破数据中心的孤岛,实现快速增长.对于以安全为中心的初创企业来说,这听起来不错,不是吗?不幸的是,它也 ...

  5. 微信小程序构建商城百度云_构建云存储应用程序

    存档日期:2019年5月13日 | 首次发布:2015年2月13日 了解如何创建一个简单的Node.js应用程序,该应用程序使用IBM Object Storage Service for Bluem ...

  6. 构建python应用_构建天气应用

    构建python应用 by Ayo Isaiah 通过Ayo Isaiah 使用地理位置和API构建Weather App (Building a Weather App with Geolocati ...

  7. idea自动构建web项目_构建Web应用程序以自动执行系统管理员任务

    idea自动构建web项目 系统管理员(sysadmin)每年在重复性任务上浪费数千小时. 幸运的是,使用开源工具构建的Web应用程序可以自动消除很大一部分痛苦. 例如,使用Python和JavaSc ...

  8. vue 构建根组件_构建迷你图Vue组件

    vue 构建根组件 Sparklines can be used to quickly visualize data variance. They are small and intuitive to ...

  9. java运行构建期间出错_构建和运行Java 8支持

    java运行构建期间出错 尚未提供对Java 8的Eclipse支持. 如果要使用它,则必须构建它. Eclipsepedia的JDT Core / Java8页面包含有关使用Eclipse Java ...

最新文章

  1. Flutter 下拉刷新花式玩法
  2. JVM调优总结(六)-分代垃圾回收详述2
  3. weblogic搭建
  4. 禁止更改计算机名_计算机改名、加域脚本集合
  5. 用C语言设计光线成像程序——计算机达人成长之路(26)
  6. 格鲁吉亚理工学院计算机全美排名,乔治亚理工大学环境工程排名2019年
  7. LeetCode刷题(14)
  8. 新增字段属性“是否转义”,提高列表展示性能
  9. Oracle 数据类型,表空间、用户与权限,DDL、DML 语句、约束,exp/imp
  10. eclipse Tomcat 启动报错
  11. WPF使用PictureBox
  12. 混响时间测试软件安卓版,混响时间的测量方法资料.pdf
  13. latex tabular 单元格里换行
  14. 创意:物品定位智能标签
  15. 主流无线芯片厂商的自动信道选择算法小结
  16. Texstudio安装后闪退|重装系统Windows10|texstudio2022
  17. 算法提高——珠心算测验
  18. UE4 Pak包热更新
  19. esc键 qt 退出菜单_【Qt】QDialog之屏蔽Esc键【转】
  20. Android软键盘使用

热门文章

  1. 蓝桥杯模块学习17——AT24C02存储器(深夜学习——单片机)
  2. 最简单的家庭文件服务器,通过设置家庭文件服务器共享大文件 | MOS86
  3. 顺利度过?计算机转运营200411快手商业运营部门实习生一面
  4. Flutter——Isolate主线机制
  5. 删除一个软件linux系统,linux操作系统删除软件
  6. 西门子——博图V16与PLCSIM Advanced仿真通讯配置(1500系列)
  7. 毕设常用云平台之机智云如何使用
  8. python视频教程百度云-Python最新全套视频教程百度网盘资源
  9. 可执行文件(ELF文件)解析
  10. Windows7操作系统Chrome浏览器字体模糊虚化看不清楚的解决方案