The Scientific World Journal

Volume 2013, Article ID 978548, 6 pages

http://dx.doi.org/10.1155/2013/978548

## A Self-Adaptive Parameter Optimization Algorithm in a Real-Time Parallel Image Processing System

^{1}State Key Laboratory of Robotics and System, Harbin Institute of Technology, No. 2, Yikuang Street, Harbin 150001, China^{2}School of Computer Science and Technology, Harbin Institute of Technology, No. 92, West DA-Zhi Street, Harbin 150001, China

Received 30 July 2013; Accepted 20 August 2013

Academic Editors: C.-C. Chang and F. Yu

Copyright © 2013 Ge Li et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

#### Abstract

Aiming at the stalemate that precision, speed, robustness, and other parameters constrain each other in the parallel processed vision servo system, this paper proposed an adaptive load capacity balance strategy on the servo parameters optimization algorithm (ALBPO) to improve the computing precision and to achieve high detection ratio while not reducing the servo circle. We use load capacity functions () to estimate the load for each processor and then make continuous self-adaptation towards a balanced status based on the fluctuated results; meanwhile, we pick up a proper set of target detection and location parameters according to the results of . Compared with current load balance algorithm, the algorithm proposed in this paper is proceeded under an unknown informed status about the maximum load and the current load of the processors, which means it has great extensibility. Simulation results showed that the ALBPO algorithm has great merits on load balance performance, realizing the optimization of QoS for each processor, fulfilling the balance requirements of servo circle, precision, and robustness of the parallel processed vision servo system.

#### 1. Introduction

Image processing often requires large-scale data, and many application fields require real-time performance. Thus, image parallel processing systems have been widely applied in the field of image processing to meet the needs of practical applications as discussed by Plaza et al. [1]. However, the actual performance of image processing is often lower than the peak performance provided by this system, implying that the design of the parallel algorithm is essential for improving system performance as discussed by Krefting et al. [2]. An efficient parallel algorithm should enable the load to achieve balance, evenly distribute tasks, and minimize the amount of communication between nodes and thus improving the performance of the parallel treatment system as discussed elsewhere [3, 4]. Therefore, the load balancing scheduling strategy is a difficult and enticing area of research in parallel processing.

In general, the load balancing scheduling strategy is divided into static and dynamic strategies. The static information of the system is used in the load balancing strategy when the load is distributed on each node, making it easy to be analyzed and implemented. However, such a load balancing strategy results in low utilization factor and performance degradation for it neglects the variations in the node load as discussed by Tantawi and Towsley [5]. On the other hand, the dynamic load balancing strategy can dynamically determine load migration according to the system load at each moment, improving system performance significantly as discussed by Ren et al. [6]. Current studies on the scheduling algorithm have been generally committed to seeking a better suboptimal scheduling algorithm. In particular, the self-adaptive load balancing scheduling strategy has been widely considered among professional researchers due to its ability for automatic adjustment in load balancing based on the information state of the system as discussed by Porter and Katz [7]. In addition, the self-adaptive load balancing scheduling strategy improves the load balancing effect through the perception of load variation. The load balancer collects load information on each node periodically and then utilizes the load information to determine the available node that can directly service the customer’s request. The most common self-adaptive load balancing scheduling strategy includes strategies based on the minimum as discussed by Baumgartner et al. [8] and average loads as discussed by Bhatelé et al. [9].

This study focuses on the parallel processing of a robotic stereoscopic vision servo system. According to the scheme of the parallel partition of system and the methodology of image processing, a self-adaptive load balancing scheduling strategy based on the load capacity () measure is presented to achieve the optimization of the system among the servo cycle, servo accuracy, and system robustness.

#### 2. Adaptive Load Balancing Algorithm Based on Load Capacity Measure

The measure is the estimate of the processor load, and it can maintain self-adaptive adjustment according to the information given by processor load fluctuation to achieve the optimal quality of service (QoS) of each processor. The basic principle of a self-adaptive load balancing algorithm based on the measure is that each processing node utilizes an measure to represent the current load status of the nodes. Moreover, the value of measure can undergo continuous self-adaptive adjustment according to the state of processor load fluctuation. Consequently, the system can achieve load balance depending on the suitable combination of parameters selected through the value of .

##### 2.1. Problem Description

The parameters of target detection and location algorithm for the control should be adjusted in the process of program run to improve the performance of a visual servo system and achieve balance among the servo cycle, servo accuracy, and system robustness.

