Hyunjun

최종보고서 업로드

...@@ -10,10 +10,10 @@ Service introduce ...@@ -10,10 +10,10 @@ Service introduce
10 Supported Platforms & Test Environments 10 Supported Platforms & Test Environments
11 --------------------------------------------------------------------------------------------------------------------------------- 11 ---------------------------------------------------------------------------------------------------------------------------------
12 12
13 ->Raspberry Pi 3 Model B 13 +>Raspberry Pi 3 Model B.
14 -Paspberry Pi Camera Rev. 1.3 14 +>Raspberry Pi Camera Rev. 1.3.
15 -Ubuntu MATE 16.04.2 15 +>Ubuntu MATE 16.04.2.
16 -C++ 컴파일러 버전 11이상 16 +>C++ Compiler Version 11 or higher
17 17
18 18
19 Application Project Setup 19 Application Project Setup
...@@ -40,85 +40,84 @@ g++ -std=c++11 main.cpp ...@@ -40,85 +40,84 @@ g++ -std=c++11 main.cpp
40 Detail 40 Detail
41 --------------------------------------------------------------------------------------------------------------------------------- 41 ---------------------------------------------------------------------------------------------------------------------------------
42 42
43 ->1. 계획서 업로드 43 +>1. 계획서 업로드.
44 -[강현준, 권은진, 김효은, 하미르] 라즈베리파이에 이미지 프로세싱 딥러닝을 적용한 자동화 계산 시스템 44 +>[강현준, 권은진, 김효은, 하미르] 라즈베리파이에 이미지 프로세싱 딥러닝을 적용한 자동화 계산 시스템
45 45
46 46
47 ->2. 중간보고서(논문) 업로드 47 +>>2. 중간보고서(논문) 업로드.
48 -[강현준, 권은진, 김효은, 하미르] 이미지 인식 딥러닝을 적용한 자동화 계산 시스템_중간보고서(논문) 48 +>[강현준, 권은진, 김효은, 하미르] 이미지 인식 딥러닝을 적용한 자동화 계산 시스템_중간보고서(논문)
49 49
50 50
51 ->3. simple_convnet 원본코드 업로드 51 +>>3. simple_convnet 원본코드 업로드.
52 52
53 53
54 ->4. params.pkl->params.csv 54 +>>4. params.pkl->params.csv.
55 -프로그램의 속도보장을 위해 python->c++ 컨버팅 작업이 필요함 55 +>프로그램의 속도보장을 위해 python->c++ 컨버팅 작업이 필요함.
56 -python 코드에서 가중치를 pickle 파일에 저장하는데 c++에서는 pickle 파일을 읽는 데에 어려움이 있음 56 +>python 코드에서 가중치를 pickle 파일에 저장하는데 c++에서는 pickle 파일을 읽는 데에 어려움이 있음.
57 -pickletools라는 라이브러리가 있지만 에러가 많고, 자바, 파이썬, C++ 여러 언어를 지원해 무겁기 때문에 속도를 올리기 위한 컨버팅 작업에는 적절하지 않음 57 +>pickletools라는 라이브러리가 있지만 에러가 많고, 자바, 파이썬, C++ 여러 언어를 지원해 무겁기 때문에 속도를 올리기 위한 컨버팅 작업에는 적절하지 않음.
58 그래서, 파라미터를 저장하는 부분을 csv로 바꿔 C++에서 그 파일로 읽기위해 params.pkl을 params.csv로 바꾸는 코드를 추가함 58 그래서, 파라미터를 저장하는 부분을 csv로 바꿔 C++에서 그 파일로 읽기위해 params.pkl을 params.csv로 바꾸는 코드를 추가함
59 59
60 60
61 ->5. params.pkl->params.txt 61 +>>5. params.pkl->params.txt.
62 -입력처리할 때 csv파일로 읽으면 속도가 느림 62 +>입력처리할 때 csv파일로 읽으면 속도가 느림 이 또한 속도를 올리기 위한 컨버팅 작업의 목적에 맞지 않기 때문에 params.pkl 파일을 csv 파일이 아닌 txt 파일로 바꿈
63 -이 또한 속도를 올리기 위한 컨버팅 작업의 목적에 맞지 않기 때문에 params.pkl 파일을 csv 파일이 아닌 txt 파일로 바꿈
64 63
65 64
66 ->6. python test 코드 추가 65 +>>6. python test 코드 추가.
67 -test하는 부분만 골라내기 위해 python test 코드를 추가(test.py), simple_convnet 내용 추가 66 +>test하는 부분만 골라내기 위해 python test 코드를 추가(test.py), simple_convnet 내용 추가
68 67
69 68
70 ->7. python test 폴더 추가 69 +>>7. python test 폴더 추가.
71 -python test 폴더에는 test에 필요하지 않은 train 부분을 삭제함 70 +>python test 폴더에는 test에 필요하지 않은 train 부분을 삭제함
72 71
73 72
74 ->8. make_img.py 추가 73 +>>8. make_img.py 추가.
75 -이미지를 불러와 (32,32,3)의 크기로 resize한 후 input.txt에 저장함 74 +>이미지를 불러와 (32,32,3)의 크기로 resize한 후 input.txt에 저장함
76 75
77 76
78 ->9. simple_convnet_cpp 코드 추가 77 +>>9. simple_convnet_cpp 코드 추가.
79 - 1) layers.hpp : Convolution, ReLu, Normalization, Pooling, DW_Conv등 각 layer가 구현 78 +> 1) layers.hpp : Convolution, ReLu, Normalization, Pooling, DW_Conv등 각 layer가 구현.
80 - 2) SimpleConvNet.hpp : 딥러닝 모델이 구현 79 +> 2) SimpleConvNet.hpp : 딥러닝 모델이 구현.
81 - 3) input.txt : make_img.py코드로 만든 이미지를 (32,32,3)의 크기로 만들어 txt파일로 저장 80 +> 3) input.txt : make_img.py코드로 만든 이미지를 (32,32,3)의 크기로 만들어 txt파일로 저장.
82 - 4) pred.txt : 1개의 이미지만 넣으면 예측이 되지않아 dummy를 같이 읽어서 처리함. 출력은 되지않음 81 +> 4) pred.txt : 1개의 이미지만 넣으면 예측이 되지않아 dummy를 같이 읽어서 처리함. 출력은 되지않음.
83 - 5) params.txt : 속도향상을 위해 params.pkl파일을 params.txt로 변환 82 +> 5) params.txt : 속도향상을 위해 params.pkl파일을 params.txt로 변환.
84 - 6) main.cpp 83 +> 6) main.cpp .
85 - *c++ 컴파일러 버전 11이상 84 +>*c++ 컴파일러 버전 11이상.
86 - *프로젝트 생성 시 sdl 검사 체크 해제 85 +> *프로젝트 생성 시 sdl 검사 체크 해제
87 86
88 87
89 ->10. google_image_crwaling 코드 추가 88 +>>10. google_image_crwaling 코드 추가.
90 -필요한 데이터셋을 만들기 위한 google_image_crwaling 코드 추가 89 +>필요한 데이터셋을 만들기 위한 google_image_crwaling 코드 추가
91 90
92 91
93 ->11. chrome_crwaling 확장프로그램 추가 92 +>>11. chrome_crwaling 확장프로그램 추가.
94 -앞서 만든 코드는 1회에 20장의 사진만 다운로드 가능 93 +>앞서 만든 코드는 1회에 20장의 사진만 다운로드 가능.
95 -데이터셋을 만들기 위해서는 훨씬 더 방대한 양의 데이터가 필요함 94 +>데이터셋을 만들기 위해서는 훨씬 더 방대한 양의 데이터가 필요함.
96 -googel chrome의 확장프로그램을 활용한 구글 이미지 검색 결과 크롤링 프로그램 구현 95 +>googel chrome의 확장프로그램을 활용한 구글 이미지 검색 결과 크롤링 프로그램 구현
97 96
98 97
99 ->12. simple_convnet_rasberryPi 코드 추가 98 +>>12. simple_convnet_rasberryPi 코드 추가.
100 -라즈베리파이에서 구동되는 코드 추가 99 +>라즈베리파이에서 구동되는 코드 추가.
101 -make_img.py에서는 라즈베리파이에 연결된 카메라가 촬영을 하면 그 사진을 32*32*3 사이즈로 resize해준 후 input.txt파일로 변환해줌 100 +>make_img.py에서는 라즈베리파이에 연결된 카메라가 촬영을 하면 그 사진을 32*32*3 사이즈로 resize해준 후 input.txt파일로 변환해줌.
102 -main.cpp에서 convnet 코드 실행 101 +>main.cpp에서 convnet 코드 실행.
103 -predict.sh 쉘파일로 전체 실행 102 +>predict.sh 쉘파일로 전체 실행
104 103
105 104
106 ->13. dataset 추가 105 +>>13. dataset 추가.
107 -image_process.py : cropping을 통해 정사각형 형태를 만들고 32*32 크기로 resize, 사진 반전, 회전을 통해 사진 1개당 8개의 데이터를 생성 106 +>image_process.py : cropping을 통해 정사각형 형태를 만들고 32*32 크기로 resize, 사진 반전, 회전을 통해 사진 1개당 8개의 데이터를 생성.
108 -크롤링을 통해 휴지, 소주, 캔음료, 라면, 삼각김밥 각각 500개씩의 이미지를 다운받음 107 +>크롤링을 통해 휴지, 소주, 캔음료, 라면, 삼각김밥 각각 500개씩의 이미지를 다운받음.
109 -한 카테고리당 4000개의 데이터를 생성 108 +>한 카테고리당 4000개의 데이터를 생성
110 109
111 110
112 ->14. data.bin.gz 111 +>>14. data.bin.gz.
113 -직접 만든 데이터셋. 32*32의 이미지를 rgb로 분리하여 이미지 1개당 3072개의 데이터, 1개의 label을 포함하여 3073개의 데이터를 갖음 112 +>직접 만든 데이터셋. 32*32의 이미지를 rgb로 분리하여 이미지 1개당 3072개의 데이터, 1개의 label을 포함하여 3073개의 데이터를 갖음
114 113
115 114
116 ->15. params.pkl 추가 115 +>>15. params.pkl 추가.
117 -제작한 데이터셋을 트레이닝하고 나온 가중치를 저장한 params.pkl 파일 추가 116 +>제작한 데이터셋을 트레이닝하고 나온 가중치를 저장한 params.pkl 파일 추가
118 117
119 118
120 ->16. simple_convnet_rasberryPi 코드 추가 119 +>>16. simple_convnet_rasberryPi 코드 추가.
121 -인식한 결과에 따라 계산서가 나오도록 코드를 추가 120 +>인식한 결과에 따라 계산서가 나오도록 코드를 추가
122 121
123 122
124 ->17. 최종 발표 ppt 및 데모 영상 추가
...\ No newline at end of file ...\ No newline at end of file
123 +>>17. 최종 발표 ppt 및 데모 영상 추가
...\ No newline at end of file ...\ No newline at end of file
......