niobures commited on
Commit
eced366
·
verified ·
1 Parent(s): 020f153

Scene Change Detection (code, datasets, papers)

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .gitattributes +21 -0
  2. code/ChangeDet/ChangeDet.rar +3 -0
  3. code/ChangeDet/Описание.txt +1 -0
  4. code/ChangeNet/ChangeNet (arishin), enhanced fork.rar +3 -0
  5. code/ChangeNet/ChangeNet. Архитектура глубокого обучения для визуального обнаружения изменений.pdf +3 -0
  6. code/ChangeNet/ChangeNet.rar +3 -0
  7. code/ChangeNet/Описание.txt +1 -0
  8. code/ChangeSim/ChangeSim. К комплексному онлайн-обнаружению изменений сцены в промышленных помещениях.pdf +3 -0
  9. code/ChangeSim/Видео.txt +2 -0
  10. code/ChangeSim/Описание.txt +1 -0
  11. code/ChangeSim/Официальный сайт.txt +1 -0
  12. code/ChangeSim/Репозиторий.txt +1 -0
  13. code/DR-TANet/DR-TANet. Динамическая восприимчивая сеть временного внимания для обнаружения изменений уличной сцены.pdf +3 -0
  14. code/DR-TANet/DR-TANet.rar +3 -0
  15. code/DR-TANet/Описание.txt +1 -0
  16. code/DR-TANet/Форк с демо.txt +1 -0
  17. code/DSP (NeurAI Lab)/(на русском) Differencing based self-supervised pretraining for Scene Change Detection.mp4 +3 -0
  18. code/DSP (NeurAI Lab)/DSP.rar +3 -0
  19. code/DSP (NeurAI Lab)/Видео.txt +2 -0
  20. code/DSP (NeurAI Lab)/Датасеты.txt +4 -0
  21. code/DSP (NeurAI Lab)/Описание.txt +10 -0
  22. code/DSP (NeurAI Lab)/Самоконтролируемая предварительная подготовка на основе дифференциации для обнаружения изменений сцены.pdf +3 -0
  23. code/DSP (NeurAI Lab)/Схема.png +3 -0
  24. code/DetectSceneChange (Rust)/detect-scene-change.rar +3 -0
  25. code/DetectSceneChange (Rust)/Описание.txt +23 -0
  26. code/NapoleonWils0n. Руководство по детекту сцен с помощью ffmpeg/ffmpeg-scripts.rar +3 -0
  27. code/NapoleonWils0n. Руководство по детекту сцен с помощью ffmpeg/scene-cut.sh +117 -0
  28. code/NapoleonWils0n. Руководство по детекту сцен с помощью ffmpeg/scene-detect.sh +171 -0
  29. code/NapoleonWils0n. Руководство по детекту сцен с помощью ffmpeg/scene-images.sh +95 -0
  30. code/NapoleonWils0n. Руководство по детекту сцен с помощью ffmpeg/scene-time.sh +125 -0
  31. code/NapoleonWils0n. Руководство по детекту сцен с помощью ffmpeg/Руководство по детекту сцен.txt +8 -0
  32. code/NapoleonWils0n. Руководство по детекту сцен с помощью ffmpeg/Руководство по установке ffmpeg скриптов.txt +1 -0
  33. code/PySceneDetect v0.6.2/Fast cut-scene detection and split video into parts.mp4 +3 -0
  34. code/PySceneDetect v0.6.2/PySceneDetect.rar +3 -0
  35. code/PySceneDetect v0.6.2/[GUI] SceneChangeDetector/SceneChangeDetector [ChuaN15].rar +3 -0
  36. code/PySceneDetect v0.6.2/[GUI] SceneChangeDetector/Описание.txt +3 -0
  37. code/PySceneDetect v0.6.2/Материалы.txt +2 -0
  38. code/PySceneDetect v0.6.2/Обнаружение и классификация видеосцен. PySceneDetect, Places365 и Mozilla DeepSpeech Engine.docx +3 -0
  39. code/PySceneDetect v0.6.2/Обнаружение смены сцен на Python и OpenCV/desktop.ini +2 -0
  40. code/PySceneDetect v0.6.2/Обнаружение смены сцен на Python и OpenCV/python-scene-detection-tutorial.rar +3 -0
  41. code/PySceneDetect v0.6.2/Обнаружение смены сцен на Python и OpenCV/Описание.txt +10 -0
  42. code/PySceneDetect v0.6.2/Обнаружение смены сцен на Python и OpenCV/Часть 1. Обнаружение порога_перехода в чёрный цвет.docx +3 -0
  43. code/PySceneDetect v0.6.2/Обнаружение смены сцен на Python и OpenCV/Часть 2. Адаптивное пороговое обнаружение.docx +3 -0
  44. code/PySceneDetect v0.6.2/Описание.txt +11 -0
  45. code/PySceneDetect v0.6.2/Повышение эффективности.docx +3 -0
  46. code/SSCDNet/sscdnet.rar +3 -0
  47. code/SSCDNet/Описание.txt +3 -0
  48. code/SSCDNet/Слабо контролируемое обнаружение семантических изменений сцены на основе силуэтов.pdf +3 -0
  49. code/SSCDNet/Схема.png +3 -0
  50. code/SceneChangeDet/SceneChangeDet.rar +3 -0
