표제지
요약문
ABSTRACT
목차
제1장 서론 18
1.1. 연구 배경 및 연구 방법 18
1.1.1. 연구 배경 18
1.1.2. 연구 방법 19
1.2. 선행연구들 22
1.2.1. 한국농업환경 분석 22
1.2.2. 농업로봇과 자율주행 25
제2장 배경 이론 30
2.1. 지형인식 30
2.1.1. 센서 기반의 지형인식 30
2.1.2. GIS 기반의 지형인식 31
2.1.3. 컴퓨터 비전 기반의 지형인식 31
2.1.4. 인공지능 기반의 지형인식 34
2.2. 딥러닝 35
2.2.1. 컴퓨터 비전 기술 35
2.2.2. 허프 변환 알고리즘 42
2.2.3. CNN 43
2.2.4. R-CNN 53
2.3. 학습용 데이터 구축 55
2.3.1. 데이터 가이드라인 55
2.3.2. 인공지능 학습용 데이터 구축 방법 59
2.4. 디지털 트윈 63
2.4.1. 유니티 66
2.4.2. 제어 및 통신 69
제3장 지형인식 및 검증 71
3.1. 개요 71
3.2. 지형인식 학습모델 선정 73
3.3. 지형인식 학습용 서버 구축 78
3.4. 지형인식 학습용 데이터수집 82
3.5. 지형인식 학습용 데이터 라벨링 및 학습 84
3.6. 지형인식 학습모델 검증 102
3.6.1. 지형인식 학습모델 검증용 프로그래밍 코드 102
3.7. 디지털 트윈 실험인터페이스 구축 109
제4장 결과 118
4.1. F1-Score 118
4.2. 최종 실험 결과 123
제5장 결론 및 향후 연구 129
5.1. 결론 129
5.2. 향후 연구과제 130
REFERENCES 131
Table 1.1. Summary of main features and uses of agricultural robots 28
Table 2.1. Computer Vision and Image Processing 36
Table 2.2. Comparison of CCD sensors and CMOS sensors 37
Table 2.3. Digital twin technology by field 65
Table 3.1. Considerations when acquiring data 83
Table 3.2. Composition of acquired data 84
Table 3.3. Data attribute definition 95
Fig. 1.1. Research scope of this paper 21
Fig. 2.1. Principles of LiDAR 31
Fig. 2.2. Stage of visual representation 32
Fig. 2.3. Research into simplifying complex objects 33
Fig. 2.4. Human Recognition 34
Fig. 2.5. Overview of artificial intelligence 35
Fig. 2.6. Sampling 38
Fig. 2.7. Video binarization 39
Fig. 2.8. Canny edge detector 41
Fig. 2.9. Hough transform 43
Fig. 2.10. Convolution Layer 44
Fig. 2.11. Stride 45
Fig. 2.12. Padding technique 45
Fig. 2.13. Image with separated vertical edge and horizontal edge 46
Fig. 2.14. Image passed through filter, kernel 47
Fig. 2.15. Apply multiple filters and kernels to convolution layer input 47
Fig. 2.16. Invariance to small translations 48
Fig. 2.17. Result after pooling layer process 49
Fig. 2.18. CNN structure 49
Fig. 2.19. 1D convolution operation 50
Fig. 2.20. 2D convolution operation 50
Fig. 2.21. Differences in Computer Vision Problems 51
Fig. 2.22. Object detection in 1-stage detector 52
Fig. 2.23. Object detection in 2-stage detector 53
Fig. 2.24. Selective search 54
Fig. 2.25. R-CNN Model 54
Fig. 2.26. Data guidelines 56
Fig. 2.27. Data Consistency 57
Fig. 2.28. AI service launch process 58
Fig. 2.29. How to build data for AI training 59
Fig. 2.30. Rules for writing data for learning 60
Fig. 2.31. Annotation visualization 61
Fig. 2.32. Building Digital Twin 63
Fig. 2.33. Digital Twin Model and IoT 65
Fig. 2.34. Unity interface 66
Fig. 2.35. Unity Asset Store 67
Fig. 2.36. Unity Inverse Kinematics 68
Fig. 2.37. Robot control using communication protocol 70
Fig. 3.1. Data construction process 71
Fig. 3.2. Full research roadmap 72
Fig. 3.3. Research scope of this paper 73
Fig. 3.4. CNN's overall network structure 74
Fig. 3.5. Fast R-CNN structure of 2-Stage Detector series 75
Fig. 3.6. Example of learning terrain shape 76
Fig. 3.7. Object detection terrain learning example 77
Fig. 3.8. Straight line detection terrain learning example 77
Fig. 3.9. ArgosOCR configuration flow 78
Fig. 3.10. Server specifications 79
Fig. 3.11. Server used for experiment 79
Fig. 3.12. JAVA Spring framework screen in Eclipse IDE 80
Fig. 3.13. Screen linked to learning model in PyCharm IDE 80
Fig. 3.14. Components of the ArgosOCR software package 81
Fig. 3.15. AI learning data set construction guide, etc. 82
Fig. 3.16. Data characteristics examples 85
Fig. 3.17. Classification system according to data characteristics 85
Fig. 3.18. Basic architecture of OpenCV 86
Fig. 3.19. Recognition algorithms in various fields of computer vision 87
Fig. 3.20. HoughLines function 88
Fig. 3.21. HoughLinesP function for stochastic Hough transform 89
Fig. 3.22. Straight control code 90
Fig. 3.23. FindContours function(to detect outlines) 91
Fig. 3.24. Template matching function matchTemplate() 92
Fig. 3.25. minMaxLoc() function in OpenCV 93
Fig. 3.26. Extract specific color range using cv2.inRange function 94
Fig. 3.27. Outline detection 96
Fig. 3.28. Select labeling image filter 97
Fig. 3.29. Apply labeling image filter 97
Fig. 3.30. Automatic recognition area of labeling image through 98
Fig. 3.31. Adjust and save labeling image filter values 98
Fig. 3.32. Select and deselect labeling image box area 99
Fig. 3.33. Data Labeling 100
Fig. 3.34. Data labeling system architecture 101
Fig. 3.35. Test image data by type 102
Fig. 3.36. (a) Main source code for data transformation 104
Fig. 3.37. (b) Main source code for data transformation 105
Fig. 3.38. Data augmentation of straight lines 106
Fig. 3.39. Real-time monitoring screen in PyCham 107
Fig. 3.40. Results of verifying the learning model through experiment 108
Fig. 3.41. Environment configuration for final experiment 109
Fig. 3.42. (a) Unity main function code 110
Fig. 3.43. (b) Unity main function code 111
Fig. 3.44. IK joint structure of robot 112
Fig. 3.45. Unity class structure(Finite State Machine, FSM) 113
Fig. 3.46. Experimental environment diagram 114
Fig. 3.47. Move to the designated location with the arrow keys 116
Fig. 3.48. Screen transfer preparation process 116
Fig. 3.49. Press the button to receive test results 117
Fig. 3.50. Modify and resend test result values 117
Fig. 4.1. Overall structure of learning data and AI model 119
Fig. 4.2. Overall experiment structure 120
Fig. 4.3. Unity application architecture for final experiment 121
Fig. 4.4. Experiment result extraction concept diagram 122
Fig. 4.5. Check for data validation errors 122
Fig. 4.6. Experiment result screen before improvement 123
Fig. 4.7. (a) Determine error type for each object 124
Fig. 4.8. (b) Determine error type for each object 124
Fig. 4.9. List of learning images for re-learning 125
Fig. 4.10. Re-measurement test for uphill 125
Fig. 4.11. Obstacle ground Test 126
Fig. 4.12. Downhill terrain remeasurement test 126
Fig. 4.13. Re-measurement test for obstacles(avoidance) 127
Fig. 4.14. F1-Score value increased as a result of remeasurement 128