In the adjustable target detection and location algorithm, a number of parameters can be set for the control of the performance of image processing. For example, represents the interval length of the color image segmentation threshold, represents the searching threshold length of the template matching projection, and represents the interval length that needs to be matched in the stereo matching algorithm. The control parameters of image processing are normalized as follows to uniformly evaluate the adjustment parameters of parallel processing, as in where is the maximum value of , is the minimum value of , and .

was assumed to be the number of color image processing results. is the number of template matching processing results. is the number of first step results in stereo matching processing. The load fluctuation rate of processor is defined as the degree of change in the load state parameters of system output in cases where devices do not work and the control parameters in charge of load balance are invariant. In the current study, the system load fluctuation rate includes the fluctuation rate of color image processing , the template matching processing , and the stereo matching processing . The threshold processing of the image processing algorithm used in this system satisfies the normal distribution. Therefore, has an exponential relationship to , and the calculating formula of the fluctuation rate can be defined as follows: where is a scale coefficient that relates to and the data size of processing algorithm and meets the condition of .

In terms of the calculating formula of the fluctuation rate, is deemed equal to a number from −1 to 1 and only needs to be calculated by counting the number of computed results of the image processing algorithm when the processor is running in unit cycle, which is a very simple statistical process.

##### 2.2. Load Capacity

is a measure of the calculated amount of the current processor that can be accommodated, and it can be used to estimate the relative load status of each processing node. A smaller indicates the smaller capacity of the processor; that is, the current processor has a smaller calculating load and can contain more computations. The admission processing should be decreased when is greater than 1 because of the heavy processor load. The values of can continuously execute self-adaptive adjustment according to the situation of load fluctuation, adjustment parameters, and the status of image acquisition: where is a collection of all adjustable algorithms of image processing that can be included by processor .

In (3), (,…, ) represents a capacity evaluation function; that is, a conditions function. (,…, ) can be expressed as follows: where is the adjustment range factor.

The capacity rate evaluation function is used for judging the capacity size of processor settings. The capacity rate evaluation function uses the sources of processor data to determine the overall increase or decrease in the load capacity rate. In other words, the processing speed is considered too slow when the processor has completed the assignments in a servo cycle and the original data of next servo cycle has been in the accepted state (), causing the servo cycle of the processor to be longer than the desired system cycle (40 ms). Therefore, the oversize setting of should be reduced. On the other hand, the processing speed is considered too fast and the servo cycle of processor is shorter than the desired system cycle (40 ms) when the data has not been received (represented by zero). In this situation, the settings of the total rate are too small and should be increased.

In (3), the initial value of algorithm in the specific weight is set as , where represents the number of adjustable image processing parameters that move under processor . In other words, all reliabilities of the adjustable processing algorithms and weights in the process are deemed equal during initialization. However, the reliabilities of the adjustable algorithms are different in practical applications because the adjustment of weight parameters in each algorithm must be calculated using the other parameters following different parallel processing architectures. In this study, the adjustment of weight in a visual servo parallel processing system is executed between the color image processing and the template matching, which is primarily affected by the target’s changes in shape. As can be seen in (6), the change in rate of the target’s shape is defined as the proportion of the trace of rotation transformation between the current target and the template when the degrees of change in the shape of the objective are evaluated. Furthermore, the threshold value of the trace of rotation transformation is executed when the template must be updated as follows:

Then, the specific weight and can be expressed as follows: where is the rotation adjustment factor and is a constant between 0 and 0.5.

##### 2.3. Adjustment and Update Strategy

The adjustment capacity of the current capacity is based on the evaluation function of capacity, the weight of the algorithm, and the computing formulae of as follows:

The new can be calculated via the fluctuation ratio and adjustment parameters after the new state parameters are obtained. The new can be expressed as follows: where is the fluctuation factor, that is, constant between 0 and 1, reflects the magnitude of acutely adjusting along with load fluctuation.

The first and middle multiplicative factors on the right-hand side of (9) represent the effect of the fluctuation ratio and the effect of the variable adjustment parameter on , respectively. The fluctuation factor weakens the effect of load fluctuation ratio on when the load of the processor is progressively varied with time.

Based on the previous theory, a function for updating control parameters can be established as follows:

Equation (10) reveals that the scale of the control parameters slowly decreases when the load capacity approaches unity, avoiding the occurrence of the load thrashing phenomenon. The processor rapidly achieves a balance among the servo cycle, the servo precision, and system robustness because the control parameters have become capable of rapid increases due to the minimal load, thereby achieved the optimization of each processing QoS.

