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