BGA malzemelerin x-ışını görüntülerindeki lehim hatalarının derin sinir ağı kullanarak tespiti
Detection of BGA solder defects from x-ray images using deep neural network
Yazar: CEREN TÜRER AKDENİZ
Danışman: PROF. DR. ZÜMRAY ÖLMEZ
İstanbul Teknik Üniversitesi / Fen Bilimleri Enstitüsü / Elektronik ve Haberleşme Mühendisliği Ana Bilim Dalı / Elektronik Mühendisliği Bilim Dalı
Derece: Yüksek Lisans, 2019
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control ; Elektrik ve Elektronik Mühendisliği = Electrical and Electronics Engineering

Özet:
Teknolojik yeniliklerin hızla artması birçok elektronik cihazın altyapısını oluşturan elektronik kart takımlarından istenenlerin de bu oranda artışına yol açmıştır. Buna göre kart takımları üzerindeki malzeme yoğunlukları artmış ve bu da daha az yer kaplayan malzemelere ihtiyaç duyulmasına sebep olmuştur. Bu doğrultuda günümüzde, elektronik kart tasarım firmaları daha küçük paket yapısına sahip, yüksek giriş/çıkış sayısı ve gelişmiş elektrik performansı gibi birçok avantajı olan BGA (ball grid array) yapıdaki malzemelerin kullanımına yönelmiştir. 
BGA malzemelerin elektronik kart takımına montajı yapıldıktan sonra malzemenin gövdesi altında kalan lehim toplarının kontrolünde görsel inceleme, gezen prob testi, X-ışını görüntüleme ve boya nüfuz etme testi yöntemleri kullanılmaktadır. Görsel inceleme yöntemiyle, kenar bölgesi dışında kalan lehim toplarındaki hatalar tespit edilememektedir. Gezen prob testinde ise kart takımı üzerinde hata kaynağının bulunabilmesi için her malzemenin elektriksel ölçümlerinin alınması gerekmektedir. Bu ciddi bir işçiliğe neden olup, hatanın asıl nedeninin (malzemenin iç yapısı veya üretim süreci) hakkında net bir bilgi sağlayamamaktadır. Boya nüfuz etme testi, malzemenin arızalı olduğu tespit edildikten sonra hatanın nedenini bulmaya yarayan tahribatlı bir yöntemdir. Bu nedenle denetim amaçlı kullanımı tercih edilmemektedir.
Günümüzde, BGA'ların X-ışını görüntülemesinin, malzemelerin gövdesinin altına yerleştirilmiş lehim bağlantılarının kontrolünü yapmak için en etkili teknik olduğu görülmektedir. BGA'ların X-ışını görüntüleme işleminde, malzemenin denetimini gerçekleştirmek için X-ışını emisyon konisi içinde hareket ettirilerek ortamın yoğunluğuna, kalınlığına ve atom sayısına göre, X ışını radyasyonunun farklı şekilde emildiği gözlenir. Malzemenin kalınlığı ve yoğunluğu arttıkça, emilen X-ışını artacak ve koyu bölgeler oluşacaktır. Bu nedenle, lehim bölgeleri, boş BDK (baskı devre kartı) katmanları ve malzeme gövdesi gibi diğer bölgelerden daha koyu olacaktır. Bu kontrast farkı sayesinde BGA'nın lehim bağlantıları kolayca kontrol edilebilmektedir. X-ışını kullanılarak yapılan bu ölçüm işlemi için kullanılan en yaygın yöntem, teknik personelin malzemenin lehim toplarına farklı açılardan bakarak göz ile yaptığı denetim mantığına dayanmaktadır. Teknik personelin yetkinliğine bağlı olarak yapılan bu denetim, kişiye bağlı olması ve tekrar edilebilir bir sistem olmaması dolayısıyla hataların tespitinde başarılı bir yüzde yakalayamamaktadır.
BGA malzemelerin lehim kontrolünde yaşanan kişiye bağlı yorumlama probleminin önüne geçebilmek için otomatik hata tespitine yönelik literatür araştırması yapılmıştır. Buna göre yapılan incelemede, BGA malzemelerin X-ışını görüntülerinin sınıflandırılmasında karmaşık görüntü işleme tekniklerinin kullanıldığı gözlenmiştir, ancak yüksek sınıflandırma sonuçlarına ulaşılamamıştır. Son yıllarda, derin sınıflandırma yöntemlerinin özellikle sınıflandırma problemlerinde çok başarılı olduğu gösterilmiştir. 
Bu çalışmada, BGA malzemelerin X-ışını görüntüleri, lehim bağlantılarının koşullarına göre dört sınıfa ayrılmıştır: normal, kısa devre, yapışmama hatası ve hava boşluğu ('void') hatası. BGA malzemelerin X-ışını görüntülerini sınıflandırmak için DivNet (diverjans temelli derin sinir ağı) isimli yeni bir ağ modeli önerilmiştir. Ayrıca literatürdeki çalışmalarla karşılaştırıldığında, önerilen çalışma ile BGA X-ışını görüntülerine karmaşık görüntü işleme teknikleri (öznitelik çıkarma ve ön işlem adımları) uygulanmadan sınıflandırma yapılabilmiştir. 
Önerilen derin sinir ağı (DSA) modeli, öznitelik çıkarıcı katmanları ve minimum mesafe sınıflandırıcısını içerir. Önerilen ağ az sayıda katmandan (dört evrişim katmanı ve bir tam-bağlı katman) oluştuğundan, ağın hiper parametrelerinin belirlenmesi ve ağın eğitimi kısa sürede gerçekleştirilir. Çalışmada dört sınıf bulunmaktadır ve Walsh matrisinin derecesi on altıdır. Bu durumda, önceden eğitilmiş ağ, on iki sınıfın dağılımını öğrenmek için kolayca genişletilebilir. Evrişimsel sinir ağının (ESA) çıkışında, sınıfların sayısı kadar düğüm olması zorunlu değildir. Aslında, bu çıkış katmanı öznitelik uzayını oluşturur. Bu çalışmada, eğitim ve test aşamalarını oldukça kısa sürelerde gerçekleştirmek için öznitelik uzayının boyutu orta düzeyde tutulmuştur.
Çalışmada kullanılan veri kümesi, dört sınıf için sırasıyla 67, 76, 53 ve 76 görüntüden oluşmaktadır. Tüm verilerin %80'i eğitim kümesi için ayrılmıştır ve geri kalan %20'si test kümesi için ayrılmıştır. Literatürdeki çalışmalar incelendiğinde lehimin yapışmasının kontrolü ile ilgili bir sınıflandırma modeli oluşturulmadığı tespit edilmiştir. Önerilen yeni DivNet ağ modeli ile görüntü işleme çalışmalarıyla belirlenemeyen yapışmama probleminin de saptanması sağlanabilmiştir. Literatürdeki mevcut yöntemlerle karşılaştırıldığında, bu çalışmada daha geniş ve çeşitliliği yüksek (farklı kart tasarımları, farklı kart takımları, farklı paket tipine sahip BGA malzemeleri ve farklı lehim tipleri) bir eğitim kümesi kullanılmıştır. BGA malzemelerin X-ışını görüntülerinin önerilen yöntemle sınıflandırılmasında %97'lik çok yüksek bir başarı oranı elde edilmiştir. Bu doğrultuda, çalışmada önerilen yöntem ile daha fazla sayıda sınıfın (farklı lehim bağlantı hatası türleri) daha yüksek sınıflandırma başarımı ile sınıflanabildiği sonucuna ulaşılmıştır.

