在哪里可以建设网站,团购产品 网站建设,网站要钱怎么,乐山网站制作设计公司AI明厨亮灶智能算法通过pythonyolo网络模型分析算法#xff0c;AI明厨亮灶模型算法可接对后厨实现如口罩识别、厨师服穿戴、夜间老鼠监测、厨师帽识别、厨师玩手机打电话识别、抽烟识别等实时分析监测。Python是一种由Guido van Rossum开发的通用编程语言#xff0c;它很快就…AI明厨亮灶智能算法通过pythonyolo网络模型分析算法AI明厨亮灶模型算法可接对后厨实现如口罩识别、厨师服穿戴、夜间老鼠监测、厨师帽识别、厨师玩手机打电话识别、抽烟识别等实时分析监测。Python是一种由Guido van Rossum开发的通用编程语言它很快就变得非常流行主要是因为它的简单性和代码可读性。它使程序员能够用更少的代码行表达思想而不会降低可读性。与C / C等语言相比Python速度较慢。也就是说Python可以使用C / C轻松扩展这使我们可以在C / C中编写计算密集型代码并创建可用作Python模块的Python包装器。这给我们带来了两个好处首先代码与原始C / C代码一样快因为它是在后台工作的实际C代码其次在Python中编写代码比使用C / C更容易。OpenCV-Python是原始OpenCV C实现的Python包装器。
在介绍Yolo算法之前首先先介绍一下滑动窗口技术这对我们理解Yolo算法是有帮助的。采用滑动窗口的目标检测算法思路非常简单它将检测问题转化为了图像分类问题。其基本原理就是采用不同大小和比例宽高比的窗口在整张图片上以一定的步长进行滑动然后对这些窗口对应的区域做图像分类这样就可以实现对整张图片的检测了如下图3所示如DPM就是采用这种思路。但是这个方法有致命的缺点就是你并不知道要检测的目标大小是什么规模所以你要设置不同大小和比例的窗口去滑动而且还要选取合适的步长。但是这样会产生很多的子区域并且都要经过分类器去做预测这需要很大的计算量所以你的分类器不能太复杂因为要保证速度。解决思路之一就是减少要分类的子区域这就是R-CNN的一个改进策略其采用了selective search方法来找到最有可能包含目标的子区域Region Proposal其实可以看成采用启发式方法过滤掉很多子区域这会提升效率。
YOLO系列算法是一类典型的one-stage目标检测算法其利用anchor box将分类与目标定位的回归问题结合起来从而做到了高效、灵活和泛化性能好Yolo算法采用一个单独的CNN模型实现end-to-end的目标检测核心思想就是利用整张图作为网络的输入直接在输出层回归 bounding box边界框 的位置及其所属的类别。Yolo模型采用预定义预测区域的方法来完成目标检测具体而言是将原始图像划分为 7x749 个网格grid每个网格允许预测出2个边框bounding box包含某个对象的矩形框总共 49x298 个bounding box。我们将其理解为98个预测区很粗略的覆盖了图片的整个区域就在这98个预测区中进行目标检测。 Adapter接口定义了如下方法
public abstract void registerDataSetObserver (DataSetObserver observer)
Adapter表示一个数据源这个数据源是有可能发生变化的比如增加了数据、删除了数据、修改了数据当数据发生变化的时候它要通知相应的AdapterView做出相应的改变。为了实现这个功能Adapter使用了观察者模式Adapter本身相当于被观察的对象AdapterView相当于观察者通过调用registerDataSetObserver方法给Adapter注册观察者。
public abstract void unregisterDataSetObserver (DataSetObserver observer)
通过调用unregisterDataSetObserver方法反注册观察者。
public abstract int getCount () 返回Adapter中数据的数量。
public abstract Object getItem (int position)
Adapter中的数据类似于数组里面每一项就是对应一条数据每条数据都有一个索引位置即position根据position可以获取Adapter中对应的数据项。
public abstract long getItemId (int position)
获取指定position数据项的id通常情况下会将position作为id。在Adapter中相对来说position使用比id使用频率更高。
public abstract boolean hasStableIds ()
hasStableIds表示当数据源发生了变化的时候原有数据项的id会不会发生变化如果返回true表示Id不变返回false表示可能会变化。Android所提供的Adapter的子类包括直接子类和间接子类的hasStableIds方法都返回false。
public abstract View getView (int position, View convertView, ViewGroup parent)
getView是Adapter中一个很重要的方法该方法会根据数据项的索引为AdapterView创建对应的UI项。