Iou(intersection over Union) 개념 | 밑바닥 코딩 이번 포스팅에서는 객체 탐지 모델이 객체를 얼마나 잘 탐지하였는지 측정하는 지표로 사용되는 것중 하나인 iou에 대해 알아보도록 하겠습니다. 1) IOU 개념 아래 개 그림에서 파란색 사각형은 Ground Truth(정답) 가리키는 바운딩박스이고, 노란색은 우리 모델이 예측한 바운딩박스 입니다. 이를 단순하게 도식화 해보자면, 아래와 같이 표현할 수 있는데요. Ground Truth 와 예측의 겹친부분을 살구색으로 표현하였습니다. 이 부분을 교집합 즉 intersection 부분이라고 부릅니다. iou를 수식으로 표현 하면 아래와 같습니다. 정답 바운딩 박스와 예측 바운딩 박스의 합집합(union)을 분모에 위치시키고, 교집합(intersection)을 분자로 계산합니다. 만약 예측 바운딩박스와 정답 바.. 머신러닝,딥러닝/computer vision 2022. 8. 31. [오픈 cv python] 이미지 읽기(cv2.imread) | 컬러 , 흑백 이번 포스팅에서는 opencv를 통해 아래 양이미지를 읽는 방법에 대해 알아보도록 하겠습니다. //sheep.jpg 1) 이미지 읽기 이미지를 읽을때는 image read의 약자인 imread함수를 이용하는데요. 인자로는 읽어올 파일의 경로를 적어주면 됩니다. 2) flag 설정 공식문서에 보면 imread함수에는 flag라는 인자값이 있는데요. 이는 해당 이미지를 읽어 올때 컬러 이미지로 읽을지, 그레이스케일 이미지로 읽을지 정하는 것이라고 보면 됩니다. 가령 컬러 이미지로 읽고 싶다면 cv2.IMREAD_COLOR, 그레이스케일 이미지로 읽고 싶을땐, cv2.IMREAD_GRAYSCALE 을 두번째 인자로 넣어주면 됩니다. 참고로 cv2.IMREAD_COLOR은 숫자 1로, cv2.IMREAD_GRA.. 머신러닝,딥러닝/opencv 2022. 8. 30. [파이썬] argparse 란? | 사용법 이번 포스팅에서는 argparse의 역할과 사용법에 대해 알아보겠습니다. argparse는 argument parser의 줄임말로 인자와 관련된 기능을 제공 하는데요. 결론부터 말하자면 Command Line에서 직접 인자값을 넣어줄때 사용하는 모듈입니다. 아직 무슨 말인지 모르시겠죠? 아래 예시들을 차근차근 함께 보시죠. 1) argparse의 필요성 //test3.py 위와 같은 더하기 연산 함수가 있습니다. 이 함수를 실행시키기 위해선 임의의 인자값을 함수안에 넣어줘야 하는데요. //test3.py 그리고 실행할때는 Command Line에 아래와같은 방식으로 명령어를 입력해야하죠. 불편함을 느끼셨는지 모르겠지만, 코드단에서 인자를 수정하고, Command Line에서 명령어를 입력하는 작업을 합니.. 파이썬/파이썬 중급 2022. 8. 29. [python] math.hypot() 란? | 사용법 이번 포스팅에서는 math.hypot() 메소드에 대해서 알아보려고 합니다. 여기서 hypot는 hypotenuse의 줄임말로 한국어로는 빗변을 의미하는데요. 직각 삼각형의 빗변을 구할때 사용하는 함수라는것을 어느 정도 유추해볼 수있죠. 가령 위와 같은 직각 삼각형이 있습니다. 빨간색 선인 빗변(hypotenuse) 구하려면 어떻게 할까요? 먼저 우리가 아는 수학공식을 통해 날코딩을 해보겠습니다. 각변을 제곱한후 루트를 씌운 코드입니다. output: 이어서 math.hypot()메소드를 이용해보겠습니다. 각 인자에 두변의 길이를 각각 넣어주기만 하면됩니다. output: 훨씬 간단하게 해당 공식을 구현할 수있죠. 일반적으로 math.hypot()메소드는 두 물체의 거리를 구하는데 자주 쓰이는데요. 앞서.. 파이썬/파이썬 기초 2022. 8. 26. [판다스 기초] 특정 열(column) 삭제 하는 방법 아래와 같은 데이터프레임이 있다고 하겠습니다. 챗gpt를 이용한 데이터분석과 시각화 마스터하기 >> 여기서 우리는 빨간 사각형 부분의 컬럼을 삭제하고 싶은데요. 본격적으로 시작하기 전 하나의 컬럼부터 삭제하는 법에 대해 알아볼게요. 1) 하나의 컬럼 삭제 만약 2021.07을 삭제하고 싶다면 아래와 같이 적어주면 됩니다. drop 함수 인자인 labels에 삭제하고싶은 컬럼명을 할당해주면 됩니다. 여기서 point는 axis=1로 설정해야된다는 점입니다. 즉 "컬럼 중에서 2021.07을 찾겠다"라고 판다스에게 말해주는 것인데요. 디폴트는 axis=0(인덱스 중 해당 값을 찾겠다)임으로 주의 하시기 바랍니다. 이대로 한번 실행을 해보겠습니다. output: 여전히 값의 변화가 없습니다. 이는 drop메소.. 파이썬/pandas 2022. 8. 23. [판다스 기초] 인덱스(index) 시작 번호 지정 하는 법 아래와 같은 데이터가 있습니다. 년도와 월로 구성된 값이 인덱스로 지정 되어있네요. 여기서는 해당 인덱스를 년도로만 표현하고 싶습니다. 어떻게 해야할까요? 챗gpt를 이용한 데이터분석과 시각화 마스터하기 >> 우리에게 익숙한 reset_index()를 사용하면 인덱스가 강제적으로 0부터 시작하는 형태로 변경되어버립니다. 즉 우리가 임의로 데이터를 만들어 직접 주입해줘야 합니다. 위 데이터는 2001~2050으로 구성된 데이터이기 때문에, 아래와 같은 방식으로 range 함수를 이용해 배열을 만들어줍니다. 그 후 해당값을 df.index에 할당 시켜줍니다. output을 확인해보면 정상적으로 값이 변경된걸 알 수 있습니다. output: 파이썬/pandas 2022. 8. 23. [판다스] 엑셀(excel) sheet별 데이터 이어 붙이는 방법 우리가 사용할 엑셀 데이터가 아래와 같이 여러 sheet로 이루어진 데이터라고 해보겠습니다. 어떻게 sheet별 데이터의 값을 불러올 수 있을까요? 그 전에 익숙한 방식으로 해당 엑셀파일을 한번 읽어 보도록 하겠습니다. 보시는것처럼 table 전용 데이터가 아니다 보니, 지저분한 형태로 출력이 됩니다. 실제 사용을 위해선 데이터 정제 우선되어야 겠지만, 이번 포스팅의 주제는 여러 sheet의 값들을 이어 붙히는 것임으로 일단은 불편하더라도 그냥 지나가도록 합시다. 읽어온 데이터를보면 제일 첫번째 sheet인 2006년도의 데이터를 읽어왔는데요. 이는 read_excel 함수가 디폴트로 제일 첫번째 sheet를 읽도록 세팅 되어있기 때문입니다. 그렇다면 다른 년도 sheet를 불러오려면 어떻게 할까요? 1.. 파이썬/pandas 2022. 8. 22. [c#] Entity Framework 사용 방법(code-first) (해당 포스팅은 이전 포스팅을 읽고 왔다는 전제로 작성된 글입니다.) 지금까지는 데이터베이스를 선 구성한 후, 데이터베이스에 있는 값을 읽거나, 추가 삭제하는 방법에 대해 배워보았습니다. 이번 포스팅에서는 순서 바꿔 c#코드를 작성한 후, 그 코드를 기반으로 데이터베이스를 생성하는 방법에 대해 알아보겠습니다. 이러한 방식을 code-first 방식이라고 합니다. 1) DB생성을 위한 c# 코드 작성 우선 DbContext를 상속한 클래스를 만들어줍니다. 기존 방식과 차이가 없기 때문에 설명은 생략합니다. 마찬가지로 클래스도 생성해줍니다. 2) 필요한 패키지 다운로드 code first에 직접적으로 사용되는 패키지인 EntityFrameworkCore.Tools를 추가 설치 해줍니다. 3) DB 생성 명령.. c# 2022. 8. 19. gmail 템플릿(양식) 사용 방법 이번 포스팅에서는 Gmail 서식(양식)을 사용하는 방법에 대해서 알아보도록 하겠습니다. 1. 먼저 gmail에 들어가서 우측 상단에 있는 톱니 바퀴를 클릭합니다. 2. 모든 설정 보기를 클릭합니다. 3. 고급 탭을 클릭합니다. 여기까지 하시면 템플릿을 사용할 준비는 끝난것입니다. 이어서 템플릿을 작성해보도록 하겠습니다. 4. 편지쓰기 클릭하여 원하는 서식을 작성해줍니다. 5. 템플릿 저장 좌측하단 점 3개를 클릭 => 템플릿 클릭 아래와 같은 방법으로 새 템플릿으로 저장을 클릭합니다. 적당한 템플릿 이름을 작성 후 저장해줍니다. 6. 템플릿 확인 다시 편지 쓰기를 클릭하여 창을 엽니다. 이전과 같은 방식으로 템플릿을 클릭해보면, 템플릿 삽입 밑에 방금 저장한 템플릿이 보이실겁니다. 이것을 클릭하면 아래.. 기타 2022. 8. 19. [파이썬] colab(코랩)에서 압축파일 풀기 구글드라이브나 코랩에 많은 파일을 한번에 업로드하려고하면 시간이 많이 걸립니다. 그렇기 때문에 파일들을 압축해서 업로드하게 되는데요. 그렇다면 코랩에서 압축한 파일을 어떻게 다시 풀어 사용할 수 있을까요? 이번 포스팅에서는 그 방법에 대해 알아보도록 하겠습니다. 1. 먼저 해당 코드를 입력하고 로컬에 있는 파일을 가져올 준비를 합니다. 2. 파일 선택을 눌러 원하는 파일을 선택합니다. 코랩 디렉토리를 열어보면 정상적으로 파일이 업로드된것을 알 수 있습니다. 3. 압축해제한 파일을 넣을 디렉토리를 만들기 아래 명령어를 입력하여 data_3000이라는 이름을 가진 폴더를 만듭니다. 명령어를 입력하면 해당 이름의 폴더가 만들어진것을 알 수 있습니다. 4. 압축 풀기 파란색 부분에 압축을 풀고자하는 파일이름을 .. 파이썬 2022. 8. 18. 토스 카드번호 조회/확인 방법 토스 체크카드 번호가 필요해서 카드를 꺼내봤더니.. 카드 번호가 없어 당황 하셨나요? 이번 포스팅에서는 토스 앱을 통해 카드번호를 확인하는 방법에 대해 알아보겠습니다. 1. 먼저 토스앱을 열고, 메인 페이지 상단 토스뱅크 글자 옆 >(화살표)를 클릭해줍니다. 2. 다음으로 토스뱅크 카드를 클릭해줍니다. 3. ?월 쓴 금액 밑에 카드번호가 적혀있을건데요, 그 부분을 클릭해줍니다. 4. 최종적으로 카드 모양의 UI가 나오고, 카드번호 및 유효기간 , cvc 확인이 가능합니다. 기타 2022. 8. 12. [python] 쥬피터노트북 가상환경 커널 추가/삭제하는 방법 anaconda prompt에서 conda activate 명령어를 통해 가상환경으로 접속하였지만, 막상 jupyter notebook을 실행하고 보면 가상환경이 적용이 안되어있는 경우가 많습니다. 가상환경을 적용하기 위해 Kernel => Change kernel을 눌러봐도 우리가 접속했던 가상환경은 존재 하지 않습니다. 이번 포스팅에서는 커널에 우리가 생성한 가상환경을 추가/삭제 하는 방법에 대해 알아보겠습니다. 1. 커널에 가상환경 추가하는 방법 1) 먼저 Anaconda Prompt창을 엽니다 2) 원하는 가상환경을 생성합니다. conda create -n 가상환경이름 명령어를 통해 가상환경을 생성해줍니다. 저는 cifar_test2 라는 이름으로 생성 해보았습니다. 3) 가상환경이 잘 생성되었는.. 파이썬 2022. 8. 11. 이전 1 ··· 14 15 16 17 18 19 20 ··· 32 다음