Abstract:
The rapid increase in technological innovations has led to an increase in the demands of electronic printed circuit board assembly (PCBA) that constitute the infrastructure of many electronic devices. Therefore, component densities on PCBA increased, which required less area occupying components. In this direction, the use of BGA (ball grid array) components with smaller package structure and many advantages such as high number of inputs/outputs and improved electrical performance is nowadays used in the printed circuit board (PCB) designs.
After the BGA components are assembled to the PCB, visual inspection, flying probe test, X-ray imaging and dye penetration test methods are used in the control of the solder balls under the body of the components. With the visual inspection method, solder defects outside the edge zone of solder balls cannot be detected. In the flying probe test, it is necessary to take electrical measurements of each components in order to find the source of defect on the PCBA. This causes serious labor and cannot provide clear information about the root cause of the defect (the internal structure of the components or the production process).
Nowadays, X-ray imaging of BGAs appears to be the most effective technique for controlling solder joints located under the body of components. In the X-ray imaging process of the BGAs, it is observed that the X-ray radiation is absorbed differently according to the density, thickness and number of atoms by moving the PCBA in the X-ray emission cone to control the components. As the thickness and density of the components increase, the absorbed X-ray will increase and dark areas will be formed. Therefore, the solder zones will be darker than other zones, such as PCB layers and component body. Thanks to this contrast difference, the solder connections of the BGA can be easily controlled. The most common method for this measurement using X-rays is based on the visual inspection of technical personnel by looking at the solder balls of the components from different angles. Due to the competence of the technical personnel, this audit cannot achieve a successful percentage in the detection of defects due to the fact that it is individual and not a repeatable system.
In this study, literature search for automatic detection of solder defect has been carried out in order to prevent the subject dependant interpretation problems during solder control of BGA components. Therefore, it was observed that complex image processing techniques were used to classify X-ray images of BGA components, but high classification accuracy was not achieved. In recent years, deep classification methods have been shown to be very successful especially in classification problems.
In deep learning, there is a structure based on the learning of multiple levels or representations of data. Top-level properties are derived from low level properties to form a hierarchical representation. This representation learns multiple levels of representation, corresponding to different levels of abstraction. Deep learning is mainly based on learning from the representation of data. A vector of density values per pixel, features of clusters, and custom shapes are considered as representation for an image. Some of these features represent data better. As an advantage at this stage, deep learning methods use efficient algorithms for hierarchical feature extraction that represent better data rather than handcrafted features.
In this study, X-ray images of BGA components are divided into four classes according to the conditions of the solder connections: normal, short circuit, bonding defect and void defect. The data set used in the proposed study consists of 67, 76, 53 and 76 images for these classes, respectively. The data used in the study were taken from the Nordson DAGE XD7600NT Diamond X-ray machine. The voltage of the X-ray tube in the device is 110kV and the power value of the tube is set to be 6 Watt in order to provide sufficient contrast in the solder balls of the BGA component.
The images of the BGA component created with 64 frame images were obtained from a total of 8 different PCB designs, 18 PCBA and 12 different BGA components. The use of different PCB designs has led to an increase in the diversity of the data set as it leads to differentiation of waterways, via holes, components mounted on the BDK and component placement within the PCB. In addition, PCBA produced with leaded and lead-free solder which were used in this study. Due to the fact that lead-free solder gives a more matte appearance and the difference in solder content and soldering profile, the percentage of void is higher than that of leaded solder, so differences in X-ray images are observed. For these reasons, the use of both solder types in the data set increased the data diversity.
The void defect in the solder balls can be easily detected in the top view of the BGA taken at an angle 0o on the X-ray device. In this direction, only the images taken from the top are used in the dataset for the void defect. In the images taken at 0o angle of the solder balls, it is possible to mix the shadows of the components directly under the BGA body with the areas with short circuit fault. Therefore, in order to distinguish this short-circuit fault correctly, the images of the BGA at 45o and 225o angles were also transferred to the data set. Bonding of solder balls to pad areas as a result of collapse during soldering process cannot be detected in the images taken from the top view of the BGA. Images of the BGA at 45o and 225o angles were used in the data set to control the bonding of solder balls between the body of the BGA and the pad areas of the PCB.
A new deep neural network (DNN) model which is called DivNet has been proposed to classify X-ray images of BGA components. In addition, when compared with the studies in the literature, the proposed study was able to classify BGA X-ray images without using complex image processing techniques.
80% of all data is allocated for the training set and the remaining 20% is allocated for the test set. The analyzes were performed using Python code and Tensorflow library on Ubuntu Linux workstation. The workstation used in this study has a GeForce GTX2080 Ti Graphics card and a 32-core 2.7 GHz processor. Tensorflow's AdamOptimizer function is used in the feature extractor training. This function is a computationally efficient optimization algorithm that requires less memory.
The size of the original BGA X-ray images used in the study was 305443743; however, all images have been reduced to 79010001 to reduce memory requirements during training and test. This also enables faster training and faster test results. In this study, no augmentation was applied to the data to increase the size of the data set. In addition, no extra preprocessing was applied to BGA X-ray images. Therefore, the images are transferred directly to the input of the proposed DNN.
The recommended DNN model includes feature extractor layers and minimum distance classifier. Since the proposed network consists of fewer layers (four convolutional layers and one fully connected layer), determination of the hyper parameters of the network and training of the network are performed in a short time. The output of each convolutional layer includes maximum pooling and ReLU (Rectified Linear Unit) layers. The flattened layer contains 245063 nodes, and the fully connected layer consists of 16 nodes. Because there are four classes, the output layer of the DNN consists of four nodes. The size of the filters for each of the four convolutional layers is 1717 and the number of feature layers is 24 for each layer. There are four classes in this study, and the order of the Walsh matrix is sixteen. In this case, the pretrained network can be easily expanded to learn the distribution of twelve classes. In this study, the size of the feature space was kept at a moderate level in order to perform the training and test stages in a very short time.
Walsh functions have been preferred in this study because of their following four major advantages. One of them is; because the Walsh functions are selected to be the class centers, these centers become apart from each other, which is an advantage that provides a better class discrimination in any feature space. The second advantage is the property that by increasing the rank of theWalsh matrix, the number of features can also be increased, which in turn leads to an improvement in the classification success rates. The third advantage is in the training strategy of the proposed network. In conventional deep neural network structures, feature formation and training of the classifier are both realized together within the same training phase which may initiate convergence problems. However in the proposed method, the feature extractor and classifier layers can be independently trained, hence, the features and classifier weights are determined individually (not simultaneously).
In the proposed study, a KNN (K-Nearest Neighbors) like minimum distance classifier was used, which was only employed during the testing. Walsh parameters are represented in the nodes of this minimum distance layer. A fully connected network follows the convolutional layer. For the fully connected network, MLP (Multi-Layer Perceptron), SVM (Support Vector Machine) or SOM (Self-Organizing Map) neural networks can be preferred. Finally, the fourth advantage of using Walsh functions within the proposed method is its capacity of being expanded from a pretrained version in cases when the Walsh matrix's rank is greater than the number of classes. 
When the studies in the literature were examined, it was found that a classification model related to the detection of solder bonding defect was not established. With the proposed new DivNet network model, it is possible to detect bonding defect which cannot be determined by image processing studies. Compared to the existing methods in the literature, a larger and more diverse training set (different PCB designs, different PCBA, different BGA components and different solder types) was used in this study. A very high success rate of 97% was achieved for the classification of X-ray images of BGA components by the proposed method. In this direction, it was concluded that more number of classes (different solder connection defects) could be classified with higher success rates by using the proposed method.