320 likes | 480 Views
Fitness Check 알고리즘 개발. 2002-11890 남태인 2004-11944 김현우 2008-11595 류석호. 목차. 1. 프로젝트 개괄. 2. 접근 방법. 3. 결과. 4. 결론 및 보완할 점. 프로젝트 개괄. Fit!. 프로젝트 개괄. Unfit!. 프로젝트 개괄. - 유 로 화를 대상으로 함 (5, 10, 20, 50, 100, 200, 500). - 기본 5 가지 사 항 에 대해 95% 이상의 hit ratio.
E N D
Fitness Check 알고리즘 개발 2002-11890 남태인 2004-11944 김현우 2008-11595 류석호
목차 1. 프로젝트 개괄 2. 접근 방법 3. 결과 4. 결론 및 보완할 점
프로젝트 개괄 Fit!
프로젝트 개괄 Unfit!
프로젝트 개괄 - 유로화를 대상으로 함 (5, 10, 20, 50, 100, 200, 500) - 기본 5가지 사항에 대해 95% 이상의 hit ratio - 추가로 7가지 사항에 대한 알고리즘 개발 시 추가점수 - 100장의 데이터를 cpu time 10ms에 처리 (인텔 i7 린필드870 기준) - 제시한 coding convention 준수
접근 방법 – 코너 이미지의 활용 Rotate 시도 - 너무 느리다 ( pixel skip 불가능 )
접근 방법 – 코너 이미지의 활용 2. 변환 함수 제공 CCornerInfo ::GetConverted
접근 방법 – 코너 이미지의 활용 변환 함수 속도 개선 - 매우 빈번히 호출되는 함수 Sin, Cos 계산시 float연산 대신 interger영역 활용 iCos = fCos * 2^20 iCos이용 후 결과값 >> 20
접근 방법 – soil & deinked soil (전체적인 얼룩) 정상권 deinked (탈색)
접근 방법 – soil & deinked 1. 전체적인 grayscale 평균 이용 가능 Grid Sampling 가능 ! 10 pixel grid De-inked 정상권 grayscale 총합 + Threshhold 대상 지폐의 grayscale 총합 > Soil 정상권 grayscale 총합 - Threshhold 대상 지폐의 grayscale 총합 <
접근 방법 – soil & deinked 정상 권종 grayscale총합 구하기 - 오차를 줄이기 위해 모든 정상권종을 테스트 권종, 지폐방향별 평균값구하기 - 실행속도 향상을 위해 학습결과 File로 Serialize
접근 방법 – stain 정상권 stain (부분 얼룩)
접근 방법 – stain 1. 정상권과 대상 지폐를 각 section별로 나누어 RGB 합을 비교 2.1 정상권의 특정 section RGB 총합 * 0.85 대상 지폐의 같은 section RGB 총합 > 2.2 정상권의 특정 section RGB 총합 * 0.93 대상 지폐의 같은 section RGB 총합 > 이런 section이 2개 이상 인접해 있을 경우
접근 방법 – graffiti 정상권 graffiti (낙서)
접근 방법 – graffiti 낙서가 눈에 잘 띄는 곳을 찾자 류석호 바보 류석호바보
접근 방법 – graffiti 정상권 같은 권종, 같은 방향에서 상하좌우 3pixel 영역이 모두 흰색인 점들을 찾자 여기서도 Grid sampling 테스트할 지폐에서 위의 점들 중 흰색인 점이 80% 미만이면 Graffiti
접근 방법 – tear 정상권 tear (찢어짐)
접근 방법 – tear 1. 지폐의 태두리를 따라가며 지폐에 빈 공간이 나오는지 체크 2. 빈 공간이 나오면 그 부분의 가로 길이, 세로 길이, 대각선 길이를 체크 3. 찢어진 부분의 크기가 조건에 만족하는지 확인 수직 : 폭 4mm, 길이 8mm 이상 수평 : 폭 4mm, 길이 15mm 이상 대각 : 폭 4mm, 길이 18mm 이상 1mm 길이 -> 약 2픽셀
접근 방법 – hole (추가 구현) 1. 지폐를 처음부터 따라가며 지폐에 빈 공간이 나오는지 체크 2. 빈 공간이 나오면 그 점을 기준으로 구멍의 크기를 계산 3. 구멍난 부분의 크기가 조건에 만족하는지 확인 면적 : 10 ㎟ 이상 -> 약 40 픽셀