Af Birgitte Dalgaard, bird@tek.sdu.dk
Det går stærkt ude på græskarmarkerne ved Gyldensteen Gods på Nordfyn. I
ugerne op til halloween skal 400.000 græskar samles og sendes til
butikkerne.
Men ved at udnytte ny teknologi er det lykkes græskaravler Frants
Bernstorff-Gyldensteen at optimere årets salg med 40.000 græskar.
- Jeg kan sove meget mere roligt, fordi jeg har overblik over udbyttet. Jeg
har kunnet sælge 40.000 flere græskar, fordi jeg nu ved ret præcist, hvor
mange græskar, der ligger på marken fra oversigtskort, fortæller Frants
Bernstorff-Gyldensteen.
- System.Web.HttpUnhandledException (0x80004005): An unhandled exception occurred. ---> System.Web.HttpCompileException (0x80004005): c:\home\site\wwwroot\Views\Article\ArticleQuote.cshtml(17): error CS1061: 'Cabana.SDU.Feature.Article.ArticleQuote' does not contain a definition for 'Text' and no extension method 'Text' accepting a first argument of type 'Cabana.SDU.Feature.Article.ArticleQuote' could be found (are you missing a using directive or an assembly reference?)
- at System.Web.Compilation.BuildManager.PostProcessFoundBuildResult(BuildResult result, Boolean keyFromVPP, VirtualPath virtualPath)
- at System.Web.Compilation.BuildManager.GetBuildResultFromCacheInternal(String cacheKey, Boolean keyFromVPP, VirtualPath virtualPath, Int64 hashCode, Boolean ensureIsUpToDate)
- at System.Web.Compilation.BuildManager.GetVPathBuildResultFromCacheInternal(VirtualPath virtualPath, Boolean ensureIsUpToDate)
- at System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)
- at System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)
- at System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, Boolean throwIfNotFound)
- at System.Web.Compilation.BuildManager.GetCompiledType(VirtualPath virtualPath)
- at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
- at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
- at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult)
- at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
- at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
- at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
- at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult)
- at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName)
- at Sitecore.Mvc.Pipelines.MvcEvents.Exception.ShowAspNetErrorMessage.ShowErrorMessage(ExceptionContext exceptionContext, ExceptionArgs args)
- at Sitecore.Mvc.Pipelines.MvcEvents.Exception.ShowAspNetErrorMessage.Process(ExceptionArgs args)
- at (Object , Object )
- at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args)
- at Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, String pipelineDomain, Boolean failIfNotExists)
- at Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, String pipelineDomain)
- at Sitecore.Mvc.Pipelines.PipelineService.RunPipeline[TArgs](String pipelineName, TArgs args)
- at Sitecore.Mvc.Filters.PipelineBasedRequestFilter.OnException(ExceptionContext exceptionContext)
- at System.Web.Mvc.ControllerActionInvoker.InvokeExceptionFilters(ControllerContext controllerContext, IList`1 filters, Exception exception)
- at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName)
- at System.Web.Mvc.Controller.ExecuteCore()
- at System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext)
- at Sitecore.Mvc.Controllers.ControllerRunner.ExecuteController(Controller controller)
- at Sitecore.Mvc.Controllers.ControllerRunner.Execute(TextWriter writer)
- at Sitecore.Mvc.Pipelines.Response.RenderRendering.ExecuteRenderer.Render(Renderer renderer, TextWriter writer, RenderRenderingArgs args)
- at Sitecore.Mvc.Pipelines.Response.RenderRendering.ExecuteRenderer.Process(RenderRenderingArgs args)
- at Helpfulcore.RenderingExceptions.Pipelines.RenderRendering.ExecuteRenderer.Process(RenderRenderingArgs args)
Sidst i september modtog Frants Bernstorff-Gyldensteen to oversigtsbilleder
fra SDU. Droner havde taget billeder af græskarmarkerne og et
computersystem var dernæst i stand til at tælle de orange pletter på
billederne og spytte et samlet antal græskar ud.
- Som forsker er det stort at have udviklet et program, som landmanden
stoler så meget på, at han tør at basere sit salg på vores data.
-Det er en stor tillid han viser vores system, og heldigvis viser det sig,
at teknologien har optimeret hans salg, så græskarrene ikke går til spilde,
men i stedet pynter til halloween, siger forsker i computervision, Henrik
Skov Midtiby fra SDU Dronecenter.
Millioner til at optimere landbrug
Efter den succesfulde businesscase har forskerne nu rettet øjnene mod andre
afgrøder på markerne ved Gyldensteen Gods.
Forskerne har modtaget næsten 15 millioner kroner fra Miljø- og
Fødevareministeriets midler til Grønt Udviklings- og Demonstrationsprogram
(GUDP) til projektet SqM-Farm, hvor de skal forsøge at optimere udbyttet af
løg og korn.
- Landmanden har ingen mulighed for at overskue ukrudt, skadedyr og generel
vækst på 700 hektar jord, men hvis vi udvikler computersystemer, som via
billedbehandling kan advare landmanden, når noget på markerne afviger fra
normalen, har han mulighed for hurtigt at sætte ind og bekæmpe skaderne,
inden de når at brede sig, påpeger Henrik Skov Midtiby.
I projektet skal forskerne både arbejde med billeder fra satellitter,
droner og kørende markrobotter. Satellitterne kan give forskerne det helt
store overblik, dronerne kommer tættere på, mens markrobotterne har
mulighed for at tage nærbilleder.
- Markerne ved Gyldensteen Gods ligger indenfor det droneluftrum på
Nordfyn, som Trafikstyrelsen har dedikeret til droneflyvning. Derfor
forestiller vi os på sigt, at vi kan taste koordinater ind i dronen, sende
den afsted fra HCA Airport med besked om at tage billeder af markerne.
-Når den vender tilbage, kan vi hurtigt behandle billederne. Så slipper vi
også for at køre til Gyldensteen, siger Henrik Skov Midtiby.
Projekter
Udbytteanalyse
- Titel: Drone-based Agriculture Yield Analysis
- Bevillingsgiver: Energi Fyns Udviklingsfond
- Projektdeltagere: Gyldensteen Gods og SDU
- Bevilget beløb: 140.000 kroner
Optimering af udbytte
- Titel: Kunstig intelligent automatiseret big data stedspecifik beslutningsstøtte til landbrug / SqM-Farm
- Projektdeltagere: Agro Intelligence, Aarhus Universitet, Gyldensteen Gods, Syddansk Universitet, Conpleks Innovation, Ceptu, IBM, RoboCluster
- Projektperiode: 01. januar 18 – 31. december 20
- Bevilget beløb: 14.796.460 kr.