.gitattributes CHANGED
@@ -33,3 +33,24 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ code/ChangeNet/ChangeNet.[[:space:]]Архитектура[[:space:]]глубокого[[:space:]]обучения[[:space:]]для[[:space:]]визуального[[:space:]]обнаружения[[:space:]]изменений.pdf filter=lfs diff=lfs merge=lfs -text
37
+ code/ChangeSim/ChangeSim.[[:space:]]К[[:space:]]комплексному[[:space:]]онлайн-обнаружению[[:space:]]изменений[[:space:]]сцены[[:space:]]в[[:space:]]промышленных[[:space:]]помещениях.pdf filter=lfs diff=lfs merge=lfs -text
38
+ code/DR-TANet/DR-TANet.[[:space:]]Динамическая[[:space:]]восприимчивая[[:space:]]сеть[[:space:]]временного[[:space:]]внимания[[:space:]]для[[:space:]]обнаружения[[:space:]]изменений[[:space:]]уличной[[:space:]]сцены.pdf filter=lfs diff=lfs merge=lfs -text
39
+ code/DSP[[:space:]](NeurAI[[:space:]]Lab)/(на[[:space:]]русском)[[:space:]]Differencing[[:space:]]based[[:space:]]self-supervised[[:space:]]pretraining[[:space:]]for[[:space:]]Scene[[:space:]]Change[[:space:]]Detection.mp4 filter=lfs diff=lfs merge=lfs -text
40
+ code/DSP[[:space:]](NeurAI[[:space:]]Lab)/Самоконтролируемая[[:space:]]предварительная[[:space:]]подготовка[[:space:]]на[[:space:]]основе[[:space:]]дифференциации[[:space:]]для[[:space:]]обнаружения[[:space:]]изменений[[:space:]]сцены.pdf filter=lfs diff=lfs merge=lfs -text
41
+ code/DSP[[:space:]](NeurAI[[:space:]]Lab)/Схема.png filter=lfs diff=lfs merge=lfs -text
42
+ code/PySceneDetect[[:space:]]v0.6.2/Обнаружение[[:space:]]и[[:space:]]классификация[[:space:]]видеосцен.[[:space:]]PySceneDetect,[[:space:]]Places365[[:space:]]и[[:space:]]Mozilla[[:space:]]DeepSpeech[[:space:]]Engine.docx filter=lfs diff=lfs merge=lfs -text
43
+ code/PySceneDetect[[:space:]]v0.6.2/Обнаружение[[:space:]]смены[[:space:]]сцен[[:space:]]на[[:space:]]Python[[:space:]]и[[:space:]]OpenCV/Часть[[:space:]]1.[[:space:]]Обнаружение[[:space:]]порога_перехода[[:space:]]в[[:space:]]чёрный[[:space:]]цвет.docx filter=lfs diff=lfs merge=lfs -text
44
+ code/PySceneDetect[[:space:]]v0.6.2/Обнаружение[[:space:]]смены[[:space:]]сцен[[:space:]]на[[:space:]]Python[[:space:]]и[[:space:]]OpenCV/Часть[[:space:]]2.[[:space:]]Адаптивное[[:space:]]пороговое[[:space:]]обнаружение.docx filter=lfs diff=lfs merge=lfs -text
45
+ code/PySceneDetect[[:space:]]v0.6.2/Повышение[[:space:]]эффективности.docx filter=lfs diff=lfs merge=lfs -text
46
+ code/PySceneDetect[[:space:]]v0.6.2/Fast[[:space:]]cut-scene[[:space:]]detection[[:space:]]and[[:space:]]split[[:space:]]video[[:space:]]into[[:space:]]parts.mp4 filter=lfs diff=lfs merge=lfs -text
47
+ code/SceneChangeDet/Учимся[[:space:]]измерять[[:space:]]изменения.[[:space:]]Полностью[[:space:]]свёрточные[[:space:]]сиамские[[:space:]]метрические[[:space:]]сети[[:space:]]для[[:space:]]обнаружения[[:space:]]изменений[[:space:]]сцены.pdf filter=lfs diff=lfs merge=lfs -text
48
+ code/SceneChangeDetection[[:space:]]\[neelarya19\]/Отчёт[[:space:]]по[[:space:]]инновационному[[:space:]]проекту.[[:space:]]EC412[[:space:]]Машинное[[:space:]]обучение.[[:space:]]Scene[[:space:]]change[[:space:]]detection.pdf filter=lfs diff=lfs merge=lfs -text
49
+ code/SSCDNet/Слабо[[:space:]]контролируемое[[:space:]]обнаружение[[:space:]]семантических[[:space:]]изменений[[:space:]]сцены[[:space:]]на[[:space:]]основе[[:space:]]силуэтов.pdf filter=lfs diff=lfs merge=lfs -text
50
+ code/SSCDNet/Схема.png filter=lfs diff=lfs merge=lfs -text
51
+ code/VideoSceneInventory/(на[[:space:]]русском)[[:space:]]демо[[:space:]]видео.mp4 filter=lfs diff=lfs merge=lfs -text
52
+ datasets/Пример[[:space:]]SCD[[:space:]]из[[:space:]]набора[[:space:]]данных[[:space:]]ChangeSim.gif filter=lfs diff=lfs merge=lfs -text
53
+ papers/Быстрое[[:space:]]обнаружение[[:space:]]изменения[[:space:]]сцены[[:space:]]для[[:space:]]персонального[[:space:]]видеорегистратора.pdf filter=lfs diff=lfs merge=lfs -text
54
+ papers/Обнаружение[[:space:]]изменений[[:space:]]сцены[[:space:]]в[[:space:]]аудиовизуальном[[:space:]]контенте.docx filter=lfs diff=lfs merge=lfs -text
55
+ papers/Эффективные[[:space:]]подходы[[:space:]]к[[:space:]]обнаружению[[:space:]]смены[[:space:]]сцен[[:space:]]на[[:space:]]видео.pdf filter=lfs diff=lfs merge=lfs -text
56
+ papers/Эффективный[[:space:]]и[[:space:]]быстрый[[:space:]]алгоритм[[:space:]]обнаружения[[:space:]]изменения[[:space:]]сцены[[:space:]]для[[:space:]]видео,[[:space:]]сжатых[[:space:]]в[[:space:]]формате[[:space:]]MPEG.pdf filter=lfs diff=lfs merge=lfs -text
code/ChangeDet/ChangeDet.rar ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b3a0ba317c99d04f4df941ebac7d1ea2381836c808310c09b8f09f0c37089ef5
3
+ size 117143
code/ChangeDet/Описание.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ Обнаружение изменения сцены (SCD) в масштабе города с использованием облаков точек [point clouds].
code/ChangeNet/ChangeNet (arishin), enhanced fork.rar ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:bdd6a9fa3eec93959c46b67ac847d5c7457722aa6dd34e3e221bb62b1076a7ea
3
+ size 10332520
code/ChangeNet/ChangeNet. Архитектура глубокого обучения для визуального обнаружения изменений.pdf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0f8e298c273aefdc545bf37a6d6f2d17193db44783e9d3a6559464ef7d443873
3
+ size 3030983
code/ChangeNet/ChangeNet.rar ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:349f2ed6d576a8ad4a99ea5b53027f7c4f151fde79e409c0b0bc0cc0d5064d8b
3
+ size 10312208
code/ChangeNet/Описание.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ Код для научной статьи о ChangeNet (https://openaccess.thecvf.com/content_ECCVW_2018/papers/11130/Varghese_ChangeNet_A_Deep_Learning_Architecture_for_Visual_Change_Detection_ECCVW_2018_paper.pdf).
code/ChangeSim/ChangeSim. К комплексному онлайн-обнаружению изменений сцены в промышленных помещениях.pdf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:eff32ca7fda6d1924228300668301ee7ff8862ccc0c1dcf8ba55693f297312aa
3
+ size 17338755
code/ChangeSim/Видео.txt ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ ChangeSim: к комплексному онлайн-обнаружению изменений сцены в промышленных помещениях
2
+ https://www.youtube.com/watch?v=3zMMWg40WZY
code/ChangeSim/Описание.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ Мультимодальный фотореалистичный набор данных для сквозного онлайн-обнаружения изменений и многого другого (принято в IROS2021).
code/ChangeSim/Официальный сайт.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ https://sammica.github.io/ChangeSim
code/ChangeSim/Репозиторий.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ https://github.com/SAMMiCA/ChangeSim
code/DR-TANet/DR-TANet. Динамическая восприимчивая сеть временного внимания для обнаружения изменений уличной сцены.pdf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9afff51aa9b2f40d209eebd23dc728498f800c6b0a502cb2cd490004a656d87e
3
+ size 3938101
code/DR-TANet/DR-TANet.rar ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:609cf6f5b573c01b7939c01d8860f34f1bd00aa0d099e789f2298ae6bd20604c
3
+ size 329257
code/DR-TANet/Описание.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ Это официальная реализация TANet и DR-TANet в «DR-TANet: динамическая восприимчивая сеть временного внимания для обнаружения изменений уличной сцены» (IEEE IV 2021).
code/DR-TANet/Форк с демо.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ https://github.com/YvonneChika/DR-TANet
code/DSP (NeurAI Lab)/(на русском) Differencing based self-supervised pretraining for Scene Change Detection.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:962f3840d057c58f4aac1476e23fb9ca2f8c3c236e27e036476c770ac60db26f
3
+ size 14648291
code/DSP (NeurAI Lab)/DSP.rar ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:11126d5f14cea385703631a824705764856e6321a0b04d9b4d9dc7d753b03c0d
3
+ size 1273642
code/DSP (NeurAI Lab)/Видео.txt ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ Differencing based Self-supervised pretraining for Scene Change Detection-CoLLAs 2022
2
+ https://youtube.com/watch?v=53YVk9Lsa5A
code/DSP (NeurAI Lab)/Датасеты.txt ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ Наша сеть тестируется на двух наборах данных для обнаружения изменения сцены при просмотре улиц:
2
+ > Набор данных PCD из обнаружения изменений на основе пары изображений улиц с использованием функций CNN и сегментации суперпикселей (http://www.vision.is.tohoku.ac.jp/files/9814/3947/4830/71-Sakurada-BMVC15.pdf).
3
+ Информацию о том, как получить «TSUNAMI», «GSV» и предварительно обработанные наборы данных для обучения и тестирования, вы можете найти здесь: https://kensakurada.github.io/pcd_dataset.html
4
+ > Набор данных VL-CMU-CD из функции обнаружения изменений Street-View с помощью деконволюционных сетей (http://www.robesafe.com/personal/roberto.arroyo/docs/Alcantarilla16rss.pdf)
code/DSP (NeurAI Lab)/Описание.txt ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ Предварительное обучение с самоконтролем на основе дифференциации для обнаружения изменения сцены (DSP)
2
+
3
+ Это официальный код статьи COLLA 2022 «Самоконтролируемое предварительное обучение на основе дифференциации для обнаружения изменения сцены» (V.R.T.Ramkumar, E.Arani, B.Zonooz), в которой мы предлагаем новую архитектуру предварительной подготовки с самоконтролем, основанную на различении, называемую DSP для обнаружение изменения сцены.
4
+
5
+ * * *
6
+
7
+ Обнаружение изменения сцены (SCD), важнейшая задача восприятия, определяет изменения путем сравнения сцен, снятых в разное время. SCD представляет собой сложную задачу из-за шумных изменений освещенности, сезонных колебаний и различий в перспективе на разных ракурсах. Решения на основе глубоких нейронных сетей требуют большого количества аннотированных данных, получение которых утомительно и дорого. С другой стороны, перенос обучения на основе больших наборов данных вызывает сдвиг предметной области. Чтобы решить эти проблемы, мы предлагаем новый метод предварительного обучения с самоконтролем (DSP), который использует дифференцирование признаков для изучения дискриминационных представлений, соответствующих измененным областям, одновременно устраняя шумные изменения, обеспечивая временную инвариантность между представлениями. Наши экспериментальные результаты на наборах данных SCD демонстрируют эффективность нашего метода, особенно в отношении различий в точках обзора камеры и условиях освещения. По сравнению с самоконтролируемыми близнецами Барлоу и стандартным предварительным обучением ImageNet, которое использует более миллиона дополнительных помеченных изображений, DSP может превзойти его без использования каких-либо дополнительных данных. Наши результаты также демонстрируют устойчивость DSP к естественным искажениям, смещению распределения и обучению в условиях ограниченных размеченных данных.
8
+
9
+ ----------------------------------------------------------
10
+ https://proceedings.mlr.press/v199/ramkumar22a.html
code/DSP (NeurAI Lab)/Самоконтролируемая предварительная подготовка на основе дифференциации для обнаружения изменений сцены.pdf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:77515306a8d86d1c6ab7f58f1168ff50fa0849eeba3179534d4d9b049626009f
3
+ size 5937112
code/DSP (NeurAI Lab)/Схема.png ADDED

Git LFS Details

  • SHA256: aa5edf0141ebb88537c0b53d70505cd2d701d5eb03659fd834be28a76b9ac82c
  • Pointer size: 131 Bytes
  • Size of remote file: 171 kB
code/DetectSceneChange (Rust)/detect-scene-change.rar ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:679dadc4d138a4361cae3e23c5985d57ba4b8c4f835af4640c3d616e036ae0e7
3
+ size 24266
code/DetectSceneChange (Rust)/Описание.txt ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Обнаружение таймстемпов всех изменений сцены в видео.
2
+
3
+ Как использовать:
4
+ cargo run <video> <threshold [0-1]>
5
+
6
+ Пример:
7
+ $ cargo run foo.mp4 0.03
8
+ Finished dev [unoptimized + debuginfo] target(s) in 0.01s
9
+ Running `target/debug/detect_scene_change foo.mp4 0.03`
10
+ diff time frame
11
+ ---- 0.00 1/719
12
+ 0.063 3.03 73/719
13
+ 0.038 5.55 133/719
14
+ 0.079 9.37 224/719
15
+ 0.372 15.38 367/719
16
+ 0.120 15.80 377/719
17
+ 0.256 16.22 387/719
18
+ 0.041 20.29 484/719
19
+ 0.198 23.44 559/719
20
+ 0.072 25.21 601/719
21
+ 0.188 28.23 673/719
22
+ ---- 30.17 719/719
23
+ $
code/NapoleonWils0n. Руководство по детекту сцен с помощью ffmpeg/ffmpeg-scripts.rar ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:21a4a030380bb476d43767586ab96747a9cd6bd97725a756177225a8ca1fada1
3
+ size 352817
code/NapoleonWils0n. Руководство по детекту сцен с помощью ffmpeg/scene-cut.sh ADDED
@@ -0,0 +1,117 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/bin/sh
2
+
3
+ #===============================================================================
4
+ # scene-cut
5
+ # ffmpeg scene cut
6
+ #===============================================================================
7
+
8
+ # dependencies:
9
+ # ffmpeg
10
+
11
+ #===============================================================================
12
+ # script usage
13
+ #===============================================================================
14
+
15
+ usage () {
16
+ # if argument passed to function echo it
17
+ [ -z "${1}" ] || echo "! ${1}"
18
+ # display help
19
+ echo "\
20
+ $(basename "$0") -i input -c cutfile
21
+
22
+ -i input.(mp4|mov|mkv|m4v)
23
+ -c cutfile"
24
+ exit 2
25
+ }
26
+
27
+
28
+ #===============================================================================
29
+ # error messages
30
+ #===============================================================================
31
+
32
+ INVALID_OPT_ERR='Invalid option:'
33
+ REQ_ARG_ERR='requires an argument'
34
+ WRONG_ARGS_ERR='wrong number of arguments passed to script'
35
+
36
+ #===============================================================================
37
+ # check the number of arguments passed to the script
38
+ #===============================================================================
39
+
40
+ [ $# -gt 0 ] || usage "${WRONG_ARGS_ERR}"
41
+
42
+
43
+ #===============================================================================
44
+ # getopts check the options passed to the script
45
+ #===============================================================================
46
+
47
+ while getopts ':i:c:h' opt
48
+ do
49
+ case ${opt} in
50
+ i) input="${OPTARG}";;
51
+ c) cutfile="${OPTARG}";;
52
+ h) usage;;
53
+ \?) usage "${INVALID_OPT_ERR} ${OPTARG}" 1>&2;;
54
+ :) usage "${INVALID_OPT_ERR} ${OPTARG} ${REQ_ARG_ERR}" 1>&2;;
55
+ esac
56
+ done
57
+ shift $((OPTIND-1))
58
+
59
+
60
+ #===============================================================================
61
+ # variables
62
+ #===============================================================================
63
+
64
+ # get the input file name
65
+ input_nopath="${input##*/}"
66
+ input_name="${input_nopath%.*}"
67
+
68
+ #===============================================================================
69
+ # ffmpeg create clips - nostdin needed to avoid clash with read command
70
+ #===============================================================================
71
+
72
+ trim_video () {
73
+ # awk convert start and end time from sexagesimal time to seconds
74
+ # add the start and end time to get the endpoint and convert from seconds back to sexagesimal time
75
+ endtime=$(printf "%s %s\n" "${start}" "${duration}" \
76
+ | awk '
77
+ {
78
+ start = $1
79
+ end = $2
80
+ if (start ~ /:/) {
81
+ split(start, t, ":")
82
+ sseconds = (t[1] * 3600) + (t[2] * 60) + t[3]
83
+ }
84
+ if (end ~ /:/) {
85
+ split(end, t, ":")
86
+ eseconds = (t[1] * 3600) + (t[2] * 60) + t[3]
87
+ }
88
+ duration = eseconds + sseconds
89
+ printf("%s\n"), duration
90
+ }' \
91
+ | awk -F. 'NF==1 { printf("%02d:%02d:%02d\n"), ($1 / 3600), ($1 % 3600 / 60), ($1 % 60) }\
92
+ NF==2 { printf("%02d:%02d:%02d.%s\n"), ($1 / 3600), ($1 % 3600 / 60), ($1 % 60), ($2) }'
93
+ )
94
+ output="${input_name}-[${start}-${endtime}].mp4"
95
+ ffmpeg \
96
+ -nostdin \
97
+ -hide_banner \
98
+ -stats -v panic \
99
+ -ss "${start}" \
100
+ -i "${input}" \
101
+ -t "${duration}" \
102
+ -c:a aac \
103
+ -c:v libx264 -profile:v high \
104
+ -pix_fmt yuv420p -movflags +faststart \
105
+ -f mp4 \
106
+ "${output}"
107
+ }
108
+
109
+
110
+ #===============================================================================
111
+ # read file and set IFS=, read = input before , duration = input after ,
112
+ #===============================================================================
113
+
114
+ count=1
115
+ while IFS=, read -r start duration; do
116
+ trim_video
117
+ done < "${cutfile}"
code/NapoleonWils0n. Руководство по детекту сцен с помощью ffmpeg/scene-detect.sh ADDED
@@ -0,0 +1,171 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/bin/sh
2
+
3
+ #===============================================================================
4
+ # scene-detect
5
+ # ffmpeg scene detection
6
+ #===============================================================================
7
+
8
+ # dependencies:
9
+ # ffmpeg ffprobe awk
10
+
11
+ #===============================================================================
12
+ # script usage
13
+ #===============================================================================
14
+
15
+ usage () {
16
+ # if argument passed to function echo it
17
+ [ -z "${1}" ] || echo "! ${1}"
18
+ # display help
19
+ echo "\
20
+ $(basename "$0") -s 00:00:00 -i input -e 00:00:00 -t (0.1 - 0.9) -f sec -o output
21
+
22
+ -s 00:00:00 : start time
23
+ -i input.(mp4|mov|mkv|m4v)
24
+ -e 00:00:00 : end time
25
+ -t (0.1 - 0.9) # threshold
26
+ -f sec # output in seconds
27
+ -o output.txt"
28
+ exit 2
29
+ }
30
+
31
+
32
+ #===============================================================================
33
+ # error messages
34
+ #===============================================================================
35
+
36
+ INVALID_OPT_ERR='Invalid option:'
37
+ REQ_ARG_ERR='requires an argument'
38
+ WRONG_ARGS_ERR='wrong number of arguments passed to script'
39
+ NOT_MEDIA_FILE_ERR='is not a media file'
40
+
41
+
42
+ #===============================================================================
43
+ # check the number of arguments passed to the script
44
+ #===============================================================================
45
+
46
+ [ $# -gt 0 ] || usage "${WRONG_ARGS_ERR}"
47
+
48
+
49
+ #===============================================================================
50
+ # getopts check the options passed to the script
51
+ #===============================================================================
52
+
53
+ while getopts ':s:i:e:t:o:f:h' opt
54
+ do
55
+ case ${opt} in
56
+ s) start="${OPTARG}";;
57
+ i) input="${OPTARG}";;
58
+ e) end="${OPTARG}";;
59
+ t) threshold="${OPTARG}";;
60
+ o) output="${OPTARG}";;
61
+ f) format="${OPTARG}";;
62
+ h) usage;;
63
+ \?) usage "${INVALID_OPT_ERR} ${OPTARG}" 1>&2;;
64
+ :) usage "${INVALID_OPT_ERR} ${OPTARG} ${REQ_ARG_ERR}" 1>&2;;
65
+ esac
66
+ done
67
+ shift $((OPTIND-1))
68
+
69
+
70
+ #===============================================================================
71
+ # variables
72
+ #===============================================================================
73
+
74
+ # get the input file name
75
+ input_nopath="${input##*/}"
76
+ input_name="${input_nopath%.*}"
77
+
78
+ # output file name
79
+ output_default="${input_name}-detection-$(date +"%Y-%m-%d-%H-%M-%S").txt"
80
+
81
+ # threshold default
82
+ threshold_default='0.3'
83
+
84
+ # start default
85
+ start_default='0.0'
86
+
87
+
88
+ #===============================================================================
89
+ # ffprobe video duration
90
+ #===============================================================================
91
+
92
+ ffduration () {
93
+ # video duration to append to cutfile
94
+ duration_default=$(ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 "${input}")
95
+
96
+ # if video duration is empty exit
97
+ [ -n "${duration_default}" ] || usage "${input} ${NOT_MEDIA_FILE_ERR}"
98
+ }
99
+
100
+
101
+ #===============================================================================
102
+ # convert time input to seconds
103
+ #===============================================================================
104
+
105
+ checktime () {
106
+ start=$(echo "${start}" | awk -F: 'NF==3 { print ($1 * 3600) + ($2 * 60) + $3 } NF==2 { print ($1 * 60) + $2 } NF==1 { print 0 + $1 }')
107
+ end=$(echo "${end}" | awk -F: 'NF==3 { print ($1 * 3600) + ($2 * 60) + $3 } NF==2 { print ($1 * 60) + $2 } NF==1 { print 0 + $1 }')
108
+ }
109
+
110
+
111
+ #===============================================================================
112
+ # ffmpeg scene detection
113
+ #===============================================================================
114
+
115
+ # scene detection
116
+ ffdetection () {
117
+ detection="$(ffmpeg -hide_banner -i "${input}" -filter_complex "select='gt(scene,"${threshold:=${threshold_default}}")',metadata=print:file=-" -f null -)"
118
+ }
119
+
120
+ # scene detection range
121
+ ffdetection_range () {
122
+ detection="$(ffmpeg -hide_banner -i "${input}" \
123
+ -filter_complex "[0:0]select='between(t\,"${start}"\,"${end}")'[time];\
124
+ [time]select='gt(scene,"${threshold:=${threshold_default}}")',metadata=print:file=-[out]" -map "[out]" -f null -)"
125
+ }
126
+
127
+
128
+ #===============================================================================
129
+ # create cutfile - prepend start and append end or duration
130
+ #===============================================================================
131
+
132
+ cutfile_seconds () {
133
+ echo "${detection}" \
134
+ | awk -F':' 'BEGIN { printf("%s\n", '"${start:=${start_default}}"') }/pts_time/ { printf("%s\n", $4) } END { printf("%s\n", '"${end:=${duration_default}}"') }' > "${output:=${output_default}}"
135
+ }
136
+
137
+ cutfile_minutes () {
138
+ echo "${detection}" \
139
+ | awk -F':' 'BEGIN { printf("%s\n", '"${start:=${start_default}}"') }/pts_time/ { printf("%s\n", $4) } END { printf("%s\n", '"${end:=${duration_default}}"') }' | awk -F. 'NF==1 { printf("%02d:%02d:%02d\n"), ($1 / 3600), ($1 % 3600 / 60), ($1 % 60) }\
140
+ NF==2 { printf("%02d:%02d:%02d.%s\n"), ($1 / 3600), ($1 % 3600 / 60), ($1 % 60), ($2) }' \
141
+ > "${output:=${output_default}}"
142
+ }
143
+
144
+
145
+ #===============================================================================
146
+ # run function
147
+ #===============================================================================
148
+
149
+ if [ -n "${start}" ] && [ -n "${end}" ]; then
150
+ # scene detect range in video
151
+ checktime
152
+ ffdetection_range
153
+ if [ -n "${format}" ]; then
154
+ cutfile_seconds
155
+ else
156
+ cutfile_minutes
157
+ fi
158
+ elif [ -n "${start}" ]; then
159
+ usage "${start} ${WRONG_ARGS_ERR}"
160
+ elif [ -n "${end}" ]; then
161
+ usage "${end} ${WRONG_ARGS_ERR}"
162
+ else
163
+ # scene detect entire video
164
+ ffduration
165
+ ffdetection
166
+ if [ -n "${format}" ]; then
167
+ cutfile_seconds
168
+ else
169
+ cutfile_minutes
170
+ fi
171
+ fi
code/NapoleonWils0n. Руководство по детекту сцен с помощью ffmpeg/scene-images.sh ADDED
@@ -0,0 +1,95 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/bin/sh
2
+
3
+ #===============================================================================
4
+ # scene-images
5
+ # ffmpeg scene thumbnails
6
+ #===============================================================================
7
+
8
+ # dependencies:
9
+ # ffmpeg
10
+
11
+ #===============================================================================
12
+ # script usage
13
+ #===============================================================================
14
+
15
+ usage () {
16
+ # if argument passed to function echo it
17
+ [ -z "${1}" ] || echo "! ${1}"
18
+ # display help
19
+ echo "\
20
+ $(basename "$0") -i input -c cutfile
21
+
22
+ -i input.(mp4|mov|mkv|m4v)
23
+ -c cutfile"
24
+ exit 2
25
+ }
26
+
27
+
28
+ #===============================================================================
29
+ # error messages
30
+ #===============================================================================
31
+
32
+ INVALID_OPT_ERR='Invalid option:'
33
+ REQ_ARG_ERR='requires an argument'
34
+ WRONG_ARGS_ERR='wrong number of arguments passed to script'
35
+
36
+
37
+ #===============================================================================
38
+ # check the number of arguments passed to the script
39
+ #===============================================================================
40
+
41
+ [ $# -gt 0 ] || usage "${WRONG_ARGS_ERR}"
42
+
43
+
44
+ #===============================================================================
45
+ # getopts check the options passed to the script
46
+ #===============================================================================
47
+
48
+ while getopts ':i:c:h' opt
49
+ do
50
+ case ${opt} in
51
+ i) input="${OPTARG}";;
52
+ c) cutfile="${OPTARG}";;
53
+ h) usage;;
54
+ \?) usage "${INVALID_OPT_ERR} ${OPTARG}" 1>&2;;
55
+ :) usage "${INVALID_OPT_ERR} ${OPTARG} ${REQ_ARG_ERR}" 1>&2;;
56
+ esac
57
+ done
58
+ shift $((OPTIND-1))
59
+
60
+
61
+ #===============================================================================
62
+ # variables
63
+ #===============================================================================
64
+
65
+ # get the input file name
66
+ input_nopath="${input##*/}"
67
+ input_name="${input_nopath%.*}"
68
+
69
+
70
+ #===============================================================================
71
+ # ffmpeg extract image
72
+ #===============================================================================
73
+
74
+ extract () {
75
+ output="${input_name}-[${seconds}].png"
76
+ ffmpeg \
77
+ -nostdin \
78
+ -hide_banner \
79
+ -stats -v panic \
80
+ -ss "${seconds}" \
81
+ -i "${input}" \
82
+ -q:v 2 -f image2 \
83
+ -vframes 1 \
84
+ "${output}"
85
+ }
86
+
87
+
88
+ #===============================================================================
89
+ # read file and run ffmpeg
90
+ #===============================================================================
91
+
92
+ count=1
93
+ while IFS= read -r seconds; do
94
+ extract
95
+ done < "${cutfile}"
code/NapoleonWils0n. Руководство по детекту сцен с помощью ffmpeg/scene-time.sh ADDED
@@ -0,0 +1,125 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/bin/sh
2
+
3
+ #===============================================================================
4
+ # scene-time
5
+ # create ffmpeg cutlist
6
+ #===============================================================================
7
+
8
+ # dependencies:
9
+ # ffmpeg awk head grep
10
+
11
+ #===============================================================================
12
+ # script usage
13
+ #===============================================================================
14
+
15
+ usage () {
16
+ # if argument passed to function echo it
17
+ [ -z "${1}" ] || echo "! ${1}"
18
+ # display help
19
+ echo "\
20
+ $(basename "$0") -i input -o output
21
+
22
+ -i input
23
+ -o output"
24
+ exit 2
25
+ }
26
+
27
+
28
+ #===============================================================================
29
+ # error messages
30
+ #===============================================================================
31
+
32
+ INVALID_OPT_ERR='Invalid option:'
33
+ REQ_ARG_ERR='requires an argument'
34
+ WRONG_ARGS_ERR='wrong number of arguments passed to script'
35
+
36
+
37
+ #===============================================================================
38
+ # check the number of arguments passed to the script
39
+ #===============================================================================
40
+
41
+ [ $# -gt 0 ] || usage "${WRONG_ARGS_ERR}"
42
+
43
+
44
+ #===============================================================================
45
+ # getopts check the options passed to the script
46
+ #===============================================================================
47
+
48
+ while getopts ':i:o:h' opt
49
+ do
50
+ case ${opt} in
51
+ i) input="${OPTARG}";;
52
+ h) usage;;
53
+ o) output="${OPTARG}";;
54
+ \?) usage "${INVALID_OPT_ERR} ${OPTARG}" 1>&2;;
55
+ :) usage "${INVALID_OPT_ERR} ${OPTARG} ${REQ_ARG_ERR}" 1>&2;;
56
+ esac
57
+ done
58
+ shift $((OPTIND-1))
59
+
60
+
61
+ #===============================================================================
62
+ # variables
63
+ #===============================================================================
64
+
65
+ # get the input file name
66
+ input_nopath="${input##*/}"
67
+ input_name="${input_nopath%.*}"
68
+
69
+ # output file name
70
+ output_default="${input_name}-cutlist-$(date +"%Y-%m-%d-%H-%M-%S").txt"
71
+
72
+
73
+ #===============================================================================
74
+ # awk subtract 2nd line from first line - print start and duration
75
+ #===============================================================================
76
+
77
+ seconds () {
78
+ awk -F. 'NR > 1 {printf("%s%s%s\n"), prev, ",", $0-prev}; {prev = $0}' < "${input}" > "${output:=${output_default}}"
79
+ }
80
+
81
+ #===============================================================================
82
+ # convert sexagesimal to seconds - and subtract 2nd line from first line
83
+ # convert from seconds back to sexagesimal
84
+ #===============================================================================
85
+
86
+ minutes () {
87
+ awk -F: 'NF==3 { printf("%s\n"), ($1 * 3600) + ($2 * 60) + $3 } NF==2 { print ($1 * 60) + $2 } NF==1 { printf("$s\n"), 0 + $1 }' < "${input}" \
88
+ | awk 'NR > 1 {printf("%s%s%s\n"), prev, "\n", $0-prev}; {prev = $0}' \
89
+ | awk -F. 'NF==1 { printf("%02d:%02d:%02d\n"), ($1 / 3600), ($1 % 3600 / 60), ($1 % 60) }\
90
+ NF==2 { printf("%02d:%02d:%02d.%s\n"), ($1 / 3600), ($1 % 3600 / 60), ($1 % 60), ($2) }' \
91
+ | awk '{ORS = NR%2 ? "," : "\n"} 1' > "${output:=${output_default}}"
92
+ }
93
+
94
+
95
+ #===============================================================================
96
+ # timecode regex
97
+ #===============================================================================
98
+
99
+ # grab the first line of the file
100
+ check=$(head -n1 "${input}")
101
+
102
+ # minutes - match 00:00:00.000
103
+ minutes_regex='^[0-9]{1,2}:[0-9]{2}:[0-9]{2}([.]{1}[0-9]{1,3})?$'
104
+
105
+ # seconds - match 00:00:00.000
106
+ seconds_regex='^[0-9]{1,8}([.]{1}[0-9]{1,3})?$'
107
+
108
+ # grep for the minutes
109
+ minutes=$(echo "${check}" | grep -E "${minutes_regex}")
110
+
111
+ # grep for the seconds
112
+ seconds=$(echo "${check}" | grep -E "${seconds_regex}")
113
+
114
+
115
+ #===============================================================================
116
+ # check timecode and run function
117
+ #===============================================================================
118
+
119
+ if [ -n "${minutes}" ]; then
120
+ minutes
121
+ elif [ -n "${seconds}" ]; then
122
+ seconds
123
+ else
124
+ usage
125
+ fi
code/NapoleonWils0n. Руководство по детекту сцен с помощью ffmpeg/Руководство по детекту сцен.txt ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ Автоматическое разделение видео на отдельные сцены:
2
+ https://youtube.com/watch?v=nOeaFEHuFyM
3
+
4
+ Укажите диапазон в видео и разделите на отдельные сцены:
5
+ https://youtube.com/watch?v=SqvDCpWad9M
6
+
7
+ Шестидесятеричный формат - часы, минуты, секунды:
8
+ https://youtube.com/watch?v=GZgE6fYd_wg
code/NapoleonWils0n. Руководство по детекту сцен с помощью ffmpeg/Руководство по установке ffmpeg скриптов.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ https://www.youtube.com/watch?v=UHshlQvdwcQ
code/PySceneDetect v0.6.2/Fast cut-scene detection and split video into parts.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c7b65fc49cef3139ec2dff0163c98d8fdf2d153de64ed9567d28a16ba99d578c
3
+ size 11875006
code/PySceneDetect v0.6.2/PySceneDetect.rar ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6a9f08a0dbc09a120a88140b860647811ac324be48896dda5efd74a93d840460
3
+ size 213486123
code/PySceneDetect v0.6.2/[GUI] SceneChangeDetector/SceneChangeDetector [ChuaN15].rar ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:739f921b72d09a3c9913fe253af3d50099d2d3d942fd76e6b0cb513f391e126f
3
+ size 4621760
code/PySceneDetect v0.6.2/[GUI] SceneChangeDetector/Описание.txt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ SceneChangeDetector разработан с использованием ASP.NET и библиотеки Python PySceneDetect. Он используется для обнаружения смены сцен в видео и автоматического разделения видео на отдельные клипы. Наиболее распространенные варианты его использования включают разделение домашнего видео или других исходных материалов на отдельные сцены, обработку и разделение материалов с камер наблюдения, а также автоматическое обнаружение и удаление рекламы из видеоисточников.
2
+
3
+ Пользователь сначала загрузит свое видео в систему. Тогда системе обычно требуется несколько минут, чтобы разделить видео на разные сцены. После завершения процесса пользователь получит электронное письмо со ссылкой на видео.
code/PySceneDetect v0.6.2/Материалы.txt ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ Обзорная статья автора PySceneDetect на Reddit:
2
+ https://www.reddit.com/r/Python/comments/429y5r/pyscenedetect_video_scene_cut_analysis_with
code/PySceneDetect v0.6.2/Обнаружение и классификация видеосцен. PySceneDetect, Places365 и Mozilla DeepSpeech Engine.docx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:974c8642a6dbe44d59a4bb56d35b5dd5d2c45aeadaa04067f6ea34705cb7a37d
3
+ size 770493
code/PySceneDetect v0.6.2/Обнаружение смены сцен на Python и OpenCV/desktop.ini ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ [.ShellClassInfo]
2
+ IconResource=C:\Windows\System32\SHELL32.dll,3
code/PySceneDetect v0.6.2/Обнаружение смены сцен на Python и OpenCV/python-scene-detection-tutorial.rar ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5262db96d40a4f53c77f38bdc441e0558102ff5c667479bdfb34e7c93f2656c8
3
+ size 4881122
code/PySceneDetect v0.6.2/Обнаружение смены сцен на Python и OpenCV/Описание.txt ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ Этот репозиторий содержит примеры программ, соответствующие руководству из трех частей по обнаружению изменений сцены в видео с помощью Python и OpenCV, которое можно найти по адресу:
2
+ > Простое определение порога/перехода в черный цвет
3
+ > Оптимизированное/адаптивное пороговое обнаружение
4
+ > Подавление/отмена ложных изменений сцены (скоро!)
5
+
6
+ Вы можете получить последний пример кода/видео на странице релизов (https://github.com/Breakthrough/python-scene-detection-tutorial/releases).
7
+
8
+ Всего существует три программы (part1-threshold.py, part2-adaptive.py, [скоро] part3-content-aware.py), соответствующие соответствующей части руководства, ссылка на которое приведена выше. Подробности использования каждой программы можно найти в заголовке комментария к этому файлу.
9
+
10
+ С этим руководством связана PySceneDetect (https://bcastell.com/projects/PySceneDetect), надежная программа обнаружения сцен на основе OpenCV.
code/PySceneDetect v0.6.2/Обнаружение смены сцен на Python и OpenCV/Часть 1. Обнаружение порога_перехода в чёрный цвет.docx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a9390b3a0a9c0c2bf2af0dbb0cc311e342735a5589bf21b8dd350ada3fb9fe83
3
+ size 238935
code/PySceneDetect v0.6.2/Обнаружение смены сцен на Python и OpenCV/Часть 2. Адаптивное пороговое обнаружение.docx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:92ab3b04f103084c3c97f9050defb6d7fb22c438680602ab5230c5684417d461
3
+ size 291402
code/PySceneDetect v0.6.2/Описание.txt ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Софт и библиотека на Python и OpenCV для детекции обрывов/переходов на видео.
2
+ Репозиторий: https://github.com/Breakthrough/PySceneDetect
3
+
4
+ Как установить:
5
+ pip install scenedetect[opencv] --upgrade
6
+
7
+ Если нужен серверный (безголовый вариант):
8
+ pip install --upgrade scenedetect[opencv-headless]
9
+
10
+ ---------------------------
11
+ https://scenedetect.com
code/PySceneDetect v0.6.2/Повышение эффективности.docx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6cae4355897c2074e30587a9fd3535a2fb6be86dd9252fdb11366b5981a20d90
3
+ size 143903
code/SSCDNet/sscdnet.rar ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:303a06c0ee4a4a2afce91afa845784c21c60232ac7aa8d2820523b46e41ab6a0
3
+ size 40640
code/SSCDNet/Описание.txt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ Semantic Scene Change Detection Network (SSCDNet) - официальная реализация Коррелированной сиамской сети обнаружения изменений (CSCDNet) и Сети обнаружения семантических изменений на основе силуэтов (SSCDNet) из научной работы «Слабо контролируемое обнаружение семантических изменений сцены на основе силуэтов» (ICRA2020). (Подготавливаются данные SSDNet и PSCD...)
2
+
3
+ Этот код был разработан и протестирован с помощью Python v3.6.8, PyTorch v1.0 и CUDA v9.2.
code/SSCDNet/Слабо контролируемое обнаружение семантических изменений сцены на основе силуэтов.pdf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9f649014c8d230448c0033779b0f28fcef5397046001dadbcd6c0e0ffba5f55b
3
+ size 3354820
code/SSCDNet/Схема.png ADDED

Git LFS Details

  • SHA256: 92e5cd09f9368f0d6a6adcaac070cb2d412235628eec92ce6f542634712bbf2c
  • Pointer size: 131 Bytes
  • Size of remote file: 398 kB
code/SceneChangeDet/SceneChangeDet.rar ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1fc583f2778401c974579325a868c6c06da0303f349b84ca601b920a2ec3f058
3
+ size 18295313