Vai al contenuto
Darko

Sviluppare un controllo per le identificazioni?

Recommended Posts

Ciao a tutti,

dal momento che richiedere la schedina per i dati per le identificazioni sta diventando veramente ripetitivo e al limite del ridicolo mi metto a disposizione per studiare una ed implementare una soluzione che obblighi gli utenti a compilare i campi obbligatori.

La mia idea è quella di mostrare una finestra popup (modale) con i campi da compilare:

Data: (eventualmente widget calendario)
Luogo: (eventualmente tendina province + comune come campo libero)
Posizione e microhabitat: (campo libero)
Dimensioni: tendina con valori preselezionati.

Finché non vengono compilati tutti i campi non sarà possibile inviare il post. Cercherei anche di impostare un controllo sull'avvenuto caricamento di almeno una foto.

I dati con tendina precompilata ha molteplici vantaggi, oltre ad uniformare i dati raccolti, permette anche di avere un dato "pulito" che può anche essere utilizzato in un eventuale database.

Infatti, una bella evoluzione di questa modifica potrebbe essere il salvataggio dei dati in un database che raccolga i dati inseriti e l'identificazione finale. Oltre al valore in sè sarebbe molto utile per addestrare un'eventuale rete neurale per aiutare nell'identificazione gli utenti. Ma stiamo veramente andando "oltre" :)

Cosa ne pensate?

Io non ho tantissimo tempo, ma mi metto a disposizione per tentare questa implementazione. 
 

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Questa è sicuramente una buona iniziativa, ma bisogna lavorarci su. 

Sei associato? 

@00xyz00

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Sì, ho rinnovato giusto oggi.

Secondo me si può suddividere il lavoro in fasi ben precise.

1) Interfaccia inserimento dati obbligatori

Si tratta di uno script che funziona solo lato client, quindi un javascript che si attiva solo nella sezione identificazioni, solo nei nuovi post. Non conosco Invision ma la documentazione delle API sembra buona. Questa parte rappresenta il minimo indispensabile per poter appunto rendere più efficiente la sezione identificazioni, le fasi successive magari non sono indispensabili, ma sarebbe sciocco non tentare di salvare dei dati una volta che li abbiamo già puliti.

2) Persistenza dei dati

Sempre attraverso le API di Invision si possono successivamente leggere i post, estrarre i dati della schedina e salvarli in un database separato.

3) Uso dei dati

E qui ci si può solo sbizzarrire, una volta che si hanno date, specie, dimensioni, località e foto. Personalmente mi piacerebbe sviluppare poi un software open source di intelligenza artificiale per l'identificazione automatica, però servirebbero molti dati. Ma oltre a questo si possono stilare delle statistiche a mio avviso interessanti.

 

Siccome nei vari lustri (tanti!) della mia vita ho visto nascere ennemila progetti web rimasti orfani dopo poco tempo, il mio consiglio è appunto di non andare troppo in là con le idee ma concentrarsi su un primo step ben definito. Già portare a termine il punto 1) sarebbe ottimo.

 

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Ciao Diego @Darko, le tue idee sono buone e l'unico ostacolo che vedo è Invision. Infatti, pur essendo una board molto elastica, è comunque proprietaria e non so quanto ci si possa mettere mano. Il modulo di caricamento foto ad esempio è stato fatto da un mio amico in quanto invision non prevedeva le funzioni che a noi necessitavano. Ma per creare un form di inserimento non saprei proprio se è possibile. Ci guarderemo.

Inoltre, sulla questione "recupero dati identificativi e riutilizzo", io avevo già pensato ad un utilizzo interessante di cui se vuoi ti parlo. Se hai voglia di portare avanti questo progetto noi possiamo sicuramente appoggiarlo, oltre che apprezzarti per aver preso l'iniziativa. Grazie!

Sentiamoci in privato :4fuu9h1::4fuu9h1::4fuu9h1:

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
1 ora fa, 00xyz00 ha scritto:

Ciao Diego @Darko, le tue idee sono buone e l'unico ostacolo che vedo è Invision. Infatti, pur essendo una board molto elastica, è comunque proprietaria e non so quanto ci si possa mettere mano. Il modulo di caricamento foto ad esempio è stato fatto da un mio amico in quanto invision non prevedeva le funzioni che a noi necessitavano. Ma per creare un form di inserimento non saprei proprio se è possibile. Ci guarderemo.