#### 3. Application Characteristic of ALBPO Algorithm

##### 3.1. Properties of ALBPO Algorithm

The entire system was assumed to contain parallel image processing subsystems. Without loss of generality, the single system was assumed to have performance-adjustable parameters, and the performance-adjustable parameters in each algorithm should exhibit the following properties.(1)For the same image, the computational complexity of the algorithm increases when the parameters increase, improving the calculation accuracy and robustness of image processing. On the other hand, the computational complexity of algorithm decreases when the parameters decrease, reducing the calculation accuracy and robustness of image processing.(2)For the same image, portions of the computation randomly fluctuate in certain areas when the parameters are constant due to the images are corrupted with noise.(3)The parameters occur via the normalization process, and thus their values are .

Moreover, the image parallel processing system has difficulty in accurately evaluating the processor’s maximum computation during the image parallel process.

##### 3.2. Initial Settings of ALBPO Algorithms

The following initial settings were established according to the properties of the ALBPO algorithm.(1)The initial values of the performance-adjustable parameters in the algorithm were set such that they allow large deviations.(2)At the initial time and all prior times, , the load capacities , and the product of adjustable capacity rate in each algorithm .(3)At the initial time and all prior times, the receiving status of each processor , and .

#### 4. Experimental Studies

##### 4.1. Experimental System

This study conducted simulation experiments to verify the optimized performance of the ALBPO algorithm for visual servo adjustment parameters and to achieve balance among the servo cycle, servo accuracy, and system robustness in the parallel processing visual servo system. This problem can be attributed to the search for a set of maximum , making the receiving status values of each processor frequently switch between −1 and 1. The simulation on a single processor can be verified in the property of the ALBPO algorithm that is independent in each processor. The algorithms, which run on each processor, exhibit identical properties, and thus the corresponding situation can be used to verify which processor has two performance-adjustable parameters.

The total computational amount of the system was assumed to be known and constant to verify the performance of the ALBPO algorithm. The performance-adjustable parameter and the computational amount were assumed to exhibit a linear relationship, . The performance-adjustable parameter and the computational amount were assumed to exhibit a nonlinear relationship, . Both algorithms exhibit the random disturbance quantity.

##### 4.2. Parameter Optimization Results of ALBPO Algorithm

Assume that , , , , , , , , and servo cycle . Figure 1 shows the effects of the parameter optimization results of the SALB algorithm. The horizontal coordinates represent the sampling number. The vertical coordinates represent different values in the following different figures. Figure 1(a) represents the value of the state in the capacity rate evaluation function. Figures 1(b), 1(c), and 1(d) represent the number of processing results, capacity rate, and values of adjustable parameters, respectively. Figure 1(e) shows the overall capacity rate of the processor. Figures 1(h), 1(g), and 1(f) represent the number of processing results, capacity rate, and values of adjustable parameters, respectively. The first flip in state (state = −1) when the sampling size was 214 indicates that the initial data of the next servo cycle has changed and is awaiting the receiving state in the already received state, as shown in Figure 2. The subsequent state-repeated shocks indicate that the values of adjustable parameters simply satisfy the values of the maximum computational amount achieved by the processor. Moreover, Figures 1(b) and 1(f) indicate that the adjustable parameters of the ALBPO algorithms monotonically increase first and then remain unchanged, and thus, the adjustable parameters can be adjusted using the ALBPO algorithm to achieve the optimal control point. Changes in the number of the processing results also confirm the adjustment effect of the ALBPO algorithm. In addition, as can be seen in Figures 1(e), 1(c), and 1(g), the overall capacity rate of the two algorithms both changed at a very low rate during processing, denoting that the system can still be regulated when the system is initializing, even if the parameters of the artificial settings present deviations.

##### 4.3. Effects of Adjusting Amplitude Factor and Volatility Factor on Optimization Results

Figure 1 shows the servo parameters optimization results of the ALBPO algorithm when and . The values of and influence the optimization of the servo parameters significantly, thus properly selecting the values of and can generate better optimization results. Therefore, investigating the connection between the servo parameters optimization results and adjusting the variations in the amplitude factor and volatility factor are necessary. The maximum and minimum fluctuation values of the stable period of the system and the adjustment parameters in the stable state when and are variable are shown in Table 1. Figure 2 shows the optimization results for the different values of and .

