3.1.4 传感器布置优化
这是本课题的核心。传感器布置优化的问题可以看做一个约束优化问题。另外,作为优化过程的目标函数,它的输入为传感器的布局、参数为视频数据库、识别算法、优化算法的参数,输出为识别的效率。其内部结构不容易搞清楚,且
性质难以推测,参数或是输入的改变带来的输出的变化难以预料。且 个传感器,每个都可以布置在一个矩形区域内。既传感器布置的解为 ,其中 为终点落在对应矩形区域内的二文向量。显然用智能优化算法有望得到不错的结果。本文用遗传算法处理这一过程,这一部分在第四章将详细介绍。
3.2 各部分的相互关系
各部分之间的大致关系如图3-1。
图3-1 各部分之间大致关系
软件运行的大体流程为:载入视频文件,由图像处理部分将它转换为只二值化的图像序列。之后用户选择或写入识别用的算法。然后用户选择优化所采用的
遗传算法的各参数(包括使用什么样的罚函数等)并确定欲优化传感器的位置。之后运行优化算法,随机产生初代解,然后以传感器可行区域确定罚函数。由输入的二值化图像序列和初代解得出每一帧下的传感器状态。将此作为识别算法 的输入,得出识别结果。根据识别结果和罚函数确定出评价函数值,然后进行遗传算法的各项操作。产生下一代解,之后由下一代解和二值化图像序列产生每一帧下的传感器状态,产生新的评价函数值,再重复遗传算法的操作。最后,一定代数后停止,输出优化结果并同时给出中间的一些数据。用户根据这些,可以重新调整算法的各项参数,然后再次运行,以期望得到跟好的优化结果。
软件中设置添加ImageProcess.cpp,ImageProcess.h; Distinguish.cpp,Distinguish.h;GeneticAlgorithm.cpp,GeneticAlgorithm.h。分别为图像处理、识别算法、遗传算法的函数声明和定义。其他功能放在处理按钮事件的函数中即可。
图像处理部分的研究很多,也有现成的算法,只要直接添加就可以了。
识别算法部分由用户添加,也可以事先给出若干种算法,由用户选定也可以。若是用户自己添加识别算法,应按照以下形式补充识别函数代码即可。此函数的定义在Distinguish.cpp中。
/*********************************************************************Distinguish()
*参数:
* SensorState SensorStateSequence []– SensorState类型的数组,按帧的顺序排列。*其中SensorState为包含成员int State[MAX_SENSORNUMBER]的结构体 。 整形*数组State记录在此帧下传感器的状态(0或者1)。
*返回值:
*float DistinguishResult-识别结果,对于的值应在0与1之间。
*说明:
*本函数将通过传感器状态序列判断通行情况。
*******************************************************************/
float Distinguish(SensorState SensorStateSequence [])
{
//用户添加识别算法代码
}
此外识别部分还包括以下函数(这些函数是预先就安排好的,用户只用了解):
SensorState GetSensorStateSequence(SensorPosition SensorPositionArray[],lpImage ImageSequence[]) //输入传感器位置(既优化过程的解),二值化后图像地址的序列,输出传感器状态的序列。
遗传算法作为本文最为重要的部分,其函数构成等放在下一章和遗传算法一并介绍。
4 优化算法部分
如本课题一样,工业工程中,特别是制造系统中的许多最优化问题性质非常复杂,很难用传统的优化方法来求解。自1960年以来,人们对求解这类问题的兴趣日渐增加。一种模仿上午自然进化过程的、被认为“进化算法(Evolutionary Algorithms)”的随机优化技术在解这类优化难题中显示出了通常优于传统算法的性能[19]。目前,进化算法主要包括三个领域:遗传算法、进化规划和进化策略。其中,遗传算法是迄今为止进化算法中最广为人知的算法。
- 上一篇:关于s-凸函数的性质及其不等式的研究
- 下一篇:配煤槽水分分布模型的有限元解法模拟仿真
-
-
-
-
-
-
-
乳业同业并购式全产业链...
电站锅炉暖风器设计任务书
java+mysql车辆管理系统的设计+源代码
当代大学生慈善意识研究+文献综述
杂拟谷盗体内共生菌沃尔...
十二层带中心支撑钢结构...
中考体育项目与体育教学合理结合的研究
河岸冲刷和泥沙淤积的监测国内外研究现状
大众媒体对公共政策制定的影响
酸性水汽提装置总汽提塔设计+CAD图纸