推广 热搜: 缓解疲劳脚垫,  环保防静电桌垫,  63*125气缸  回收ACF  2022  收购ACF  济宁推杆  挡煤帘子  麻将  AH0.6/12矿用按钮箱 

搜索算法 、二分搜索算法

   日期:2023-04-14     浏览:35    评论:0    
核心提示:***优先搜索算法(Best-First-Search)***优先搜索算法是一种启发式搜索算法(Heuristic Algorithm),其基于广度优先搜索算法,不同点是其依赖于估价函数对将要遍历的节

***优先搜索算法(Best-First-Search)

***优先搜索算法是一种启发式搜索算法(Heuristic Algorithm),其基于广度优先搜索算法,不同点是其依赖于估价函数对将要遍历的节点进行估价,选择代价小的节点进行遍历,直到找到目标点为止。BFS算法不能保证找到的路径是一条最短路径,但是其计算过程相对于Dijkstra算法会快很多。

n表示当前的点,g(n)为从起始点到点n的实际代价,h(n)为从点n到目标点的估价。

(1)BFS没有障碍物时的寻路

(2)BFS遇到障碍物时的寻路

结论:

(1)BFS算法通过估价函数,会将探测快速的导向目标点的方向,其不能够保证寻找到一条最短路径的点,但是其搜索的效率上相对于Dijestra算法会快上很多。

(2)在地图上有障碍物的情况,BFS寻找的路径一般都不是最短路径,在寻路过程中可以尝试配合其他的方法,对寻路进行修正。

什么是A搜索算法?

A*搜索算法,俗称A星算法,作为启发式搜索算法中的一种,这是一种在图形平面上,有多个节点的路径,求出***通过成本的算法。常用于游戏中的NPC的移动计算,或线上游戏的BOT的移动计算上。该算法像Dijkstra算法一样,可以找到一条最短路径;也像BFS一样,进行启发式的搜索。

常见的搜索算法有哪几种?

广度优先搜索(BFS)

深度优先搜索(DFS)

爬山法(Hill Climbing)

***优先算法(Best-first search strategy)

回溯法 (Backtracking)

分支限界算法(Branch-and-bound Search Algorithm)

选择性搜索算法 (Selective Search)

计算机视觉领域有几个基本的任务:

object detection 的基础是 object recognition,只不过要先将图片进行分割,对每个分割之后的子图区域 region (也称为 patch) 进行 object recognition.

由于事先并不知道物体在图片的哪个位置,为了避免漏检,我们应该对图片中尽量多的 region 进行搜索。理论上来说,可以有无穷多个 region。这里就需要一种 region proposal 的算法,以比较高效的方式提出图片划分 region 的方式,从而加速整个 object detection 的过程并且提高准确率。

本文将要介绍的 selective search 算法 ,是比较经典的,也是 R-CNN 中使用的 region proposal 算法。

参考文献:

为了避免蛮力搜索,selective search 算法首先需要一个基于像素的图像分割。这里用的是 Felzenszwalb and Huttenlocher 算法 (因为是当时速度最快的算法,而且是公开的),得到一个 oversegmented 的图像分割。例如:

这里之所以用 oversegmented 图像,是为了得到尽可能细分的区域,再以此为基础逐步合并,形成更大的区域。

image segmentation 可以用作 region proposal 的基础,每个分割的区域都可以看作一个潜在的 region,但是一个 object 往往包含了多个分割的区域,例如盛有咖啡的杯子,咖啡和杯子应该作为一个整体来看待。因此,还要根据某种相似性原则进行分割区域的合并,得到更大范围的 region。

Selective search 算法考虑了 4 种相似性度量,取值都在 [0,1] 之间,越大越相似。

最终的相似性度量是上述四个度量的组合:

其中 取 0 或 1.

总结起来,selective search 的算法步骤非常简单:

环境配置:

具体程序:

最后效果如下:

显示的 100 个 region 已经包含了我们感兴趣的待检测区域,说明了 selective search 算法的高效。

dfs算法是什么?

DFS是深度优先搜索算法。

深度优先搜索算法,又称DFS(Depth First Search)。DFS算法是一种搜索算法,而搜索算法实质上是一种枚举,即借助计算机的高性能来有目的地枚举一个问题的部分情况或这个问题的所有情况,进而求出问题的解的一种方法。

分类:

1、 顺序性剪枝

若一些题的搜索顺序对答案无影响,那么搜索顺序的不同会导致搜索树形态的改变,优先搜索分支较少的阶段,此时能减少搜索的规模。

2、 重复性剪枝

在搜索的时候如果有多种方式可以到达一个状态,那么只需要搜索一个分支就可以了。

3、 可行性剪枝

可行性剪枝是对搜索正确性的一个保证,当分支在递归边界的时候回溯。

关于搜索算法和二分搜索算法的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

 
标签: 算法 路径 区域
打赏
 
更多>同类资讯
0相关评论

推荐资讯
网站首页  |  VIP套餐介绍  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  SITEMAPS  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报