Я изучаю разные варианты посещаемости для особенно большого семинарского класса (около 600 студентов) и подумал: а что, если сделать снимок сидений, возможно, с визуальной подсказкой на них, например, светоотражающей лентой. Еще одна фотография была сделана во время занятия с назначенными местами, и если светоотражающая лента закрыта, это может быть хорошим показателем того, занято место или нет.
Какое программное обеспечение я должен искать для достижения этого эффекта? Главное — это возможность обнаружить объект (может быть, какой-то материал, очевидный для компьютера) и определить, исчез ли он.
Если вы можете гарантировать, что камера каждый раз будет находиться в одном и том же положении (никто не будет ее двигать или толкать), и вы можете выбрать характер/цвет отражающей ленты, вы сможете использовать простое программное обеспечение для распознавания изображений. .
ImageMagick содержит программное обеспечение, позволяющее сравнивать два изображения. Его можно использовать для вычисления «разностного изображения», показывающего местоположения пикселей, в которых между ними существует существенная разница.
С этим, вот что вы могли бы сделать. Заранее сфотографируйте зрительный зал, пока он пуст. Затем вручную обведите каждое место, соответствующее каждому стулу (например, место, где находится светоотражающая лента). Затем, в день лекции, сделайте снимок и сделайте «разницу», чтобы сравнить это изображение с изображением пустой аудитории. Это даст вам тепловую карту местоположений пикселей, где между двумя изображениями есть существенная разница. Наконец, вы можете вырезать места, которые вы определили ранее, которые соответствуют местам, и подсчитать, сколько их есть. Вы также можете использовать ImageMagic, чтобы обрезать определенные места, вычислить среднюю интенсивность в этих областях и сравнить ее с пороговым значением.
Если светоотражающая лента имеет определенный цвет, вы также можете использовать ImageMagick, чтобы сфокусироваться на определенном цветовом канале.
Это немного взломано. Я не знаю, насколько хорошо это будет работать, но было бы довольно легко поэкспериментировать с этим вручную и определить, насколько хорошо это будет работать.
Вот дополнительная информация о том, как использовать ImageMagick для сравнения изображений:
Вы можете рассмотреть возможность использования opencv для создания чего-то, что распознает пустое место по сравнению с занятым местом. Есть несколько алгоритмов обработки изображений, которые будут полезны, хотя это будет специальное программное обеспечение, которое вам придется сделать.
Вам придется обучить программное обеспечение, чтобы узнать, как выглядит пустое место или как выглядит занятое место, в том числе научить его распознавать, как выглядит место с сумкой / едой, чтобы не считать его занятым.
Если сиденья окрашены в определенный яркий цвет, вы можете обойтись без определения цвета, хотя я сомневаюсь, что это будет на 100% точным, поскольку ученики могут носить одежду того же цвета, что и сиденья.
Я полагаю, что лучший угол будет сверху, но для этого может потребоваться несколько камер, чтобы предотвратить искажение сидений.
Это было бы ОЧЕНЬ сложно и потребовало бы много человеко-часов для создания программного обеспечения и обеспечения его надлежащего обучения.
Не проще ли подойти к этому с другой стороны? Возьмите автоматический подсчет, когда люди входят через вход с простым световым лучом и приемником, и считайте каждый раз, когда он сломан. Может подушка для ног? Или люди, нажимающие кликер, когда входят (который, кстати, может быть подключен к светодиодной стойке в холле!). Что-то простое, что можно сделать с помощью pi/arduino. Я уверен, что вы получите несколько ложных срабатываний, когда люди уходят и возвращаются, но это было бы НАМНОГО проще, чем то, что вы предлагаете.
Или, почему бы не использовать старый традиционный маршрут - раздать лист бумаги с именами для «пожарных правил». Затем вы можете использовать OCR, чтобы быстро увидеть, кто посетил, и сделать красивые графики! Если посещаемость является частью оценки, то это будет вдвойне полезно.
Или... если вы хотите знать, какие там студенты, дайте каждому студенту NFC-карту с закодированным на ней индивидуальным номером, и когда они войдут, они проведут ее через приемник. Карты NFC дешевы, их кодирование довольно тривиально. Бум. Возможно, их можно было бы включить в студенческие билеты.
Однако я предполагаю, что из-за отсутствия деталей, знаний и усилий, показанных в вашем вопросе, это не для реальной ситуации, а только для того, чтобы заставить вас исследовать методы и заставить вас мыслить нестандартно.
Жиль "ТАК - перестань быть злым"
Жиль "ТАК - перестань быть злым"
пользователь1066886
пользователь1066886