내가 선 그었다는건 위 글 그림처럼 캡챠 이미지의 각 숫자마다 X좌표 찾는법 설명하려고 임의로 그렸다는걸 말한 거임
52342(211.170)2019-11-25 17:29
답글
언어는 뭐임? - dc App
troublecoder(troublecoder)2019-11-25 17:29
답글
c#
52342(211.170)2019-11-25 17:29
답글
형 난이도에서 머신러닝 쓸수있으면 그냥 개체탐지쪽으로 보는게 나을수도 있음. 왜 yolo니 이런류들 - dc App
troublecoder(troublecoder)2019-11-25 17:35
답글
사실 세그멘테이션은 이미지 보니까 말한대로 약간 명암 낮은 숫자에도 라인이 있어서 실제적으로 라인 탐지해서 지우는건 어느정도 가능할텐데 단순히 머신러닝 없이 템플릿매칭같은 매칭으로 가려면 문제는 어차피 지운 부분 복원이라 내가 하기에도 까다로움 어떻게 흉이 50이 나왔는지 궁금하넹;; - dc App
troublecoder(troublecoder)2019-11-25 17:37
답글
샘플 100여개 중에서 50% 정도는 데이터를 가져 오긴 하더라 opencv랑 tesseract 써서 RGB 색 변경 하는거 2번 정도 건들고 나서 출력 하면 되긴 하는데 가끔 몇개는 부분 부분 수가 안나와서 그렇지...저거 yolo는 일단 사용법 봐야겠다....딥러닝 쪽은 완전 처음이라서...
52342(211.170)2019-11-25 17:44
답글
아니면 글자를 일부 겹쳐서 과분할해서 머신러닝해도 됨 그러니까 123456이라고 하면 6등분긴한데 12에서 2의 일부가 들어간 1이미지 23이미지에서 3이 일부 들어가거나 혹은 크기에 따라 12에서 잘린1일부와 2우측 일부가 잘리거나 3좌측일부가 들어간 상태로 쭉 밀어서 - dc App
troublecoder(troublecoder)2019-11-25 17:44
답글
결론은 머신 러닝을 써야 한다는 거네?
52342(211.170)2019-11-25 17:45
답글
결국 과분할해도 해당 윈도우의 주요 숫자의 피쳐는 살아있을수 있자넝 - dc App
troublecoder(troublecoder)2019-11-25 17:45
답글
팀장은 그거 없이 그냥 opencv랑 tesseract 기반으로 하라고만 하던데..
52342(211.170)2019-11-25 17:45
답글
템플릿매칭이나 고전적인 피쳐를 사용하려면 일단 선 제거후 제거된 숫자 부분에 대한 복원을 해야하는데 이건 솔직히 난이도가 매우 높음 - dc App
troublecoder(troublecoder)2019-11-25 17:46
답글
딥러닝하고 ai 들어가면 샘플 수도 더 많아야 하고 1년 이상은 돌려야 된다고...그런데 시간 없으니 opencv랑 tesseract로만 해라 라고 하더만...자기도 그거 4년 하다가 포기한 거라면서..
52342(211.170)2019-11-25 17:46
답글
테셀렉트도 훈련기능 있어 opencv로 과준할 적당하게 구현하고 과분할된 이미지로 tesseract에 보면 인식단위가 글자나 워드 라인 문단 이렇게 가능하게 되어있음 - dc App
troublecoder(troublecoder)2019-11-25 17:48
답글
1년은 무슨. 숫자는 그렇게 데이터 없어도 되고 저건 변환도 별로라 샘플데이터 몇천장 수집해서 트레이닝하면 얼마 안 걸림 - dc App
troublecoder(troublecoder)2019-11-25 17:49
답글
음.........일단 뭔 소리인지 이해는 안되지만....한번 찾아는 봐야겠네
52342(211.170)2019-11-25 18:00
답글
형 근데 tesseract는 제대로 돌려봄? 형정도 캡챠는 원래 뚫릴것같은데 PSM_SINGLE_WORD인데 이 모드로 한번 해봐. 내가 c#은 안 써서 인터페이스는 정확하게 모르겠는데 page segmentation mode라고 하거나 어째튼 그 비슷한 인터페이스 있을거임 - dc App
troublecoder(troublecoder)2019-11-25 18:11
답글
목표가 90에 흉이 보여준 법원이면 그정도는 제대로 잘라낼 것 같다. 그리고 문자 화이트리스트 설정가능해서 숫자만 결과로 낼수도 있엉 - dc App
troublecoder(troublecoder)2019-11-25 18:13
답글
내가 인터넷 안되는 곳 파견이라 돌려볼순 없는데 일단 페이지세그멘테이션모드를 걍 워드로 하고 화이트리스트에 숫자만 넣으면 걍 opencv나 cv뻘짓 안해도 될 것같음. - dc App
troublecoder(troublecoder)2019-11-25 18:15
답글
윈폼으로 만들어서 버튼 클릭 이벤트 할때마다 캡쳐한 데이터를 메세지박스랑 콘솔로 다 테스트 해보긴 했지....이미지 흑백 만든 담에 이진화 시켜서 색 조절도 해보고, 픽셀단위로 RGB 찾아서 특정 조건 해당 안되면 그냥 죄다 화이트로 색 변환 강제로 주기도 하고......그런데 출력은 정상적으로 나오긴 나와. 다만 정확하게 안나와서 그렇지........
52342(211.170)2019-11-25 18:16
답글
아니 형이 한 셋팅이 word로만 인식하고 숫자만 인식되도록 파라메터셋팅했다는거임? - dc App
troublecoder(troublecoder)2019-11-25 18:17
답글
근데 opencv랑 tesseract를 쓰는 이유가. 회사 제품에 부가 기능으로 넣으려고 하는 거래 거기 이미 추가되어 있는 opencv tessrect랑 연동해서 쓰려고
52342(211.170)2019-11-25 18:17
답글
음 tesseract 말하는 거면 깃 헙에 있는거 받은 덤에 설정은 eng로 하고 enginmode는 tesseractandcube로 함, default보다는 이게 인식률이 더 좋다고 해서
52342(211.170)2019-11-25 18:20
답글
엔진모드는 인식기 둘중 어느거 쓰냐는거고 밑에 페이지세그멘테이견 모드를 봐야함 - dc App
왜 아직도 있음?
이제 겨우 반년 지남....그래서 1년은 채워야 할 것 같다..
관두라고 하는 소리넹. 팀장이 반대했는데 사장이 뽑은건가 ?
ㄴㄴ 나 뽑은 팀장은 다른 사람임
OCR이 좆으로 보이나 ㅋㅋㅋ
이미지 다루기 조오오오오온나 쉽다고 함
RGB시절은 다루기 쉽긴했지 ㅋㅋㅋ
내가 그 탐장이면 베이스라인으로 그래도 뭔가 나오지만 속도는 망이거나 한 80-90점 짜리는 깔아주고 조온나 쉽다라고 할듯 - dc App
근데 글케해줘도 못하는 애들은 못하더라 - dc App
팀장이 해준게 캡챠 이미지 읽어봐~색 반전 시켜봐~ 각 숫자별로 잘라서 해봐~.....근데 왜 결과가 50%도 못나오냐?? << 이게 전부 나머진 죄다 OCR 못하냐고 비꼬는 정도?
채증하라니깐? ㅡㅡ 답답
증거는 수집 중임....
팀장이 실력 보여준거는 있음?
팀장이 해준게 캡챠 이미지 읽어봐~색 반전 시켜봐~ 각 숫자별로 잘라서 해봐~.....근데 왜 결과가 50%도 못나오냐? 이거 아니면 OCR 못한다고 코더 운운 하면서 갈군 저도?
근데 진짜 조온나 쉬우면 베이스라인으로 인식률 50%짜리라도 짜달라고 해봐 - dc App
사실 흉이 보여준 캡챠는 쉽긴 쉬움 걍 랜덤 선하나 그여있고 변환은 안 커서 - dc App
출력은 되지.....대신 정확도가 낮다고 갈구는 거고...
근데 암것도 모르는 초짜한테 무작정 조온나 쉬우니까 하라는건 아님;; 쓰니는 이미지처리나 인식 잡으로 받고 온거임? - dc App
아니.....난 웹 개발자로 왔는데...갑자기 이거 시키더라...담당자 퇴사했다고..
팀장한테 시달려서 빤스런했넹 - dc App
근데 흉글보니까 라인없다는데 사실 이런건 실제 이미지를 보여줘야 판단 가능함 - dc App
아니 확률이 90% 넘게 나오라고 하는데.....그게 지금 한지 한달 조금 된 사람한테 가능하냐 이거지 난...가능하면 내가 실력 없는 거고..
글쎄 원 이미지가 뭔지 몰라서 모르겠음 근데 실제로 쓰려면 최소 90%이상은 나와야해 몇번 리트라이해서 넘기기만 해도 되니까 - dc App
내 갤로그에 그냥 흉 카톡 아이디 넣어봐 실제 이미지가 어떤지 알아야 뭔가 도움이 되는 의견을 줄 수 있을듯 - dc App
https://gall.dcinside.com/board/view/?id=programming&no=1177665&s_type=search_all&s_keyword=52342&page=1
저 이미지들 캡쳐한 곳이
https://www.scourt.go.kr/portal/information/events/search/search.jsp
대법원꺼 캡챠 이미지 캡쳐해서 이미지 파일 만든 담에 그걸로 테스트 하는 중임
어떤글보니 선은 흉이 그린거라며? - dc App
근데 머신러닝 쓰면 안됨? - dc App
https://gall.dcinside.com/board/view/?id=programming&no=1177648&s_type=search_all&s_keyword=52342&page=1
내가 선 그었다는건 위 글 그림처럼 캡챠 이미지의 각 숫자마다 X좌표 찾는법 설명하려고 임의로 그렸다는걸 말한 거임
언어는 뭐임? - dc App
c#
형 난이도에서 머신러닝 쓸수있으면 그냥 개체탐지쪽으로 보는게 나을수도 있음. 왜 yolo니 이런류들 - dc App
사실 세그멘테이션은 이미지 보니까 말한대로 약간 명암 낮은 숫자에도 라인이 있어서 실제적으로 라인 탐지해서 지우는건 어느정도 가능할텐데 단순히 머신러닝 없이 템플릿매칭같은 매칭으로 가려면 문제는 어차피 지운 부분 복원이라 내가 하기에도 까다로움 어떻게 흉이 50이 나왔는지 궁금하넹;; - dc App
샘플 100여개 중에서 50% 정도는 데이터를 가져 오긴 하더라 opencv랑 tesseract 써서 RGB 색 변경 하는거 2번 정도 건들고 나서 출력 하면 되긴 하는데 가끔 몇개는 부분 부분 수가 안나와서 그렇지...저거 yolo는 일단 사용법 봐야겠다....딥러닝 쪽은 완전 처음이라서...
아니면 글자를 일부 겹쳐서 과분할해서 머신러닝해도 됨 그러니까 123456이라고 하면 6등분긴한데 12에서 2의 일부가 들어간 1이미지 23이미지에서 3이 일부 들어가거나 혹은 크기에 따라 12에서 잘린1일부와 2우측 일부가 잘리거나 3좌측일부가 들어간 상태로 쭉 밀어서 - dc App
결론은 머신 러닝을 써야 한다는 거네?
결국 과분할해도 해당 윈도우의 주요 숫자의 피쳐는 살아있을수 있자넝 - dc App
팀장은 그거 없이 그냥 opencv랑 tesseract 기반으로 하라고만 하던데..
템플릿매칭이나 고전적인 피쳐를 사용하려면 일단 선 제거후 제거된 숫자 부분에 대한 복원을 해야하는데 이건 솔직히 난이도가 매우 높음 - dc App
딥러닝하고 ai 들어가면 샘플 수도 더 많아야 하고 1년 이상은 돌려야 된다고...그런데 시간 없으니 opencv랑 tesseract로만 해라 라고 하더만...자기도 그거 4년 하다가 포기한 거라면서..
테셀렉트도 훈련기능 있어 opencv로 과준할 적당하게 구현하고 과분할된 이미지로 tesseract에 보면 인식단위가 글자나 워드 라인 문단 이렇게 가능하게 되어있음 - dc App
1년은 무슨. 숫자는 그렇게 데이터 없어도 되고 저건 변환도 별로라 샘플데이터 몇천장 수집해서 트레이닝하면 얼마 안 걸림 - dc App
음.........일단 뭔 소리인지 이해는 안되지만....한번 찾아는 봐야겠네
형 근데 tesseract는 제대로 돌려봄? 형정도 캡챠는 원래 뚫릴것같은데 PSM_SINGLE_WORD인데 이 모드로 한번 해봐. 내가 c#은 안 써서 인터페이스는 정확하게 모르겠는데 page segmentation mode라고 하거나 어째튼 그 비슷한 인터페이스 있을거임 - dc App
목표가 90에 흉이 보여준 법원이면 그정도는 제대로 잘라낼 것 같다. 그리고 문자 화이트리스트 설정가능해서 숫자만 결과로 낼수도 있엉 - dc App
내가 인터넷 안되는 곳 파견이라 돌려볼순 없는데 일단 페이지세그멘테이션모드를 걍 워드로 하고 화이트리스트에 숫자만 넣으면 걍 opencv나 cv뻘짓 안해도 될 것같음. - dc App
윈폼으로 만들어서 버튼 클릭 이벤트 할때마다 캡쳐한 데이터를 메세지박스랑 콘솔로 다 테스트 해보긴 했지....이미지 흑백 만든 담에 이진화 시켜서 색 조절도 해보고, 픽셀단위로 RGB 찾아서 특정 조건 해당 안되면 그냥 죄다 화이트로 색 변환 강제로 주기도 하고......그런데 출력은 정상적으로 나오긴 나와. 다만 정확하게 안나와서 그렇지........
아니 형이 한 셋팅이 word로만 인식하고 숫자만 인식되도록 파라메터셋팅했다는거임? - dc App
근데 opencv랑 tesseract를 쓰는 이유가. 회사 제품에 부가 기능으로 넣으려고 하는 거래 거기 이미 추가되어 있는 opencv tessrect랑 연동해서 쓰려고
음 tesseract 말하는 거면 깃 헙에 있는거 받은 덤에 설정은 eng로 하고 enginmode는 tesseractandcube로 함, default보다는 이게 인식률이 더 좋다고 해서
엔진모드는 인식기 둘중 어느거 쓰냐는거고 밑에 페이지세그멘테이견 모드를 봐야함 - dc App
https://stackoverflow.com/questions/58142943/how-to-capture-digits-only-in-tesseract-c-sharp
- dc App
여기서 패이지세그먼테이션모드만 워드로 바꾸고 테스트해봐 - dc App
저거 난 singleline로 되어 있던데
흠...
워드로 해봐 차이날거임 화이트리스트랑 페이지세그먼트로 90이나 그 근사치는 나올 것 같다 - dc App
화이트리스트 세그맨테이션 모드 설정해봐 어째튼 형이한 이미지프로세싱은 사실상 의미없어 tesseract내에서 이미 다 형보다 더 잘해주고 있으니 오히려 왜곡됨 - dc App
whitelist가 이거 말하는 거 아님??
engine.SetVariable("tessedit_char_whitelist", "1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ"); engine.SetVariable("tessedit_unrej_any_wd", true);
https://stackoverflow.com/questions/58142943/how-to-capture-digits-only-in-tesseract-c-sharp
이게 화이트리스트깢 적용된거니까 페이지세그멘테이션모드만 싱글워드나 뭐 그런걸로 잡아봐 - dc App
ㅇㅇ 저거 다 적용된 상태였어 이미
근ㄷ 화이트리스트에 영문자 왜 넣음? 숫자만 넣으면 되는뎅 - dc App
아니 숫자만 넣어도 출력 되는거 일부는 영문으로 뜬다는 거임..
그래도 안 나오면 이미지 수집해서 tesseract 트레이닝하는 방법밖에 없다. 오래 안 걸려 트레이닝은 흉아 이미지 노가다하는 시간이 훨씬 오래 걸림 - dc App
그리고 singleword로 바꿔서 해봤는데 큰 차이는 없더라 대충 10개 정도 해봤는데 큰 차이는 없었음..
음 그랭? 그럼 세그멘테이션 문제인지 인식 문제인지 보려면 hocr인가 뭔가로 좌표랑 결과출력하는게 있음 - dc App
https://stackoverflow.com/questions/50309269/coordinate-extraction-using-tesseract-4-0
여기서 아마 word를 문자단위로 바꿔서 바운딩박스얻어와서 걍 윈폼에 그려도 될듯. - dc App
근데 대충 정답이 뭔데 오답 뭐로 나오는거임? - dc App
034620 이 나와야 하는데 em 이 나오거나...066133이 나와야 하는데 aiitiiliB 이 나온다거나...
그니까 왜 화이트리스트에 숫자0123456789말고 ABCD같은거 넣음? - dc App
영문 빼고도 해봤어 테스트...그런데도 저렇게 나옴
뒤에 unrej어쩌고 내가 뭔지 몰라서 그런데 그거 걍 제거하면 어떰? - dc App
아예 안 나오면 몰라도 숫자 대신 영문 나오는거 이해안되는뎅;; 파라메터 스펠링 맞는지 확인해봐 - dc App
그거 제거 하면 잘 나오던 애들도 한 두글자 씩 다르게 나오더라
https://github.com/tesseract-ocr/tesseract/issues/751
- dc App
이거보니까 4.1이전에는 화이트리스트동작안한다고 나옴 버전 얼마인지봐 - dc App
글고 어차피 잘나오던게 일부 못 나오더라도 못 나오던 대부분이 잘 나오면 더 좋은거임. 샘플 다양하게해서 테스트해봐 - dc App
아 씁 그러면 안되는데....c#은 4.0 이상 버전 없음...
nuget에서 지원 되는게 3.3 까지일걸 아마
4.0 이상은 파이썬 만이라던데..
3대임? 그럼 오히려 화이트리스트되야하는데 흐흠 - dc App
3.3. 버전임..
일단 잘나오는게 안나온다는거 신경쓰지말고 전체세트에 대해서 어떤지 확인해봐 - dc App
전체적으로 봤을땐 오히려 잘 나오던 애들만 더 안나오고 안나오는 애들은 여전하더라 그래서 계속 테스트 해봐야 할듯
4대가 확실히 성능이 좋긴한데 - dc App
아직 없던데 c# 4버전은..
그걸로 세그멘테이션은 잘 되는지 확인해봐 xml포맷이라 파싱해서 이미지위에 그리거나해서 확인해봐야함 - dc App
https://github.com/tesseract-ocr/tesseract/wiki/APIExample-user_patterns
- dc App
일단 3점대에서도 가능하년 한번 해봐 유저패턴이 숫자6개니까 그냥 \d로 6개 채워주면 된다 - dc App
보니까 이건 세그멘테이션 자체는 잘 되고 문자 인식든에서 여러개 후보가 있을때 패턴에 매치되는 경우 보팅해줄때 쓰는거넹 - dc App
일단 계속 찾으면서 해볼게...하..씁 이거 땜에 한달 넘게 야근 하니깐 정신병 올거 같음....
ㅇㅇ 일단 tesseract는 쓸수 있어서 아까 매칭으로 찾는것보단 나은 환경이긴한데 그래도 비전문가가하기엔 난이도는 높은 것 같다. 4.1이상 커맨드라인툴로 일단 결과를 봐. 그게 잘되면 단순 래핑작업만 조금하면 되는건뎅 - dc App
이게 딱인데 - dc App
4.0 매뉴얼이넹 3.대도 있는지 모르겠다 - dc App
걍 일단 각 문자 세그멘테이션이 문젠지 결과에서 좌표로 그려보고해야할것같다. 사실 커맨드라인도구 4.0으로 받아서 lstm으로 해서 결과 잘 나오면 c++로 이미지 받아서 결과 리턴하는 래퍼함수 dll로 만들어쓰는게 나을듯 - dc App
세그멘테이션 문제면 이건 아까 말한대로 약간 겹침이 발생하게 분할하고 이걸 그냥 tesseract에 학습해서 single character모드로 인식하는 방법 말곤 없을 것 같다 - dc App
그러게 .... 지금 보니깐 어떤건 아예 영문으로만 나오기도 하고 어떤건 일무만 영문 아니면 특수문자로 나오거나 아예 숫자가 일부만 잘려서 나오는 경우도 있어서(23456 이라 하면 23만 나온다거나) .....이거 못한다고 욕 먹는 것도 서럽다 이젠...