Figure 2 also shows the optimization results for different values of and . By analyzing the tabular data, the product size of and was found to affect the stable period of the system, in addition to the fluctuation range of adjustment parameters in the steady state. The fluctuation range increased and the stable period decreased when the product of and increased. Moreover, the fluctuation range decreased and the stable period increased when the product of and decreased. Finally, the fluctuation range and the stable period exhibited minimal changes when the product of and was constant.

#### 5. Conclusions

The current study proposed a multiprocessor parallel scheduling algorithm to adjust the performance parameters of the image processing of the visual servo system. The proposed ALBPO algorithm was shown to be efficient in improving the computational accuracy and recognition rate under the condition that the visual servo system did not reduce the servo cycle. In the ALBPO algorithm, the unknown and time-varying maximum amounts of calculation of a processor were exchanged via , and the measure and parameters were adjusted by adopting the fluctuation rate of load and the evaluation function of the state. Therefore, the optimization of the QoS of each processor and the coordination among the servo accuracy, servo speed, and system robustness were easily realized. The feasibility and efficiency of the ALBPO algorithm were demonstrated through a simulation study on the parallel processing scheduling algorithm.

#### Conflict of Interests

The authors declare that there is no conflict of interests regarding the publication of this paper.

#### Acknowledgments

This work was supported by the Natural Scientific Research Innovation Foundation Project in Harbin Institute of Technology (HIT. NSRIF. 2009023), the National Basic Research Program of China under Grant no. G2011CB302605, the National Natural Science Foundation of China (NSFC) under Grants no. 61173145 and no. 61100188, and the National High Technology Research and Development Program of China under Grant no. 2011AA010705.

#### References

- A. Plaza, J. A. Benediktsson, J. W. Boardman et al., “Recent advances in techniques for hyperspectral image processing,”
*Remote Sensing of Environment*, vol. 113, no. 1, pp. S110–S122, 2009. View at Publisher · View at Google Scholar · View at Scopus - D. Krefting, M. Vossberg, A. Hoheisel, and T. Tolxdorff, “Simplified implementation of medical image processing algorithms into a grid using a workflow management system,”
*Future Generation Computer Systems*, vol. 26, no. 4, pp. 681–684, 2010. View at Publisher · View at Google Scholar · View at Scopus - M. Hiromoto, H. Sugano, and R. Miyamoto, “Partially parallel architecture for adaboost-based detection with haar-like features,”
*IEEE Transactions on Circuits and Systems for Video Technology*, vol. 19, no. 1, pp. 41–52, 2009. View at Publisher · View at Google Scholar · View at Scopus - Y. Tarabalka, T. V. Haavardsholm, I. Kåsen, and T. Skauli, “Real-time anomaly detection in hyperspectral images using multivariate normal mixture models and GPU processing,”
*Journal of Real-Time Image Processing*, vol. 4, no. 3, pp. 287–300, 2009. View at Publisher · View at Google Scholar · View at Scopus - A. N. Tantawi and D. Towsley, “Optimal static load balancing in distributed computer systems,”
*Journal of the ACM*, vol. 32, no. 2, pp. 445–465, 1985. View at Publisher · View at Google Scholar · View at Scopus - X. Ren, R. Lin, and H. Zou, “A dynamic load balancing strategy for cloud computing platform based on exponential smoothing forecast,” in
*Proceedings of IEEE International Conference on Cloud Computing and Intelligence Systems (CCIS '11)*, pp. 220–224, Beijing, China, September 2011. View at Publisher · View at Google Scholar · View at Scopus - G. Porter and R. H. Katz, “Effective web service load balancing through statistical monitoring,”
*Communications of the ACM*, vol. 49, no. 3, pp. 48–54, 2006. View at Publisher · View at Google Scholar · View at Scopus - K. M. Baumgartner, R. M. Kling, and B. W. Wah, “Implementation of GAMMON: an efficient load balancing strategy for a local computer system,” in
*Proceedings of the International Conference on Parallel Processing*, pp. 77–80, University Park, Pa, USA, August 1989. View at Scopus - A. Bhatelé, L. V. Kalé, and S. Kumar, “Dynamic topology aware load balancing algorithms for molecular dynamics applications,” in
*Proceedings of the 23rd International Conference on Supercomputing (ICS '09)*, pp. 110–116, Yorktown Heights, NY, USA, June 2009. View at Publisher · View at Google Scholar · View at Scopus