Sentiti libero di coinvolgermi, mi occupo di sviluppo web dal lontano 1999. La form di inserimento sarebbe costruita totalmente in JavaScript, senza entrare troppo nel tecnico, penso che se avete già inserito qualcosa di custom come appunto il  modulo di upload, questo dovrebbe essere decisamente più semplice. 

Inoltre, il fatto che il forum usi CKEditor come editor dei post, ci solleva probabilmente anche dal doverci interfacciare con Invision.

1 ora fa, 00xyz00 ha scritto:

Sentiamoci in privato :4fuu9h1::4fuu9h1::4fuu9h1:

Ok!

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Trovo che sia un'idea davvero interessante! Complimenti @Darko!

Vincolare l'identificazione ad un format preciso toglierebbe ogni sorta di "scusa" (come se i banner in ogni dove non bastassero.....) per non inserire i dati.

5 ore fa, Darko ha scritto:

Personalmente mi piacerebbe sviluppare poi un software open source di intelligenza artificiale per l'identificazione automatica

Caspita, arrivare ad un risultato del genere sarebbe fighissimo. Il riconoscimento in quel caso dovrebbe tener conto (soprattutto) delle immagini però, in quanto i dati di ritrovamento possono scremare solo fino ad un certo punto, e questo vorrebbe dire che le foto caricate dovrebbero rispettare standard (bene o male) precisi. Mi sa che l'intoppo maggiore sarebbe quello, oltre all'infrastruttura necessaria a far girare una rete neurale di questo calibro (sicuramente tra una manciata di anni sarà anche più alla portata). Inoltre (sempre a meno di immagini veramente precise e dettagliate) difficilmente potrebbe arrivare oltre la famiglia (cosa che in ogni caso potrebbe tornare utile); A meno che non si istruisca per riconoscere le specie comuni tra un database di immagini certe (per dire: Steatoda, Zoropsis, Loxosceles, Araneus, Cyrtophora, etc.). Servirebbe sempre il doveroso controllo umano per accettare un'eventuale risposta automatica, ma sarebbe comodissimo!

In ogni caso molto intrigante! Grande!

 

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Intanto ho già un prototipo funzionante, lasciate perdere la grafica, è stato fatto velocemente ma è già funzionale.

Un paio di screenshot:

2019_02_06-22_32_31_9d5c3.jpg

2019_02_06-22_32_31_f2d79.jpg

Il codice è questo:

(function () {

	var css = document.createElement("style");
	css.type = "text/css";
	css.innerHTML  = "#dati-overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, .8); }";
	css.innerHTML += "#dati-popup { position: absolute; left: 50%; top: 50%; width: 500px; height: 400px; margin: -200px 0 0 -250px; background: #fff; border: 10px solid rgba(0,0,0,.5); border-adius: 10px; padding: 10px; }";
	css.innerHTML += "#dati-popup .field { margin-bottom: 10px; }";
	css.innerHTML += "#dati-popup .field label { display: inline-block; }";
	css.innerHTML += "#dati-popup .field input { display: inline-block; width: 150px; margin-left: 10px; }";
	document.body.appendChild(css);


	function makeField(name, id, type, values) {
		var $field = $("<div class='field'></div>");
		$field.append("<label>"+name+"</label>");
		switch(type) {
			case "text":
				$field.append("<input type='text' id='"+id+"'>");
				break;
			case "date":
				$field.append("<input type='date' id='"+id+"'>");
				break;
		}

		return $field;
	}

	var $overlay = $("<div id='dati-overlay'></div>");

	var $popup = $("<div id='dati-popup'></div>");

	$overlay.append($popup);	

	var $fieldset = $("<div></div>");
	$fieldset.css({
		margin: 10
	});

	$fieldset.append("<h4>Dati per identificazione</h4>");

	$popup.append($fieldset);

	$fieldset.append(makeField("Data", "data", "date", null));
	$fieldset.append(makeField("Luogo", "luogo", "text", null));
	$fieldset.append(makeField("Posizione/Micro-habitat", "posizione", "text", null));
	$fieldset.append(makeField("Dimensioni", "dimensioni", "text", null));

	var $insert = $("<a href='#' class='ipsButton ipsButton_medium ipsButton_primary'>Inserisci i dati</a>");

	$insert.click(function () {
		var html = "<p style='padding:10px; background: #f0f0f0; border: 1px solid #ccc; display: inline-block; min-width: 400px;'>";
		$.each(['data', 'luogo', 'posizione', 'dimensioni'], function (i, e) {
			html += "<b>" + e + "</b>: " + $("#" + e).val() + "<br>";
		});
		html += "</p><br><br>";
		CKEDITOR.instances["topic_content"].insertHtml(html);
		$overlay.remove();
	});

	$fieldset.append($insert);

	$("body").append($overlay);
})();

