사진을 검색하십시오. 이것은 애니메이션 장면을위한 검색 엔진 서버입니다. 애니메이션의 특정 순간의 스크린 샷을 통해 반전 검색 및 반대쪽으로, 어떤 에피소드에서 왔으며 정확한 시간이 나타났습니다. 웹 사이트의 프론트 엔드
Trace.moe와 비교할 때이 프로젝트는 딥 러닝 모델을 사용하여 이미지 기능을 추출하기 때문에보다 강력하고 정확한 검색 서비스를 제공 할 수 있습니다. 따라서 성능 오버 헤드가 커지고 포함이 느려집니다. 여전히 테스트 단계에 있습니다
사진 테스트
검색 결과
python3 ffmpeg 해야합니다
종속성 설치 :
pip install bilibili_api imagehash tensorflow keras flask pymilvus opencv-python sklearn bilili
# Linux
pip install plyvel
# Windows
pip install plyvel-win32python run.pyconfig.json 구성하십시오python run.py download-bilibili # 将会处理已下载的视频
python run.py processpython app.py이 방법은 테스트 전용입니다. 생산 환경을위한 플라스크 배치 방법을 참조하십시오
다음 예제는 gunicorn , 4 작업자 프로세스 ( -w 4 )를 사용하여 플라스크 응용 프로그램을 실행하고 4000 localhost 포트 ( -b 127.0.0.1:4000 )에 바인딩합니다.
gunicorn -w 4 -b 127.0.0.1:4000 app:flask_appBilibili (또는 다른 웹 사이트) API를 통해 애니메이션을 자동으로 다운로드하고 처음에는 애니메이션 정보를 저장하십시오.
ffmpeg를 사용하여 비디오를 압축하고 mp4로 변환하고 웹 사이트의 정적 디렉토리에 넣습니다.
FFMPEG를 사용하여 비디오를 특정 샘플링 속도로 사진으로 변환하여 임시 디렉토리에 넣습니다.
프레임별로 그림을 읽고 phash 알고리즘을 통해 인접한 유사한 그림을 필터링하고 모델을 사용하여 기능 벡터를 추출하여 milvus 에 삽입하십시오. 추가 된 각 프레임의 해당 정보는 id , time 및 epid 와 같은 leveldb 데이터베이스에 저장됩니다.
검색 할 때 이미지 기능 벡터도 추출하고 milvus 로 검색하고 유사한 프레임의 id 반환 한 다음 데이터베이스를 통해 다른 정보를 쿼리합니다.
Xception 사전 훈련 된 모델 및 PCA 차원 감소를 지원합니다 crop.py of Trace.moe에서 나옵니다.