大家好,我是GitHub好项目君,每天分享GitHub上的好项目
今天介绍: 盲人自主导航 DeepWay.v2
镜像代码:
http://www.gitpp.com/xb/deepway.v2-cn
利用人工智能和机器视觉技术为盲人导航 ,可以采用以下几种方法:
利用人工智能和机器视觉技术为盲人导航是一个富有挑战性但非常有意义的研究领域,以下是几种可能的方法:
1. 视觉识别与语音输出:
机器视觉算法可以识别环境中的物体和障碍物,然后通过语音合成技术将这些信息转换成语音输出,盲人可以通过听觉来获取周围环境的详细信息。
例如,可以训练一个模型识别路标、红绿灯、行人和车辆等,然后通过智能眼镜上的扬声器或者连接的听觉辅助设备发出警告。
2. 导盲杖的智能化:
将机器视觉技术集成到传统的导盲杖中,使其能够检测前方的障碍物,并通过振动或者声音的方式提醒使用者。
利用嵌入式摄像头和传感器收集数据,通过低功耗的机器视觉算法分析信息,然后通过杖头上的装置以触觉或听觉形式反馈给用户。
3. 自动驾驶汽车技术:
虽然自动驾驶汽车主要用于搭载乘客,但其导航和障碍物检测技术可以被改编用于为盲人提供导航服务。
比如,自动驾驶技术的传感器和计算平台可以被重新配置,让盲人坐在一个受控的环境中,通过语音指令或者轮椅控制来探索周围环境。
4. 三维地图和虚拟现实(VR):
通过机器视觉技术构建周围环境的三维模型,并结合虚拟现实技术,让盲人通过特定的头戴设备“看到”周围的环境。
这种方法可以使用户在虚拟环境中获得对空间布局的感知,帮助他们更好地理解物理空间。
5. 社会化导航:
结合人工智能的社交机器人可以为盲人提供导航服务,这些机器人可以在公共空间中引导盲人,并与他们进行互动。
机器人可以通过语音和触觉反馈提供导航信息,并可以与盲人进行对话以确认他们的需求和位置。
6. 移动设备导航:
利用智能手机或平板电脑上的摄像头和人工智能技术,为盲人提供实时导航信息。
设备可以通过识别标志物和路标,并结合GPS数据,为用户提供语音指导。
在开发这些技术时,需要考虑的不仅仅是技术的有效性,还应该注重用户体验、隐私保护和数据安全。此外,为了让这些技术更加普及和实用,还需要制定相应的标准和规范,并加强与盲人社区的沟通与合作,确保技术能够真正满足用户的需求。
今天介绍盲人自主导航 成本效益:用不到10000 卢比 (不到 200 美元) 完成了整个项目。
盲人通常会发展出其他感官,例如听力很好。通过使用耳机剥夺他们的一种感官并不是一件好事,因此我使用触觉反馈向盲人提供信息。
一切都在边缘设备上运行 - > Nvidiai Jetson Nano。
硬件要求 Nvidia Jetson Nano。
Arduino 纳米。
2 个伺服电机。
USB音频适配器(因为jetson nano没有音频插孔)
以太网电缆
网络摄像头
适用于 nvidia jetson nano 的电源适配器
3D打印机。(非必需)
Latop(首选 Nvidia GPU)或任何云服务提供商。
软件要求 Ubuntu 机器(首选 16.04)。
安装蟒蛇。
安装所需的依赖项。一些库,如 pytorch、opencv 需要额外注意。
conda env create -f deepWay.yml
您无法克隆存储库。
根据您的系统更改 arduno.py 文件中的 COM 号。
将 Arduino Nano 和 USB 音频适配器连接到您的 PC。
将 CAM 更改为视频路径而不是 0,以便在视频上运行系统。
在arduino nano中编译并运行arduino Nano代码。
运行blindrunner.py
软件要求(Jetson nano) 请按照以下说明启动 Jetson nano。
用于连接 Headless 与 jetson nano(使用以太网线)。
ifconfig Check inet addresss nmap -sn inet_address/24 --> will return live ip address. ssh machine_name@ip Enter password Now you can connect switch on desktop sharing Now connect to jetson using Reminna.
现在安装所有必需的依赖项(这是一项耗时的任务,不要放弃希望)。
1. 收集数据集并生成图像掩模。 我制作了道路视频并将这些视频转换为 jpg。这样我收集了大约 10000 张图像的数据集。我从左视图、右视图和中心视图收集了图像(因此自动标记)。例如:
对于 Unet,我必须为输入数据创建二进制掩码,我使用 LabelBox 来生成二进制掩码。(这花了很长时间)。示例如下->
为了从 Labelbox 下载标记数据,我制作了一个名为“downloader.py”的小实用程序
2. 模型训练 我训练了一个车道检测模型,该模型可以预测我正在行走的车道(左,中,右)。损失与迭代曲线如下:
我在 Azure 上训练了一个基于 U-Net 的道路分割模型。损失(粉色:训练,绿色:验证)与迭代次数曲线如下。 虽然损失较小,但模型表现不佳, 我用不同的架构在 keras 中训练了一个模型,表现非常好,损失与迭代曲线是:
眼镜上的电子设备 眼镜上的电子设备非常简单。它只是与 ardunio nano 连接的两个伺服电机。arduino nano接收来自jetson的信号(使用pyserial库),Arduino Nano控制伺服电机。
使用 Mobilenet V1 SSD 进行行人检测 我正在使用 hao 存储库进行行人检测。它在 jetson nano 上的运行速度约为 10 FPS(单独),并且精度也相当不错。
结果 车道检测模型效果非常好,在 jetson nano 上以大约 25 fps 的速度运行。我认为对于 30 FPS 相机来说这真的很好。
道路分割模型的效果不如车道检测模型。虽然损失减少很多,但产量仍达不到预期。 @ptrblck 建议使用焦点损失或加权损失。
我在 keras 中使用不同的unet架构训练了另一个模型,它的性能非常好。
我现在正在采用幼稚的方法进行路径规划。 假设 :只有人们会走上街头。
对于行人检测,我使用 Mobilenet V1 SSD。感谢 浩 。它以 5FPS 运行。我尝试在 jetson-inference 中运行对象检测模型。如果运行速度约为 15 FPS,但我无法使用 opencv 捕获帧,而 gstreamer 也在捕获帧。
为了应对 Mobilenet 的慢帧速率,我将其与对象跟踪结合起来。对象检测每 3 秒运行一次,以重新播种对象跟踪器。
总体而言,系统的运行速度为 3 FPS。我使用 5V 2 Amp 的 USB B 型电源以 5W 的功率运行 Nano。使用 5V 4A 电源以 10W 模式运行 jetson 将进一步提高性能。
通过人工智能和机器视觉技术为盲人导航,其价值不仅体现在经济层面,更重要的是在社会价值和人文关怀方面具有深远的影响。
社会价值:
1. 提升独立性:对于盲人而言,能够在不依赖视觉的情况下独立导航,极大地提升了他们的生活自理能力和独立性。这有助于盲人在日常生活中更加自信和自主。
2. 促进平等:这项技术可以帮助盲人克服出行中的障碍,享受与视觉正常人士平等的社交和职业机会,促进社会公平性。
3. 增进安全:导航系统可以为盲人提供关于周围环境的安全信息,比如避开正在施工的区域或者危险的道路,减少事故发生的风险。
4. 扩展社会参与:能够自由地探索和参与社会活动,对于盲人的社会融入和生活质量有着重要意义。他们可以更加自由地参与户外活动、购物、旅游等,提高生活质量。
经济价值:
1. 创新市场:人工智能和机器视觉技术的应用开辟了新的市场空间,为相关技术和服务提供商创造了商业机会。
2. 降低支持成本:对于政府和社会服务机构而言,高科技导航工具能够降低为盲人提供支持的成本,比如减少必要的人力导航支持。
3. 提高生产力:对于工作的盲人来说,这样的导航工具可以提高他们的生产力,使他们能够更加独立和高效地完成工作任务。
4. 促进科技发展:这样的项目推动了人工智能和机器视觉技术的边界,促进了相关技术的快速进步和发展。
在实施这些技术时,我们需要严格遵守相关的法律法规和伦理标准,确保技术的发展不会侵犯用户的隐私,同时还要确保技术的可靠性和准确性,以保障盲人的安全。此外,技术的推广应用也需要得到社会的广泛认可和支持,包括政府政策、社会资金投入和公众意识提升等方面。
镜像代码:
http://www.gitpp.com/xb/deepway.v2-cn
我们已经收集了GitHub上大量的开源项目
点击 阅读原文 查看更多开源项目