Fingerprint Recognition - Python, Deep Learning

Поделиться
HTML-код
  • Опубликовано: 20 окт 2024
  • Source code(Github): github.com/kai...
    Dependencies:
    Python
    numpy
    Keras
    matplotlib
    sklearn
    imgaug github.com/ale...
    Dataset
    Sokoto Coventry Fingerprint Dataset (SOCOFing)
    www.kaggle.com...
    Contact Brad: kairess87@gmail.com
    Support Brad: toon.at/donate...

Комментарии • 51

  • @changyongkang7651
    @changyongkang7651 5 лет назад +2

    감사합니다^^ 빵형님

    • @bbanghyong
      @bbanghyong  5 лет назад +1

      감사합니다 창용님! 치과 이미지 분석 기대하고 있습니다!

  • @chancepark247
    @chancepark247 4 года назад

    언제나 재밌네요 감사합니다!

  • @김용-u8b
    @김용-u8b 8 месяцев назад

    강의 잘 들었습니다.

  • @techroad1497
    @techroad1497 4 года назад

    재미있게 보고 가요 , 지문등록이란 흥미로운 주제를 사용하셔서그런지 흥미롭게 보았어요

  • @박신우-g3x
    @박신우-g3x Год назад

    빵형님 git hub에 있는 파일을 받아서 train.ipynb 를 열어서 실행해도 계속 오류가 발생하는데요,, 아무래도 그걸 동작시킬 수 있는 프로그램을 설치하는 것 부터가 문제인거 같습니다 ㅠㅠ
    텐서플로우와 파이썬 버전이랑 다른 패키지들이 호환이 되야하는거 같은데 이리저리 시도해도 계속 오류가 나서요 ㅠ 어떤 버전으로 사용하시는지 궁금합니다!
    그리고 그 코드들을 열어서 보는 인터페이스? 같은 프로그램 툴은 어떤걸 사용하시나요? 저는 비주얼 스튜디오 코드로 봤는데 괜찮나요? 추천하시는게 있을까요?
    그리고 라즈베리파이에 설치해서 센서로 지문을 인식받고, 그 사람의 인적사항같은 데이터 정보를 출력하는 모델을 구성해보려고 하는데 거기에 활용해 보기에 괜찮을까요?

  • @RogueNinja92
    @RogueNinja92 5 лет назад +1

    github 에 올려두신 preprocess 부분은 이미지를 96,96 사이즈로 변경하는데 train 내에서는 len(img_list),90,90,1 사이즈로 돌아가던데 전처리 코드를 수정하신건가요? len(img_list),96,96 이런식으로 나와야 맞는거같은데....

  • @ahndc12
    @ahndc12 5 лет назад

    Siamese network 재미있는 데이터셋이네요. 재미있는 글 감사합니다^^

    • @bbanghyong
      @bbanghyong  5 лет назад

      샤미즈 네트워크였군요. 대철님 덕분에 더 공부하고 있습니다 ㅎㅎ

  • @BJH7777
    @BJH7777 3 года назад

    너무 유용해요

  • @변강원
    @변강원 5 лет назад

    좋은영상 감사합니다 또 배우고 가요 ~!!!

    • @bbanghyong
      @bbanghyong  5 лет назад +1

      항상 댓글 남겨주셔서 힘이 납니당!

  • @Normalman55598
    @Normalman55598 3 года назад

    학습과정에서 왜 원본과 imgaug로 wild한 지문 데이터를 가중치를 공유하면서 학습을 시키나요? 둘을 만일 다른 가중치 모델로 학습시키면 어떻게 되나요? 가중치를 공유한다는게 무슨의미인가요?

  • @nick6267
    @nick6267 3 года назад

    재밌습니다!!ㅎㅎ

  • @fanic9438
    @fanic9438 4 года назад

    지문사진과 지문인식센서의 지문 일치 여부를 판단하고 싶은데 동영상에 마지막 코드는 이미 학습한 지문 내에서 랜덤값으로 일치하는 지문과 일치하지않는 지문을 찾는데 사진을 추가해서 제가 입력한 지문이랑 일치하는지 알아보게끔 하고싶은데 구현 가능할까요?

  • @minkyu0226
    @minkyu0226 2 года назад

    index -1 is out of bounds for axis 0 with size 0 이런 오류가 나면서 프로그램 파일 그대로 돌려보았는데 오류가 나는데 이 프로그램이 원래 오류가 나도록 되어있는건가요?

  • @yqwr-g3g
    @yqwr-g3g Год назад

    안녕하세요 Failed to interpret file as a pickle npz 파일 부분에서 이런 오류가 뜨는데 어떻게 해결해야할까요?

    • @bbanghyong
      @bbanghyong  Год назад

      옛날 모델이라서 지금 넘파이 패키지랑 호환이 안될거에요 ㅠㅠ

  • @인공지능학과장준한
    @인공지능학과장준한 4 года назад

    감사합니다

  • @cannabaro14612
    @cannabaro14612 2 года назад

    지금 혹시 영상에 나오는 에디터는 캐글 에디터 인가요? 혹시 애디터와 테마 알 수 있을까요?

    • @bbanghyong
      @bbanghyong  2 года назад

      주피터 노트북 입니다!

  • @hiru0317
    @hiru0317 Год назад

    3:34 imgaug

  • @steph5405
    @steph5405 5 лет назад

    학습 데이터셋은 어떻게 준비한거고, 어떤 방법으로 .npz .npy 형식으로 저장하신건가요?? 배열 형태로 저장되는 형식으로 알고 있는데... 학습하고 싶은 이미지를 배열로 구성한 것인가요??

    • @bbanghyong
      @bbanghyong  5 лет назад +1

      전처리코드가 아래 링크에 있습니다! 직접 확인해보시는 편이 좋을 것 같아요 :)
      github.com/kairess/fingerprint_recognition/blob/master/preprocess.ipynb

  • @보노보노-f1v
    @보노보노-f1v 4 года назад

    어렵지만 다음엔 도달해볼게요ㅋㅋ

  • @robotman7101
    @robotman7101 4 года назад

    사용하신 모델 레퍼런스 자료 링크 좀 받을수있을까요?

  • @dogpoopsmusicsalon975
    @dogpoopsmusicsalon975 5 лет назад

    안녕하세요 이번꺼는 좀 어려웠어요!
    맥스풀링과 subtract가 정확히 무슨 기능을 하는지 모르겠어요!
    정확도 개선을 위해 이미지어그를해서 여러변형된 이미지를 넣는다는건 이해했는대
    왜 x1,x2가 필요한지도 모르겠어요 그냥 컨볼루션레이어로 바로 가장 비슷한이미지를 검사하면 안되나요?
    다른 예제에서는 개와 고양이등을 판별할때 아주 간단하게 하는대 이것도 그런식으로 하면 문제가 있는건가요?
    빵형님 소스나 방식의 문제가 아니라 제가 정말 잘 모르기 때문에 드리는 질문입니다!

    • @bbanghyong
      @bbanghyong  5 лет назад +2

      강아지님 질문 감사합니다. 어려우셨다니 제가 설명을 제대로 못해서 송구할따름입니다 ㅠㅠ
      일단 지문인식의 구조부터 말씀드릴게요. 스마트폰을 사면 처음에 지문을 등록하잖아요. 그걸 x2라고 정의했습니다. 그리고 제가 스마트폰을 깨워서 사용할때마다 지문을 입력하지요. 그 인풋을 x1이라고 정의합니다.
      우리는 x1과 x2를 비교해서 같은 지문인지 아닌지 알고싶은 거지요. 그래서 x1과 x2의 지문이 같다면 스마트폰 잠금이 풀려야하고(같음 1) 다르다면 잠금이 풀리면 안되잖아요(다름 0)
      만약 옆에있던 친구가 제 스마트폰에 친구의 지문을 입력(x1에 다른 지문 입력)하면 0을 반환해야겠죠!

    • @bbanghyong
      @bbanghyong  5 лет назад +1

      맥스풀링은 차원축소를 해서 이미지의 중요 특징을 뽑아낼때 사용하는 레이어입니다. Conv를 쓸때 가장 많이 사용하니까 Maxpooling으로 구글링하시면 설명이 많이 나올거에요!
      Subtract 레이어는 이번에 저도 처음 사용했는데 모델을 설계하면서 x1과 x2의 차이를 계산하도록 하고 싶어서 이렇게 만들었습니다.
      즉 스마트폰이 저장된 지문 x2와 이번에 새로 들어온 지문 x1을 비교하도록 만든거죠!

    • @dogpoopsmusicsalon975
      @dogpoopsmusicsalon975 5 лет назад

      @@bbanghyong 아하 감사합니다
      그럼 결과적으로 subtract 레이어에서 계싼한 x1과 x2의 차이만큼 지문간의 차이가 난다는거군요!

    • @bbanghyong
      @bbanghyong  5 лет назад +1

      넵! 정확합니다!

    • @dogpoopsmusicsalon975
      @dogpoopsmusicsalon975 5 лет назад

      지금까지 컨볼루션레이어 자체에서 이미지의 특징점을 뽑아주고 비교할수 있는줄 알고있었는대 컨볼루션 레이어와 별도로 맥스풀링레이어가 있어야만
      이미지의 특징점을 뽑아주는거네요!
      초보라서 혼동했어요 감사합니다.

  • @새벽-y1z
    @새벽-y1z 4 года назад

    제 컴퓨터에서도 돌려보고 싶은데 파일저장해서 어떻게하나요??

  • @JuwonSeong
    @JuwonSeong 4 года назад

    1999년 제가 실험 성공한건데요. ㅎㅎㅎ

  • @엄마손파이썬
    @엄마손파이썬 5 лет назад

    영상 잘보고 있습니다.
    데이터셋을 직접 구축하는 것도 알려주시면 안될까요??
    사진내용과 입력내용을 판독비교 하는걸 만들고 싶은데...표본수는 많으니까 정확도는 올릴수 있다고 생각합나다..
    사진과 입력내용 정답을 줘서 학습 시키고 최종적으로 사진을 줬을때 그 내용을 추출하고싶은데 데이터셋을 어떻게 구축하고 해야할지 막막하네요..

    • @bbanghyong
      @bbanghyong  5 лет назад

      Image captioning을 구현하시는건가요? 입력내용을 one-hot encoding으로 처리하는건 어떨까요?

    • @엄마손파이썬
      @엄마손파이썬 5 лет назад

      @@bbanghyong 아이고 질문이 너무 추상적이었네요..ㅠ
      사진상 명판 포지션은 다 똑같고 글자로 모델명과 일련번호가 있는데 그 사진 들의 답을 알려주면서 학습을 시켰을때 최종적으로 원하는건 사진을 줬을때 모델명과 일련 번호를 읽어낼수 있을까가 궁금했습니다..일반적인 단순 ocr일수도 있는데 딥러닝으로 이미지 전처리 없이 모델명과 일련번호 위치를 찾아 판독할수 있나요??

    • @bbanghyong
      @bbanghyong  5 лет назад +1

      이미지의 상태가 어떤진 모르겠지만 전처리가 아예없이는 힘들 것 같네요 ㅠ
      글자의 개수가 같으면 굉장히 쉬울것 같구요. 글자수가 다르다면 약간 어려울 것도 같습니다.
      조금 다르긴 하지만 Captcha image classifier를 구현한 케라스 코드가 있네요~
      www.kaggle.com/neurol/keras-classifier

    • @엄마손파이썬
      @엄마손파이썬 5 лет назад

      @@bbanghyong 감사합니다!!글자수는 고정이에요 ^^

  • @노신이
    @노신이 2 года назад

    나도 저거 만들자도 팀원들이랑 이야기하는데 한소리 바가지 들었는데 아니였넽ㅌㅋㅋㅋㅋ

  • @millerite4691
    @millerite4691 5 лет назад

    제 지문을 넣어서 확인을 하려면 real 파일 안에 넣었는데 설정을 어떻게 해야 될지 모르겠네요 ㅠㅠ;;;..
    bmp 파일로 지문파일 확장자랑 크기 맞춰서 넣어놨는데..

    • @bbanghyong
      @bbanghyong  5 лет назад

      preprocess.ipynb 파일 확인하셔서 그대로 전처리해주시면 될거에요. 근데 학습 데이터셋이랑 이미지가 다르면 결과가 잘못 나올수도 있다는점은 유의하시구요

  • @이한규-r5t
    @이한규-r5t 4 года назад

    1. x1_batch = seq.augment_images(x1_batch)
    하면 x1_batch 의 original값 은 추가가 안되고 augment 한 것들만 들어가는건가요?
    2. def on_epoch_end(self):
    if self.shuffle == True:
    self.x, self.label = shuffle(self.x, self.label)
    이 메소드 가 의미하는게 , shuffle=true일경우, 지문과 101020 같은 정보를 스왑 한다는것인가요? 왜 이걸하는것인가요?

  • @notek8326
    @notek8326 5 лет назад

    어우 중간에 이게 졸리네요 (이해력부족).. ㅋㅋㅋ 잘보고 갑니다.

  • @mgk1614
    @mgk1614 3 года назад

    파이썬이 최고

  • @맥그슨
    @맥그슨 5 лет назад +1

    안녕하세요 빵형님영상 하나하나가 재밌네요.
    정확히보진않았지만 정확도 99.7퍼라고들었는데 mnist정도급의 정확도이네요.
    mnist는 제일쉬운데이터셋중 하나라서 그런데 지문의 미세하고 복잡한 데이터가 정확도가 높다는게 신기합니다.
    지문같은 미세한부분의 특징을 모두잡을려면 입력크기를 최소 224x224정도에 conv,stride,pading(3,1,1)로 둘러싼 현재모델보다 깊은층으로한다면
    아마 정확도가 99.9이상 나올거라 예상합니다.

    • @bbanghyong
      @bbanghyong  5 лет назад +1

      아마 비슷한 환경에서 모은 데이터셋이라 그럴거예요. 실제 지문인식 센서를 사용하면 그 데이터를 사용해서 다시 학습해야할것 같아요.
      말씀처럼 모델을 튜닝하고 이미지 전처리도 추가하면 정확도가 더 올라갈 가능성이 높겠죠!