我们在web开发时,有时需要在前端用js判断用户是否输入了中文字符,这样可以减少后端的压力

1、js代码

function ischinese(str){
    if(/.*[\u4e00-\u9fa5]+.*$/.test(str)){
        // 包含中文字符
        return true;
    }
    else{
        // 全是英文字符
        return false;
    }
}
0
Posted in 问题解决

darknet是一个用纯c语言开发的基于cudnn的深度学习框架,有python的接口,在目标检测领域具有非常重要的影响力,支持cpu和gpu,cpu版本就不多说了,下面介绍如何编译gpu版本的darknet

1、下载源代码

官网githup地址:https://github.com/pjreddie/darknet

# 用git命令下载
git clone https://github.com/pjreddie/darknet.git

因为githup在国外,如果觉得下载有点慢,我本地已经提前下载,下载地址:darknet-master.zip

# 用wget命令下载
wget -c -t 20 https://www.ivdone.top/wordpress/pic/p1710/darknet-master.zip

2、编译安装gpu版本darknet

先设置环境变量,查看你的cuda安装目录,比如我的安装目录如下:

/usr/local/cuda

darknet需要nvcc的命令,需要导出环境变量

# 编辑bashrc文件
vi ~/.bashrc
# 添加下面的环境变量,然后保存
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
export CUDA_HOME=/usr/local/cuda
export PATH=/usr/local/cuda/bin:$PATH

如果是本地下载,则解压并进入darknet目录

unzip darknet-master.zip
mv darknet-master darknet
cd darknet/

编辑Makefile文件,修改配置

# 编辑bashrc文件,然后保存
vi Makefile

编译

# 在Makefile文件同级目录直接make
make

成功编译后会产出下面的二进制文件,静态和动态链接库文件

到现在你已经完成darknet的GPU版本的安装,请尽情享受吧

0
Posted in 深度学习&强化学习, 研究, 问题解决

有时我们在html中,如果直接用表单的格式向服务器发送请求,这样会刷新整个web界面,用户的体验感不好,下面介绍如何使用js实现异步请求,可以只改变我们需要改变的界面

1、准备前端html代码

为了说明功能,我们准备最简单的例子

<form method="POST" enctype="multipart/form-data" id="testForm">
      <label for="exampleFormControlFile1" style="font-size: 30px;">请选择文件</label>
      <input type="text" name="input-text">
      <input type="file"  id="exampleFormControlFile" name="file" style="width: 200px;">
      <button type="button" id="button-submit">确认</button>
</form>

2、JS代码

首先必须引入jquery的JS框架,可以直接使用CDN

<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>

在下面实现异步请求

<script>
    $("#button-submit").click(function(){
        // 获取序列化的html表单数据
        var data = new FormData($("#testForm")[0]); 
        $.ajax({ 
          type:'post',  
          url:"/test",  // 你请求的url  需要自己修改哦
          cache: false,    //上传文件不需缓存
          processData: false, //需设置为false。因为data值是FormData对象,不需要对数据做处理
          contentType: false, //需设置为false。因为是FormData对象,且已经声明了属性enctype="multipart/form-data"
          data:data,  // 表单数据
          dataType:'json', 
          success:function(data){  
              // 在这里可以做一些服务程序 ,
              // 比如从服务器接收json格式数据 ,解析,操作html显示数据
              alert("请求成功");
            },
          error:function(){ 
              // 请求失败提示工作
              alert("请求失败");
            }
          });
      });
</script>
0
Posted in 研究, 问题解决

paper:Frozone: Freezing-Free, Pedestrian-Friendly Navigation in Human Crowds

1 什么是 Freezing Robot Problem?

Freezing Robot Problem:once the environment surpasses a certain level of complexity, the planner decides that all forward paths are unsafe, and the robot freezes in place (or performs unnecessary maneuvers) to avoid collisions.

“机器人冻结”问题:一旦环境超过某种复杂度,机器人的规划器就会认为所有向前的路径都是不安全的,机器人“冻结”(卡住)在原地(或执行一些不必要的动作)以避免碰撞。

比如论文中所示的图:

图 1:当机器人遇到有行人的场景时,它会暂停或无限地摆动(红色区域)。


图2:计算冻结区后,想办法让机器人重新规划路径(绿色轨迹)远离冻结区

2 如何解决机器人冻结问题?

论文中提出的方法:

步骤:
(1)行人检测与跟踪:构建潜在的冻结区。
(2)深度强化学习避免碰撞。
(3)预测行人未来路径,然后重新规划路径远离冻结区。

0
Posted in Literature, navigation

paper:extending Maps with Semantic and Contextual Object Information for Robot Navigation: a Learning-Based Framework using Visual and Depth Cues

步骤:

(1)摄像头、激光雷达和其他传感器采集数据。
(2)摄像头数据用来目标检测。
(3)激光雷达数据用来定位与地图构建。
(4)目标检测+2D 地图,计算出物体的空间位置。
(5)生成增强后的地图。

原始地图和增强后的地图对比图(摘自论文)。

上图是原始地图。

上图是增强后的地图。

0
Posted in Literature, navigation