Secondo me ce la caviamo senza dover metter mano in Invision.

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

:blink::blink:

Perche te ne sei uscito fuori solo ora? Sono anni che fatico dietro a queste cose :P

:worthy:

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Madonna grandissimo e grazie davvero :)

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
15 minuti fa, Paolina ha scritto:

Oh!! 😳

Il codice è SOLO quello? 🤪😂

😂sì, infatti è più complicato spiegare ciò che fa rispetto a... farlo.

 

10 ore fa, MattiaPof ha scritto:

Caspita, arrivare ad un risultato del genere sarebbe fighissimo. Il riconoscimento in quel caso dovrebbe tener conto (soprattutto) delle immagini però, in quanto i dati di ritrovamento possono scremare solo fino ad un certo punto, e questo vorrebbe dire che le foto caricate dovrebbero rispettare standard (bene o male) precisi. Mi sa che l'intoppo maggiore sarebbe quello, oltre all'infrastruttura necessaria a far girare una rete neurale di questo calibro (sicuramente tra una manciata di anni sarà anche più alla portata). Inoltre (sempre a meno di immagini veramente precise e dettagliate) difficilmente potrebbe arrivare oltre la famiglia (cosa che in ogni caso potrebbe tornare utile); A meno che non si istruisca per riconoscere le specie comuni tra un database di immagini certe (per dire: Steatoda, Zoropsis, Loxosceles, Araneus, Cyrtophora, etc.). Servirebbe sempre il doveroso controllo umano per accettare un'eventuale risposta automatica, ma sarebbe comodissimo!

Per quanto riguarda la capacità di calcolo ci sono varie soluzioni, come Amazon AWS, Google Cloud o Microsoft Azure. Come dici giustamente sarebbe necessario avere delle immagini buone, infatti per la fase di addestramento sarebbe indispensabile un lavoro di preparazione manuale, ma fidati che non servono milioni di foto.

L'anno scorso ho preso un diplomino su Udacity sull'intelligenza artificiale e l'esame finale era proprio il riconoscimento di immagini (in quel caso erano fiori) e usando reti pre-addestrate di tipo convolutional, è sufficiente avere una decina di foto per specie per ottenere già dei risultati discreti/buoni. Se ad esempio si facesse un lavoro un po' certosino avremmo già parecchio materiale da utilizzare. Se poi riusciamo a usare le API di Invision potrebbe essere possibile scaricare automaticamente le foto e associare la specie o il genere prendendolo dal titolo del topic. Il tutto ovviamente validato manualmente da esperti, perché come si dice in questo capo, i computer sono dannatamente veloci ma anche dannatamente stupidi :D

 

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Davvero fantastico 😯 Complimenti!

La schedina obbligatoria risolverebbe molti problemi 😛 

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Sarebbe fantastico realizzare delle statistiche periodiche sui ritrovamenti in base alle specie e alle regioni. Prevedo già che Zoropsis si posizioni in cima alla classifica, sempre e comunque 🙈

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Immagino già uno "scanner di epigini" per la speciazione seriale :wub:

A parte queste fantastiche implicazione future, grazie infinite! :worthy:

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Sei un mito! Risolveremme moltissimi smaronamenti!

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
Ospite
Stai commentando come visitatore. Se sei registrato effettua l'accesso.
Rispondi a questa discussione...

×   Hai incollato il contenuto con la formattazione.   Rimuovere la formattazione

  Sono consentiti solo 75 emoticon max.

×   Il tuo collegamento è stato incorporato automaticamente.   Mostra come un collegamento

×   Il tuo contenuto precedente è stato ripristinato.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Chi sta navigando   0 utenti

    Nessun utente registrato visualizza questa pagina.

×

Informazioni importanti

Utilizzando questo sito, acconsenti ai nostri Terms of Use.