Suchen Sie die Bilder. Dies ist ein Suchmaschinenserver für Animationsszenen. Sie können umgekehrt durch Screenshots eines bestimmten Moments des Anime und umgekehrt, aus welcher Episode er stammt und die genaue Zeit, die er erschien. Frontend der Website
Im Vergleich zu Trace.moe kann dieses Projekt möglicherweise robustere und genauere Suchdienste anbieten, da es Deep Learning -Modelle verwendet, um Bildfunktionen zu extrahieren. Daher ist der Leistungsaufwand größer und die Aufnahme langsamer. Immer noch in der Testphase
Testbilder
Suchergebnisse
python3 muss installiert werden ffmpeg
Abhängigkeiten installieren:
pip install bilibili_api imagehash tensorflow keras flask pymilvus opencv-python sklearn bilili
# Linux
pip install plyvel
# Windows
pip install plyvel-win32python run.pyconfig.jsonpython run.py download-bilibili # 将会处理已下载的视频
python run.py processpython app.pyDiese Methode dient nur zum Testen. Weitere Informationen zur Produktionsumgebung finden Sie in der Flask -Bereitstellungsmethode
Das folgende Beispiel verwendet gunicorn , 4 Arbeiterprozess ( -w 4 ), um die Flask -Anwendung auszuführen und an den 4000 -Port von localhost ( -b 127.0.0.1:4000 ) zu binden:
gunicorn -w 4 -b 127.0.0.1:4000 app:flask_appLaden Sie über die Bilibili (oder andere Website) API das Drama automatisch herunter und speichern Sie zunächst die Drama -Informationen.
Verwenden Sie FFMPEG, um das Video zu komprimieren und in MP4 umzuwandeln und in das statische Verzeichnis der Website zu setzen
Verwenden Sie FFMPEG, um das Video mit einer bestimmten Abtastrate in ein Bild zu konvertieren und in ein temporäres Verzeichnis zu setzen
Lesen Sie den Bilderrahmen nach Rahmen, filtern Sie benachbarte ähnliche Bilder durch den phash -Algorithmus und extrahieren Sie die Merkmalsvektoren mit dem Modell und setzen Sie sie in milvus ein. Die entsprechenden Informationen jedes hinzugefügten Frame werden in der leveldb -Datenbank wie id , time und epid
Beim Suchen wird der Bildfunktionsvektor ebenfalls extrahiert, mit milvus gesucht, id ähnlicher Frames zurückgegeben und dann andere Informationen über die Datenbank abfragen.
Xception Pre-ausgebildete Modell- und PCA Dimensionalitätsreduzierung crop.py of Trace.moe