2019 4th International Conference on Information Technology (InCIT2019) market correction or we put more concern over daily instantaneously. Results from all strategies simulating in volatility; there are many times that there is a rumor or this study are summarized in table V. uncertainty happens during day trade resulting to the spike in price. Player in the market does take time to recognize all TABLE V. SUMMARY OF PERFORMANCE FROM ALL METHODS relevant information to remake the right decision; market anxiety during political protest could be the good example, Strategy Profit No. Profit per trade during the chaos, there will always be a flow of information Trade which is more arbitrary in nature; investors will response to Daily ARIMA HW ARIMA HW the perceived information and reconcile their decision when trading -9.38% -9.65% 100 -0.093% - they receive the fact. This will create the fluctuation on stock price which could move up or down, then revert to the 2-day lags 32.75% 20.64% 50 0.096 original level on the next trading day. Thus, using time lag trading 19.69% 14.41% 33 % of trading will remove such irregularity and lessen 14.54% 1.95% 25 superfluous trading. 3-day lags 5.74% 4.32% 20 0.655% 0.413 trading % Fig. 3. Price volatility with four lags of time 0.5% 4-day lags 0.596% 0.436 IX. COMBINED BOTH ARIMA AND HW TOGETER trading % In previous approach, we separately make our prediction based on ARIMA or HW. Since both models possess 5-day lags 0.581% 0.078 different assumptions and acquire distinctive abilities to trading % foresee the closing price. We can replicate the idea by using the same methodology in technical trading by put both Combined 0.287% 0.216 models together as in technical trading we usually put Both % trading signals together and make transactions in ARIMA accordance with their suggestions. To imitate the idea by and HW using time series model, we will execute the transaction only when both model confirm the same prediction which Portfolio theory proposed by Markowitz also play means we will sell our stock when both ARIMA and HW a vital role in our trading strategy as the portfolio will be suggest that the price of the next trading day will go lower constructed based on the minimum variance to reduce and buy the stock when both models suggest that the price overall portfolio risk, such that each fund will effectively will go higher etc. allocated to each candidate stock in way to minimize We employ this strategy and follow the same iteration portfolio risk; otherwise, randomly assigned budget to each with the same assumptions as daily trading (the same stock could possibly yields the worsen result than the weights in each stock, same trading period). We found that market does. this methodology provides preferable result as we outperform the market by making the profit of 0.5% which References drastically drop from trading with each model separately. [1] Ernest P. Chan (2017), “Machine Trading”, New Jersey, Wiley X. SUMMARY [2] Krollner, Bjoern & Vanstone, Bruce & Finnie, Gavin. (2010). The proposed method for trading provides the Financial Time Series Forecasting with Machine Learning preferable result as both ARIMA and Holt-Winters time Techniques: A Survey. series models could capture the rhythm of the market; besides, manipulating time series by creating time lag will [3] Mark J. Bennett, and Dirk L. Hugen (2016), “Financial analytics enhance the performance due to unnecessarily trading from with R”, United Kingdom, Cambridge University Press price volatility and reducing in commission fees. Moreover, combining the two models together will enhance the overall [4] Jewczyn, Nicholas. (2013). Modern Portfolio Theory, APT, and the performance as the execution of transaction will be done CAPM: The Years 1952 to 1986. International Journal of Social when these models confirm the same direction Science Research. 2. 74-87 [5] Wanjawa, Barack & Muchemi, Lawrence. (2014). “ANN Model to Predict Stock Prices at Stock Exchange Markets” [6] Meesad, Phayung & Rasel, Risul Islam. (2013). “Predicting Stock Market Price Using Support Vector Machine” 10.1109/ICIEV.2013.6572570 [7] Saahil Madge (2015), Predicting Stock Price Direction using Support Vector Machines, Princeton University. [8] Kristina Levišauskaie (2010), “Investment Analysis and Portfolio Management”, Vytautas Magnus University [9] Buscema, Massimo. (1998). Back Propagation Neural Networks. Substance use & misuse. 33. 233-70. 10.3109/10826089809115863. [10] Poomthan Rangkakulnuwat (2013). “Time Series Analysis for Economics and Business”, Bangkok, Chulalongkorn University Press [11] Harry Markowitz (1952), “Portfolio Selection”, The journal of finance, Vol. 7, No. 1. (Mar., 1952), pp. 77 [12] Seksak Jumreornvong (2014), “Corporate Financial Managemen: Concepts and Applications”, Bangkok, Thammasat University Press 227
2019 4th International Conference on Information Technology (InCIT2019) Engaging and Motivating Developers by Adopting Scrum Utilizing Gamification Wantana Sisomboon Nuttaporn Phakdee Nuansri Denwattana Department of Software Engineering, Department of Software Engineering, Department of Software Engineering, Faculty of Informatics, Faculty of Informatics, Faculty of Informatics, Burapha University Burapha University Burapha University Chonburi, Thailand Chonburi, Thailand Chonburi, Thailand [email protected] [email protected] [email protected] Abstract— Scrum is an agile project management method for A formal Gamification design called 6D framework, proposed modern software development. The use of game elements is by Werbach and Hunter in 2012, was adopted. Factors and the currently used widely across several domains to help motivate corresponding game elements created based on Marczewski’s people in nongame scenarios and engage users with high (2015) user type Hexad framework and validated by Tondello et al. interaction. This paper presents the approach of using (2016) were applied for this study. This study aimed to select Gamification to make Scrum techniques more fun, motivating, appropriate Gamification elements based on the characteristics of and engaging for practitioners. In this paper, we describe an the target audience. experience of introducing a Gamification design with a 6D framework to change developer behavior while developing In this paper, we start with a review of works implementing software by following a Scrum framework. Scrum behaviors and Gamification in software development. Next, we present the Badges were created as a measure of changing behaviors. proposal and its design and development, followed by a discussion about how the proposal was demonstrated and evaluated. The paper The experiment was performed with undergraduate students closes with a discussion of the results and some conclusions and studying Software Engineering at Burapha University. The suggestions for future work. students were working on real world projects for one week. The software they created was for electronic government (citizen II. RELATED WORK service information systems) for the X municipality. The system This section defines important concepts used in this study. In was divided into 4 services for 10 teams. Quantitative analysis Section II-A and II-B we discuss the concepts of Gamification and and a group interview with the Scrum Master and product then game design elements. Section II-C discusses the context of owner allowed users to understand the leaderboards. Rewards Scrum Framework. made Scrum techniques more fun, motivating, and engaging for practitioners. 80 percent of the product is ready to use. A. Gamification Gamification is a relatively new term that has been used to imply Keywords— Scrum, Gamification, 6D Gamification Design, the use of game elements and game-design techniques in non- Scrum Behaviors gaming contexts. This study proposed a Gamification solution to engage and motivate practitioners to utilize a Scrum framework as a I. INTRODUCTION AND MOTIVATION software process. A Gamification design following the 6D framework was used. It was proposed by Werbach and Hunter in The use of game elements is currently used widely across several 2012 [3][7]. The framework is one of the most frequently mentioned domains to improve the processes, helping motivate people in to formalized the Gamification design which consists of six steps. otherwise nongame scenarios and engage users with high interaction The 6D framework steps are as follows: [1]. This process is usually called Gamification and is part of a Define Objectives – Define the goals and objectives that must be relatively new trend that has been applied in various domains to create achieved through the Gamification process. education support systems, motivation promotion systems, digital Delineate target behavior - Define the characteristic behaviors inclusion platforms, health applications, and social platforms, and it that would be the most beneficial for the objective that is supposed includes Software Engineering [2]. to be attained. Describe your players - Who will participate in your gamified Scrum is an agile project management method for modern activity? Identity target players and their motivations. software development. The concept of Agile software development Devise activity loops - The loops ensure that the players are has attracted substantial interest by organizations, since it allows engaged in playing the game and are also progressing in the game as achieving rapid and functional software development goals. In the they play longer. first months of technological change, it is possible to identify Don't forget the fun - The more fun that the players have, the resistance and conflicts affecting the satisfaction and productivity better success the game is bound to enjoy. Marc LeBlanc has defined levels in teams. eight kinds of fun: sensation, fantasy, narrative, challenge, fellowship, discovery, expression, and submission. This paper describes our experience and provides an evaluation Deploy appropriate tools -Adopt the tools, dynamics, and of the adoption of gamification in a 45-hour course on Software mechanisms into the system. Engineering at Burapha University, Thailand, during the second semester of 2018. Then it presents the results of the experiment of adopting Scrum practices as an Agile approach in a distributed software development project using Gamification to make Scrum techniques more fun, motivating, and engaging for practitioners. 228
2019 4th International Conference on Information Technology (InCIT2019) B. Game design elements the planning meeting of the Sprint. In Sprint planning, the team Gamification can lead to positive behavioral changes. However, makes the decision of choosing a task from the Product Backlog to understand the factors influencing user motivation in Gamification, which they believe that they can complete within a Sprint cycle. the core game design elements were studied and applied to the Then they process the Sprint Backlog in which each task is broken experiment. A widely used set of game design elements is down into units that are carried forward by the team. The team Marczewski’s Player and User Types Hexad.[4] The list of six types determines the best way to accomplish the goals within each Sprint from the Hexad model are: cycle. The Daily Scrum uses around 15 minutes. During the daily • Philanthropists are motivated by purpose and meaning. They Scrum, each team member answers the following three questions: 1) what did you do yesterday? 2) What will you do today? 3) Are there are altruistic and willing to give without expecting a reward. any impediments in your way? At the end of each Sprint cycle there • Socializers are motivated by relatedness. They want to is a Sprint review. The purpose of the meeting is for the team to show the customers and stakeholders the work they have interact with others and create social connections. accomplished over the Sprint so that the entire Scrum team can • Free Spirits are motivated by autonomy and self-expression. receive feedback to fine-tune the product backlog and release plan. They visualize the product and give feedback. Next comes a Sprint They want to create and explore. retrospective, which is followed by the Sprint review. A Sprint • Achievers are motivated by competence. They look for retrospective is done before planning the next Sprint in which the Scrum team is involved. The purpose of the retrospective is to opportunities to learn new things and improve themselves. identify the things that the team is doing well that they should keep They want challenges to overcome. doing, things they should start doing in order to improve, and things • Players are motivated by rewards. They do what is needed that are keeping them from performing at their best that they should of them to collect rewards from a system. stop doing. • Disruptors are motivated by change. They tend to disrupt the system either directly or through others to force negative or III. SOLUTION positive changes. Some motivations underlying these user types are related, but the A. Adoption of Scrum Gamification Framework Design user types themselves overlap slightly. For the study of participants’ This research adopted the target behaviors from the experiment motivations, Table I shows the game design elements selected for this study. and measurement of Sofia Modesto’s thesis entitled “Using Gamification to Increase Scrum Adoption”[6]. It is the tool for TABLE I. FACTORS OF THE SCALE AND SELECTED ITEMS analyzing if Scrum is being used well or not. Factor/User Type Selected game elements TABLE II. SCRUM BAHAVIORS Philanthropist - Gifting ID Behaviors Socializer - Knowledge sharing Free Spirit - Administrative roles 1 All members attend all Sprint Planning meetings Achiever - Teams during the project. Disruptor - Social competition. N/A 2 All members attend all Daily Meetings during a Player Sprint of a project. - Challenges 3 All members attend all Sprint Review meetings - Voting mechanisms during the project. - Points 4 All members attend all Sprint Retrospective meetings - Rewards during the project - Leaderboards - Badges or Achievements 5 The project was divided in small parts 6 The team completes all selected stories in a Sprint of a project. 7 The team completes all stories in a project. C. . Scrum Framework 8 The team shares knowledge with other team members. Scrum is the most popular agile methodology in the software industry. A key principle in Scrum is that “customers can be present 9 Scrum Master intervenes to help the team. during all development of the project and they can change the requirements at any moment [5].” The Scrum Team consists of a Product Owner, a Development Team, and a Scrum Master. The Scrum process flow starts with the vision of that product owner. The Product Owner is responsible for creating User Stories. User Stories TABLE III. SCRUM METRICS are short, simple descriptions of a feature told from the perspective of ID Metrics a user or customer of the system. They typically follow a simple template: As a < type of user >, I want < some goal > so that < some 1 Existence of a cross-functional Development Team. reason >. 2 Existence of a Scrum Team. User stories are often written on index cards or sticky notes. Then, User Stories are added to the Product Backlog, and are prioritized 3 Existence of a Scrum Master. based on importance and dependencies. Work is selected from the 4 Existence of a Product Owner. Product Backlog and pulled into the Sprint Backlog. Intervention of the Scrum Master to help the Then a Sprint starts with the Sprint planning and Sprint Backlog 5 Development Team. which includes the tasks to be done by each team. It is designed for teams of three to nine members who break their work into actions 6 Number of Daily Meetings reported per Sprint. that can be completed within time-boxed iterations, called Sprints. A Sprint has duration of two to four weeks. Each Sprint starts with 7 Consecutive Daily Meetings reported per Sprint. 229
2019 4th International Conference on Information Technology (InCIT2019) ID Metrics 6D Framework Research Application 8 Existence of Sprint Planning, Retrospective, and Devise activity 3. Product owner – The Product owner Review reports per Sprint. loops has the responsibility to formulate the plan according to the problem and to 9 Number of User Stories written per Sprint. Don't forget the divide work among the development team fun in such a manner to get better 10 Number of User Stories completed per Sprint. Deploy functionality and results. appropriate tools Software Development process follows 11 Consecutive Sprint Planning, Retrospective, and Scrum framework and Number of points Review reports in a project. in User Story when the product owner accepts software in each Sprint. From Tables III and IV, the metrics were defined to achieve the Voting goal of the research. Programmers had to change their behavior and Reward reduce their resistance to change in their work methodology. Badges SE Gamification application and voting TABLE IV. GAMIFICATION AND SCRUM METRIC MAPPING application on mobile. Behaviors 1,5 Metrics Rewards B. The Experiment 2 1,2,3,8,9,11 Scrum methodology was adopted as a framework for managing 3,5 1,2,6,7 Badge of the achievement of a process. The product had been defined by the customer. Start from 4,5,9 1,2,4,8 “Scrum Planning Lover” + the Information System Engineering Research Laboratory (ISERL) 6 1,2,3,5,7,8 1,000 Points per Sprint acted in the role of the product owner. The project was to work on 1,2,10 Badge of the achievement of an electronic government (citizen service information system) for 7 “Daily Scrum Lover” + 1,000 the X municipality. The system was divided into 4 services for 10 1,2 Points per Sprint teams. The 4 services consisted of Queue Management System, 8 Badge of the achievement of Citizen Service Request Management System, Recreation Service 2 “Sprint Review Lover” + Management System, and School Enrollment Management System. 1,000 Points per Sprint Badge of the achievement of Two third year students and two teaching professors were “Sprint Retrospective Lover” playing the role of the Scrum masters. The 75 students were divided + 1,000 Points per Sprint into 10 teams and acted as a Scrum teams. Each team contained 6 to Badge of the achievement of 9 students. Teams were formed randomly from first year students. “Team-Top Task Killer” + 20,000 Points per one User They convened in meetings for jobs such as estimation and Acceptance User Story planning, daily Scrums, review meetings, and retrospectives. Badge of the achievement of Meetings were time-boxed, with well-defined start and end times. “Team-Top Task Killer” + “The Best Quality Product” + Product development and meetings occured in cycles called 100,000 points Sprints until a shippable product was ready. Badge of the achievement of “The Best Presenter” + The experiment lasted 6 days. The days started with Sprint 50,000 points planning and a daily Scrum meeting. The teams earned 4,000 points to reach the achievement of Daily Scrum lover, and 4,000 points for Scrum planning lover. Mapping of the 6D framework formal Gamification design with At the end of the Sprint (each Sprint lasted one day), the team our Scrum research experiment is shown in table V. product was checked to verify the quality followed ISERL UX/UI and coding standards. Each Development Team presented the TABLE V. GAMIFICATION AND SCRUM MAPPING product that had been implemented in the Sprint. The Product Owner asked the Scrum team for feedback regarding the product that had 6D Framework Research Application been delivered. The team had to earn 4,000 points to reach the Define Objectives achievement of Sprint Review Lover, and one accepted user story “A change of developer behavior (shown would earn 20,000 points. Delineate target in Table I) in developing software by behavior follow Scrum framework” Developers needed to gain the skills of communication, Describe yours Points and Rewards as show in Table III. collaboration, and working in pairs. The entire team participated in players each Sprint retrospective meeting so that any issues or concerns that 1. Development team –In the Scrum the teams faced during the previous Sprint were addressed during the Team, the development team can be teaming and avoided in upcoming Sprints. The team would earn comprised of all kinds of people including 4,000 points to reach the achievement of Sprint Retrospective Lover. designers, writers, programmers, etc. 2. Scrum master - The Scrum Master is A Burndown chart is a run chart of outstanding work. It is useful the team role responsible for ensuring the for predicting when all of the work will be completed. Table VI team lives using agile values and shows Burndown points of 6 Sprints from 10 teams and Figure I principles and follows the processes and show overall Burndown chart which shows the summarized results practices that the team agreed they would for points of 10 teams. use. 230
2019 4th International Conference on Information Technology (InCIT2019) TABLE VI. BURNDOWN POINTS Team 12 Sprint 5 6 Fig. 3. Team and Individual Awards. 213 210 34 80 0 0 276 269 190 140 178 137 C. Discussion 1 300 300 238 211 184 140 A demonstration was performed with undergraduate students in 2 416 382 288 206 262 62 Software Engineering, Burapha University, who were working on 3 836 794 352 312 492 242 real world projects during one week. All of the tasks and reports 4 95 93 601 532 59 44 were present on the Scrum Board. Scrum with Gamification was 5 224 224 78 70 86 0 adopted for software development. The analysis of the data will be 6 242 219 149 117 176 89 explained next. 7 158 158 210 200 97 51 Gathering the results of the research was conducted with online 8 687 687 150 132 326 182 satisfaction questionnaires. Figure IV shows a summary of benefits 9 655 598 of adopting Gamification utilizing a Scrum framework for software development. 35.5% were assisted to increase cooperation at work, Overall Burndown 30.4% said the working process was more fun, 20.5% felt that Chart Gamification with Scrum was a challenge, while 10.3% thought it did not offer any improvements. POINTS 4,000 3,447 3,336 2,911 2,518 1,940 947 3,000 6 result. 2,000 1,000 0 12345 SPRINT Fig. 1. Burndown chart A Velocity Chart (Fig. 1.) displays the amount of value delivered Fig. 4. Satisfaction questionnaires in each Sprint, enabling prediction of the amount of work the team Fig. 4. displays the top four favorite elements about can get done in future Sprints. The best team would gain the Team- Gamification in the experiment which were 1) Leaderboard 29.3%, Top Task killer award. 2) Challenge or competition in game 26.7%, 3) Reward 25%, and 4) Presentation and voting 19% There were three visitors from X software company and two invited lecturers plus 14 developers from the ISERL laboratory who voted for the best quality software, the best presenter, and one individual with outstanding programming skills. The winners were shown on the achievement board as presented in Fig. 3. and the Leader of the day was presented on the Leaderboard as shown in Fig. 2. Fig. 2. Leaderboard. 231
2019 4th International Conference on Information Technology (InCIT2019) Although only one team won the prize of Team Top Task killers, this game element showed that all teams tried to complete User Stories in every Sprint. This result shows that the software development team had changed their behaviors for items 6 and 7. Furthermore, only one team won the Best Presenter award, but all teams had to present their project on the stage. This result shows that the software development teams had changed fully their 11 behaviors by following the Scrum process. At last, from the responses to the online questionnaires (in Fig. 5.), it was found that Gamification made the Scrum techniques more fun, motivating, and engaging for everyone involved. Fig. 5. Favorite game elements questionnaires result. B. Research Limitations At the end of the experiment, the representative of the product 1) This experiment focused on inexperienced developers. The owner (with 10 years of experience in software development and 3 game elements were selected for this study appropriately for young years of experience using the Scrum process) responded in the group people without programing experience. interviews session talking about the success of the product with this quote “I think 80 percent of product is ready to use. The new 2) Duration of the development phase was limited to only 6 developers understand and can follow the Scrum process days while usually a Scrum Sprint has a duration of 2 to 4 weeks. automatically.” A Scrum master said that “Rewards make practitioners have more fun and they are more engaged with the 3) In the future, the experiment should select two real world Scrum ceremonies.” One of the researchers concluded that “The software companies and run the experiment at both, comparing the Leaderboard challenged practitioners to fight for a standing at the top experimental results. of the group.” REFERENCES IV. CONCLUSION AND FUTURE WORK A. Conclusion [1] D. Basten, “Gamification,” IEEE Software, vol. 34, pp. 76 - This research was a study of changing developer behavior (show 81, September 2017. in Table I) when developing software by following Scrum framework utilizing Gamification to make Scrum techniques more fun, [2] K. Elissa, “Gamification in Software Engineering Education: motivating, and engaging for the developers. The players consisted of An Empirical Study,” 2017 IEEE 30th Conference on 1. Development team (75 second year students in software Software Engineering Education and Training (CSEE&T). engineering divided into 10 teams), USA, December 2017. 2. Scrum master (two third second year students and two teaching professors in software engineering), and 3. Product owner (14 [3] K. Werbach, D. Hunter, “For the Win: How Game Thinking developers with 3-10 years of experience with Scrum Framework). Can Revolutionize Your Business,” Wharton Digital Press, The 10 behaviors (table I) of Scrum practitioners were changed and Philadelphia, 2012. measured using the metrics in Table II, yielding the result show in Figure III. [4] G. Tondello, “The Gamification User Types Hexad Scale,” In addition, Table VII shows the rewards awarded the winning 2016 Annual Symposium on Computer-Human Interaction in teams after reaching the achievements. Play, UK, 2016. TABLE VII. REWARDS ENRNED. [5] S. Thongsukh, S. Kiattisin and Supaporn Kiattisin, “Startup Framework based On Scrum Framework,” 2017 International Team Rewards Conference on Digital Arts, Media and Technology (ICDAMT), Thailand, April 2017. 0-9 Badges Points 0 1,000 x 6 sprints [6] S. Modesto, “Using Gamification to Increase Scrum 6 “Scrum Planning Lover” 1,000 x 6 sprints Adoption,” Thesis to obtain the Master of Science Degree in 8 “Daily Scrum Lover” 1,000 x 6 sprints Information Systems and Computer Engineering, October “Sprint Review Lover” 1,000 x 6 sprints 2017. “Sprint Retrospective Lover” 100,000 [7] R. Marques, G. Costa, M. Mira da Silva and P. Gonçalves, “Best quality product” 100,000 \"Gamifying software development scrum projects,\" 2017 9th “Team-Top Task Killer” 100,000 International Conference on Virtual Worlds and Games for The Best Team Work 100,000 Serious Applications (VS-Games), Athens, 2017, pp. 141-144. The Best Quality Documents 50,000 The Best Presenter According to the results from Table VII, every team reached the behaviors 1, 2, 3, 4, 5, and 9. That mean all new Scrum practitioners understood the Scrum process and they had changed their 8 behaviors. 232
2019 4th International Conference on Information Technology (InCIT2019) Applied Genetic Algorithm per environment zone to solve problem of crops selection for intercropping by modified parameter of fitness function Penpun Chaihuadjaroen Pannawat Thanapirompokin Department of Computer Engineering and Informatics Department of Computer Engineering and Informatics Kasetsart University Si Racha Campus Kasetsart University Si Racha Campus Chonburi, Thailand Chonburi, Thailand pannawat.tha@ ku.th [email protected] Abstract—The objective is to establish the genetic algorithm II. RESEARCH METHODOLOGY to solve the problems for selecting suitable crop per environment From the literature review, Chaihuadjaroen and Mettanant zone which influence to the growth of such economic crop by represented Applied Genetic Algorithm to solve the problem modified the fitness function from environment data of farmer of selection economic crops for farmers in the eastern region land and environment which is suitable for each type [1] by proposed Genetic Algorithm for solving the problem of of economic crop to be considered with farm price per rai. selecting the suitable economic crops equivalent to the growth There are two types of parameters which are designed for of such crops. The procedure is done by modified fitness assisted the selection type of economic crops and compared with function data of farmer’s environment land and required the the result from two types of parameter. The result is an necessary environment of economic crops to be considered economic crop for one type or more, which has a suitable with harvest price per rai. The result is one type of economic qualification with farmer land and contribute realistic crop which has a suitable qualification with farmer’s land and cultivation and maximum harvest price. giving maximum harvest price. Nevertheless, Chaihuadjaroen and Supeesun represented a selection of economic crops for Keywords— Intercropping, Genetic Algorithm, Fitness intercropping in the same land by using Applied Genetic function, Economic crop, Crop selection Algorithm to solve the problem[2]. The selection of economic crops might be only one type or more to be grown in the same I. INTRODUCTION land by modified Applied Genetic Algorithm equivalent to each plot of land. The result is several types of economic crop Economic crops for intercropping is currently receiving which can grow in the same land and suitable for farmer’s more attention as it can increase farmer’s income, improve soil land, also giving the farmer the maximum harvest price up to quality, reduced cost of chemical fertilizer, which can support the condition of such land. However, a fitness function is done the farmer to reduce production cost. Moreover, if there is an by the value of total suitable intercropping plants multiplied outbreak of plant disease to their farmland, it will not affect all by harvest price per rai. In the case of unfertile land such as types of crops as some type to continue living. To select the dry land, type of selected crop even if it can offer a higher most suitable crops matching with the most proper land income, but it is not the reality of plantation. This is because environment for both main crop and intercropping is bringing of some crops have sale price per rai much over than others a good result to the cultivation, and tend to increase farmer such as asparagus or lemon as per table 1. Although the land income. This research is to adopt Applied Genetic Algorithm condition has less appropriation with such crop but being to apply with the intercropping plan and matching with the multiplied with the higher sale price, the output data which is appropriate land environment. The propose is to select the type selected by the algorithm will lead to the most appropriate of economic crops for intercropping. The result of selection is crop. The farmer will not plant any crop which needs a lot of types of economic crops that have suitable qualifications with water in the dry land. The outcome of such a crop will be less farmer’s land and contribute realistic cultivation with than usual and become undersized, which cannot sell at a maximum harvest price as much as possible by modified new higher price. method of fitness function. This newly invented method of fitness functions is effective for realistic crops selection to A. Factors which influence the growth of crops contribute the maximum income from such farmland as much There are six main environment factors which influence as possible. Mainly, it is more useful for the medium and low- quality environment farmland than the previous method of the growth of crops [2] included 1) land area included almost fitness function, which is considering the amount of income. plain highland, undulated highland, lowland, basin lowland 2) Therefore, the result of selection is merely high price crops, soil type included sandy, clay, loam, sandy loam, sandy clay but it is unable to grow in the farmland and unworthy for loam, sandy clay, red earth or soil with gravel 3)soil fertilize farmer’s resources and labor cost. included high soil organic, medium soil organic, low soil organic 4)weather included cold, freeze, warm, hot, very hot This research is using data of case study 45 economic crops 5) water or moisture included less water, semi less water, in the eastern region of Thailand. The Environment factor data semi moisture, high moisture or damp 6) sunlight such as which influence the growth of crops come from government shade, medium sunlight, whole day sunlight. There are 45 agencies of the Ministry of Agriculture and Cooperatives [3- economic crops in the eastern region [3], each type also needs 4] and Department of Agronomy Kasetsart University Kamphaeng Saen Campus [5]. 233
2019 4th International Conference on Information Technology (InCIT2019) TABLE I. REPRESENT GENETIC CODE, TYPE OF CROP AND SALE PRICE ������������ = 1, the probability to generate 1 in each gene is 0.03 ,and OF EACH CROP PER RAI, CROPS WHICH HAVE SALE PRICE MORE THAN 100,000 probability to generate 0 in each gene is 0.97. BAHT PER RAI INCLUDED P21 LONG BEAN, P35 LEMON, P39 PEPPER, AND P44 ASPARAGUS. TABLE TYPE STYLES Gene type of Price/ Gene type of Price/ P1 P2 … P44 P45 tic crop Rai tic crop Rai code Palm oil 17,650 code 92,000 Fig. 1 Represent encoding chromosome ������ included gene P1 P24 Durian ������1, ������2, … , ������45 Soybean 6,000 21,650 P2 P25 Mangos- 2) Setting primary population: ������1, … , ������������. Peanut 14,000 24,100 P3 P26 teen 3) Checking chromosome: indicated type of crops which Rambutan is able for intercropping as ������ by ������������1������2 ∈ {0,1}, ������1 = 1, … ,45, ������2 = 1, … ,45 by ������������1������2 = 1 for selection crop P4 Coconut 19,300 P27 Lychee 13,300 type ������1 intercrop with crop type ������2 and ������������1������2 = 0 is unable to select crop type ������1 intercrop with crop type ������2 . After P5 Sesame 15,210 P28 Longkong 12,000 considered chromosome ������������, chromosome which is applicable for matching is the one which has a collaborate qualification P6 Castor 1,944 P29 Mango 26,700 of the gene in chromosomes such as coconut gene and cassava 10,700 P30 Tangerine 67,800 gene, but tomato gene and rice are unable for the matching. P7 In-season Thus, if that chromosome is unable for the matching gene, it rice 63,000 will be indicated as a dismiss chromosome. Off- 45,000 77,900 P8 season 10,500 P31 Pomelo rice Golden banana P9 Maize 7,000 P32 Banana 4) Modifying Fitness Function: taking population from 5,000 P33 procedure No.3) to calculate the fitness function value P10 Grass ������(������, ������, ������) is score of factor in gene ������ , factor ������ and type of factor ������ by ������(������, ������, ������) ∈ {0, 0.25, 0.50, 0.75, 1.0} result of P11 Sorghum 4,800 P34 Guava 90,000 score is 1.0 means good, 0.75 means fair, 0.50 means moderate, 0.25 means small and 0 means not applicable. If P12 Tapioca 10,000 P35 Lemon 185,900 ������(������, ������, ������) is equal to 0 means that environmental factor is unable to grow any crops, it will be indicated as dismiss P13 Sugar- 9,000 P36 Rubber 17,000 chromosome. The fitness function of the chromosome ������������ is cane total of cultivating price in chromosome to be multiplied by the total value of suitable factor as equation No. 1 P14 Garlic 66,800 P37 Coffee 6,100 P15 Brown 65,000 P38 Tea 59,000 onion 56,000 P39 Pepper 120,000 P16 White onion P17 Potato 20,000 P40 Kenaf 7,000 ������������������������������������������������ ������������ ������������������������������������������ Chili ������������ = ∑���4���=51 ∑���6���=1 ∑������=������1������������ ������������������������������������ ������ ������������ ∗ ������(������, ������, ������) ∗ ������������ (1) pepper P18 30,000 P41 Tobacco 24,900 where ������������ : is the price of crop type ������. P19 Tomato 25,000 P42 Cotton 7,300 5) The selected population as male and female parents: in this research, the selection of male and female parents P20 Baby corn 7,400 P43 Sun 6,600 population will be made by Ranking Selection. flower 206,000 60,000 P21 Long 108,600 P44 Asparagu 6) Switched plant breeding and mutation: Switched plant bean s breeding will be done by cross over design with one point type by sampling joint within chromosome ������ for 1 position and P22 Pine 21,000 P45 Multiplier switched gene after crossing over point between male and apple onion female parents’ chromosome. For Mutation, every chromosome has a probability of being mutant as ������������. In this P23 Longan 18,000 experiment, the indication for mutation is ������������ = 0.03, for mutation chromosome will sampling 1 gene and swap value of different factors. The data which has to input in the system as such gene. a pattern of environment factor includes six-factors. These factors is land data of farmer, the sample of the experiment 7) Next-generation population: a selected population came from farmers in Tambon Nongkham Amphur Sriracha which has the most suitable value to the primary population or Chonburi province. The six-factor of sample environment area equal to the quantity of the remainder chromosome. If the is included; undulated highland, sandy loam soil, high soil remainder is less than the primary population. organic, hot weather, semi moisture, and medium sunlight. B. Applied Genetic Algorithm for crops selection 8) Looped process: looped the procedure No. 3) and setting Applied Genetic Algorithm is a method to find out the condition for the stopped process when finished setting turns or there is no remaining chromosome. result of input by estimated value to get the best output. The output is done by imitation natural evolution[7]. The From the applied Genetic Algorithm process for crop procedure of Applied Genetic Algorithm for crops selection selection as above, it found that fitness function is a method to for intercropping according to a land environment of the use the total value of the suitable crop and land area multiplied farmer is as under; by cultivating price per rai. In the case of fertile land which will get a positive result whereas unfertile land such as less 1) Designing chromosome: it is allowed chromosome ������ = water, the result might be positive, but it is not realistic for ������1, ������2, … , ������45 as gene procedure for 45 genes as Fig.1, crop selection. As the value of cultivating price per rai is which are a list of 45 economic crops in the eastern region as Table 1. For ������ = 1, 2, . . . ,45 We defined gene ������������ is a variable by ������������ ∈ {0,1} , ������������ = 0 for not to grow crop type ������ and, ������������ = 1 for growing crop type ������. In this experiment, it is allowed 234
2019 4th International Conference on Information Technology (InCIT2019) 250,000 Threshold and parameter. Moreover, we consider the environment factor ������(������, ������, ������). If its value is less than indication 200,000 value, it indicates such a chromosome to die. For any gene ������, it is summarized value of gene ������ factor replace by ������������ as Price/Bajt 150,000 equation number 3 100,000 ������������������������������������������������ ������������ ������������������������������������������ 50,000 ������������ = ∑ ∑6 ������������������ ������������������������������������ ������ ������������ ∗ ������(������, ������, ������) (3) ������=1 ������=1 0 So, ������������ ∈ [0,6] for some gene ������ in chromosome ������������ which p6 p43 p13 p27 p23 p26 p32 p15 p24 have value ������������ or ������(������, ������, ������) less than criterion, it will indicate to Types of Crop dismiss chromosome such as ������������ over 90% and ������(������, ������, ������) ≥ 0.75. If ������������ < 5.4 or ������(������, ������, ������) < 0.75 that means to dismiss Fig. 2 Represented price per rai of each crop arrange in ascending order such chromosome. The suitable value of chromosome ������������ is to bring total price to multiply with total suitable factor as greatly over other economic crops, therefore the result tends Equation No. 5. to deviate to such kind of crop. This research is to trial for the improvement of two new fitness function. III. MODIFIED FITNESS FUNCTION ������������′′ = ∑4������=51 ������������ ∗ ������������ (5) The experiment is to modify two new patterns of fitness function as under; A. Modified Fitness function by reduced price difference IV. RESULT with function logarithmic. The experiment to compare and modify two new fitness function is evaluated by the maximum income and realistic Refer to the price difference of each type of economic crop evaluation to select the type of crop. Income is this research per rai is significantly different, the most expensive is means cultivate price per rai multiply by percentage of the asparagus with a price of 206,000 baht, the lowest price is total value of the land environment and crop requirement castor with a price of 1,944 baht, and the average price of 45 factor such as a suitable environment for the crop is 5.75. This economic crops is 39,603.42 baht. However, there are 4 types means that such a crop has a suitable value for growing in such of crops which have very high price caused to unrealistic result land as 95.68%. If cultivate price per rai is 30,000 baht, income if using previous fitness function. The price difference of crops from this land is 28,479 baht. From this experiment, the presented as Fig. 2. meaning of good environment factor means the condition of land is good quality, having six environment factors which are From this research, it was done by modified price suitable for crop requirement. The medium quality means such difference for not to have too much different price, but still land has some environmental factors, even it does not have full controlling the price difference. It is also allowed to accept all quality, but it is still able for planting. In this case, it is types of land environment which can grow crops, and the indicated to be semi-dry land, and medium fertilize area. For modification done by function logarithmic. The suitable value low quality means that such land has a low-level quality of is as equation No. 2. environment factor for some factors or all factors such as dry land. Sample for the experiment is indicated all three ������������������������������������������������ ������������ ������������������������������������������ conditions as Table 2. The experiment started from an indicated primary population for 1,000 sets, the primary ������������′ = ∑4������=51 ∑6������=1 ∑ ������������������ ������������������������������������ ������ ������������ ∗ ������(������, ������, ������) ∗ ������������������������ ������������ (2) population for 10,000 sets and 100,000 sets for 50 models, the mutation rate is 0.03. The procedure 4.1 to 4.2 start modifying ������=1 fitness function in each pattern to find the best output parameter. Where ������ is base of logarithm function A. Result of modified fitness function by reduced price B. Modified Fitness function by indicated Threshold as the difference with function logarithmic. per percentage of environmental factor. TABLE II. SAMPLE OF LAND FOR THE EXPERIMENT INCLUDED From the problem as mentioned above, the method of crop selection by fitness function is not enough, because the Fact Type of Good Medium Low summarized appropriation value of the crop and land area or factor quality quality quality multiplied by sale price per rai. Though, it also needs to No. consider the outcome of the plantation that having enough Undulated Undulated Undulated quality or not. From the 1st equation, which indicates ������(������, ������, ������) 1 Land area highland highland highland is equal to 0, it means that environmental factors are unable to plant such crop. This indicates the chromosome to die. If there 2 Soil Sandy loam Sandy loam Sandy loam is only one factor from six environment factors having not appropriation at a high level for planting. It results in low- 3 Soil High soil Medium Medium quality output such as lemon which is needed plenty of water fertilize organic if the environment factor of moisture is equal to 0.25. The soil organic soil organic output of planting will less than expected, and it is not worth for investment. From the research, it was designed 2 value of 4 Weather Hot Hot Hot parameters to be used as a standard to measure the condition of land for such crop planting. If it is pass, it means that the 5 Water Semi Semi less Less water quality of output of planting will be good enough as per moisture water requirement or not. In this case, we will use a percentage of summarized appropriation factors for crop and land area as 6 Sunlight Medium Medium Medium sunlight sunlight sunlight 235
2019 4th International Conference on Information Technology (InCIT2019) 500,000 TABLE IV. RESULT OF APPLIED FITNESS FUNCTION TYPE OF REDUCTION 400,000 300,000 BY FUNCTION LOGARITHM 200,000 Price/Baht 100,000 Environ Price log Type of crop Realistic ment 382,279.17 result 0 factor 349,037.50 Log4 brown onion, white Yes Good 106,208.33 onion, durian, log-1000 log-10000 log-100000 Log4, lemon No Primery population size medium Log6 Log6 brown onion, white No Good Environment Medium Environment Low Environment low onion, *durian, lemon *chili pepper, banana, rubber Fig. 3 Represents compared data income between the primary land. Nevertheless, high price crop such as lemon and durian population of three sets in good environment factor, medium are not selected to grow in the low-quality land. Besides, there environment factor ,and low environment factor with fitness function is a new problem occur as medium price crop is selected to grow in the low-quality land and also not appropriate with land by reduced price difference with function logarithmic. quality. The result found that chili pepper is selected. On the other hand, the output of chili pepper is around 25% if growing The experiment started from the indicated primary in the semi-dry land, which is not worth enough for population for 1,000 sets, the primary population for 10,000 investment. This caused to unrealistic crop selection by the sets and 100,000 sets by using fitness function with function algorithm. logarithmic. Then, compare five patterns logarithmic included ������������������2, ������������������4, ������������������6, ������������������8 and ������������������10, and select the best output It found that all kind of crops are appropriate with land from every pattern as Fig. 3 ,which represents compared data income between a primary population of three sets in good quality and giving an output of plantation not less than 75%. environment factor, medium environment factor and low environment factor. The result from this experiment found that This method can solve the problem of inappropriate crop the primary population and good environment factor are selection in case of medium and low-quality factors. effects to income, the maximum income is 382,279.17 baht with the primary population for 100,000 sets and growing in a B. Result of modified Fitness function by indicated good environment factor. In a good environment factors, ������������������4 Threshold as per the percentage of environmental factor. is the maximum income. In the case of medium environment The experiment started from an indicated primary factor, ������������������4 and ������������������6 are the maximum income and in the case of low environment factor ������������������6 is the maximum income. population for 1,000 sets, the primary population for 10,000 sets and 100,000 sets by using fitness function to indicate To consider for the reality of crop selection, it is to threshold as per the percentage of environmental factor. It is compare with the previous method, which is to select by the to compare the percentage of all environment factors which maximum sale price of the crop, as shown in Table No. 3 and each crop needs to compare with farmer land with a total of logarithm method as for Table No. 4. The method to select by four types included, 95%, 90%, 85 %, and 80% the maximum sale price in case of good quality land, the respectively. The condition for survived chromosome has to selected crop will suitable with land and giving higher income. suitable with all factors with more or equal to 0.75 as Fig. 4 In the case of medium quality land, it found that durian is which represents compared data income between a primary selected to grow in the medium quality land with semi-dry population of three sets in good environment factor, medium land. The output of durian is only 50%. The farmer will not environment factor and low environment factor. The result plant any kind crop which giving output at this level. However, from this experiment found that the primary population and the output of durian and lemon will only 25% if growing in the good environment factor are effects to income; the maximum poor soil. Therefore, this method of crop selection is still not income is 382,279.17 baht with the primary population for appropriate. 100,000 sets. In a good environment, the output from Threshold 80-95% is the maximum income. In the case of the Result of applied fitness function type of reduction the price difference by function logarithm as shown in Table 4. In Price/Baht 500,000 the case of a good quality environment, the selected crop will 400,000 suitable for land and giving higher income. However, it is 300,000 unable to solve the problem of crop selection by selected high 200,000 price crop but not appropriate with medium quality land. It 100,000 found that durian is still selected to grow in the medium quality 0 TABLE III. RESULT OF FITNESS FUNCTION BY SELECTED ONLY MAXIMUM SALE PRICE P-1000 P-10000 P-100000 Environment Price Type of crop Realistic Primery population size factor 382,279.17 result Good 349,037.50 brown onion, white Yes Good Environment Medium Environment Low Environment onion, durian, lemon Medium 253,262.50 brown onion, white No Fig. 4 Represents compared data income between the primary population of three sets in good environment factor, medium Low onion, *durian, No environment factor and low environment factor with fitness lemon function by indicated Threshold as the per percentage of brown onion, environmental factor *durian, *lemon 236
2019 4th International Conference on Information Technology (InCIT2019) TABLE V. RESULT OF APPLIED FITNESS FUNCTION TYPE OF REDUCTION grow such kind of crops although fitness function which indicated threshold as per percentage of environment will BY INDICATED THERESHOLD AS PER THE PERCENTAGE OF ENVIRONMENT accurately select type of crop matching with all type of environment factors. FACTOR From the result of this experiment, it found that if such area Environ Price Percent Type of crop Realistic has good quality and indicated start population for 100,000 ment 382,279.17 80-95% result samples. It can select all type of fitness function. In the case of factor 221,837.50 80-90% brown onion, Yes medium and low quality area, the most suitable fitness Good 35,541.67 white onion, function is a type of indicated threshold as per the percentage same durian, lemon Yes of the environment by indicated percentage as 80-90%. The medium mango, guava, Yes output is the most suitable for such an area, and it can solve the problem of inappropriate crop selection. However, if the low pepper land of such farmer is deficient quality, the algorithm may not pineapple, rubber select any crop. Revised percentage of environment factor and adjusted value of all suitable factors allow the algorithm to medium environment, Threshold 80-90% is the best output. select the type of crops to assist the farmer to have more Lastly, for a low environment, the remaining chromosome is alternative to select the type of crops. a minimal amount. Therefore, the output from all factors is nearly the same. REFERENCES To consider the realistic crop selection in table 5, if the [1] P. Chaihaudjaroen and V. Mettanant, “Genetic Algorithm for support environment is good, the output for crop selection, which is Thai farmers in the Eastern Region to solve the problems for selection suitable with farmland and contributed high income. In the the appropriate economic plant in each environment,” The 2012 medium environment, mango, guava, and pepper are selected International Computer Science and Engineering Conference. to grow. In the low environment, pineapple and rubber are Thailand, pp. 248–251, October 2012. selected to grow. [2] P. Chaihuadjaroen and A. Supeesun, “Applied Genetic Algorithm for It found that all kind of crops are appropriate with land selection variety of economic crops for intercropping,” The 3rd KU SRC quality and giving an output of plantation not less than 75%. Annual Conference. Thailand, pp. 327-331, August 2018. This method can solve the problem of inappropriate crop selection in case of medium and low-quality factors. [3] Office of agricultural economics, “Agricultural Statistics of Thailand V. CONCLUSION AND DISCUSSION 2018,” Office of agricultural economics. Thailand, ISSN 8057-6610 The output from the experiment of fitness function compared between fitness function which considering the only [4] P. Vijarnsorn and C. Jongpakdee. “General Soil Map of Thailand (Scale the amount of income, by reduced price difference with 1:1,000,000),” Soil Survey Division, Land Development Department, function logarithmic and by indicated Threshold as per the Ministry of Agriculture and Cooperatives, Bangkok,1980. percentage of environmental factor. Considering both income and realistic selection of growing crops by modified three [5] Department of Agronomy Kasetsart University Kamphaeng Saen fitness functions as table 6. Campus , “Economic crops,” Kasetsart University Press. In the case of medium and low environment factors, fitness function, which is considered by maximum sale price and [6] N. Eamsupasit, “Economic crops,” Sukhothai Thammathirat Open function logarithm select the high price crops but unable to University Press. [7] Man K.F., Tang, and S.Kwong, “Genetic Algorithm: Concept and Designs,” Springer Verlag. [8] Goldberg, D. E., “Genetic Algorithms in Search, Optimization, and Machine Learning.,” Reading, Mass: Addison-Wesley. TABLE VI. COMPARED THE OUTPUT OF FITNESS FUNCTION BETWEEN CONSIDERING ONLY INCOME AND CONSIDERING BOTH INCOME AND REALISTIC SELECTION BY FITNESS FUNCTION WHICH IS CONSIDERING THE AMOUNT OF INCOME AND THREE MODIFIED FITNESS FUNCTIONS. Fitness function Good Environment Land Environment Low Environment Income Realistic Middle Environment Income Realistic Fitness function which is considering the Income Realistic amount of income Modified Fitness function by reduced 382,279 Yes 347,037 No 253,262 No price difference with function logarithmic 382,063 Yes 349,037 No 106,208 No Modified Fitness function by indicated Threshold as per the percentage of 382,279 Yes 221,837 Yes 35,542 Yes environmental factor 237
2019 4th International Conference on Information Technology (InCIT2019) Two Recognition Models for Thai Dancing Data Set Chayanin Tongphasook Chantana Chantrapornchai Department of Computer Engineering Department of Computer Engineering Kasetsart University Kasetsart University Bangkok, Thailand Bangkok, Thailand [email protected] [email protected] Abstract— Human activities recognition has been developed Fig. 1. Architecture of 3D CNN [2]. using various techniques for optimal recognition and many data sets have also been developed for this task. However, some Thai The general concept of 3D CNN is similar to CNN. The culture activities cannot be recognized by the techniques difference is 3D CNN adds another dimension of time in the developed by oversea data sets. That is the main motivation for model. Both input data and kernel must be contained in any collecting a new data set about Thai dancing in this work. We 3D structure such as matrix as shown in Fig. 1 compare the performance between 2 recognition techniques, i.e. C. Long Short Term Memory 3D CNN and LSTM against this task. Five classes from 16 volunteers are collected in this data set. Then, two existing Long Short Term Memory [3] (LSTM) is an architecture models from each technique are trained by the Thai dancing developed from Recurrent Neural Networks (RNN) to expand data set with 16 batch size and 50 epochs using 7:3 to represent the memory limit. Ordinarily, RNN has short term memory to the ratio between the number of training data and test data. The use output data from the last stage as the current stage’s input final results show that LSTM model achieved 0.1250 accuracy data. The problem occurs for long sequence data since there which is better than 3D CNN obtaining the accuracy score of are many decimal inputs for the calculation process. This 0.0800. problem is called Vanishing Gradient Problem. Keywords—Neural Network, Activity recognition, Video According to Fig. 2, LSTM (lower figure) has Forget Gate, classification, 3D CNN, LSTM, Thai folk dance Input Gate, and Output Gate as an additional structure from the basic RNN (upper figure). However, the main idea still I. INTRODUCTION remains the same. The output data from the last stage is the current stage’s input data. For the added gates, they help Several human activity recognition techniques are LSTM to select which data should be kept and which one can developed, and the training data sets are collected for this task. be ignored. However, some Thai activities cannot be recognized well by existing pretrained models which are developed under the Fig. 2. Architecture of RNN and LSTM [3] foreign standard data sets. In this work, we collect Thai folk dance data set for developing. Two models with 2 different techniques: 3D CNN and LSTM are compared against this task. From the experiment, it is found that LSTM can perform better than 3D CNN. The paper is outlined as following. In the next section, we review the 2 models briefly. We also give some background of Thai folk dance. In Section 3, we propose the methodology and the results are presented in Section 4. Finally, Section 5 concludes the paper. II. RELATED WORK In this section, we explain the relation work in the recognition task for videos. We also describe the basic Thai folk dance as it is a part of our data set. A. Human Activity Recognition Human Activity Recognition [1] (HAR) is a problem of classifying the movement of a person. The data about the movement can be collected by any sensor such as accelerometer on smart phones. The data is usually long which can be generally divided to be subs-sequences called windows. B. 3D Convolutions Neural Network 3D Convolutions Neural Network [2] (3D-CNN) is an architecture developed from Convolutions Neural Network (CNN) using more memory for Tensor input size as 3D. This is able to detect the movement data from adjacent frames through any input signal. 238
2019 4th International Conference on Information Technology (InCIT2019) D. Thai folk dance specific type of activity such as Sports-1M [9] that contains Thai folk dance [4] was evolved from Ramthone, a popular only sport activity videos. The proposed work is attempted to integrate advantage from these 4 standard dataset. The dataset seasonal entertainment of a certain region. structure follows UCF 101 that is built as original standard. About 2487 B.E., Fine Arts Department wrote lyrics for 4 There are only non-cutting videos, so there is not the environment problem. All videos are not uploaded to songs include \"Ngam Sang Deuan\", \"Jao Thai\", \"Rum Ma Si YouTube, thus the way to decrease data set size is using a Ma Rum\", and \"Kuen Deon Ngai\". After that, Lady La-Aead light-weight data type and mute all videos. And, the proposed Piboonsongkram wrote other lyrics for new 6 songs include data set contained only the Thai folk dance activity type \"Duang Chan Won Pen\", \"Dok Mai Khong Jart\", \"Yhing Thai Chai Ngam\", \"Duang Chan Kwan Pha\", \"Yord Jai Chai III. DATA SET COLLECTION Haan\", and \"Buja Nuk Rop\". The Fine Arts Department and For the data set collection, the first step is to study about The Government Public Relations Department were in charge Thai folk dance to be able to pick the approximate of the melody part while Mr. Chaloem Sawetanan and Mrs. choreographs. We collect data and preprocessed them. For all Lamun Yamakhup choreographed the dances. To play, videos, the dancer would be captured the whole body in front everybody stands in a straight line and moves of fixed background and danced at the center of frame. counterclockwise. The characteristic of videos are as following: • 480p The Fine Arts Department would like to adjust all arts in • ratio 3:4 all 10 songs viz lyrics, melody, choreography, and clothes to • 30 second clip length make it easier to spread out this tradition and preserve it. All • AVI file type songs with their choreography are shown below [5]. Figure 3 shows the example of video which is the dance called Sod Soi Ma La Plaeng. 1. Ngam Sang Deuan - Sod Soi Ma La The data set directory structure follows the directory 2. Jao Thai - Chak Pang Pad Nar structure of UCF-101 standard dataset. Data in each class are 3. Rum Ma Si Ma Rum - Rum Sai grouped into directories using class name as directory name 4. Kuen Deon Ngai - Sod Soi Ma La Plaeng that is shown in Fig 4. Each class refers to each choreography 5. Duang Chan Won Pen - Khaek Tao Khao Rang, and as follows. Pha La Phiang Lai Fig. 3. Sample video 6. Dok Mai Khong Jart – Rum Yua 7. Yhing Thai Chai Ngam - Phrom Si Na, and Yung Fon Hang 8. Duang Chan Kwan Pha – Chang Pra San Nga, and Chan Songklot Plaeng 9. Yord Jai Chai Haan – Cha Ni Rai Mai (for women), and Cho Phloeng Kan (for men) 10. Buja Nuk Rop – Khat Chang Nang (for women), ChanSong Kon (for men), Lo Kaeo (for women), Kho Kaeo (for men) However, only five choreographs are used in this work including \"Sod Soi Ma La\", \"Chak Pang Pad Nar\", \"Rum Sai\", \"Sod Soi Ma La Plaeng\", and \"Rum Yua\" because both women and men use the same choreography for the whole each song. E. Actitivity recognition data set From the past, the data set collecting for the model development has grown up and there are many standard data sets now. First, UCF 101 [6], the early standard dataset that has been used to develop many models for long time, collects movement activity videos total 101 classes with the number of videos up to ten thousand. Nevertheless, some videos are cut short part from the same original videos. It means background and environment of those videos would be similar. Many researchers tried to increase the number of clips to avoid same-environment data. ActivityNet-200 [7] is another one which can fix the problem. Apart from the data size, the data set contains non-cutting videos, so there is no need to worry about the environment problem. Next, DeepMind Kinetics [8] collects data from YouTube URLs to decrease overall data set size and grows the number of videos up to hundred thousand. Some other data set focus only a 239
2019 4th International Conference on Information Technology (InCIT2019) Fig. 4. Directory Structure Fig. 5. 3D CNN Results • class_1: \"Sod Soi Ma La\" from \"Ngam Sang Deuan\" • Test accuracy = 0.0800 • Test loss = 2.0514 • class_2: \"Chak Pang Pad Nar\" from \"Jao Thai\" • Train accuracy = 0.7544 • Train loss = 0.7072 • class_3: \"Rum Sai\" from \"Rum Ma Si Ma Rum\" It is noted at in Figure 5a and 5b, the training accuracy is increased up to 75% while the testing accuracy is maximum • class_4: \"Sod Soi Ma La Plaeng\" from \"Kuen Deon at 30%. Ngai\" 2) LSTM: The selected LSTM has 512 hidden units and • class_5: \"Rum Yua\" from \"Dok Mai Khong Jart\"ratio embedding size = 100. When we tried to fit, it would get 3:4 parameter from last stage and keep created a new model for the current stage. We use batch size=16. The results appear in The obtained data is too large and unstructured. To Fig. 6. The LSTM model took about 155 seconds per epoch preprocess, we grouped videos in the structure shown in Fig. and other value as below. 4 as mention before. Since AVI is a light-weight video datatype, we decrease the dataset's size by converting all files • Test accuracy = 0.1250 to AVI and mute them. • Test loss = 4.3806 • Train accuracy = 0.9792 IV. EXPERIMENTS • Train loss = 0.0736 To compare both technique, each source model for each technique should be selected to have close baseline performance. To select, we run each model under the same environment using the same data set, UCF 101, batch size=16, epoch=50, and train:test ratio=7:3. Finally, the proper source model is selected. • 3D CNN model: https://github.com/dipakkr/3d--cnn-- action--recognition.git • LSTM model: https://github.com/chen0040/keras-- video--classifier.git 1) 3D CNN: The selected model has total 16 layers consist of 4 Conv3D layers with kernel size = 3*3*3 for each layer, 4 activation layers with Rectified Linear Unit activation function and softmax activation function, 2 MaxPooling3D, 3 dropouts, 1 flatten, and 2 dense. First, it repeats the pattern Conv3D-ReLU activation-Conv3D-softmax activation- MaxPooling3D-Dropout for 2 times, then ends up with Flatten-Dense-Dropout-Dense. The parameters for training include batch size=16 and epoch=50 with train:test ratio = 7:3. The results appear in Fig. 5. Overview, 3D CNN model took about 61 seconds per epoch and other value as below. 240
2019 4th International Conference on Information Technology (InCIT2019) Fig. 6. LSTM Results From Fig. 6, the maximum accuracy obtained from training is 0.9792 and for testing is 0.1250. According to the experiment, high epoch parameter causes over fitting with the data set. Thus, there are more additional experiments at epoch = 10, 20 and learning rate = 0.01, 0.001, 0.0001. You can find the result in Table 1 The result was analyzed and presented in the graphs in Fig. 7. A. Analysis According to Fig. 7, it indicates that test accuracy for both techniques is about. While LSTM’s test loss is increasing than that of 3D CNN for high epoch. For train values, the LSTM model returns the better result for both accuracy and loss. 3D CNN is better in term of training time and test loss and LSTM is better in term of training accuracy. Fig. 7. Trendline of all results 241
2019 4th International Conference on Information Technology (InCIT2019) TABLE I. SUMMARY RESULT AT DIFFERENT EPOCH AND LEARNING REFERENCES RATE [1] J. Brownlee, Deep Learning Models for Human Activity Recognition, Machine Learning Mastery, 2018, Available at: V. CONCLUSION AND FUTURE WORK https://machinelearningmastery.com/deep-learning-models-for- In this paper, we present the activity recognition task for human-activity-recognition, Accessed November 16, 2018. Thai Folk dancing. We collect the data set by recording from volunteers under controlled video characteristics. We explore [2] S. Ji, W. Xu, M. Yang and K. Yu, \"3D Convolutional Neural Networks the two recognition models: 3D CNN and LSTM. From the for Human Action Recognition,\" in IEEE Transactions on Pattern experiment 3D CNN is more proper since it is faster. In the Analysis and Machine Intelligence, vol. 35, no. 1, pp. 221--231, other hand, LSTM yields more high accuracy but takes longer January 2013. training time. We will attempt to improve the accuracy which involve the data set feature analysis, adding dropout and [3] S. Hochreiter and J. Schmidhuber, “Long shortterm memory\", Neural regularization as well as the changes of 3D CNN structure and Computation, vol. 9, no. 8, pp. 1735–-1780, November 1997. LSTM architecture. [4] TruePlookpanya, Thai folk dance, TruePlookpanya, 2017, Available ACKNOWLEDGMENT at: http://www.trueplookpanya.com/learning/detail/353, Accessed We would like to thank KU Thai dance club for providing November 16, 2018. the volunteers for video recording. [5] Paakpoom maneebangka, Thai folk dance, Ajanthus, 2012, Available at: https://sites.google.com/site/ajanthus/rawng-matrthan, Accessed November 16, 2018. [6] K. Soomro, A. R. Zamir and M. Shah (2012). UCF101: A Dataset of 101 Human Actions Classes From Videos in The Wild. CoRR, abs/1212.0402. [7] F. C. Heilbron, V. Escorcia, B. Ghanem and J. C. Niebles, \"ActivityNet: A large-scale video benchmark for human activity understanding,\"2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Boston, MA, 2015, pp. 961-970. [8] W. Kay, J. Carreira, K. Simonyan, B. Zhang, C. Hillier, S. Vijayanarasimhan, F. Viola, T. Green, T. Back, P. Natsev, M. Suleyman, A. Zisserman, arXiv:1705.06950, May 2017. [9] A. Karpathy, G. Toderici, S. Shetty, T. Leung, R. Sukthankar and L. FeiFei, \"Large-Scale Video Classification with Convolutional Neural Networks,\" 2014 IEEE Conference on Computer Vision and Pattern Recognition, Columbus, OH, 2014, pp. 1725-1732. 242
2019 4th International Conference on Information Technology (InCIT2019) An Evaluation of Virtual Machine Placement by Using Live Migration Kunihiko Sakurai Hiroshi Sano Phonepadith Phoummavong Course of Information and Dept. of Communication and Network Dept. of Computer Engineering and Telecommunication Engineering Engineering Information Technology. Graduate School of Information and School of Information and Faculty of Engineering Telecommunication Engineering National University of Laos, Telecommunication Engineering Tokai University, Tokai University, Vientiane, LAO [email protected] Tokyo, Japan Tokyo, Japan sakurai@ishiilab net sano@ishiilab net Hiroshi Ishii Dept. of Communication and Network Engineering School of Information and Telecommunication Engineering Tokai University, Tokyo, Japan ishii@ishiilab net Abstract—Virtualisation technology which can decrease the desktop protocols from the viewpoints of network throughput, number of physical machines to use the resources effectively has network delay, and transfer time [2], [3], [4], [5]. However, become a research trend. Several methods of Live Migration those existing studies do not well take into account such actual (LM) for Virtual Machine (VM) Placement have been network conditions that may affect the success of LM as proposed. However, existing LM methods do not well take into transfer time and Random-Access Memory (RAM) usage of account, such as transfer time and Random-Access Memory each VM. (RAM) usage of each VM. Considering this situation, we have already proposed a method of LM in case of “on-premise” Considering these situations above, we have started the system structure to balance the load of each physical server study how to reflect the actual network conditions into the LM considering total RAM usage by VMs in a physical server and method. Here, we assumed that systems are “on-premise” the bit transfer time proportional to Round-Trip Delay Time ones and that they are interconnected via the Internet Virtual (RTT). Also, through a preliminary evaluation, we have shown Private Network (VPN), which is usual for small scaled that our method has a possibility to make the total processing organisations. In the environment, the network bandwidth is time shorter. Based on this result, this paper revisits the obviously limited, and RAM usage makes the transfer time proposal, evaluates it by giving additional conditions and shows much longer. Therefore, Round-Trip Delay Time (RTT) and its effectiveness. RAM usage are significant factors to decide whether LM is implemented. LM must be used to balance the load of each Keywords— Virtual Machine, Live Migration, Load server as well as not to give users inconvenience, such as long Balancing delay. Taking these requirements into account, we have proposed a new LM method based on these two factors (RAM I. INTRODUCTION usage and RTT) to place each VM appropriately, balance the load of each server and satisfy users’ requirements [6]. In [6], A virtual machine (VM) is a software computer that, like we have also tried a preliminary evaluation and shown the a physical computer, runs an operating system and possibility of the effectiveness of our proposal. applications over the Operating System (OS) [1]. The end users have essentially the same experience on a VM as if they This paper, based on the preliminary results, evaluates the have dedicated hardware. This virtualisation technology has proposal in detail, taking into account new parameters and been well studied and implemented because of its benefits variation of the network models to clarify the effectiveness of compared with physical machines for instance, from the our proposal. As a result, we confirm that our proposal can viewpoints of security, portability, and manageability of VMs. improve the characteristics of LM. The paper consists of 6 Specifically, Live Migration (LM) is one of the basic chapters: chapter 1 is this introduction; chapter 2 shows the technologies in virtualisation technology, and it has been related works as a background of our study; chapter 3 receiving a lot of attention for VM management, such as summarises our LM method and results of the preliminary maintenance, consolidation, and load balancing. When a VM evaluation; chapter 4 shows the parameters and models is migrated, Random-Access Memory (RAM) contents are revised from [6] and additional simulation results; chapter 5 copied until LM is done. LM makes it possible a VM to be discusses and summarises our results; and chapter 6 concludes migrated without stopping its operation. That is why this our study. technology is originally used for maintenance. Furthermore, when LM is required, some significant aspects should be considered to decide whether it should be implemented. Existing researches propose and evaluate LM and remote 243
2019 4th International Conference on Information Technology (InCIT2019) II. RELATED WORKS Prior to the proposal of our method, we have conducted An existing research proposes a method to reduce the an experiment to clarify the relationship between actual whole network delay between data centres by using LM [7]. It transfer time of LM and some other factors, that is, RAM describes that by calculating the cost, such as the distance usage and RTT. Fig.1 and Table 1 explain the experiment between each data centre and number of TCP sessions, VMs environment. To obtain the results, we have generated RTT should be migrated to the lower cost data centre so that the artificially by using a network delay device. In addition, each whole network delay can be reduced. However, it does not server and shared storage were connected by some ethernet include the actual transfer time of LM, and it depends on RAM cables. usage and RTT of each VM. Table 1: Experiment Environment Another existing research also proposes a method of VM placement [8]. It describes that when there is a network load, Name Set Value their placement method to migrate VMs to the closer server Hypervisor Proxmox VE 5.1-35 from a thin client terminal makes the user experience much ML30 Gen9 NHP 4LFF better, such as a prompt reply of screen transition. However, Server LM also has some negative impacts. As this paper has already RAM capacity of server 32.00 [GiB] mentioned before, when a VM is migrated, RAM contents are Xubuntu 16.04 LTS copied, and it consumes the network bandwidth. In addition, Operating System of when the amount of RTT is much high, the transfer time could VM 2.00 [GiB] be much longer. Thus, their method may affect bad in some cases. Allocated RAM capacity NFS Storage of each VM 1.00 [Gbps] Furthermore, when a VM is placed on a server, allocated Ethdelay Pro NA-820 resources for each VM and the amount of vacant resources of Shared Storage servers should be considered carefully due to the limited Network bandwidth resources [9]. Their research explains some filling rates of Network delay device CPU usage, RAM usage and Disk Input and Output Delay as criteria. However, CPU usage and Disk Input and Output Fig. 2 shows the actual transfer time when the RAM usage Delay could be affected sensitively due to its system is 0.60 [GiB]. environment. Fig. 2: Actual transfer time vs preset RTT Moreover, a virtual machine relocation method by using a (RAM usage / LM=0.60 [GiB]) few types of networks in order to separate them for the appropriate use, such as management and storage use has been proposed [10]. However, because our method assumes the Internet VPN, the network bandwidth is limited. Another method by considering service use time of users has been proposed [11]. They explain that the resource could be used effectively by obtaining information about use time from users. On the other hand, the relationship between optmisation and use time are deeply related, and it depends on each situation. Their method may not work effectively in some cases. As stated above, existing LM methods might not be adequate to reflect actual situations. Hence, we have tried to study and propose more realistic LM method. In [6], we have shown our proposal and its preliminary evaluation. In the following sections, we explain the method and the results of additional evaluation. III. PROPOSED METHOD [6] A. Summary of proposed method [6] 1) Effect of RAM usage and RTT on LM: Fig. 1: Experiment Environment Fig. 3: Actual transfer time vs preset RTT (RAM usage / LM=1.00 [GiB]) Fig. 3 shows the actual transfer time when the RAM usage is 1.00 [GiB]. 244
2019 4th International Conference on Information Technology (InCIT2019) 245
2019 4th International Conference on Information Technology (InCIT2019) 246
2019 4th International Conference on Information Technology (InCIT2019) 247
2019 4th International Conference on Information Technology (InCIT2019) Sound Tooth: Mobile Oral Health Exam Recording Using Individual Voice Recognition Nattaporn Triemvitaya Sutthicha Butsri Yaowadee Temtanapat Sutee Suksudaj Dept of Computer Science Dept of Computer Science Dept of Computer Science Faculty of Dentistry Thammasat University Faculty of Science and Faculty of Science and Faculty of Science and Pathumthani, Thailand Technology Technology Technology [email protected] Thammasat University Thammasat University Thammasat University Pathumthani, Thailand Pathumthani, Thailand Pathumthani, Thailand [email protected] [email protected] [email protected] Abstract— Detecting voice commands accurately are not [2], Siri [3]) need to be used with online accessing. Since, our simple tasks. Still, voice recognition applications are needed, i.e., application needs to use in any area, especially in a remote voice instruction for devices in a smart home. To recognize well, place, we choose CMU PocketSphinx API [4] that can do the many sample sounds must be used for training. To avoid the voice recognition on the mobile directly. Previously, we limitation of collecting many sampled sounds, the on-site trained the PocketSpinx with multiple persons’ sounds [5], in training by the sound of smartphone users could be an the hope to make it a ready-to-use application for any dentists. alternative. ‘Sound Tooth', a voice command mobile However, one critical success of any voice recognition application, was designed according to ‘trained by the user’ applications is its accuracy. After training and testing, we concept. It helps dentists to record school children oral health found that its accuracy is still low about 67.6%. To improve examination. To record them, the dentists provide short selected our application, there are at least two uncomplicated choices tooth status in a form of chosen isolated words, either in Thai or for training: 1. Collect more sounds, or 2. Use a speaker English. For this work, we applied the voice recognizer, named dependent or individual sound. Collecting more sounds would CMU PocketSphinx API. The system has been tested two ways: take time to gather and the system will not be ready in a short SphinxTrainer and participants’ testing. The system training period of time. Using an individual sound may create burden result reports the WER = 8.8% (~ 91% accuracy). In the before use. However, the rapid application can be built and participants’ test, we compare the system using the speaker make ready-to-use for individual. Besides, option 2 will help independent acoustic model to individual’s one. The test results us to collect the sound indirectly and could be used to build a show the accuracy can be improved from 68% in speaker model for the option 1 later on. Thus, we chose the second independent model to 83.3% accuracy for individual one, giving option and did a preliminary testing for individual speaker, we 15% better. found that the accuracy can be roughly increased by 15%. As of our knowledge, there are no paper describing how to build Keywords—voice command recognition, dental exams, mobile and test the accuracy of such the system for commodity application, PocketSphinx mobile device yet. Also, there is no mobile application for dental recording using voice, like our system yet. Therefore, I. INTRODUCTION our contributions on this work can be considered in two parts: 1. we demonstrate how to build and test a mobile application Oral health is integrative to general health. Poor oral for individual sound recognition, 2. the sound tooth conditions could affect eating, speaking and other daily application itself could make economically effective for activities. For instance, children with dental caries may have human resource usage by reducing the number of dentists problem with nutrition intake due to tooth pain. According to from two to one. Also, it helps to reduce the tedious task on Thai national oral health survey 2017, 52% of Thai students transferring the records in paper to a computer system. aged 12 years have dental caries. On average, each student has 1.4 carious teeth [1]. The prevalence and severity of this The remaining of the paper is structured as follows. disease can be reduced and prevented by early detection. Section II describes background and related works. Section III Routine oral examination are necessary and play a critical part explains the architecture and details of the system. Section IV for oral health promotion in primary school students. Thus, a shows the result and evaluation. Section V concludes the health policy on dental exam has been issued to exam students paper and explains the future development. from grade 1 to 6 at least once every year. The policy has been enforced and deployed in all provinces in Thailand. However, II. BACKGROUND AND RELATED WORKS there is no IT infrastructure that helps the deployment process yet. Nowadays, a smallest oral examination unit in school still In this section, we present some basic background on needs two workers, a dentist to exam and verbally tell an speech recognition, CMUSphinx toolkit, Google Cloud assistant to record the result using pen and paper. To help Speech API and dental health exam process. Finally, we will alleviate the time consuming and ineffective uses of discuss other related works. personnel, Sound Tooth is built to help the dentist to record the exam result by him/herself using his/her voice in a form of A. Basic Principle of Speech Recognition commands. The application also could reduce the work on transferring result from paper to a computer system. Speech is a natural way for human to communicate to each other. After the IT technology has been highly advanced, Presently, there are a lot of off-the-shelf voice recognizer people are now comfortable to speak to machines to instruct API. However, many APIs (i.e., Google Cloud Speech API or input sentences instead of typing. Speech recognition is a 248
2019 4th International Conference on Information Technology (InCIT2019) system/technology that helps to make machines understand Feature extraction converts the speech waveform to some human voice. Understanding speech requires the integration type of parametric representation. This representation is used of many complex processes such as signal processing, for further analysis and processing. syntactic parsing and semantic analysis. Generally, automatic speech recognition (ASR) is a process that takes an input, an Fig. 1. Overview of ASR system. acoustic waveform, and produce matching words or word sequences as an output. To perform speech recognition, Acoustic model is a file that contains statistic generally, its engine consists of an acoustic model, dictionary representation of each of the distinct sounds making up a and grammar. word. Each of these statistically representations is assigned a label, called a phoneme. From the review in [6], speech recognition system can be classified into many types. We will mention only two type of Language model provides context to distinguish between them, one is based on the utterance, and another is based on words and phrases that sound similar. It can be divided into speaker model. two groups, grammar-based and statistical one. A grammar- based language model is designed by language experts while If considered base on utterance, the vocalization of a word a statistical language model is a probability distribution over or words representing a single meaning to computer, speech sequences of words. recognition can be divided into 4 types. Dictionary is data mappings from words to their a. Isolated Words: the word recognizer requires each pronunciations. It is used for guiding the predictive powers of utterance to have quiet on both sides of the sample the ASR. window. This type of speech recognition is suitable for users to instruct or give only one word responses Decoding Search determines probability of words given or commands. It is simple and easiest to implement, the acoustic, pronunciation and language models. b. Connected Words: the system is similar to the isolated C. Performance of ASR words, however, it allow separate utterance to run together with a minimal pause between them. Accuracy performance of speech recognition systems generally can be measured by Word Error Rate (WER). The c. Continuous Speech: the system accept the natural WER is derived from the Levenshtein distance with the continuing speech of users while the computer formula as shown in (1) determines the content. ������������������������������������ = ������������+������������+������������ (1) d. Spontaneous Speech: this type of speech accepts ������������ variety of natural speech. The system should be able to handle a variety of natural speech features Where S is the number of substitutions, D is the number of including mispronunciation, false-start and non- deletions, I is the number of the insertion, and N is the number words. of words in the reference. Two types of speech recognition if classified based on the D. CMUSphinx toolkit type of speaker models. CMUSphinx is a speech recognition toolkit that can be a. Speaker Dependent Model: the system is designed for used to develop a speech application such as generic dictation, a specific speaker. It is generally more accurate for the language learning, command and control, voice search, etc. particular user but less accurate for other speakers. It The tool provides a set of well-known algorithms covered in is a simple to build system but gives less flexibility. scientific literatures. There are two main tools in the toolkits: PocketSphinx and Sphinx4. PocketSphinx focuses on speed b. Speaker Independent Model: the system is designed and portability while Sphinx4 focuses on flexibility and for variety of speakers. It recognizes speech patterns manageability. In this project, we need the mobility. Thus, we of multiple users. It is difficult to build, less accurate chose PocketSphinx, specifically, PocketSphinx Android. but give more flexibility than the speaker dependent one. PocketSphinx API has a dependency called SphinxBase providing common functionality for all CMUSphinx projects. As we described in the introduction about our experience The main platform for SphinxBase is on GNU/Linux as of now, we decided to build the system fallen into the group platform. For speech training, we need also other two tools, of Isolated Word and Speaker Dependent speech recognition CMUclmtk and SphinxTrain. CMUclmtk (CMU-Cambridge system. Language Modeling Toolkit) is for language model training, while SphinxTrain is for acoustic modeling. The installation B. Components of ASR step can be found in [7]. Figure 1 shows the overview of the ASR system. The process of speech recognition typically composes two phases, training and recognition. In the training phase, the goal is to build the reference template model or database. The goal of the recognition phase is to recognize and match the inputted voice to the stored reference template model. Speech Signal: speakers have to provide sample voices, the system turns the analog signal to digital signal. Then, it extracts the features of the words from the speech signal. 249
2019 4th International Conference on Information Technology (InCIT2019) E. Google Cloud Speech API After finishing school oral examination, filled paper form Cloud Speech-to-Text API [2] is a speech framework were transfer into digital format. The frequency of tooth status codes would be counted in order to indicate the prevalence and developed by Google. The API help to convert audio to text severity of oral disease for each student. by applying neural network models. The API recognize 120 languages. It can be used for converting voice command also. a) b) The API process real-time streaming or prerecorded audio. Therefore, users need to be online in order to accessing the Fig. 3. a) Teeth Layout, b) Code and Status. model. The free version can be uses for 0-60 minutes. Beyond that it is charged per 15 seconds of audio processed. G. Related Works The API has 4 prebuilt models: Reference [8] studied the speech recognition features and Command_And_Search: This is suitable for short queries functionality of four dental software applications to determine such as voice commands or voice search. the speech recognition capabilities for working environment. Phone_Call: It is designed for audio that originated from They show that clinical speech functionality in the studied a phone call (typically recorded at an 8khz sampling rate) dental systems is cumbersome and poorly designed. Even Video: is best for audio that originated from video or though, the software are not intuitive. The authors still includes multiple speakers. Ideally the audio is recorded at a emphasized the important for clinician who have difficulty 16khz or greater sampling rate. using a keyboard and a mouse when working with patients to Default: This one is not one of the specific audio models. be hands-free for interacting with computers. For example, long-form audio. Ideally the audio is high- fidelity, recorded at a 16khz or greater sampling rate. III. DESIGN F. Oral Health Examination Process A. Tooth Status Labeling Oral health examination starts with identifying target We gather common words that dentists often use to specify group. Usually all children in each public primary school are the dental status. Generally, Thai dentists use both Thai and the target group. The team then set up the tools and equipment English words for tooth status labeling. After reviewing, we for oral health examination and for recording the data. Tools decide to use 34 words of labeling tooth status in the system for looking into the mouth are mouth mirror, dental explorer (see Table I). These words include the phonetic for Thai and dental light. This investigation generally performed by a number 0 to 9, Alphabets A-G and some tooth status words dentist. For data recording, a paper standard form with a like caries, missing, sealant, etc. However, to ensure the trained recorder is required. During the oral examination (see clarity in the sound of English alphabets, we adopt the Nato Figure 2), dentist would call out one code for each tooth then Phonetic Alphabet [9] for them. Also, we include 5 Thai the recorder would repeat verbally and write down into the control commands: start, change, back, done and all good. form. TABLE I. LIST OF COMMANDS/WORDS The code indicated the status of each tooth. Thai school oral health examination coding system was adopted from the Thai Words English Words for Thai and Eng. Control World Health Organization (WHO) system. According to For Digits Eng. Alphabets Words for Tooth Cmd. WHO system, each subject has 32 boxes to fill 32 tooth status code. Tooth status includes status of no-disease, status of ศนู ย์ Alpha Status เริ่ม dental caries, status of prosthodontics and the un-eruption หน่ึง Bravo แกไ้ ข status. For the primary teeth, the status code would record in สอง Charlie ไม่ผุ กลบั alphabetical symbol (e.g., A: no-disease, B: dental caries). สาม Delta ผุ เสร็จ While the status code for permanent teeth would record in ส่ี Echo ดีหมด numerical symbol (e.g., 0: no-disease, 1: dental caries) (see ห้า Foxtrot Caries Figure 3). หก Golf เจด็ อุดแลว้ ผุ Fig. 2. Dentist and Asssistant perform an oral health examination. แปด อุด เกา้ Missing Sealant Crown ครอบ ครอบฟัน ยงั ไม่ข้นึ Sound 250
2019 4th International Conference on Information Technology (InCIT2019) B. System Architecture and Components 1. Voice Recording: This function uses Android The architecture of the system is shown in Figure 4. There MediaRecorder APIs [11] to record the voice. Because the CMUSphinx needs recording files in MS are three main components: 1. Mobile Component running on WAV format with a specific sample rate. In our case, Android Platform, 2. Training Component running on the we use 8kHz. 16bit sample rate. After the user GNU/Linux platform on the Amazon Web Server and 3. The satisfies with his/her recording, the sounds are DB collection of the dental exam result running on the Apache converted from the 3gp format to wav format using Web Server. FFmpeg tool [12]. Furthermore, the FFmpeg is also used to eliminate the lengthy silence sound at the Fig. 4. Sound Tooth System Architecture. beginning and the ending of each word sound record. The files are kept in the mobile device until the user The mobile part provides UI as well as voice recording for orders the application to upload them. training individual model and for recording dental status. Figure 5 shows the functions of these components. However, 2. Voice Uploading: After finishing at least one set of the functionalities of these features involve both the mobile all commands, a user could upload the sound files. and the server sites. The details of the Recording and Training The uploading checks whether it could connect to the are as follows. Internet. If so, it uploads the new sound files, only the ones not available yet on the server. When the server Fig. 5. Sound Tooth Mobile Component. gets them, it organizes and puts each set of uploaded files into its subfolders for that particular user. Recording: A user can choose to record the dental exam data in either online or offline environment. This component 3. Shell Scripting: The CMUSphinx requires some will ask the user to select a student and then start accepting necessary database files. The database composes list and detecting the voice of the dentist. The detection process of wave files and transcription files, for the uses the sound model (i.e., multiple persons’ or individual CMUSphinx training as specified in [8]. The list of one) corresponding to the user’s setup configuration. After wave files is a text file where each row lists the names finish recording, the patient’ teeth data are kept in the SQLite of the recording, i.e., speaker_1/file_11 Database in the mobile first as temporary offline data. After represented the 1st set of file_11 of the user while completing the examination and the mobile could be speaker_2/file_11 represented the 2nd set of connected to the Internet, the user could instruct the system to file_11 of the user. For the transcription files, it is also send the data to the Hostinger Web Server and put them to the a text file. Each line lists the transcription for each MySQL database. Then, the data can be analyzed later on the audio file. For instance, the transcription states <s> web application (another part of the system. However, it is alpha </s> (file_11) meaning file_11 contains beyond the scope of this paper; interested readers may find the word “alpha”. These database files are in the /etc additional detail of this part in [10].) folder (see Figure 6). There are other configuration files such as dictionary, filler, etc. in the folder. Training: The training component composes: 1. voice When a user clicks the “process your voice” button recording function, 2. voice uploading function, 3. shell (see Figure 8.c) on the mobile application, it sends a scripting function for automatic running of CMUSphinx request to train the individual acoustic model. The training, and 4. acoustic model downloading function. server checks the existence of the recorded wave files of the user. If exists, it copies the users’ wave files to the /wav folder and make proper change to the database files to fit them. Then, it orders the CMUSphinx training component to run via a bash shell script. Fig. 6. File Structure of the training database for CMUSphinx. 251
2019 4th International Conference on Information Technology (InCIT2019) 4. Acoustic Model Downloading: When the training is Figure 9 shows a UI for recording the tooth status data completed, it generates an individual acoustic model. from the dental exam. If it is available, the download button can be clicked to download the model to the mobile device. At this Fig. 9. UI for a user to record dental exam. point, the user could choose to record dental data via the default model (multiple persons’ model) or his/her B. Evaluation individual model. Also, the user could add more of In our testing, we use two types of models, multiple his/her voices, upload the files to retrain the system. Each individual’s wave files and its acoustic model persons’ model and the individual sound model. The multiple are kept in the database on the server to allow user to persons’ model creates from 60 participants, 19 males’ and 41 download the model later. females’ sounds, excluding any individual tester mentioned later. They record their sounds only once. For the individual IV. RESULTS AND EVALUATION sound model, a participant records his/her own sound for training. Then, we test our model in 2 ways. First, using the A. The Result System result from the CMUSphinx testing result. In this case, it is report the WER (Word Error Rate) if using multiple persons’ The mobile part has UI as shown in Figure 7-9. It has three voice as 35.3%, while if using individual voice, the WER is functionalities (Figure 7): 1. “Add User Voice”: add a user 8.8% or 91% accuracy. Latter, we test by asking such voice for the individual sound training, 2. “Record Data”: individual to test recording in the room environment using just record a patient’s teeth status, and 3. “View Analyzed Data”: a microphone for mobile phone. We divide our test cases into view the analysis result from the recorded patients, i.e., the two scripts with 6 participants. Each tester records his/her graph of teeth status for a class/school. However, the third voice 3 times and the system uploads them to train and build feature is out of the scope of this paper (more detail in [10]). a model for him/her. Fig. 7. Functionalities of the system. (a) Because the audio quality for training is crucial for the (b) training, to ensure the user’s understanding on how to record Fig. 10. Two scripts use for testing a) patient record, b) generating script. the sound for training, the instruction and progress steps have been shown to the user along the recording process. Also, For these two scripts (as shown in Figure 10), the first one since the recording process may take quite some time, the user is from a real patient record and the second one is randomly can record and leave the system and later on come back to generated to include all possible commands related to the continue from the part that he/she left off. After the user has teeth’ status. The first script has 6 different commands chosen enough recording sounds, he/she can instruct the mobile by a dentist to explain the teeth status with reflecting the status component to upload them to the server. Figure 8.a shows the in Figure 3b. The second script contains 29 different video instruction of how to record a user voice. Figure 8.b and commands from 34 different commands, excluding 5 control 8.c shows a UI for a user to record his/her voice for training ones. To cover all teeth in the whole mouth, we randomly his/her sound model. Figure 8.c shows the number of picked 3 additional repeated words to make 32 commands and competed sets of recording and the control for the user to random the whole 32 words’ order. From these two scripts, create the individual sound model. each participant has to record them twice, one using the multiple persons’ model, and another using his/her individual a) b) c) model. To reduce bias of the tests, we alternate the order of Fig. 8. a) UI for a user to record his voice, b) UI for recording each model usage. We let the 1st, 3rd, 5th participants to test the script command, c) The number of the completed sets of commands. 252
2019 4th International Conference on Information Technology (InCIT2019) on the multiple persons’ model first and his/her model later 55% to 97.99%. For speech recognition of small vocabulary while the 2nd, 4th and 6th using his/her model first and another with speaker independent isolated word, the accuracy is about one later. Table II shows the result of the testing. 81-89%. With the 91.2% accuracy on the system model testing and the 83.3% accuracy performance in the real test, Since we do not know which words is substituted, deleted we believe that the system could be improved to make it better or inserted, the accuracy that we measure here is only the in many ways. One direction that we plan to do is to have more number of correct words divides by the number of words. The tests to find the optimum number of round to collect the results that we have got is shown in Table II. The script 1 gives sounds for individual training. Also, we plan to add some the accuracy quite high comparing to the script 2 since it noise voice to test whether it gives better or worse result. After contains only 5 different words while script 2 contains 29 we have more ground states from the mentioned testing, we different words. Therefore, we need to investigate more on will adapt the acoustic model of the application to make it some specific word errors and perhaps will find a way to possible to use in the real working environment in the near correct them later. future. TABLE II. TESTING RESULT ACKNOWLEDGMENT Participant # of Correct Words # of Correct Words We would like to thank Mr. Sorawit Chotana and Miss # (Individual Model) Maytawee Juntorn for their contribution of the first version of (Multiple Persons’ Model) this application. Also, thanks all participants who help us to 1 test the system. Script 1 Script 2 Script 1 Script 2 28 22 30 22 2 23 21 30 25 REFERENCES 3 25 23 31 26 [1] BHไทueยareltพahu.ศ2.o0f1257D6(e0ร)nา,tยrงaBาlนuHrผeลeaกaulาtรhoส,fาํ TรวDhจeeสnEภtาrigaวะlhสthHุขภeTaาhพltaชhi่อ,NงDปaาteกipoแanหrat่งlmชSาeตunิคrtvร้ังeoทyfี่ 8oปnรOะเทraศl 4 16 20 30 20 Health, 5 23 20 30 22 Ministry of Public Health, 2017. 6 22 18 30 24 [2] Google Inc., GoogleCloudSpeech API, accessed 1 June 2019, 71.4% 64.6% 94.3% 72.4% https://cloud.google.com/speech-to-text/docs/ Accuracy of each script [3] Apple Inc., Siri, accessed 1 June 2019, Overall https://developer.apple.com/siri/ Accuracy 68% 83.3% [4] CMU, CMU Pocket Sphinx, accessed 1 June 2019, https://cmusphinx.github.io/doc/pocketsphinx/ V. CONCLUSION [5] M. Juntorn, S. Chotana, Voice Recognition Application for Oral Health Status Recording, A Final-Year BSc. In Computer Science Project In this project, we build a voice recording oral health Report, Faculty of Science and Technology, Thammasat University, examination using individual sounds for training the voice May 2018. recognizer’s model. The application uses the off-the-shelf API, namely, CMUSphinx toolkit for training and building the [6] Om Prakash Prabhakar, Navneet Kumar Sahu, A Survey On: Voice voice recognizer model. The application allows a user to use Command Recognition Technique, International Journal of Advanced a default training model or train it with his/her voice instead. Research in Computer Science and Software Engineering, Vol. 3, Issue To build individual sound training, the steps compose: 1. 5, May 2013. Users record their voices as many times as they would like. However, as preliminary testing, we found that at least three [7] Jeannie Yuhaniak Irwin, Shawn Fernando, Titus Schleyer, Heiko times give a much better accuracy than once or twice. 2. After Spallek, Speech Recognition in Dental Software Systems: Features and users finished recording the training sounds, the system Functionality, MEDINFO 2007, K. Kuhn et al. (Eds), IOS Press, 2007 uploads them to the Amazon Server for training. 3. Then after the training is done, the model is downloaded back to the [8] CMU, PocketSphinx Installation, accessed 1 June 2019, phone. Users can reset to the default or collecting more sounds https://cmusphinx.github.io/wiki/tutorialpocketsphinx/ if they would like. [9] Wikipedia, NATO phonetic alphabet, accessed 1 June 2019, We have tested our system and have found the accuracy https://en.wikipedia.org/wiki/NATO_phonetic_alphabet about 83.33% on 6 participants with 2 scripts of testing without any special device (e.g., a regular phone microphone [10] N. Triemvitaya, S., Sound Tooth, A Final-Year BSc. In Computer both in collecting sounds and test recording them) in the Science Project Report, Faculty of Science and Technology, normal room environment. From the report in [5, 13], the Thammasat University, May 2019. accuracy of speech recognition can be varied ranged from [11] Google Inc., MediaRecorder, accessed 1 June 2019, https://developer.android.com/guide/topics/media/mediarecorder [12] FFmpeg, accessed 1 June 2019, https://ffmpeg.org/ [13] D. A. McMurrey, Voice Recognition Software: Comparison and Recommendations, https://www.tu- chemnitz.de/phil/english/sections//independent/kursmaterialien/Tech Comm/acchtml/recomx7c.html 253
2019 4th International Conference on Information Technology (InCIT2019) RGB-D Depth Inpainting with Color Guide Inverse Distance Weight Yossawee Keaomanee Prakarnkiat Youngkong Institute of Field Robotics(FIBO) Institute of Field Robotics(FIBO) King Mongkut’s University of Technology Thonburi King Mongkut’s University of Technology Thonburi Bangmod, Thungkru, Bangkok 10400 Bangmod, Thungkru, Bangkok 10400 [email protected] [email protected] Abstract—This paper proposed a method to increase the inpainting performance. For the Texture inpainting, referred precision of the depth inpainting method by using depth and to the exemplar-based method [4], are non-local and well color information from the RGB-D system in the same image inpainted for the presence of texture. However, the nature frame. The procedure consists of 2 steps. The first part is color of depth information is viewed like a geometrical type than similarity checking, this part tries to select the same color in textural type. a window to collected neighbor depth information. The second step is weight calculation, for this step, The color weights of Depth Image inpainting with Fast Marching Method (FMM) all selection points in a window are calculated and normalized. proposed by Alexandru Telea[4] since 2004. This method The predicted value of depth in a missing pixel is calculated is simple but efficient for inpainted depth map and several by the relation of all color weight and their depth data. The techniques are inspired by this method. FMM depth inpainting experimental results showed that the proposed method improved method uses only depth information in the known area in an the accuracy of depth inpainting. unknown region to predicted missing depth value. This method based on propagating an image along the image gradient Index Terms—Depth inpainting, RGB guide, inverse distance direction. The method estimates the image smoothness as a weight weighted average over a known image neighborhood of the pixel to inpaint. And treat the missing regions as level sets I. INTRODUCTION and use the fast marching method to propagate the image information. Nowadays RGB-depth cameras, such as Microsoft Kinect and ASUS Xtion-Pro are a cheaper price. We can capture Filtering based techniques, For example, joint bilateral filter the scene of color and depth at the same time, A variety [6–8], Laplace filter [9] are often applied for efficiency. But of applications of computer vision and graphics that used when the area of unknown depth value is large, this technique the combination of both data are enabled. However, depth is not be able to fill in the regions and a blur region may information from these devices is often missing values at occur also. Another depth inpainting technique with using only some pixels especially around object boundaries. Because of depth information such as low-rank (LR) matrix completion the viewpoint disparity between multiple sensors in the depth approach technique and their family [5]. Other inpainting camera. Also, the absorption and reflection surface is made research based on the total variation (TV) framework, for low accuracy of depth value. instance, nonlinear diffusion methods [10] and a structure- guided inpainting technique proposed very recently by Qi et Image inpainting is a process to reconstruct unknown re- al. [11]. These methods are time-consuming as well. gions of intensity or color from the remaining part of an image with information of itself. Image inpainting is a fundamental problem that has been studied for decades. has received considerable attention in recent years. Image inpainting used in a wide range of applications, such as reconstructing scans of deteriorated images, removing text from images or videos. Most inpainting methods include 2 phase. First, selected the regions in the image to be inpainted, Then, information is propagated from the known region boundaries to unknown value area. II. RELATED WORK Fig. 1: Depth image with an unknown region (left) and the result of OpenCV FMM inpainting (right). A. Depth Inpainting Normally, the inpainting techniques can be separated into two groups, geometry and texture-oriented methods [1] partial differential equations (PDEs) can be used to solved almost of Geometry methods [2, 3]. This type of method shows good 254
2019 4th International Conference on Information Technology (InCIT2019) B. Guide Inpainting on the predicted value than those farther away. IDW assumes RGB-D camera systems, such as Kinect, color and depth that each measured point has a local influence that gradually decreases with distance. It gives greater weights to points information are captured with the same scene. After the closest to the prediction location, and the weights of each RGB-D registration process to align both color and depth known point are a function of distance. information, We can use some data from the color image to improve the inpainting result. Guided inpainting used to the Calculation of unknown value in desire position with IDW recover unknown area in depth images by using additional include following 3 steps. In the first step, For all of the known information. In recent several years, A lot of new methods value in interested area, calculate weight wi of known value combined another information from a color image in the same point (xi,yi ) to unknown point (x,y). scene to improve depth inpainting result especially object boundary and corner area in depth image. wi = 1 , d = (xi − x)2 + (yi − y)2 (1) d2 Guide FMM [12] based on FMM technique, this method calculates inpaint model and Depth propagation by using After that, find the minimum value of all weight point in additional information from color image to improve inpainting result at object boundary. Markov random fields (MRFs) and window wmin and normalize weight of all point wˆi with other global optimization methods are usually used, based on minimum weight. the coincidence of color and depth edges [13-14]. This type of method achieves good performance in geometric accuracy wˆi = wi (2) but spends a lot of processing time. wmin III. PROPOSE ALGORITHM And in the final step, Calculate prediction depth value vi at For predict a credible new region, the inpainting technique desire point (x,y) with normalized weight wˆi and depth value should try to continue from the neighbor to the area of missing vi from n neighbor point. depth. For the depth map with geometric representation, we choose a geometric method that is easier and more efficient. vi = n−1 yiwˆi (3) From this point, we have proposed a method of painting the i=0 missing area in the depth map by considering the relation of color in the area of interest. The proposed algorithm, in the n−1 wˆi missing area should be painted approximately related with a i=0 combination of information in color image and depth value in another pixel in area of interested. B. Depth inpainting with Color - IDW A. Inverse Distance weight (IDW)[15] From traditional IDW, if we have only depth information, IDW is a deterministic method for multivariate interpolation weight function calculate base on the distance between inter- esting point to neighbor point in X-Y coordinate. The weight with a known data set of points. The assigned values to of each point is calculated from depth value in ROI and their unknown points are calculated with an average weighted of the distance to the unknown point, the prediction value at the values available at the known points in the region of interest interesting point will propagate from all of the neighbor points (ROI) describe by figure 2. with their weight and depth value. Fig. 2: Distance of missing depth point(circle) and known For RGB-D information, we capture both RGB and depth depth point(Rectangle) and their depth value. data. We applied the new weight function to predict unknown region by considered relation of color and depth value at the missing point to neighbor point in the interested region (window size n × n). The weight function represents the conformity of color and depth value at missing depth points (x,y) to another known depth points(x,y). From equation (1) , Weight wi are calculate the distance from a missing point to known value points, In the proposed method, this weight is modified to calculate by the difference of color level of missing point to known value point with red(R) green(G) and blue(B) weight. First off all, we calculate color similarity of unknown depth point to neighbors in window (n × n pixel) using R G and B distance in RGB primary color cube[16] with following equations. Assumption of IDW that things that are close to one another Ri = |Rx,y − Rxi,yi | (4) are more alike than those that are farther apart. To predict a Gi = |Gx,y − Gxi,yi | (5) value for any unmeasured location, IDW uses the measured Bi = |Bx,y − Bxi,yi | (6) neighborhood values of the prediction location. The measured values closest to the prediction location have more influence 255
2019 4th International Conference on Information Technology (InCIT2019) We define the color similarity δi of missing point to other points by equation (7). δi = 255 − Ri 255 − Gi 255 − Bi (7) 255 255 255 255 is maximum value of each color (R-G-B). Result of δi will be in the range 0 to 1(same color). For all of pixel in window that δi ≥ α , keep the depth information and calculate color weight Cwi of pixel (xi,yi) by equation (8). Cwi = 1 (8) Ri2) + G2i ) + Bi2 And then, Normalize color weight of all ns with minimum weight in the window by equation (9). N ormCwi = C wi (9) C wimin Finally, calculate the approximate depth value at desire point (x, y) by equation (10). vi = ns −1 yi N ormC wi (10) i=0 ns −1 N ormC wi i=0 yi is depth value at pixel i and ns is number of pixel that δi ≥ α. IV. EXPERIMENT A. Experiment Setup The proposed algorithm was developed using Microsoft Fig. 3: Input Color , Depth map and Incompleted depth map. visual studio on an Intel-processor Core i7 2.4 GHz computer that has a memory of 8 GB. Propose algorithm was applied B. Experiment Result on sample that randomly from data set in [17] with image resolution is 443x370 and compared with 4 inpainting algo- Figure 4-6 show some comparison of uncompleted depth rithm, FMM, Fast digital inpainting (FDI)[18], GFMM [12], and the inpainting results. Input color and ground truth of and joint bilateral filter (JBF). depth images are shown in a-b respectively. c is the input depth image contain missing depth pixels (black pixel, depth In the real world, it’s difficult to get the ground truth of value = 0) . The recovered depth images of all comparison depth map. Therefore, to receive quantitative comparisons, we algorithms are shown in d-h. used depth images from the data set [17] is the ground truth. In testing the depth map of the recovery of each algorithm, Our algorithm show improvement of inpainting results in incomplete maps are synthesized by creating some incorrect object boundary with a reasonable depth value when compared regions on ground truth at the boundary of the object to check with the color image. It’s clearly to see, our result at the bound- the performance of the method to reconstruct unknown value ary of unknown depth region are better than other methods. at object boundary. Then use all comparison algorithms and The average value of MSE and SSIM of all uncompleted depth measure the quantitative between ground truth and recovered ROI after recover compared with ground truth show in Table result, Two types of measurement to considered MSE and I and II . Average MSE of our proposed method is lower than SSIM value [19]. others whereas SSIM is higher than other methods. Figure 3 illustrated depth image with uncompleted ROI of LampShade2, Midd2, Monopoly, Plastics, Wood1, and Wood2 images from the RGB-D dataset in [17].Our proposed method contain 2 parameter setting (α, ω) α is color similarity threshold set as 0.75 and ω is window size is 4 pixel. 256
2019 4th International Conference on Information Technology (InCIT2019) TABLE II: AVERAGE SSIM OF ALL RECOVER UN-COMPETE ROI Image IDW SSIM Value FDI Number 0.9850 FMM GFMM JBF 0.9394 0.9608 0.9646 0.9610 0.9542 0.9242 1 0.9612 0.9494 0.9353 0.9423 0.9185 2 0.9875 0.9384 0.9322 0.9303 0.9773 3 0.9800 0.9833 0.9757 0.9697 0.9459 4 0.9945 0.9678 0.9691 0.9564 0.9838 5 0.9884 0.9906 0.9832 6 Fig. 4: Result of image “Wood1” (a) RGB (b) Ground Truth V. CONCLUSION Depth (c) Un complete Depth (D) FMM (e) GFMM (f) FDI In this paper, we presented a method for recovering the (g) JBF and (h) Color-IDW depth image. The proposed method based on an Inverse distance weight (IDW) algorithm. From the hypothesis, We Fig. 5: Result of image “LampShade2” (a) RGB (b) Ground believe that missing depth values on the depth map are related Truth Depth (c) Un complete Depth (D) FMM (e) GFMM to color and depth of known depth value on neighbors of them. We applied IDW weight function by used color information to (f) FDI (g) JBF and (h) Color-IDW calculate the weight and calculate the missing value of depth pixel on this hypothesis. The results of proposed method are shown improvement of object boundary with well shape to the object edge in RGB images. From the result, we can see the proposed method can recover depth at object boundary better than other methods. In the future, we would like to optimize the algorithm for real-time computation. The proposed algorithm can be implemented to parallel processing to reduce computation time. REFERENCES Fig. 6: Result of image “Plastics” (a) RGB (b) Ground Truth [1] P. Arias, G. Facciolo, V. Caselles, G. Sapiro, “A variational framework Depth (c) Un complete Depth (D) FMM (e) GFMM (f) FDI for exemplar-based image inpainting”, Int. J. Comput. Vis. 93 (3) (2011) 319–347. (g) JBF and (h) Color-IDW [2] S. Masnou, Disocclusion: “a variational approach using level lines”, TABLE I: AVERAGE MSE OF ALL RECOVER IEEE Trans. Image Process. 11 (2) (2002) 68–76. UN-COMPETE ROI [3] A. Telea, “An image inpainting technique based on the fast marching Image IDW FMM MSE Value FDI method”, J.Graph. Tools 9 (1) (2004) 25–36. Number 8.2083 25.0127 GFMM JBF 113.2625 37.1190 47.2550 33.7970 36.9090 91.4547 [4] A. Criminisi, P. Perez, K. Toyama, “Region filling and object removal 1 32.7400 59.1947 64.8854 52.1980 153.3648 by exemplar-based image inpainting”, IEEE Trans. Image Process. 13 2 4.1206 7.1681 56.8722 66.7987 18.7868 (9) (2004) 1–13. 3 16.8384 35.6768 25.8498 17.5142 134.8844 4 1.6863 10.3049 42.2384 49.2439 35.7507 [5] Hongyang Xue, Shengming Zhang, and Deng Cai,”Depth Image In- 5 24.3271 16.0696 painting: Improving Low Rank Matrix Completion With Low Gradient 6 Regularization”,”, IEEE Trans. Image Process.Vol 26, no. 9, September 2017. [6] J. Kopf, M.F. Cohen, D. Lischinski, M. Uyttendaele, “Joint bilateral upsampling”, Proc. ACM SIGGRAPH, 96, 2007. [7] C. Tomasi, R. Manduchi, “Bilateral filtering for gray and color images”, IEEE Int. Conf. Comput. Vis. (1998) 839–846. [8] S.-Y. Kim, J.-H. Cho, A. Koschan, M.A. Abidi, “Spatial and temporal enhancement of depth images captured by a time-of-flight depth sensor”, International Conference on Pattern Recognition, Istanbul, Turkey, Feb. 2010, 2010. [9] A. Janoch, S. Karayev, Y. Jia, J.T. Barron, M. Fritz, K. Saenko, T. Darrell, “A category-level 3-D object data set: putting the Kinect to work”, IEEE International Conference on Computer Vision Workshops (ICCV Workshops), Berkeley, Germany, Nov. 2011, pp. 1168–1174. [10] Joachim Dahl , Per Christian Hansen , Soren Holdt Jensen ,Tobias Lindstrom Jensen, ”Algorithms and software for total variation im- agereconstruction via first-order methods”. Springer Science + Business Media, LLC 2009. [11] F. Qi, J. Han, P. Wang, G. Shi, F. Li, Structure Guided Fusion for Depth Map Inpainting, Pattern Recognition Letters InPress. 257
2019 4th International Conference on Information Technology (InCIT2019) [12] Xiao jin Gong , Junyi Liu , Wenhui Zhou , Jilin Liu, ”Guided Depth Enhancement via A Fast Marching Method” ,Preprint submitted to Image and Vision Com puting August 2, 2013. [13] J.Diebel, S. Thrun, “An application of Markov random fields to range sensing”, Neural Information Processing Systems, MIT Press, 2005. [14] J. Zhu, L. Wang, J. Gao, R. Yang, “Spatial–temporal fusion for high accuracy depth maps using dynamic MRFs”, IEEE Trans. Pattern Anal. Mach. Intell. 32 (5) (2010) 899–909. [15] C Childs,”An adaptive inverse-distance weighting spatial interpolation technique” , ArcUser July-September, 2004. [16] Noor A. Ibraheem, Mokhtar M. Hasan, Rafiqul Z. Khan, Pramod K. Mishra, ”Understanding Color Models: A Review” ARPN Journal of Science and Technology VOL.2, NO.3, April 2012 ISSN 2225-7217. [17] http://vision.middlebury.edu/stereo/data/scenes2006/. [18] Manuel M. Oliveira ,Brian Bowen, Richard McKenna, Yu-Sung Chang, “Fast Digital Image Inpainting” , Proceedings of the International Con- ference on Visualization, Imaging and Image Processing (VIIP 2001), Marbella, Spain.September 3-5, 2001. [19] Richard Dosselmann, Xue Dong Yang”A Formal Assessment of the Structural Similarity Index”. Department of Computer Science Univer- sity of Regina Regina, Saskatchewan, Canada S4S 0A2. ISBN 0-7731- 0648-0 (on-line). 258
2019 4th International Conference on Information Technology (InCIT2019) Development of Water Temperature Measuring Application Based on LoRa/LoRWAN Mio Kobayashi Takashi Matsumoto Julian Beering Department of Creative Technology Department of Creative Technology Department of Electrical Engineering Engineering, Engineering, University of Applied Sciences of National Institute of Technology, National Institute of Technology, Osnabru¨ ck Anan College Anan College Osnabru¨ck, Germany Tokushima, Japan Tokushima, Japan [email protected] [email protected] Abstract—This paper proposes a water temperature mea- we adapted a generic digital temperature sensor to lower suring system using LoRa technology. Measuring the sea tem- the cost and calibrated it using a mercury thermometer. perature is important for fishery workers because the habitat To continuously charge the sensor node, a solar energy of fish and the amount of catch depend highly on the sea harvesting circuit was developed as well. In this paper, we temperature. We examined the transmission between a sensor first review the LoRa/LoRWAN technology in Section II. node and a gateway by changing the distance between them Then, we present the schematic of the developed system from 3 to 12 km on land. As a result of the examination, we and the design of the sensor node in Sections III and IV. observed some packet losses during the transmission, but it Furthermore, associated applications to the LoRa/LoRaWAN was not clear whether or not the distance caused them. As technology are introduced. In Section V, we show the result for another examination, the position of the sensor node was of the examination in which we investigated the effectiveness changed by a ship from 2.3 to 16 km, and the result showed of the transmission between the sensor node and the gateway. that the distance affected the packet losses. In this study, we Finally, we conclude this study in Section VI. also designed a solar energy harvesting circuit to continuously measure the sea temperature. The sensor node floats on surface II. LORA/LORAWAN TECHNOLOGY of the sea and maintains energy even if it has been cloudy for several days. LoRa is a long-range wireless communication protocol patented and developed by Cycleo in Grenoble, France. The Index Terms—LoRa, LoRaWAN, sea temperature, sensor, LoRa technology has the advantage of long range communi- energy harvesting circuit cation, low power consumption, and low infrastructure cost [5], [6]. LoRaWAN is the network protocol based on the I. INTRODUCTION LoRa protocol. In Japan, the frequency used for LoRa is in 920 – 923 MHz, which is an unlicensed spectrum. There are Measuring the sea temperature is important for fishery three device types in LoRaWAN specification. All devices workers because the habitat of fish and the amount of catch used in LoRaWAN have to implement Class A, whereas depend highly on the sea temperature [1]. By obtaining the Class B and C are extensions of Class A. In our system, information regarding the sea temperature beforehand, fish- we implemented Class A because it is the best mode for low ery workers were able to develop efficient and stable fishery power applications, and a sensor node in our system only management. For instance, the food intake of fish in aquacul- needs to send measured data to a server a few times in an ture farms can be adjusted depending on the sea temperature hour. because the high temperature increases metabolism of fish [2]; Fishery workers might be able to use the information of In this sea temperature measuring system, the data of the the sea temperature corresponding to the weather and their water temperature measured by the sensor node is transmitted experiences to fish only where the levels of fish are highest. to the gateway, and the data is forwarded to the LoRa server via the Internet, and then stored into a database. Hence, the sea temperature is significant for fishery work- ers and the industry as a whole, and it is necessary to III. SCHEMATIC OF THE SEA TEMPERATURE MEASURING develop an information distribution system regarding the sea temperature. In terms of an information distribution SYSTEM system, the sustainability of the system is important, as well as the ease of maintenance. In addition, when we think Figure 1 shows the schematic of the sea temperature of measuring the sea temperature at multiple points in a measuring system we developed. As for the sensor node specific costal zone, the sensor node should be developed shown on the left in Fig. 1, we used a generic digital at a low price, and it must keep accurate readings. Herein, temperature sensor (DS18B20) with a LoRa Mini provided we developed a sea temperature measuring system by using by Dragino Technology Co., LTD. LoRa/LoRaWAN technology [3], [4]. For practical use, we distribute the sensor nodes off coast, The developed system is mainly comprised of a sensor and we float it on the surface of the water by tying it to a node, a gateway, and LoRa server. For the sensor node, 259
2019 4th International Conference on Information Technology (InCIT2019) Fig. 2. Schematic of the sensor node. R1 D2 MCP1700 3.3 V Fig. 1. Schematic of the sea temperature measuring system by using U1 LoRa/LoRaWAN Vreg fence or a net of an aquaculture farm. To continuously power IN OUT the sensor node, we developed a solar energy harvesting GND circuit which is explained in the Subsection IV-B. V1 D1 C1 C2 C3 C4 In the center of the schematic in Fig. 1, we show the LoRa Solar Panel 7.5 F 7.5 F 1 μF 1 μF Gateway (LG01-P), which receives a signal from the sensor node and transmits it to the LoRa Server via the Internet. 0V In this system, a Raspberry Pi is used for the LoRa Server as a prototype of the server, and we installed the “LoRa Fig. 3. Solar power Harvesting Circuit. Server” and “LoRa App Server” which are open source software provided along with other related components to IV. DESIGN OF SENSOR NODE the Raspberry Pi. The related components include Mosquitto (MQTT), InfluxDB, and Grafana, all of which are open Figure 2 shows the schematic of the sensor node which source and free to use. Now let us briefly summarize the consists of six components, including an internal CPU tem- related components used in the system. perature sensor, a solar energy harvesting circuit, a temper- ature sensor, a hardware watchdog circuit, a voltage divider A. Mosquitto for checking battery status, and the dragino mini. As for the prototype of the sensor node, the estimated price was Mosquitto is an open source implementation of a protocol, about $52, which includes the enclosure and a printed PCB. MQTT, which is a lightweight protocol based on a Pub- The internal CPU temperature sensor is for measuring the lish/Subscribe model. We installed the Mosquitto broker into temperature inside the enclosure, and a voltage divider for the Raspberry Pi, and controlled the data transmission from checking battery status is a simple circuit to obtain the the gateway to the LoRa App Server and the applications. remaining power level. Except for those two components, we summarize the rest of the unit as follows. B. InfluxDB A. Hardware watchdog circuit InfluxDB is an open source software which specializes in dealing with time series data. Generally, the InfluxDB is The hardware watchdog circuit is used daily for checking used for DevOps Monitoring, IoT and Sensor Monitoring, the system of the sensor node. The “watchdog” confirms the and Real-Time Analytics. We installed it into the Raspberry signal from the dragino mini once a day, and, if the watchdog Pi as well, and used the time series database for recording can not detect any signal from the dragino mini, a high signal the temperature data from the sensor node. is sent to the reset pin of the dragino mini to reboot it. C. Grafana B. Solar energy harvesting circuit Grafana is a visualization application provided by Grafana Figure 3 shows the solar energy harvesting circuit. Since Labs. By using Garfana with InfluxDB, we can easily create the sensor node is supposed to be afloat on the sea and sophisticated diagrams and interactively change the data must operate whenever it measures the sea temperature, we range and the period shown. We also installed Garfana developed this circuit. In Fig. 3, symbols C1 and C2 indicate into the Raspberry Pi and were then able to visualize the super capacitors (AVX, SCMT32D755SRBB0) of 7.5 F that temperature data stored in the InfluxDB. work as voltage storage. The super capacitors store electricity in the daytime, and then provide electricity to the dragino mini in a non-sunlight condition such as a rainy day, cloudy weather or at night. The reason we adapted super capacitors 260
--00..44 2019 4th International Conference on Info--r00m..66ation Technology (InCIT2019) RReeffeerreennccee tteemmppeerraattuurree [[℃℃]] 00..66 00..66 00..44 00..44 00..22 00..22 EErrrroorr [[℃℃]] 00 1100 2200 3300 4400 EErrrroorr [[℃℃]] 00 1100 2200 3300 4400 00 00 --00..22 --00..22 --00..44 --00..44 --00..66 RReeffeerreennccee tteemmppeerraattuurree [[℃℃]] --00..66 RReeffeerreennccee tteemmppeerraattuurree [[℃℃]] (a) (b) Fig. 4. T0e0m..66perature calibration of two DS18B20s. The orange and blue circles indicate the data set measured by each DS18B20. (a) Before calibration; (b) After calibration. 00..44 instead o00.f.22a storage battery is that the sensor node is expectedEErrrroorr [[℃℃]] TABLE I to be able to work for a long time without any maintenance. PARAMETER SETTINGS FOR MAXIMUM RANGE TEST. We exa0m0 ined the effectivity of the circuit in the simulation Parameter Values with the con00dition of lo11n00g-lasting f22o00ggy weath3e300r. Under su44c00h Frequency 923.2 MHz Tx power 14 dB conditio--0n0..s22, the solar panel periodically generates from 0 to 28 Bandwidth 125 W/m2 as the daily cycle. That means the energy generation Spreading factor 12 of the --0s0o..44lar panel is from 0 to 20 % of the maximum Coding rate 4/8 power generation, which we assumed to be 140 W/m2. In the simulat-i-0o0.n.66, we confirmeRRdeeffteehrreeenncsceoelttaeermmeppneereraarttguuyrreeh[[℃a℃r]]vesting circuit can constantly provide voltage between 3 and 5 V. C. Temperature sensor TABLE II RESULT OF MAXIMUM RANGE TEST ON THE LAND. The temperature sensor, DS18B20, implemented in the sensor node includes individually different errors. Hence we No. Distance Received/Send Loss (%) calibrated the sensors compared with the temperature data Reference 5m 82/101 18.81 measured by a mercury thermometer. Figure 4 shows the 1 27/30 10 result of the calibration for two sensors of DS18B20. The 2 3.15 km 26/30 13.3 orange and blue circles indicate the data set measured by 3 3.48 km 28/30 6.7 one of two sensors, respectively. In Fig. 4(b), we can see 4 4.32 km that the error has been reduced to the range of −1.0 to 1.0 5 5.00 km 23/30 | 28/30 23.3 | 6.7 ◦C. 6 6.54 km 27/30 10 7 8.02 km 27/30 10 V. EXAMINATION OF TRANSMISSION BETWEEN SENSOR 11.53 km 23/30 23.3 NODE AND GATEWAY ON LORAWAN To investigate the reliability of the transmission between A. Maximum range test on the land a sensor node and the gateway implemented in this study, we conducted a maximum range test. Table I, shows the pa- Figure 5 shows the setting of the gateway on top of the rameter settings for the maximum range test. The spreading mountain. The distance between the sensor node and the factor of LoRa can be set from SF6 to SF12, and the higher gateway was changed from 3 to 12 km. The change of the number setting can transmit data over a long distance, but location of the sensor node is shown in Fig. 6. The distance the throughput processed on the devices decreases. In the corresponding to each site indicates the straight distance from examination, we put a gateway on the top of a mountain, the gateway. As we can see in Fig. 5(b), there were few and the gateway could access the internet via a mobile router. obstacles between the gateway and the sensor node. Table The top of the mountain is 285 meters above sea level. We II shows the result of the maximum range test on the land. examined the maximum range by setting the sensor node Basically, we sent 30 packets from a node to a gateway and both on land and in the sea and changing the position. measured the number of received packets. As a reference of 261
2019 4th International Conference on Information Technology (InCIT2019) (a) Fig. 6. Sensor node location and the distance from the gateway. (b) Fig. 5. Gateway setting. (a) On the top of the mountain; (b) View from the sensor node site. the value of the received/sent rate, we tested it at 5 m. At Fig. 7. Sensor node location on the sea. the reference, we received 82 of 101 packets, and the loss rate was 18.81 %. At each distance, we sent 30 packets, That was due to the long distance between them. After the and received from 23 to 28 packets. The result could not 28th packet, the ratio of the packet loss was 21.4 %. It seems determine that the packet losses were caused by the distance that the reason for this is not due to the distance, but it has because even if it was at 11.53 km, the packet loss was 23.3 not been confirmed yet. % and that was the same result of the first measured result at the reference, 5 m. Although the packet loss rates were VI. CONCLUSION not zero, the data transmutation by using the LoRaWAN technology worked well over such a long distance. In the We developed the sea temperature measuring system by actual usage of the system, the sensor node would be set to using LoRa/LoRaWAN technology since the system could the net of the fish farm which would be located less than 5 provide important information for local fishery workers and km from the coast. In this point, even if it includes the packet the entire industry in order to make efficient and stable loss, the sensor node could work and send the temperature fishery management possible. Measuring the sea temperature data to the gateway. at multiple places on the sea and distributing the information to the related people will be helpful, and the sensor node B. Maximum range test on the sea device needs to be reasonably priced. Hence, we developed the sensor node with a generic temperature sensor, and by We also tested the sensor node on the sea. There is an calibrating it, the accuracy of the sensor was improved. Also, island named Ishima in the east of Shikoku in Japan. The multiple open source software programs were implemented distance between the top of the mountain where we put the to realize the system. Finally, we could develop the sensor gateway and Ishima is about 16 km. The sensor node was node for around $52. set on the ship and the packet transmission to the gateway was measured. In Fig. 7, the green marks show that the sensor In this study, the maximum range was examined both on node locations when the packets sent from the sensor node the land and the sea. The transmission between the sensor were received by the gateway. The packets sent before the node and the gateway functioned appropriately. However, 28th could not reach the gateway, when the distance between the sensor node and the gateway was farther than 14.92 km. 262
2019 4th International Conference on Information Technology (InCIT2019) under the conditions we examined, some packet losses ap- peared, and this reason has yet to be analyzed. Our future tasks involve revealing the reason for the packet losses, and then, under different conditions, additional transmission experiments should be carried out. About the sensor nodes, we ran a simulation to confirm the ability of the device and obtained effective results. However, in the real experimental environment, the ability and reliability of the sensor node and power consumption of the solar energy harvesting circuit need additional study. REFERENCES [1] K. Arai, “Genetic improvement of aquaculture finfish species by chro- mosome manipulation techniques in japan,” Aquaculture, vol. 197, no. 1-4, pp. 205–228 205–228, June 2001. [2] K. K. Thakur, R. Vanderstichel, J. Barrell, H. Stryhn, T. Patanasatienkul, and C. W. Revie, “Comparison of remotely- sensed sea surface temperature and salinity products with in situ measurements from british columbia, canada,” Frontiers in Marine Science, vol. 5, p. 121, 2018. [Online]. Available: https://www.frontiersin.org/article/10.3389/fmars.2018.00121 [3] R. S. Sinha, Y. Wei, and S.-H. Hwang, “A survey on lpwa technology: Lora and nb-iot,” ICT Express, vol. 3, no. 1, pp. 14–21, March 2017. [4] M. Eldefrawy, I. Butun, N. Pereira, and M. Gidlund, “Formal security analysis of lorawan,” Computer Networks, vol. 148, no. 15, pp. 328– 339, January 2019. [5] K. Mekki, E. Bajic, F. Chaxel, and F. Meyer, “A comparative study of lpwan technologies for large-scale iot deployment,” ICT Express, vol. 5, no. 1, pp. 1–7, March 2019. [6] A. Augustin, J. Yi, T. Clausen, and W. M. Townsley, “A study of lora: Long range & low power networks for the internet of things,” Sensors, vol. 16, no. 9, p. 1466, September 2016. 263
2019 4th International Conference on Information Technology (InCIT2019) Forecasting Daily Air Quality in Northern Thailand Using Machine Learning Techniques Supawadee Srikamdee Janya Onpans Faculty of Informatics Faculty of Informatics Burapha University Burapha University Chonburi, Thailand Chonburi, Thailand [email protected] [email protected] Abstract— The air pollution problem becomes more intense only among Thai farmers but also Myanmar and Laos. in many countries including Thailand. It affects all sectors such Satellite hotspot photos show that, during the period the as government, industries, and local communities. Accurate northern region suffering from the haze, there is a large forecasts of air quality index would be useful for strategic number of hotspots caused by the burning in neighboring planning, and pollution warning. Machine learning techniques countries. The air movement direction from the neighboring have been applied to forecast the air quality index (AQI) in countries towards Northern Thailand is another factor that many areas. However, most of the existing researches proposed increases the amount of smog [5]. the forecasting model for a specific monitoring station [7-9]. This paper proposes the models to forecast the daily AQIs of the Real-time air quality data is necessary to control air entire Northern Thailand. We collected data during the dry pollutants and to alert the people regarding their health risks season (January – May) in the year 2018 - 2019, which are the [6]. Air quality forecasting can reflect the trend of air quality most suffering years. We compared and analyzed the models and lead to appropriate protection measures. Many countries, obtained from three algorithms, i.e., linear regression, neural including Thailand, use Air Quality Index (AQI) as a metric networks, and genetic programming. Based on the analysis, we for indicating the air quality and whether it is in health hazard recommend two linear equations derived from linear regression zone. and genetic programming as the AQI forecasting models. The results show that our two recommended equations yield the There have been various methods for air quality average accuracy of 97.65% and 78.70% for forecasting clean prediction. Previous works used different factors such as and unhealthy air quality situations (i.e., AQI values of 0-50 and areas, and durations. For example, [7] used a statistical AQI values greater than 100), respectively. method to predict PM10 in Chonburi, Thailand, using multiple linear regression and stepwise method to find the Keywords— forecasting, air quality index, machine learning appropriate parameters. They used data during the year 2006 techniques, linear regression, genetic programming – 2009 and divided the data from 2006 to 2008 as training data and 2008 as testing data. The results showed that the I. INTRODUCTION proposed model provided a mean bias error of -0.5926 and a standard error of 0.6951. For a data mining method, [8] Air pollution in various areas of Thailand reaches the presented a model for classifying air quality using a decision harmful level every year, affecting the people’s health, the tree. This model separates air quality levels that affect health country’s tourism, and the Thai economy as a whole [1]. into Good, Moderate, Unhealthy for sensitive groups, and Recently, the problem escalated into a severe level such that Unhealthy. This research used five factors including SO2, the government must announce the emergency measure and NO2, CO, PM10, and ozone. The authors gathered air quality warned its people against all outdoor activities. The website data from 2012 to 2013. The accuracy on training and testing “www.airvisual.com” ranked the air quality of Chiang Mai, data are 96.8% and 91.07%, respectively. Various machine located in the north of Thailand, the worst in the world. learning techniques are applied to cope with this problem. A Although all the related governmental and private sectors neural network model [9] was developed to predict the tried to relieve and resolve the problem, the problem persisted amount of PM10 in the industrial area of Eastern Thailand. for more than two months. In the period of haze pollution, the The author used air quality and meteorological variables income of the tourism sector of the northern region sharply during 2006-2010 from two air-quality-monitoring stations decreased. In terms of health, the increases of PM10, O3, and as factors in training models. The performance evaluation of SO2 resulted in the higher rate of non-accidental deaths [2]. the best model yields the RMSE of 14.11. Air quality O3 air pollution increases the risk of death from prediction methods [6] were proposed based on cardiovascular disease, while PM10 increases the risk of spatiotemporal deep learning (STDL). The STDL is death from respiratory diseases. compared with time series prediction models (STANN, ARMA, SVR) and evaluated in terms of RMSE, MAE, and The smog in Chiang Mai and the north is caused by a MAPE. They used hourly PM2.5 data obtained from twelve variety of factors such as the growth of urban areas, the stations in Beijing City from January 1, 2014, to May 28, increases in vehicles, forest fires, and open agricultural 2016. The results showed that STDL yielded better results burning [1]. Terrain and climate factors of the northern region than the compared methods. Different three deep learning during the dry season cause stagnant air, resulting in a large models [10] (RNN, LSTM, and GRU) were applied to predict amount of aerosols. Arid weather, high pressure, and high air quality (PM10). The AirNet dataset was used. It comprises temperature creates a layer of smoke and fog covering the of six air quality indicators collected from 1498 stations and entire area. The basin topography also traps the haze [4]. Moreover, the open agricultural burning (a method for getting rid of weeds both before and after harvest [3]) is popular not 264
2019 4th International Conference on Information Technology (InCIT2019) meteorological data from April 1, 2015, to September 1, knowledge as well as the capabilities of human brains. The 2017. The results showed that GRU yielded the best results learning process of the neural network begins with randomly with the MAPE of 0.4525. initializing weight values. In each iteration, the results from the learning model are compared with the desired results in From the literature reviews, we found that the previous order to correctly adjust the weighted values to be more studies often predict air quality for each station separately and appropriate. The process repeats until the result reaches use various air pollution data such as CO, NO2, and O3 for certain conditions. The Neural Network is a popular and creating models. Moreover, to the best of our knowledge, effective technique used in many applications such as there is no research that uses Satellite hotspot data as a classification, prediction, optimization, and clustering. prediction factor in spite of many researchers’ speculations that it might also cause air pollution. Therefore, this research Genetic Programming (GP) [14] is an Evolutionary proposes a genetic programming to predict daily air quality Computation (EC) technique. It was developed from the (AQI) in Northern Thailand. We use the data from twelve air intention to allow the computer to create the desired solution quality monitoring stations in eight Thai northern provinces. by itself. Techniques in EC improve solutions by mimicking We collected data, provided by the Pollution Control natural evolution. GP forms its answer as a tree that Department, during the dry season (from January 1, 2018, to represents a mathematics equation. At the beginning of the May 31, 2018, and January 1, 2019, to April 31, 2019) which algorithm, the function set and the terminal set must be the people in the northern region suffered from severe air defined to determine the scope and guidelines for evolving pollution. The factors, which are used to create our air quality the solutions. The function set comprises of addition, prediction model, include the climate data (provided by substation, multiplication, division, roots, and other various Meteorological Department), provincial and national functions. Then, the technique uses the mechanism of Satellite hotspots in Thailand and its neighboring countries. selection and genetic operators, such as crossover or mutation We compare the proposed method to other methods, to improve the equation until it meets specified conditions. including linear regression and neural network. Daily GP has been successfully applied for solving many tasks such meteorological and hotspot data in 2018 (January - May) as forecasting and optimization. were used to create a model to predict the air quality index in 2019. The evaluation results (i.e. RMSE) show that the III. FORECASTING AIR QUALITY INDEX models from the linear regression and genetic programming IN NORTHERN THAILAND model yield satisfactory results. The proposed models can predict over 97% accuracy for clean air situations and almost This section provides details of data preparation, of the 80% for unhealthy situations. The proposed models, algorithms for forecasting the air quality index, and of represented in the form of equations, can be analyzed to parameter settings of the algorithms. understand the factors that affect the air quality. A. Data preparation II. BACKGROUND The data used in this research comprise of twelve factors A. Thailand’s air quality information collected from four sources: Air Quality Index (AQI) [11] indicates the level of the air - Thai Meteorological Department provides pollution situation in an area reflecting to what extent it could temperature ( ° ), visibility (km.), wind direction, impact on human health. An air quality index is used to wind speed, air pressure (hPa), relative humidity (%), represent the concentration of six air pollutants including and rainfall (mm.). particulate matters whose diameter is less than 2.5 micrometers (PM2.5), ones whose diameter is less than 10 - Geo-Informatics and Space Technology micrometers (PM10), Ozone (O3), Carbon monoxide (CO), Development Agency (GISTDA) provides the Nitrogen dioxide (NO2), and Sulfur dioxide (SO2). number of hotspots in the northern provinces. B. Forecasting Model - The Asian Specialised Meteorological Center (ASMC) [15] provides the number of Satellite This research studies three popular techniques: linear hotspots in Thailand, Myanmar, and Laos. regression, neural network, and genetic programming. We evaluate and compare the methods to find which model is - The pollution control department of the Ministry of most suitable for forecasting air quality in Northern Thailand. Natural Resources and Environment [11] provides daily air quality index. Linear regression [12] is a statistical technique to model the relationship between two or more variables. It finds the All data are collected from twelve stations located in eight appropriate linear function that fits the training data. This Northern provinces. The stations’ locations are shown in Fig. technique is applied in many applications, such as oil/stock 1. Noted that, we remove the air quality monitoring station in price prediction and the weather forecast. Moreover, there are Phayao Province because there is too much missing data. many pieces of research that applied this technique for air quality prediction or use it for comparison. 1. Chiang Mai has two stations that are in Chang Phueak, Mueang, Chiang Mai (S1) and Si Phum, The Neural Network [13] is a mathematical model Mueang, Chiang Mai (S2). developed by simulating the way neurons work in human brains. This method is designed with an aim to prove that the 2. Chiang Rai has two stations that are in Wiang Phang computer can learn, recognize patterns, and create new Kham, Mae Sai (S3) and Wiang, Mueang, Chiang Rai (S4). 265
2019 4th International Conference on Information Technology (InCIT2019) 3. Lampang has three stations that are in Ban Dong, In Table I, the AQIs of January – April are averaged over Mae Mo (S5), Mae Mo, Mae Mo (S6), and Phra Bat, two years 2018 and 2019, but, for May, only AQIs of 2018 Mueang, Lampang (S7). are shown. In January, the air-quality levels obtained from most of the stations were either good or excellent except the 4. Lamphun has one station that is in Ban Klang one from S12 in Tak province was moderate. In February, the Subdistrict, Mueang District (S8). overall air quality level deteriorated. The air quality indexes in most of the stations were at the moderate level. There were 5. Mae Hong Son has one station that is in Chong two stations (S6 and S12 from Lampang and Tak, Kham, Mueang, Mae Hong Son (S9). respectively) whose air quality could slightly affect human health. However, S3 and S4 in Chiang Rai still indicated good 6. Nan has one station that is in Huai Kon, Chaloem air quality. In March, the air quality level of every station Phra Kiat, Nan (S10). went up to the level that could affect human health. In April, the air quality was better than the previous month’s. The air 7. Phrae has one station that is in Na Chak, Mueang, quality levels of stations S5-S8 and S11-S12 returned to Phrae (S11). moderate while the remaining still had the air quality at the dangerous level. However, almost all of the stations except 8. Tak has one station that is in Mae Pa Subdistrict, Mae S4 showed the AQI level lower than the average. In May, the Sot District (S12). air quality of all stations returned to the excellence level. (Note: This May analysis involves only data in May 2018.) Fig. 1. Locations of the selected air-quality monitoring stations in Northern Thailand. Based on the analysis of AQI data mentioned above, we found that the air quality level of different stations in the same The data in this study are collected in two periods. The month could be different although they are located nearby in first period is from January 1, 2018 to May 31, 2018. The the same region. However, the overall AQIs obtained from second period is from January 1, 2019 to April 30, 2019. Note most of the stations in the same month tend to have similar that the data, of which factors are incomplete, are removed. trends. They gradually increase in February and March and The average AQI obtained from each station is shown in decrease in April and May. This evidence shows that it is Table I. promising for a model to forecast the air quality index of all stations simultaneously as opposed to predict the one of each TABLE I. AVERAGE AQI IN EACH MONTH station individually like the work in [7]. Station Jan Feb Mar Apr May B. Regression model for air quality index prediction S1 36.36 92.60 163.61 126.40 23.26 S2 30.21 79.62 148.34 116.28 21.84 In this research, we proposed models to forecast the daily S3 18.09 43.84 133.15 121.53 16.35 air quality index and compared three well-known techniques: S4 20.70 44.90 103.06 112.40 15.81 Linear Regression, Neural Network, and Genetic S5 21.54 69.39 109.39 80.55 13.94 Programming. After fine-tuning all parameters to obtain the S6 43.25 110.18 142.29 95.11 19.29 best performance, we configure each technique as follows: S7 35.66 86.36 120.66 75.91 16.61 S8 40.30 81.64 102.79 83.57 16.45 1) Linear Regression (LR): no parameter S9 16.30 53.36 139.63 129.17 18.86 2) Neural Network (NN): hidden nodes = 34, training S10 18.84 52.24 133.95 106.57 14.40 cycles = 200, learning rate = 0.01, and momentum = 0.9. S11 38.11 86.18 104.58 58.20 17.16 3) Genetic Programming (GP): population size = 200, S12 73.79 109.05 130.24 86.79 18.00 generation number = 1000, crossover rate = 0.8, mutation rate = 0.2, selection = tournament, and selection size = 4. C. Performance Criterion This research adopts the root mean square error (RMSE) to evaluate the effectiveness of all AQI prediction models. The equation is shown as (1). ∑ (1) where denotes the ith observed AQI, denotes the ith AQI predicted by one of the models, and N is the number of observations in the test set. The model that produces fewer errors is more effective one. IV. RESULTS AND DISCUSSION This section presents the models’ results of AQI forecasting. The comparative results in the training and testing phases are shown in Table II and Table III, respectively. The shaded areas show the method that performs best. 266
2019 4th International Conference on Information Technology (InCIT2019) Fig. 2. Subject at the time of measurement B. Degree of concentration during calculation III. MEASUREMENT RESULTS AND ANALYSIS We have 5 subjects performs calculation and rest each 10 minutes. And we measured their degree of concentration As subjects of the experiment, five fifth grade students under the calculation when they carry out the cycle mentioned (subjects A to E) of the technical college were included. In above total 4 times. Figure 4 has shown the result of the experiment, one set of calculation and 10 minutes of rest measurement but we show only a subject here, too. The alpha was performed, and this cycle was performed a total of four (α) waves and beta (β) waves correlated strongly (r = 0.88) times. At this time, GSR, the number of blinks, and and significant (p < 0.05). The alpha waves also has been electroencephalograms (alpha and beta wave) were negative correlated with GSR strongly (r = -0.92) and this has measured. significant (p < 0.05). Furthermore GSR also has been negative correlated with beta (β) waves strongly (r = -90) and A. Correlation between EEG and blink this has significant (p < 0.05). We can think that the decline of We had 2 subjects perform double-digit addition and beta wave after about 1 minute is at a relaxed state and the adjusting to calculation. It seems that subjects concentrate measured subject’s brain waves and blinks in order to confirm because brain waves increases and the change of the number the correlation between brain waves and blinks. Figure 3 has of times of blinks decreases, that is, blinks is stable, when the shown the result of measurement in each 10 minutes but we value of GS decreased. And we obtained which it is difficult show only a subject here. The alpha (α) waves and beta (β) to analyze the degree of concentration from only the number waves correlated relatively strongly (r = 0.58) and significant of times of blinks in the data of the subject who has large (p < 0.05). The alpha waves also has been correlated with number of times of blinks. blinks weakly (r = 0.34) but this has marginal significant (p < 0.10). Blinks will be increase if the brain waves will be 420 12 increase. We can think which subject has been concentrated state because subject’s blinks have decreased after a lapse of α-wave/100[dBV],β-wave/10[dBV] 350 10 GSR/10[kΩ],Blinks[times] 2 or 3 minutes. As the cause of which the ratio of brain waves has increased after a lapse of 5 minutes, we can think that the 280 Blinks 8 degree of concentration and mental stress has increased α-wave 6 against the calculation which has gotten bored with and 4 adjusted to. 210 β-wave 140 GSR 70 2 00 0 100 200 300 400 500 600 time[s] (a) Subject D(Every second) β-wave[dBV] 40 100 90 α-wave/1000[dBV],β-wave/20[dBV], 35 80 BLinks[times] 70 30 まばたき 60 GSR[kΩ] 25 α波 50 20 β波 40 GSR 30 20 10.0 1.0 15 10 Blinks 0.8 0 α-wavwe[dBV] ,Blink[times] 0.6 10 8.0 α-wave β-wave 5 6.0 0 0 1 2 3 4 5 6 7 8 9 10 4.0 0.4 time[s] 2.0 0.2 (b) Subject D(Every minute) Fig. 4. Blink and EEG changes 0.0 0.0 0 20 40 60 80 100 120 140 160 180 200 220 240 260 280 300 time[m] Fig. 3. Blink and EEG changes 271
2019 4th International Conference on Information Technology (InCIT2019) IV. CONCLUSION ACKNOWLEDGMENT In this research, we developed the system which can analyze the degree of concentration with measuring of This work was supported by JSPS KAKENHI Grant biological signals such as brain waves (: EEG), blinks, GSR, Number 18K02883. and so on. We have the subjects carry out the tasks, and measured the change of their biological signals both under the REFERENCES concentrated state and under the non-concentrated state, and analyzed to estimate their state with our system. [1] Ministry of Education, Culture, Sports, Science and Technology , We can confirm the condition of the change on biological Appearance that a new course of study, such as the signals, such as the number of times of blinks and brain wave, aim:http://www.mext.go.jp/b_menu/shingi/chukyo/chukyo3/siryo/atta under playing game and performing tasks. Moreover we also ch/1364316.htm (URL: In Japanese) have been able to confirm the condition of the change on biological signals, such as the brain wave (: EEG), blinks and [1] Ministry of Education, Culture, Sports, Science and Technology: the value of GSR when we had subjects perform making of http://www.mext.go.jp/component/b_menu/shingi/toushin/__icsFiles/ logic circuit and analyze the degree of concentration with our afieldfile/2012/10/04/1325048_3.pdf (URL: In Japanese) system. The result of this research shows it is possible to confirm [2] T.Kondo,Basic knowledge of sweat: student’s condition of concentration objectively on AL https://www.kao.co.jp/8x4/lab/article02/ (URL: In Japanese) because we can confirm the relationship between brain waves (: EEG) and GSR with our system. Teachers can arrange the [3] Grove-GSR Sensor: http://wiki.seeedstudio.com/Grove-GSR_Sensor/ content of class on real time with capturing student’s mental (URL: In Japanese) condition, and these activities can lead to the suggestion of new educational method. [4] R.Shimizu,E.Ogawa: Evaluation of the design and method of storage of the word memory system Uberall using the memory, Human Interface Symposium 2015, HI Society ,L1527D, 2015/9/2. [5] Brain wave,QLE.co.jp:https://www.qle.co.jp/brawav.htm (URL: In Japanese) [6] Kuniaki YAJIMA , Soru TAKAHASHI ,Yoshihiro TAKEICHI , Jun SATO : Development of Evaluation System of student's concentration in Active Learning, The 4th International Conference on Engineering, Applied Sciences and Technology(ICEAST2018),(4-7.6.2018) 272
2019 4th International Conference on Information Technology (InCIT2019) Implementation of Computer-Based Test in a Countrywide New Student Recruitment Process Yunarso Anang Takdir Farid Ridho Ibnu Santoso Dept. of Computational Dept. of Computational Dept. of Computational Dept. of Computational Statistics Statistics Statistics Statistics Politeknik Statistika STIS Politeknik Statistika STIS Politeknik Statistika STIS Politeknik Statistika STIS Jakarta, Indonesia Jakarta, Indonesia Jakarta, Indonesia Jakarta, Indonesia [email protected] [email protected] [email protected] [email protected] Lutfi Rahmatuti Maghfiroh Siti Mariyah Masakazu Takahashi Yoshimichi Watanabe Dept. of Computational Dept. of Computational Dept. of Computer Dept. of Computer Statistics Politeknik Statistika STIS Statistics Science and Engineering Science and Engineering Jakarta, Indonesia Politeknik Statistika STIS University of Yamanashi University of Yamanashi lutfi[email protected] Jakarta, Indonesia Kofu, Japan Kofu, Japan [email protected] [email protected] [email protected] Abstract—In order to increase the efficiency and the trans- delivery of the developed system. We have applied software parency of the process of various tests, the use of the computer engineering practices from the process of requirements elic- system in a test has been introduced for quite a long time. itation to the system tests before we start using the system Several studies have been published but most of them are about in the production environment. As the solution, we have the effectiveness of using the computer compared to the paper- chosen to use TCExam [2], an open source software (OSS) and-pencil based test and also about its methodology. This with considerations of quality, cost, and delivery. To fulfill paper provides a report of the implementation of a computer- our requirements, we have made some modifications to the based test in a countrywide new student recruitment process software, especially since we have put a lot of effort into from the software engineering perspective. This paper describes preparing the software as a whole system running in the the real- world software engineering practice in a computer- production environment. based system of how to fulfill the stakeholders requirements and shares the challenges to implementing the system in The rest of this paper is organized as follows. Section an environment with geographical constraints and limited II describes works related to CBT and its implementation. resources without compromising quality, cost, and delivery of Section III describes our work in the implementation of the developed system. the CBT system. Section IV provides the result and the evaluation of the implementation of the CBT system. Finally, Index Terms—computer-based test, software engineering, we conclude with remarks in Section V. quality-cost-delivery, virtualization, TCExam II. RELATED WORKS I. INTRODUCTION Studies in CBT discussed mostly the effectiveness of using Computerized test or computer-based test (CBT) has been the computerized test compared to the non-computerized introduced for quite a long time to provide a more efficient one. Piaw has conducted a study to examine the validity and transparent process of testing [1]. Compared to the of CBT and its effects on test performance and motivation paper-and-pencil test (PPT), there are some distinct benefits [3]. The study results indicate that no significant difference from CBT. Those benefits include cost-savings on printing was found for test performance in both PPT and CBT so and shipping of the paper materials and the increase of that in term of test performance, the CBT can be used as a the accuracy of data collection. However, in the real-world, replacement for the PPT. And as for the testing motivation, CBT is not necessarily better than PPT. The need for the the researcher did find that the use of CBT had increased development of the CBT system should not be undertaken the examinees’ self-efficacy, intrinsic and social motivation lightly. where it reflects the ability of the CBT to stimulate the examinees to conduct the test with higher concentration. In this paper, we provide a report of our implementation These facts were important for us to ensure that the use of of CBT in a countrywide new student recruitment process. CBT in the recruitment process will provide the same result. The recruitment process is held once in a year and has been conducted for several years using PPT and optical However, as stated by Russel et al. [4], previous studies mark recognition (OMR). To seek better efficiency and [5], [6] indicates that the familiarity with computers does transparency in the testing process, the stakeholders of the in- play a significant role in test performance. While these stitution have decided to convert the traditional PPT into the studies were conducted prior to the widespread penetration modern CBT. The challenges are how to implement the CBT of computers into schools and homes, the issue is still system in the environment with geographical constraints and limited resources without compromising quality, cost, and 273
2019 4th International Conference on Information Technology (InCIT2019) relevant and should be well considered in an environment A. Overview of the Recruitment Process where examinees with less experience using a computer still exist. From the recent study, researchers found that the user The new student recruitment is held by Politeknik Statis- interface design of the CBT may have an effect on the score tika STIS (a.k.a Sekolah Tinggi Ilmu Statistik (STIS)), a [7]. For example, if the location to mark the answer is not in college under the administration of Statistics Indonesia, a the same place as the corresponding answer choice, it could government official conducting official statistics. The in- be challenging for younger students or students with poor stitution recruits its students who graduate from the high organizational skill or difficulties with concentration. The school from the entire country and the students graduated lack of the option to skip, review and change previously from STIS will all become the public officials working at answered questions also may result in a lower score for Statistics Indonesia which has offices at each province and younger students. district/city all over the country. The recruitment is held once a year and for several years until recently in 2017, the test As the use of computers to conduct tests is becoming more was conducted using PPT. The test is held in 33 provinces prevalent in educational assessment domain, to establish a across the country. In 2017, the test consists of two subjects: valid and reliable CBT, the International Test Commission Mathematics and English Language, both are multiple-choice (ITC) Guidelines on Computer-Based Testing and Internet tests. The test is always conducted simultaneously in every Delivering Testing [8] (hereinafter called ITC Guidelines) test location using the same test instrument. stated that equivalent test scores should be established for the conventional PPT and its replacement, the modern CBT. The As we use OMR for the PPT, the test instruments consist guidelines also mentioned explicitly that when designing a of the test itself and the mark sheet. While the cost of the CBT version of a non-computerized test, equivalent control preparation of test items is relatively low because there only should be provided to the examinee such as the ability to one set of the test item is necessary, the other tasks were skip or review test items as on the non-computerized one. costly. The test instruments have to be printed, packed and Considering the previously reviewed studies results as well as distributed to every test location around the country. While the guidelines, the developers should give a higher priority there are always personnel from the institution assigned to of concern to the design of the user interface in order to supervise the test and go the test location and can bring along achieve the same scoring results of using the CBT compared the instruments, but only for the place with a small number of to the PPT. applicants; for the others with a large number of applicants, the instruments were better sent using package delivery Indonesia, the country where the recruitment test has been services. Furthermore, the answers have to be collected and implemented, is very diverse and geographically dispersed processed (includes validity check) and that task consumes a country, which is an archipelago of more than 17,000 is- quite amount of time to complete before the result is ready lands, it stretches over 5,000 kilometers and across three for the test result decision maker. time zones [9]. But despite its diversity, the country has a strong concentration of population: 57 percent of Indonesia’s Considering those, the stakeholders of the institution have 255 million people (2015’s projection data from Statistics decided to replace the PPT with the CBT for the recruitment Indonesia1) live on the island of Java, which covers only test for the purpose mainly to reduce the costs as well as 6% of Indonesia’s land area. Based on the report presented to provide immediate test result to the examinees. However, at the International Telecommunication Union (ITU) con- there is also a reason for the trend value that can not be ference [10] and revised in an infographic by the Ministry avoided but for a good reason. of Communications and Information Technology Indonesia [11], only 28.3% of total individual users are using computer B. Overview of Tasks of the Implementation Process with 41.3% of those with the age of 16-25 years old, and only 31.0% of total users are using Internet with 50.6% of The implementation process of the CBT considers mainly those with the age of 16-26 years old. These findings indicate three aspects those are quality, cost, and delivery (QCD). that the familiarity of high school students with a computer The quality aspect determines that the system should work is quite low. without any compromise, and as a system, that includes software, hardware, procedures, and human parts. The soft- III. OUTLINE OF THE IMPLEMENTATION PROCESS ware part consists of not only the CBT software itself but also the operating system, the platform or environment for In this section, we describe the outline of tasks we running the CBT system, test tools, maintenance tools and have done in implementing the CBT in the new student other software those are necessary to run (and test) the CBT recruitment process, which is organized into the following system. The hardware part includes a server computer, client subsections: first, we describe the recruitment process and computers, and other devices or media that are necessary the test within the process that we moved from PPT to CBT, to support the CBT system to run and to be tested. The second, we outline the overall tasks of the implementation, next things need to be defined after software and hardware and the rest, we describe each of the tasks. are the procedures of how we run the system. A procedure not only determines how the system is run but also how 1Statistics Indonesia http://www.bps.go.id the system is tested. And lastly, the human part, consists of groups of people who owns, develops, tests, and uses the system. The owner is the primary stakeholder of the system who takes the advantage of the system. The owner decides 274
2019 4th International Conference on Information Technology (InCIT2019) Requirements Elicitation and Analysis TABLE I SUMMARY OF SOME PRIMARY REQUIREMENTS System Design Test Item Test Operation SoftwareSystem Development Preparation Design No. Requirements No. Technical Requirements Selection Test Item Construction Test Item Entry Software Test Location 1 Test items and the answers of each 1.1 Due to the limitation of computers, Supporting Tasks Test Item Assessment item should be randomized for each the test will be operated in multiple Development Verification & Procedures Platform Construction examinee session Validation Development Operating 1.2 Need to construct more test items System Personnel (test items bank) Recruitment Verification & 1.3 Need to determine the method of Validation items selection for a particular examinee Internal Test and Load Test Production Test and Load Test Training 2 The examinee can see the score 2.1 Clear enough Deployment immediately after finishing the test Operation and Maintenance 3 The paper-based test will be no 3.1 As CBT will be the only method, longer provided the failure in operation is not acceptable Fig. 1. Implementation Processes 3.2 Instead of full on-line, the semi on- the overall requirements, provides the budget, human and line or off-line system should be other necessary resources. The developers are those people considered who analyze the requirements, find alternative solutions and choose the best one, design the system, built and test it. In 3.3 Should be easy to setup and operate our implementation, we have established a dedicated group at the local test center even by of people to test the system in the production environment. people who do not have knowledge The aspects of cost and delivery also involve these software, about the internal design of the hardware, procedures and human parts. For our implemen- system tation, we have the constraints of costs and delivery time which should be considered beside the quality aspect. 4 Should be doable by all examinees 4.1 The user interface should be considering that there is an intuitive enough To take those aspects into consideration, we define the indication of low familiarity with following implementation processes as shown in Fig. 1. We computer with some examinees 4.2 Follow the guidelines from the ITC describe each process in the following subsections. Central Central Test C. Requirements Elicitation and Analysis Server Server Location In this process, we identify the requirements from the Internet Internet stakeholders and determine which requirements are feasible to be implemented. The requirements elicited from the Internet Local Servers stakeholders have a high degree of abstraction and are not Routers necessarily representing the system requirements in a techni- cal matter. These requirements are then deployed into more (a) Full Online (b) Semi-online concrete and technical requirements. Table I summarizes some of the primary requirements. The left column consists Local Servers Test of the requirements elicited from the stakeholders, which are Location then deployed into the technical requirements in the right column. (c) Offline In this process, some important constraints which need to Fig. 2. Comparison of the Typical CBT Architectures be considered carefully have been identified. There are two most important requirements. platform development, and system verification and valida- tion. The first constraint was the fact that there is still a limi- tation of stable Internet access in the country. Accordingly, The system design is a task to define and decide the the system can not be designed as a centralized system using design of the system with the given requirements. Taking the Internet. Fig. 2 shows typical CBT architectures. We all considerations into account, the primary design of the have chosen the offline architecture, where the test items system is that the CBT system will be implemented as a are already loaded into the local server so that no Internet web application. It provides high operability, a low effort of connection is required. deployment and high maintainability. The system uses offline architecture, where no Internet connection is required at the And the second constraint was that the system should test location. At the time when the system was implemented, be developed that put quality into the highest priority of there was no guarantee of the stability and the availability consideration without any compromise using the available of the Internet connection at all test locations. budget and better not to spending more than the PPT and should be delivered within the given time. The software selection is a task to choose the best solution which includes software and hardware for the given system D. System Development design. The task starts with finding any alternative solutions, includes commercially out-off-the-shelf (COTS), OSS and The system development process involves several tasks: also in-house software development which meets the de- system design, software selection, software development, sign. After conducting a selection analysis, we choose one software solution. Table II shows the result of our software selection analysis. The next task, the software development, is a task to perform all necessary development, or modification, to de- 275
2019 4th International Conference on Information Technology (InCIT2019) TABLE II Configuration Scripts Configuration Scripts SOFTWARE SELECTION ANALYSIS DB Web Apps DB Web Apps Deployed using USB Criteria In-house Moodle TCExam TOATEST.COM Operating System Operating System storage media Platform Desktop+Web Web Prepared at License Web Web Virtual Machine Virtual Machine the test N/A OSS, Commercial location Free OSS, Commercial for edition available VirtualBox or VMware custom branded No Integrated with PPT No No Yes Yes Operating System Customization Yes using XML/difficult N/A Yes well-documented/easy 70 Physical Computer 40 Score 20 100 License cost 100 100 90 100 Development effort 70 90 PPT data integration 60 75 90 95 Fig. 3. System Deployment using Virtualization Technology Platform flexibility 80 515 GUI administration 100 55 100 Test content 85 Security 80 100 100 Total 575 90 80 examinee conducting the test. Then, after the test finished, the client application will be removed from the client PC, 80 100 the VM will be detached from the host computer, and the VM will be brought back to home. The test data then will be 90 100 extracted from each VM and collected in the central server and processed. 590 660 Finally, the system development process ends with system velop additional functions to meet the system design onto verification and validation. The tasks are to verify whether the already chosen software solution. TCExam is an already all functions work correctly as designed and to validate that well-developed OSS and has already been used in several all requirements were implemented and whether the system use cases. However, as it is aimed to be used in a common operates as expected. All of these will again be examined at web browser on inexpensive hardware, it does not provide the production and load test. a rich user interface. To improve the user experience and to accommodate those examinees with low familiarity with E. Test Item Construction using computers, the user interface needs to be modified. We reused the same design and resources from our in-house This process, the test item construction, involves three developed CBT system. The modified UI has bigger fonts tasks: the preparation of the test items, the task to input the and navigation buttons, more colors (but not too much) have test items into the system and finally the task of verification been used to differentiate functions and less scrolling. Other and validation. This process is not directly related to the modifications were performed under the hood to tweak the software engineering processes but as a system, the test items functionality and the usability of the software. are part of the system and need to be prepared and input. In order to run the developed software, we need a platform F. Supporting Tasks or an environment. The platform development is a task to design and to develop a platform to run the system properly. This process involves tasks to support the implementation As described before, the system uses offline architecture, so of the CBT system in the recruitment process. the system (server and client applications) will be deployed at every test location. One alternative solution is to prepare The test operation design is a task to design how to a physical server computer, install the server application operate the test. As described previously, the test was held and insert the test items into the server database. However, in several sessions a day for three days at a maximum. The that would be costly because we need to deploy the system test operation should also consider the time zone, which to 33 test locations, at least, so we need to prepare 33 in Indonesia, there are three time zones across the country. server computers, and double that number for the backup When the test is operated using the standardized clock and server. Another alternative solution is to prepare just the started, for example, at 8:00 AM Western Indonesia Time, disk and then attach it to the physical computer already then the test will be started two hours earlier at the locations exists at the test location, but that would be risky. Different in the east part of the country. The operation design affects hardware would require different device configuration and not only the time schedule but also the test items selection the system already prepared in the disk might not work at and the procedures for field operation. the targeted computer. Then we come to the alternative of using virtualization technology. The system is installed in The test location assessment is a task to make sure that the a virtual machine (VM). We use VirtualBox2 as the base test organizer at each test location provides the environment virtualization platform. The targeted computer’s platform can that meets the requirements to run the CBT system. be anything running VirtualBox or VMware3. Fig. 3 shows the architecture of the running platform using virtualization In this process, we also conduct task to compose all technology. necessary documents for operating the test. These documents of the standard operating procedure include the procedure The VM is deployed and attached to the host computer. for system test, the procedure for organizing and operating To configure the system, the automated configuration scripts the test at the test location, and the procedure for system have been developed and equipped within the system. The deployment. Training modules for technical personnel are client application is deployed to each client PC where the also constructed. 2Oracle VM VirtualBox http://www.virtualbox.org And finally, the last task in this process is for recruiting 3VMware http://www.vmware.com the technical personnel. Because of the system needs to be 276
Search
Read the Text Version
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
- 156
- 157
- 158
- 159
- 160
- 161
- 162
- 163
- 164
- 165
- 166
- 167
- 168
- 169
- 170
- 171
- 172
- 173
- 174
- 175
- 176
- 177
- 178
- 179
- 180
- 181
- 182
- 183
- 184
- 185
- 186
- 187
- 188
- 189
- 190
- 191
- 192
- 193
- 194
- 195
- 196
- 197
- 198
- 199
- 200
- 201
- 202
- 203
- 204
- 205
- 206
- 207
- 208
- 209
- 210
- 211
- 212
- 213
- 214
- 215
- 216
- 217
- 218
- 219
- 220
- 221
- 222
- 223
- 224
- 225
- 226
- 227
- 228
- 229
- 230
- 231
- 232
- 233
- 234
- 235
- 236
- 237
- 238
- 239
- 240
- 241
- 242
- 243
- 244
- 245
- 246
- 247
- 248
- 249
- 250
- 251
- 252
- 253
- 254
- 255
- 256
- 257
- 258
- 259
- 260
- 261
- 262
- 263
- 264
- 265
- 266
- 267
- 268
- 269
- 270
- 271
- 272
- 273
- 274
- 275
- 276
- 277
- 278
- 279
- 280
- 281
- 282
- 283
- 284
- 285
- 286
- 287
- 288
- 289
- 290
- 291
- 292
- 293
- 294
- 295
- 296
- 297
- 298
- 299
- 300
- 301
- 302
- 303
- 304
- 305
- 306
- 307
- 308
- 309
- 310
- 311
- 312
- 313
- 314
- 315
- 316
- 317
- 318
- 319
- 320
- 321
- 322
- 323
- 324
- 325
- 326
- 327
- 328
- 329
- 330
- 331
- 332
- 333
- 334
- 335
- 336
- 337
- 338