Showing
6 changed files
with
122 additions
and
3 deletions
1 | -1. 계획서 업로드 [강현준, 권은진, 김효은, 하미르] 라즈베리파이에 이미지 프로세싱 딥러닝을 적용한 자동화 계산 시스템 | 1 | +1. 계획서 업로드 |
2 | 2 | ||
3 | +[강현준, 권은진, 김효은, 하미르] 라즈베리파이에 이미지 프로세싱 딥러닝을 적용한 자동화 계산 시스템 | ||
3 | 4 | ||
4 | -2. 중간보고서(논문) 업로드 [강현준, 권은진, 김효은, 하미르] 이미지 인식 딥러닝을 적용한 자동화 계산 시스템_중간보고서(논문) | 5 | + |
6 | +2. 중간보고서(논문) 업로드 | ||
7 | + | ||
8 | +[강현준, 권은진, 김효은, 하미르] 이미지 인식 딥러닝을 적용한 자동화 계산 시스템_중간보고서(논문) | ||
5 | 9 | ||
6 | 10 | ||
7 | 3. simple_convnet 원본코드 업로드 | 11 | 3. simple_convnet 원본코드 업로드 |
8 | 12 | ||
9 | 13 | ||
10 | 4. params.pkl->params.csv | 14 | 4. params.pkl->params.csv |
15 | + | ||
11 | 프로그램의 속도보장을 위해 python->c++ 컨버팅 작업이 필요함 | 16 | 프로그램의 속도보장을 위해 python->c++ 컨버팅 작업이 필요함 |
12 | python 코드에서 가중치를 pickle 파일에 저장하는데 c++에서는 pickle 파일을 읽는 데에 어려움이 있음 | 17 | python 코드에서 가중치를 pickle 파일에 저장하는데 c++에서는 pickle 파일을 읽는 데에 어려움이 있음 |
13 | pickletools라는 라이브러리가 있지만 에러가 많고, 자바, 파이썬, C++ 여러 언어를 지원해 무겁기 때문에 속도를 올리기 위한 컨버팅 작업에는 적절하지 않음 | 18 | pickletools라는 라이브러리가 있지만 에러가 많고, 자바, 파이썬, C++ 여러 언어를 지원해 무겁기 때문에 속도를 올리기 위한 컨버팅 작업에는 적절하지 않음 |
... | @@ -15,23 +20,28 @@ pickletools라는 라이브러리가 있지만 에러가 많고, 자바, 파이썬, C++ 여러 언어를 | ... | @@ -15,23 +20,28 @@ pickletools라는 라이브러리가 있지만 에러가 많고, 자바, 파이썬, C++ 여러 언어를 |
15 | 20 | ||
16 | 21 | ||
17 | 5. params.pkl->params.txt | 22 | 5. params.pkl->params.txt |
23 | + | ||
18 | 입력처리할 때 csv파일로 읽으면 속도가 느림 | 24 | 입력처리할 때 csv파일로 읽으면 속도가 느림 |
19 | 이 또한 속도를 올리기 위한 컨버팅 작업의 목적에 맞지 않기 때문에 params.pkl 파일을 csv 파일이 아닌 txt 파일로 바꿈 | 25 | 이 또한 속도를 올리기 위한 컨버팅 작업의 목적에 맞지 않기 때문에 params.pkl 파일을 csv 파일이 아닌 txt 파일로 바꿈 |
20 | 26 | ||
21 | 27 | ||
22 | 6. python test 코드 추가 | 28 | 6. python test 코드 추가 |
29 | + | ||
23 | test하는 부분만 골라내기 위해 python test 코드를 추가(test.py), simple_convnet 내용 추가 | 30 | test하는 부분만 골라내기 위해 python test 코드를 추가(test.py), simple_convnet 내용 추가 |
24 | 31 | ||
25 | 32 | ||
26 | 7. python test 폴더 추가 | 33 | 7. python test 폴더 추가 |
34 | + | ||
27 | python test 폴더에는 test에 필요하지 않은 train 부분을 삭제함 | 35 | python test 폴더에는 test에 필요하지 않은 train 부분을 삭제함 |
28 | 36 | ||
29 | 37 | ||
30 | 8. make_img.py 추가 | 38 | 8. make_img.py 추가 |
39 | + | ||
31 | 이미지를 불러와 (32,32,3)의 크기로 resize한 후 input.txt에 저장함 | 40 | 이미지를 불러와 (32,32,3)의 크기로 resize한 후 input.txt에 저장함 |
32 | 41 | ||
33 | 42 | ||
34 | 9. simple_convnet_cpp 코드 추가 | 43 | 9. simple_convnet_cpp 코드 추가 |
44 | + | ||
35 | 1) layers.hpp : Convolution, ReLu, Normalization, Pooling, DW_Conv등 각 layer가 구현 | 45 | 1) layers.hpp : Convolution, ReLu, Normalization, Pooling, DW_Conv등 각 layer가 구현 |
36 | 2) SimpleConvNet.hpp : 딥러닝 모델이 구현 | 46 | 2) SimpleConvNet.hpp : 딥러닝 모델이 구현 |
37 | 3) input.txt : make_img.py코드로 만든 이미지를 (32,32,3)의 크기로 만들어 txt파일로 저장 | 47 | 3) input.txt : make_img.py코드로 만든 이미지를 (32,32,3)의 크기로 만들어 txt파일로 저장 |
... | @@ -44,4 +54,11 @@ python test 폴더에는 test에 필요하지 않은 train 부분을 삭제함 | ... | @@ -44,4 +54,11 @@ python test 폴더에는 test에 필요하지 않은 train 부분을 삭제함 |
44 | 54 | ||
45 | 10. google_image_crwaling 코드 추가 | 55 | 10. google_image_crwaling 코드 추가 |
46 | 56 | ||
47 | -필요한 데이터셋을 만들기 위한 google_image_crwaling 코드 추가 | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
57 | +필요한 데이터셋을 만들기 위한 google_image_crwaling 코드 추가 | ||
58 | + | ||
59 | + | ||
60 | +11. chrome_crwaling 확장프로그램 추가 | ||
61 | + | ||
62 | +앞서 만든 코드는 1회에 20장의 사진만 다운로드 가능 | ||
63 | +데이터셋을 만들기 위해서는 훨씬 더 방대한 양의 데이터가 필요함 | ||
64 | +googel chrome의 확장프로그램을 활용한 구글 이미지 검색 결과 크롤링 프로그램 구현 | ||
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
chrome_crwaling/Chrome Crwaling/icon.PNG
0 → 100644
9.86 KB
chrome_crwaling/Chrome Crwaling/jquery.js
0 → 100644
This diff could not be displayed because it is too large.
1 | +{ | ||
2 | + "name": "Highlight some phrases", | ||
3 | + "description": "Hightlight some pre defined text from websql database after page loads", | ||
4 | + "version": "0.1", | ||
5 | + "manifest_version": 2, | ||
6 | + "browser_action": { | ||
7 | + "default_icon": "icon.png" | ||
8 | + }, | ||
9 | + | ||
10 | + "content_scripts": [ | ||
11 | + { | ||
12 | + "matches": [ | ||
13 | + "http://*/*", | ||
14 | + "https://*/*" | ||
15 | + ], | ||
16 | + "js": ["jquery.js", "popup.js"] | ||
17 | + | ||
18 | + } | ||
19 | + ] | ||
20 | +} | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
chrome_crwaling/Chrome Crwaling/popup.js
0 → 100644
1 | + | ||
2 | +var i = 0; | ||
3 | +var start = false; | ||
4 | +function imgDown() { | ||
5 | + if(!start) | ||
6 | + return; | ||
7 | + var base64 = $('.rg_ic.rg_i').eq(i).attr( 'src' ); | ||
8 | + if(typeof base64 === "undefined" ){ | ||
9 | + alert('마지막 결과입니다.'); | ||
10 | + clearInterval(b); | ||
11 | + start = false; | ||
12 | + return; | ||
13 | + } | ||
14 | + if(base64.indexOf("base64") != -1) | ||
15 | + downBase64(i+".png",base64); | ||
16 | + else | ||
17 | + downUrl(i+".png",base64); | ||
18 | + i++; | ||
19 | +} | ||
20 | +function scrolldn() { | ||
21 | + if(!start){ | ||
22 | + clearInterval(a); | ||
23 | + return; | ||
24 | + } | ||
25 | + document.documentElement.scrollTop = document.body.scrollHeight; | ||
26 | + $('html, body').scrollTop(document.body.scrollHeight); | ||
27 | +} | ||
28 | +function downBase64(filename, base64) { | ||
29 | + var pom = document.createElement('a'); | ||
30 | + pom.setAttribute('href', base64) | ||
31 | + pom.setAttribute('download', filename); | ||
32 | + if (document.createEvent) { | ||
33 | + var event = document.createEvent('MouseEvents'); | ||
34 | + event.initEvent('click', true, true); | ||
35 | + pom.dispatchEvent(event); | ||
36 | + } | ||
37 | + else { | ||
38 | + pom.click(); | ||
39 | + } | ||
40 | +} | ||
41 | + | ||
42 | +function downUrl(filename, url) { | ||
43 | + var img = new Image(); | ||
44 | + img.setAttribute('crossOrigin', 'anonymous'); | ||
45 | + img.src = url; | ||
46 | + var dataURL = url; | ||
47 | + img.onload = function () { | ||
48 | + var canvas = document.createElement("canvas"); | ||
49 | + canvas.width =this.width; | ||
50 | + canvas.height =this.height; | ||
51 | + | ||
52 | + var ctx = canvas.getContext("2d"); | ||
53 | + ctx.drawImage(this, 0, 0); | ||
54 | + dataURL = canvas.toDataURL("image/png"); | ||
55 | + downBase64(filename, dataURL); | ||
56 | + }; | ||
57 | +} | ||
58 | + | ||
59 | +var a; | ||
60 | +var b; | ||
61 | +window.onkeyup = function(e) { | ||
62 | + var key = e.keyCode ? e.keyCode : e.which; | ||
63 | + if (key == 49) { | ||
64 | + start = true; | ||
65 | + a = setInterval(scrolldn, 1000); | ||
66 | + b = setInterval(imgDown, 100); | ||
67 | + } | ||
68 | + if (key == 50) { | ||
69 | + start = true; | ||
70 | + alert('일시정지! 다운받던이미지부터진행함 -> 다시1누르면됨'); | ||
71 | + clearInterval(a); | ||
72 | + clearInterval(b); | ||
73 | + } | ||
74 | +} | ||
75 | + | ||
76 | + | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
-
Please register or login to post a comment