자동화된 컴퓨터 비전
홈페이지홈페이지 > 블로그 > 자동화된 컴퓨터 비전

자동화된 컴퓨터 비전

Jul 16, 2023

회원전용 스토리

Md. 주바이르

따르다

데이터 중심 투자자

--

듣다

공유하다

컴퓨터 비전은 현대 기술에 새로운 차원을 추가합니다. 의식적으로든 무의식적으로든 우리는 컴퓨터 비전을 사용하고 있습니다. 저는 대학에서 컴퓨터 비전 강좌를 진행하고 있는 강사입니다. 일반적으로 출석을 수동으로 확인합니다. 시간과 에너지가 소모됩니다. 이틀 전, 에너지와 시간을 절약하기 위해 시스템을 자동화하자는 아이디어가 떠올랐습니다. 그리고 저는 프로젝트를 성공적으로 완료했습니다.

기사를 끝까지 읽으면 나만의 작품을 만들 수 있을 것입니다. 복잡하거나 더 높은 수준의 코딩이나 수학 지식이 필요하지 않습니다. 계속 진행합시다.

초급 학습자가 첫 번째 프로젝트를 만드는 데 편안함을 느낄 수 있도록 프로젝트를 간단하고 쉽게 유지하려고 노력했습니다. 필요한 라이브러리를 가져와 보겠습니다.

위 코드를 사용하여 훈련 이미지 디렉터리를 추출하여 myList 변수에 저장했습니다.

위의 코드를 사용하여 훈련 이미지 디렉터리를 추출하여 myList 변수에 저장했습니다.

이제 다음 코드 셀을 고려해보세요.

위의 코드는 이미지와 클래스 이름이라는 두 개의 서로 다른 목록을 만드는 데 도움이 됩니다. 이미지 목록에 이미지의 강도 값을 저장하고 클래스 이름 목록에 각 사람의 이름을 저장했습니다.

설명을 위해 아래 이미지 이름을 표시했습니다.

이미지는 Anik.jpg, Ferdous.jpg 등으로 저장되었습니다.

[주의: 본 프로젝트의 코드에 따라 이미지에 식별 이름 또는 ID를 라벨로 지정해야 합니다.]

얼굴 인코딩은 컴퓨터로 측정된 숫자로 이미지의 얼굴을 표현하는 방법입니다. 유사한 얼굴 인코딩은 유사한 유형의 인코딩된 값을 생성합니다. 그래서 얼굴을 알아보기가 쉬워집니다.

우리는 얼굴 인식 라이브러리로 이미지를 인코딩하기 위해 다음 코드 셀을 사용했습니다.

findEncodings 함수는 훈련 이미지에 대해 인코딩된 모든 값을 반환합니다.

일반적으로 OpenCV는 RGB 형식이 아닌 BGR 형식으로 이미지를 저장합니다. 따라서 이미지 작업을 위해서는 이를 RGB로 변환해야 합니다. 그리고 Face_recognition.face_encodings() 함수는 이미지에서 얼굴을 추출하여 인코딩합니다.

우리는 프로젝트를 현실적으로 만들고 싶습니다. 그래서 우리는 매일의 정보와 출석 시간을 표 형식으로 포함하는 Excel 시트도 생성합니다. 작업을 수행하기 위해 다음 기능을 만들었습니다.

우리는 openpyxl 라이브러리를 사용하여 Excel 시트에 데이터를 생성하고 삽입했습니다. 먼저 정보를 저장하는 Excel 파일을 가져왔습니다. 매일 Excel 파일에 해당 날짜가 포함된 새 시트를 만들었습니다. 마지막으로 인식된 사람의 이름, 날짜, 시간을 엑셀 시트에 삽입했습니다.

샘플 출력 —

실시간 CCTV를 활용하기 위해 라이브 카메라 입력에서 얼굴을 검출했습니다. 출석을 촬영하는 카메라 영상. 또한 추가 확인을 위해 감지된 얼굴의 다른 폴더에 이미지를 저장했습니다.

이러한 모든 작업은 단일 코드 셀에 있습니다.

os.mkdir() 을 사용하여 감지된 이미지를 저장하기 위해 매일 개별 폴더를 만들었습니다. 다음으로 cv2.VideoCapture(0) 함수를 사용하여 비디오를 캡처했습니다. 여기서 기본 카메라는 0이고 다른 카메라 입력에는 1, 2 등을 사용할 수도 있습니다. while 루프를 사용하여 연속 비디오 프레임을 촬영했습니다. 이후 계산 비용을 최소화하기 위해 이미지 크기를 1/4로 줄이고 축소된 이미지로 이미지를 인코딩했습니다. 또한 입력 이미지에서 훈련된 이미지까지의 거리를 계산하고 마지막으로 가장 짧은 거리의 훈련된 이미지 레이블로 입력 이미지에 레이블을 지정했습니다.

또한 감지된 사람의 이름을 표시하는 감지된 얼굴의 빨간색 직사각형을 그립니다. 동시에 감지된 얼굴의 이름을 목록으로 수집하고 takeAttendance() 함수를 사용하여 Excel 시트에 삽입했습니다.

감지된 얼굴의 출력 —

특정 날짜 폴더에 저장된 이미지 -

생성된 Excel 시트 —