Comments 122
Спасиб.
А в аппсторе я не ориентируюсь, сори :)
Может использовать механизм вибрации в телефоне? Прижимаешь телефон, программа делает несколько пингов вибратором и анализирует отклик.
Вибраторы у разных моделей разные, сложно будет анализировать. Можно, как вариант испускать громкий эталонный звук, этакое УЗИ, но, боюсь, это будет и анализировать трудно, и в использовании будет не очень удобно.
Можно, как вариант испускать громкий эталонный звук, этакое УЗИ, но, боюсь, это будет и анализировать трудно, и в использовании будет не очень удобно.
Ну, на Windows Mobile была программа-сонар. Конечно, точность у нее ужасная, но как proof of concept она работает.
Так что вполне возможно, я думаю.
С другой стороны, хорошая сеть должна (если будут образцы) сама поделить людей на категории по тому, как они стучат по арбузу. Вообще, я был потрясен, осознав, насколько сложно объяснить людям простые вещи, от «стучи костяшками, а не хлопай ладонью» и до «нажми кнопку и отпусти. Держать-то зачем?»
У вас не учтён кейс охлаждённого недоспелого арбуза — он звонкий как хз что, но со сладостью и прочими вкусовымиощущениями у него проблемы.
Покупал недели две назад в магните — были холодные (градусов так 15) и звонкие… они не были из холодильника, их, похоже, просто хранили в неотапливаемом помещении/очень долго везли/хранили в грузовике…
В общем сладости почти не было, с сочностью тоже было не идеально… в общем расстроился я с этого арбуза.
Нашел в маркете еще под андроид
https://play.google.com/store/apps/details?id=com.koolio.watermelonprober
Но она стремная — требует доступа к файловой системе. Что-то можете о ней сказать?
PS Ну и это, мода у всех программ лезть в интернет за каждой ерундой это идиотизм. Скоро калькулятор будет 2+2 post-запросом на сервер отправлять…
Надеюсь, метод в мобильном приложении работает лучше.
66.ru/news/freetime/214031
А арбуз оказался ТУХЛЫМ. И взвешивание тут не поможет.А про это в «Науке и жизни» было, про программу для калькулятора:
¯\_(ツ)_/¯
Погодите ка, а я с большой жо##й выбираю, а надо с маленькой что ли?
Сначала нужно создать нейросеть — на Питоне и Керасе, под Убунту. Можно — на эмуляторе Убунты. Можно — под Виндоуз, но потраченного дополнительно времени вам хватит, чтобы упомянутую Убунту изучить, и далее работать под ней.
Вы уж простите, но если у вас есть проблемы с поднятием Python, TF или Keras под виндой, то возможно проблема не в винде…
Иначе будет вопрос: «это микрофон дал глухой звук или арбуз»? Или глухой звук из-за материала корпуса телефона или его чехла.
Боюсь, если чехол закрывает микрофон, то юзеру об этом сразу скажут при первом звонке.
Ой, как раз сегодня купил два небольших арбуза. Один был вкусный, а второй завтра узнаю, и постучу, видимо, по нему телефоном. Будет такой шаманский ритуал перед поеданием.
Про язык ос ничего слышать не хочу даже.
Да, и пока игрался с постукиванием по стеклу планшета, она от 1.1 до 5.5 показывает рандомные цифири.
Что до перевода — в след. версии — то есть, вместе с апдейтом сети — будет русский.
Кстати, Гугл Плей утверждает, что 17% скачавших — из Саудовской Аравии. Надеюсь, до перевода не дойдет…
С современным развитием техники измерить размеры арбуза (а, возможно, даже вычислить его окружность) несложно. Остается взвесить, потом навести камеру на арбуз, нажать на кнопку и получить ответ:
Но тогда другой вопрос, если в ящике арбузы соприкасаются (и немного сжимаются при этом), не будет ли это влиять на звучание?
Этот метод рассчитан на идеальные сферические арбузы в вакууме. В реальной жизни арбузы формой не очень похожии на шар.
конволюционная 2D сеть
Конволюции, это когда ночью снится яркий и красочный сон, в котором ты работаешь в Google DeepMind, изобретаешь сильный ИИ, достигаешь острия прогресса, просыпаешься и обнаруживаешь себя в постели с ноубуком, всём исписанным приложением по распознаванию спелости арбузов. А тип сети, о котором идёт речь — свёрточный.
И тем не менее https://ru.wikipedia.org/wiki/%D0%A1%D0%B2%D1%91%D1%80%D1%82%D0%BA%D0%B0_(%D0%BC%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%B0%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7)
И что важнее https://ru.wikipedia.org/wiki/%D0%A1%D0%B2%D1%91%D1%80%D1%82%D0%BE%D1%87%D0%BD%D0%B0%D1%8F_%D0%BD%D0%B5%D0%B9%D1%80%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%B5%D1%82%D1%8C
В качестве упражнения, я построил график звука и анализировал полученный битмап как картинку — с помощью 2d конволюционной сети. К моему удивлению, результат получился не хуже, чем при анализе «сырых одномерных» данных.
Это вы только как упражнение делали? А то в коде сети Conv1D. А в целом интересно весьма, достаточно простая сеть по объему (capacity). Сколько у вас датасет? Метрики можете написать? Видимо хорошо генерализовались данные сетью…
img_width, img_height = 100, 100
input_shape = (img_height, img_width, 1)
epochs = 50
batch_size = 16
validation_split=0.3 # 30% to validation
nNumOfOutputs = 2
Сама сеть:
model = Sequential()
model.add(Conv2D(32, (3, 3), input_shape=input_shape))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Conv2D(32, (3, 3)))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Conv2D(64, (3, 3)))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Flatten())
model.add(Dense(64))
model.add(Activation('relu'))
model.add(Dropout(0.5))
model.add(Dense(nNumOfOutputs)) #1))
model.add(Activation('sigmoid'))
model.compile(loss='binary_crossentropy',
optimizer='rmsprop',
metrics=['accuracy'])
Где-то так.
Почему у вас сервер не взломают или не заддосят?
Господа, а если замутить стартп с ультразвуковым сканером к телефону? Им можно что угодно же тестировать.
На самом деле, пятно вообще не показатель.
Величина пятна зависит только от того, как арбуз лег на почву. Цвет пятна тоже так себе показатель — у некоторых сортов оно насыщенного цвета, почти оранжевое даже на неспелом арбузе, а других имеет чуть желтоватый оттенок у переспевшего.
Могу точно сказать, т.к. выращиваю их в свободное время :)
В попытке объяснить феномен рассуждал так: чем дольше арбуз лежит плоскостью на грунте — тем больше пятно, за недостатком солнечного света.
Сорт арбуза конечно вносит поправки, но сам не выращиваю (климат не тот), спорить не буду.
Так или иначе, арбузы на рынке пока успешно выбираю таким методом.
На самом деле, арбуз можно вырастить почти в любом климате. Я тоже раньше думал, что у меня климат не тот, а потом узнал про прививку и теперь выращиваю арбузы в открытом грунте по 10+кг. В этом году рекорд 14кг.
Здесь еще куча инфы (там и пара моих отчетов есть): vk.com/arbuzyatnya
По самому процессу прививки на youtube в поиске набираем «прививка арбуза».
Прививать можно на лагенарию или спец. подвои, их можно купить на Хупте, на Али (сейчас нет, обычно выкладывают их зимой-весной).
В прошлом году я под Уфой на грядке 14*3м собрал 2 центнера арбузов, в этом году еще не считал, но судя по количеству и весу, будет раза в 2-2.5 больше (правда и площадь посадки немного увеличилась).
У меня из коммерческих только продюсер и леди, а их почти доели уже. Остальные же сорта очень сильно отличаются от магазинных по фактуре и звуку. Желтокорые всегда с глухим звуком, т.к. корка мягкая, желтомясые всегда звонкие, а при созревании звук становится гулким. Про сортотипы чарльстон грей и шуга тоже отдельная история. Поэтому мои сэмплы врядли помогут вашим пользователям, т.к. такие сорта у нас все равно не купишь, или только за большие деньги типа желтомясиков. :(
Вот сбор урожая от 15.09: https://photos.app.goo.gl/51HBWP6oPjfWZ5c99
Интересно попробовать выделить только сигнал стука и разбить его на малые окна, длительностью в десятые доли секунды. Затем тренировать сеть только на этих малых окнах и усреднять итоговый результат по всему сигналу. Так из пары семплов малым сдвигом окна можно получить достаточно данных для тренировки сети и повысить итоговую точность.
Интересно, как пришли к такому размеру кернела в первом слое, 512. Ведь для 1D сигнала это по сути порядок FIR фильтра, т.е. тратится много вычислительных ресурсов, не принося особой пользы для классификации. 16-64 кажется более приемлилым диапазоном. Могу ошибаться, потому интересно откуда такая цифра.
а потом дополнительно model.add(Activation('relu', input_shape=(nSampleSize, 1)))
что в принципе никак не влияет на результат, но лишняя операция в графе)
Огроменный плюс разбивания — что можно первые два стука взять в обучающую выборку, а третий — в тестовую. То есть, данный стиль стука гарантированно учит сеть.
> У вас в первом слое два раза применяется ReLU активация
Упс. Что еще скажешь?
Есть намного легче способ. Арбуз даже трогать не нужно. И иметь слух музыканта тоже. Просто смотрите на хвостик арбуза – если он высохший, то арбуз спелый и сладкий. Если хвостик завял но видно, что не совсем высохший, тем более если зеленый и свежий, то арбуз сорвали неспелым чтобы поспел во время транспортировки. Такой арбуз, даже если и красный, вкусным не будет. Если хвостика нет (специально удаляют чтобы не было видно), то арбуз не берем – нечего поддерживать плохие практики.
Определяем спелость арбуза с помощью Keras: полный цикл, от идеи до программы на Google Play