Research on Keyhole Diameter’s Vision Measurement Based on Parallel Technology

TELKOMNIKA, Vol.12, No.3, September 2014, pp. 683~688
ISSN: 1693-6930, accredited A by DIKTI, Decree No: 58/DIKTI/Kep/2013
DOI: 10.12928/TELKOMNIKA.v12i3.108

 683

Research on Keyhole Diameter’s Vision
Measurement Based on Parallel Technology
Zhang Chuan-chuan, Zeng Zhi-qiang, Wang Jun-yuan, Du Wen-hua
North University of China
School of Mechanical and Power Engineering
Xueyuan Rd.3, Taiyuan, 030051 China
e-mail: zhcc22060060@163.com

Abstract
A keyhole diameter of the cartridge’s measurement based on machine vision is a part of the
cartridge’s geometry measurement system, according to the system requirements, to complete the
measurement within 5 seconds. A Image Collection System was constructed using computer, CCD
camera, LED source, meanwhile a measurement system was compiled by C# on VS2010 platform based
on machine vision. Use the Otsu algorithm to extracts the keyhole’s edge and near the pixels in order to
reduce the computational Canny operator, and use parallel computing in the Canny operator to improve

computing speed purposes. Use QueryPerformanceCounter timer for each module timing Canny operator,
Canny operator improved computation time is reduced from the original 6s to nearly a hundred ms
improved. Meet the time requirements of cartridge geometry measurement system, and other machine
vision in which the project can be widely used.
Keywords: machine vision; trigger keyhole detection; edge detection; sub-pixel; threshold calculation

1. Introduction
The annual output of some type cartridge reached more than one million, but the
diameter of this type cartridge keyhole is only 1mm, Production processes can’t completely
guarantee the quality of the keyhole machining. when the keyhole tolerance, likely to cause
cartridge launch failure, so the military require the production units to accurately measure the
keyhole diameter for each cartridge to ensure the overall quality of the cartridge. According to
the characteristics of the measurement object, the proposed method using the machine vision
measurement. Firstly shooting Partial image of the keyhole and processing this image, then
Calculating the diameter of the keyhole, finally comparing with the tolerance of the diameter
values and determining whether compliance with the requirements.
In order to improve the accuracy and precision of the measurement, using canny
operator edge detection algorithm to detect cartridge keyhole edge point are used when
processing this image [1]. Canny operator at the same time improve the accuracy of the
computer has increased the amount of computation. Under the conditions of the existing

laboratory equipment, running time of Gaussian filter is 67.28 ms, edge contour extraction is
5719.23ms in Canny operator. So the whole time of Canny operator is 5786.61ms, cartridge
measurement system can’t meet the time requirements. Therefore, in order to improve detection
efficiency, a method of using Otsu operator edge coarse positioning to reduce the computation
[2] and parallel processing technology is proposed to make sure the system performance to
meet the actual requirements.
2. The main parameters of the CCD camera and computer
The main flows of measuring system are image acquisition, image analysis,
measurement, and outputs the result. To achieve high-speed measurement of the keyhole
diameter must be in full knowledge of the size of the CCD camera to capture images of the
situation fully hardware performance of your computer.
The hardware consists of an optical illumination system, CCD camera, computer
hardware and related auxiliary equipment elements. According to the keyhole imaging
requirements and the design of the measuring system, Adjust the collected image, the image
pixel size of 512 × 512, while the camera's SNR is 40dB. Computer is using AMD A8-4500M
Received January 29, 2014; Revised May 26, 2014; Accepted June 10, 2014

684 

ISSN: 1693-6930


quad-core processor, Windows 7 operating system. Image Measurement System program is
written in C # under the VS2010 platform. Image acquisition system schematics and keyhole
original image are shown in Figure 1 and Figure 2.

Image acquisition
Hood
Tested parts
Base
Adjustable backlight

Figure 1. image acquisition system schematics

Figure 2. keyhole original image

3. C# Parallel Computing
Emergence of parallel computing is the inevitable result of the development of computer
science, is the same process using a variety of computing resources to solve computing
problems. Under the premise of simultaneous, the process can be calculated into small parts, to
solve computational problems in Concurrent way. This is an effective means to improve the

computer system calculates the speed and processing power. The basic idea is to use multiple
processors to solve the same problem collaborative, that the problem is broken down into
several parts, each part by a separate processor to parallel computing.
With the rapid development of computer hardware , image processing on multicore
processors has already become a fact of existing, but the traditional image processing
programming mode must be compatible with the new hardware environment to make the image
processing speed to achieve the best application results [3]. C# is integrated TPL (Task Parallel
Library) and PLINQ (Parallel LINQ), parallelized applications can be achieved, which will greatly
enhance the speed of the application is running.
Static class named system.Threading.Parallel provides three important ways For,
Foreach and Invoke located two namespaces which are named System.Threading and
System.Threading.Tasks.
3.1 Guass filter parallel computing
Gaussian filter is a linear filtering, the value of each pixel, both by itself and the other
pixel values through the neighborhood to get a weighted average [4]. The main feature is the
Gaussian function is still a Gaussian function after Fourier transform, so the application of fast
Fourier transform can put convolution of airspace transformed into the product operations of
frequency domain, which greatly reduces the computation time. In practical application, the twodimensional Gaussian function G(x, y) is decomposed into one-dimensional Gaussian function
G(x)and G(y)in the x direction and y direction for image filtering:






G ( x, y )  1 2 exp( x 2  y 2 2 2 )

(1)

G ( x)  1 2  exp( x 2 2 2 )

(2)

G ( y )  1 2  exp( y 2 2 2 )

(3)

TELKOMNIKA Vol. 12, No. 3, September 2014: 683 – 688

TELKOMNIKA


ISSN: 1693-6930

 685

In actual programming, method of Foreach and method of Partitioner.Create which are in static
class named System.Threading.Parallel is combined for parallel computing of algorithm [5].
When the horizontal filtering, two-dimensional array of images is automatically divided
into several small two-dimensional array by Parallel.ForEach (Partitioner.Create (0,
BmpData.Height), (H) => {}).The loop of each small two-dimensional array in height direction is
for (j = H.Item1; j